二层交换:网桥(交换机)


二层交换

有很多LAN,如何将它们连接起来?

可用网桥(bridges)将它们连接起来,如下,中间的就是网桥


  • 网桥工作在DLL层,通过检查MAC地址做出转发帧的决策
  • 网桥可以将不同类型的两个LAN连接起来,例如802.11无限→802.3无限网络

会遇到的问题:

  • 不同的帧格式  →  重新封装
  • 不同的数据传输速率  →  Buffering
  • 不同的802LAN有不同的最大帧长度(如802.3为1526 字节,802.11为2346字节)
  • 安全: 802.11和802.16支持数据链路层的加密,但802.3不支持
  • 服务质量:802.11和802.16提供了服务质量,但802.3没有


网桥工作原理

透明的网桥:

  • 通过透明网桥(transparent bridges)将多个LAN连接起来,硬件和软件不需要做任何的变化
  • 透明网桥工作在混杂模式(promiscuous mode),它接收所有跟它相联的LAN的帧
  • 当一个帧到达网桥时,它必须作出丢弃(discard)还是转发(forward)的决策,如果是转发,它还要知道向哪个LAN转发
  • 决策是通过在网桥内部的一张地址表(hash table)中查找目的MAC地址而作出的

网桥如何维护它的内部转发表?

初始时,这张表是空的

  • 扩散算法(泛洪算法,flooding algorithm):当网桥不知道目的地址时(表中查不到),它会将这帧从除来的LAN外的所有LAN转发出去(广播)
  • 逆向学习(backward learning):网桥从到达帧的源地址认识到源地址对应的那台机是在帧来的那个LAN上,把它写入MAC地址表

但是拓扑是变化的,网桥怎样适应这种变化?

  • 无论何时,凡往表中加入记录,也必须同时打下时戳
  • 到达帧的源地址在表中已有记录,将时戳更新为当前时间
  • 网桥周期性地扫描表,将那些超时的记录从表中删除

当一帧到达时,网桥启动如下算法:

  • 如果源LAN和目的LAN相同,则丢弃该帧
  • 如果源LAN和目的LAN不同,则转发该帧
  • 如果目的LAN未知,则广播该帧
  • 每当一帧到达,上述算法都将执行一遍


网桥工作详细过程


如图:A要将信息发送给H,步骤如下:

  1. B1从b11接受到了帧,因为B1刚刚开始工作,无法查到该帧目的地的MAC地址,所以只好将该帧扩散出去
  2. B1还要逆向学习,它从帧提取出源地址为A,该帧从b11窗口到达,所以B1会将A和b11写入地址表里
  3. 紧接着B2接受到了帧,它一样会扩散信息,并且逆向学习
  4. H收到了帧,其它地址收到了由于不是自己的帧直接丢弃

紧接着H回传消息给A,步骤如下:

  1. B2从b24接收到了帧,因为已经记录了A的地址,所以B2会直接将帧进行定向转发(而不再广播)
  2. 同时B2还要逆向学习,记录H对应b24窗口
  3. B1同理



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值