计算机网络-网络层

重点内容:

(1) 虚拟互连网络的概念。
(2) IP 地址与物理地址的关系。
(3) 传统的分类的 IP 地址(包括子网掩码)和无分类域间路由选择 CIDR
(4) 路由选择协议的工作原理。

目录

重点内容:

一.网络层提供的两种服务

二.网际协议IP(IPv4)***

2.0概述

2.1 虚拟互联网

2.2分类的IP地址 

A 类地址

B 类地址

C 类地址

IP地址具有的特点

2.3IP地址和硬件地址

2.4地址解析协议 ARP

跨局域网的IP数据报发送对ARP的使用

2.5IP数据报格式

 2.6 IP层转发分组的流程

三.划分子网和构造超网 

3.1划分子网

1.子网掩码 

2.使用子网的分组转发

3.2构造超网

1.无分类编址CIDR

 2.最长网络前缀匹配

3.使用二叉线索查找路由表

四.网际控制报文协议 ICMP

4.1 ICMP报文种类

​编辑差差错报告报文

不发送ICMP差错报告报文的几种情况

询问报文

五.互联网路由选择协议

1. 静态路由和动态路由

2. 动态路由协议的分类

A. 内部网关协议(IGP,Interior Gateway Protocol)

B. 外部网关协议(EGP,Exterior Gateway Protocol)

3. 路由选择协议的工作原理

路由选择协议基本工作原理:

主要的路由算法:

4. 路由协议的特点

5. 总结

六.IPv6

七.IP多播

八.VPN&NAT

九.多协议标记交换MPLS


一.网络层提供的两种服务

二.网际协议IP(IPv4)***

2.0概述

网际协议 IP TCP/IP 体系中两个最主要的协议之一, 也是最重要的互联网标准协议之一。

IP 协议配套使用的还有三个协议:

  • 地址解析协议 ARP (Address Resolution Protocol)
  • 网际控制报文协议 ICMP (Internet Control Message Protocol)
  • 网际组管理协议 IGMP (Internet Group Management Protocol)

2.1 虚拟互联网

所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。

2.2分类的IP地址 

IP 地址的编址方法共经过了三个历史阶段。
   (1) 分类的 IP 地址 。这是最基本的编址方法,在 1981 年就通过了相应的标准协议。
   (2) 子网的划分 。这是对最基本的编址方法的改进,其标准 RFC 950 1985 年通过。
   (3) 构成超网 。这是比较新的无分类编址方法。 1993 年提出后很快就得到推广应用。
本节只讨论最基本的分类的 IP 地址。后两种方法将在 4.3 节中讨论。

 IP地址,其中网络号必须是唯一的

 

A 类地址

  • 网络号字段:占 1 个字节(8 位),但是只有 7 位可以用作网络号,因为第一位被固定为 0。
  • 可用的网络号数量:2^7 - 2 = 126 个网络。减去 2 是因为:
    • 全 0 的网络号(0.0.0.0)被保留表示“本网络”。
    • 网络号为 127(127.0.0.0)被保留作为环回地址,用于本机测试。
  • 主机号字段:占 3 个字节(24 位)。
  • 每个网络中的主机数:2^24 - 2 = 16,777,214。减去 2 是因为:
    • 全 0 的主机号(如 5.0.0.0)表示“网络地址”。
    • 全 1 的主机号(如 5.255.255.255)表示“广播地址”,用于广播给网络中的所有主机。
  • 总地址数:2^31 = 2,147,483,648 个地址,占整个 IP 地址空间的 50%。

B 类地址

  • 网络号字段:占 2 个字节(16 位),但前两位被固定为 1 0,因此只剩下 14 位可供使用。
  • 可用的网络号数量:2^14 - 1 = 16,383 个网络。减去 1 是因为地址 128.0.0.0 不可用。
  • 主机号字段:占 2 个字节(16 位)。
  • 每个网络中的主机数:2^16 - 2 = 65,534。减去 2 是因为全 0 和全 1 的主机号地址被保留。
  • 总地址数:2^30 = 1,073,741,824 个地址,占整个 IP 地址空间的 25%。

