IP协议

来源:互联网 发布:摩托吧app软件 编辑:程序博客网 时间:2024/06/03 20:00

一、TCP、UDP、IP协议的比较

1、TCP、UDP属于传输层协议,IP属于网络层协议。

TCP:面向连接    可靠的     数据流服务

UDP:无连接       不可靠     数据报服务

    IP:无连接       不可靠     无状态

无状态:IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送、传输、接收都是独立的,之间没有关系。(一方发送数据后,另一方接收到的可能是乱序的,因为没有上下文)   

IP协议最大的特点是无法处理乱序的和重复的数据报,但是无状态也有它的优点:简单、高效。

但是为什么IP传输数据会重复或者乱序呢?

在TCP中有超时重传机制,如果出现规定时间内如果没收到文件,且不是网络没接通的原因,当传输时间超过了超时重传的时间范围对方才接收到文件,这样的情况就会造成重复。比如超时重传规定时间为2秒,但是文件3秒才收到,那么在2—3秒之间这一时间段,TCP会重新发送一次文件,这样就造成了文件的重复。(文件一旦发送是不能收回的)

2、IPv4协议的头部结构:长度通常为20字节,除非含有可变长的选项部分。

(1)4位版本号:指定IP协议的版本,在这对于IPv4来说是4。

(2)4位头部长度:标识该IP报头有多少个32bit字节(4字节),最大60个。

(3)8位服务类型:包括一个3位的优先权字段(现在已经不用了),4位的TOS 字段和1位保留字段(必须置0)。   4位的TOS字段分别表示:最小延时、最大吞吐量、最高可靠性、最小费用,其中最多有一个能置1。(4个类型相互互斥只能追求一个)

(4)16位总长度:short能表示的最大数据范围为65535,整个IP数据报的最大长度。

(5)16位标识:(相当于TCP的32位序号)唯一的标识主机发送的每一个数据报,其初值由系统随机生成。每发送一个数据,其值就加一(本来越往后数值越大,但是不做排序),该值在数据报分片时被复制到每个分片中,因此同一个数据报的所有分片都有相同的标准。     

(6)3位标志:第一位保留,第二位表示“禁止分片”,第三位表示“更多分片”。

(7)13位分片偏移:是分片相对开始IP数据报开始处的偏移,实际偏移值是该值左移3位后得到的。

(8)8位生存时间:(TTL)是数据报到达目的地之前允许经过的路由器跳数。

(9)16位头部校验和:由发送端填充,接收端对其使用CRC算法检验IP数据报头部在传输过程中是否损坏。

(10)32位源端IP地址和目的端地址是用来标识数据报的发送端和接收端,一般这两个地址在整个数据报的传递过程中不会变,不论经过了多少路由器。

(11)选项字段:是可变的可选信息,最多包括40 个字节。  

3、IP分片


因为由MTU(网络最大传输单元)的限制,IP数据报的长度超过桢的MTU 时,它将被分片传输。以太网桢的MTU是1500字节,其中头部占用20字节,所以它能携带的IP数据报最多为1480字节。

4、拥塞控制

TCP还有一个重要任务是提高网络利用率、降低丢包率,并保证网络资源对每条数据流的公平性,也就是拥塞控制。

拥塞控制有4种手段:慢启动、  快速重传、  拥塞避免、  快速恢复  



原创粉丝点击