IEEE 802.1Q 第八章2/3/4节 笔记

8.2 网桥架构

  • 本节内容:主要介绍了一个网桥的基本的组成,并对比了VLAN网桥和普通MAC网桥二者在结构上的区别。
  • 一个网桥至少包含一个网桥组件,而一个网桥组件包含了:
    • a)一个MAC Relay 实体,作用是实现端口间的帧中继、帧过滤、和学习过滤信息;
    • b)至少两个端口;
    • c)高层实体,包括至少一个生成树实体。

VLAN网桥结构图如下figure 8-2 :

  • IEEE 802.1Q 第八章2/3/4节 笔记_第1张图片
  • 在figure8-2 中,最中间是MAC relay 实体,其左右两边是两个端口,顶上是更高层实体。
  • 右下角端口,通过介质访问方法(media access method)和LAN相连,访问方法由LAN的类型确定。比如LAN是802.3以太网,则是以太网专用介质访问方法。
  • 右下角往上依次是ISS和EISS,前者依赖于截至访问方法,后者不依赖。
  • 端口通过MAC服务(MAC service),与更高层交换信息。

普通MAC网桥如下图figure8-3:

  • IEEE 802.1Q 第八章2/3/4节 笔记_第2张图片
  • figure8-3 和 figure8-2 的主要区别就是没有EISS。使用的是ISS支持的VLAN-unware MAC Relay Entity。

  • 每个端口的功能跟终端一样,因此端口还需要给LLC层实体(也就是上面图片中的Higher Layer Entities)提供MAC服务。LLC层实体利用MAC服务,运行类型1的程序,来支持协议识别、复用、解复用,从而支持生成树协议和其他高层是以的协议数据单元的传输和接收。LLC也可以运行其他类型程序,从而支持不同的协议。

8.3 操作模型

  • 本节内容:所谓操作模型,就是对网桥功能的一些基本描述。仅仅在宏观层面上定义,不涉及也不限制具体实现。

网桥的功能包括以下几点,这些点将在8.5以及往后章节具体介绍:

  • a) 网桥端口的传输和接收进程(Bridge Port Transmit and Receive Process ):
    • 1)从相连的局域网中传输和接收帧;
    • 2)根据VLAN 标签过滤帧;
    • 3)将接收到的帧归入不同的VLAN,给每个帧分配一个VID;
    • 4)确定准备发送的帧要不要带tag;(主要取决于下游设备)
    • 5)在MAC relay实体 与 LLC实体之间收发帧;
  • b) LLC实体或者其他支持高层的实体,包括:
    • 1)生成树协议;
    • 2)MRP协议;
    • 3)网桥管理;
    • 4)链路跟踪
  • c) CFM(connectivity fault management) 连接错误管理实体,包括MEP、MIP、LOM
  • d) 转发进程
    • 1) 保证没有环路的活跃拓扑;
    • 2) 根据VID和MAV地址过滤帧;
    • 3)可选项,对接收到的、且即将被转发到其他端口的帧进行分类和计算流量;
    • 4)将接收到的帧转发到其他端口。
  • e) 从帧的源MAC地址进行地址学习,然后更新FDB
  • 维护FDB,供转过进程查询是否转发。

  • 以上这些功能跟一般交换机是相似的,不过后者不能利用VID罢了。

以下对本节中一些插图作简要说明:

  • IEEE 802.1Q 第八章2/3/4节 笔记_第3张图片
  • 上图 figure 8-4 表示的是网桥转发一个帧的过程:

    • 1.查询左上角的端口状态,若为learning或者forwarding,则允许接收帧;
    • 2.入口过滤规则,若帧与端口同属于一个VLAN,则接收,不然则不接收。默认不启用此规则。
    • 3.检索FDB,根据MAC+VID,找出帧的潜在传输端口;
    • 4.检查上一步选出的准传输端口,检查端口状态,若为forwarding,才允许发送;
    • 5.出口规则,端口与该帧若不在同一个VLAN内,则弃帧。
  • IEEE 802.1Q 第八章2/3/4节 笔记_第4张图片

  • 上图figure 8-5 表示地址学习过程,和转发过程类似,不过步骤少一些。先检查端口状态,只有learning或者forwarding才接收帧,然后看源MAC地址是否在FDB内,不在则更新到FDB中。

  • IEEE 802.1Q 第八章2/3/4节 笔记_第5张图片

  • 上图figure 8-6 表示生成树协议实体的操作过程,生成树协议是通过改变端口状态和FDB实现功能。注:端口状态有disabled,blocking,listening,learning,forwarding。

  • IEEE 802.1Q 第八章2/3/4节 笔记_第6张图片

  • figure 8-8表示管理端口的收发过程。管理端口,不是通过ISS连接到网络,而是通过端口传输接收进程(Bridge Port Transmit and Receive Process)和MAC relay 实体连接到其他端口和与之相连的局域网。

