ICMP协议

​ TCP/IP功能较为简单,缺少了很多功能,ICMP协议便是其中的一块补充,为IP增添了通知差错信息与控制信息的功能。

报头

类型(8位)| 编码(8位)
校验和(16位)
选项数据
常见类型与编码

类型 编码 描述
0 0 Echo Reply
3 0 网络不可达
3 1 主机不可达
3 2 协议不可达
3 3 端口不可达
5 0 重定向
8 0 Echo Request
​这只是ICMP类型与编码的一部分,具体可以看RFC792,以及其它相关ICMP拓展。

具体应用:

ping

ping命令是ICMP应用的典型代表之一,运用type8进行请求,如果目的地可到达则回复type0,否则根据情况返回对应类型编码。

tracert(windows)/ traceroute(Linux)

用于判断转发路径的命令,它的原理是先向目的端发送一个UDP测试报文,TTL值为1,目的端口为一个极其不常用的端口,沿途节点收到后拆包判断自己是不是目的地,不是的话TTL-1=0,向源端返回ICMP超时报文,报文中含有本机IP。源端收到后,再向目的端发送以个UDP报文,这次的TTL值+1=2。重复上述过程,每次TTL值+1,直到到达目的地后停止。

路由重定向

​ 不同的系统对于路由重定向报文有着不同的处理方案,绝大多数往往会直接忽略ICMP重定向报文。因为如果支持重定向,设备将需要维护一个非常庞大的路由表,会极其浪费服务器的性能,而且ICMP重定向存在着安全隐患。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值