C 类地址

  • 网络号字段:占 3 个字节(24 位),前 3 位被固定为 1 1 0,因此剩下 21 位可供使用。
  • 可用的网络号数量:2^21 - 1 = 2,097,151 个网络。减去 1 是因为地址 192.0.0.0 不可用。
  • 主机号字段:占 1 个字节(8 位)。
  • 每个网络中的主机数:2^8 - 2 = 254。减去 2 是因为全 0 和全 1 的主机号地址被保留。
  • 总地址数:2^29 = 536,870,912 个地址,占整个 IP 地址空间的 12.5%。
类别网络号字段长度可指派的网络数每个网络的最大主机数总地址数占总地址空间比例
A 类1 字节(7 位)126 个网络16,777,214 个主机2,147,483,64850%
B 类2 字节(14 位)16,383 个网络65,534 个主机1,073,741,82425%
C 类3 字节(21 位)2,097,151 个网络254 个主机536,870,91212.5%
  • A 类地址提供最大的主机数,但网络数最少,适用于需要大量主机的大型网络。
  • B 类地址具有适中的网络数和主机数,适合中等规模的网络。
  • C 类地址提供最多的网络数,但每个网络的主机数最少,适合大量小型网络的分配。

IP地址具有的特点

1. IP 地址的分级结构

IP 地址由 网络号主机号 两部分组成。这种分级的结构带来了两个重要好处:

  • 管理上的便利性:网络号由 IP 地址管理机构分配,而主机号则由获得网络号的单位自行分配。这样能够简化地址的管理,减少管理机构的工作量。
  • 路由的简化:路由器在转发数据包时只需要根据目的地址的网络号进行转发,而不考虑主机号。这样就能大幅减少路由表中的条目数,减少存储和查找路由表的时间。

2. 多归属主机(Multihomed Host)

一台主机如果同时连接到多个网络,通常会拥有多个 IP 地址。这些 IP 地址的网络号必须是不同的。这样的主机被称为“多归属主机”。同样,路由器通常需要连接多个网络,因此它至少需要有两个 IP 地址。这可以比作一个建筑位于两个街道交叉口,有两个门牌号码。

3. 网络的定义

从互联网的角度来看,一个网络 是指具有相同网络号(net-id)的主机集合。举个例子,如果多个局域网通过转发器或网桥连接,它们仍然属于同一个网络,因为它们具有相同的网络号。只有具有不同网络号的局域网才需要通过路由器进行连接。

4. 网络的平等性

互联网对每个 IP 地址的网络(无论是一个小范围的局域网,还是一个跨越广泛地域的广域网)都一视同仁。所有的网络都被平等对待,IP 地址的分配也遵循这个原则。

2.3IP地址和硬件地址

从层次的角度看, 物理地址是数据链路层和物理层使用的地址,而 IP 地址是网络层和以上各层使用的地址,是一种逻辑地址 (称 IP 地址为逻辑地址是因为 IP 地址是用软件实现的)。
MAC帧在不同节点中传递时,MAC帧中的源地址和目的地址会改变,而IP数据报中的IP地址不变

还有两个重要问题没有解决:
(1) 主机或路由器怎样知道应当在 MAC 帧的首部填入什么样的硬件地址?
(2) 路由器中的路由表是怎样得出的?

2.4地址解析协议 ARP

地址解析协议 ARP 解决这个问题的方法是在主机 ARP 高速缓存中存放一个从 IP 地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除——即存在生存时间)。

请注意,ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。

当ARP高速缓存中没有对应的映射时,发送ARP请求,其主要内容为:

“我的 IP 地址是 209.0.0.5 ,硬件地址是 00-00-C0-15-AD-18 。我想知道 IP 地址为 209.0.0.6 的主机的硬件地址。

ARP请求广播发送,ARP响应由请求的目标IP单播发送

ARP 对保存在高速缓存中的每一个映射地址项目都设置 生存时间 (例如, 10 ~ 20 分 钟)。凡超过生存时间的项目就从高速缓存中删除掉。

