计算机网络:自顶向下方法(第七版)第七章 学习分享(四)

文章目录


前言

阅读本文前请注意最后编辑时间,文章内容可能与目前最新的技术发展情况相去甚远。欢迎各位评论与私信,指出错误或是进行交流等。

本文是关于《计算机网络:自顶向下方法(第七版)》的学习分享,内容书写顺序也是按照书中的顺序。本文并不会提及书中的所有内容,主要写重点的知识,以及自己感兴趣的内容。会对原文中的内容进行一定的精简,或者加上个人的理解。


无线网络与移动网络

移动 IP

支持移动性的因特网体系结构与协议合起来称为移动IP。 移动 IP是一个灵活的标准,支持许多不同的运行模式(例如,具有或不具有外部代

理的运行),代理与移动节点相互发现的多种方式,使用单个或多个COA, 以及多种形式的封装。 这里,我们最基本的目标是对移动 IP 最重要的部分进行概述,并说明它在一些常见情形中的使用。

移动IP体系结构包含了许多我们前面考虑过的要素,包括归属代理、 外部代理、转交地址和封装/拆封等概念。当前的标准 [RFC 5944] 规定到移动节点使用间接路由选择 的方法。 移动IP标准由三部分组成:

  • 代理发现。 移动IP定义了一个归属代理或外部代理用来向移动节点通告其服务的协议,以及移动节点请求一个外部代理或归属代理的服务所使用的协议。
  • 向归属代理注册。 移动IP 定义了移动节点/外部代理向一个移动节点的归属代理注册或注销COA所使用的协议。
  • 数据报的间接路由选择。该标准定义了数据报被一个归属代理转发给移动节点的方式,包括转发数据报使用的规则、处理差错情况的规则和几种不同的封装形式。

在整个移动IP标准中安全性的考虑是很重要的。例如,显然需要对一个移动节点进行鉴别以确保一个恶意用户不能向归属代理注册一个伪造的转交地址,伪造地址将导致所有发给某个IP地址的数据报被重定向到恶意用户。 移动 IP使用许多机制来实现安全性,我们将在第8章学习这些机制,在以下的讨论中将不考虑安全性问题。

  1. 代理发现
    到达一个新网络的某移动IP节点,不管是连到一个外部网络还是返回其归属网络、它都必须知道相应的外部代理或归属代理的身份。这个过程被称为代理发现 (agent discovery) 。 代理发现可以通过下列两种方法之一实现: 经代理通告或者经代理请求。
    借助于代理通告 (agent advertisement) , 外部代理或归属代理使用一种现有路由器发现协议的扩展协议[RFC 1256] 来通告其服务。 该代理周期性地在所有连接的链路上广播一个类型字段为9 (路由器发现)的 ICMP报文。 路由器发现报文也包含路由器(即该代理)的IP地址,因此允许一个移动节点知道该代理的IP地址。 路由器发现报文还包括了一个移动性代理通告扩展,其中包含了该移动节点所需的附加信息。 在这种扩展中有如下一些较重要的字段:
  • 归属代理比特 (H)。 指出该代理是它所在网络的一个归属代理。
  • 外部代理比特 (F)。 指出该代理是它所在网络的一个外部代理。
  • 注册要求比特 ®。 指出在该网络中的某个移动用户必须向某个外部代理注册。有一个特别的情况, 一个移动用户不能在外部网络(如使用 DHCP) 中获得一个转交地址,并假定由它自己承担外部代理的功能,则无须向外部代理注册。
  • M、 G封装比特。 指出除了 "IP 中的 IP" (IP-in-IP) 封装形式外, 是否还要用其他的封装形式。
  • 转交地址 (COA) 字段。 由外部代理提供的一个或多个转交地址的列表。 在下面的例子中, COA将与外部代理关联,外部代理将接收发给该COA 的数据报,然后 再转发到适当的移动节点。 移动用户在向其归属代理注册时将选择这些地址中的 一个作为其COA。

下图说明了在代理通告报文中的某些关键字段。

