网络层 VII(IP多播、移动IP)【★★★★★★】

news2024/11/15 15:47:01

一、IP 多播

1. 多播的概念

多播是让源主机一次发送的单个分组可以抵达用一个组地址标识的若干目的主机,即一对多的通信。在互联网上进行的多播,称为 IP 多播(multicast , 以前曾译为组播)。

与单播相比,在一对多的通信中,多播可大大节约网络资源。假设视频服务器向 90 台主机传送同样的视频节目,单播与多播的比较如下图所示。

  • 下图(a)是视频服务器用单播方式向 90 台主机传送同样的视频节目。为此,需要发送 90 个单播,即同一个视频分组要发送 90 个副本。

  • 下图(b)是视频服务器用多播方式向属于同一个多播组的 90 个成员传送节目。这时,视频服务器只需把视频分组当作多播数据报来发送,并且只需发送一次。路由器 R1 在转发分组时,需要把收到的分组复制成 3 个副本,分别向 R2 , R3 和 R4 各转发 1 个副本。当分组到达目的局域网时,由于局域网具有硬件多播功能,因此不需要复制分组,在局域网上的多播组成员都能收到这个视频分组。

因此,多播时仅发送一份数据,并且只需发送一次,只有在传送路径出现分岔时才将分组复制后继续转发,因此大大减轻了发送者的负担和网络的负载。而且当多播组的主机数很大时(如成千上万个),采用多播方式就可明显地减轻网络中各种资源的消耗。

在互联网范围的多播需要路由器的支持才能实现,这些路由器必须增加一些能够识别多播数据报的软件。能够运行多播协议的路由器称为多播路由器(multicast router)。
需要注意的是:多播路由器当然也可以转发普通的单播 IP 数据报。

2. IP 多播地址

在互联网上进行多播就叫做 IP 多播。IP 多播所传送的分组需要使用多播 IP 地址。

【思考】我们知道,在互联网中每一台主机必须有一个全球唯一的 IP 地址。如果某台主机现在想接收某个特定多播组的分组,那么怎样才能使这个多播数据报传送到这台主机?

显然,这个多播数据报的目的地址一定不能是这台主机的 IP 地址。这是因为在同一时间可能有成千上万台主机加入到同一个多播组。多播数据报不可能在其首部写入所有主机的 IP 地址。

因此,多播数据报的源地址是源主机的 IP 地址,目的地址是多播组的标识符(即 IP 多播地址),然后设法让加入到这个多播组的主机的 IP 地址与多播组的标识符关联起来。

其实多播组的标识符就是 IPv4 地址中的 D 类地址。D 类 IP 地址的前四位是 1110 ,因此 D 类地址范围是 224.0.0.0 到 239.255.255.255 。我们就用每一个 D 类地址标志一个多播组,一台主机可以随时加入或离开一个多播组。

这样,D 类地址共可标志 228 个多播组,也就是说,在同一时间可以允许有超过 2.6 亿的多播组在互联网上运行。多播数据报和一般的 IP 数据报的区别是:前者使用 D 类 IP 地址作为目的地址,并且首部中的协议字段值是 2(表明使用网际组管理协议 IGMP )。需要注意的是:

  • 多播数据报也是“尽最大努力交付”,不提供可靠交付,不保证一定能够交付多播组内的所有成员。
  • 多播地址只能用于目的地址,而不能用于源地址。
  • 对多播数据报不产生 ICMP 差错报文。因此,若在 PING 命令后面键入多播地址,将永远不会收到响应。

IP 多播可以分为两种:

  • 一种是只在本局域网上进行硬件多播;
  • 另一种则是在互联网的范围进行多播。

前一种虽然比较简单,但很重要,因为现在大部分主机都是通过局域网接入到互联网的。因此,在互联网上进行多播的最后阶段,还是要把多播数据报在局域网上用硬件多播交付多播组的所有成员。

多播机制仅应用于 UDP,它能将报文同时发送给多个接收者。而 TCP 是一个面向连接的协议,它意味着分别运行在两台主机的进程之间存在一条连接,因此会一对一地发送。

3. 在局域网上进行硬件多播

因为局域网支持硬件多播,所以只要把 IP 多播地址映射成多播 MAC 地址,即可将 IP 多播数据报封装在局域网的 MAC 帧中,而 MAC 帧首部的目的 MAC 地址字段就设置为由 IP 多播地址映射成的多播 MAC 地址。这样,就很方便地利用硬件多播实现了局域网内的 IP 多播。

