网桥与以太网交换机
网桥(bridge)
功能:在数据链路层扩展以太网
特征:
- 工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发
- 具有帧过滤功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口
- 具有自学习功能
注:IEEE802系列标准把数据链路层分成LLC(Logical Link Control,逻辑链路控制)和MAC(Media Access Control,介质访问控制)两个子层。上面的LLC子层实现数据链路层与硬件无关的功能,比如流量控制、差错恢复等;较低的MAC子层提供LLC和物理层之间的接口
优点:
- 过滤通信量
- 扩大物理范围
- 提高可靠性
- 互联不同物理层、不同MAC子层、不同速率的局域网
缺点:
- 存储转发增加时延
在转发帧之前必须执行CSMA/CD算法。若在发送过程中出项碰撞,则必须停止发送和进行退避
- 在MAC子层没有流量控制功能
- 具有不同的MAC子层的网段桥接在一起时时延更大
- 当用户过多时,因传播过多的广播信息有时会引起广播风暴
网桥分类为以下三种:
透明网桥
“透明”是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。
透明网桥是一种即插即用设备,其标准是 IEEE 802.1D。
目前使用得最多的网桥。
生成树算法(STA):
有时为了增加网络的可靠性,在使用交换网络时,往往会增加一些冗余链路。此时,在自学习的过程中可能产生环路,为解决此问题,设计了生成树协议STP
在物理上保持冗余线路,在逻辑上切断某些线路
STP的基本思想就是生成“一棵树”,树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。由根桥开始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。当某个端口长时间不能接收到配置报文的时候,交换机认为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。
归纳为以下三个步骤:
选择根网桥
- 网桥ID最小
网桥ID:是一个8Byte的字段,前面2Byte的十进制数为网桥优先级,后6Byte是网桥的MAC地址
选择根端口
选择根网桥后,网络中的每台交换机要和根网桥建立关联,此时STP开始选择根端口。每个非根网桥上存在一个根端口,从而选择出一个根端口
- 到根路径成本最低
- 最小的直连发送方网桥ID
- 最小的发送方端口ID
选择指定端口
选择玩根网桥和根端口后,一个树形结构初步形成,但是所有链路仍连接在一起,并可以处于活动状态,最后导致环路。为了消除这种可能,STP进行最后计算,在每一个网段上选择一个指定端口
- 路径成本最低
- 所在交换机网桥ID最小
- 所在交换机端口ID最小
源路由网桥
多接口网桥(以太网交换机)
转发表(又称交换表、地址表)组成:
- 源地址
- 网桥的接口地址
- 帧进入该网桥的时间
交换表中的每个项目都设有一定的有效时间。过期的自动被删除
网桥按自学习算法建立转发表
原理:
若从主机A发出的帧经过接口1进入某网桥,那么从这个接口出发沿相反方向可把一个帧传送到主机A。
网桥每收到一个帧,就记下其源地址和进入网桥的接口,作为转发表中的一个项目。在建立转发表时是把帧首部中的源地址写在“地址”这一栏的下面。
在转发帧时,则是根据收到的帧首部中的目的地址来转发的。这时就把在“地址”栏下面已经记下的源地址当作目的地址,而把记下的进入接口当作转发接口。
一开始,交换表内容是空的。若A向B发送一帧,从接口1进入交换机,交换机收到帧后,查找交换表,,没有地址信息,接着,交换机吧这个帧的源地址A和接口地址1写入交换表,并向除接口1外的所有接口广播这个帧。C、D将丢弃此帧,只有B收下这个目的地址正确的帧,假定接着从B向A发送一帧,查找交换表,存在A的地址,于是将这个帧通过接口1发送出去,同时转发表中添加(B,2)项目
转发帧时,查找转发表中与收到帧的目的地址有无相匹配的项目
如没有,则通过所有其他接口(但进入网桥的接口除外)进行转发
如有,则按转发表中给出的接口进行转发
若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为这时不需要经过网桥进行转发)