使用代理请求 (agent solicitation) , 一个想知道代理的移动节点不必等待接收代理通告,就能广播一个代理请求报文,该报文只是一个类型值为10的ICMP报文。 收到该请求的代理将直接向该移动节点单播一个代理通告。

  1. 向归属代理注册
    一旦某个移动IP节点收到一个 COA, 则该地址必须要向归属代理注册。这可通过外部代理(由它向归属代理注册该COA) 或直接通过移动IP节点自己来完成。 我们下面考虑前一种情况,共涉及4个步骤。
  1. 当收到一个外部代理通告后, 一个移动节点立即向外部代理发送一个移动IP注册报文。 注册报文承载在一个 UDP数据报中并通过端口434发送。 注册报文携带以下内容: 一个由外部代理通告的COA、归属代理的地址 (HA) 、移动节点的永久地址 (MA)、请求的注册寿命和一个64 比特的注册标识。 请求的注册寿命指示了注册有效的秒数。 如果注册没有在规定的时间内在归属代理上更新,则该注册将变得无效。 注册标识就像一个序号,用于收到的注册回答与注册请求的匹配。
  2. 外部代理收到注册报文并记录移动节点的永久IP地址。外部代理然后向归属代理的434端口发送一个移动 IP注册报文(同样封装在UDP数据报中)。 这一报文包括COA、 HA、 MA、封装格式要求、请求的注册寿命以及注册标识。
  3. 归属代理接收注册请求并检查真实性和正确性。归属代理把移动节点的永久IP地址与COA 绑定在一起。 以后,到达该归属代理的数据报并发往移动节点的数据报将被封装,以隧道方式给COA。 归属代理发送一个移动 IP注册回答,该响应报文中包含有 HA 、MA、实际注册寿命和被认可的请求报文注册标识。
  4. 外部代理接收注册响应,然后将其转发给移动节点。 到此,注册便完成了,移动节点就能接收发送到其永久地址的数据报。
    下图说明了这些步骤。 注意到归属代理指定的寿命比移动节点请求的寿命要小。

当某个移动节点离开其网络时,外部代理无须显式地取消某个COA 的注册。 当移动节点移动到一个新网(不管是另一个外部网络还是其归属网络)并注册一个新COA 时, 上述情况将自动发生。

管理蜂窝网中的移动性

分析了 IP 网络中的移动性管理以后,我们现将注意力转向对移动性支持有更长历史的网络,即蜂窝电话网络。 尽管在前面我们关注过蜂窝网中的第一跳无线链路,但这里我们关注移动性,以 GSM 蜂窝网络体系结构被广泛部署的技术。3G 和4G 网络中的移动性原则上与 GSM 中所使用的移动性类似。 与在移动IP 中的情况类似、我们将会看到前面指出的许多基本原理都被包含在 GSM 网络 体系结构中。

与移动IP类似, GSM 采用了一种间接路由选择方法,首先将通信者的呼叫路由选择到移动节点的归属网络,再从那到达被访网络。 在 GSM术语中,移动用户的归属网络被称作该移动用户的归属公共地域移动网络 (home Public Land Mobile Network , home PLMN) 。为了方便,后续我们直接将GSM 归属 PLMN 称为归属网络 (home network)。 移动用户向某个蜂窝网提供商订购了服务,该蜂窝网就成为了这些用户的归属网络(即该提供商就按月提供的蜂窝服务收取用户的费用)。 被访问的 PLMN, 我们直接称其为被访网络 (visited network) , 是移动用户当前所在网络(类似于外部网络)。

与移动IP 中情况类似,归属网络和被访网络的职责有很大的差别。

  • 归属网络维护一个称作归属位置注册器 (Home Location Register, HLR) 的数据库,其中包括它每个用户的永久蜂窝电话号码以及用户个人概要信息。 重要的是,HLR 也包括这些用户当前的位置信息。 这就是说,如果一个移动用户当前漫游到另一个提供商的蜂窝网络中, HLR中将包含足够多的信息来获取被访网络中对移动用户的呼叫应该路由选择到的地址。 我们将会看到当一个呼叫定位到一个移动用户后,通信者将与归属网络中一个被称作 网关移动服务交换中心 (Gateway Mobile services Switching Center, GMSC) 的特殊交换机联系。我们这里用一个更具描述性的术语来 称呼GMSC, 即归属 MSC (home MSC) 。
  • 被访网络维护一个称作访问者位置注册 (Visitor Location Register, VLR) 的数据库。 VLR 为每一个当前在其服务网络中的移动用户包含一个表项, VLR表项因此 随着移动用户进入和离开网络而出现或消失。 VLR通常与移动交换中心 (MSC) 在一起,该中心协调到达或离开被访网络的呼叫建立。
    在实践中, 一个服务商的蜂窝网络将为其用户提供归属网络服务,同时为在其他蜂窝服务商订购服务的移动用户提供被访网络服务。