互联网号码指派管理局 IANA 拥有的以太网地址块的高 24 位为 00-00-5E ,因此 TCP/IP 协议使用的以太网多播地址块的范围是从 00-00-5E-00-00-00 到 00-00-5E-FF-FF-FF 。由于以太网硬件地址字段中的第 1 字节的最低位为 1 时即为多播地址,这种多播地址数占 IANA 分配到的地址数的一半。因此 IANA 拥有的以太网多播地址的范围是从 01-00-5E-00-00-00 到 01-00-5E-7F-FF-FF 。

在这些地址中,只有 23 位可用作多播。这只能和 D 类 IP 地址中的 23 位有一一对应关系。D 类 IP 地址可供分配的有 28 位,可见在这 28 位中前 5 位无法映射到多播 MAC 地址,如下图所示。

例如:IP 多播地址 224.128.64.32(即 E0-80-40-20)和另一个 IP 多播地址 224.0.64.32(即 E0-00-40-20)转换成以太网的硬件多播地址都是 01-00-5E-00-40-20 。

因为多播 IP 地址与以太网 MAC 地址的映射关系不是唯一的,所以收到多播数据报的主机,还要在 IP 层利用软件进行过滤,把不是本主机要接收的数据报丢弃。

4. 网际组管理协议 IGMP 和多播路由选择协议

1)IP 多播需要两种协议

下图是在互联网上传送多播数据报的例子。图中标有 IP 地址的四台主机都参加了一个多播组,其组地址是 226.15.37.123 。显然,多播数据报应当传送到路由器 R1 , R2 和 R3 ,而不应当传送到路由器 R4 ,因为与 R4 连接的局域网上现在没有这个多播组的成员。但这些路由器又怎样知道多播组的成员信息呢?路由器要获得多播组的成员信息,需要利用一个协议,叫做网际组管理协议 IGMP(Internet Group Management Protocol)。

上图强调了 IGMP 的本地使用范围。请注意, IGMP 并非在互联网范围内对所有多播组成员进行管理的协议。IGMP 不知道 IP 多播组包含的成员数,也不知道这些成员都分布在哪些网络上,等等。IGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。

显然,仅有 IGMP 协议是不能完成多播任务的。连接在局域网上的多播路由器还必须和互联网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员。这就需要使用多播路由选择协议

然而多播路由选择协议要比单播路由选择协议复杂得多。我们可以通过一个简单的例子来说明。如下图所示是用来说明多播路由选择的示意图。

我们假定上图中有两个多播组。多播组 ① 的成员有主机 A , B 和 C ,而多播组 ② 的成员有主机 D , E 和 F 。这些主机分布在三个网络上(N1 , N2 和 N3) 。

路由器 R 不应当向网络 N3 转发多播组 ① 的分组,因为网络 N3 上没有多播组 ① 的成员。但是每一台主机可以随时加入或离开一个多播组。例如,如果主机 G 现在加入了多播组 ① ,那么从这时起,路由器 R 就必须也向网络 N3 转发多播组 ① 的分组。这就是说,多播转发必须动态地适应多播组成员的变化(这时网络拓扑并未发生变化)。

请注意,单播路由选择通常是在网络拓扑发生变化时才需要更新路由。

再看一种情况。主机 E 和 F 都是多播组 ② 的成员。当 E 向 F 发送多播数据报时,路由器 R 把这个多播数据报转发到网络 N3 。但当 F 向 E 发送多播数据报时,路由器 R 则把多播数据报转发到网络 N2 。如果路由器 R 收到来自主机 A 的多播数据报(A 不是多播组 ② 的成员,但也可向多播组发送多播数据报),那么路由器 R 就应当把多播数据报转发到 N2 和 N3 。由此可见,多播路由器在转发多播数据报时,不能仅仅根据多播数据报中的目的地址,而是还要考虑这个多播数据报从什么地方来和要到什么地方去。

还有一种情况。主机 G 没有参加任何多播组,但 G 却可向任何多播组发送多播数据报。例如,G 可向多播组 ① 或 ② 发送多播数据报。主机 G 所在的局域网上可以没有任何多播组的成员。显然,多播数据报所经过的许多网络,也不一定非要有多播组成员。总之,多播数据报可以由没有加入多播组的主机发出,也可以通过没有组成员接入的网络。

正因为如此, IP 多播就成为比较复杂的问题。下面介绍这两种协议的要点。

2)网际组管理协议 IGMP

