欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 3.交换机基础原理与VLAN专题

3.交换机基础原理与VLAN专题

2025/3/18 2:39:42 来源:https://blog.csdn.net/Lin_Jumping/article/details/146294683  浏览:    关键词:3.交换机基础原理与VLAN专题

以太网的帧类型

  • 以太网帧格式

    image-20250314205306546

    • 前导码:交替的0和1格式,指示帧的开始并允许发送方和接收方建立位同步;

    • 帧界定起始符SFD:始终设置为 10101011;SFD表示一帧数据的开始

    • 目的MAC地址:6字节

    • 源MAC地址:6字节

    • 长度/类型:2字节;小于1536表示以太网长度,大于1536表示上层协议

    • DATA

    • 循环冗余校验CRC:4字节CRC数据校验从以太网帧头开始,不包含前导码和帧起始界定符

    • VLAN标记:4字节,插入在源地址之后和 EtherType 字段之前

  • EthernetII:由目的 MAC、源MAC、协议类型、数据内容、FCS 组成。一般用与数据传输

  • 802.3 RAW:只支持IPX/SPX 网络,被淘汰

  • 802.3 LLC:由目的 MAC、源 MAC、长度、LC 头部、数据内容、FCS 组成

  • 802.3SNAP:由目的 MAC、源 MAC、长度、LLC头部、SNAP 头部、数据内容FCS

  • 802.3 帧格式的 LLC 头部和 SNAP 头部中拥有更多字段,所以可以实现更多的对链路的控制,一般以大网数据链路层协议使用的帧格式都是802.3格式;(STP)但是 802.3格式的帧多出的头部导致留给有效数据载荷的空间就变少了,所以在用于普通数据传输时,一般使用Ethernet II格式来封装

交换机转发数据帧的原理

交换机接收到数据帧后的处理:

  • 交换机收到数据帧后,学习数据帧的源MAC 地址,把数据帧的源 MAC 地址、收到帧的端口、该端口的PVID 进行映射,产生一条 MAG地址记录

  • 对于支持 VLAN 的交换机,会给数据帧加上VLAN tag,VLAN tag 中的 VLAN id就是接收该帧端口的所属 VLAN

  • 交换机在 Tag 中 VLAN的 MAC 地址表中检查数据帧的目的 MAC地址,如果目的 MAC地址在MAC地址表中有记录,则按照记录对应的出接口进行转发;如果表中没有记录,则对该帧做广播泛洪处理,把该帧从除了接收端口之外的所省其他端口转发出去

  • 如果交换机收到的数据帧本身就是广播帧,会把该帧从除了接收端口之外的所口有其他端口转发出去

  • 交换机一个端口上能同时学习并记录多个MAC地址吗?可以

  • 一台交换机的不同接口可以同时记录两个相同的MAC地址吗?不行

交换机 MAC 地址学习的两种模式

  • IVL:独享模式;各个VLAN内学习到的MAC地址为各个VLAN所有,不会共享给其他VLAN;目前绝大多数交换机都是这个模式;

  • SVL:共享模式。某一个 VLAN 学习到 MAC 地址后,会共享给其他所有 VLAN

MAC地址表中都有哪些字段

  • 基本信息:

    • MAC Address:学习到的,用来标识不同的网络设备

    • VLAN ID:标识MAC地址属的VLAN

    • Port/Nickname:端口,端口名,端口与数据帧的源 MAC 地址的关联

  • 属性信息:

    • Type:类型,动态和静态;静态不会老化

    • State:状态,MAC 地址条目的当前状态

    • Aging:老化时间,反映了自设备最后一次收到来自该 MAC 地址的数据帧以来所经过的时长

802.1 帧格式

