TCP/IP 协议族 - 多播和多播路由选择协议 笔记
引言
单播
只有一个源点一个重点网络,一对一。
多播
一个源点和一组终点,源地址是一个单播地址,目的地址是一个组地址。
在多播通信中,路由器可以通过它的多个接口转发收到的分组。
多播和多个单播的区别
多播是由源点发送单个分组,然后一路上的路由器复制这个分组并转发,在两个路由器之间只有一个分组在传送。 在多个单播中,源点发出一些分组。
用多播代替多个单播的原因
- 多播比多个单播更有效。单播的话,有些链路上的路由器可能要处理多个副本,所需带宽大。
- 多个单播中,源点在产生这些分组的时候会产生时延,如果有 1000 个终点,那么第一个分组和最后一个分组的时延可能就是不可接受的。
多播应用
- 访问分布式数据库。
- 信息传播。
- 电视会议。
- 远程学习。
广播
在广播通信中,源点和终点的关系是一对所有,互联网明确不支持广播。
多播地址
多播地址是参加了多播组的一群主机的目的地址。
IGMP
在多播的时候,由于发送者只发送报文的一个副本,路由器需要对这个副本进行转发和复制,所以多播路由器必须掌握一张多播组的列表,这是通过 IGMP 完成的。
组管理
IGMP 不是一个多播路由选择协议,他是管理组成员关系的协议。它把连接到网络上的主机(路由器)的成员关系状态信息交给多播路由器。
IGMP 报文
IGMP 报文分为两种类型:成员关系查询报文和成员关系报告报文,第一种类型有三种不同的格式:一般的格式、特定组的格式和特定组和源的格式。
- 在一般查询报文中,发起查询的路由器对相邻的路由器的成员关系完整列表感兴趣。
- 特定组查询中,只对特定多播组感兴趣。
- 特定组和源查询中,只对来自 N 个源之一且特定多播组的列表感兴趣。
多播路由选择
最短路径树
源点基准树
每个路由器维护 n 个组的最短路径树,所以就有 n 个最短路径树,但是如果组很多的时候,表项就会非常大,并不适合。
组共享树
让一个中心核心路由器维护 n 个最短路径树,其他的路由器收到一个多播分组,就封装成一个单播分组发给它,再由这个路由器选择路由。
多播距离向量路由选择
洪泛
会产生环路。
反向路径转发
路由器仅转发走的最短路过来的分组。 它查找分组的源地址,假装自己要发给源地址,看是不是从下一跳过来的。
反向路径广播
上一种方法因为使用的路由表是图,所以一个路由器可能收到多个分组。 这种方法规定了每个路由器的父路由器,路由器只从这些接口发送分组。
### 反向路径多播
上一个进行的是广播,效率低。
当某个路由器发现对某个多播分组没有兴趣时,就向上游路由器发送剪枝报文,剪枝相应的接口。 如果想恢复,可以通过嫁接报文。