首页 > 代码库 > ICMP
ICMP
ICMP全称为internet control message protocol,其IP头为1,是一个网络层协议,开发这个协议的主要目的是用来管理网络,通过在主机与路由器之间传递控制消息,消息是指网络本身的一些消息,如网络通不通,主机是否可达,
服务是否可用等协议。
ICMP消息分装在IP头后面,协议号为1,如下图:
ICMP报文的格式:
ICMP的消息可以分为错误消息、请求消息、回复消息。
ICMP常用的类型和代码
ICMP重定向:ICMP重定向是指在广播网络中,如果路由器发现有比我更好的路径时,会给主机发送一个消息,让主机从更好的路走。
报文如下:
ICMP路由通告
用于ICMP路由发现协议(IRDP)
ICMP还可以为主机发现本地最优的网关,接口下优先级大的优先成为主机的网关。
ICMP重定向实验
拓扑图如上:
R5默认路由指向R3,R3上指了一跳去往192.168.12.0/24网段的静态路由到R2。
当R5访问12网段时,会将数据包发送到R3,R3发现有更好的路径去往12网段,于是给R5发送了一个ICMP重定向消息,让他把后续的数据包直接发送到R2。
R5的路由表中会产生一条指向12网段下一跳是R2的静态路由,抓包如下:
本文出自 “八块排骨加油站” 博客,谢绝转载!
ICMP
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。