VLAN 帧格式:

  • 被加上 VLAN tag 的帧格式称为 802.1Q 格式。该格式的帧一般只有交换机能识别、路由器在子接口上开启 802.1Q 识别后也能识别,PC无法识别

  • 给数据帧加上 VLAN tag 是为了使交换机知道该数据帧是来自与哪个 VLAN

  • 802.1Q 帧格式为目的 MAC 地址、源 MAC 地址、VLAN tag、协议类型、数据内容、FCS

  • VLAN tag 的格式为TPD、Priority、CFI、VLAN ID

    • TPID:标签协议识别符,用于辨识区分一个帧是否被标记

    • Priority:802.1P优先级,用于交换机进行QOS拥塞管理

    • CFI:标准格式指示,若为1代表MAC地址为非标准格式,若为0则为标准格式

    • VLAN ID:标记该帧数据接收端口的VLAN id

image-20250314215620769

、交换机端口类型处理数据帧的方式

VLAN 通讯原理

  • 交换机端口分为 Access、Trunk、Hybrid 三种类型

    image-20250314222347435

  • Access 口对帧的处理:

    • 收到不带 Tag 的帧,打上该接口 PVID 的 VLAN tag

    • 收到带 Tag 的帧,当 Tag 中的VLAN id 与接口 PVID 一致,则接收该帧,不一致则丢弃该帧

    • 发送帧时,如果帧的VLAN ID 与接口 PVID 相同,则先剥离该帧的 Tag,然后再将其从该接口发出

    • 如果帧的 VLAN ID 与接口 PVID 不同,则禁止将该帧从该接口发出

  • Passing:确定哪些VLAN数据帧能够通过该端口进行传输

  • Trunk 口对帧的处理:

    Passing:端口允许的VLAN与交换机存在VLAN的交集

    • 接口收到未携带Tag的帧,该帧打上端口的PVID,检查VLAN ID是否出现在端口的Passing列表中,出现则接收,否则丢弃;

    • 接口收到 Tagged 帧,当该帧的 VLAN ID 在该接口的Passing列表里时,接收该帧,否则丢弃该帧。

    • 发送帧时,如果帧的 VLAN ID 与接口 PVID 相同

      • 当该帧的 VLAN ID 在该接口允许通过的 VLAN 列表中,则将该帧的 Tag 剥除,然后将其从该接口发送出去;

      • 如果 VLANID 不在允许通过的 VLAN 列表中则禁止将该帧从该接口发出。

    • 发送帧时,如果帧的 VLAN ID 与接口 PVID 不同

      • 当该帧的 VLAN ID 在该接口允许通过的 VLAN 列表中,则保留该帧的 Tag,然后将其从该接口发送出去;

      • 如果 VLAN ID不在允许通过的 VLAN 列表中则禁止将该帧从该接口发出。

  • Hybrid 口对帧的处理

    • Passing:端口Tagged列表中的VLAN与Untagged列表中的VLAN的并集,再与本机存在的vlan取交集

    • 接收未携带的tag的帧,打上端口PVID的Tag,检查VLAN ID是否出现在端口的Passing列表中,出现则接收,否则丢弃

    • 接收收到携带Tag的帧,检查Tag中的VLAN ID上是否出现在端口的Passing列表中,出现则接收,否则丢弃

    • 发送时检查Tag中的VLAN ID是否与端口的PVID一致,

      • 不一致且VLAN ID出现在Tagged(标记)表中,则保留Tag转发

      • 不一致且VLAN ID出现在Untagged(未标记)表中,则剥离Tag转发;

      • 一致并且帧的 VLAN ID 是该接口允许通过的VLAN ID,当管理员通过命令设置发送该VLAN 的帧时不携带 Tag,则将该帧的 Tag 剥除,然后将其从该接口发送出。

  • 一端Access,一端Trunk有什么影响?

    • 如果Access端口所属的VLAN与Trunk端口允许通过的vlan列表中的某个VLAN一样,则可以正常通过

    • 如果如果Access端口所属的VLAN不在Trunk端口允许的类别中,那么该VLAN流量无法通过

    • 增加网络拓扑和管理的复杂度

  • Hybrid和Trunk有什么本质区别?

    • Passing(能够通过端口传输的VLAN数据帧)

      • Trunk口:端口允许的 VLAN 与交换机存在 VLAN 的交集

      • Hybrid口:Tagged 列表中的 VLAN 与 Untagged 列表中的 VLAN 的并集,再与本机存在的 VLAN 取交集

    • 发送帧时对标签的处理规则:

      • Trunk口:

        • 当帧的 VLAN ID 与接口 PVID 相同时,如果该 VLAN ID 在允许通过的 VLAN 列表中,就剥除 Tag 发送;若不在列表中则禁止发送。

        • 当帧的 VLAN ID 与接口 PVID 不同时,如果该 VLAN ID 在允许通过的 VLAN 列表中,保留 Tag 发送;若不在列表中则禁止发送。其处理方式主要基于帧的 VLAN ID 与 PVID 是否相同以及是否在允许通过的 VLAN 列表中。

      • Hybrid口:

        • 当帧的 VLAN ID 与端口 PVID 不一致时,若 VLAN ID 出现在 Tagged 表中,保留 Tag 转发;若出现在 Untagged 表中,剥离 Tag 转发。

        • 当帧的 VLAN ID 与端口 PVID 一致且该 VLAN ID 是接口允许通过的,还需根据管理员命令设置来决定是否剥除 Tag 发送。其处理方式不仅考虑 VLAN ID 与 PVID 的关系,还引入了 Tagged 和 Untagged 表

    • 整体灵活性:

      • Trunk 口:对标签的处理规则相对固定,主要围绕 PVID 和允许通过的 VLAN 列表进行操作。

      • Hybrid口:提供了更多的配置选项和灵活性,通过 Tagged 和 Untagged 表以及管理员命令设置,可以针对不同 VLAN 的帧进行更个性化的标签处理。

  • 共同:都支持多VLAN数据传输; 端口接收数据时的处理一样

  • Hybrid的应用场景:

    • private vlan , 实现不同VLAN通信(主机同网段的二层通信) , 灵活QinQ,特殊VLAN类型

