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

news/2025/3/16 19:58: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、 路由表记录着下一跳。

  路由表中记录着不同网段的信息。路由表中记录的信息有的需要手动添加(称为静态路由表),通过路由协议自动获取的(称为动态路由表),我们的主机直接连到路由器上(中间无三层网络设备)这种情况是直连路由,属于静态路由。
  路由选择处理机的任务是根据所选定的路由选择协议(路由协议后续在做总结)构造出路由表,同时经常或定期和相邻路由器交换路由信息而不断地跟新和维护路由表。
在这里插入图片描述


http://www.ppmy.cn/news/813688.html

相关文章

Flink实时任务性能调优

前言 通常我们在开发完Flink任务提交运行后,需要对任务的参数进行一些调整,通常需要调整的情况是任务消费速度跟不上数据写入速度,从而导致实时任务出现反压、内存GC频繁(FullGC)频繁、内存溢出导致TaskManager被Kill…

Spring MVC中的HandlerInterceptors和Filters

1.介绍 比较Java servlet过滤器和Spring MVC Handlerinterceptor,以及什么时候一个比另一个更好。 2.Filters 过滤器是web服务器的一部分,而不是Spring框架。对于传入的请求,可以使用过滤器来操作甚至阻止请求到达任何servlet。反之亦然&a…

西部数据携全线产品亮相IDF 2014

存储行业的领导者 西部数据 作为英特尔信息技术峰会(简称IDF)的常年合作伙伴,携全线高性能存储产品与高科技解决方案隆重亮相IDF 2014,向各方与会者、及行业伙伴展示了包括消费级桌面系列、企业级与安防监控系列、应用于超级本的超…

常规机械硬盘分类应用场景与硬盘接口存储方案介绍

0x00 简述0x01 硬盘类型 1.西部数据(WD)2.希捷(seagate)0x02 硬盘接口 1.硬盘接口类型2.硬盘接口协议3.磁盘存储方案0x00 简述 描述:简要介绍磁盘实现原理以及购买磁盘商的选择对比以及其产品线了解,其后对磁盘接口及其常使用的协议做了一个简单的了解,并且对其使用场景作了一…

【Linux云计算架构:第一阶段-Linux操作系统入门到精通】第12章——硬盘介绍和磁盘管理

本节所讲内容: 12.1 SAS-SATA-SSD-SCSI-IDE硬盘讲解 12.2 磁盘分区工具和挂载 12.3 实战扩展swap分区 12.1 SAS-SATA-SSD-SCSI-IDE硬盘讲解 常见磁盘类型: •SAS硬盘(希捷:ST)•SATA硬盘(西部数据:WD,个人…

Qt:记录一下好看的配色

qss代码 窗体背景色 background-color: #ED6927; border-top-left-radius:35px;border-top-right-radius:35px;border-bottom-right-radius:0px; border-bottom-left-radius:0px;background-color: #203A32; border-radius:35px; border-top-left-radius:0px;border-top-righ…

【Java】面向对象基础 之构造方法

一、 构造方法 创建实例的时候,我们经常需要同时初始化这个实例的字段,例如: Person ming new Person(); ming.setName("小明"); ming.setAge(12);初始化对象实例需要3行代码,而且,如果忘了调用setName()…

为什么“应该从XP升级到Win7”

新旧交替乃是自然规律,唯有一断创新才能带来进步。而对日新月异的软硬件发展与用户对于电脑使用方式与需求的变化,步入暮年的Windows XP在安全、稳定性以及易用性方面已经无法带给用户更好的体验。 2014年4月8日,微软终止对Windows XP的支持服…