和网际控制报文协议 ICMP 相似,IGMP 使用 IP 数据报传递其报文(即 IGMP 报文加上 IP 首部构成 IP 数据报),但它也向 IP 提供服务。因此,我们不把 IGMP 看成是一个单独的协议,而是属于整个网际协议 IP 的一个组成部分。

从概念上讲, IGMP 的工作可分为以下两个阶段:

  • 第一阶段:当某台主机加入新的多播组时,该主机应向多播组的多播地址发送一个 IGMP 报文,声明自己要成为该组的成员。本地的多播路由器收到 IGMP 报文后,还要利用多播路由选择协议把这种组成员关系转发给互联网上的其他多播路由器。

  • 第二阶段:组成员关系是动态的。本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要有一台主机对某个组响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一台主机响应,多播路由器就认为本网络上的主机已经都离开了这个组,因此也就不再把这个组的成员关系转发给其他的多播路由器。

【拓展】:IGMP 设计得很仔细,避免了多播控制信息给网络增加大量的开销。IGMP 采用的一些具体措施如下:

  • 在主机和多播路由器之间的所有通信都是使用 IP 多播。只要有可能,携带 IGMP 报文的数据报都用硬件多播来传送。因此在支持硬件多播的网络上,没有参加 IP 多播的主机不会收到 IGMP 报文。

  • 多播路由器在探询组成员关系时,只需要对所有的组发送一个请求信息的询问报文,而不需要对每一个组发送一个询问报文(虽然也允许对一个特定组发送询问报文)。默认的询问速率是每 125 秒发送一次(通信量并不太大)。

  • 当同一个网络上连接有几个多播路由器时,它们能够迅速和有效地选择其中的一个来探询主机的成员关系。因此,网络上多个多播路由器并不会引起 IGMP 通信量的增大。

  • 在 IGMP 的询问报文中有一个数值 N ,它指明一个最长响应时间(默认值为 10 秒)。当收到询问时,主机在 0 到 N 之间随机选择发送响应所需经过的时延。因此,若一台主机同时参加了几个多播组,则主机对每一个多播组选择不同的随机数。对应于最小时延的响应最先发送。

  • 同一个组内的每一台主机都要监听响应,只要有本组的其他主机先发送了响应,自己就可以不再发送响应了。这样就抑制了不必要的通信量。

多播路由器并不需要保留组成员关系的准确记录,因为向局域网上的组成员转发数据报是使用硬件多播。多播路由器只需要知道网络上是否至少还有一台主机是本组成员即可。实际上,对询问报文每一个组只需有一台主机发送响应。

如果一台主机上有多个进程都加入了某个多播组,那么这台主机对发给这个多播组的每个多播数据报只接收一个副本,然后给主机中的每一个进程发送一个本地复制的副本。

最后我们还要强调指出,多播数据报的发送者和接收者都不知道(也无法找出)一个多播组的成员有多少,以及这些成员是哪些主机。互联网中的路由器和主机都不知道哪个应用进程将要向哪个多播组发送多播数据报,因为任何应用进程都可以在任何时候向任何一个多播组发送多播数据报,而这个应用进程并不需要加入这个多播组。

3)多播路由选择协议

虽然在 TCP/IP 中 IP 多播协议已成为建议标准,但多播路由选择协议(用来在多播路由器之间传播路由信息)则尚未标准化。

在多播过程中一个多播组中的成员是动态变化的。例如在收听网上某个广播节目时,随时会有主机加入或离开这个多播组。多播路由选择实际上就是要找出以源主机为根节点的多播转发树。在多播转发树上,每一个多播路由器向树的叶节点方向转发收到的多播数据报,但在多播转发树上的路由器不会收到重复的多播数据报(即多播数据报不会在互联网中兜圈子,每个分组在每条链路上只传送一次)。

不难看出,对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。

【拓展】:已有了多种实用的多播路由选择协议,它们在转发多播数据报时使用了以下的三种方法:

  • 洪泛与剪除。
  • 隧道技术(tunneling)。
  • 基千核心的发现技术。

5. 例题

① 以下关于多播概念的描述中,错误的是( D )。
A. 在单播路由选择中,路由器只能从它的一个接口转发收到的分组
B. 在多播路由选择中,路由器可以从它的多个接口转发收到的分组
C. 用多个单播仿真一个多播时需要更多的带宽
D. 用多个单播仿真一个多播时时延基本上是相同的
【多个单播可以仿真多播,但是一个多播所需要的带宽要小于多个单播带宽之和;用多个单播仿真一个多播时,路由器的时延将很大,而处理一个多播分组的时延是很小的。】

