组播(Multicasting)的概念:在一个互联网中,当一个发送端希望将数据发送给一个不确定数量的接收端时,可采用多播技术。多播通信可以减轻网络拥挤,提高网络效率。
组播通信的过程中需要通过组播IP地址进行寻址。组播IP地址是一种特殊的IP地址,其范围在224.0.0.0到239.255.255.255之间,不能被分配给单个计算机,而只能分配给一个组。在网络中,每个组播组都有一个组播地址。
组播通信中,需要将组播地址和接收端的MAC地址进行对应。MAC地址是物理网卡所独有的地址,有了MAC地址就可以完成数据帧的发送和接收。那么如何从组播地址找到对应的MAC地址呢?接下来我们从多个角度来分析此问题。
角度一:基于IGMP协议查找MAC地址
IGMP(Internet Group Management Protocol)是Internet组参与者之间的协议,使组播路由器可以知道哪些主机属于一个组播组,并在仅将组播数据转发到属于该组的主机时起到重要作用。通过使用IGMP,一台计算机可以告诉网络中其他设备它希望加入哪个组播组。当网络中有多个设备需要接收同一个组播组中的数据时,数据包只会发送一次,从而减少网络流量。
IGMP协议能够根据组播地址找到对应组的接收者,但是无法找到接收者的MAC地址。在此基础上,需要使用组播路由器来对组播数据进行转发,并根据到达的组播数据包源IP地址及传输协议类型,查找映射的MAC地址。
角度二:基于ARP协议查找MAC地址
ARP(Address Resolution Protocol)是TCP/IP网络协议中用于将IPv4地址解析成物理MAC地址的协议。在通信过程中,当一个主机需要发送数据包到目标主机时,需要将目标IP地址转换成对应的MAC地址,这个过程叫做地址解析。
当多播路由器接收到一个组播请求时,会自动将请求IGMP数据报转换为一个ARP数据报,然后发送给子网中的所有成员。接受IGMP请求的成员会在本地的ARP高速缓存中查找要加入组播组的主机的Mac地址。如果在ARP缓存中没有找到该MAC地址,则该成员会向所有计算机广播ARP数据请求,询问该IP地址对应的MAC地址。
角度三:基于PIM协议查找MAC地址
PIM(Protocol Independent Multicast)是组播路由协议之一,主要用于建立组播树。PIM协议有两种,分别是PIM-SM(Sparse Mode)和PIM-DM(Dense Mode)。PIM-SM协议主要用于大型广域网,如全球互联网,而PIM-DM协议主要用于小型广域网,在一个小组内广播。
PIM协议通过建立组播树来实现多单个组播数据包的分发。组播树由源地址、目标地址和组播路由器之间的路径构成。当一个组播数据包被发送时,它会被沿着组播树向下传送。通过PIM协议,在组播传输路径中的各个路由器之间传递仅有的一个副本,从而达到减少流量的目的,提高组播数据的传输效率。
扫码咨询 领取资料