【数据链路层】组播、广播、单播
【数据链路层】组播、广播、单播
在计算机网络中,单播、广播和组播是三种基本的网络通信方式,它们在数据传输和网络管理中扮演着重要的角色。下面分别解释这三种通信方式:
单播(Unicast)
含义以及作用
定义:单播是指发送方将数据发送给一个特定的接收方。在这种情况下,每个数据包都是单独发送给一个特定的接收方。
特点:单播是一对一的通信方式,每个数据包只发送给一个接收者。这种方式在需要确保数据准确送达特定接收者时非常有用。
类比场景:例如在一个空间中有很多人,我直接和小明沟通,说"小明,我有个消息和你说"
单播规则
上图显示,设备1 使用单播目标IP和目的MAC地址转发数据包。发送给单个设备(明确目标地址)。
单播帧,会比较目的MAC是否一致。若接收设备比较目的MAC和自己是一致的,并且IP也是一致的。就会剥离数据头部将用户数据传给上层处理。若接收设备比较目的MAC和自己的不一致,则将报文丢弃。
广播(Broadcast)
含义以及作用
定义:广播是指发送方将数据发送给同一网络内的所有接收方。在这种情况下,数据包会被发送到网络中的每一个设备。
特点:广播是一对多的通信方式,数据包会被复制并发送给所有设备。这种方式在需要通知网络内所有设备某些信息时非常有用。
应用场景:例如,网络管理员可能需要广播一条消息给网络内的所有设备,或者在某些网络协议中,设备在启动时会发送广播消息来发现其他设备。
广播规则
广播帧,将报文发送给所属广播域内的所有设备(目标地址不明确),因此广播目的MAC为FFFF:FFFF:FFFF:FFFF,广播IP为192.168.1.255
只要在这个广播域内的所有设备都会接收到该报文。但是接收设备收到了不一定会回复。
在网络设备中,下面三种设备对广播域做不一样的处理:
集线器HUB不能分割冲突域和广播域 (所有接口都属于一个冲突域和广播域)
交换机Switch能够分割冲突域不能分割广播域(每个接口都是单独的冲突域)
路由器Router能够分割冲突域和广播域(每个接口都是一个广播域)
组播(Multicast)
含义以及作用
定义:组播是指发送方将数据发送给一组特定的接收方。在这种情况下,数据包会被发送到一个特定的组地址,只有加入了这个组的设备才会接收这些数据包。
特点:组播是一对多的通信方式,但与广播不同,组播数据包只会发送给那些明确表示有兴趣接收这些数据的设备。这种方式在需要将数据发送给一组特定的接收者时非常有用,同时避免了不必要的数据传输。
应用场景:例如在一个空间中有很多人,我直接大声喊,“喜欢打游戏的接收信息。”
组播规则
组播 发送给一组目标 MAC地址为01-00-5e,IP地址为D类
小知识
为什么会出现集线器、交换机和路由器设备?
现象:很早之前没有这些网络设备时,两台PC机要进行通信,只需要将两台PC机上的网卡连接起来,这样就能满足两台PC设备通信。现在有三台设备需要相互通信,则在每一台设备上都加一张网卡,这样连接第三台设备,完成PC设备之间通信。这时还有很多台设备同时需要相互通信,显然在PC机上添加多张网卡是不明智的选择。
解决方案:为了解决这些问题集线器就出现了。集线器是一款硬件实现的网络设备,拥有多个网口。设备之间将需要通信的所有设备都通过网线连接到集线器上,这样就能实现设备之间的通信。在集线器中,所有的报文都像是开在大马路上的车,因此会出现报文冲突,导致设备。
为了解决这个冲突域的问题交换机就出现了。交换机内部像是每个端口和端口之间有一条独有的通路,因此解决报文冲突,存在广播域。
路由器Router,为了分割广播域而诞生。
冲突指的是多个设备如果连接都一个传输信道上,发生的冲撞会导致信号不完整,只会发生在早期使用使用集线器组网的共享式网络中。
冲突域指的是能够产生冲突的设备的范围。
广播域指的是能够收到广播的设备的范围