【计算机网络】单播帧和广播帧在一个局域网内部的传播过程

我们引入这样的一个模型。

路由器可以连接多个网络,在路由器的这一端,我们用交换机集线器连接了很多节点。

这些节点共同组成了一个局域网。

而路由器的另外两个端口又分别连接了其他的网络。MAC地址这个概念是数据链路层才拥有的东西,物理层是没有MAC地址这个概念的。我们知道集线器它工作在物理层。而交换机,它的功能包含了物理层和数据链路层 。那既然交换机涉及到了数据链路层,因此交换机肯定有MAC地址

那同样的道理,路由器需要实现物理层、数据链路层甚至网络层的功能,所以对于路由器而言。它涉及到了数据链路层的功能,因此它也会有MAC地址。所以在网络当中不只是这种终端节点,拥有MAC地址。其实,交换机和路由器也拥有MAC地址,甚至交换机路由器这两种设备,它们会包含多个MAC地址。比如一个交换机,可能是这么设计的,每一个网线接口的背后都会有一个网络适配器,而我们知道每一个网络适配器都会有一个MAC地址。所以如果交换机,它有多个网线接口,那么每个网线接口都会对应一个MAC地址。路由器也是一样的道理,当然有些情况下可能多个网线接口会共用一个MAC地址。

不过这儿我们就暂且先不展开。总之这儿想强调的是交换机有MAC地址,路由器有MAC地址。还有这些终端节点有MAC地址,但是集线器没有MAC地址。接下来我们看一个单播帧如何传输。

单播帧:

A -> C 仅C能收到并接收帧

A -> F E、F、G 能收到,仅F会接收帧

E -> A F、G、A 能收到,仅A会接收帧

E -> F F、G能收到,仅F会接收帧

假设现在A节点要给C节点发送一个单波帧。那么,根据刚才学习的这个以太网帧的结构,662n4收发协数验。A节点在构造一个帧的时候,最开始的六个字节需要写明接收方,也就是C节点的MAC地址。紧接着,后面的六个比特需要写明发送方,也就是A节点自己的MAC地址。用这样的方式构造一个MAC帧之后,这个MAC帧首先会发送给交换机,交换机会检查这个MAC帧的接收方的地址,那根据接收方的MAC地址,这个MAC帧会被转发到相应的端口。所以A给C发送一个单播帧,这个动作的背后只有C节点会收到这个单播帧。

接下来如果A要给F发送一个单播帧,那么同样的在这个帧里边。也要写明这是A发给F的。那么这个针帧同样的也需要先交给交换机,那么交换机经过检查发现,数据的接收方F它连接的是右边这个端口,所以它会从这个端口把数据帧转发出去,

接下来对于集线器来说。他不会去判断数据帧的接收方MAC地址到底是多少,他只会无脑的把自己收到的这些曼彻斯特编码,这些物理层的信号,无脑的转发给自己连接的各个端口。

因此A发给F的这个数据帧会被E会被F会被G都给收到。但是只有F这个结点会接收这个帧。因为这三个结点收到帧之后都会检查接收方是不是自己,如果跟自己没关系,那么就直接把这个帧给丢弃。这是A给F发送单播帧。

接下来看E给A发送单播帧,那E发送的帧先传给集线器,集线器会无脑的,把这个它收到的这些物理层的信号全部转发出去,

所以F和G这两个节点肯定也会收到E给A发送的单播帧。那么这个帧从集线器的左边这儿转发给交换机之后。交换机,它会检查接收方是谁,接收方是A节点,那么交换机就会把这个帧这个单播帧从这个端口转发出来。

所以A结点会收到帧,并且把帧给接收下来。这是E给A发送。

接下来假设E给F发送一个单播帧。那么这个帧。到集线器这儿无脑的转发出去,F会收到G也会收到。但是只有F节点会把这个帧接收下来。另外这个交换机也会收到E给F发的这个帧。但是检查接收方的地址F它连接的端口刚好就是数据进来的这个端口,所以交换机并不会把收到的这个帧重新转发回去,没有必要,

那当然,也不会转发到其他端口,所以E给F发送的帧就是FG能收到,

然后F会接收这个帧。这是单播帧,接下来看两个广播帧的例子,

我们说662n4收发协数验,如果把接收方的地址也就是目的地址全部写为一的话,那么表示这个帧是要广播给局域网内的每一个节点的。现在假设A节点发送了一个广播帧,这个广播帧的目的地址全部为一。那么,这个广播帧首先到了交换机这个地方,交换机检查发现,它是一个广播帧,

