TCP/IP 协议族 - 多播和多播路由选择协议 笔记

May 4, 2016


引言

单播

只有一个源点一个重点网络,一对一。

多播

一个源点和一组终点,源地址是一个单播地址,目的地址是一个组地址。

在多播通信中,路由器可以通过它的多个接口转发收到的分组。

多播和多个单播的区别

多播是由源点发送单个分组,然后一路上的路由器复制这个分组并转发,在两个路由器之间只有一个分组在传送。 在多个单播中,源点发出一些分组。

用多播代替多个单播的原因

  1. 多播比多个单播更有效。单播的话,有些链路上的路由器可能要处理多个副本,所需带宽大。
  2. 多个单播中,源点在产生这些分组的时候会产生时延,如果有 1000 个终点,那么第一个分组和最后一个分组的时延可能就是不可接受的。

多播应用

  1. 访问分布式数据库。
  2. 信息传播。
  3. 电视会议。
  4. 远程学习。

广播

在广播通信中,源点和终点的关系是一对所有,互联网明确不支持广播。

多播地址

多播地址是参加了多播组的一群主机的目的地址。

IGMP

在多播的时候,由于发送者只发送报文的一个副本,路由器需要对这个副本进行转发和复制,所以多播路由器必须掌握一张多播组的列表,这是通过 IGMP 完成的。

组管理

IGMP 不是一个多播路由选择协议,他是管理组成员关系的协议。它把连接到网络上的主机(路由器)的成员关系状态信息交给多播路由器。

IGMP 报文

IGMP 报文分为两种类型:成员关系查询报文成员关系报告报文,第一种类型有三种不同的格式:一般的格式、特定组的格式和特定组和源的格式

  • 在一般查询报文中,发起查询的路由器对相邻的路由器的成员关系完整列表感兴趣。
  • 特定组查询中,只对特定多播组感兴趣。
  • 特定组和源查询中,只对来自 N 个源之一且特定多播组的列表感兴趣。

多播路由选择

最短路径树

源点基准树

每个路由器维护 n 个组的最短路径树,所以就有 n 个最短路径树,但是如果组很多的时候,表项就会非常大,并不适合。

组共享树

让一个中心核心路由器维护 n 个最短路径树,其他的路由器收到一个多播分组,就封装成一个单播分组发给它,再由这个路由器选择路由。

多播距离向量路由选择

洪泛

会产生环路。

反向路径转发

路由器仅转发走的最短路过来的分组。 它查找分组的源地址,假装自己要发给源地址,看是不是从下一跳过来的。

反向路径广播

上一种方法因为使用的路由表是图,所以一个路由器可能收到多个分组。 这种方法规定了每个路由器的父路由器,路由器只从这些接口发送分组。

### 反向路径多播

上一个进行的是广播,效率低。

当某个路由器发现对某个多播分组没有兴趣时,就向上游路由器发送剪枝报文,剪枝相应的接口。 如果想恢复,可以通过嫁接报文。