跨局域网的IP数据报发送对ARP的使用

  1. 发送方是主机(如 H1),要把 IP 数据报发送到同一个网络上的另一台主机(如 H2)。这时 H1 发送 ARP 请求分组(在网 1 上广播),找到目的主机 H2的硬件地址。
  2. 发送方是主机(如 H1),要把 IP 数据报发送到另一个网络上的一台主机(如 H3 或 H4)。这时 H1 发送 ARP 请求分组(在网 1 上广播),找到网 1 上的一个路由器 R1 的硬件地址。剩下的工作由路由器 R1 来完成。R1 要做的事情是下面的(3)(4)
  3. 发送方是路由器(如 R1),要把 IP 数据报转发到与 R1连接在同一个网络(网 2)上的主机(如 H3)。这时 R1 发送 ARP 请求分组(在网 2 上广播),找到目的主机 H3的硬件地址。
  4. 发送方是路由器(如 R1),要把 IP 数据报转发到网 3 上的一台主机(如 H4)。H4与R1 不是连接在同一个网络上。这时 R1 发送 ARP 请求分组(在网 2 上广播),找到连接在网2 上的一个路由器 R2 的硬件地址。剩下的工作由这个路由器 R2 来完成。

这就是为什么路由需要有至少两个IP地址的原因 ,ARP只作用在同一局域网下

2.5IP数据报格式

  1. 版本——IPv4 or IPv6

  2. 首部长度——4bit,最大值15,表示首部的长度(一定是4B的倍速)所以head'sLength = headLength*4B,只有固定长度部分时首部长度为5

  3. 区分服务——8bit,一般不适用

  4. 总长度——首部和数据之和的长度,单位为字节,最长2^{16} - 1=65535.我们知道IP数据报长度不能超过MAC帧中MTU最大传输单元的长度,一般以太网中的MTU为1500,如果IP数据报 > MTU,则需要分片处理

  5. 标识——IP数据报因为大于MTU被分片,分片序号,用于重新组装IP数据报

  6. 标志——3bit,最低位MF (More Fragment)表示是否还有分片,中位DF (Don’t Fragment)表示是否可以分片。

  7. 片偏移——13bit,片偏移以 8 个字节为偏移单位。

  8. 生存时间——8bit,现在是最大跳跃次数,其目的是防止无法交付的数据报无限制地在互联网中兜圈子(例如从路由器 R1 转发到 R2,再转发到 R3,然后又转发到 R1),因而白白消耗网络资源。
  9. 协议——8bit,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的 IP 层知道应将数据部分上交给哪个协议进行处理。
  10. 首部检验和——16bit,只检验数据报的首部,但不包括数据部分
  11. 源地址——32bit
  12. 目的地址——32bit

 2.6 IP层转发分组的流程

  1. 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N
  2. N 就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付目的主机(这里包括把目的主机地址 D 转换为具体的硬件 地址,把数据报封装为 MAC 帧,再发送此帧);否则就是间接交付,执行(3)
  3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的 下一跳路由器;否则,执行(4)
  4. 若路由表中有到达网络 N 的路由,则把数据报传送给路由表中所指明的下一跳路由 器;否则,执行(5)
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否 则,执行(6)
  6. 报告转发分组出错。

三.划分子网和构造超网 

3.1划分子网

两级IP<网络号,主机号>因其某些而情况下利用率低、路由表过大引起性能下降并且灵活性不高,现将两级IP改成三级IP:

1.子网掩码 

于是就有了子网掩码 

2.使用子网的分组转发

 路由表样式

  1. 从收到的数据报的首部提取目的 IP 地址 D
  2. 判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和 D 逐位相“”(AND 操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把 D 转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)
  3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。【路由器检查路由表中是否有针对 目的地址 D 的具体主机路由条目。
  4. 对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和 D 逐位相“”(AND 操作),其结果为 N。若 N 与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行(5)
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)
  6. 报告转发分组出错。

3.2构造超网

1.无分类编址CIDR

 2.最长网络前缀匹配

3.使用二叉线索查找路由表

二叉线索树中的每一个节点代表一个唯一的网络前缀,并且包含子网掩码 

四.网际控制报文协议 ICMP