② 在设计多播路由时,为了避免路由环路,( B )。
A. 采用了水平分割技术
B. 构造多播转发树
C. 采用了 IGMP
D. 通过生存时间(TTL)字段
【水平分割用于避免距离-向量路由算法中的无穷计数问题。TTL 字段用于防止 IP 分组因为环路而在网络中无限循环。】

因为树具有不存在环路的特性,所以构造一个多播转发树,通过该转发树既能将多播分组传送到组内的每台主机,又能避免环路。

③ 以太网多播 IP 地址 224.215.145.230 应该映射到的多播 MAC 地址是( A )。
A. 01-00-5E-57-91-E6
B. 01-00-5E-D7-91-E6
C. 01-00-5E-5B-91-E6
D. 01-00-5E-55-91-E6

④ 下列地址中,( B )是多播地址。
A. 10.255.255.255
B. 228.47.32.45
C. 192.32.44.59
D. 172.16.255.255
【多播地址使用点分十进制表示的范围是 224.0.0.0~239.255.255.255 。】

二、移动 IP

1. 移动 IP 的概念

移动 IP(Mobile IP)又称为移动 IP 协议。这种技术允许计算机移动到外地时,仍然保留其原来的 IP 地址。移动 IP 的目标是把分组自动地投递给移动站。移动 IP 对现在流行的在移动中上网有着重要的意义。

一个移动站是把其连接点从一个网络或子网改变到另一个网络或子网的主机。移动站以固定的 IP 地址实现跨越不同网络的漫游功能,且基于 IP 的网络权限在漫游过程中不发生任何改变。

移动 IP 定义了三种功能实体:移动结点、本地代理(也称归属代理)和外地代理。

  • 移动结点:具有永久 IP 地址的移动主机。

  • 本地代理:通常就是连接在归属网络(原始连接到的网络)上的路由器。

  • 外地代理:通常就是连接在被访网络(移动到另一地点所接入的网络)上的路由器。

值得注意的是:

假定某用户将笔记本关机后从家里带到办公室重新上网(这个用户和他使用的电脑在地理上都更换了位置),该用户在办公室能很方便地通过动态主机配置协议 DHCP 自动获取新的 IP 地址。虽然笔记本移动了,更换了地点及所接入的网络,但这并不是移动 IP 。

我们可以看出,从本质上看,这个用户的上网和传统的在固定地点上网并没有本质上的差异。用户在不同地点上网使用了不同的 IP 地址,但这对用户来说并不重要,因为在很多情况下,用户并不关心他所使用的具体的 IP 地址是什么。
IP 地址并不仅仅指明一台主机,还指明了主机所连接到的网络。当一个移动站在改变地理位置时,由于所接入的网络不同(我们不可能在任何地点所接入的网络都具有同一个网络号),因此,当一个移动站在异地接入到当地的网络时,其 IP 地址必然要改变(路由器的寻址是先找到目的网络,而目的主机就连接在这个目的网络上。如果有个移动站连接到外地的某个网络但并不改变其 IP 地址,那么按常规的寻址方法,互联网中的路由器就无法找到这个移动站)。

但是,若我们需要在移动中进行 TCP 传输,则在移动站漫游时,应一直保持这个 TCP 连接,否则移动站的 TCP 连接就会断断续续(因为 TCP 连接的建立是需要时间的,不可能瞬间就建立好)。可见,若要使移动站在移动中的 TCP 连接不中断,就必须使笔记本的 IP 地址在移动中保持不变。

移动 IP 要解决的问题,就是要使用户的移动性对上层的网络应用是透明的。或者更加具体些说,就是若一个移动站在漫游时仍保持其 IP 地址不变,就要想办法使已建立的 TCP 连接与移动用户的漫游无关。此外,还要想办法让互联网中的其他主机能够找到这个移动站。

2. 移动 IP 通信过程

用一个通俗的例子来描述移动 IP 的通信原理。例如,在以前科技不那么发达的年代,本科毕业时都将走向各自的工作岗位。因为事先并不知道自己未来的准确通讯地址,所以怎样继续和同学们保持联系呢?实际上也很简单。彼此留下各自的家庭地址(即永久地址)。毕业后若要和某同学联系,只要写信寄到该同学的永久地址,再请其家长把信件转交即可。在得知该同学新的地址后,就可使用这个新地址直接联系了。

