计算机网络:IP的组播(或者叫多播、任播)的概述
IP组播的概念
IP组播(multicast),也叫做多播、任播。组播传输技术必不可少,在日常生活比如开黑、视频聊天、多人协作文件都起着重要的作用。
在了解组播之前,复习一下什么是单播、广播:
- 单播(unicast):一对一
- 广播(broadcast): 一对所有
- 组播(multicast):一对一组
传统的IP通信有两种方式:
第一种是在一台源 IP 主机和一台目的 IP 主机之间进行即单播unicast
。
第二种是在一台源 IP 主机和网络中所有其它的 IP主机之间进行即广播broadcast
。
如果要将信息发送给网络中的多个主机而非所有主机,则要么采用广播方式,要么由源主机分别向网络中的多台目标主机以单播方式发送 IP 包。
- 采用广播方式实现时不仅会将信息发送给不需要的主机而浪
费带宽
也可能由于路由回环引起严重的广播风暴
。 - 采用单播方式实现时由于
IP 包的重复发送
会白白浪费掉大量带宽也增加了服务器的负载
。
所以传统的单播和广播通信方式不能有效地解决单点发送多点接收的问题。于是组播应运而生:
IP 组播是指在 IP 网络中将数据包以尽力传送best-effort
的形式发送到网络中的某个确定节点子集,这个子集称为多播组multicast group IP
,多播的基本思想是源主机只发送一份数据,这份数据中的目的地址为多播组地址多播组中的所有接收者都可接收到同样的数据拷贝,并且只有多播组内的主机目标主机可以接收该数据网络中其它主机不能收到。
多播组用 D 类 IP地址224.0.0.0 239.255.255.255 来标识
组播的优点和缺点
优点:
- 提高效率:控制网络流量,减少服务器CPU的负载
- 优化性能:极大的减少网络负载
- 分布式应用:使得网络分布式应用成为可能
缺点:
- 大多数多播基于UDP
- 可靠性不高
- 无拥塞控制
- 可能出现乱序分组
组播IP地址
IP组播地址用于标识一个IP多播组。
IANA把D类地址空间分配给多播使用,范围从224.0.0.0到239.255.255.255
。如图所示(二进制表示),IP多播地址前四位均为“1110”。
其中224.0.0.0到224.0.0.255地址范围被IANA预留,地址224.0.0.0保留不做分配,其它地址供路由协议及拓扑查找和维护协议使用。该范围内的地址属于局部范畴,不论生存时间字段(TTL)值是多少,都不会被路由器转发。
224.0.1.0到238.255.255.255地址范围作为用户多播地址,在全网范围内有效。其中233/8 为GLOP地址。GLOP是一种自治系统之间的多播地址分配机制,将AS号直接填入多播地址的中间两个字节中,每个自治系统都可以得到255个多播地址。
239.0.0.0到239.255.255.255地址范围为本地管理多播地址(administratively scoped addresses),仅在特定的本地范围内有效。
当IP层收到多播数据报文时,根据多播目的地址查找多播转发表,对报文进行转发。
本文来自博客园,作者:{Zeker62},转载请注明原文链接:https://www.cnblogs.com/Zeker62/p/15046174.html