VLAN 的类型

VLAN的划分方式?

可以通过哪些方式将主机关联到相应的VLAN?

  • VLAN的类型去回答

  • 为什么要创建VLAN?交换机上可以创建多少个VLAN?

  • 基于端口的 VLAN:固定的把某个端口加入某个 VLAN

  • 基于 MAC的 VLAN:Mac 地址绑定到 VLAN,同- Mac 地址的设备,无论连接在哪个端口,VLAN 归属不变

  • 基于协议的 VLAN:三层协议绑定到 VLAN,同一协议的报文,无论从哪个端口接收,VLAN 归属不变

  • 基于 IP 子网的 VLAN:IP 网段绑定到 VLAN,同一 IP 子网的设备,无论连接在哪个端口,VLAN 归属不变

  • 除了基于端口的 VLAN 以外,其它 VLAN 类型都需要所有支持的接口类型都设置为 Hybrid,同时放行所有 VLAN

  • 默认优先级:Mac VLAN>IP 子网 VLAN>协议 VLAN>端口 VLAN(越精确越优先)

Private VLAN 原理以及适用场景

VLAN数量限制:VLAN 的可用数量为 4094,大型局域网中,若每个用户分配一个 VLAN,4094 个 VLAN 远远不够。

  • Private VLAN(私有 VLAN)技术通过把上行接口和下行接口都设置为 Hybrid 类型来实现下行 VLAN 对上行设备不可见的效果,用于解决局域网中 VLAN 数量不够用的问题。

  • 二层VLAN结构:

    • Primary VLAN:主VLAN,用于连接上行设备;不同的Secondary VLAN关联到同一个Primary VLAN,对上行设备来说,Secondary vlan不可见

    • Secondary VLAN:从VLAN,用于连接用户;Secondary VLAN之间二层帧互相隔离;

  • 工作原理:

    • Private VLAN 设置一个 Primary VLAN 和若干个 Secondary VLAN,把连接上行交换机的接口配置为 Hybrid 类型,PVID为Primay VLAN,并 Untagged 放行Primary VLAN 和所有 Secondary VLAN;

    • 下连用户终端的接口也设置为Hybrid 类型,PVID 为本地的 SecondaryVLAN,并 Untagged 放行 Primay VLAN 和本地的Secondary VLAN

    • 所以当下行终端的数据帧携带 Secondary VLAN 的 Tag 经过上行接口发送至上游交换机时,会被剥离掉 VLAN tag,上游交换机收到未携带Tag 的帧后会加上本端口 PVID 的Tag,所以实际上下行PC的数据帧不管来自哪个 VLAN,最终到达上游交换机时都会被打上新的 Tag,导致 Secondary VLAN 对上游交换机不可见。

    • 既然不可见,就意味着所有的 Secondary VLAN 可以在下游被复用,通过这样来解决 VLAN 数量不够用的问题

    • 由于在下行交换机上的连接终端的下行接口只放行 Primary VLAN 和本地的SecondaryVLAN,所以不同的SecondaryVLAN 之间是无法互通的,也能在本地实现不同 VLAN 的隔离

    • image-20250316113056671

      例如VLAN2与VLAN3的通信:
      PC1发包到ASW中,经过G1/0/2端口,PVID是2
      此时数据包的tag为2,ASW查询发现去PC2,发往g1/0/3
      g1/0/3的untagged是3和10;tag2无法剥离,不能通过流量到达不了PC2;

  • Secondary VLAN之间的通信:

    • Secondary VLAN 之间可以通过在本地交换机的 Primary VLAN 三层接口上开启本地代理 ARP 来实现,但该功能需要交换机开启 L3 域功能;

    • 也可以无需开启L3 域功能,而借助上行交换机的 VLAN 三层接口开启本地代理 ARP 来实现

      image-20250316113428622

  • MAC地址同步技术:

    • 使用 Private VLAN 技术后,交换机会在 SecondaryVLAN 学习到终端的 MAC 地址。当上游向终端发送数据帧时,进入本地交换机会加上 Primay VLAN 的 VLAN tag;按照交换机查表原理,会在 Primary VLAN 的 MAC 地址表中查询终端的MAC 地址。

    • 结果是查询不到,就会通过广播泛洪把数据发送至终端设备。可以通过 MAC 地址同步技术来解决该问题。

    • MAC 地址同步是指当交换机在Secondary VLAN学习到一条 MAC地址记录,会自动复制一条至 Private VLAN;同理Private VLAN学习到一条MAC地址记录,也会自动复制一条至SecondaryVLAN;

