ICMP协议

互联网控制报文协议,网络层协议,但是基于IP协议实现

1. ICMP的两种类型报文

1.1 主动探查的查询报文

  • 主动请求的类型是8,主动请求的应答是0
  • 发出主动请求,如果请求能顺利到达目的,会返回主动请求的应答
  • 超时没收到应答可以判断网络不通

1.2 异常报告的差错报文

  • 发出ICMP请求后,在出现故障的地方会返回一个差错报文,告诉请求主机哪里出现了问题
  • 终点不可达类型是3
    • 网络不可达:网络不通
    • 主机不可达:找不到目标IP
    • 协议不可达:跟人家的协议不匹配
    • 端口不可达:对应不上目标端口
    • 需要进行分片但设置了不分片:对于中间经过的路由可能设置的mtu要比报文要小,需要进行分片处理,但是你又设置了不允许分片,导致消息无法通过。
  • 源点抑制类型是4:告诉请求主机放慢发送速度
  • 时间超时的类型是11:告诉请求主机,网络包已经超过生存周期但是还没到目的主机。
  • 路由重定向类型是5:告诉请求主机,下一次发请求走另一个路由器

2. 基于ICMP的一些命令

2.1 ping

  • 可以知道目标主机是否可达
  • 还能求出网络时延(回送请求报文里面有发送时间)
  • 基于ICMP的查询报文实现
  • 对于ping的回送请求报文
    • 类型是8,
    • 含有序号信息,用于区分是发送的第一个包
    • 发送时间:用于计算网络时延
  • 对于ping的回送响应报文
    • 类型是0
    • 含有序号信息,表示对第一个回送请求报文的确认。
    • 发送时间。

2.2 traceroute

  • 可以求出距离目标IP的TTL
    • 通过在发送udp数据包时依次设置TTL=1、2、3、4、5。。。知道成功到达目的IP
  • 如何判断UDP有没有达到目的主机
    • 设置一个不可能的值作为UDP端口号(大于30000)。当该数据报到达时,将目的主机的UDP模块产生一份‘端口不可达’的错误ICMP报文。则可知达到目的主机了
  • 故意设置不分片,从而确定整个路径中的MTU。
  • 基于ICMP的差错报文实现的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值