核心表项对比

表项

全称

工作层级

主要功能

涉及设备

典型生命周期

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分钟老化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89935.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89935.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/89935.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度轮岗:任命新CFO,崔珊珊退居业务二线

文 | 大力财经2025 年 7 月 1 日,百度组织再次变革,崔珊珊退居二线引发的行业关注。百度创始人李彦宏发布的内部信,宣布的新一轮组织调整里,崔珊珊退居二线这一变动,格外引人瞩目。崔珊珊,这位在百度人力资…

TAMPER-RTC(STM32F103) 引脚说明

我来查看ST官方手册中关于TAMPER-RTC引脚的具体说明。 Ran tool Ran tool Ran tool Read file: doc/STM32F103VGT6/STM32F103VGT6_specification.txt Read file: doc/STM32F103VGT6/STM32F103VGT6_specification.txt Ran tool Read file: doc/STM32F103VGT6/STM32F103VGT6_spec…

BUUCTF在线评测-练习场-WebCTF习题[极客大挑战 2019]HardSQL1-flag获取、解析

解题思路 打开靶场、熟悉的感觉 上次是过滤了很多字符,用了双写绕过进行注入即可,这次进阶了难度 先老规矩判断下闭合 11 123 报错提示 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version…

MyBatis动态SQL进阶:复杂查询与性能优化实战

引言 在复杂业务场景中&#xff0c;SQL查询往往需要动态拼接条件、复用代码片段&#xff0c;并支持批量操作。MyBatis的动态SQL功能提供了强大的解决方案&#xff0c;本文将深入解析<choose>条件分支、<sql>片段复用、批量操作优化等核心技巧&#xff0c;助你写出高…

@Transactional 注解失效的场景及原因分析

先分析一下 1&#xff0c;内部调用&#xff0c;原对象调用&#xff0c;不是代理对象调用 2&#xff0c;private方法&#xff0c;源码中&#xff0c;只能是public方法 3&#xff0c;异常被捕获了&#xff0c;事物拦截器&#xff0c;无法感知 4&#xff0c;子线程调用&#x…

使用unity创建项目,进行动画制作

1. 创建unity项目 error: error CS0006: Metadata file Library/PackageCache/com.unity.collab-proxy2.8.2/Lib/Editor/PlasticSCM/log4netPlastic.dll could not be found error CS0006: Metadata file Library/PackageCache/com.unity.collab-proxy2.8.2/Lib/Editor/Plasti…

Centos系统及国产麒麟系统设置自己写的go服务的开机启动项完整教程

1、创建服务文件 在 /etc/systemd/system/ 下新建服务配置文件&#xff08;需sudo权限&#xff09;&#xff0c;例如&#xff1a; sudo nano /etc/systemd/system/mygo.service 如下图&#xff0c;创建的mygo.service 2、创建内容如下&#xff1a; DescriptionThe go HTTP a…

Java面试宝典: IO流

