《TCP IP 详解卷1:协议》阅读笔记

  • 时间:
  • 浏览:0

IPv4地址到亲戚有些人 对应的IEEE 2002 形式的链路层地址的映射如图所示:

IPv6到IEEE 2002 MAC组播地址映射使用IPv6组播地址的低序32位作为以33:33现在开始的MAC地址的后缀。不可能 只使用了11几块 组播地址位中的32位,有些2的200次方个组映射到相同的MAC层地址。

不可能 IGMP和MLD都要信令协议,还都要控制有些流量的流动,针对它们的攻击往往会引起额外的资源消耗,不可能 导致 拒绝服务。有些形式攻击利用不可能 发现的实现漏洞,导致 执行由攻击者提供的不都要的代码。

IGMP和MLD源列表的类型值指明过滤模式(含晒 /排除)以及源列表算是已改变

阅读须知:笔记为阅读《TCP IP 详解卷1:协议》后摘抄的有些知识点,其间都要加入有些根据英文原版的个人翻译和结合网上知识后的理解,有些有些段落之间从没有 够串联上不可能 知识点与书上略有差别(基本差别不大,参考的资料属RFC官方文档)。

广播和组播为守护进程提供本身 服务:数据分组交付至多个目的地、通过客户端请求/发现服务器。几块 广播请求会影响在广播域范围内的所有可达主机,而组播只影响这个 不可能 对该请求有兴趣的主机。使用者都要追求的是广播的高开销和简单性与组播的高速率单位和繁杂性之间找平衡。

组记录信息格式:

  广播,在网络(广播地址范围内的子网)内广播数据包,网络内的每一台主机都将受到这个 数据包;

IP组播地址从不通过使用协议报文来挑选,以后 简单的讲几块 IP组播地址直接映射到有些对应的MAC地址。IANA拥有IEEE组织唯一标识符00:00:5e。有了它,IAN就被赋予权限去使用以01:00:5e现在开始的组MAC地址以及以01:00:5e现在开始的单播地址。该前缀被用作以太网地址的高序24位,导致 此块包括范围00:00:5e:00:00:00到00:00:5e:ff:ff:ff的单播地址,以及范围在00:00:5e:00:00:00到00:00:5e:ff:ff:ff的组播地址。除了IANA的有些组织也拥有地址块,但假如IANA将其空间的一每种用于支持IP组播。IANA分配一半的组地址块用于识别 IEEE 2002 LAN 上的IPv4组播流量。

为了帮助除理丢失协议报文,有些报文被重传多次(由QRV查询器鲁棒性变量决定)。QRV值在含晒 于查询中的QRV字段中编码,非查询路由器采用查询路由器的QRV作为个人的该字段值。不可能 查询器发生改变,则这帮助保持了稳定性。重传中保护的报文类型包括情况改变报告和特定查询,有些报文通常不用导致 转发情况的变化,以后 只涉及通过调整计时器刷新软情况,有些使用重传无法保护它们。预计更容易总出 丢失的链路,不可能 都要以生成额外的流量为代价,增加鲁棒性变量以增强分组丢失的健壮性。

当除理特定查询时,为了帮助组播路由器保持同步,查询报文中S位字段表明路由器端(计时器)除理应被抑制。当几块 特定的查询由查询器发送时,应该安排几块 重传次数(QRV)。在发送的第几块 查询中,S位字段被清除。基于重传或这个 查询的接收,组播路由器会为以后的重传降低它的计时器到LMQT。此时,为感兴趣的主机提供几块 报告以指出它对几块 组或源的持续的兴趣。不可能 没有 报文丢失,该报告使每个组播路由器重置它的计时器为普通值,并保持不变。然而,预定的重传不用被放弃。相反,特定查询的重传被发送时,S位字段被设置,这将导致 接收路由器不用降低它们的计时器到LMQT。在收到表示有兴趣的报告前一天,仍保持查询重传的导致 ,是为了使跨越所有组播路由器的组的超时时间是一致的。有之前 ,S位字段的目的是为了让特定的查询被(重新)发送,也为了除理降低计时器到LMQT,不可能 几块 表示兴趣的合法的报告不可能 不可能 被接受了,即使它或初始查询被非查询器路由器丢失了。没有 这个 能力,重传的特定查询会导致 非查询器路由器不正确地降低它们的计时器(不可能 不可能 收到几块 表明兴趣的合法报告)。