为了更有效地转发 IP 数据报和提高交付成功的机会,在网际层使用了 网际控制报文协议 ICMP (Internet Control Message Protocol)。ICMP报文存在于IP数据报的数据部分。主要用于传输控制消息,报告错误或传递控制信息,如网络不可达、超时、重定向等。

4.1 ICMP报文种类

差差错报告报文

  1. 终点不可达 当路由器或主机不能交付数据报时就向源点发送终点不可达报文。
  2. 时间超过 当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
  3. 参数问题 当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
  4. 改变路由重定向 路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。

改变路由解答了路由器是如何由初始状态,更新路由表的问题

具体来说:
        在主机刚开始工作时,一般都在路由表中设置一个默认路由器的 IP 地址

        而这个默认路由器知道到每一个目的网络的最佳路由。

        如果默认路由器发现主机发往某个目的地址的数据报的最佳路由应当经过网络上的另一个路由器 R 时,就用改变路由报文把这情况告诉主机。于是,该主机就在其路由表中增加一个项目:到某某目的地址应经过路由器 R(而不是默认路由器)。

IP 数据报的首部+数据字段的前 8 个字节+ICMP差错报告报文的前 8 个字节 = ICMP差错报告报文

不发送ICMP差错报告报文的几种情况

询问报文

  1. 回送请求和回答 ICMP 回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送 ICMP 回送回答报文。这种询问报文用来测试目的站是否可达以及了解其有关状态
  2. 时间戳请求和回答 ICMP 时间戳请求报文是请某台主机或路由器回答当前的日期和时间。在 ICMP 时间戳回答报文中有一个 32 位的字段,其中写入的整数代表从 1900 年1 月 1 日起到当前时刻一共有多少秒。时间戳请求与回答可用于时钟同步和时间测量

五.互联网路由选择协议

本节将讨论几种常用的路由选择协议,也就是要讨论路由表中的路由是怎样得出的。

互联网路由选择协议(Internet Routing Protocols)是用于在互联网或大型网络中选择路径、交换路由信息的协议。它们确保数据包从源主机传递到目的主机的过程中,选择到最佳的路径。根据路由选择算法和应用范围的不同,互联网路由选择协议可以分为以下几种类型:

1. 静态路由和动态路由

  • 静态路由:路由表由网络管理员手动配置,不会根据网络拓扑的变化自动更新。适用于简单且稳定的网络,配置较为固定的环境。
  • 动态路由:路由器自动根据网络拓扑和链路状态的变化更新路由表。适用于复杂和变化较大的网络。

2. 动态路由协议的分类

动态路由协议可以根据其工作原理分为以下几种:

A. 内部网关协议(IGP,Interior Gateway Protocol)

内部网关协议用于同一自治系统(AS,Autonomous System)内的路由选择。主要的IGP协议有:

  1. RIP(Routing Information Protocol,路由信息协议)

    • 工作原理:RIP是基于距离矢量算法的路由选择协议。每个路由器与邻居交换路由信息,计算到目的地的最短路径。使用跳数(hop count)作为度量标准,最大跳数为15,超过15跳的目的地被认为不可达。
    • 特点:好消息传输快,坏消息传输慢
    • 优点:简单、易于配置。
    • 缺点:路由收敛速度慢,最大跳数限制了其应用范围,不能很好地支持大规模网络。
  2. OSPF(Open Shortest Path First,开放最短路径优先)

    • 工作原理:OSPF是基于链路状态算法的路由协议。每个路由器与所有邻居交换链路状态信息,通过计算最短路径树来选择最佳路由。OSPF支持多个区域划分,能有效减少路由表规模。
    • 优点:收敛速度快,支持大规模网络,支持更多的路由策略。
    • 缺点:配置较为复杂,需要较高的计算和内存资源。
  3. IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)

    • 工作原理:IS-IS协议与OSPF类似,也是链路状态协议,通常用于大型ISP或企业网络中。它使用ISO/OSI模型中的链路状态协议,采用Dijkstra算法计算最短路径。
    • 优点:灵活性高,适应性强,支持大规模网络。
    • 缺点:与OSPF相比,配置稍微复杂,且在应用中较为少见。
