计算机网络 第4讲 网桥和交换机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
路由回路(续)
• 单播帧带来的问题
– 错误学习和重复转发:
• 假设桥都已经知道站点A和B的信息,并且站点A传输一个 到站点B的帧。 • 网桥α和β都会从LAN X收到帧,认为A在LAN X的一方, 并转发到LAN Y中。
– 站点B就会收到这个帧的两个拷贝 – 同时网桥α转发的帧被网桥β从LAN Y接收到,因而认为站点 A在LAN Y的这一方。即网桥β会认为A和B都在LAN Y,这 样A和B之间的帧就会被过滤
• 首先判别IP分组的目的IP地址是否属于它直接连接 的端口上
– 如果是,则通过桥接而不是路由来进行转发 – 如果不在连接的端口上,则该分组被路由给相应的网关 (即采取路由转发)。
– 对于其它类型的帧则简单地转发(即桥接)。
网桥的路由功能
• 每个桥保存了其它桥的状态信息以及到达每一个网络所 经过的桥的跳段个数和花费:
•
路由机制采用的是一种叫做生成树算法的技术, 来防止路由回路
透明网桥
• 透明网桥的每个端口以混杂方式工作,接收连接到该 网桥的局域网上传送的所有帧。 • 每个桥维护了一个基于MAC地址的过滤数据库,网桥 根据这个数据库,把收到的帧往相应的局域网进行转 发或者过滤:
– 过滤数据库中列出了每个可能的目的地(目的MAC地址), 以及它属于哪一条输出线路(一个端口号,即表示转发给哪 个LAN),同时每个表项还有一个超时。 – 网桥初始化时,过滤数据库为空 – 如果收到的帧的目的地址不在过滤数据库中,则进行扩散, 即把帧转发到除了收到该帧的端口外的所有端口中 – 逆向学习:当一个帧到达一个端口时,桥显然知道它是来自 于到来LAN的哪一边。帧的源地址字段表示了源站点。因而 桥可以更新那个MAC地址对应的过滤数据库中有关信息 – 每个表项有一个超时,如果一段时间没有看到来自于该站点 的帧,则从表中移走
• 选取端口:
– 选取桥的那个用来把桥连接到该LAN上的端口称为选取端口。 – 对于所有根桥连接的LAN而言,根桥就是选取桥。 – 所有到达LAN或从LAN出发的互连网中的通信都要经过选取端口。
生成树算法中的BPDU消息
• 生成树算法要求网桥之间通过桥协议数据 单元(BPDU)交换信息
– 该BPDU被送到在同一个LAN上的所有其它桥 – 每个BPDU由下列信息组成:
– 当桥收到一个帧时应该决定是否转发它,如果转发,转发到哪个 局域网中。
• 固定路由:
– 根据在互连网中的每个源-目的LAN对而选择路由
• 如果在两个LAN间有多个路由可供选择,一般是选择那些跳段最少 的路由。
– 简单、容易处理,路由是固定的,最多只有在互连网的拓扑改变 时才有变化 – 在一个复杂的互连网中,桥可能会动态增加,同时桥可能会出现 故障,此时固定路由就不太适合
透明网桥(续)
• 桥在端口x上接收到一个MAC帧,有如下规则:
– 查询过滤数据库,决定该目的MAC地址是否列在除端 口x外的其它端口中。 – 如果目的MAC地址没有找到,把该帧往除了它所到来 的端口外的所有端口发送,即进行扩散。 – 如果目的地址列在过滤数据库中的某个端口y中,其中 y不等于x,决定是否端口y处在阻塞或转发状态。 – 如果端口y是非阻塞的,把该帧通过端口y转发到它所 连接的LAN中。
– 来自于图论的结论:对于那些由许多节点以及连接 节点的边组成的连通图,存在一个生成树,它保证 了图的连通性,同时又没有一个闭合环。 – 算法必须是动态的。也就是说,当拓扑结构改变时, 桥应该能够发现它的改变,并且检测回路,通过关 闭某些网桥的端口来自动生成一个新的生成树
生成树算法中的基本术语
• 每个桥分配一个唯一的标识BID。 • 每个桥的端口,都分配一个该桥中的16比特的唯一标 识,称为“端口号标识”。 • 每个端口都分配一个路径花费,指的是通过该端口在 其连接的LAN上传输帧的花费。 • 两个节点间的路径有一个总花费,等于经过的桥的端 口路径花费的和。
• 动态路由
– IEEE 802.1小组的基于生成树算法路由的透明网桥 – IEEE 802.5委员会提出的源路由网桥
透明网桥的主要特性
• 透明:引入网桥对于现有LAN的运行是完全透 明的
– – – 可以连接同种MAC协议或者不同MAC协议的LAN LAN上的站点不用作任何改动,完全透明 LAN 网桥也不用做特殊的设置,连接好之后就可以运行
网桥的设计要考虑的问题
• 网桥必须考虑连接的各种局域网的物理特性 和帧格式:
– – – – 不同的帧格式:格式的转换,检验和的计算等 不同的数据速率:缓冲功能以及拥塞控制 不同的超时时间:不同网络的延迟时间各不相同 不同的最大帧长度:这可能是一个最为重要的问 题,IEEE 802 LAN标准不提供分段功能
• 桥到根桥的最短路径上的端口就是根端口
• 如果有两个端口有同样的花费,则选择具有更低 端口号的端口 – 最后决定每个LAN的选取桥和选取端口:
• LAN上的具有最少根路径花费的网桥就是选取桥,如果有 两个或多个桥具有同样的根路径花费,具有最高优先级的 桥选取为选取桥。 • 如果选取桥有两个或多个端口连在这个LAN上,具有最低 端口标识的端口被作为选取端口。 • 只有选取桥允许执行其选取端口连接的LAN的帧转发过程
• • 让高层应用了解要经过的LAN的最大帧长度,这样可以 避免发送太大的帧 网桥来分解帧,需要额外的逻辑单元来分解帧和对帧的 每个部分提供适当的应答,即要求网桥能够识别网络层 的协议单元
桥路由器
• 桥路由器Brouter(Bridge Router):实际上 混合了网桥和路由器的功能
– 对某些特定类型的帧(比如携带了TCP/IP分组) 是采取桥接还是路由
A 端口1 Hub
B 端口2
Bridge 端口3 C D
网桥的工作过程(示例)
• 老化:过滤数据库表项的TTL每秒都增加, 超过某个值则从数据库中清除,一般缺省的 TTL设置为300秒。老化主要是考虑到网桥 的内存有限、节点移动的情况。
A 端口1 Hub
B 端口2
Bridgewenku.baidu.com端口3 C D
路由回路
• • • • 产生该BPDU消息的桥标识 发送该BPDU消息的端口标识 产生该BPDU消息的桥所了解到的根桥标识 到根桥的路径花费:直接连接到根桥的端口花费一 般为0。
生成树算法的基本步骤
• 生成树的构造的基本步骤:
– 首先决定根桥:标识最低的网桥被选为生成树的根 – 然后决定所有其它桥的根端口
透明网桥(续)
• 如果收到一个广播帧,网桥会把广播帧向该 帧的到来端口外的所有其它端口转发
– 广播帧的目的地址代表所连接的局域网的所有目 的主机 – 网桥实现MAC子层的连接,通过网桥连接的 LAN相当于一个大的LAN – 通过网桥连接的站点位于同一个广播域 (broadcast domain),即这些节点能相互接收彼 此的广播帧。
• 根路径花费:对于每个桥,到根桥的具有最少花费的路径(该路 径由网桥的根端口开始)的花费就是桥的根路径花费。 • 选取桥:
– 在每个LAN中都有一个桥被选为选取桥。这个桥是在那个LAN中具 有最少的到根桥的路径花费的桥。 – 只有这个选取桥允许把帧转发给那个LAN或把来自于那个LAN的帧 转发出去。
– 两个站点间的路径将会通过零或多个桥。在每个桥都加上通 过相应端口传输的花费,从而对于每个特定路径有一个总的 花费。 – 在最简单的情况下,所有路径花费都为1;因此一条路径的花 费将是在路上经过的桥的个数。
生成树算法中的基本术语(续)
• 根桥:标识BID最低的网桥被选为生成树的根 • 根端口:
– 每个桥有一条到根桥的具有最少花费的路径,该路径上面的第一个 跳段所使用的端口就是根端口。 – 如果有两个端口有同样的花费,则选择具有更低端口号的端口,以 保证建立一个唯一的生成树。
– 单播帧的广播风暴
• 假设两个桥都还不了解站点B的存在,并且A传输一个到B的 帧 • 每个桥收到这个帧后由于没有B的信息会扩散到LAN Y上, 并且被另一个网桥收到后进一步扩散到LAN X,如此继续 形成单播帧的风暴
生成树算法
• 解决路由回路的方法是让网桥互相通信,并且 构造一棵到达每个LAN的生成树,路由根据生 成树来进行
网桥的工作过程(示例)
• • 学习:站点A给B发送数据,网桥通过察看帧的源 地址了解到A在端口1,过滤数据库中加入<A,1>。 扩散:网桥并不知道B在何处,因此把帧向所有其 它端口(即端口2和3)进行扩散。
A 端口1 Hub
B 端口2
Bridge 端口3 C D
网桥的工作过程(示例)
• 转发:B收到A发过来的帧之后,可能会进行回应, 即B发送数据给A,这个时候网桥察看源地址了解 到B在端口2上,加入表项<B,2>,同时帧的目的地 址A在过滤数据库中存在,并且在端口1上,因此B 发回给A的帧向端口1转发。
生成树算法的基本步骤(续)
• 开始所有桥都认为自己是根桥。每个桥都会在它连接 的每个LAN上广播一个BPDU来宣告这个信息
– 其他桥收到该BPDU后,比较根桥ID的大小,如果新的根桥更 小,则更新根桥BID;否则发送一BPDU给新启动的桥,新的 桥将更新根桥。
• 直接连到根桥上的那些LAN上的所有桥可以决定它们 的根端口(那个具有到根桥的最少路径花费的端口)。 这些桥接着在它所连接的其它LAN(除了它的根端口 所在的其它LAN)上广播一个BPDU,在转发BPDU时 更新其中包括的根路径花费,宣称它离根桥有一个跳 段。
笫4讲 讲 网桥和交换机
本讲内容
第四章 局域网
4.6 局域网互连
4.6.1 网桥 4.6.2 局域网交换机 4.6.3 虚拟局域网
4.6 局域网互连
• 转发器和集线器:
– 物理层的设备 – 通过集线器连接起来的局域网属于同一个冲突域, 这也意味着所有的节点都共享带宽 – 所能连接的站点数是有限制的,比如10BaseT局域 网的站点最多有1024个 – 它所覆盖的范围仍然是有限的,要求遵循5-4-3原则
• 网桥:
– 第二层(数据链路层)的设备 – 提供网段间的隔离功能
4.6.1 网桥
• 网桥(bridge)最早是设计为把那些具有相同的物理层 和媒体访问子层的局域网(比如都符合IEEE 802.3)互 连起来而设计的 • 桥适合于不是非常复杂的局域网之间的互连,它工作 在OSI模型中的第二层 • 桥提供一种对LAN的扩展,实现MAC子层的连接。 • 桥对遵循IEEE 802标准的局域网是完全透明的:
网桥的功能
• 网桥的作用是通过其“过滤和转发”功能来实 现的,当网桥收到一个MAC帧时,它检查该帧 的源地址和目的地址
– 如果目的站点和源站点是在同一网络之上,则不对 其进行转发,这起到了相应的“过滤”作用。 – 否则根据它所保持的路由表选择正确的网络来进行 “转发”。
• 网桥可能具有“学习”功能,应该能够动态地 了解别的局域网或网桥的状态,帮助其进行自 我配置工作。
A 端口1 Hub
B 端口2
Bridge 端口3 C D
网桥的工作过程(示例)
• 过滤:现在站点C向A发送数据,由于A、C和网桥 连接到同一个集线器上,网桥也会收到该帧,察看 源地址C,记录C在端口1,加入表项<C,1>,同时 目的地址A在过滤数据库中并且所在的端口正是收 到该帧的端口,因此不进行转发。
– 不需要对连接在这些LAN上的站点的通信软件进行修改 – 对于在两个或多个LAN中的所有站点来说,就好象存在一个 单一的LAN
为什么要采用网桥?
• 为什么不是简单的采用一个大的LAN而是通过网桥连 接多个LAN?
– 无序性:可能已经有多个LAN存在 – 可靠性:故障可能导致整个LAN陷于瘫痪 – 性能:LAN中所有站点共享带宽,同时其性能随着连在其上 的设备的数量或媒体长度的增加而降低 – 站点数:受电气特性和MAC的制约,LAN连接的站点数目是 有限的 – 地理考虑:局域网覆盖的范围是有限的,考虑要连接的站点 在地理位置上较分散且相距较远的情况 – 安全:网卡可以工作在混杂方式,可以监听LAN上发送的所 有帧
• 为了提高可靠性,LAN之间会连接多个网桥, 同时也带来路由回路
– 广播帧带来的广播风暴:
• 假设站点A发送一个广播帧,网桥α和β都会收到这个广播 帧,并把广播帧转发到LAN Y上。然后又被网桥 α和β收到 并转发到LAN X,如此往复
– 单播帧也会带来问题
网桥α
站点B
LAN Y
网桥β
LAN X 站点A