对移动用户呼叫的路由选择

现在我们描述一个呼叫如何定位到被访网络中的一个移动 GSM 用户。 我们首先考虑下面一个简单的例子。 如图所示,这些步骤如下:

1 ) 通信者拨打移动用户的电话号码。 该号码本身并不涉及一个特定的电话线路或位置(毕竟电话号码是固定的,而用户是移动的),号码中的前几位数字足以全局地判别移动用户的归属网络。呼叫从通信者通过公共交换电话网到达移动用户归属网络中的归属 MSC

  1. 归属 MSC 收到该呼叫并查询 HLR 来确定移动用户的位置。 在最简单的情况下, HLR 返回移动站点漫游号码 (Mobile Station Roaming Number, MSRN) , 我们称其为漫游号码 (roaming number) 。 注意到这个号码与移动用户的永久电话号码不同,后者是与移动用户的归属网络相关联的,而漫游号码是短暂的: 当移动用户进入一个被访网络后,会给移动用户临时分配一个漫游号码。漫游号码的作用就相当于移动IP中转交地址的作用。 并且,与COA类似,它也是对通信者和移动用户不可见的。 如果HLR不具有该漫游号码,它返回被访网络中VLR 的地址。 在这种情况下(未在图中显示出来),归属 MSC 需要查询VLR 以便获取移动节点的漫游号码。 但是HLR是如何首先得到漫游号码或VLR地址的呢?移动用户到另一个被访网络后这些值将发生怎样的变化?我们将很快考虑这些重要问题。

  2. 给定一个漫游号码,归属 MSC通过网络到达被访网络的MSC 建立呼叫的第二步。至此,该呼叫已经完成,从通信者到达归属 MSC, 再从归属 MSC到达被访MSC, 然后到达为移动用户提供服务的基站。

在第二步中,一个未解决的问题是HLR如何获得有关移动用户位置的信息。 当一个移动电话进入一个由新的 VLR 所覆盖的被访网络中以后,移动用户必须向被访网络注册,这是通过在移动用户和VLR之间交换信令报文来实现的。 被访VLR 随后又向移动用户的HLR发送一个位置更新请求报文。这一报文告知HLR可以用来联系移动用户的漫游号码,或者VLR地址(它可以用来随后查询以获取移动号码)。 作为这个交换的一部分, VLR同样从 HLR 那里获取移动用户的信息,以及确定被访网络应该给予移动用户什么样的服务(如果有的话)。

GSM中的切换

在一个呼叫过程中,移动站点将其关联从一个基站改变到另一个基站时出现切换 (hand off) 。 如图所示,移动用户的呼叫初始时 (在切换前)通过一个基站(我们称其为旧基站)路由选择到该移动用户,而在切换以后它经过另一个基站(我们称其为新基站)路由选择到移动用户。 注意到基站之间的切换不仅导致移动用户向/从一个新的基站传输/接收信号,而且导致正在进行的呼叫从网络中的一个交换点到新基站的重路由选择。 我们首先假设新旧基站共享同一个MSC, 并且重路由选择发生在这个MSC。

有几种原因导致切换的发生,包括:1.当前基站和移动用户之间的信号减弱,使得该呼叫有被中断的危险;2.一个蜂窝处理的呼叫太多,变得过载。 可以通过将一些移动用户切换到邻近不太拥塞的蜂窝中,使这个拥塞得到缓解。

在与一个基站相关联期间,移动用户周期性地测量来自其当前基站和临近它的可以 "听得到"的基站的信标信号强度。 这些测量以每秒1-2 次的频率报告给移动用户的当前基站。根据这些测量值、临近蜂窝的移动用户的当前负载以及其他因素, GSM 中的切换由旧的基站发起。 GSM 标准并未明确规定基站在确定是否进行切换时所采用的具体算法

下图显示了当一个基站决定切换一个移动用户时所包括的步骤:

