计算机网络第二章后部分

IGMP

IGMP:互联网组管理协议

M在主机与其直接连接的路由器之间进行操作

M 也称为组成员协议

M为主机提供通知其连接的路由器他的应用程序的手段。 加入或离开多播组

m注意:IGMP不在组中的所有主机之间运行,而是受限于主机和路由器之间

功能:

M 组建立和终止
m
成员加入和离开

IGMP的消息类型

IGMPv2只有4种消息类型:

一般成员查询消息
具体的成员查询消息
成员报告消息
离开组消息,(可选)

成员报告

m回复一个成员报告

m 当一个应用程序首次加入一个多播组时,它的主机也会主动发送一个成员报告

m 成员报告消息由其路由器接收,也由所连接的接口(LAN)上的所有主机接收

m 注意:路由器并不真正关心局域网内有多少主机和哪些主机加入了同一组,而是是否存在。

IGMP的格式

Maxrespond time:最大响应时间

m如果在最大响应时间过期时没有响应,则考虑局域网中的主机已离开该组。

m当LAN中的多个主机在同一组中时,查询MSG可以由它们同时响应,但只需要一个报告。

m因此,为了反馈抑制,在发送成员资格报告MSG之前,主机必须等待一个随机的时间量:(0~最大响应时间)

m如果主机从另一个主机接收到给定组播组的报告,则放弃其自己的报告。

--避免不必要的传输             

--避免内爆

多播架构

IGMP解决了网络边缘问题,这是不够的

m如何在网络核心中组播数据报?

明确需要另一种协议来协调多播路由器以将多播数据报传送给接收者 - 多播路由协议

多播路由:一般情况

R 组播路由的目标是构建一个链接树,它连接了所有具有属于该组播组的主机的路由器

m 树可能包含没有附加成员的路由器

共享树中的基于中心的树

R 首先为多播组定义中心节点

R 加入消息是单播到中心的,它要么到达中心,要么到达已经属于Mtree的路由器

R 无论哪种情况,消息所遵循的路径都成为Mtree的一个分支

使用基于源的树进行多播路由

R 对于多播组中的每个源,构建一个Mtree

R 最少的单播成本路径树

M 从源到每个目的地的成本最低
m
这是从源到每个目的地的所有最少单播成本路径的结合

-- Dijkstra 算法

M 不需要所有链接状态
m
不同于斯坦纳树
m
不同的来源有不同的树

RPF反向路径转发

Mtree生成算法

(1)  当路由器收到组播报文时,记住源地址(S)及其接口(I);

(2)  如果我属于从I到S的最短路径,则将数据包转发到除I之外的所有接口

(3)  否则,丢弃它

 RPF不要求路由器知道自己到源的完整最短路径,它只需要知道发送给它的单播最短路径上的下一跳

RPF修剪

RPF算法:

如果路由器没有连接到组的附加主机,请发送剪枝消息给其上游路由器

如果路由器从其所有下游路由器收到修剪信息,请将修剪信息发送给其上游路由器

RPF的缺陷

RPF修剪可能被称为“洪水和修剪”

M 第一个组播数据包在整个网络中泛滥

缺陷:

M 路由器必须知道哪些下游路由器用于接收组播数据包

修剪过的分支如何重新加入该组?

M 通过使用“嫁接信息”恢复分支
m 恢复所有修剪过的分支,然后重新修剪添加的分支

--超时

--定期的洪水和修剪,也可能吸收新人

Internet中的多播路由

当前互联网中使用的主要协议

DVMRP:距离矢量组播路由协议-RFC 1075

MOSPF:多播开放式最短路径优先

CBT:基于核心的树
PIM
:协议无关组播

距离向量组播路由

DVMRP包含两个主要组件:

M 传统的距离矢量路由协议(如RIP)用于计算最短的反向路径

基于RPF的数据包转发

M 反向路径最短转发
m
修剪
m 嫁接

简而言之:DVMRP= RIP + RPF

M 用于Mbone

M 启动mrouted

MOSPF:多播OSPF(RFC 1584)

M 多播开放式最短路径优先使用扩展的OSPF在AS中运行

M 链路状态也包括多播组成员资格

M 所有路由器都具有完整的自治系统拓扑结构,并知道哪些边缘路由器连接了属于各种组播组的主机

M 通过此扩展,可以为每个多播组构建源特定的,预先修剪的最短路径树

算法:

M 首先,建立从S到其他AS的最短路径树;
m 其次,修剪没有组员身份的分支。