1. 下面哪个流类属于面向字符的输入流() 选项: A. BufferedWriter B. FileInputStream C. ObjectInputStream D. InputStreamReader 答案:D 详细分析: 字符流与字节流的本质区别: 字符流(Character Streams)以Unicode字符为单位操作数据,适用于文本处理字节流(Byte…

黑马python(二十五)

目录&#xff1a;1.数据输出-输出为Python对象2.数据输出-输出到文件中3.综合案例1.数据输出-输出为Python对象2.数据输出-输出到文件中移动文件到文件夹&#xff1a;生成了好多文件&#xff0c;因为Rdd是有分区的 &#xff0c;会把数据分散到各个分区去存储&#xff0c;因为电…

【LeetCode 热题 100】41. 缺失的第一个正数——(解法一)暴力解

Problem: 41. 缺失的第一个正数 题目&#xff1a;给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 文章目录整体思路完整代码时空复杂度时间复杂度&#xff1a;O(N log N)…

在运行 Laravel Sail 前,需安装 Docker Desktop 并完成基础配置/具体步骤

一、安装 Docker Desktop&#xff08;必备环境&#xff09; Windows 系统 &#xff08;windows安装包 有两个版本&#xff09; 架构版本查看 1. Win R‌ 输入 ‌cmd‌ 打开命令提示符&#xff1b; 2. ‌输入命令‌&#xff1a; bash echo %PROCESSOR_ARCHITECTURE% 3. ‌结果…

AI 应用于进攻性安全

一、引言 大语言模型&#xff08;LLM&#xff09;和 AI 智能体的出现推动进攻性安全变革&#xff0c;其在侦察、扫描、漏洞分析、利用、报告五个阶段展现出数据分析、代码生成、攻击场景规划等能力&#xff0c;能提升安全团队效率与扩展性&#xff0c;但存在 “幻觉” 等局限性…

微控制器中的EXTI0(External Interrupt 0)中断是什么?

微控制器中的EXTI0(External Interrupt 0)中断是什么? EXTI0(External Interrupt 0) 是微控制器(如STM32等ARM Cortex-M系列芯片)中的一个外部中断线,专门用于处理来自特定GPIO引脚的外部信号触发中断。以下是详细说明: 1. 基本概念 EXTI(External Interrupt/Event …

EasyGBS平台内置AI算法了,算法成为了视频平台的标配

今年五一的时候立了个flag&#xff08;《国标GB28181平台EasyGBS未来研发方向在哪&#xff1f;》&#xff09;&#xff0c;我想不能再局限在只是满足于传统视频平台的功能&#xff0c;传统的EasyGBS也就是接入几种视频协议&#xff0c;什么RTSP、ONVIF、RTMP、GB28181这些&…

C# 常量与变量

在 C# 中&#xff0c;常量和变量是存储数据的基本方式&#xff1a; // 常量&#xff1a;使用 const 关键字声明&#xff0c;必须在声明时初始化&#xff0c;且值不能改变 const double Pi 3.14159; const string Message "Hello, World!"; ​ // 变量&#xff1a;…

TensorRT-LLM:大模型推理加速的核心技术与实践优势

大型语言模型推理就像让一头300公斤的大熊猫玩平衡木——显存消耗和计算效率这对双胞胎问题随时可能让表演翻车。以主流的7B参数模型为例&#xff0c;FP16精度下仅模型权重就吃掉14GB显存&#xff0c;这还没算上推理过程中不断膨胀的KV Cache——当处理2048长度的对话时&#x…

免费棱光 PDF:免安装 加水印 去水印 批量格式转换

各位办公小能手们&#xff0c;今天给大家介绍一款超棒的PDF处理工具——棱光PDF&#xff01;它完全免费&#xff0c;专门解决咱对PDF文件的常见操作需求。绿色免安装&#xff0c;体积小得跟颗花生米似的&#xff0c;打开就能用。它有三大核心功能&#xff0c;分别是水印管理、格…

(二)复习(Error Pattern/Result Pattern/)

文章目录 项目地址一、Error Pattern1.1 定义Error类1. ErrorType 可发生的错误类型2. Error类3. ValidataionError1.2 给每个实体创建Error类1. CategoryError类2. TicketErrror类3. EventErrror类二、Result Pattern1.1 自定义返回Result1. 泛型类2. 泛型方法1.2 Api层的Resu…

20250705-day6

NATO&#xff1a;北大西洋公约组织 Software Crisis&#xff1a;软件危机 Paradigm&#xff1a;设计范型 Waterfall Model&#xff1a;瀑布模型 Prototype Model&#xff1a;原型模型&#xff08;又称快速模型&#xff09; Spiral Model&#xff1a;螺旋模型 Agile&#xff1a;…

视频播放中时钟的概念及音视频同步概念

author: hjjdebug date: 2025年 07月 05日 星期六 18:20:45 CST descrip: 视频播放中时钟的概念及音视频同步概念 文章目录 1.前言: 视频播放:1. 固定延时时间2. 根据frame的duration来延时.3. 根据frame的PTS 来播放3.1. 时钟是什么?3.2. 时钟的用途. 2.音视频同步: 1.前言: …