网络地址,tcp/udp的区别
来源:互联网 发布:软件外包开发协议 编辑:程序博客网 时间:2024/05/16 17:24
今天复习了一下比较基础的网络知识,本来以前对网络这块就比较迷离。
网络地址,众所周知就是用来标识计算机所在位置,并不是标识那一台计算机的名字,而是表明这台计算机和网络之间的关系,所以当这台计算机换了个地方以后,也要相应的改ip地址。
网络地址占32位,分为网络地址和主机地址,网络地址用来标识计算机所在的网络,如果要在这个网络下建立子网的话,则就需要子网掩码,子网掩码也是32位的,1代表网络,0代表主机,这样的话就能有效的根据子网掩码把网络地址划分为不同的子网,可以很好的解决ip地址不足的问题,现在还有一种超网的技术,通过 ip地址:网络位数,来标明,这种技术也很好解决ip地址浪费的问题。比如一个c类地址,最多255台终端,如果没有用到这么多终端的话,很多就浪费了,而超网技术,通过改变网络所占的位数,很好的解决了这个问题。
tcp/udp:
当ip协议把数据打包发送到目地地址时,并不知道应该发送到计算机的那个应用程序,这时就需要一个端口(相当于一个队列)来表面数据应该放到哪里。
在使用udp协议的时候,但是并不知道目标应用的程序的端口是多少,所以先必须和目标应用程序协商好一个端口号,而这个端口号也是有目标应用程序临时分配没有使用的端口号,协商好了以后,目标应用程序就把端口号告诉发送方,然后发送方开始向这个端口号发送数据包和自己的端口号,所以整个过程是单向的,不能同时进行,而且并不能保证发送出去的数据,对方能不能收到,只是向这个端口号发送数据。
而使用tcp协议,是端到端得连接,就是发送方的ip和端口号,和接受方的ip和端口号是固定的,这样的话,就导致了两两连接,而且在发送方在发送之前,必须和接受方通过三次握手协议建立一个连接,发送方———>接受方,接收方——>发送方(判断是否连接上接受方),发送方——>接收方(判断是否连接上发送方),这样就判断了,双方是否都连接上了,如果连接上了,就可以同时互相发送数据。
补充:sendto和recvfrom适用于UDP协议的数据包,recv和send适用于tcp协议。
- 网络地址,tcp/udp的区别
- tcp udp 的区别
- TCP/UDP的区别
- tcp/udp的区别
- TCP,UDP的区别
- TCP/UDP的区别
- TCP UDP 的区别
- TCP&UDP的区别
- tcp/udp的区别
- TCP、UDP的区别
- tcp udp的区别
- TCP与UDP的区别
- TCP与UDP的区别
- TCP和UDP的区别
- TCP和UDP的区别
- TCP和UDP的区别
- tcp与udp的区别
- TCP和UDP的区别
- VS 2010 中状态栏的变换(坐标显示)
- Android 技术专题系列之八 -- 浏览器及web widget
- 详解Linux2.6内核中基于platform机制的驱动模型
- C/C++优先级列表
- Android 技术专题系列之九 -- 图形系统
- 网络地址,tcp/udp的区别
- Android 技术专题系列之十 -- Audio manager
- CSS hack:区分IE6、IE7、IE8、Firefox、Opera
- 微软面试题:有100万个数字(1到9),其中只有1个数字重复2次,如何快速找出该数字
- Android 技术专题系列之十一 -- DRM
- C/C++程序员应聘常见面试题深入剖析
- PHP Socket
- Android 技术专题系列之十二 -- Alarm manager
- javaScript中URL编码转换,escape() encodeURI() encodeURIComponent