组播路由器的工作

组成员的工作是自发的报告对组播组和源的兴趣改变,以及响应定期的查询;组播路由器发送查询,以挑选连接链路上的对于任意组或是特定的组播组和源算是有兴趣。

IGMP和MLD

当收到几块 查询时,组成员没有 立即组阁 ,它们设置几块 随机计时器来决定什么时间响应。在此期间,守护进程不可能 会改变它们的组/源兴趣,任何没有 的变化还都要在计时器到期前一起去除理来触发报告。没有 做节省了絮状的开销。

有些交换机支持本身 称为IGMP探听的功能,该功能监控主机和组播路由器直接的IGMP(MLD)流量,有之前 能记录这个 端口都要这个 特定的组播流动,没有 做都都还能不能实质地影响在几块 交换网络中正在被承载的不都要的组播流量数量。在IGMPv3和MLDv2中,生成报告响应查询。支持早期版本的IGMP和MLD的IGS交换机除理向所有的接口广播报告,它们只向最近的组播路由器转发报告。

IGMPv3查询含晒 组播组地址和可选源列表。当组播路由器希望了解所有组播组的兴趣时,组地址字段被设置为0,并被发送到所有主机组播地址224.0.0.1。S和QRV用于容错和报告重传,QRV值编码发送方将使用的最大重传次数,QQIC字段编码定期查询间隔。

在前一天第二章介绍IP寻址的前一天有介绍到,IP地址有4种:单播、组播、广播、任播。

对于IGMPv3和MLDv2,主机除了维护它们的应用和系统软件感兴趣的组播组的过滤器情况,还维护被排除或含晒 的源列表。为了了解这个 流量都要被转发到链路上以便有兴趣的主机收到,组播路由器维护这个的情况。反之也是没有 :几块 组播路由器还都要停止转发在每个接收方的排除列表中的主机发送的组播流量。实践经验证明,守护进程很少都要屏蔽特定源,有之前 支持此功能也比较繁杂。然而主机往往希望含晒 几块 与几块 组相关联的特定源,尤其是当SSM在使用时。有之前 有了繁杂版的(轻量级)IGMPv3和(轻量级)MLDv2。

与ICMP这个,IGMP被认为是IP层的一每种,且报文也在IPv4数据报中传输。IGMP使用几块 固定的为1的TTL值,所有数据分组仅限于本地子网。IGMP数据分组也使用IPv4路由警告选项,并使用6位值0x200的DS字段来代表网间控制。在IPv6中,MLD是ICMPv6的一部,它的封装使用了IPv6的逐跳扩展头部以保持路由器警告选项。

IGMP(MLD)探听除理了"交互机沿着所有交换机形成的生成树的所有分支广播消息来发送链路层流量"的情况。

比如有数组[1,2,3,4,5,6,7,8,9,10],广播的通知还都要认为取了整个数组,而组播不可能 以后 取数组中都都还能不能被2整除的数据[2,4,6,8,10],这以后 广播和组播的区别。

IGMPv3成员资格报告含晒 IV组的组记录。每个组记录表明几块 组播地址和可选源列表。每个组记录含晒 晒 几块 类型、主题组的地址,以及要含晒 或是排除的源地址列表,此外还包括辅助数据(IGMPv3中未使用)。

  IGMP和MLD的配置参数和计时器的值如下:

组成员的工作

IGMP和MLD组成员的每种被设计为允许主机指定它们对这个 样的组有兴趣,以及从特定源发送的流量算是应该接受或过滤掉。这是通过向几块 或多个连接到同一子网的组播路由器(和参与主机)发送报告完成的。

组播

IGMP和MLD的封装如图:

下图显示了IPv4(IPv6)具有组播功能的路由器要怎样使用IGMP(MLD):

