文章目录
思维导图
IP协议的特点(不可靠与无连接)
- 不可靠:指的是不能保证数据报能成功地到达目的地。
发生错误时候,丢弃该数据包,发送 ICMP 消息给信源端。 可靠性由上层提供。 - 无连接:IP 不维护关于后续数据报的状态信息。
体现在,IP 数据可以不按顺序发送和接收。A 发送连续的数据报,到达 B 不一定是连续的,来回路由选择可能不一样,路线也不一样,到达先后顺序也不一样
IP首部
- 版本号:占4位,协议版本号IPV4或者IPV6。
- 首部长度:首部长度,占4位
- 区分服务:占8位,用来获得更好的服务,只有使用区分服务时,这个字段才起作用,一般情况不使用这个字段
- 总长度:总长度值首部和数据之和的长度,总长度字段是16位,因而数据报的最大长度为2^16-1,当IP封装成以太网帧时,其长度不能超过最大传送单元MTU的值。
- 标识:占16位,IP软件里面维持着一个计数器,每产生一个数据报,计数器就加1,并且将这个值赋给标识,这个标识不是为了记录IP数据报发送的顺序,而是当分片时,这个值被复制到所有数据报片里面,相同标识字段的值可以在分片后重新组装成原来的数据报
- 标志:占3位,但目前只有两位有用
DF不分片标识,当DF=0时才可以分片
MF更多分片标识,MF=1表示后面还有分片,MF=0表示是最后一个分片 - 片偏移:占13位,片偏移指出较长的分组在分片时,某片在原来分组中的相对位置。
- 生存时间(8位):TTL,每次经过一个路由器时,TTL字段会减一,当TTL字段为零时,会丢弃该数据报,最大可以为225,如果将TTL设置为1,则只能在局域网上通信
- 首部检验和:占16位,数据报每次经过一个路由器,路由器都要重新计算一下首部检验和,对首部每个16bit进行二进制反码求和,结果存在检验和字段中,当收到一份IP数据报时,同样对该数据报首部中每个16bit进行二进制反码求和,由于接收方在计算过程中包含了发送方的首部检验和,因此若没有在传输过程里面发生差错,那么结果应该为全1,发现差错时IP就丢弃该数据报,但是不产生差错报文,由上层去发现丢失的数据报并且进行重传。
10.源地址,目的地址:分别是32位
为什么 IP 首部中要有总长度字段?
- 因为一些数据链路(以太网)需要填充一些数据以达到最小长度。
- 因为以太网帧的最小长度是 46 个字节,但是 IP 长度可能更短,所以需要总长度来确定 IP 数据部分的内容
IP 首部校验和怎么计算的,与 ICMP,IGMP,TCP,UDP 的首部校验和有什么区别与共同点?
(1) 先把校验和字段置 0。
(2) 对首部中每个 16 位比特进行二进制反码求和。
(3) 结果存在检验和字段中。
(4) 收到一份 IP 数据包后,同样对首部中每个 16bit 二进制反码求和。
(5) 最后结果全为 1,表示正确,否则表示错误。
(6) 如果是错误的,IP 就丢弃该数据报,但是不生成差错报文,由上层去处理。
区别:IP 计算的时候没有将数据包括在内。
ICMP,IGMP,TCP,UDP 同时覆盖首部和数据检验码
IP 路由选择的过程是怎么样的?
根据最长匹配原则,找到条目,发送到指定的路由器。如果不能找到,返回一个“主机不可达”或“网络不可达”的错误。
IP 路由选择的特性有什么?
(1) IP 路由选择是逐跳进行的。