1.4、ICMP协议

1.4、ICMP协议

  • 前言
    • Internet控制消息协议ICMP(Internet Control Message Protocol)是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,并对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。使用基于ICMP的应用时,需要对ICMP的工作原理非常熟悉。
  • ICMP
    • ICMP用来传递差错、控制、查询等信息
  • ICMP重定向
    • ICMP重定向主要用于支持路由功能,重定向最优路径
  • ICMP差错检测
    • ICMP Echo Request和ICMP Echo Reply分别来查询和响应某些信息,进行差错检测
  • ICMP错误报告
    • 当网络设备无法访问目标网络时,会自动发送ICMP不可达报文到发送端设备
  • ICMP数据包格式
    • Type表示ICMP消息类型,Code表示同一消息类型中的不同信息
      • Type:表示消息类型
        • 重定向
        • Request
        • reply
      • Code:表示该信息具体表示什么样的消息类型
        • 接收到的具体信息类型
          • Eg
            • 网络不可达
      • Checksum:检测信息的完整性
  • ICMP消息类型和编码类型
  • ICMP应用-Ping
    • Ping
      • 检测网络连通性
      • -a
        • 指定报文源IP地址
      • -c
        • 指定报文发送次数
      • -h
        • 指定TTL
      • 10.0.0.2
        • 目的地址
      • 56
        • 报文长度
      • Sequence
        • 序列号
      • TTL
        • TTL值
      • Time
        • 往返时间
  • ICMP应用-Tracert
    • 测试连通性,跟踪到达某特定地址路径
    • Tracert
      • -a
        • 指定tracert报文源地址
      • -f
        • 指定初始TTL值
      • -m
        • 指定最大TTL值
    • 如何确定走的是哪一条路径?主要通过TTL值
      • 首先RTA向目的地发送一个UDP报文,TTL值为1
      • RTB收到报文以后,RTB发现TTL值为1,于是上送给RTB主控板CPU,CPU回应ICMP超时消息
      • RTA就得到第一个路径
      • 这样的过程是不断进行的,直到目的端收到源端发送的UDP报文,判断出目的的IP地址是本机的IP地址,则处理该报文,根据报文中目的UDP的端口号,来寻找占用其端口号的上层协议
        • 如果没有程序使用该UDP端口号,则会向源端程序发送一个端口不可达报文
      • ICMP收到30.0.0.2,判断出端口已经到达目的端,则停止Tracert程序。从而得到数据报文从源端到目的端所经历的路径
  • 总结
    • Ping使用的是哪两类ICMP消息?
      • Request
      • reply
    • 当网络设备收到TTL值为0的IP报文时,会如何操作?
      • 丢弃该数据包,并向源端发送一个ICMP消息,通知源端TTL超时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值