IP多播选路详解

需积分: 0 3 下载量 128 浏览量 更新于2024-07-31 收藏 1.32MB PDF 举报
"014_TCPIP详解2" TCP/IP详解系列的第14章主要探讨的是IP多播的路由机制,特别是在整个互联网上的多播数据传输。本章内容包括IP多播分组的转发、多播路由表的计算以及如何在不同网络间转发多播数据报。章节中提到了一个名为`mrouted`的程序,它负责计算多播路由表并在网络间转发多播数据。 多播技术允许一个数据包被同时发送到多个目的地,极大地提高了效率,尤其适用于广播式应用如视频会议、实时流媒体等。在技术层面上,多播分组被转发时,通常假设每个分组都包含了完整的数据报,而不是分片的IP数据报。虽然Net/3系统可以处理IP分片,但在本章的讨论中,我们只关注不分片的数据报。 图14-1列出了`mrouted`的不同版本及其与BSD版本的对应关系,指出IP多播技术处于持续研究和发展的状态。书中提到的Net/3中的多播软件版本是2.0,这个版本现在已经被认为过时,而3.3版由于发行时间未到,未能在书中详细讨论。然而,书中会提及3.3版的一些新特性。 由于当时多播路由器并未广泛部署,多播隧道技术被用来连接两个多播路由器,构建多播网络。Net/3系统支持多播隧道,利用LSRR(Loose Source Record Route)选项来实现。此外,更先进的隧道技术是将IP多播数据报封装在单播数据报中,这在3.3版的多播程序中得到了支持。 在运输层,UDP是唯一原生支持多播的Internet协议。章节中将详细解释这些协议如何与多播数据报交互。 在代码层面,本章讨论了以下三个关键文件: 1. `netinet/ip_mroute.h`:定义了多播结构。 2. `netinet/ip_mroute.c`:包含多播选路函数。 3. `netinet/raw_ip.c`:涉及多播选路选项。 此外,书中还介绍了`mrouted`的几个版本及其特点,以及用于多播选路的全局变量。这些变量对于理解多播数据如何在互联网上传输至关重要。 这一章深入解析了IP多播在互联网上的路由原理和技术,涵盖了从基本概念到具体实现的多个层面,为读者提供了全面的多播路由知识。