tcp 组播_组播概念初识2

cfb161442a01ba29e1409f21cc46a25b.png

组播初识

一、为什么要启用组播?

1.节省不必要的数据发送

2.需要发送相同的数据去往多个不同的接收者

3.减少带宽的占用

4.优化网络设备的处理进程

5. 由于接收方单播地址未知,导致无法进行数据封装

二、广播和组播的区别 (broadcast&multicast)

1.广播无法跨网段发送数据

2.广播没有路由表,组播有组播路由表

3.默认情况下广播数据无法穿越路由器

4.no dhcp service--关闭DHCP服务

5.组播数据转发可以穿越路由器,依靠ip Mroute(组播路由表)

6.广播数据接收者,必须依靠上层或应用才能判断该数据是否需要处理

7.组播数据接收者,通过三层地址即可判断该数据是否需要处理

8.组播通过in和out方向来实现防环,也就是说会校验源和目的,一旦发现不对,将丢弃数据

9. 广播无法实现防环

三、单播和组播的区别

1.单播数据转发去往多个不同的接收者时,数据源需要被多次复制然后发送,效率低下

2.组播数据转发,发送者只需要发送单一数据包就可以

3.单播数据准发会因为接收者数量的增加,导致链路带宽占用增加

4.组播数据转发,通常不会因为接收者的数量影响带宽的占用

四、组播转发的优缺点

优点:

1.提高了转发效率,降低了网络设备资源消耗

2.优化了执行能力,删除了网络中不必要的流量

3.分布式应用服务,提供尽可能多的多用户应用

缺点:

1.组播数都基于UDP,UDP的缺点组播几乎都存在

2.尽力而为的转发,不一定可靠

3.没有拥塞避免机制,没有类似于TCP的滑窗机制

4.有可能导致数据冲突

5.交互过程中没有排序的概念,无序交互,需要依靠上层应用解决

五、组播的应用类型

1.一对多:一个单一的主机发送到两个或者多个接收者

2.多对多:,比如视频会议,发送到组播组的任意数量的主机(主机也是属于这个组播组的,也就是说,发送者等于接收者)

3.多对一:所有接收的数据都来自于同一个发送者(同一个源),可以使用单播也可以使用组播

六、IP Multicast L2&L3地址

1.组播地址用D类地址来表示Group Address

2.D类地址不对应某一具体设备,而是需要接收相同数据的同一组设备

3.D类地址段范围224.0.0.0-239.255.255.255,一共有2的28次方个组地址

4.保留的组播地址段:224.0.0.0-224.0.0.255

5.239.0.0.0-239.255.255.255作为私网组播地址,可以被用户任意分配和使用

6.保留的组播地址段都不需要依靠组播路由表转发数据,去往这也组地址的数据包都被局限于本组播域内发送

七、常见的保留组播地址及用途

1.224.0.0.1-子网内所有设备

2.224.0.0.2-子网内所有路由器

3.224.0.0.4-子网内所有DVMRP

4.224.0.0.13-子网内所有PIMv2

5.224.0.0.5-224.0.0.6子网内所有运行OSPF的路由器

6.224.0.0.9-子网内运行RIPv2路由器

7.224.0.0.10-子网内所有运行EIGRP的路由器

八、L2 MAC Address

1.组播的L3地址实际十个虚拟地址,对应的是一个Group标识,因此L2MAC Address同样是一个虚拟的MAC地址

2.2层的MAC地址是如何与3层的IP地址进行映射的呢?

3.通过将MAC地址的前25位强行规定为0100.5E,而后23位对应IP地址的后23位,而组播IP地址的前4位均相同如:

IP地址:1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx

MAC地址:00000001.00000000.01011110.0xxxxxxx.xxxxxxx.xxxxxxxx

组播MAC地址的最高24bit为0X01005e,第25bit恒为0,记最高25bit为固定值,MAC地址的低23bit

为组播ip地址的前4bit即1110,代表组播标识,而后28bit中只有23bit被映射表到MAC地址

这样IP地址中就有5bit信息丢失,导致的结果是出现了32个组播地址映射到同一个mac地址上

例如:组播IP地址224.215.145.230应该映射到下列哪个组播MAC地址?( )

   (A) 01-00-5e-57-91-e6   (B) 01-00-5e-d7-91-e6

   (C) 01-00-5e-5b-91-e6   (D) 01-00-5e-55-91-e6