B. 外部网关协议(EGP,Exterior Gateway Protocol)

外部网关协议用于不同自治系统之间的路由选择,最常见的外部网关协议是BGP(Border Gateway Protocol,边界网关协议)

  1. BGP(Border Gateway Protocol)
    • 工作原理:BGP是基于路径向量算法的路由选择协议,广泛应用于互联网的自治系统之间的路由选择。它通过交换路由信息来决定如何传递数据,主要使用AS路径作为度量标准。BGP允许路由器之间的策略控制,比如选择最佳路径、避免循环等。
    • 优点:可扩展性强,适应互联网规模的路由需求,能够处理复杂的路由策略。
    • 缺点:配置复杂,收敛速度相对较慢,需要较高的计算和内存开销。

3. 路由选择协议的工作原理

路由选择协议基本工作原理:
  1. 路由表维护:路由器通过路由协议交换路由信息,更新本地的路由表,以确保能根据最佳路径将数据包转发到目的地。
  2. 数据包转发:当路由器收到数据包时,它会检查数据包的目标地址,并根据路由表选择最佳的下一跳路由器或目的地。
  3. 路由信息交换:路由器之间通过周期性或按需交换路由信息,来动态地调整路由表以适应网络拓扑变化。
主要的路由算法:
  • 距离矢量算法:每个路由器仅了解到达目的地的“距离”(如跳数)和“方向”(下一跳路由器)。通过与邻居交换信息,逐步更新路由表。
    • 例子:RIP。
  • 链路状态算法:每个路由器了解整个网络拓扑(包括其他路由器的链路状态)。通过计算整个网络的最短路径来更新路由表。
    • 例子:OSPF、IS-IS。
  • 路径向量算法:通过记录从源到目的地的路径信息,并根据路径选择最优路由。
    • 例子:BGP。

4. 路由协议的特点

协议类型特点
RIP简单,基于跳数,收敛速度慢,适用于小规模网络。
OSPF基于链路状态,支持大规模网络,收敛速度快,支持多个区域。
IS-IS类似于OSPF,但使用不同的协议格式,适用于大型ISP和企业网络。
BGP用于自治系统之间,支持复杂的路由策略,适用于互联网规模的网络。

5. 总结

  • **内部网关协议(IGP)**适用于单一自治系统内的路由选择,主要有RIP、OSPF、IS-IS等。
  • **外部网关协议(EGP)**适用于自治系统之间的路由选择,主要有BGP。
  • 不同协议适用于不同规模的网络,协议的选择取决于网络规模、性能要求以及管理复杂度。

这些路由选择协议使得全球互联网能够高效、可靠地运行,并且随着技术发展,新的路由协议(如SDN等)正在不断被提出,以支持更加灵活和智能的路由选择。

六.IPv6

七.IP多播

IP多播协议(IP Multicast) 是一种在网络中允许单个源主机将数据同时传送给多个目的主机的通信方式。与广播和单播不同,多播允许通过单个数据报文将数据传输到多个接收者,但不会浪费带宽传送给不需要接收数据的主机。IP多播广泛用于实时视频传输、音频广播、软件更新等应用场景。

1. IP多播地址

IP多播地址位于 IPv4 地址空间的特殊范围,具体为:

  • IPv4多播地址范围:从 224.0.0.0 到 233.255.255.255
    • 224.0.0.0 到 224.0.0.255 是保留给 局域网内的协议(如路由协议、网络管理协议)使用。
    • 233.0.0.0 到 233.255.255.255源特定多播(SSM, Source-Specific Multicast)使用的范围。
    • 239.0.0.0 到 239.255.255.255组织范围多播,可供企业内使用。

多播地址的前 4 位是固定的,即 1110,这就是多播地址的标识位。为了确保多播地址不会和单播地址冲突,IPv4 为多播分配了一个专门的地址范围。

2. IP多播的工作原理

