当前位置:首页 > 文章中心 > 正文内容

什么是 ARP表,MAC表,路由表

dgx6662个月前 (04-03)文章中心16

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, 路由表记录着下一跳。

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

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

来自:CSDN,作者:晨曦艾米


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

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/771.html

分享给朋友:

“什么是 ARP表,MAC表,路由表” 的相关文章

公文字体探究:必须用仿宋_GB2312?

答:只规定了正文用仿宋,至于是仿宋、仿宋_GB2312、华文仿宋、方正仿宋还是仿宋GBK,则并没有强制规定,用哪一种都可以,只有习惯性运用。一、先简单说说公文字体的基本规定:标题为小标宋2号,与正文间空一行。正文为3号字,除了一级标题为黑体、二级标题为楷体以外,其他均为仿宋。页码居底部外端两侧,左右...

AutoCAD 2014系列自学教程(1)

本期分享AutoCAD 2014中文版实用教程之《第1章 基本概念、基本操作》,下载方式见文末。...

CAD输入激活码后老是提示激活码错误,怎么解决?

CAD用注册机生成的激活码老是提示“注册-激活错误是生成错误造成的”,这个问题如何解决?具体的方法步骤如下:1、首先激活码出现问题,需要进行激活确认。首先需要的中进入电脑C盘。2、由于此文件夹默认是隐藏的,可以先点击组织设置隐藏文件夹显示。3、勾选显示隐藏文件夹。4、找到C:\ProgramData...

经典归来!《魔兽争霸3》官方对战平台正式上线

还有多少人在坚守着《魔兽争霸3》?如果你是其中的一员,不知道这个新消息会不会让你感动:网易建立《魔兽争霸3》官方对战平台,经典回归!新平台被直接命名为“魔兽争霸官方对战平台”。据了解,这是大陆地区暴雪唯一官方授权的对战平台。除了普通的1v1或组队对战外,它还支持Dota以及我们最爱的RPG地图。官方...

魔兽争霸官方对战平台520活动现已上线

520甜蜜相伴,魔兽争霸官方对战平台专属福利倾情放送!5月14日-5月24日,登录平台就送专属活动底纹,还有全新双子座动态头像超值上线。 爱与恨的双子星,超值礼包限时上线 5月20日-5月24日,双子座超值礼包登场! 双子座——阿尔萨斯8折礼包:“双子座”动态头像×永久+“双子座”动态底纹×...

WIN10系统安装低版本CAD(如2006.2007)时出现错误的解决办法

很多同学在WIN10系统下安装低版本CAD(如2006.2007)时会出现各种问题,比如提示“许可系统出现错误”“没有足够的权限安装本产品”“写入文件时发生错误”等,导入CAD无法正常安装或打开。所以老师结合多年的教学经验整理了非常全面的几种解决办法,希望能帮助各位同学解决困惑(WIN10系统与低版...