计算机网络网络层之互联网控制报文协议(ICMP)

348 阅读2分钟

计算机网络网络层之互联网控制报文协议(ICMP)

TIPS:大部分知识出自哈尔滨工业大学李全龙老师的课程讲解。

  • 互联网控制报文协议ICMP(Internet control message protocol)支持主机或路由器:
    • 差错(或异常)报告
    • 网络探寻
  • 两类ICMP报文:
    • 差错报告报文(5种)
      • 目的不可达
      • 源抑制(source quench)
      • 超时/超期
      • 参数问题
      • 重定向(redirect)
    • 网络探寻报文(2组)
      • 回声(Echo)请求与应答报文(reply)
      • 时间戳请求与应答报文

ICMP报文

效果图

例外情况

  • 几种不发送ICMP差错报告报文的特殊情况:
    • 对ICMP差错报告不再发送ICMP差错报告报文
    • 除第一个IP数据报分片外,对所有后续分片均不发送ICMP差错报告报文
    • 对所有多播IP数据报均不发送ICMP差错报告报文
    • 对具有特殊地址(如127.0.0.0或0.0.0.0)的IP数据报不发送ICMP差错报告报文
  • 几种ICMP报文已不再使用
    • 信息请求与应答报文
    • 子网掩码请求和应答报文
    • 路由器询问和通告报文

ICMP报文的格式

  • ICMP报文封装到IP数据报中传输

效果图

ICMP差错报告报文数据封装

效果图

ICMP的应用举例:Traceroute

  • 源主机向目的主机发送一系列UDP数据报
    • 第1组IP数据报TTL=1
    • 第2组IP数据报TTL=2,etc.
    • 目的端口号为不可能使用的端口号
  • 当第n组数据报(TTL=n)到达第n个路由器时:
    • 路由器丢弃数据报
    • 向源主机发送ICMP报文(type=11,code=0)
    • ICMP保温携带路由器名称和IP地址信息
  • 当ICMP报文返回到源主机时,记录RTT

停止准则

  • UDP数据报最终达到目的主机
  • 目的主机返回“目的端口不可达”ICMP(type=3,code=3)
  • 源主机停止

计算机网络网络层之互联网控制报文协议(ICMP)_ufgnix0802的博客-CSDN博客

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 17 天,     点击查看活动详情