Super VLAN 原理以及适用场景

  • 二层交换机只能取一个三层端口(管理)

  • Super VLAN 用于解决三层交换机 VLAN 三层接口不够用的问题如果大规模组网中,划分了数量巨大的 VLAN,可能会超出网关三层交换机支持的最大三层接口数量。Super VLAN 可以解决该问题

  • 技术原理

    • 每个普通的VLAN都有一个三层逻辑接口和若干物理端口;Super VLAN把这两部分剥离开;

    • Super VLAN 只用于建立三层接口,不能加入任何物理接口,用于包含若干个Sub VLAN。只要所包含的 Sub VLAN 中存在 UP 状态的物理口,Super VLAN 的接口就能 UP

    • Sub VLAN 只用于加入物理接口,不能建立三层接口,Sub VLAN 只能通过 Super VLAN 与外部进行三层通讯。Sub VLAN 保留各自独立的广播域

    • 通过 Super VLAN 技术,可以实现不同 VLAN 的主机使用同一个IP 网段进行编址、对应同一个网关,网关就是 Super VLAN 的三层接口地址

  • Super VLAN 由于只建立三层接口,不包含任何物理接口,所以不可能出现有携带 Super VLAN 标签的数据帧发送至其他交换机,反之如果接收到携带 SuperVLAN 标签的数据帧,交换机也无法转发,所以 Trunk 链路将自动禁止 SuperVLAN 的流量通过,也就是说 SuperVLAN 无法在交换机上进行二层转发,只允许进行三层转发

  • Sub VLAN 可以通过在 Super VAN 的三层接口上开启本地代理 ARP 来实现