IP多播采用的是 源-接收者模型,由以下几个步骤组成:

  1. 源主机发送多播数据

    • 源主机将数据报发送到指定的多播地址,数据报的目的地址是多播组地址,而源地址是源主机的IP地址。
  2. 加入多播组

    • 目的主机(接收者)需要 加入多播组。这通常通过 Internet Group Management Protocol (IGMP) 完成。在 IPv4 中,IGMP 允许主机报告其希望加入或离开的多播组。路由器通过 IGMP 来维护多播组成员的信息。
  3. 路由器的角色(多播路由协议)

    • 网络中的路由器使用 多播路由协议 来确保从源主机到所有接收者之间的路径。常见的多播路由协议有:
      • Protocol Independent Multicast (PIM):支持多播路由,并且独立于任何特定的路由协议。
        • PIM-SM(Sparse Mode,稀疏模式):适用于有大量多播接收者的网络,使用 多播树
        • PIM-DM(Dense Mode,密集模式):适用于少量接收者的网络,自动创建多播树。
      • Distance Vector Multicast Routing Protocol (DVMRP):基于距离向量的协议,适用于小规模多播。
      • MOSPF(Multicast Open Shortest Path First):与 OSPF 类似的协议,专门用于多播。
  4. 多播数据转发

    • 网络中间的路由器根据多播路由协议信息,决定是否将数据包转发到下一跳的路由器或接收者。多播路由协议确保数据仅送到需要的接收者。
  5. 数据的接收

    • 目的主机通过其网络接口接收并处理多播数据。主机仅接收属于它的多播组的数据。

3. 多播与单播/广播的对比

特性单播(Unicast)广播(Broadcast)多播(Multicast)
地址类型单个源和一个目的单个源和所有主机单个源和多个指定主机
带宽效率低(每个目的主机都要接收一份)极低(所有主机都接收)高(仅接收需要的主机)
路由要求每个路由器都要知道目的主机的路由表所有路由器必须转发广播数据需要多播路由协议支持
适用场景点对点通信(如 HTTP)需要广播的场景(如ARP)实时数据流、视频/音频广播

4. 多播的优势与应用

优势:
  • 带宽利用率高:通过一个多播数据报同时传输给多个接收者,避免了广播和单播所带来的带宽浪费。
  • 高效的数据分发:适合实时性要求高的应用,如视频会议、直播流、软件更新等。
  • 降低网络负担:减少了单个源主机向多个目的主机发送多份数据的负担。
应用:
  • 视频广播:多播技术广泛应用于视频流和广播电视的网络传输中,特别是 IPTV 和直播。
  • 实时音频传输:例如,在会议中多个参与者可以实时接收到音频数据。
  • 分布式系统:在需要进行数据分发的分布式系统中,IP多播也被用来同步系统各个节点的状态。
  • 大规模软件更新:将软件补丁同时推送到多个计算机。

5. IGMP(Internet Group Management Protocol)

IGMP 是一个用于管理多播组成员的协议,它工作在 网络层,允许主机动态地报告其对多播组的成员资格。IGMP 协议的工作原理大致如下:

  • 加入多播组:主机发送 IGMP 加入消息,表明它希望加入特定的多播组。
  • 查询和报告:路由器定期发送 IGMP 查询报文,询问是否仍有主机在接收特定的多播组数据。接收主机会响应 IGMP 报告消息,表明自己仍然是该多播组的成员。
  • 离开多播组:当主机不再需要接收多播数据时,它会通过 IGMP 离开该多播组。

6. 多播路由协议(PIM)

PIM 是常用的多播路由协议,它有两种工作模式:

  • PIM-SM(稀疏模式):适用于大规模多播环境。多播树只有在需要时才会建立,减少了网络开销。
  • PIM-DM(密集模式):适用于网络中大多数主机都需要接收多播数据的情况。

PIM 采用 源-接收者树共享树 来转发数据,保证数据能高效地从源主机传递到所有需要的接收者。


总结

IP多播是一种非常高效的数据传输方式,广泛应用于需要实时传输的应用中。通过多播,源主机可以将数据同时发送给多个目的主机,避免了广播和单播带来的带宽浪费,适用于视频流、音频广播等场景。实现多播需要依赖于 IGMP 协议和多播路由协议(如 PIM),并且必须支持多播地址的使用。

