在前面的学习交换机和路由协议,二层通信是数据链路层间通信,在同一个广播域间通过源MAC地址和目的MAC地址进行通信,当两台主机第一次通信由于不清楚目的MAC地址需要进行广播泛洪,目的主机回复自身MAC地址,然后两台主机进行单播一对一通信,这里面其实就涉及到了单播和广播的概念。
还有之前学习OSPF路由协议所有路由器都会加入224.0.0.5这个组播地址,224.0.0.6组播地址主要用于选举OSPF网络中的DR(Designated Router)和BDR(Backup Designated Router),还有其它的一些常见组播地址如RIPV2使用组播224.0.0.9专门用于RIPv2协议的路由器之间进行组播通信,用于传递路由信息。
在计算机网络中,单播、组播和广播是三种不同的数据传输方式,它们各自适用于不同的场景。
1.1 单播(Unicast):
-
单播是一种点对点的通信方式。 -
在单播中,发送者向一个特定的接收者发送数据。 -
每个数据包都包含一个单一的目的地地址,只有这个地址的接收者会接收和处理数据包。 -
单播适用于一对一的通信,例如电子邮件或在线聊天。
1.2 组播(Multicast):
-
组播是一种多点传输方式,数据包从发送者发送到一组特定的接收者。 -
组播地址是一组接收者共享的,所有订阅了该组播组的接收者都会接收到发送的数据。 -
组播适用于一对多的通信,例如视频会议或在线直播,其中数据包只需要发送一次,但所有订阅的接收者都能接收到。
1.3 广播(Broadcast):
-
广播是一种将数据包发送到网络中的所有设备的方式。 -
在广播中,发送者不指定特定的接收者,而是向所有设备发送数据。 -
每个设备都会接收到广播数据包,但只有那些对数据包感兴趣的设备才会处理它。 -
广播适用于需要通知网络中所有设备的情况,例如网络发现服务或某些类型的网络管理任务。
也可以从另外一个方面来解读网络中的业务流量。
网络中存在各种各样的业务,从流量模型看一般可以将业务分为两类:
-
点到点业务:比如FTP,WEB业务,此类业务主要特点是不同的用户有不同的需求,比如用户A需要下载资料A,用户B需要下载资料B。此类业务一般由单播承载,服务器对于不同用户发送不同的点到点数据流。
-
点到多点业务:比如IPTV,视频会议等,此类业务的特点是用户对于业务有相同的需求,比如用户A,B,C,D都需要收看视频X,此类业务可以使用单播,组播,广播承载。但使用单播或广播承载点到多点业务时存在一定问题。 组播技术能够较好的解决单播或广播在承载点到多点业务时存在的问题。
点到多点业务可以由单播,组播,广播进行承载,现网中也有各种各样的实现方式。但使用单播或者广播承载点到多点业务时存在一些固有的问题。
上述以IPTV业务示例,在只有特定客户端需要访问同一个视频源的时候,单播会出现占用大量带宽和建立大量一对一连接的情况,而广播会导致所有客户端都接收到该流量而无论客户是否需要,出现流量冗余和导致安全风险。
所以出现了组播方式进行点到多点业务传输。
组播方式下,单一的信息流沿组播分发树被同时发送给一组用户,相同的组播数据流在每一条链路上最多仅有一份。相比单播和广播,使用组播的好处如下:
-
相比单播,用户的增加不会导致信息源负载的加重,不会导致网络资源消耗的显著增加。 -
相比广播,不会造成网络资源的浪费,并能提高信息传输的安全性,而且组播可以实现跨网段的传输。
综上所述,单播适用于明确源目双方的业务,广播适用于进行无差别传输通信接收发送的业务,而组播可以根据需要传输到特定的点到多点的业务。从现在开始我们主要就是学习组播(Multicast)的相关知识,虽然在实际现网中接触的比较少,但是一些基本常识还是可以学习了解一下的。