image-20250315202750613

  • 交换机创建了Sub VLAN2和Sub VLAN3分别属于不同的广播域,有效的隔离了它们之间的广播流量,但是它们没有自己的VLAN接口;

  • Super VLAN属于另一个独立的广播域,包含了Sub VLAN2和Sub VLAN3;但是没有包含任何端口,仅仅拥有一个VLAN接口,用该接口为所有映射的Sub VLAN提供三层通信服务;

  • 主机什么情况下需要设置网关,什么情况下不用设置网关?

    • 跨网段互访必须要网关

本地代理 ARP 和普通代理 ARP

  • 如果ARP请求是从一个网络的主机发往同一网段却不在同一物理网络上的一台主机,那么连接它们的具有代理ARP功能的设备可以回答该请求,这个过程就是代理ARP(Proxy ARP)

  • 代理ARP分为两种

    • 普通代理ARP:想要互通的主机分别连接到设备的不同三层接口上,且这些主机不在同一个广播域中

    • 本地代理ARP:想要互通的主机连接到设备的同一个三层接口时,且这些主机不在同一个广播域中;

  • 普通代理ARP:

    image-20250315203745739

  • image-20250316115506709

    • HostA要跟HostC通信,由于目的IP和本地IP地址为同一网段,HostA直接发送ARP请求,解析HostC的MAC地址;

    • 运行了代理ARP的交换机收到ARP请求后,代理HostA在1.1.2.0网段发出ARP请求,解析HostC的MAC地址

    • HostC认为交换机向其发出了ARP请求,以ARP回应自己的MAC地址,交换机收到ARP回应后,向HostA发送ARP相应,但是通告的MAC地址是交换机连接到Host的VLAN1接口MAC地址

    • 这样HostA的ARP表中就形成到HostC的IP地址映射MAC交换机VLAN1接口;因此会将去往HostC的数据报发送到交换机上再由交换机转发到HostC

    • 优点:可以只被应用在一个设备上,不会影响网络中其他设备的路由表;可以在IP主机没有配置缺省网关或IP主机没有任何路由情况下使用

  • ARP 的查询请求是广播发送,所以不同广播域的主机无法查询MAC地址,在使用了Private VLAN或Super VLAN的网络中,Secondary VLAN,之间或者Sub VLAN之间,无论是二层还是三层都将无法互通

  • 本地代理ARP

    image-20250316120207087

    image-20250315204258792

  • 需要开启本地代理ARP的场景:

    • 连接到同一个VLAN不同二层隔离的端口下的设备要实现三层互通;

    • 开启 Super VLAN功能后,属于不同Sub VLAN下的设备要实现三层互通;

    • 开启Private VLAN 功能后,属于不同 Secondary VLAN下的设备要实现三层互通。

  • 用本地代理ARP实现不同Sub VLAN之间的三层互通:

    image-20250316120336392

    • PAC发送报文给PCB,PCA发现目的IP和自己在同一个网段,发送ARP请求,PCB在VLAN3广播域内,不能收到这个广播请求;但是Super VLAN10可以收到这个ARP广播

    • Super VLAN10本地代理ARP:当PCA在二层发出的ARP请求在其广播域内没有回应时,网关开始在路由表查找,发现下一跳为直连路由器接口,则在Sub VLAN3内发送新的ARP请求PCB的MAC地址;在得到PCB的回应后,Super VLAN10就把自己接口对应的MAC地址当作PCB的MAC地址,在Sub VLAN2内回应PCA的响应;之后PCA发送报文给PCB时都通过Super VLAN接口进行正常三层转发;