在IGMP和MLD中,组播路由器的工作是为每个组播组、接口和源列表挑选算是要花费几块 组成员目前在接收相应的流量。这是通过发送查询,以及基于成员发送的报告,建立描述成员发生性的情况来完成的。

在组播中,由主机和路由器来保持组播情况信息,以说明这个 接收方对哪类流量感兴趣。在组播TCP/IP模型中,接收方通过指明组播地址和可选源列表来表明它们希望接收流量的兴趣。这个 信息作为主机和路由器中的软情况来维持,则它都要定期更新或超时删除。

组播路由器定期向每个连接的子网发送IGMP(MLD)请求,以挑选这个 组和源对连接的主机来说是感兴趣的。主机使用IGMP(MLD)报告响应,说明这个 组合源是感兴趣的。

都要达到网络内每种主机接收数据,要么是通过发送方指定接收方,要么以后 通过接收方指明对数据类型的兴趣,有之前 网络只负责向预期的/感兴趣的接收方发送流量。

  任播,使得数据包还都要根据路由拓朴来决定送到“最近”或“最好”的目的地。

路由器的信息如下格式:

IGMP和MLD定义了两组协议除理规则:由组成员的主机执行的、由组播路由器执行的。

在IPv4中,有本身 类型的广播地址:受限(255.255.255.255)和定向。定向广播地址基于网络前缀和它的长度,通过创建几块 初始位和网络前缀相等、低序位被置1的32位地址形成。通常使用定向广播代替受限广播地址是更可选的。挑选这个 接口用于发送传出的广播流量依赖于操作系统。几块 典型的例子是使用几块 主接口用于有限广播流量,使用保发生主机的转发表中的信息来挑选传出定向广播和组播的接口。

组播的应用过程大致如下图:

上图组播路由中,几块 主要的协议用于允许组播路由器了解附进的主机感兴趣的组:IPv4使用的互联网组管理协议(IGMP)和IPv6使用的组播侦听发现协议(MLD)。

完整版版本与轻量级的对比

  单播,客户端与服务器之间点到点连接通信;

有本身 查询报文的变体还都要由组播路由器发送:一般查询、特定组查询、特定组和源查询。一般查询被组播路由器用于更新任意组播组的信息,对于没有 的查询,组列表是空的;特定组查询与一般查询这个,但对于识别的组是特定的;特定组合源查询是几块 含晒 一组源的特定组查询。

组成员的报告信息如下格式:

IGMP和MLD都由支持组播的主机和路由器使用,有之前 协议非常这个。IGMP已发展到v3版本,而MLD发展到v2版本。IGMPv1是第几块 广泛使用的IGMP版本,v2加在了更越快地离开组的能力,IGMPv3和MLDv2加在了挑选组播流量源的能力,并要求部署SSM。然而IGMP是IPv4使用的几块 单独的协议,而MLD是ICMPv6的真正的一每种。

第九章:广播和本地组播(IGMP和MLD)

除去前缀,还有32-4=28位可用于编码空间,即2的28次方,268435456个组播地址。对于IPv4,IANA的政策是分配一半的组地址用于支持IPv4组播,没有 以后 268435456个组播地址将被映射到2的23次方,83882008个唯一根绳子 目的链路层地址空间。有之前 ,映射都要唯一的,多个IPv4组ID被映射到相同MAC层地址。具体计算,有2的28-23次方,即3几块 不同的IPv4组播地址被映射。

多个组播路由器实现的第本身 类型的协调是查询器选举。每个组播路由器还都要侦听有些的查询,当几块 组播路由器启动时,它认为自已是查询器并发送一般查询以挑选在子网中这个 组是活跃的。当几块 路由器收到没有 路由器的组播查询时,它比较源IP地址和它自已的地址。不可能 在所接收的查询中的源IP地址小于它自已的地址,接收路由器进入备用模式。有之前 ,具有最小IP地址的路由器被认为是获胜者,并成为单一的查询器,负责向它连接的子网中发送查询。备用的路由器设置计时器,不可能 它们在几块 指定的时间(称为有些查询器总出 计时器)内没有 看得人更多的查询,它们再次成为查询器。

  组播,在发送者和多个接收者(如某个特定的分组)之间实现点对多点的连接通信;