【计算机网络篇】数据链路层(11)在数据链路层扩展以太网

文章目录

🍔使用网桥在数据链路层扩展以太网

使用集线器在物理层扩展共享式以太网会形成更大的碰撞域,实际上,在扩展共享式以太网的时候,为了避免形成更大的碰撞域,可以使用网桥在数据链路层扩展共享式以太网。

网桥工作在数据链路层,也包含其下的物理层,而集线器仅工作在物理层

由于网桥工作在数据链路层(包含其下的物理层),因此网桥具备属于数据链路层范畴的相关能力

🥚网桥的主要结构和基本工作原理

使用网桥将2个使用集线器的共享式以太网连起来,就会形成一个覆盖范围更大,站点更多的以太网

而原来的2个共享式以太网,分别成为这个更大的以太网的一个网段,并且各自是一个独立的碰撞域

🎈网桥的主要结构

其中,转发表是网桥转发帧的依据,里面记录有网桥所知道的网络中各主机的MAC地址与自己的各接口的对应关系

网桥收到帧后,会在自身的转发表中进行查找目的帧的MAC地址,根据查找结果来转发或丢弃帧

🔎网桥转发帧的例子

假设主机A给D发送单播帧,该单播帧被集线器转发给主机B C以及网桥

主机B C中的网卡根据该单播帧首部中的目的MAC地址可知这不是发送给自己的帧,于是将其丢弃

网桥从自己的接口1收到该单播帧后,在转发表中查找主机D的目的MAC地址D,根据查找结果可知,应从接口2转发该帧,于是就把该帧从自己的接口2转发给另一个网段,使主机D能够收到该帧

主机D中的网卡根据该单播帧首部中的目的MAC地址可知,这是发送给自己的帧,于是接收该帧。而自己E和F中的网卡根据该单播帧首部的目的MAC地址可知,这不是发送给自己的帧,于是将其丢弃

🔎网桥丢弃帧的例子

假设主机A给C发送单播帧,该单播帧被集线器转发给主机B C以及网桥,主机B中的网卡根据该单播帧首部的目的MAC地址可知,这不是发送给主机的帧,于是将其丢弃。而主机C中的网卡,根据该单播帧首部的目的MAC地址可知,这是发送给自己的帧,于是接受该帧

网桥从自己的接口1收到该单播帧后,在转发表中查找主机C的目的MAC地址C,根据查找结果可知,应从接口1转发该帧

然而网桥正是从接口1收到该帧的,这表面主机C和主机A在同一个网段,主机C能够直接收到这个帧,而不需要依靠网桥的转发,因此网桥会丢弃该帧

🔎网桥转发广播帧的例子

假设主机A发送了一个广播帧,广播帧的目的MAC地址为全F,该广播帧被集线器转发给主机B C以及网桥,主机B和C中的网卡会接受该帧

网桥从主机的接口1收到该广播帧,不用查找转发表,而是会通过除接受该帧的接口的其他接口转发该广播帧,该广播帧通过集线器的转发,到达该网段中的各主机,各主机中的网卡接受该广播帧

🥚透明网桥

我们上述提到的转发表,是通过透明网桥产生的

🔎透明网桥的自学习和转发帧的流程

如图所示,使用网桥将原本独立的2个使用集线器的共享式以太网连接起来,就可以形成一个覆盖范围更大,站点数量更多的以太网

为了简单起见,我们把主机A ~ F各自网卡的MAC地址分别记为A ~ F

网桥上电启动后,其转发表是空的,网桥需要在网络中各站点相互通信的过程中,通过自学习来建立自己的转发表

假设主机A给B发送单播帧,与主机A处于同一网段中的主机B和C以及网桥的接口 1 都会收到该单播帧

主机B中的网卡根据该单播帧的目的MAC地址B可知,这是发送给自己的帧而接受该帧

自己C中的网卡根据该单播帧的目的MAC地址B可知,这不是发送给自己的帧,于是将其丢弃

网桥从接口1收到该单播帧后,实现进行自学习,也就是进行登记,登记的内容为帧的源MAC地址A和该帧进入网桥的接口号1,之后,网桥要对该单播帧进行转发,网桥在自己的转发表中,查找该单播帧的目的MAC地址B,但没有找到,只能进行盲目地转发,也就是说 网桥只能通过除接收该单播帧的接口1以外的其他接口转发该单播帧

(对于本例,其他接口只有接口2,因此,该单播帧会从网桥的接口2转发到另一个网段,该网段中的自己D E F收到该单播帧后并将其丢弃)

