nCompass-IP/ICMP协议

单击返回:自学N-Compass之路 

nCompass-IP/ICMP协议

1.   IP协议:

  • 点对点
  • 无连接
  • 不可靠
  • 尽力传输
  • 可分片(大数据包经过MTU数值较小的链路需要数据分片处理)

IP分片,影响高效利用带宽,所以尽量避免IP分片。

两个终端设备数据传输的时候,只知道自己的MTU,不知道中间设备的MTU,传输设备设置DF=0允许分片,当中间设备超出MTU规定值就分片处理,知道终端设备才会IP重组。

如何避免IP分片?

  • 猜想链路MTU值,调整发送的MTU值稍微减少一些
  • 通过探测的方式(PMTUD),Path MTU Discovery,路径MTU自动发现

PMTUD报文演示:

那么设备是如何知道MTU要更改的值?  如果此时还是只过滤IP数据的话是看不出来,需要加上过滤ICMP数据。

  • 先看一下hello数据包
  • 查看ICMP数据包,显示不可达,需要分片(hello数据包里面确实显示不可以分片)。
  • 查看ICMP数据包:ICMP数据包通告返回时,除了返回ICMP消息本身通告信息(Type、Code、Checksum、MTU of next hop等),同时将发送数据包里面从IP头开始提取28个字节一起内容返回。

2. ICMP控制报文协议

用于在IP主机、路由器之间传递控制信息,控制消息是指网络不通、主机是否可达、路由是否可用等网络本身的消息。

IP层本身没有纠错机制,所以只有到ICMP才能知道。

越是底层的重传越快,比如说以太网的重传比IP层的重传块,IP比TCP重传快。

ICMP演示1:

  • 发现FIN数据包发送不过去,一直重传
  • 过滤出ICMP数据包们进行分析(是因为FIN序列号不是想要的数据包)

 

ICMP演示2:

  • 发送SYN数据包出不去,重传6次还是没有相应(路由没配置? 防火墙隔断?)
  • 过滤出ICMP数据包进行分析(发现TTL=1,说明末端出现环路)

nCompass平台的ICMP差错报文分析:

通告源IP、通告源端口、通告目的IP、通告目的端口是指:是原来那个数据报文的四元组

网关IP、差错接收端IP是指:真正ICMP数据报文的源和目的

表示10.59.0.138发送给10.211.0.168的数据报文,ICMP报文是通过10.59.0.252(应该是个路由器)返回给10.59.0.138的。

所以如果你只过滤IP10.59.0.138和10.211.0.168是看不到ICMP报文,是需要过滤IP10.59.0.252和10.59.0.138才能看到ICMP报文。

posted on 2020-03-18 22:15  CARLOS_KONG  阅读(599)  评论(0编辑  收藏  举报

导航