那接下来它会把这个广播帧转发到,其他所有的端口,也就是上面这条路会转发这个广播帧,B节点,C节点D节点还有集线器这边都会收到这个广播帧

那那对于集线器来说。他会无脑的把这些物理层的比特信号再一次的转发,转发给与它相连的所有的结点,

所以A结点发送的广播帧会被BCD、EFG还有路由器R,会被所有的这些节点所接收。那值得注意的是,当路由器接收到一个广播帧之后,它并不会把这个广播帧转发到其他的网络。

所以我们说只有同一个局域网内的各个节点才属于同一个广播域,也就说A节点发送的广播帧只能传播到同一个局域网内的各个节点。一旦到路由器这一块,路由器就不会再转发到其他的局域网了。

就是这个意思,那了解了这些之后,我们来看2020年的35题,

问我们在这个网络当中冲突域和广播域的个数分别是多少个?那冲突域我们之前介绍过,如果两个节点同时发送数据的时候会导致冲突,

冲突域:如果两个节点同时发送数据,会导致冲突,则二者处于同一个"冲突域"
广播域:如果一个节点发送广播帧,可以被另一个节点接收,则二者处于同一个"广播域"

那么二者就处于同一个冲突域。那我们知道,只要集线器相连接的结点就肯定只能半双工通信。也就是说连接同一个集线器的两个结点肯定是属于同一个冲突域。这是冲突域的概念。而广播域的概念就是说如果一个节点发送广播帧,可以被另一个节点所接收。那么,二者处于同一个广播域。那通过刚才的学习,我们知道这个以太网交换机,它会把广播帧转发到所有的端口。而路由器收到广播帧之后,它就不会再继续转发广播帧,那显然冲突域和广播域的个数分别是四和二。如下图所示,这两台电脑连接了同一个集线器,它俩属于同一个冲突域。这儿是一个冲突域①,这儿是一个冲突域②,这儿是一个冲突域③,总共有四个冲突域

那交换机是可以隔离冲突域的,因为交换机这边收到一个数据之后,它不会无脑的把它转发到另一个端口,它会先检查自己收到的这个数据帧有没有必要去转发。所以有了交换机的存在。当左边这台电脑。在发送数据的时候,其实右边这台电脑也可以发送数据,二者是不会冲突的。

所以我们说交换机隔离了冲突域。那接下来再来分析广播域有几个,我们看如果这个节点发送一个广播帧。那么这个广播帧首先到集线器这儿,集线器无脑的转发,这个节点会收到,除此之外,这个广播帧也会发到交换机这个地方。

那交换机检查发现,这是一个广播帧,所以它会把它转发到其他连接的端口,那么通过下面这一台集线器又会转发给这两个节点,而对于路由器来说,当它收到这个广播帧的时候,它不会继续转发广播帧

所以左边这个部分应该属于同一个广播域。那相应的,右边这个部分也属于同一个广播域,因此广播域的数量就是两个,这个题目选择c选项。

因此我们可以得到这样的结论,

以太网交换机,它可以隔离冲突域,但是不隔离广播域。

而路由器这种设备,它既隔离冲突域,也隔离广播域。

集线器这种设备,它既不隔离冲突域,也不隔离广播域。

这是三种设备的特性。

相关推荐
zquwei15 分钟前
SpringCloudGateway+Nacos注册与转发Netty+WebSocket
java·网络·分布式·后端·websocket·网络协议·spring
爱吃西瓜的小菜鸡15 分钟前
【C语言】判断回文
c语言·学习·算法
Aimin202229 分钟前
路由器做WPAD、VPN、透明代理中之间一个
网络
小A15938 分钟前
STM32完全学习——SPI接口的FLASH(DMA模式)
stm32·嵌入式硬件·学习
群联云防护小杜1 小时前
如何给负载均衡平台做好安全防御
运维·服务器·网络·网络协议·安全·负载均衡
ihengshuai1 小时前
HTTP协议及安全防范
网络协议·安全·http
岁岁岁平安1 小时前
spring学习(spring-DI(字符串或对象引用注入、集合注入)(XML配置))
java·学习·spring·依赖注入·集合注入·基本数据类型注入·引用数据类型注入
武昌库里写JAVA1 小时前
Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
java·开发语言·spring boot·学习·课程设计
qq_589568101 小时前
数据可视化echarts学习笔记
学习·信息可视化·echarts
爱码小白1 小时前
网络编程(王铭东老师)笔记
服务器·网络·笔记