Access端口和 Trunk端口能否互联,如果可以,怎么互联

  • Access的应用场景+Trunk的应用场景+会影响某些场景的业务通信

  • Access 和 Trunk 端口可以互联

  • 如果要实现的是同一个 VLAN 在两个端口间互通,只需要把 Access 端口加入到该 VLAN,并把 Trunk 端口的 PVID 设置为该 VLAN,并放行该 VLAN 就可以了。

    image-20250316133016380

  • 比如 VLAN10 内部互通,从 Access 端口一侧的交换机来自 VLAN10 的帧,会被Access 端口剥离标签发出对端 Trunk 端口收到未携带标签的帧,打上 PVID也就是 VLAN10 的标签再转发至 VLAN10 的主机,从 Trunk 端口一侧的交换机来自VLAN10的标签,再转发至 VLAN10 的主机,从 Trunk 端口一侧的交换机来自VLAN10的帧,由于PVD 就是 MLAN10,所以也会剥离标签发出,对端Access端口收到未携带标签的帧,打上VLAN10 的标签,再转发至、VLAN10 的主机

  • 如果要实现的是跨 VLAN 互通,比如一台交换机上LAN10 和另一台交换机上VLAN20 的互通,只需要把 Access 端口加入到 VLAN10 或 VLAN20,把对端 Trunk端口的 PVID 设置为另一个 VLAN 就可以了。

    image-20250316133246136

  • 比如把 Access 端口加入 VLAN10从该端口一侧的交换机来自 VLAN10 的帧会被剥离标签发出,对端 Trunk 口收到未携带标签的帧,打上 PVID,也就是 VLAN20 的帧,就可以转发至 VLAN20 的主机;从 Trunk 口一侧的交换机来自 VLAN20 的帧,由于和 PVID 一致,所以剥离标签发出,对端 Access 端口收到未携带标签的帧,打上 VLAN10 的标签,再转发至 VLAN10 的主机

  • 由于 Access 端口只能允许一个 VLAN 通过,所以无法实现两台交换机之间多VLAN 同时互通的效果

  • 实现不同VLAN通信有哪些方法可以实现?

    • 单臂路由 , VLANIF接口 ,Hybrid(同一个网段情况)

三层交换机的数据转发原理