八.VPN&NAT

九.多协议标记交换MPLS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7156.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年博客之星主题创作|2024年蓝桥杯与数学建模年度总结与心得

引言 2024年&#xff0c;我在蓝桥杯编程竞赛和数学建模竞赛中投入了大量时间和精力&#xff0c;这两项活动不仅加深了我对算法、数据结构、数学建模方法的理解&#xff0c;还提升了我的解决实际问题的能力。从蓝桥杯的算法挑战到数学建模的复杂应用&#xff0c;我在这些竞赛中…

虚拟头节点和双指针解决链表问题(合并,与分解操作,力扣题目为例)

Problem: 21. 合并两个有序链表 Problem: 86. 分隔链表 文章目录 总览说明题目描述思路复杂度Code总结分析 总览说明 在解决链表相关的算法题目时较多使用到的技巧就是虚拟头节点、双指针&#xff0c;而题目往往都会涉及到对链表的分解、合并操作&#xff0c;本文选择两个题目将…

Gaea项目的挑战与机遇:去中心化AI平台的未来发展

尽管Gaea在去中心化AI领域展示了巨大的潜力&#xff0c;但在实际操作中仍然面临一些挑战。首先&#xff0c;平台的用户参与度至关重要。如果用户参与的资源不足&#xff0c;平台的计算能力和带宽资源将受到限制&#xff0c;从而影响AI项目的运行效率。因此&#xff0c;如何吸引…

项目练习:若依后台管理系统-后端服务开发步骤(springboot单节点版本)

文章目录 1、用Maven搭建项目脚手架&#xff0c;父子工程依赖。2、引入SpringBoot Web容器依赖3、引入Mybatisdruid依赖4、实现接口查询数据5、整合logback日志功能6、集成Redis 1、用Maven搭建项目脚手架&#xff0c;父子工程依赖。 root模块的pom添加plugin配置 <build>…

批量创建ES索引

7.x from elasticsearch import Elasticsearch# 配置 Elasticsearch 连接 # 替换为你的 Elasticsearch 地址、端口、用户名和密码 es Elasticsearch([http://10.10.x.x:43885],basic_auth(admin, XN272G9THEAPYD5N5QORX3PB1TSQELLB) )# # 测试连接 # try: # # 尝试获取集…

ansible自动化运维实战--script、unarchive和shell模块(6)

文章目录 一、script模块1.1、功能1.2、常用参数1.3、举例 二、unarchive模块2.1、功能2.2、常用参数2.3、举例 三、shell模块3.1、功能3.2、常用参数3.3、举例 一、script模块 1.1、功能 Ansible 的 script 模块允许你在远程主机上运行本地的脚本文件&#xff0c;其提供了一…

【2024年终总结】深圳工作生活评测

距离上次写年终总结已经过了一年半了&#xff0c;这一年半中哪怕经历了很多的事情&#xff0c;但是感觉又没发生什么。想写一些骚话&#xff0c;却总觉得自己无法完全表达&#xff0c;便也就这样&#xff0c;静静地记录下这一段时光。 现在是2025年&#xff0c;春节前的时光&am…

VSCode+Continue实现AI辅助编程

Continue是一款功能强大的AI辅助编程插件&#xff0c;可连接多种大模型&#xff0c;支持代码设计优化、错误修正、自动补全、注释编写等功能&#xff0c;助力开发人员提高工作效率与代码质量。以下是其安装和使用方法&#xff1a; 一、安装VSCode 参见&#xff1a; vscode安…

【游戏设计原理】82 - 巴斯特原则

巴斯特原则的核心是“对你的玩家好一点”&#xff0c;这一点直击游戏设计的核心——玩家体验。 现代游戏设计不仅要注重挑战性&#xff0c;还要关注玩家的情绪波动与行为反应。当玩家因为过高的难度感到挫败甚至愤怒时&#xff0c;他们往往选择退出游戏&#xff0c;而不是迎接…

C++内存分布与进程地址空间