之后,假设主机D给A发送单播帧,与主机D处于同一网段的主机E和F以及网桥的接口2都会收到该单播帧,主机E和F中的网卡根据该单播帧的目的MAC地址A可知,这不是发送给自己的帧,而将其丢弃

网桥从接口2收到该单播帧后,实现进行自学习,也就是进行登记,登记的内容为:帧的源MACQ地址D和该帧进入网桥的接口号2。

之后,网桥要对该单播帧进行转发,网桥在自己的转发表中,查找该单播帧的目的MAC地址A,可以找到相应的记录

从记录的接口号部分可知,应从接口1转发该帧,这属于明确地转发

该单播帧从网桥的接口1转发到另一个网段,该网段中的主机A收到并接受该单播帧,而主机B和C收到该单播帧后并将其丢弃

之后,假设主机C给A发送单播帧,与主机C处于同一网段中的主机A和B以及网桥的接口1都会收到该单播帧

主机A中的网卡根据该单播帧的目的MAC地址A可知,这是发送给自己的帧而接受该帧

主机B中的网卡根据该单播帧的目的MAC地址A可知,这不是发送给自己的帧而丢弃该帧

网桥从接口1收到该单播帧后,首先进行自学习,也就是进行登记,登记的内容为帧的源MAC地址C和该帧进入网桥的接口号1

之后,网桥要对该单播帧进行转发,网桥在自己的转发表中查找该单播帧的目的MAC地址A,可以找到相应的记录,从记录的接口号部分可知,应从接口1转发该帧,然而网桥正是从接口1接收的该帧,这表面主机A与C在同一个网段,A能够直接收到该帧,而不需要借助于网桥的转发,因此网桥丢弃该帧

在本例中,如果网络中的各主机陆续都发送了帧,则网桥会逐步建立起完整的转发表,即网桥的每个接口,都与网络中哪些主机的MAC地址对应

🗒️小结

🔎透明网桥的生成树协议STP

为了提高以太网的可靠性,有时需要在2个以太网之间使用多个透明网桥来提供冗余链路

如下图所示,E1和E2是两个独立的共享总线型以太网,使用网桥B1将它们互联起来,就形成了一个更大的以太网

为了提高该以太网的可靠性,还使用了一个冗余的网桥B2,将E1和E2进行了连接

很显然,添加B2后,以太网中出现了环路

如果以太网的E1或E2中的某个主机发送了一个广播帧,则该广播帧就会在网桥B1和B2构成的环路中按顺时针和逆时针2个方向永久兜圈

很显然,会永久兜圈,造成广播帧充斥整个网络,网络资源被白白浪费,而网络中的主机之间无法正常通信


通过本例可以看出

📒生成树协议STP

为了避免广播帧在环路中永久兜圈,透明网桥使用生成树协议(Spanning Tree Protocol,STP),可以在增加冗余链路提高网络可靠性的同时,又避免环路带来的问题。

不管网桥之间连接成了怎样复杂的带环拓扑,网桥之间通过交互网桥协议单元(Bridge Protocol Data Unit,BPDU),找出原网络拓扑的一个连通子集(即生成树),在这个子集里整个连通的网络中不存在环路。

如下图所示

网桥B1和B2通过交互BPDU找出了一个连通以太网E1和E2并且不存在环路的生成式,而网桥B2和以太网E2连接的接口并不在该生成式链路上

网桥B2关闭该接口,这样,以太网E1和E2是通过网桥B1连通的

当首次连接网桥或网络拓扑发生变化时(人为改变或出现故障),网桥都会重新构造生成树,以确保网络的连通。

例如网桥B1与以太网E1之间的链路出现了故障,网桥B1和B2通过交互BPDU重新构造了一个可以连通以太网E1和E2的生成树

主要网桥B2重新开启自己与以太网E2的连接接口即可

这样,以太网E1和E2重新通过网桥B2连通

相关推荐
七夜zippoe3 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥3 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
会员源码网3 小时前
理财源码开发:单语言深耕还是多语言融合?看完这篇不踩坑
网络·个人开发
米羊1214 小时前
已有安全措施确认(上)
大数据·网络
Fcy6484 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满4 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
主机哥哥5 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
ManThink Technology5 小时前
如何使用EBHelper 简化EdgeBus的代码编写?
java·前端·网络
珠海西格电力科技6 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
QT.qtqtqtqtqt6 小时前
未授权访问漏洞
网络·安全·web安全