1 ) 旧基站 (BS) 通知被访问 MSC 即将要进行一个切换,通知移动用户将要切换到的BS (或可能的 BS集)。

  1. 被访问 MSC 发起建立到新BS的路径,分配承载重路由选择的呼叫所需的资源, 以及用信令告知新BS一个切换即将出现。

  2. 新BS分配并激活一个无线信道供移动用户使用。

  3. 新BS 发出信令返回被访问 MSC 和旧 BS., 即已经建立了被访问 MSC 到新 BS 的路径并且移动用户应当被告知即将发生的切换。 新 BS 提供移动用户与新的 BS相关联所需要的所有信息。

  4. 移动用户被告知它应当进行一个切换。 注意到此时为止,移动用户完全不知网络已经为切换做好所有底层工作(如在新BS 中分配一个信道,分配一条从被访问 MSC 到新BS 的路径)

  5. 移动用户和新BS 交换一个或多个报文,以完全激活新BS 中新的信道。

7 ) 移动用户向新 BS 发送一个切换完成报文,该报文随后向上转发给被访问 MSC。 该被访问MSC 然后重路由选择到移动用户的正在进行的呼叫,使其经过新BS。

8 ) 沿着到旧 BS 的路径分配的资源随后被释放。

通过考虑如下情况来总结我们对切换的讨论:当移动用户移动到一个不同于旧BS、且与不同的MSC 关联的BS 中时, 并且当这种MSC之间的切换多次发生时,考虑这些情况下将发生什么。 如下图所示, GSM 定义了锚MSC (anchor MSC) 的概念。 锚MSC 是呼叫首次开始时移动用户所访问的MSC, 它因此在整个呼叫持续过程中保持不变。 在整个呼叫持续期间,不论移动用户进行了多少次MSC间转换,呼叫总是从归属 MSC路由选择到锚 MSC, 然后再到移动用户当前所在的被访问 MSC。 当移动用户从一个 MSC 覆盖区到达另一个MSC 覆盖区后,正在进行的呼叫被重路由选择,从锚MSC到包含新基站的新被访问 MSC。 因此,在任何情况下,通信者和移动用户之间至多有3个MSC (归属MSC、锚MSC 以及被访问 MSC)。图示了在移动用户所访问的 MSC 之间的一个呼叫的路由选择。

另一种方法则不用维持从锚MSC到当前 MSC ,将直接链接移动用户访问的MSC。 每当移动用户移到一个新 MSC 后,让旧 MSC 将正在进行的呼叫转发给新 MSC。 这种 MSC 链事实上能够出现在 IS-41 蜂窝网络中,通过使用最少步骤的可选路径来 去除在锚MSC 和当前访问 MSC 之间的 MSC。 下面通过对比GSM 和移动 IP 中的移动性管理,来完成我们对 GSM 移动性管理的讨论。 表中的对比指出了尽管IP和蜂窝网络在很多方面有很大的区别,但它们共享数量惊人的公共功能要素和处理移动性的总体方法。

无线和移动性:对高层协议的影响

在本章中,我们已经看到了无线网络在链路层(由于无线信道的诸如衰减、多径、隐终端等特性)和网络层(由于移动用户改变与网络的连接点)与有线网络的对应有重大的区别。 但在运输层和应用层是否也有重大差别呢?我们很容易认为这些差别是很小的,因为在有线和无线网络中的网络层均为上层提供了同样的尽力而为服务模式。 类似地,如果在有线和无线网络中都是使用诸如TCP和UDP 的协议提供运输层服务,那么应用层也应该保持不变。 在某个方面我们的直觉是对的,即TCP和 UDP可以(也确实)运行在具有无线链路的网络中。 在另一方面,运输层协议(特别是TCP) 通常在有线和无线网络中有时会有完全不同的性能。这里,在性能方面区别是明显的,我们来研究一下其中的原因。

