第六讲网桥与交换式局域网周开来西南林学院计算机与信息科学系网桥的诞生当初多种LAN技术发展,需要互连,催生了网桥的诞生以太网令牌环网FDDI……传统网桥性能不高,市场不大基于软件接口数量有限交换机的诞生网桥性能不高,高性能LAN的需求催生了高性能网桥——交换机的诞生交换机就是硬件化的高性能网桥ASIC处理端口密集线速处理、线速过滤极大提高LAN性能交换机是商用名称,标准中仍用网桥目前主流产品:以太网交换机交换式LAN的发展交换机的出现迅速开辟了的市场,极大推动了LAN的发展交换机使LAN性能得到极大提高LAN从信道共享到信道独享LAN通信方式从半双工到全双工LAN的容量增大LAN的范围增大……网桥的主要功能早期网桥的主要功能互连多个不同的LAN网桥分割同类型LAN的不同LAN段现今网桥的作用隔离冲突域中继不同端口的MAC数据帧过滤同一端口的MAC数据帧扩大LAN的范围、提高整体性能早期网桥的主要功能网桥互连多个不同的LAN各个局域网MAC技术和速率均可不同网桥需要做协议转换(现在几乎没有了)网桥分割同类型LAN的不同LAN段网桥站站站站网桥站站站站互连不同的LAN分割不同的LAN段现今网桥的功能网桥隔离冲突域,但不隔离广播域HUB1A站B站HUB2C站D站网桥冲突域冲突域11冲突域冲突域22HUB1A站B站HUB2C站D站网桥隔离冲突域将网络分隔成两个冲突域每一个端口及其相连的站点位于同一冲突域所有站点位于同一冲突域现今网桥的功能中继不同端口的MAC数据帧图中,网桥一定会中继端口1和端口2站点之间的通信即中继A、B和C、D之间通信的MAC帧过滤同一端口的MAC帧图中,A、B之间的MAC帧不会向端口2转发(前提是网桥已知道A、B在同一端口1)同理,C、D之间的通信流量被限制在端口2端口2端口1HUB1A站B站HUB2C站D站网桥现今网桥的功能扩大LAN的范围,提高了网络的容量值得注意的是:网桥互联不能无限扩大LAN范围受到两个条件的制约:生成树协议的限制:建议网络直径最多8段另外,网络越大,形成广播风暴的可能越大网桥工作的特点即插即用对站点透明网桥的加入并不影响站点的工作站点不能感知网桥的存在网桥对站点间MAC数据帧的中继对站点透明特别注意站点之间通信时,使用站点的MAC地址,而与网桥的MAC地址无关网桥体系结构用户PHYMACLLCMACPHYPHY用户PHYMACLLC网桥协议结构网桥基本协议模型基本模型结构仅有MAC层和物理层,没有高层仅有MAC中继实体和端口MAC实体功能:转发、过滤MAC帧,学习MAC地址网桥的系统结构网桥端口MAC地址与网桥MAC地址(补充)网桥端口地址网桥各个端口的MAC实体使用48位的MAC地址网桥每个端口使用各自的MAC实体的地址网桥唯一标识每个网桥都有一个48位唯一地址作为网桥地址可以用网桥某个端口的MAC地址作为网桥地址建议使用最低编号端口(Port1)的MAC地址网桥唯一标识:网桥地址+可配置优先级注意:桥接局域网上端站之间通信时目的地址是目的站的MAC地址,而不使用网桥的地址而目的地址是网桥MAC地址的帧都将递交网桥高层协议处理通常用作网桥的管理、拓扑控制等网桥的运行原理1运行基本要素2帧接收3转发过程4学习过程5帧发送6帧处理7网桥地址1网桥运行的基本要素网桥是一种MAC层转发设备网桥的主要工作包括中继MAC帧或过滤MAC帧建立与维护用于中继帧或过滤帧判定的过滤数据库管理上述功能网桥的运行涉及帧的接收(端口MAC实体完成)帧的发送(端口MAC实体完成)学习过程(中继MAC实体完成)转发过程(中继MAC实体完成)1网桥运行的基本要素帧的过滤从一个端口收到的某些帧不转发到另一端口例如:目的、源地址在同一端口,则不转发这样就实现了流量的隔离帧的中继在各个端口之间转移MAC用户数据帧动作包括:接收有效帧、转发、排队、发送帧等过滤与中继决策所需信息的维护过滤数据库(MAC地址过滤表)通过反向学习法(自学习法)建立1网桥运行的基本要素网桥运行需要重点讨论的内容如何正确收发MAC帧?如何判定需要进行帧过滤或转发?如何实现帧过滤?如何实现转发,从哪个端口转发?网桥如何学习MAC地址?如何管理MAC地址信息?2帧接收各端口MAC实体接收无差错帧并生成指示原语使用原语:M_UNITDATA.indications将收到帧的源地址通知学习过程若收到帧的目的地址非本网桥地址,则递交转发过程若收到帧的目的地址为本网桥(单播,桥组播,广播),递交网桥高层协议处理3转发过程转发过程的工作:帧中继与帧过滤转发决策对于广播帧,除入端口以外的所有端口转发对于单播和组播帧,查询过滤数据库,匹配目的地址决定:过滤库中有匹配目的地址与源地址在同一端口,过滤该帧,不转发目的地址与源地址在不同端口,按库中出端口转发过滤库中无匹配除了入端口外,向所有端口转发转发过程动作帧排队、选择队列发送、优先级映射、等等4学习过程源地址学习(逆向学习法)网桥查看每个端口收到帧的源地址,将源地址和端口号记录到过滤库中当下次该站点作为目的地址时,直接查表从记录的端口转发结论:当站点发送帧时,网桥就学习到该站的MAC地址,以及位于网桥的那个端口号对库中动态过滤表项进行更新或建立学习源地址并记录入库的条件接收端口处于学习或转发态(如果开启了生成树协议)此地址不在静态过滤表项中过滤表项数尚未超过库容量5帧发送出端口MAC实体发送的帧可能源于MAC中继实体需要转发的帧高层实体需要出端口MAC实体发送的帧对于需要转发的帧,MAC中继实体使用ISS提供的服务,通过M_UNITDATA.request原语,递交给出端口MAC实体对于高层实体需要端口MAC实体发送的帧,高层通过层间接口,使用M_UNITDATA.request原语,递交给出端口MAC实体网桥收到一个有效、无错MAC帧DA地址判别,决定递交高层还是递交转发过程递交学习过程若DA是广播地址若DA是本端口地址或桥组地址若DA是非桥本端口地址或非桥组地址递交高层处理递交转发过程若SA不在过滤库中若SA在过滤库中添加SA过滤表项若端口号不变,更新老化时间若端口号改变,更新端口号和老化时间若为单播帧若为组播帧若为广播帧过滤库中有DA表项过滤库中无DA表项过滤库中有DA表项过滤库中无DA表项除源端口外的其他端口转发DA与SA端口相同DA与SA端口相异按过滤表项中指定端口转发过滤该帧按过滤表项中指定端口转发SA:源MAC地址DA:目的MAC地址6帧处理小结网桥互联多个LAN123网桥101网桥102网桥103网桥1044567帧转发1.查找出X端口之外的其他转发数据库2.如果没有发现,则丢弃3.如果在Y端口发现目标,且Y端口没有阻塞,则从Y端口转发。否则丢弃地址学习静态路由动态路由1.检查端口接收到的数据帧,记录其中的原MAC地址,存入数据库,2.数据库的每一项,都配有一个定时器,如果超时则被自动删除。地址学习1.端口X检查流入该端口的帧,2.若帧的原MAC地址不在X的端口数据库中,则添加新记录。3.若在数据库中,则更新定时器。4.定时器超时,则删除该记录地址学习-MAC地址表InitialMACaddresstableisempty.基本交换原理-地址学习StationAsendsaframetostationC.SwitchcachestheMACaddressofstationAtoportE0bylearningthesourceaddressofdataframes.TheframefromstationAtostationCisfloodedouttoallportsexceptportE0(unknownunicastsareflooded).基本交换原理-地址学习(续)StationDsendsaframetostationC.SwitchcachestheMACaddressofstationDtoportE3bylearningthesourceaddressofdataframes.TheframefromstationDtostationCisfloodedouttoallportsexceptportE3(unknownunicastsareflooded).基本交换原理-过滤StationAsendsaframetostationC.Destinationisknown;frameisnotflooded.基本交换原理-过滤(续)StationAsendsaframetostationB.TheswitchhastheaddressforstationBintheMACaddresstable.基本交换原理-广播与多播StationDsendsabroadcastormulticastframe.Broadcastandmulticastframesarefloodedtoallportsotherthantheoriginatingport.网络中存在的单点故障故障网络中的单点故障可导致网络的无法访问网络中的单点故障可导致网络的无法访问交换网络中的冗余链路故障在网络中提供冗余链路解决单点故障问题在网络中提供冗余链路解决单点故障问题冗余链路出现的问题—环路发送一个广播帧广播风暴广播风暴冗余链路会造成网络环路冗余链路会造成网络环路,,当交换网络中出现环路会产生广播风暴、多帧当交换网络中出现环路会产生广播风暴、多帧复制和复制和MACMAC地址表不稳定等现象。严重影响网络正常运行。地址表不稳定等现象。严重影响网络正常运行。多帧复制和MAC地址表不稳定SwitchAPC1F0/3F0/5PC1在我的F0/3口PC1在我的F0/5口去往PC1的帧去往PC1的帧环路分解—生成树算法环路破环了网桥的数据库,使得网桥无法获得正确的转发信息。站A站B网桥a网桥b环路分解站A站B网桥a网桥b有环路的网路生成树协议生成树协议概述生成树协议(spanning-treeprotocol)由IEEE802.1d标准定义生成树协议的作用是为了提供冗余链路,解决网络环路问题生成树协议通过SPA(生成树算法)生成一个没有环路的网络,当主要链路出现故障时,能够自动切换到备份链路,保证网络的正常通信生成树协议-原理生成树协议(SpanningTreeProtocol-STP),两个标准:802.1D、802.1w。生成树协议(802.1D)的目的是在保证提供冗余链路的前提下避免产生环路。如何实现?交换机必须能够相互了解它们之间的连接情况,为了让其他的交换机知道它的存在,每台交换机向网络中BPDU(Bridgeprotocoldataunit)的数据帧,如果某台交换机能够从两条或多条链路上收到同一台交换机的BPDU,则说明它们之间存在着冗余路径,就会产生环路。当存在环路时,交换机则使用生成树算法选择一条链路传递数据,并把某些相关的端口置于阻塞(Blocking)状态以将其他的链路虚拟地断开,一旦当前正在使用的链路出现故障,就会把某个阻塞的端口打开以接替原来的链路工作。BPDU报文结构(1)STP通过BPDU(BridgeProtocolDataUnit)报文来学习网络拓扑结构。BPDU报文的目标MAC地址为:01-80-C2-00-00-00.BPDU报文在直连的两个网桥或多个网桥内交换,不能被转发。没有运行STP协议的网桥将把BPDU报文当作普通业务报文转发。BPDUBPDUSwitchCSwitchCSwitchBSwitchBBPDUBPDUBPDU报文结构(2)DMA:目的MAC地址目的地址是一个固定的桥的组播地址(0x0180c2000000)SMA:源MAC地址即发送该配置消息的