IP

最后更新于:2022-04-02 04:06:48

[TOC] ## 概述 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/5b/95/5b958ee72a185f03135afce19906b174_1978x1164.png) ### IP头部信息 头部长度:通常20字节,有选项时更长,总共不超过60字节。 IP数据报长度:65535字节。 * 4位版本号:IP协议(IPv4)版本号位4 * 4位头部长度:标识头部有多少个4字节,即最大共15\*4个字节 * 8位服务类型:包含一个4位优先权字段:最小延时,最大吞吐量,最高可靠性和最小费用。 * 16位总长度:表示整个IP数据报的长度,最大表示65535,但由于MTU限制,一般无法到达这个值。 * 16位标识:唯一的标识数据报。系统采用加1的式边发送边赋值。 * 3位标识(保留,DF禁止分片,MF更多分片):所以这个标志是为分片存在,DF设置时禁止分片所以如果数据报太大则发送失败。MF设置时,如果产生分片,除了最后一个分片,其他此片置1。 * 13位分片偏移:分片相对原始IP数据报开始处的偏移。 * 8位生存时间(TTL):数据报到达目的地之前允许经过的路由跳跳数。跳一下减1,得0丢弃。 * 8位协议:用来区分上层协议(ICMP为1,TCP为6,UDP为17)。 * 16位头部校验和:仅以CRC算法检验数据报头部在传输过程中是否损坏。 * 32位源端口IP地址和目的端口地址很明白。 * 选项(可变长):记录路由,告诉途径得所有路由把IP填进来。 时间戳,告诉每个路由器都将数据报被转发的时间传进来。松散路由选择,指定一个路由器IP地址列表,必须按这个表发送,严格路由选择,数据报经过路由表。 ### 8位协议种类 | 十进制 | 十六进制 | 关键字 | 协议 | 引用 | | --- | --- | --- | --- | --- | | 0 | 0x00 | HOPOPT | IPv6逐跳选项 | [RFC 2460](https://tools.ietf.org/html/rfc2460) | | 1 | 0x01 | ICMP | [互联网控制消息协议(ICMP)](https://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E6%8E%A7%E5%88%B6%E6%B6%88%E6%81%AF%E5%8D%8F%E8%AE%AE "互联网控制消息协议") | [RFC 792](https://tools.ietf.org/html/rfc792) | | 2 | 0x02 | IGMP | [因特网组管理协议(IGMP)](https://zh.wikipedia.org/wiki/%E5%9B%A0%E7%89%B9%E7%BD%91%E7%BB%84%E7%AE%A1%E7%90%86%E5%8D%8F%E8%AE%AE "因特网组管理协议") | [RFC 1112](https://tools.ietf.org/html/rfc1112) | | 3 | 0x03 | GGP | [网关对网关协议](https://zh.wikipedia.org/w/index.php?title=%E7%BD%91%E5%85%B3%E5%AF%B9%E7%BD%91%E5%85%B3%E5%8D%8F%E8%AE%AE&action=edit&redlink=1 "网关对网关协议(页面不存在)") | [RFC 823](https://tools.ietf.org/html/rfc823) | | 4 | 0x04 | IPv4 | [IPv4](https://zh.wikipedia.org/wiki/IPv4 "IPv4")(封装) /[IP-within-IP 封装协议](https://zh.wikipedia.org/wiki/IP_in_IP "IP in IP")(IPIP) | [RFC 2003](https://tools.ietf.org/html/rfc2003) | | 5 | 0x05 | ST | [因特网流协议](https://zh.wikipedia.org/wiki/%E5%9B%A0%E7%89%B9%E7%BD%91%E6%B5%81%E5%8D%8F%E8%AE%AE "因特网流协议") | [RFC 1190](https://tools.ietf.org/html/rfc1190),[RFC 1819](https://tools.ietf.org/html/rfc1819) | | 6 | 0x06 | TCP | [传输控制协议(TCP)](https://zh.wikipedia.org/wiki/%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE "传输控制协议") | [RFC 793](https://tools.ietf.org/html/rfc793) | | 7 | 0x07 | CBT | [有核树组播路由协议](https://zh.wikipedia.org/w/index.php?title=%E6%9C%89%E6%A0%B8%E6%A0%91%E7%BB%84%E6%92%AD%E8%B7%AF%E7%94%B1%E5%8D%8F%E8%AE%AE&action=edit&redlink=1 "有核树组播路由协议(页面不存在)") | [RFC 2189](https://tools.ietf.org/html/rfc2189) | | 8 | 0x08 | EGP | [外部网关协议](https://zh.wikipedia.org/wiki/%E5%A4%96%E9%83%A8%E7%BD%91%E5%85%B3%E5%8D%8F%E8%AE%AE "外部网关协议") | [RFC 888](https://tools.ietf.org/html/rfc888) | | 9 | 0x09 | IGP | [内部网关协议](https://zh.wikipedia.org/wiki/%E5%86%85%E9%83%A8%E7%BD%91%E5%85%B3%E5%8D%8F%E8%AE%AE "内部网关协议")(任意私有内部网关(用于思科的IGRP)) | | | 10 | 0x0A | BBN-RCC-MON | BBN RCC 监视 | | | 11 | 0x0B | NVP-II | [网络语音协议](https://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E8%AF%AD%E9%9F%B3%E5%8D%8F%E8%AE%AE "网络语音协议") | [RFC 741](https://tools.ietf.org/html/rfc741) | | 12 | 0x0C | PUP | Xerox[PUP](https://zh.wikipedia.org/w/index.php?title=PARC_Universal_Packet&action=edit&redlink=1) | | | 13 | 0x0D | ARGUS | ARGUS | | | 14 | 0x0E | EMCON | EMCON | | | 15 | 0x0F | XNET | Cross Net Debugger | IEN 158 | | 16 | 0x10 | CHAOS | Chaos | | | 17 | 0x11 | UDP | [用户数据报协议(UDP)](https://zh.wikipedia.org/wiki/%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E6%8A%A5%E5%8D%8F%E8%AE%AE "用户数据报协议") | [RFC 768](https://tools.ietf.org/html/rfc768) | > 完成列表请查看 [wiki IP协议号列表](https://zh.wikipedia.org/wiki/IP%E5%8D%8F%E8%AE%AE%E5%8F%B7%E5%88%97%E8%A1%A8)
';