用二进制来换算,将215.145.230换算成1101,0111,1001,0001,1110,0110

取最后23位放到MAC地址中的23位可以计算得出答案是A

4.显然有32个IP地址(有5个y可以不一样,2的5次方)对应一个MAC地址

5.所以要避免在同一网络中使用的多个组播IP地址对应一个MAC地址

6.在同一组播域内,有可能出现数据冲突和交叠,需要依靠上层端口或应用来判断

7.组管理协议一共三个版本,默认是IGMPv2版本

8.路由器之间运行PIM协议,路由器和接收者之间运行IGMP协议

9.ICMPV3版本可以控制接收谁发来的组播数据(控制源)

10.IGMPV1版本下,当接收者脱离组播组以后不告知上有路由器

九、IP Multicast转发模型

1.每个组播组都用一个D类地址来进行标识

2.接收者需要加入或者离开某一个组是,需要告知上游的组播路由器

3.离接收者最近的组播路由器称之为最末跳路由器(Last hop Router),也称之为叶路由器(Leaf Router)

4.路由器通过对应的组播协议负责管理本地连接的所有组成员信息

5.组播源发送数据不依赖于任何设备或者协议

6.离组播源最近的路由器称之为第一跳路由器(First hop Router),并负责转发组播源的数据

7.从第一跳到最末跳路由器之间的所有组播路由器通过组播路由协议构建组播路由表

8.利用构建号的组播路由表转发组播数据到达组成员

9.利用组播路由协议维护当前组播网络,以适应拓扑的变更

10.从第一条路由器到末跳路由器之间形成的转发路径称之组播的分布树(Distribution Tree)

11.如果组播发送源有多条到达叶路由器的路径,会选择出一跳最优的路径,这条路径叫做SPF路径

或SPT路径(shortest path first&shortest path tree)

十.IP Muiticast Protocol介绍

1.组播源与第一跳路由器之间不需要任何协议

2.叶路由器和组成员之间通过IGMP完成信息交互

3.组播路由器之间通过组播路由协议(DNVRP、MOSPF、CBT、PIM)来完成信息交互并构建组播路由表

4.如果两个AS之间需要传播组播数据,可能需要通过MBGP(multicast address-family)和MSDP来协助组播数据转发

十一.IGMP协议

1.ip multicast-routing-开启路由器的组播路由功能

2.进入接口下,show ip igmp interface 查看接口的IGMP版本

3.接口下更改IGMP版本,ip igmp version+版本号

4.全局开启组播协议以后,还需要接口下开启组播,ip pim dense-mode/sparse-dense-mode/sparse-mode

5.工作在最末跳路由器和组成员之间

6.组成员利用IGMP向最末跳路由器报告对某一个组的加入或者离开

7.叶路由器利用IGMP协议维护所有组成员的信息,用于判断需要转发哪些组的数据

8.IGMP被封装在IP报头后,协议号为2,并且IP报头中TTL=1,因此IGMP只能在本广播域内转发

9.IGMPv2可以看作十IGMPv1Plus,而IGMPv3专门用于针对特殊的组播转发模型(SSM)

10.终端要加入到某一个组播组里面,接口下ip igmp join-group +组播地址

11.一旦一台终端设备加入到一个组里面,会发送一个report信息,当叶路由器收到组播数据以后才会

将数据推送到终端设备上,如果终端设备没有加入,叶路由器收到数据以后会修剪掉该组播数据(可以理解为丢弃)

十二、IGMP的开启与关闭

1.实验环境中,会用到在路由器的接口下模拟组成员的存在(ip igmp join-group(address)

2.如果该命令存在,即便没有开启组播路由协议,此IGMP也会开启(半开)

3.但是没有组播路由协议存在,该接口不具备IGMP的查询功能,从理论上来说,也是不具备转发数据的功能的

4.此时路由器本身也可以看作一个组成员,因此针对测试数据包可以响应

十三、IGMP Message

IGMP Message分为两大类

1.Host:Membership Report and Leave Message(注册消息/加入组消息和离开消息)

2.Router:Query Message(Gennel&Specific)查询消息分为通用组查询和特定组查询消息

3.通用组查询消息,每60s查询一次,周期性发送

4.特定组查询消息,一旦叶路由器接收到组成员发来的leave消息,会发送特定组查询消息测试组成员是否还在该组播组内

以上就是关于组播的简单介绍,后续会持续更新 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值