在移动 IP 中,每个移动站都有一个原始地址(相当于上面提到的家庭地址),即永久地址(或归属地址, home address),移动站原始连接的网络称为归属网络(home network)。永久地址和归属网络的关联是不变的。在下图中,移动站 A 的永久地址是 131.8.6.7/16 ,而其归属网络是 131.8.0.0/16 。

为了让地址的改变对互联网的其余部分是透明的,移动 IP 使用了代理。归属代理(home agent)通常就是连接在归属网络上的路由器,然而它作为代理的特定功能则是在应用层完成的。因此,归属代理既是路由器,也是主机。

当移动站 A 移动到另一个地点,他所接入的网络称为被访网络(visited network)或外地网络(foreign network)。被访网络中使用的代理叫做外地代理(foreign agent),它通常就是连接在被访网络上的路由器(当然也充当主机)。假定移动站 A 到达的网络是被访网络 15.0.0.0/8 。

外地代理有两个重要功能:

  • 要为移动站 A 创建一个临时地址,叫做转交地址(care-of address)。转交地址的网络号显然必须和被访网络一致。我们假定现在 A 的转交地址是 15.5.6.7/8 。

  • 及时把移动站 A 的转交地址通知 A 的归属代理。

请注意两点:

  • 转交地址是供移动站、归属代理以及外地代理使用的,各种应用程序都不使用这种转交地址;

  • 转交地址在互联网中并不具有唯一性。这就是说,外地代理可以给好几个移动站指派同样的转交地址,甚至把自己的 IP 地址指派为移动站的转交地址。这样做并不会引起混乱。这是因为当外地代理要向连接在被访网络上的移动站发送数据报时,并不会像通常那样使用地址解析协议 ARP ,而是直接使用这个移动站的 MAC 地址(当移动站首次和外地代理通信时,外地代理就记录下这个移动站的 MAC 地址)。

【拓展】有时,移动站本身也可以充当外地代理,即移动站和外地代理是同一个设备。这时的转交地址叫做同址转交地址(co-located care-of address) 。但是,要这样做,移动站必须能够接收发送到转交地址的数据报。使用同址转交地址的好处是移动站可以移动到任何网络,而不必担心外地代理的可用性。但缺点是移动站需要有额外的软件,使之能够充当自己的外地代理。

3. 移动 IP 的基本通信流程

假定在上图中,有一个通信者 B 要和移动站 A 进行通信。B 并不知道 A 在什么地方。但 B 可以使用 A 的永久地址作为发送的 IP 数据报中的目的地址。移动 IP 的基本通信流程如下:

  • 移动站 A 在归属网络时,按传统的 TCP/IP 方式进行通信。

  • 移动站 A 漫游到被访网络时,向外地代理进行登记,以获得一个临时的转交地址。外地代理要向 A 的归属代理登记 A 的转交地址。

  • B 发送给 A 的数据报被 A 的归属代理截获了(只有当 A 离开归属网络时,归属代理才能截获发给 A 的数据报)。

  • 由于归属代理知道移动站 A 的转交地址,因此会构建一条通向转交地址的隧道,归属代理将截获的 B 发送给 A 的 IP 分组进行再封装,新的数据报的目的地址是 A 现在的转交地址,并使用隧道技术发送给被访网络的外地代理。

  • 被访网络中的外地代理把收到的封装的 IP 分组进行拆封,恢复成 B 发送的原始的 IP 分组(这个数据报的目的地址就是 A 的永久地址),然后发送给移动站 A ,A 收到 B 发送的原始数据报后,也得到了 B 的 IP 地址。这样 A 在被访网络就能收到这些发送给它的 IP 分组。

  • 如果现在 A 要向 B 发送数据报,那么情况就比较简单。移动站 A 在被访网络对外发送 IP 分组时,仍然使用自己的永久地址作为 IP 分组的源地址,用 B 的 IP 地址作为数据报的目的地址。此时显然无须通过 A 的归属代理来转发,而是直接通过被访网络的外部代理。

  • 移动站 A 移动到另一被访网络时,在新外地代理登记后,然后新外地代理将 A 的新转交地址告诉其归属代理。无论如何移动,A 收到的 IP 分组都是由归属代理转发的。

  • 移动站 A 回到归属网络时,A 向归属代理注销转交地址。

