0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

网络中ARP表、MAC表和路由表的介绍

Linux爱好者 来源:csdn 作者:晨曦艾米 2022-11-04 14:42 次阅读

1.ARP

提起 ARP 表必然先想起 ARP(address resolution protocol)协议,地址解析协议。

在实际应用中,我们经常遇到这样的问题:已知一个机器的 IP 地址,但在实际网络的链路上传送数据帧时,最终还是必须使用该网络的硬件地址,需要知道其 MAC 地址。如果两个都需要去记忆或输入,大大增加了其繁琐程度。地址解析协议 ARP 就是用来解决这样的问题的。

由于 IP 协议使用了 ARP 协议,因此通常把 ARP 协议划归到网络层。但 ARP 协议的用途是为了从网络层使用 IP 地址,解析出在链路层使用的硬件地址。

每一台主机都设有一个 ARP 高速缓存,里面有本局域网上的各种主机和路由器的 IP 地址到硬件地址的映射表,表里面的内容由 ARP 协议进行动态更新。表内的数据会老化,达到老化时间会自动删除,在此通信时,由 ARP 协议重新添加。

通信过程

有 PC0,PC1 两台主机 , 使用思科的仿真模拟器能直观的看出通信过程

c7a10934-5bf5-11ed-a3b6-dac502259ad0.png

PC0 向 PC1 发送一个 ping 报文,向 PC0 输入 1.1.1.3 然后开始发送,PC0 先查询本地 APR 表查询 1.1.1.3 对应 MAC 地址,但并没查到,这种情况 PC0 在本局域网上广播发送一个 ARP 请求分组。ARP 请求分组的主要内容是:

我的 IP 地址是 1.1.1.2,硬件地址是 xx-xx-xx-xx-xx-xx。我想知道 IP 地址为 1.1.1.3 的主机的硬件地址。

在本局域网上的所有主机上运行的 ARP 进程都会收到此 ARP 请求分组。PC1 的 IP 地址与 ARP 请求分组中要查询的 IP 地址一致,就收下 ARP 请求分组,并向 PC0 发送 ARP 响应分组,同时在这个 ARP 响应分组中写入自己的硬件地址。其余主机 ip 地址都与 ARP 请求要查询的 ip 地址不一致,不做任何回应。

响应内容为 :

我的 ip 地址是 1.1.1.3,我的硬件地址是 xx-xx-xx-xx-xx-xx

虽然 ARP 请求分组是广播发送的,但 ARP 响应分组是普通的单播,即从一个原地址发送到一个目的地址。

接下来 PC0 就可以使用刚获取的 PC1MAC 地址,进行 icmp 数据发送。

c7b898a6-5bf5-11ed-a3b6-dac502259ad0.png

2.MAC 表

说到 MAC 表,就不得不说一下交换机工作原理,因为交换机是根据 MAC 地址转发数据帧的。

c80feb06-5bf5-11ed-a3b6-dac502259ad0.png

当 PC0 发送 ARP 数据包,交换机会把数据包发往 PC0 之外的所有主机,并在相应包中记录下相应 Mac 地址与接口数据。

当 PC0 向 PC1 发送一帧数据,从 1 口进到交换机。交换机收到帧后,根据帧中的目的 MAC 先查本地 MAC 表,没有查到应从哪个接口转发这个帧。

接着,交换机把这个帧的源 MAC 和接口 1 写入交换表中,并向除 1 以外的所有接口广播这个帧,PC2 将此广播帧丢弃,因为目的地址不对。PC1 收下这个目的地址是自己 MAC 的数据,并回应数据包,此时交换机会把 PC1 的 MAC 和对应接口 2 写入表中。然后当 PC0 与 PC1 再次发送数据交换机可以根据目的 MAC 查表找出对应的接口,将数据包直接送达对应的主机。

考虑到有可能在交换机的接口更换主机,或者主机要跟换主机更换网卡,这时交换机中 MAC 表也是动态的、有自己的老化时间,会自动删除相关数据。

当交换机中一台主机突然从2 口切换到3 口,交换机收到的此主机的数据仍然会发送到原端口2 口就会出现超时情况,直到 Mac 中数据更新,或者手动把交换机断电重启重更新 Mac 表数据。

c8348c0e-5bf5-11ed-a3b6-dac502259ad0.png

3.路由表

说起路由表,就不得不提起路由器。(此处的路由器与家用路由器略有不同,家用路由器集成了路由器和交换机的功能为了更方便用户使用)路由器是一种具有多个输入端口和多个输出端口的专用设备也可称为计算机。其任务是转发分组。路由器结构由两部分组成:路由选择部分和分组转发部分。

路由器工作在网络层,主要功能就是实现跨网段传输数据。

c8611cec-5bf5-11ed-a3b6-dac502259ad0.png

如上图:一网段的主机要与其他网段的主机通信,则数据会先发送给指定的网关,也就是路由器,由路由器选择网段继续通信,所以发送的数据包起始中网络层的 ip 地址不变,源 ip 地址就是当前主机的 ip 地址,目的 ip 地址就是不同网段的主机的 ip 地址,但是链路层由于数据要先发给路由器,那么目的 mac 就是路由器的 mac 地址,然后路由器选择其他网段,则源 mac 变成路由器另一个网口的 mac 地址,目的 mac 就是目标主机的 mac 地址,所以整个过程网络层的一直不变,但是链路层一直再变。

c87cbaf6-5bf5-11ed-a3b6-dac502259ad0.png