C内存分布与进程地址空间 1.C/C内存分布2.进程地址空间&#xff08;补充&#xff09; &#x1f31f;&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f;&#x1f31f; &#x1f680;&#x1f680;系列专栏&#xff1a;【Linux的学习】 &#x1f4dd;&#x1f…

C语言内存管理详解

C语言不像其他高级语言那样提供自动内存管理&#xff0c;它要求程序员手动进行内存的分配和释放。在C语言中&#xff0c;动态内存的管理主要依赖于 malloc、calloc、realloc 和 free 等函数。理解这些函数的用法、内存泄漏的原因及其防止方法&#xff0c;对于编写高效、可靠的C…

头像生成小程序搭建(免费分享)

如下图为小程序页面的基本效果&#xff0c;下面将介绍该小程序的功能 页面template代码如下&#xff1a; <template><view class"avatar-containner"><block v-if"!showCropper"><image class"pageback" src"../../s…

使用 Confluent Cloud 的 Elasticsearch Connector 部署 Elastic Agent

作者&#xff1a;来自 Elastic Nima Rezainia Confluent Cloud 用户现在可以使用更新后的 Elasticsearch Sink Connector 与 Elastic Agent 和 Elastic Integrations 来实现完全托管且高度可扩展的数据提取架构。 Elastic 和 Confluent 是关键的技术合作伙伴&#xff0c;我们很…

Spring 定时任务:@Scheduled 注解四大参数解析

本文主要介绍了在 Spring 框架中使用Scheduled注解实现定时任务的方法&#xff0c;重点讲解了fixedRate、fixedDelay、cron和initialDelay这四个参数的用法&#xff0c;并通过实例代码进行了详细说明。 1. fixedRate 参数 参数含义 fixedRate指定任务固定时间间隔执行。如设…

刷题总结 回溯算法

为了方便复习并且在把算法忘掉的时候能尽量快速的捡起来 刷完回溯算法这里需要做个总结 回溯算法的适用范围 回溯算法是深度优先搜索&#xff08;DFS&#xff09;的一种特定应用&#xff0c;在DFS的基础上引入了约束检查和回退机制。 相比于普通的DFS&#xff0c;回溯法的优…

【MySQL】我在广州学Mysql 系列——MySQL用户管理详解

ℹ️大家好&#xff0c;我是练小杰&#xff0c;本博客是春节前最后一篇了&#xff0c;在此感谢大佬们今年的支持&#xff01;&#xff01;&#x1f64f;&#x1f64f; 接下来将学习MYSQL用户管理的相关概念以及命令~~ 回顾&#xff1a;&#x1f449;【MYSQL触发器的使用】 数据…

网络编程-网络原理HTTP1

文章目录 HTTP请求/响应的基本结构认识URLURL是什么和基本格式关于encoding机制 认识方法(method)GET方法简介GET方法的特点POST方法简介POST方法的特点GET和POST的区别(经典面试题)关于GET和POST的补充说明Restful风格 上节主要是对http协议的一些最基本的概念做出一些说明, 然…

概率密度函数(PDF)分布函数(CDF)——直方图累积直方图——直方图规定化的数学基础

对于连续型随机变量&#xff0c;分布函数&#xff08;Cumulative Distribution Function, CDF&#xff09;是概率密度函数&#xff08;Probability Density Function, PDF&#xff09;的变上限积分&#xff0c;概率密度函数是分布函数的导函数。 如果我们有一个连续型随机变量…

[Python学习日记-79] socket 开发中的粘包现象(解决模拟 SSH 远程执行命令代码中的粘包问题)

[Python学习日记-79] socket 开发中的粘包现象&#xff08;解决模拟 SSH 远程执行命令代码中的粘包问题&#xff09; 简介 粘包问题底层原理分析 粘包问题的解决 简介 在Python学习日记-78我们留下了两个问题&#xff0c;一个是服务器端 send() 中使用加号的问题&#xff0c…

【落羽的落羽 数据结构篇】算法复杂度

文章目录 一、数据结构和算法简介二、算法复杂度1. 时间复杂度2. 空间复杂度 一、数据结构和算法简介 数据结构是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的数据元素的集合。没有一种单一的数据结构对所有用途都有用&#xff0c;所以我们要学…