Redian新闻
>
网络中的三张表—— ARP 表, MAC 表,路由表

网络中的三张表—— ARP 表, MAC 表,路由表

公众号新闻
推荐关注↓

作者:晨曦艾米

https://blog.csdn.net/ZBraveHeart/article/details/123505347

1.ARP

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

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

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

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

通信过程

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

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 数据发送。

2.MAC 表

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

当 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 表数据。

3.路由表

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

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

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

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

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

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

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



- EOF -


加主页君微信,不仅Linux技能+1

主页君日常还会在个人微信分享Linux相关工具资源精选技术文章,不定期分享一些有意思的活动岗位内推以及如何用技术做业余项目

加个微信,打开一扇窗


推荐阅读  点击标题可跳转

1、Kubernetes 网络排错骨灰级中文指南

2、一大波你可能不知道的 Linux 网络工具

3、Linux 网络基础与性能优化


看完本文有收获?请分享给更多人

推荐关注「Linux 爱好者」,提升Linux技能

点赞和在看就是最大的支持❤️

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
北邮王啸:挖掘图神经网络中的「万物真理」大促末班车| 精选路由器 “值”在双12!收藏!兰卡假期表——2023年版!如何解决Spring Cloud下测试环境路由问题画出这三张图后,To B业务的成功率提高了《阿凡达》五折看,万达W+电影会员IMAX通兑券三张189元明天结束 | 三张chase西南航空的联名信用卡史高offer!华男也中过这家旺店 超十二万!纽约友售出三张大奖彩票!未盈利特专科技公司赴港上市,看这一张表格就够了实在智能创始人、CEO孙林君:数字员工——AI在RPA领域的应用与落地2022年的最后一个月,我劝每个职场人收藏好这张表!更小更薄的“路由器”要来了?消息称索尼 PS5 新款将于明年发布,非 Slim 版拜登连出三张牌后,油价为何不降反升2022全球RPG手游报告:RPG品类占手游总收入27%,连续6年第1超大用户池的音乐题材游戏,想在全球赚钱为何长着“三张脸”?加斯佩半岛自驾 (八)看得到巨石的房间神秘的古老之光:埃及阿布神庙从负载均衡到路由,微服务应用现场一键到位ROG 介绍新款魔方幻路由器:三频万兆,点阵式 RGB 信仰之眼这张表非常值钱!只发一次,人手一份,存起来受益终生!出人命了!一群未成年“网课猎手”们正在网络中猎杀教师……荣耀路由 X4 Pro 发布:支持 Wi-Fi 6,三个千兆网口,首发价 169 元这张表,一定要收藏!如何使用 Gateway 搭建网关服务及实现动态路由?我,堂堂纽大留学生,居然被一张表情包给整破防了!我在中美两国当工人的不同感受南半球的油菜花开啦如果看到这张表情包,请不要传播,谢谢了!亚栗“PK”欧美栗,和栗“PO”中华粟[电脑] 广覆盖高速率——华硕灵耀 Pro AX11000 分布式路由开箱简测影刀RPA金礼剑:我们做了一款人人都能用的RPA产品 | GGV OMEGA 访谈录直立倾斜试验怎么做?4张表格掌握要点出人命了!一群未成年“网课恶魔”们正在网络中猎杀教师……gRPC :一个性能爆炸的rpc框架1799 元,小米万兆路由器发布:双万兆有线接口、万兆无线速率、独立三频
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。