一:IP数据报的三种传输方式
IP数据报有如下三种传输方式
- 单播: 单播用于发送数据包到单个目的地,且每发送一份单播报文都使用一个单播IP地址作为目的地址。是一种点对点传输方式
- 广播: 广播是指发送数据包到同一广播域或子网内的所有设备的一种数据传输方式,是一种点对多点传输方式
- 组播: 当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点传输方式
例如视频服务器的例子
二:IP组播地址
IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。组播地址范围为224.0.0.0~ 239.255.255.255
(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址
- 组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP
- 对组播数据报不产生ICMP差错报文
- 并非所有D类地址都可以作为组播地址
三:硬件组播
同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E
打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的
四:IGMP协议与组播路由选择协议
(1)IGMP协议
因特网组管理协议IGMP:该协议目的是要让路由器知道组播成员的信息。IGMP应视为TCP/IP的一部分,其工作可分为两个阶段
- 第一阶段:当某台主机加入新的组播组时,该主机应向组播组的组播地址发送一个 IGMP报文,声明自己要成为该组的成员。本地的组播路由器收到IGMP报文后,将组成员关系转发给因特网上的其他组播路由器
- 第二阶段 :因为组成员关系是动态的,本地组播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否仍继续是组的成员。只要对某个组有一台主机响应,那么组播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一台主机响应时,则不再将该组的成员关系转发给其他的组播路由器
(2)组播路由选择协议
组播路由协议目的是找出以源主机为根节点的组播转发树。构造树可以避免在路由器之间兜圈子。对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树