IP协议详解

安全咨询 0 1609

一、IP协议是什么?

IP协议是TCP/IP协议族的核心协议,也是socket网络编程的基础之一。


二、IP服务的特点

IP协议是TCP/IP协议族的基石,它为上层提供无状态、无连接、不可靠的服务


无状态:指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送,传输,接收都是相互独立的。这种服务最大缺点是无法处理乱序和重复的IP数据报。优点是简单高效,和UDP协议与HTTP协议相同,都是无状态协议。


无连接:指IP通信双方都不长久的维持对方的任何信息。这表示上层协议每次发送数据,都需要明确指定对方的IP地址。


不可靠:指IP协议不能IP数据报能准确到达接收端,只是会尽最大努力。一旦发送失败,就通知上层协议,而不会试图重发。


IPv4头部结构

d92078da6c964257851252681110c1d8.png

4位版本号:指定IP协议的版本,对于IPv4来说,其值为4,其它IPv4扩展版本则具有不同的版本号(如SIP协议和PIP协议)


4位头部长度:表示IP头部有多少个32bit字(4字节)。因为4位最大15,所以IP头部最长为60字节。


8位服务类型:3位优先级权字段(现已被忽略),4位TOS字段和1位保留字段(必须置0).4位TOS字段分别表示:最小延迟,最大吞吐量、最高可靠性和最小费用,其中最多1个能置为1。


16位总长度:指整个IP数据包的长度,字节为单位。最长65535字节,由于长度超过MTU的数据报将被分片传输,所以实际传输的长度没有达到最大值。


16位标识:唯一标识主机发送的每个数据报。初始值由系统随机生成,每发送一个数据报,其值加一。该值在数据报分片时被复制到每个分片中,因此同一个数据报的所有分片标识值都相同


3位标志:第一位保留,第二位表示禁止分片,如果设置了该位,IP数据报长度超过MTU将被丢弃,返回错误。第三位表示更多分片,除了最后一个分片,其它都要置它为1.


13位分片偏移:该分片相较于原始IP数据报开始处(仅指数据部分)的偏移。实际偏移值是该值左移3位得到。因此除了最后一个分片,每个分片的数据部分长度必须是8的整数倍。


8位生存时间:数据报到达目的地之前允许经过的路由器跳数。每经过一个路由,该值减一,为0时被丢弃。并返回TCMP错误报文。


8位协议:用于区分上层协议。ICMP为1,TCP为6,UDP为17。


16位头部校验和:由发送端填充,接收端对其使用CRC算法检验数据是否被损坏。


32位源端IP地址:标识数据报的发送端。在传输过程中保持不变


32位源目的端IP地址:标识数据报的接收端。在传输过程中保持不变


选项字段:可变长的可选信息,最多40字节。


可用的IP选项有:记录路由:将数据包经由的所有路由器IP填入该段。


时间戳:将数据报在每个路由器被转发时的时间填入该段。


松散源路由选择:指定路由器IP地址列表,数据报发送过程中必须经过其中所有路由器


严格源路由选择:类似上面,数据报只能经过被指定的路由器。



也许您对下面的内容还感兴趣:

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。