8.4 活跃拓扑、地址学习、转发

  • 本节内容: 利用生成树协议构造活跃拓扑、维持端口状态 以及活跃拓扑与VLAN之间的映射。
  • 所谓活跃拓扑(active topology ),就是由状态为“转发”的端口们,将局域网和网桥连接成的通路,提供给帧进行传输。
  • 一些分布式生成树算法,比如RSTP、MSTP、ISIS-SPB等,能够构造出一个或多个活跃拓扑,分配给不同的VLAN使用,从而实现端到端的传输。一般一个VLAN对应一个分配给自己的活跃拓扑,这样效率比较高;不过也存在多个VLAN共用一个活跃拓扑的情况。取决于所使用的生成树算法和系统资源,比如如果是单生成树算法,只产生一个活跃拓扑,那么所有VLAN只好共用一个拓扑了。 然后, 生成树中每个端口的“转发”或者“学习”状态都由生成树动态管理,从而避免环路,减少过度传输,并将因为物理拓扑结构变化而造成的对服务的拒绝减到最小。
  • PBB-TE通过代理建立以太网交换路径(ESP)作为活跃拓扑。
  • 如果端口未激活,比如MAC_Optional为False或者被管理员设为Disabled,从拓扑中移除,则该端口的learning和forwarding都是不被允许的。
  • 关于RSTP和MSTP对端口状态的控制。如果一个端口的learning和forwarding都不被允许,那么它的状态就是Discarding.如果允许learning不允许forwarding,状态就是learning;若learning和forwarding同时被允许,则为forwarding状态。不过需要注意的是,RSTP和MSTP都不直接控制端口状态,而是通过每个生成树上的变量来控制。因为一个端口可能同时属于多个生成树,每个生成树上该端口的状态可能不一样。后面的ISIS-SPB类似,也是直接控制变量而非端口。
  • RSTP,只生成一棵树,单生成树网桥将所有帧都分配到同一个生成树里,不管VLAN和MAC。
  • MSTP,生成多棵树,给每棵树/每个端口维护一张端口状态表。然后给每个VLAN分配一个CIST(一棵树),或者分配一个MSTI(多生成树实例)。参数MSTID用来指示模式, 若为0则为CIST,其他各有用处。VID用来将帧分配到与之对应的VLAN中。由上可见,不同VLAN的内容是通过不同的活跃拓扑结构传输的,这样一来就避免了部分链路的过载,而单生成树协议无此好处。

附录

  • STP收敛:当二层交换网络有拓扑变化时,比如两台交换机之间链路断掉了,如果不把这种link down 状态通告出去,则别的交换机不知道link down,依然依靠过时的(outdated)MAC address table 来进行转发frame到受影响的交换机上,交换机由于link down 而无法到达目的地,进入流量黑洞模式。需要受影响的交换机通过TC(Topology Change)沿着自己的root port方向,即通向root bridge 的上游接口方向,接力的方式告知root bridge。然后root bridge 在2秒/次的BPDU里设置TCA ( Topology Change Acknowledge),很快BPDU消息扩散到每一台交换机,收到此消息的交换机做一件事,将MAC address table 超时时间从默认的5分钟修改为Max_Age =20 秒,大大缩短MAC address table 的老化时间,不超时老化,还会继续指示错误的链路或端口。不要忘记,二层的转发依靠的MAC address table,如同三层依靠的IP Routing table。而受影响的交换机可能多一个步骤,还需要重新选举root port 或 designated port ,但是这只是局部小范围的事,只有受影响的交换机才会参与,一旦新的端口角色选举完成,所有交换机对网络拓扑达成一致意见,即处于完全同步状态,则称为网络收敛。

你可能感兴趣的:(通信)