ICMP报文经过路由器的转发过程及变化

ICMP经过路由器的转发过程及变化

  1.  路由器收到数据包后,报文送到数据链路层,数据链路层解封以太网帧头部,提取目的MAC地址
  2. 查看目的MAC地址是不是自己本身的MAC地址。这个时候出现两种情况,具体如下:
    1. 情况1:是本机的MAC地址,则把报文传到网络层,由网络层继续解析。
    2. 情况2:不是本机的MAC地址,则丢弃报文。
  3. 假设是情况1,目的MAC是自己的MAC,把报文送到网络层解析。
  4. 送到网络层后,网络层解析,提取目的IP地址,判断目的IP地址是不是本机的IP地址。这个时候再次出现两种情况,具体如下:
    1. 情况1:是本机IP,则把报文送到上层,有传输层进行解析。由于本次主要讲解转发流程,就不讲传输层解析的过程了。
    2. 情况2:不是本机IP,则去查路由表,匹配出接口。
  5. 假设是情况2,不是本机IP,查路由表根据路由的最长掩码匹配原则,匹配路由表,找到出接口。查路由的时候会出现四种情况,具体如下:
    1. 情况1:没有匹配路由,无法继续转发,则丢弃报文。并向源IP发送目的不可达的ICMP报文。
    2. 情况2:匹配直连路由,网络层封装目的IP和源IP,使用目的IP地址查ARP表。寻找目的MAC。
    3. 情况3:匹配非直连路由,网络层封装目的IP和源IP,使用路由表里的下一跳IP地址查ARP表。寻找下一跳IP地址的目的MAC。
    4. 情况4:匹配默认路由,网络层封装目的IP和源IP,使用路由表里的下一跳IP地址查ARP表。寻找下一跳IP地址的目的MAC。
  6. 假设匹配到路由,去ARP表,匹配目的IP对应的MAC地址。这个时候出现两种情况,具体如下:
    1. 情况1:在ARP表里匹配到了对应的MAC地址,则把匹配到的MAC封装到帧头部的目的MAC,把本机出接口的MAC封装到帧头部的源MAC里。然后发送出去。
    2. 情况2:在ARP表里没有匹配到对应的MAC地址,则发送ARP请求,寻找目的IP对应的MAC地址。
  7. 假设没有匹配到对应的MAC地址,发送ARP请求,这个时候会遇到两种情况。具体如下:
    1. 情况1:没有收到ARP响应,无法继续获取目的IP对应的MAC地址。则丢弃报文。
    2. 情况2:收到了ARP响应,首先把响应报文中的源MAC解析出来,然后把目的IP和从响应报文中获取的源MAC放到ARP表中,形成映射关系,并对这个映射关系添加老化时间。然后把MAC封装到目的MAC里,把本机出接口的MAC封装到源MAC里,然后发送出去。

以下是详细流程转发图。高清流程图链接:IP报文经过路由器转发流程图.jpg.jpeg-互联网其他资源-CSDN下载

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值