从以上所述可以看出,为了支持移动性,在网络层应当增加以下的一些新功能:

  • 移动站到外地代理的协议。当移动站接入到被访网络时,必须向外地代理进行登记,以获得一个临时的转交地址。同样地,当移动站离开该被访网络时,它要向这个被访网络注销其原来的登记。

  • 外地代理到归属代理的登记协议。外地代理要向移动站的归属代理登记移动站的转交地址。当移动站离开被访网络时,外地代理并不需要注销其在归属代理登记的转交地址。这是因为当移动站接入到另一个网络时,这个新的被访网络的外地代理就会到移动站的归属代理登记该移动站现在的转交地址,这样就取代了原来旧的转交地址。

  • 归属代理数据报封装协议。归属代理收到发送给移动站的数据报后,将其再封装为一个新的数据报,其目的地址为移动站的转交地址,然后转发。

  • 外地代理拆封协议。外地代理收到归属代理封装好的数据报后,取出原始数据报,并将此数据报发送给移动站。

像上图所示的数据报转发过程,又称为间接路由选择。这是因为源站并不知道移动站的当前地址,而是把数据报发往移动站的归属网络,以后的寻址工作都由归属代理来完成。

4. 拓展

上述的例子属于间接路由选择,可能会引起数据报转发的低效,文献中称之为三角形路由选择问题(triangle routing problem)。意思是,本来在 B 和 A 之间可能有一条更有效的路由,但现在要走另外两条路:先要把数据报从 B 发送到 A 的归属代理,然后再转发给漫游到被访网络的 A 。

设想一个极端的例子。如果 B 所在的网络就是 A 到达的被访网络。在这种情况下, B 发送数据报给 A 就是在同一个网络上非常简便的直接交付,根本不需要使用路由器。但由于 B 并不知道 A 的位置,因此只好让发送给 A 的数据报两次穿越广域网,既浪费了时间,也增加了网上不必要的通信量。

解决这个问题的一种方法是使用直接路由选择,但这是以增加复杂性为代价的。这种方法就是让通信者 B 创建一个通信者代理(correspondent agent),让这个通信者代理向归属代理询问到移动站在被访网络的转交地址,然后由通信者代理(而不是由归属代理)把数据报用隧道技术发送到被访网络的外地代理,最后再由这个外地代理拆封,把数据报转发给移动站。

使用这种方法时必须解决以下两个问题:

  • 增加一个协议,即移动用户定位协议(mobile-user location protocol),用来使通信者代理向移动站的归属代理查询移动站的转交地址。

  • 当移动站再移动到其他网络时,怎样得到移动站的位置信息?关于这个问题,我们可以用下图所示的几个重要步骤来说明。

  • B 的通信者代理从移动站 A 的归属代理得到 A 所漫游到的被访网络 N1 的外地代理。我们把移动站首次漫游到的被访网络的外地代理称为锚外地代理(anchor foreign agent) 。

  • 通信者代理把 B 发给 A 的数据报再封装后,发送到 A 的锚外地代理。

  • 锚外地代理把拆封后的数据报发送给 A 。

  • A 移动到另一个被访网络 N2

  • A 向被访网络 N2 的新外地代理登记。

  • 新外地代理把 A 的新转交地址告诉锚外地代理。

  • 当锚外地代理收到发给 A 的封装数据报后,就用 A 的新转交地址对数据报进行再封装,然后发送给被访网络 N2 上的新外地代理。在拆封后转发给移动站 A 。

同理,如果移动站再漫游到另一个网络,则这个网络的外地代理将仍然要和锚外地代理联系,以便让锚外地代理以后把发给 A 的数据报转发过来。

5. 例题

① 以下关于移动 IP 基本工作原理的描述中,错误的是( C )。
A. 移动 IP 的基本工作过程可以分为代理发现、注册、分组路由与注销 4 个阶段
B. 结点在使用移动 IP 进行通信时,归属代理和外部代理之间需要建立一条隧道
C. 移动结点到达新的网络后,通过注册过程把自己新的可达信息通知外部代理
D. 移动 IP 的分组路由可以分为单播、广播与多播
【把移动结点新的可达信息(转交地址)通知归属代理。这样,归属代理就可将发往移动结点的分组通过隧道转到转交地址(外部代理),再由外部代理交付给移动结点。】