前面讲过,在发送方和接收方之间的路径上,一个报文段不论是丢失还是出错,TCP 都将重传它。 在移动用户情况下,丢失可能源于网络拥塞(路由器缓存溢出)或者切换 ( 例如,由于重路由选择 报文段到移动用户新的网络接入点引入的时延)。 在所有情况下, TCP 的接收方到发送方的ACK都仅仅表明未能收到一个完整的报文段,发送方并不知道报文段是由于拥塞,或在切换过程中,还是由于检测到比特差错而被丢弃的。 在所有情况下,发送方的反应都一样,即重传该报文段。 TCP 的拥塞控制响应在所有场合也是相同的,即TCP减小其拥塞窗口。 由于无条件地降低其拥塞窗口, TCP隐含地假设报文段丢失是由于拥塞而非出错或者切换所致。在无线网络中比特错误比在有线网络中普遍得多。当这样的比特差错或者切换丢失发生时,没理由让TCP发送方降低其拥塞窗口 (并因此降低发送速率)。 此时路由器的缓存可能完全是空的,分组可以在端到端链路中丝毫不受拥塞阻碍地流动。

研究人员在20世纪90年代早期到中期就认识到,由于无线信道的高比特差错率和切 换丢失的可能性, TCP的拥塞控制反应在无线情况下可能会有间题。 有三大类可能的方法 用于处理这一问题:

  • 本地恢复。本地恢复方法的目标是在比特差错出现的当时和当地(如在无线链路中)将其恢复。
  • TCP 发送方知晓无线链路。 在本地恢复方法中, TCP 发送方完全不清楚其报文段跨越一段无线链路。 另一种方法是让TCP发送方和接收方知道无线链路的存在,从而将在有线网络中发生的拥塞性丢包和在无线网络中发生的差错/丢包区分开,并且仅对有线网络中的拥塞性丢包采用拥塞控制。
  • 分离连接方法。在分离连接方法中, 移动用户和其他端点之间的端到端连接被分为两个运输层连接:一个从移动主机到无线接入点,一个从无线接入点到其他通信端点(我们假定它是有线的主机)。 该端到端连接因此是由一个无线部分和一个有线部分级连形成的。 经无线段的运输层能够是一个标准的TCP 连接或是一个特别定制运行在 UDP 上的差错恢复协议。 [Yavatkar 1994 ] 研究了经无线连接使用运输层选择性重传协议。 在[Wei 2006] 中的测量 报告指出了分离TCP连接广泛用于蜂窝数据网络中,通过使用分离TCP连接,上 述问题的确能够有很大改进。

我们这里有关无线链路上的TCP 的讨论是十分简要的。 在无线网络中有关TCP挑战 和解决方案的深入展望,我们鼓励读者去查阅文献以了解这个研究领域的详情。 考虑过运输层协议后,我们接下来考虑无线和移动性对应用层协议的影响。 这里一个重要的考虑是无线链路经常具有相对较低的带宽。 因此,运行在无线链路尤其是蜂窝无线链路上的应用程序,必须将带宽作为稀有物品对待。 例如, 一个 为在4G 电话上运行的Web浏览器提供服务的Web服务器,就不能像为运行在有线连接的浏览器那样提供含有大量图片的内容。


参考目录

书籍:《计算机网络:自顶向下方法(第七版)》

相关推荐
如雨随行20202 小时前
【Vim】学习笔记(8)tips-2
笔记·学习·vim
tiantianuser2 小时前
RDMA设计63:怎么进行网络嗅探功能测试
网络·fpga开发·rdma·高速传输·cmac·roce v2
HyperAI超神经2 小时前
在线教程丨华中科大与小红书 hi lab开源dots.mocr,SOTA级OCR模型完美还原文档结构,图形也能转 SVG
人工智能·深度学习·学习·机器学习·gpu·orc·vllm
软件资深者2 小时前
iVentoy 完整使用教程:一根网线批量装系统,增强版 PXE 服务器一键部署
运维·服务器·网络·网络备份·网刻·网络安装系统
可乐鸡翅好好吃2 小时前
BLE服务和Freertos的任务(Task)、函数有什么区别
网络·单片机·嵌入式硬件
薛定谔的悦2 小时前
站控显示下级从控EMS的版本信息开发(设计多线程和TCP通讯)
linux·网络·数据库·网络协议·tcp/ip·ems
Oll Correct2 小时前
实验十一:地址解析协议ARP不能跨网络直接使用
网络·笔记
RrEeSsEeTt2 小时前
【HackTheBox】- BoardLight 靶机学习
linux·学习·网络安全·渗透测试·kali·红队·hackthebox
talen_hx2962 小时前
《零基础入门Spark》学习笔记 Day 10
大数据·hive·笔记·学习·spark