如上图:由于现在是两台路由器和两个网段的主机,所以需要构成三个局域网,当源主机跨网段与目标主机通信时,由于网段不同,数据会先发送给路由器,然后路由器再选择对应的目的网段,但是此时路由器另一端所在的网段与之目标主机的网段不同,所以无法继续向下发送,此时需要设置下一跳,下一跳的目的就是指定当前自己网段的主机要访问其他网段的主机时从这个路由器应该跳到哪个路由器,只要设置了,就可以直接发送数据到指定的路由器,整个过程就完成

1,当网络中有多个路由器是,两个主机需要通信路由器需要记录下一跳信息,下一跳的目的就是指定当前自己网段的主机要访问其他网段的主机时从这个路由器应该跳到哪个路由器

2, 路由表记录着下一跳。

路由表中记录着不同网段的信息。路由表中记录的信息有的需要手动添加(称为静态路由表),通过路由协议自动获取的(称为动态路由表),我们的主机直接连到路由器上(中间无三层网络设备)这种情况是直连路由,属于静态路由。

路由选择处理机的任务是根据所选定的路由选择协议(路由协议后续在做总结)构造出路由表,同时经常或定期和相邻路由器交换路由信息而不断地跟新和维护路由表。

c89ab358-5bf5-11ed-a3b6-dac502259ad0.png

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132167
  • 模拟器
    +关注

    关注

    2

    文章

    818

    浏览量

    42699

原文标题:网络中的三张表—— ARP 表, MAC 表,路由表

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是路由表?IP路由表包含了哪些要素?

    路由表:简单点说路由表就是路由器用于指导数据包如何转发的表项,记录了去往目的IP的下一跳去哪里(如下图)。
    的头像 发表于 12-04 09:36 4244次阅读
    什么是<b class='flag-5'>路由表</b>?IP<b class='flag-5'>路由表</b>包含了哪些要素?

    i.MX6ULL——ElfBoard ELF1板卡 修改路由表优先级的方法

    1.查看路由表优先级 路由表的Metric参数为跃点数,当系统中有多个网关时,数据包会通过Metric低的接口传输; 2.修改优先级 修改优先级需要先删除以上两个网关,命令如下
    发表于 10-27 14:03

    嵌入式学习——ElfBoard ELF1板卡 修改路由优先级的方法

    1.查看路由表优先级 路由表的Metric参数为跃点数,当系统中有多个网关时,数据包会通过Metric低的接口传输; 2.修改优先级 修改优先级需要先删除以上两个网关,命令如下
    发表于 10-27 13:59

    电压的符号是什么样的,电压分几种类型

      它的工作原理是将载流导体放置在磁场,并且由于电流作用在导体上的力。由于测量电压,电流在PMMC仪器感应,并且该电流使仪表的指针偏转。   PMMC 电压用于直流测量。仪器精度非常高,功耗低
    发表于 09-01 16:43

    电压是并联还是串联?电压并联连接的原因

    元件的阻抗相结合。并且系统的整体阻抗等于元件具有的阻抗。因此,由于电压,电路不会发生阻塞,并且电压给出正确的读数。
    发表于 09-01 16:39

    电压具有高电阻吗为什么

    电压具有非常高的内阻,因为它测量电路两点之间的电位差。电压不会改变测量设备的电流。 如果电压的电阻很低,则电流通过它,电压给出不正确的结果。电压
    发表于 09-01 16:36

    一文解析Linux中ARP学习和老化机制

    ARP学习和老化机制在Linux网络通信中起着至关重要的作用。ARP(Address Resolution Protocol)地址解析协议是将IP地址解析为MAC地址的一种机制。
    发表于 08-04 16:55 923次阅读

    路由协议都有哪些 计算机网络核心技术主要包括哪些

    路由器可以连接多个网络。它有多个端口,分别连接不同的网络区域。通过识别目的 IP 地址的网络号,再根据路由表进行数据转发。
    发表于 07-24 12:28 627次阅读
    <b class='flag-5'>路由</b>协议都有哪些 计算机<b class='flag-5'>网络</b>核心技术主要包括哪些

    ARP协议的工作流程

    通过ARP协议知道对方的mac地址,已经知道对方ip地址的情况下,不知道mac地址。定义了一个ARP协议来解决这个问题。
    的头像 发表于 07-10 17:29 1596次阅读
    <b class='flag-5'>ARP</b>协议的工作流程

    FPGA以太网-ARP协议介绍

    ARP协议是地址解析协议,在网络中有MAC地址和IP地址之分,IP地址可以随着网络拓扑的改变而改变,而MAC地址是不会改变的。
    发表于 07-06 09:23 779次阅读
    FPGA以太网-<b class='flag-5'>ARP</b>协议<b class='flag-5'>介绍</b>

    路由表介绍与查看

    在思科(Cisco)系列路由器上,show ip route 这个命令是一个非常常用并且十分重要的命令。里面可以查看该设备的当前直连的或者学习到的全部路由信息,即路由表:routing table。
    的头像 发表于 05-31 11:05 2507次阅读

    思科(Cisco)系列路由表介绍

    路由表介绍 在思科(Cisco)系列路由器上,show ip route 这个命令是一个非常常用并且十分重要的命令。里面可以查看该设备的当前直连的或者学习到的全部路由信息,即
    的头像 发表于 05-31 11:04 1281次阅读

    LoRa通信技术在智能燃气的应用

    短,需要大量的中继器,安装不方便;功耗大,电池使用寿命短;网络复杂,信息交换容易出错。   ②自组网方式   网络复杂,网络效率低,功耗大;不能实时获取端信息;入住率低时没法组网;超
    发表于 05-11 10:22

    CW32为计数智化助力,现身青岛环球计大会

    4月25-28日,2023年国国际计行业年度大会顺利举办。在这次展会中,武汉芯源半导体携CW32家族产品,为计行业参观者展示了燃气、水表、电表、可燃气体报警器等
    发表于 05-05 14:24