对于UDP的处理,与前面的TCP的报文一样,只是改变了源地址,源端口及相应的校验码
对ICMP的处理,可能大家没有想过这个问题,这个也是在网络协议分析论坛上有前辈指出的, ICMP可不像TCP,UDP有端口,NAT设备是如何保证建立对应的NAT表呢?以下是我用最常的两种ICMP报文的演示,其中一个是请求报文,一个是响应报文
NAT之前的ICMP请求报文
ICMP NAT之前的响应报文
可以看到ICMP的请求与响应报文中有一个字段identifier 它们都是0300,这个值代表唯一主机,意思是同一台主机发出的所有的ICMP报文,它的identifier值都是一样的,不同主机的值不一样.
在identifier下面有一个序列号,这个是所发出的ICMP报文顺序的唯一标识
如 你执行一个PING命令,发出四个请求包,这四个请求包每个都应有一个回应包,可是TCP/IP是一种非实时性的协议,不一定发出的第一个请求包所对应的响应包也能第一个回来,那么如何实现一对一对应呢,就是靠这个序列号,每一个请求包和它所对应的回应包的序列号是一样的
下图是NAT后的ICMP请求包
下图是NAT之后的ICMP回应包
从上图可以看到,NAT对ICMP报文做了以下改动
.分页: [1] [2] [3]
- 上一篇:网站在搜索结果中的排名发生变化时如何应对
- 下一篇:没有了