网络基础技术:ping详细流程

本文首发于我的公众号码农之屋(id: Spider1818),专注于干货分享,包含但不限于Java编程、网络技术、Linux内核及实操、容器技术等。欢迎大家关注,二维码文末可以扫。

导读:深入了解同网段和跨网段ping的流程后,对于各种复杂网络流程的理解会有很大的帮助。本文将详细介绍同网段和跨网段ping的所有流程(更偏向交互流程),希望能够帮助大家加深对这块的理解。


一、前言

在介绍ping流程之前,先跟大家简单介绍一下网络传输涉及的三张表:MAC地址表、ARP缓存表以及路由表。

交换机有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据这张表将数据帧传输到指定的主机上,而这张表就是MAC地址表(主要记录了MAC地址和出端口的关系)。通常交换机的MAC地址表项有效期是300s(不同厂商设备,老化时间都不一样),也就是说如果300s内,已记录的MAC地址没有通信,则会删除该记录(MAC表项会实时根据通信情况刷新存活时间)。

交换机是依靠MAC地址通信的,那么我们怎么获取到目的主机的MAC地址呢?这时ARP协议就开始大显神通了(工作在网络层,负责将IP地址解析为MAC地址),每台主机都有一张ARP缓存表,它记录着主机IP地址与MAC地址的对应关系。同样,不同厂商设备的ARP缓存表项有效期不一样,比如Cisco为5min,而华为则为20min。

个人认为,路由表是三张表中最为复杂的一张表,它记录着不同网段的信息,指向通往目的主机的下一跳(如果同网段,都用不到路由表)。当路由器的某个接口收到一个包时,它会读取包中目标逻辑地址的网络部分,然后在路由表中进行查找。如果在路由表中找到目标地址的路由条目,则把包转发到路由器的相应接口;如果在路由表中没有找到目标地址的路由条目,则看下是否配置了默认路由,已配置默认路由,则按照默认路由信息转发到路由器的相应接口;如果没有配置默认路由,则将该包丢弃,并返回不可到达的信息。


二、同网段场景

 

                                                                                      图1 同网段ping拓扑图

首先,host1要ping host2前,会判断host2是否跟自己是同网段(主机A拿着自己的掩码,与主机B的IP进行与操作,判断是否与自己同网段),判断为同网段后,它会先查询自己的ARP缓存表(存放IP和MAC的对应关系),假如没有B的MAC地址,就会向外发送一个ARP广播包,如图:

                                                                           图2 host1向外发送一个ARP广播包

其中ARP报文格式如下:

以太网目的MAC

以太网源MAC

帧类型

硬件类型

4

6

OP

发送端以太网MAC

发送端IP地址

目的MAC

目的IP

FF-FF-FF-FF-FF-FF

00-50-56-C0-00-01

0806

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值