计算机网络中的常用表项梳理

核心表项对比

表项

全称

工作层级

主要功能

涉及设备

典型生命周期

MAC表

媒体访问控制表

数据链路层(二层)

Mac地址和端口关系

交换机、网桥

动态学习

FDB表

转发数据库

(Forwarding DataBase)

数据链路层(二层)

Mac地址与端口关系,一般还包括vlanId

交换机、网桥

动态学习(默认5分钟)

ARP表

Address Resolution Protocol

地址解析协议表

网络层与数据链路层之间(二层和三层间)

Ip地址和mac地址的关系

主机、路由器

动态(通常2-20分钟)

路由表

Routing Table

网络层(三层)

存储目标网络与下一跳的映射关系

路由器、三层交换机、主机

静态或动态更新

详细解析

MAC表 & FDB表

事实上mac表和fdb表广义上可以说是一个东西,大多数情况下都是指代的同一个东西。狭义上的区别是mac表只有mac地址和端口关系,而fdb表则包含了vlanId信息。

因为fdb表包含更多的信息,所以现在业务上一般都使用包含了vlanId的fdb表。

那么这两个表项用来干嘛的?

主要是二层间数据转发时候使用,目标地址为mac,通过该表找到对应mac所在的端口,进一步将报文通过该端口转发发去。

这里需要提一下dot协议:

Dot1d:即 IEEE 802.1D,是 生成树协议(STP, Spanning Tree Protocol) 的标准,用于防止网络中的环路,确保冗余链路环境下数据帧的无环转发。

Dot1q:即 IEEE 802.1Q,是 VLAN 标签(VLAN Tagging) 的标准,用于在以太网帧中插入 VLAN 信息,实现虚拟局域网(VLAN)的划分。

特性

802.1D (Dot1d)

802.1Q (Dot1q)

用途

防止网络环路(STP)

VLAN 标签(Trunking)

工作层次

数据链路层(L2)

数据链路层(L2)

依赖关系

不依赖 VLAN

依赖 VLAN 环境

帧格式

不修改帧结构

在以太网帧头插入 4 字节 VLAN Tag

典型应用

交换机防环

跨交换机的 VLAN 通信

  • Dot1d(802.1D) 解决 环路问题(STP)。
  • Dot1q(802.1Q) 解决 VLAN 跨设备通信问题(Trunking)。

我们在读取mac表(或者说fdb表)信息时,都是读取以上两个信息,一般是优先读取dot1q的表项信息,如果其不存在则读取dot1d表项的信息。

ARP表

       在设备发送ip包出去的时候,此时传输数据只有ip头部,传输到二层需要封装帧头和帧尾,这时候需要查询arp表确定下一跳的mac地址,用于三层ip包封装成二层帧时的地址填充。

       我们来看下网络中数据发送和接受流程中的封装和解封装情况:

封装(Encapsulation):发生在发送端,是自上而下(从高层到低层)的过程

应用数据 → TCP/UDP头部 → IP包头 → 以太网帧头帧尾

解封装(Decapsulation):发生在接收端,是自下而上(从低层到高层)的过程

去掉以太网帧头帧尾 → 解析IP包头 → 处理传输层头部 → 交付应用数据

      

发送端封装流程:

[IP包] → (查询ARP表获得MAC) → [添加帧头] → [完整以太网帧]

            ↑

        需要ARP表

接收端解封装流程:

[完整以太网帧] → [检查MAC] → [去掉帧头] → [IP包]

                        ↓

                    不需要ARP表

       即发送前要封装,封装需要MAC,MAC来自ARP表。

路由表

       决定数据包在三层中的下一跳地址,包括目标网络、子网掩码、下一跳、出接口等信息。

       可以通过静态配置或通过路由协议动态学习,包含管理距离和度量值等路由选择参数,存在于三层设备(路由器、三层交换机)和主机上

       这个表项相对来说我们更常见一点,偶尔会遇到在主机上配置路由的情况,罗列一下对应的命令:

环境

命令

Windows

route print

Linux

ip route show

网络设备(交换机、路由器等)

Show ip route

       另外还有在Windows增加路由的命令,举例如下:
       Windows环境:

       route -p ADD 10.10.5.0 MASK 255.255.255.0 10.10.5.254

       Linux环境:

       route add -net 10.10.5.75 netmask 255.255.255.8 gw 10.10.5.254

ND表

       Ipv6中的邻居发现协议表(neighborhood discovery protocol)

       相当于ipv6协议的ARP表,实现ipv6地址到mac地址的解析。

总结

       数据流转过程中的表项协作:
       1、应用层:主机名解析(host文件/DNS)

       2、网络层:路由表决定出口和下一跳

       3、ARP/ND表:将下一跳ip解析为mac地址

       4、数据链路层:FDB/MAC表决定具体从哪个物理口转发出去

路由表:三层,解决“下一跳去哪”的问题,静态或根据协议更新(如ospf每30分钟刷新)

ARP表:二层和三层间,解决“目标MAC是谁”的问题,20分钟老化 

FDB/MAC表:二层,解决“从哪个口出去”的问题,5分钟老化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值