前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络设备硬核技术内幕 交换机篇 2 御剑术大破飞龙探云手

网络设备硬核技术内幕 交换机篇 2 御剑术大破飞龙探云手

作者头像
用户8289326
发布2022-07-27 12:55:16
4820
发布2022-07-27 12:55:16
举报
文章被收录于专栏:帅云霓的技术小屋

却说上回,我们讲到,以太网内部的主要矛盾,已经上升为不断递增的终端数与有限的半双工信道之间的矛盾。

在一个冲突域中,终端数过多,会导致通信效率严重下降。

此外,以太网为代表的剑宗中,还盛行一种叫做“飞龙探云手”的邪术,修炼该邪术的弟子,可以将自身设为混杂模式,并不丢弃不属于自身(目的地址为自己)的数据包,而是监听所有的数据包。这种邪术来无影,去无踪,可以随意监听他人的通讯,严重威胁到以太网的安全,学名曰:Snipper(嗅探器)。

人们思考的解决之道是,尽量想办法减小冲突域。

武林中的鲑鱼派(CISCO)提出,严格限制每个以太网内部的终端数(控制在10个以内),多个以太网通过路由器互联互通。

CISCO作为路由器界的领军,自然希望通过此种手段多销售路由器,从而称霸于江湖。

而3COM则提出,利用一种装置,将以太网的冲突域分割为若干子网,只有去往特定子网的数据包,才需要送到这个子网。

最初,这种装置叫做“网桥”(Network Bridge)。网桥最早是由一台装有双网卡的计算机充当,如下图所示:

如图,当以太网网桥从上半部分子网收到应当去往下半部分的数据包时,会通过下半部分的网卡转发,反之亦然。

当我们把网桥做大,具有4个,5个,8个……直至数十个以太网接口时,我们给它起了一个新的名字——以太网交换机(Ethernet Switch)。

3COM发明了以太网交换机,正如李逍遥像酒剑仙学习了御剑术一般,可以同时驾驭多柄宝剑为己所用。

交换机的行为模式遵循以下规则:

  1. 当从一个接口收到数据报文的时候,根据目的MAC地址,匹配转发表项,找到目的接口并发送,同时,将数据包的源地址和入接口记录在转发表项数据库中;
  2. 如果找不到目的MAC地址所在的转发表项,(未知单播)则向每个接口复制一份这个数据包并发送(泛洪);
  3. 对于广播数据包和组播数据包,也向每个接口复制一份这个数据包并发送(泛洪)。

——且慢,大家看看这里面有什么错误?

如果两台交换机互相连接,一台交换机将收到的未知单播报文发送到所有接口,包括这个报文的入接口,会发生什么呢?

这个报文的入接口连接的交换机,会重新收到这个数据报文,并且依然找不到MAC表项,向所有接口泛洪。数据包送到另一台交换机,又被回送,如此这般,无限循环。

因此,我们需要在这个规则打一个补丁——

  1. 当从一个接口收到数据报文的时候,根据目的MAC地址,匹配转发表项,找到目的接口并发送,同时,将数据包的源地址和入接口记录在转发表项数据库中;
  2. 如果找不到目的MAC地址所在的转发表项,(未知单播)则向除了入接口以外的每个接口复制一份这个数据包并发送(泛洪);
  3. 对于广播数据包和组播数据包,也向除了入接口以外的每个接口复制一份这个数据包并发送(泛洪)。

这种机制叫做Flood-and-learn机制。

有了这种机制,两台计算机之间的通讯,只有第一个包需要泛洪,后面的数据包都可以通过交换机,精确地转发到它应该去的端口。

我们发现,在早期基于HUB的共享式以太网中,盛行的“飞龙探云手”,在基于交换机的交换式以太网中,再也没有用武之地了。只有在诊断网络故障或经授权合法监听的时候,可以通过交换机的端口镜像功能捕捉特定的数据包,这是后话。

这就是:御剑术大破飞龙探云手

很快,御剑术盛行江湖,3COM也获得了“酒剑仙”之名。后人有诗赞曰:

御剑乘风来,除魔天地间。

有酒乐逍遥,无酒我亦癫。

首包需泛洪,后续精准送,

转发达线速,唯我酒剑仙。

然而,我们留下了一个疑问——

最初的网桥是在计算机上安装双网卡实现的,而交换机一般都具有至少4个以太网接口,中高端盒式交换机可达50个以上,而框式交换机的接口数可达数百个。显然,不可能通过在计算机上安装这么多网卡来实现。

那么,拥有数百个接口的交换机是如何实现的呢?

且看下回分解。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档