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