第十五讲 局域网互连---网桥
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 假设桥在端口x上接收到一个MAC帧,有如下规则 1. 查询过滤数据库,决定该目的MAC地址是否列在除 端口x外的其它端口中。 2. 如果目的MAC地址没有找到,把该帧往除了它所到 来的端口外的所有端口发送,即进行扩散。 3. 如果目的地址列在过滤数据库中的某个端口y中,其 中,决定是否端口y处在阻塞或转发状态。在以后的 生成树算法中我们可以看到,一个端口可能有时候 是阻塞的,以防止它接收或发送帧。 4. 如果端口y是非阻塞的,把该帧通过端口y转发到它 所连接的LAN中。
服务器/主机 X
路由器 Y 网段 1 广播
交换机 A
交换机 B 网段 2
主机 X 发送一广播信息
广播风暴
服务器/主机 X
路由器 Y 网段 1 广播 交换机 A 交换机 B 网段 2
主机 X 发送一广播信息
广播风暴
服务器/主机 X
路由器 Y 网段 1
交换机 A
广播
交换机 B 网段 2
交换机不停地发出广播信息
解决办法
问题一:路由机制 采用什么? 问题二:冗余拓扑却带来了广播风暴、 重复帧、MAC地址表不稳定的问题 如何解决? 都采用 生成树算法 的技术来解决
回路的解决办法: 生成树协议(STP)
x
阻塞
将某些端口置于阻塞状态就能防止冗余结构的网络拓扑 中产生回路
生成树算法
• 生成树算法利用了一个基本的来自于图 论的结论:对于那些由许多节点以及连 接节点的边组成的连通图,存在一个生 成树,它保证了图的连通性,同时又没 有一个闭合环。 • 算法必须是动态的。也就是说,当拓扑 结构改变时,桥应该能够发现它的改变, 并且检测回路,通过关闭某些网桥的端 口来自动生成一个新的生成树
SW X
SW Y
10baseT
交接机 X 缺省的优先级 32768 (8000 十六进制) MAC 0c0011111111
100baseT
交换机 Y 缺省的优先级 32768 (8000 十六进制) MAC 0c0022222222
X
BPDU
Y
10baseT
根桥 = 有 最 低 桥 识 别 码 的 桥 桥识别码(BID) = 桥优先级 + 桥MAC地址 例中, 哪个交换机的桥识别码最低?
《数据通信与计算机网络(第二 版)》电子教案
第十五讲 局域网互连
本讲内容
第四章 局域网 4.6 局域网互连 4.6.1 网桥
4.6.1 网桥
• 网桥:最早是为把那些具有相同的物理层和媒 体访问子层的局域网(例如都是IEEE 802.3) 互连起来而设计的 • 桥适合于不是非常复杂的局域网之间的互连, 它工作在OSI模型中的第二层,用于连接具有 不同物理层的网络 (如:连接 使用同轴电缆的网络和UTP的网络) • 桥提供了一种对LAN的扩展
网段 2
MAC地址表不稳定
服务器/主机 X
路由器 Y 网段 1
端口 0 交换机 A 端口1
端口0 交换机 B 端口1 网段 2
• 主机X发送一单点帧给路由器Y • 路由器Y的MAC地址还没有被交换机A和B学习到 • 交换机A和B都学习到主机X的MAC地址对应端口0
MAC地址表不稳定
服务器/主机 X
• 网桥会把广播帧向网桥的到来端口外的所有 其它端口转发,即通过网桥连接的站点位于 同一个广播域(broadcast domain),这些 节点能相互接收彼此的广播帧。
例子
A 端口1 Hub
B 端口2
Bridge 端口3 C D
•
•
•
学习:站点A给B发送数据,网桥通过察看帧的源地 址了解到A在端口1,过滤数据库中加入<A,1>。 扩散:网桥并不知道B在何处,因此把帧向所有其 它端口(即端口2和3)进行扩散。 转发:B收到A发过来的帧之后,可能会进行回应, 即B发送数据给A,这个时候网桥察看源地址了解到 B在端口2上,加入表项<B,2>,同时帧的目的地址A 在过滤数据库中存在,并且在端口1上,因此B发回 给A的帧向端口1转发
问题?
问题一:路由机制 采用什么? 问题二:冗余拓扑却带来了广播风暴、 重复帧、MAC地址表不稳定的问题 如何解决?
冗余网络拓扑
服务器/主机 X
网段 1 路由器 Y
网段 2
•冗余拓扑消除了由于单点故障所引致的网络不通问题 •冗余拓扑却带来了广播风暴、重复帧和MAC地址表不 稳定的问题
广播风暴
*注明:桥协议数据单元----BPDU
• 如果收到一个BPDU,还要比较BPDU中的路径花 费和桥以前了解到的到同一个根桥的根路径花费, 如果新的BPDU具有更小路径花费,则说明自身 不是该端口直接连接的LAN的选取桥,如果路径 花费相同,则比较BPDU中的桥BID和自身的桥 BID,BID更小的桥将作为选取桥。 桥识别码(BID) = 桥优先级 + 桥MAC地 • 在任一LAN中,宣称最靠近根的桥(具有最少的 到根桥的路径花费的桥)成为选取桥。 • 知道了选取桥,也就知道选取端口,如果选取桥 有多个端口连接到该LAN,则把具有更小端口号 的端口作为选取端口。(根桥本身也是选取桥)
• 过滤:现在站点C向A发送数据,由于A、C 和网桥连接到同一个集线器上,网桥也会收 到该帧,察看源地址C,记录C在端口1,加 入表项<C,1>,同时目的地址A在过滤数据 库中并且所在的端口正是收到该帧的端口, 因此不进行转发。 • 老化:过滤数据库表项的TTL每秒都增加, 超过某个值则从数据库中清除,一般缺省的 TTL设置为300秒。老化主要是考虑到网桥 的内存有限、节点移动的情况。
路由器 Y 网段 1
端口 0 交换机 A 端口1
端口0 交换机 B 端口1 网段 2
• 到路由器Y的数据帧在交换机A和B上会泛洪处理 • 交换机A和B都错误学习到主机X的MAC地址对应端口 1
多重回路问题
广播 服务器/主机
回路 回路
回路
工作站
更复杂的拓扑结构可能导致多重回路 在第2层没有能够防止这种回路的机制
根 选取桥 桥
• 每个网络只能有一个根桥,根桥具有最低的桥ID,根桥上的 所有端口都是选取端口,不是根桥的称为非根桥 • 每段(LAN)中仅一个网桥被选为选取桥,具有最少到根桥 路径花费的网桥,对于所有根桥连接的LAN而言,根桥就是 选取桥 • 每个非根桥只能有一个根端口,根端口到达根桥所花代价最 低 • 每段(LAN)只能有一个选取端口,选取端口到达根桥所花 代价最低,对于根桥上的端口而言,它们都是选取端口 100baseT 选取端口(F) 根端口(F)
网桥的功能
网桥是一种数据帧存储转发设备,它通 过缓存、过滤、学习、转发和扩散等功能 来完成操作。
网桥的工作原理(1)
缓存:网桥首先会对收到的数据帧进行缓存 并处理 过滤:判断入帧的目标节点是否位于发送这 个帧的网段中(同一端口中) ,如果是,网桥就 不把帧转发到网桥的其他端口
转发:如果帧的目标节点位于另一个网络, 网桥就将帧发往正确的网段 (向另一端口转发)
一般情况下 • 网桥应该具有路由功能,每个桥保存了其它 桥的状态信息以及到达每一个网络所经过的 桥的跳段个数和花费。 • 当桥收到一个帧时应该决定是否转发它,如 果转发,转发到哪个局域网中。 • 最简单的、最广泛使用的是固定路由。
透明网桥
透明网桥的设计标准: 1. 为了把那些采用任何MAC标准的不同类型 的LAN互连,互连后不用做任何修改,现 有的LAN的运行完全不会受网桥的影响 2. 路由机制 采用 生成树算法 的技术。
初步概述 后页再各个描述
网桥的作用:“过滤、转发” 当网桥收到一个MAC帧时: ① 检查该帧的源地址和目的地址,如果目的 站点和源站点是在同一网络之上(同一端口) 则不对其进行转发—— “过滤” ② 否则根据它所保持的路由表选择正确的网 络来进行——“转发”。 • 网桥可能具有“学习”功能,应该能够动 态地了解别的局域网或网桥的状态,帮助 其进行自我配置工作。
端口1
端口1
100baseT 请指出: • 根桥 • 根端口、选取端口和非选取端口? • 选取端口和非选取分别是转发还是阻塞状态? 首先,确定 根桥 和 非根桥
生成树
SW X
SW Y
非根桥
(B)
选取端口(F)
10baseT
x 非选取端口
生成树
端口 0
交换机 Z Mac 0c0011110000 缺省的优先级 32768
交换机X MAC 0c0011111111 缺省的优先级 32768
100baseT
端口0 端口 0
交换机Y MAC 0c0022222222 缺省的优先级 32768
BID ----桥识别码
路径代价
连接速率 代价(修订的 IEEE 规范) 代价(旧IEEE 规范) ---------------------------------------------------------------------------------------------------10 Gbps 2 1 1 Gbps 4 1 100 Mbps 19 10 10 Mbps 100 100
• 以混杂方式工作(接收连接到该网桥的局 域网上传送的所有帧)。 • 每个桥维护了一个基于MAC地址的过滤数 据库,网桥根据这个数据库,把收到的帧 往相应的局域网(端口)进行转发。 • 在过滤数据库中,列出了每个可能的目的 地(目的MAC地址),以及它属于哪一条 输出线路(一个端口号,即表示转发给哪 个LAN),每个表项还有一个超时设置(可 以及时学习改变了的地址)
• 为什么不是简单的采用一个大的LAN呢? 由于运行环境的不同,一个组织有多个局域 网可能有以下几种原因: 无序性 可靠性 性能 站点数 地理考虑 安全
网桥的设计必须考虑如下四个问题: a. 不同的帧格式 b. 不同的数据速率 c. 不同的超时时间 d. 不同的最大帧长度,这可能是一个最为 严重的问题
生成树运作
• 每个网络只能有一个根桥,根桥具有最低的桥ID,根桥上的 所有端口都是选取端口,不是根桥的称为非根桥 • 每段(LAN)中都一个网桥被选为选取桥,具有最少到根桥 路径花费的网桥,对于所有根桥连接的LAN而言,根桥就是 选取桥 • 每个非根桥只能有一个根端口,根端口到达根桥所花代价最 低 • 每段(LAN)只能有一个选取端口,选取端口到达根桥所花 代价最低,对于根桥上的端口而言,它们都是选取端口 100baseT
网桥的工作原理(2)
学习:当帧经过网桥,网桥首先在网桥表 中查找帧的源MAC地址,如果该地址不在网 桥表中,则将有该MAC地址及其所对应的网 桥端口信息加入(逆向学习法)
数据帧要去往的目标MAC地址
MAC A MAC B MAC C
使用的网桥端口
端口3 端口2 端口1
网桥的工作原理(2)
扩散:如果在表中找不到目标地址, 则按扩散的办法将该数据发送给与该 网桥连接的除发送该数据的网段外的 所有网段。
重复帧
服务器/主机 X 单点帧 路由器 Y 网段 1
交换机 A
交换机 B
网段 2
• 主机X发关一单点帧给路由器Y • 路由器Y的MAC地址还没有被交换机A和B学习到
重复帧
服务器/主机 X 单点帧
路由器 Y 网段 1
交换机 A
交换机 B
• 主机X发送一单点帧给路由器Y • 路由器Y的MAC地址还没有被交换机A和B学习到 • 路由器Y会收到同一帧的两个拷贝
非根桥
ቤተ መጻሕፍቲ ባይዱ
端口状态
100baseT
端口 0 端口0
根桥
Root bridge 端口1
端口1
10baseT
1. 每个非根桥有且仅有一个根端口forwarding(转发) ,根 端口到达根桥所花代价+优先级+MAC地址+Port#最小 (从左到右依次比较) 2. 根端口和选取端口一般处于forwarding(转发)状态 3. 非选取端口一般是blocked(阻塞)状态
先定义几个概念: • 路径花费 • 根端口 • 根路径花费 • 选取桥、选取端口 • 桥协议数据单元(BPDU) P176
• 为了构建一个生成树,首先决定根桥和选取 桥然后决定所有其它非根桥的根端口,最后 决定每个LAN的选取端口。 • 开始所有桥都认为自己是根桥。每个桥都会 在它连接的每个LAN上广播一个BPDU来宣 告这个信息。其他桥收到该BPDU后,比较 根桥ID的大小,如果新的根桥更小,则更 新根桥BID;否则发送一BPDU给新启动的 桥,新的桥将更新根桥。