学习方法: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

why

what

how

为什么,这个技术为什么要出现,没有这个技术行不行。如果没有这个技术,当前的现状又会是怎样的?

这技术是什么?它的原理,操作流程,它的工作过程,它的功能等等

如何去实施 --- 基本配置,优化配置、高级配置,安全性特性与总结。

 

组播优点:

一对多,同时发送数据给多个接收方。

节约带宽

节约硬件资源的处理等等。

 

具备 IP 组播能力的路由器复制组播包

对带宽需求恒定,单播随需求的增加而增加。

 

 

既然组播这么好,干嘛还要有单播?

组播缺点:基于 UDP ,尽力而为转发,无连接,不关心接收方是否能够收到。无序列号,传输时可能出现无序性,也缺乏流控功能。无窗口机制。导致收到重复组播流量。

为什么组播不能基于 TCP 呢? ---- 组播的应用主要在于实时流量,在线视频、炒股。对时间敏感要求强。 REAL TIME

若基于 TCP ,丢包会重传,若是看电影,画面会出现倒退,因为重传了。若是 UDP ,则直接跳过了。

TCP 传输成本高,报头大。 UDP 成本低,报头 8 字节而已。在传输实时流量时,延迟越低,成本越少约好。

 

组播应用类型: 1 对多,多对多,多对 1

1 对多: 1 发多收,其他二者同理

 

IP 组播编制: D 类地址 224~239, 与单播一样,也有一些保留地址,不能购得。 224.0.0.0-224.0.0.255 ,做为本地用途,不会被路由到其他网段去。主要用于路由协议。。

224.0.0.1--- 当前子网上所有主机。

224.0.0.2--- 本子网上的所有主播路由器。

224.0.0.5 6 9 10---OSPF RIP EIGRP

也存在私有地址: 239.0.0.0/8  

site-local:239.255.0.0/16

organization-local:

 

除本地管理与保留的外,都可以叫公有地址

224.2.X.X

 

单播离不开组播,组播离不开单播。

 

知名组播地址,不管 TTL 多少,生存周期为多少,只能在本地网络里面传递。

问:为什么以前 EIGRP,OSPF 他的邻居之间,建立邻居关系要物理直连。 ----- 因为他们的邻居关系建立都是通过 HELLO 机制来完成的, HELLO 包通过组播发送,单播应答,来建立邻居关系。而知名组播地址的 TTL 值为 1 ,所以,只能在本子网内传送。所以建立邻居关系要物理直连。

 

ARP 3 层地址与 2 层地址进行映射

二层组播地址: 01-00-5E 开头

三层规定, 1110 开头

三层 28 位映射到二层的 23 位。意味着,一个 IP 组播 MAC 地址代表着 32 3 层组播地址

 

组播会话基础:

接收方 UP 后,获得可用组播会话流。

获得组播会话流的方法: EMAIL,RSS 等等。

IP/TV :信源 + 目录服务器 + 接收方

接收方通过单播与目录服务器相连,获得类表。或者监听节目通告,获得类表。

 

IGMP :维系组播组成员与组的关系。

V1 V2 V3 版本

组播与广播不同:接收流量前,要加入组播组,通过 IGMP 协议来加入。

 

工作流程:查询与响应

V1 :周期性 60 120 秒向 224.0.0.1 发出组播查询,若此组里有组成员,那么成员发送响应信息来判断组播成员的数量。 V1 延迟大,隐式退出。无退出 IGMP 消息。组播路由器三次查询后, 180 后才能知道,没有应答。组成员退出了。若组里还有剩余成员的话,影响不大,因为组播源还是要发送数据至此组,若组里没有剩余成员了,那组播路由器就要 180 秒后,才停止对此组的数据发送。就如同老师上课,学生走了不事先通知一样。

V1 的组播查询,是相对于所有组进行查询,不论这个组要不要被查询。类似与广播。

 

V2--RFC2236 :对 V1 的上述两个明显的缺点进行了改进

1. 特定组查询 --- 当某些组发生变化,如成员都退出了,那么组播路由器只发出对这个组的查询,节约资源。

2. 离开机制 ---- 组成员退出时,发送 LEAVE 消息。降低了延迟。

 

当所有成员都离开后,这个网段就没有组播流量。

 

V3 :对信源做了优化。其他机制与 V2 差不多。查询响应机制一样。

当主机加入一个组后,立马向 224.0.0.22 发送一个消息。信息里包括了主机想要接收组播流量的组播源,针对组播源做过滤。

 

show ip igmp interface --- 查看 IGMP 版本。 windows XP IGMP v2

 

 

2 层组播: IGMP 是三层协议,通过 IP 来承载。在 IP 报头里的 protocol 字段里为 2 ,则为 IGMP 流量。 主机发送 JOIN 消息,路由器来怎么判定,是交换机所连的哪个主机发送出来的呢??因为交换机是 2 层的, IGMP 是三层, SW 会忽略 IGMP 消息。

通过 CGMP,IGMP 监听来解决

CGMP: 思科私有, IGMP 监听:工业标准。

同样的目的都是为了解决 IGMP 带来的 2 层组播问题

1.CGMP SW 和路由器同时运行。组播路由器把 CGMP 消息发给 SW 0100.0cdd.dddd 。信息内容是:类型字段 --- 加入或者离开 +IGMP 客户机的 MAC 与组播组的 MAC 地址

把组播组的 MAC 地址与交换机端口进行绑定。

 

2.IGMP 监听:让 SW 能识别 IGMP 流量。 IGMP 监听要求设备性能好,对 IGMP 流量的拦截,非常消耗交换机性能。若基于软件,则 CPU 很耗,若基于 ASIC 则不会。