② 一台主机移动到了另一个 LAN 中,若一个分组到达了它原来所在的 LAN 中,则分组会被转发给( A )。
A. 移动 IP 的本地代理
B. 移动 IP 的外部代理
C. 主机
D. 丢弃
【当一个分组到达用户的本地 LAN 时,它被转发给某一台与本地 LAN 相连的路由器。该路由器寻找目的主机,这时本地代理响应该请求,将这些分组封装到一些新 IP 分组的载荷,并将新分组发送给外部代理,外部代理将原分组解出来后,移交给移动后的主机。】

③ 移动 IP 为移动主机设置了两个 IP 地址:主地址和辅地址,( C )。
A. 这两个地址都是固定的
B. 这两个地址随主机的移动而动态改变
C. 主地址固定,辅地址动态改变
D. 主地址动态改变,辅地址固定
【移动主机在原始本地网时,获得的是主地址,当它移动到一个外地网络中时,需获得一个新的临时辅地址,主地址保持不变;当它移动到另一个外地网络或返回本地网络时,辅地址改变或撤销,而主地址仍然保持不变。】

④ 若一台主机的 IP 地址为 160:80.40.20/16 ,则当它移动到另一个不属于 160.80/16 子网的网络时,它将( D )。(能否通过被访网络的路由器直接发送 / 接收数据报)
A. 可以直接接收和直接发送数据报,没有任何影响
B. 既不可以直接接收数据报,也不可以直接发送数据报
C. 不可以直接发送数据报,但可以直接接收数据报
D. 可以直接发送数据报,但不可以直接接收数据报

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【go】内存分配模型

内存是怎么分配给对象的? 内存分配优化的地方是? 讲讲golang内存分配模型? ans: 1.按照对象的大小分配:先算出对象的大小如果是tiny对象,就从tiny block中获取地址和偏移量,将对象打包到mcache;如果是16B以…

Xilinx系FPGA学习笔记(五)ROM的IP核学习

系列文章目录 文章目录 系列文章目录前言ROM IP分布式ROM生成ROM配置创建COE文件 块ROM生成如何快速生成Example Design 两种ROM对比 前言 最近在学习小梅哥的xilinx型FPGA开发板,一边学习一边记录,简化整理一下笔记 ROM IP 在 Memories &Storage …

JVM、JRE和 JDK:理解Java开发的三大核心组件

Java是一门跨平台的编程语言,它的成功离不开背后强大的运行环境与开发工具的支持。在Java的生态中,JVM(Java虚拟机)、JRE(Java运行时环境)和JDK(Java开发工具包)是三个至关重要的核心…

致远个性化之--获取明细表中相同类型的数据汇总,并赋值对应明细行中

需求 由于在近期的项目中,有预算、费用管控等需求,而且在报销填报时,费用明细项可能会有重复相同的费用类型发生多项,而相同的费用类型是多项时,要求按照汇总后的费用管控。 具体示例图如下: 邮寄费发生了两…

有希带你深入理解指针(4)

目录 前言🥰1.回调函数😺1.1回调函数的概念😋 2.qsort使用🤯2.1什么是qsort👻2.2 qsort函数的使用🧐 3.模拟实现qsort😎 前言🥰 本篇文章是对指针知识的进一步讲解,如果…

无人机飞手执照:模拟训练技术详解

随着无人机技术的飞速发展,其在航拍、农业、物流、救援等多个领域的应用日益广泛,对无人机飞手的技能与安全意识要求也随之提高。为了确保无人机操作的安全性与效率,获取无人机飞手执照成为专业从业者不可或缺的步骤。模拟训练作为执照考取过…

第一个搭建SpringBoot项目(连接mysql)

首先新建项目找到Spring Initializr 我使用的URL是https://start.spring.io这里最低的JDK版本是17,而且当网速不好的时候可能会显示超时,这里可以选用阿里云的镜像https://start.aliyun.com可以更快一些但是里面还是有一些区别的 我们这里选择Java语言&a…

【OpenCV3】图像的翻转、图像的旋转、仿射变换之图像平移、仿射变换之获取变换矩阵、透视变换

1 图像的放大与缩小 2 图像的翻转 3 图像的旋转 4 仿射变换之图像平移 5 仿射变换之获取变换矩阵 6 透视变换 1 图像的放大与缩小 resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) src: 要缩放的图片dsize: 缩放之后的图片大小, 元组和列表表示均可.dst: 可选参数, 缩…

AIGC大模型智能抠图(清除背景):Sanster/IOPaint,python(2)

AIGC大模型智能抠图(清除背景):Sanster/IOPaint,python(2) 在文章(1)的基础上,尝试用大模型扣除图中的某些主要景物。 1、首先,安装插件: pip i…

