公众号:网络技术联盟站
想象一下,你在家里用手机给远方的朋友发了一条消息:“晚上吃啥?”这条消息如何从你的手机,穿越无数网络设备,最终显示在朋友的屏幕上?这一切的背后,离不开网络通信中的四张核心表格。它们就像是数据包的“导航系统”,告诉设备该往哪儿走、怎么走。
-
MAC地址表帮交换机找到设备的“门牌号”。 -
ARP表像个翻译官,把IP地址变成MAC地址。 -
**路由表(RIB表)**是路由器的地图,指引数据包的下一站。 -
**转发表(FIB表)**则是加速器,让数据包飞速前进。
这四张表虽然功能不同,但在网络通信中缺一不可。接下来,我们将逐一揭开它们的神秘面纱,看看它们到底有啥区别,又是如何一起工作的。别眨眼,精彩马上开始!😎
MAC地址表:交换机的“地址簿” 📒
MAC地址表(MAC Address Table),也叫CAM表(Content Addressable Memory Table),是交换机用来记录MAC地址和端口对应关系的表格。MAC地址是每台设备的“身份证号”,由48位二进制组成(通常写成像AA:BB:CC:DD:EE:FF这样的形式)。MAC地址表就像交换机的“地址簿”,告诉它某个设备连接在哪个端口上。
交换机是局域网的“交通警察”,负责将数据帧(网络中的最小传输单位)从一个端口转发到另一个端口。当交换机收到一个数据帧时,它会查看帧中的目标MAC地址,然后翻开MAC地址表,找到对应的端口,把数据帧送过去。如果没有这张表,交换机只能像个无头苍蝇,把数据帧广播到所有端口,既浪费带宽,又降低效率。
MAC地址表不是天生就有的,它是通过学习和老化机制动态生成的:
-
学习:当交换机从某个端口收到一个数据帧时,它会记下帧中的源MAC地址和对应的端口号。比如,端口1发来一个数据帧,源MAC是AA:AA:AA:AA:AA:AA,交换机就在表中记一笔:“AA:AA:AA:AA:AA:AA → 端口1”。 -
老化:为了保持表的时效性,交换机会定期检查表中的条目。如果某个MAC地址在一段时间内(通常是300秒)没有活动,就会被删除,防止表中塞满过时信息。
假设你家有台交换机,连接了三台设备:
-
电脑A(MAC: AA:AA:AA:AA:AA:AA)插在端口1。 -
电脑B(MAC: BB:BB:BB:BB:BB:BB)插在端口2。 -
路由器(MAC: CC:CC:CC:CC:CC:CC)插在端口3。
当电脑A给电脑B发消息时:
-
交换机收到数据帧,源MAC是AA:AA:AA:AA:AA:AA,目标MAC是BB:BB:BB:BB:BB:BB。 -
交换机记下“AA:AA:AA:AA:AA:AA → 端口1”。 -
然后查表,如果已经知道“BB:BB:BB:BB:BB:BB → 端口2”,就直接把数据帧发到端口2;如果不知道,就广播到所有端口(除了端口1),等待电脑B回应,学习它的位置。
通过这种方式,MAC地址表让交换机变得聪明起来,能精准转发数据帧,避免不必要的广播风暴。
ARP表:IP与MAC的“翻译官” 🌐
ARP表(Address Resolution Protocol Table)是记录IP地址和MAC地址对应关系的表格。IP地址是网络层的“逻辑地址”(像192.168.1.100),而MAC地址是数据链路层的“物理地址”。ARP表就像个“翻译官”,帮设备在已知IP地址时,找到对应的MAC地址。
在局域网中,数据帧的传输靠MAC地址,但上层协议用的是IP地址。当一台设备要给另一个IP地址发数据时,它需要知道目标的MAC地址。这时候,ARP协议登场,通过ARP表提供“IP → MAC”的映射。
ARP表是通过ARP请求和ARP应答机制填充的:
-
ARP请求:设备A想找IP为192.168.1.1的设备,但不知道它的MAC地址。于是,它广播一个ARP请求:“谁是192.168.1.1?请告诉我你的MAC地址!” -
ARP应答:目标设备收到请求后,单播回复:“我是192.168.1.1,我的MAC是CC:CC:CC:CC:CC:CC。”设备A收到后,把这条记录加到ARP表中。
ARP表是动态更新的,也有老化机制,过期的条目会被删除。
假设你的电脑(IP: 192.168.1.100,MAC: AA:AA:AA:AA:AA:AA)要ping路由器(IP: 192.168.1.1):
-
电脑查ARP表,看有没有192.168.1.1的MAC地址。 -
如果没有,就广播ARP请求:“谁是192.168.1.1?” -
路由器回应:“我是192.168.1.1,我的MAC是CC:CC:CC:CC:CC:CC。” -
电脑把“192.168.1.1 → CC:CC:CC:CC:CC:CC”记进ARP表,然后用这个MAC地址封装数据帧,发给路由器。
ARP表的存在,让IP地址和MAC地址无缝衔接,保障了局域网内的通信顺畅。
路由表(RIB表):路由器的“导航图” 🗺️
路由表(Routing Information Base,简称RIB),是路由器用来决定数据包转发路径的表格。它记录了网络地址、子网掩码、下一跳地址等信息,是路由器的“大脑”,指导数据包从源头到目的地的旅程。
路由器不像交换机只管局域网内的转发,它要处理跨网络的数据包。当一个数据包到达时,路由器会查看它的目标IP地址,然后翻开路由表,找到匹配的路径,把数据包发给下一跳(可能是另一个路由器或目标设备)。没有路由表,数据包就像丢了地图的旅行者,寸步难行。
路由表中的条目可以手动配置(静态路由),也可以通过路由协议(如OSPF、BGP)动态学习。每条记录通常包括:
-
目的网络:数据包要去的地方(比如192.168.1.0/24)。 -
子网掩码:确定网络范围。 -
下一跳:数据包的下一个中转站(IP地址)。 -
接口:数据包从哪个端口出去。
路由器收到数据包后,用“最长前缀匹配”原则查找路由表,决定转发方向。
假设你家路由器的路由表长这样:
-
192.168.1.0/24 → 接口LAN(本地网络) -
0.0.0.0/0(默认路由) → 下一跳203.0.113.1,接口WAN(互联网)
你访问局域网设备(192.168.1.100),路由器匹配第一条,从LAN口转发;你访问谷歌(8.8.8.8),匹配默认路由,从WAN口发给ISP的网关203.0.113.1。
路由表让路由器成为网络的“导航专家”,确保数据包走上正确的路。
转发表(FIB表):路由器的“快速通道” ⚡
转发表(Forwarding Information Base,简称FIB),是从路由表中提取出来的精简版,用于路由器快速转发数据包。它通常由硬件实现(比如TCAM),是路由器的“加速器”。
路由表负责路由决策,但计算复杂,转发速度慢。转发表则专注于实际转发,去掉冗余信息,优化数据结构,让路由器能以闪电般的速度处理数据包。
转发表由路由表生成,当路由表更新时,转发表同步变化。它只保留转发所需的关键信息(如目的网络和下一跳),通过硬件并行查找,实现毫秒级转发。
与路由表的区别
-
路由表(RIB):控制平面,负责路由计算,信息全面。 -
转发表(FIB):转发平面,负责实际转发,追求速度。
还是你家路由器,路由表算出访问8.8.8.8的下一跳是203.0.113.1。转发表直接存下这条最优路径,当数据包到来时,路由器无需重新计算,查FIB表就立刻转发到WAN口。
转发表就像路由器的“快车道”,让数据包畅通无阻。
四张表的区别与联系 🤝
表格 | 设备 | 作用 | 内容 |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
这四张表分属不同层次,却紧密相连:
-
主机用ARP表把目标IP转为MAC地址,封装数据帧。 -
交换机用MAC地址表把数据帧送到正确的端口。 -
路由器用路由表(RIB)规划路径,用转发表(FIB)快速执行。
它们就像一支团队,分工明确,配合默契,缺了谁都不行。
一次数据包的旅程 🌍
假设你(IP: 192.168.1.100,MAC: AA:AA:AA:AA:AA:AA)访问谷歌(8.8.8.8):
-
主机:目标IP是8.8.8.8,不在本地网,找网关192.168.1.1。查ARP表,获取网关MAC(CC:CC:CC:CC:CC:CC),封装数据帧。 -
交换机:收到数据帧,查MAC地址表,把帧发到路由器端口。 -
路由器:解封装,查路由表,匹配默认路由(下一跳203.0.113.1),用转发表快速转发到WAN口。
数据包就这样一步步走向谷歌,四张表完美协作,确保旅程顺利。
OSPF和IS-IS的默认路由下发方式有什么区别?
50个Windows命令大全,超实用!解锁你的电脑隐藏技能
网络监控有多重要?这5个神器让你hold住全场!
网络专属技术群
构建高质量的技术交流社群,欢迎从事网络技术、网络安全、系统集成、网络开发、或者对网络技术感兴趣,也欢迎技术招聘HR进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!
9群已满!10群开放!!!
💡文明发言,以交流技术、职位内推、行业探讨为主
广告人士勿入,切勿轻信私聊,防止被骗
加我好友,拉你进群,注明来意!
支持就在看
一键四连,你的技术也四连
原文始发于微信公众号(网络技术联盟站):网络四大表:MAC地址表、ARP表、路由表与转发表
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论