一. 第三章:《IP,网际协议》

问题一:如何理解IP的不可靠和无连接。

不可靠:指的是不能保证数据报能成功地到达目的地。

发生错误时候,丢弃该数据包,发送ICMP消息给信源端。 可靠性由上层提供。

无连接:IP不维护关于后续数据报的状态信息。

体现在,IP数据可以不按顺序发送和接收。A发送连续的数据报,到达B不一定是连续的,来回路由选择可能不一样,路线也不一样,到达先后顺序也不一样。

问题二:IP报文的格式和各个字段的含义。

版本号: IPV4就是4,IPV6就是6 (4)

首部长度:4个字节为单位。最小为5,最大为15。所以最小长度20个字节,最大为60个字节。(4)

服务类型: Qos用,目前不怎么使用。(8)总长度:字节为单位。 最多可以传送65535字节的IP数据包。(16)标识字段(8) 标志 (3) 段偏移(5)与分片有关。

TTL:经过一个路由器减一。 字段为0时,数据报被丢弃,并且发送ICMP报文通知源主机。目的是防止数据报在选路时无休止地在网络中流动。(8)

协议字段:区分上层协议 (8)

首部校验和:对首部进行校验。(16)

对比: 

ICMP,IGMP,TCP,UDP:对首部和数据进行校验。

源地址:(32)
目的地址:(32)

问题三:为什么IP首部中要有总长度字段?

因为一些数据链路(以太网)需要填充一些数据以达到最小长度。因为以太网帧的最小长度是46个字节,但是IP长度可能更短,所以需要总长度来确定IP数据部分的内容。

?问题四:几个TTL值以及其特殊作用?

TTL=0:数据报被丢弃,并发送ICMP报文通知源主机。

TTL=1:

TTL=255:

问题五:IP首部校验和怎么计算的,与ICMP,IGMP,TCP,UDP的首部校验和有什么区别与共同点?

(1) 把校验和字段置0。

(2) 对首部中每个16位比特进行二进制反码求和。

(3) 结果存在检验和字段中。

(4) 收到一份IP数据包后,同样对首部中每个16bit二进制反码求和。

(5) 最后结果全为1,表示正确,否则表示错误。

(6) 如果是错误的,IP就丢弃该数据报,但是不生成差错报文,由上层去处理。

例子:http://jianjian.blog.51cto.com/35031/4932