类型代码校验和
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
标识序列号
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IP字段:
地址
地址格式请求消息的源地址就是地址格式回复消息的目的地址 。为了
构成回复消息,请求的源地址成为回复的目标地址,回复消息的源地
址就设成回复者的地址 。“类型”设成“A2“,“编码”字段设为子
网字段的长度,然后计算校验和 。假如请求的源地址是0,那么回复
的目标地址就设成广播地址 。
因特网信报控制协议(ICMP)字段
类型
A1表示地址格式请求消息
A2表示地址格式回复消息
编码
0代表地址格式请求消息
非0代表地址格式回复消息的子网字段长度
校验和
从因特网信报控制协议“类型”字段开始的16位的和的余数 。计算
时,校验和应为0 。其值以后可能被改变 。
标识
匹配请求和回复的标识,可以是0 。
序列号
匹配请求和回复的序列号,可以是0 。
收到地址格式请求的网关要回复这个请求 。它需要将“编码”字段置为请求的目表
地址网络的子网字段的长度 。假如请求是广播的,其目标地址就是“这个网络” 。
子网字段的长度可以是0-(31-N),N是IP网络字段的长度(8,16或24) 。
假如请求的主机不知道自己的地址,就可能把请求中的源地址置为0,回复则是广
播的 。因为一个网络自由一种地址格式,所有就没有必要匹配请求和回复 。这种方
式应尽量避免,因为它会增加不必要的网络流量 。
类型A1可能从网关和主机收到
类型A2可能从网关和起网关作用的主机收到 。
5.2例子
下面例子中,我们假设请求主机的地址是36.40.0.123,网关是36.40.0.62,处于
网络36.0.0.0中,使用8位子网 。
首先,假设广播是答应的,主机发送如下数据包:
源地址:36.40.0.123
目标地址:36.255.255.255
协议:ICMP=1
类型:AddressFormatRequest=A1
编码:0
36.40.0.62将收到这个数据包,并回复如下:
源地址:36.40.0.62
目标地址:36.40.0.123
协议:ICMP=1
类型:AddressFormatReply=A2
编码:8
下面的例子假设地址255.255.255.255表示“广播到这个物理网络” 。上面的例子
就无能为力了 。因为这样的广播可能要广播到多个子网 。我们建议的最有效的方法
是,主机首先找到自己的地址(可以使用在参考[4]中描述的“反向地址解析协议”),
然后将ICMP请求发送到255.255.255.255 。
源地址:36.40.0.123
目标地址:255.255.255.255
协议:ICMP=1
类型:AddressFormatRequest=A1
编码:0
网关就可以直接回复给请求主机 。
假设36.40.0.123是无盘工作站,并不知道自己的主机号 。它可以发送下面数据:
源地址:0.0.0.0
目标地址:255.255.255.255
协议:ICMP=1
类型:AddressFormatRequest=A1
编码:0
36.40.0.62将收到这个数据包,并回复:
源地址:36.40.0.62
目标地址:36.40.255.255
协议:ICMP=1
类型:AddressFormatReply=A2
编码:8
注重,网关使用最小的广播范围回复(发送到36.255.255.255将会在许多子网中
广播,而并不单单是需要的子网) 。即使这样,这个广播也造成不必要的网络负载 。
因此我们建议尽量少的使用“匿名(0.0.0.0)”源地址 。
假如不答应广播,假设主机有邻接网关的硬编码信息,则36.40.0.123会发送:
源地址:36.40.0.123
目标地址:36.40.0.62
推荐阅读
- 羔羊早期如何诱食
- 歌唱祖国歌词是什么意思
- 硬笔书法APP怎么更换书写笔迹颜色
- BERKELEY UNIX 4.2下的EGP网关
- 如何区分CPU的散装和盒装
- 学生入党条件和标准是什么
- 24使用普通计时法怎么表示
- 南京蜂泰扣款是什么意思
- 使用DEFLATE的IP有效载荷压缩
- 如何给青年鸡换料