(关键信息提炼)

  • 三层交换机跟普通二层交换机有什么区别呢?

    • 功能上的差别,二层转发和三层转发

  • 三层交换机转发机制:精确匹配与最长匹配

  • 转发流程概述:

    • 三层交换机在转发数据时,会根据数据帧的目的 MAC 地址判断是进行二层转发还是三层转发:

      • 如果目的 MAC 地址不是 VLAN 三层接口的 MAC 地址,则按照二层交换机的转发机制进行转发(基于 MAC 地址表)

      • 如果目的 MAC 地址是 VLAN 三层接口的 MAC 地址,则判断为三层转发,进入三层转发流程。

  • 精确匹配流程:

    image-20250315205027566

    • 当交换机判断为三层转发时:

      • 1.检查IPFDB表:FIB表是三层交换机中用于快速转发的表项,包含FIB表和ARP表的信息;IPFDB表的表项是唯一的,同时包含二层转发信息(出接口MAC地址)和三层转发信息(下一跳IP地址)交换机首先检查 IPFDB 表,如果找到匹配的表项,则直接按照 IPFDB 表的出接口进行转发

      • 2.如果IPFDB表中没有记录:则查询FIB表,FIB 表是三层交换机中存储路由信息的表,基于最长匹配原则进行查询;交换机根据 FIB 表找到最匹配的路由条目,确定下一跳 IP 地址和出接口。

      • 3.生成IPFDB表项:在查询 FIB 表后,交换机会根据 FIB 表和 ARP 表生成一条新的 IPFDB 表项。生成的 IPFDB 表项会被缓存,用于后续相同目的 IP 地址的数据包转发。

        • 表项包含:目的IP,下一跳IP,出接口,下一跳MAC

    • IPFDB表的作用:

      • 将 FIB 表和 ARP 表的信息整合在一起,形成一个快速转发表 ; 通过 IPFDB 表,交换机可以直接获取下一跳的 MAC 地址和出接口,避免了每次转发都需要查询 FIB 表和 ARP 表的开销。IPFDB 表的表项是动态生成的,并且会定期更新或老化

  • 最长匹配流程:

    image-20250315210000956

    • 如果判断为三层转发

      • 1.检查L3Table表:如果找到匹配的表项,则直接按照L3Table表的出接口进行转发;如果没有记录则进入下一步;

        • L3Table 表是三层交换机中用于快速转发的表项,类似于IPFDB表。L3Table 表是根据 DEF_IP 表 和 ARP 表生成的唯一匹配表项,同时包含 二层转发信息(如出接口 MAC 地址)和 三层转发信息(如下一跳 IP 地址)

      • 2.查询DEF_IP表:根据 DEF_IP 表的查询结果,确定下一跳 IP 地址和出接口。

        • DEF_IP 表是三层交换机中存储路由信息的表,类似于 FIB 表

        • DEF_IP基于最长匹配原则进行查询:交换机根据目的 IP 地址,在 DEF_IP 表中查找匹配的路由条目。选择与目的 IP 地址匹配最长的路由条目(即前缀最长的路由)。

      • 3.生成L3Table表:在查询 DEF_IP 表后,交换机会根据 DEF_IP 表和 ARP 表生成一条新的 L3Table 表项。生成的 L3Table 表项会被缓存,用于后续相同目的 IP 地址的数据包转发。

        • 表项包含:目的IP,下一跳IP,出接口,下一跳MAC

  • DEF_IP表对比FIB表:

    • DEF_IP 表由 专门的硬件芯片 维护,而 FIB 表通常由 CPU 维护。由于硬件芯片的查表速度远快于 CPU,因此 DEF_IP 表的查表速度比 FIB 表快很多。

  • 最长匹配与精确匹配的区别:

    最长匹配精确匹配
    用于处理三层转发,基于 DEF_IP 表进行路由查询用于处理二层转发或已知的三层转发表项(如 IPFDB 表)
    选择与目的 IP 地址匹配最长的路由条目直接匹配目的 MAC 地址或 IP 地址
    查表速度快,由硬件芯片维护查表速度较快,但依赖于缓存表项

MVRP 的端口模式

  • MVRP 端口分为Normal模式,Fixed模式和Forbidden模式

  • Normal模式是可传递和动态学习所有的VLAN,就是会把木地创建的静态 VLAN注册出去,也会接收其他交换机发送过来的注册消息,学习动态 VLAN,交换机的 MVRP 端口默认是该模式

  • Fixed模式是只传递VLAN1和静态VLAN,不学习其他交换机传递的动态VLAN。也就是会把本地创建的静态 VLAN 注册出去,但是不接收其他交换机发送过来的注册消息,也就不会学习动态 VLAN

  • Forbidden 模式是只传递 VLAN1,VLAN1每台交换机都有,所以基本等于不传递静态 VLAN,也不学习动态 VLAN

  • MVRP 的端口要求都是 Trunk 类型,并放行所有 VLAN

  • MVRP 协议运行的实体是端口,而不是交换机,只有某个端口是 Normal 模式,接收注册消息而学习到其他交换机注册过来的动态 VLAN 后,该 Trunk 端口才会放行该 VLAN;如果某个端口只是发出某 VLAN 的注册消息,那么该 Trunk 端口不会放行该 VLAN

  • 当某台交换机学习到动态 VLAN 后,一旦该 VLAN 中加入了某个端口,该VLAN在该交换机中会自动变为静态 VLAN,从而会向对端发起该VLAN 的注册消息