Qt项目使用Inno Setup打包(关于打包中文乱码的解决)

​ 关于打包好的文件乱码解决方法 打包好的文件中文乱码,就是编码格式出现了问题,更改一下中文脚本编码格式,在官网Inno Setup Translations下载好中文脚本 点击下载,然后另存为 得到ChineseSimplified.isl.txt文件后&#…

使用3DUNet训练自己的数据集(pytorch)— 医疗影像分割

代码:lee-zq/3DUNet-Pytorch: 3DUNet implemented with pytorch (github.com) 文章<cicek16miccai.pdf (uni-freiburg.de)3D U-Net: Learning Dense Volumetric Segmentation

贷款利率高低跟什么有关?仅凭身份证就能贷到款?额度是多少?

在金融的广阔舞台上&#xff0c;借款人的“信用基石”——即其综合资质&#xff0c;是决定贷款利率高低的决定性因素。这并非偶然&#xff0c;而是银行基于详尽的风险评估与收益预期所做出的精准判断。 需明确的是&#xff0c;贷款的易得性并不意味着无门槛的放任。它更像是设置…

【动手学深度学习】04 数据操作 + 数据预处理(个人向笔记)

数据操作 N维数组是机器学习和神经网络的主要数据结构其中 2-d 矩阵中每一行表示每一行表示一个样本 当维度来到三维的时候则可以表示成一张图片&#xff0c;再加一维就可以变成多张图片&#xff0c;再加一维则可以变成一个视频 访问元素 冒号表示从冒号左边的元素到冒号右…

巨魔商店2安装教程,支持最新iOS 17.0的所有型号

支持iOS15.0到16.6.1、16.7 RC (20H18)和17.0的所有iPhone/iPad。 工具下载地址&#xff1a; https://wwi.lanzoup.com/b0knd3q5g 密码:czhi Windows安装教程&#xff1a; 1&#xff0c;电脑必须安装ITunes&#xff0c;关闭查找我的 iPhone&#xff0c;手机上必须要有提示&…

python imshow报错怎么解决

实例如下所示&#xff1a; import matplotlib.pyplot as plt plt.imshow(img) #控制台打印出图像对象的信息&#xff0c;而图像没有显示 解决方法&#xff1a; #引入pylab解决 import matplotlib.pyplot as plt import pylab plt.imshow(img) pylab.show()

MES管理系统助力企业车间管理可视化

MES管理系统作为连接计划层与现场自动化系统的桥梁&#xff0c;在助力企业车间管理可视化方面发挥着重要作用。以下是MES管理系统如何助力企业车间管理可视化的详细阐述&#xff1a; 一、MES管理系统的概述 MES&#xff08;制造执行系统&#xff09;是一种用于生产车间的实时信…

点云数据常见的坐标系有哪些,如何进行转换?

文章目录 一、点云坐标系分类1. 世界坐标系2. 相机坐标系3. 极坐标系4. 笛卡尔坐标系(直角坐标系):5. 传感器坐标系6. 地理坐标系二、坐标系转换方法1. 地理坐标系与投影坐标系之间的转换2. 投影坐标系与局部坐标系之间的转换3. 局部坐标系与3D模型坐标系之间的转换4. 相机坐…

访问修饰符public、protected、private,基于C++

一、基本概念 公有&#xff08;public&#xff09;成员 公有成员在程序中类的外部是可访问的。您可以不使用任何成员函数来设置和获取公有变量的值&#xff0c; 私有&#xff08;private&#xff09;成员 私有成员变量或函数在类的外部是不可访问的&#xff0c;甚至是不…

部落冲突:精通五个流派,部落战传奇杯横着走,但前提是能精通!

部落冲突&#xff1a;精通五个流派&#xff0c;部落战传奇杯横着走&#xff0c;但前提是能精通&#xff01; 在部落冲突当中有很多的流派&#xff0c;每个流派都有着属于自己的特点&#xff0c;但是速途同归的每个流派的最终目的都是用来打部落战和传奇杯&#xff0c;日常打资…

MAT:一款针对MSSQL服务器的安全检测与审计工具

关于MAT MAT是一款针对MSSQL服务器的安全检测与审计工具&#xff0c;该工具使用C#开发&#xff0c;可以帮助广大研究人员快速识别和发现MSSQL 服务器中的安全问题&#xff0c;并实现安全检测与审计目的。 功能介绍 1、执行自动检查并识别安全问题&#xff1b; 2、允许通过 Win…