CBT:基于核心的树(RFC 2201,2189

M CBT多播协议构建了一个双向的,具有适合稀疏分布的核心的组共享树

R CBT building:

M 边缘路由器将CouthIsQuestMsg单播到核心,成员的核心或路由器响应连接。              M 所有成员共享此树

CBT维护:

M 下游路由器定期发送信使消息(ECHO_REQUEST)到它的直接上游路由器,用ECHO-REST消息应答

M 如果下游路由器在发送后没有收到应答请求多次,刷新和发送消息

M 类似地,如果上游路由器在一段时间内不接收请求消息,则修剪分支。

协议独立组播(PIM rfc2362

它可以与任何潜在的单播路由协议互操作。

两种模式:

M 密集模式:组播组成员密集

使用洪水和修剪技术,            

--数据驱动

M 稀疏模式:群组成员分布广泛,路由器组成员数量少。

RPF不适合

可以使用基于核心或源特定的

接收器驱动:边缘路由器定期发送JOIN消息
不认可加入消息。 核心将通过该树多播STOP-JOIN消息:当没有接收器存在时停止发送到核心

在UUnet中部署PIM

跨域组播路由

不同的AS可能会选择运行不同的多播路由协议

尽管已经为所有主要的Internet多播路由协议定义了互操作性规则,但它仍然是一个活跃的研究领域

IETF的idmr工作组开发了inter-AS路由协议

域间组播路由

评估多播协议的因素

可扩展性

M 增加群体和成员是否容易?

依赖于底层的单播路由
m
什么程度 ?

收到过多(不需要)的流量
m
或多或少?

交通集中
m
负载均衡?

转发路径的最优性
m
最好还是不?

基于Winsock的组播应用程序编程

只有UDP支持多播

第一步:使用socket()设置UDP套接字,bind()

多播应用程序编程

多个进程想要绑定一个端口:

设置接收缓冲区大小:

从组退出:

当多播数据包到达时,Winsock将显示FD_READ事件,并对其进行响应:

网络层:总结

我们所涵盖的内容:

网络层服务
路由选择原则:链路状态和距离矢量
分层路由
IP

Internet路由协议可靠传输
--
域内:RIPOSPF
--
域间:BGP

路由器里面有什么?
IPv6
多播路由和应用程序编程

下一站:数据链路层!
1 以下哪项是互联网协议(IP)的功能? (选两项)

它是实施最广泛的全球编址方案。
 
它允许两台主机在局域网上共享一个地址。
 
这是一种分层编址方案,可以将地址分组。
 
它只在当地具有重要意义,主要用于局域网。

2哪个OSI层定义了路由器的功能?
 
物理
 
数据链接
 
网络
 
运输
 
会议

3 IP地址的哪一部分标识网络上的特定设备?
 
前两个八位字节
 
第三和第四个八位字节
 
网络部分
 
主机部分
 
只有第四个八位字节

4以下哪些是可用的具有默认子网掩码的AIP地址? (选择三个)
 127.0.39.1
 111.9.28.30
 123.1.2.132
 128.50.38.2
 105.1.34.1
 0.23.92.3

5以下哪一项将测试节点的内部回送?
  ping 10.10.10.1
  ping 192.168.1.1
  ping 127.0.0.1
  ping 223.223.223.223
  ping 255.255.255.255

6TCP / IP协议套件的互联网层有哪些协议功能?
 
文件传输协议(FTP
 
普通文件传输协议(TFTP
 
传输控制协议(TCP
 
互联网协议(IP
 
用户数据报协议(UDP
 
简单邮件传输协议(SMTP

7使用IP地址38.159.163.37和子网掩码255.255.255.240,确定子网地址。
 38.159.0.0
 38.159.163.0
 38.159.163.0
 38.159.163.16
 38.159.163.32
 38.159.163.36

8具有B类许可证的公司需要至少1,000个子网,每个子网能够容纳50台主机。 下面的哪个面具是合适的?
 255.255.0.0
 255.255.240.0
 255.255.255.0
 255.255.255.192
 255.255.255.224

9以下哪些是Cisco专有路由协议? (选两项)
 RIPv2
 IGRP
 OSPF
 BGP
 RIPv1
 EIGRP

10当网络管理员将子网掩码255.255.255.248应用于A类地址时,对于任何给定的子网,可以将多少个IP地址分配给设备?
  1022
 510
 254
 126
 30
 6

11哪个OSI层将数据封装到数据包中?
 
会议
 
运输
 
网络
 
数据链接


猜你喜欢

转载自blog.csdn.net/fengcc7099/article/details/80450518