交换机对单播、广播、组播帧怎么转发?

  • 如何区分单播帧、广播帧、组播帧

    • 根据数据帧的目的 MAC 地址进行判断

      image-20250316135417723

      • 广播帧的目的 MAC地址是 FF-FF-FF-FF-FF-FF

      • 组播帧的目的 MAC 地址是组播 MAC地址,MAC地址首个字节第8比特为1表示组播,以 01-00-5E 开头

      • 单播帧的目的 MAC 地址就是某一台设备的 MAC 地址,MAC 地址首个字节第8比特为0表示单播

  • MAC的首个字节的第八比特和第七比特的含义

    • 第八比特:如果为0表示单播,为1表示组播,

    • 第七比特:如果为0表示全局,为1表示本地

    • MAC地址为全1,表示广播

  • 0x01005e,以太网环境的单播

  • 交换机收到单播帧,检查目的 MAC地址,查MAC地址表,能够查到就按照相应的接口转发,查不到就广播处理

  • 交换机收到广播帧、直接广播处理

  • 交换机收到组播帧,如果没有配置 IGMP Snooping,会按照广播进行处理,如果配置了 IGMP Snooping,就会查询组播转发表项进行转发

交换机怎么判断三层转发还是二层转发

  • 当一个交换机收到个数据包时它需要根据数据包中的信息来判断是进行二层转发还是三层转发

  • 如果数据包的目标 IP 地址和源IP 地址在同一个子网内:

    • 那么交换机会根据目MAC地址在MAC地址表中查我对应的出口端口、并将数据包转发给该端口,这就是一层转发。

    • 如果目标MAC地址不在 MAC 地址表中,那么交换机会将数据包广播到所有连接的端口,以便让目标设备回应。

  • 如果数据包的目标 IP 地址和源 IP 地址不在同一个子网内:

    • 主机发出的数据帧中目标 MAC 为网关的 MAC 地址,交换机收到这样的数据帧之后,本地的 SVI接口会解封这个数据包,然后交换机会根据目标IP 地址在路由表中查找对应的下一跳 IP 地址,并根据 ARP 表査找下一跳 IP 地址对应的 MAC 地址,然后将数据包封装成新的以太网帧,并将其转发给下一跳设备,这就是三层转发。

    • 如果下一跳IP 地址或 MAC地址不在路由表或 ARP 表中,那么交换机会发送 ARP请求来获取它们。

二层交换机,三层交换机以及路由器之间的区别

  • 能不能用交换机取代路由器呢?

    • 一般不能取代

  • 二层交换机、三层交换机和路由器是网络构建中常见的设备,它们各自承担着不同的功能,并在网络架构中扮演着特定的角色。

  • 二层交换机主要工作在 OSI模型的数据链路层(第二层),它通过 MAC 地址来学习并转发数据帧。二层交换机可以有效地隔离网络中的冲突域,允许多个设备在同一网络段内进行高速通信,减少了数据冲突和碰撞。但它们无法处理不同网络段之间的通信。

  • 三层交换机在功能上除了具有二层交换机的特性外,还能根据IP地址进行数据包的转发。三层交换机能够实现网络层的路由功能,因此可以在不同的网络段之间进行数据包的转发和路由选择。三层交换机可以看作是具有路由功能的交换机。

  • 路由器工作在网络层(第三层),负责在不同网络之间转发数据包。路由器依据目标IP地址,通过动态维护的路由表来确定数据包的最佳路径,实现不同网络之间的通信。与交换机不同,路由器能够在广域网和局域网之间进行数据包的转发,用于连接不同的网络。。路由器可以提供网络分段、网络隔离和安全性等功能,对数据包进行深度处理和分析。同时路由器上的一些功能在交换机上也是不支持的。

  • 总结来说二层交换机主要根据 MAC 地址在局域网内部进行数据转发,三层交换机则在二层交换机的基础上增加了网络层的路由功能,能够处理不同网络之间的数据转发,而路由器则用于在不同网络之间进行数据包的转发,依据IP地址进行路径选择。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com