俺的分布式架构系统之计算机网络6

无线移动网络

接下来的内容主要分析无线局域网WLAN和蜂窝移动通信网,其中重点学习分析数据链路层的内容,以及移动通信在移动中(如坐火车)怎么保持IP地址不变等问题。

你在工作单位和居住小区附近的饭馆用餐时,如果饭馆没有提供免费的WIFI,你还会经常光顾吗?除非饭菜可口卫生,否则不去。随着智能手机的全面普及,没有提供免费WIFI上网的场所属于旧社会模式,需要被我们淘汰掉,或者我们引导他们进入社会主义新时代。

如果对通信领域知识不够了解,肯定会思考一个问题,在乘坐火车使用智能手机上的聊天软件聊天时,为什么不断网?按理说火车速度那么快,不一会就要切换传输信号的基站,既然信号的基站都变了,应该断网重连啊!如果按照通俗的思维去思考这个问题,还是比较容易理解,难就难在自己会用编程思维思考。漫游费这个词儿还有记忆吧?从跨地级市漫游费、跨省漫游费、国内漫游费,通话和流量都包含这个漫游费,其实漫游就在高速移动中通话不断线和上网不断网的关键,预知漫游为何物,请看以下分解,哈哈哈……。

无线局域网WLAN

无线局域网的组成

无线局域网分为两大类:一是有固定基础设施的,二是无固定基础设施的,所谓“固定基础设施”是指预先建立起来的、能够覆盖一定地理范围的一批固定基站。以下内容只讨论有固定基础设施的无线局域网。

1997年IEEE制定出无线局域网的协议802.11系列标准,用于有固定基础设施的无线局域网。2005年5月份,我国颁布了WLAN的国家标准,该标准采用ISO/IEC8802-11系列国际标准,并针对WLAN的安全问题,把国家对密码算法和无线电频率的要求纳入。所以它是基于国际标准之上的符合我国安全规范的WLAN标准,属于国家强制执行的标准,已于2004年6月正式执行,不符合此标准的WLAN产品将不允许出现在国内市场。 

802.11是个相当复杂的标准,简单的说,它就是无线以太网的标准,他使用星形拓扑,中心点叫做接入点AP(Access Point),在MAC层使用CSMA/CA协议。凡使用802.11系列协议的局域网又称为Wi-Fi(Wireless-Fidelity,无线保真度),现在Wi-Fi已经成为了无线局域网WLAN的代名词,但无线局域网和保真度没关系。

802.11标准规定无线局域网的最小构件是基本服务集BSS(Basic Service Set)。一个基本服务集BSS包含一个基站(可以理解为无线路由器)和若干个移动站(可以理解为一部手机),所有的站在本BSS以内都可以直接通信,但在和本BSS以外的站通信时都必须通过本BSS的基站。

上面提到的AP就是基本服务集内的基站(base station),当网络管理员安装AP时,必须为该AP分配一个不超过32字节的服务集标识符SSID(Service Set IDentifier)和一个通信信道,SSID就是指使用该AP的无线局域网的名字,也就是你用手机或PC连接哪一个无线网络的名字。

一个基本服务集BSS所覆盖的地理范围叫做一个基本服务区BSA(Basic Service Area),基本服务区BSA和无线移动通信的蜂窝小区相似,它的范围直径一半不超过100米。

一个基本服务集可以是孤立的,也可通过接入点AP连接到一个分配系统DS(Distribution System),然后再连接到另一个基本服务集,这样就构成了一个扩展的服务集ESS(Extended Service Set)。分配系统的作用就是使扩展的服务集ESS对上层的表现就像一个基本服务集BSS一样,它可以使用以太网、点对点链路或其他无线网络。

扩展服务集ESS还可为无线用户提供到802.x局域网的接入(也就是非802.11无线局域网),这种接入是通过叫做门户(Portal)的设备来实现的,它的作用就相当于一个网桥。

为了使一个基本服务集BSS能够为更多的移动站提供服务,往往在一个BSS内安装有多个接入点AP,有时一个移动站也可能收到本基本服务集以外的AP信号,但它只能在多个AP中选择一个建立关联。移动站和选定的AP互相使用802.11关联协议进行对话,移动站要向该AP鉴别自身。关联阶段过后,移动站要通过关联的AP向该子网发送DHCP发现报文以获取IP地址,之后,互联网中的其他部分就把这个移动站当作该AP子网中的一台主机。

移动站与接入点AP建立关联的方法有两种:一是被动扫描,即移动站等待接收接入点AP周期性发出的信标帧(beacon frame),信标帧中包含有若干系统参数,如服务集标识符SSID以及支持的速率等。二是主动扫描,即移动站主动发出探测请求帧(probe request frame),然后等待从接入点发回的探测响应帧(probe response frame)

由于无线局域网已非常普及,主板上都已经有了内置的无线局域网适配器,因而不需要插入外置的无线局域网卡了。无线局域网适配器能够实现802.11的物理层和MAC层的功能。

无线局域网用户在和附近的接入点AP建立关联时,一般需要输入正确的用户密码,否则无法建立关联。在无线局域网发展初期,加密方案称为WEP,它曾是802.11b标准的一部分。由于它容易被破解,现在采用保密性更好的WPA方案,在802.11n中又强制执行WPA2,802.11ax中出现了WPA3

 802.11局域网的物理层

由于无线局域网的物理层太过复杂,所以仅简单列举一下常用的无线局域网协议,如下图。

    

  

802.11局域网的MAC层协议

a)   CSMA/CA协议

看到CSMA/CA协议时,你会不会问这样一个问题:在数据链路层不是有CSMA/CD协议吗,怎么又搞出来个CSMA/CA协议?没错,问题就出在反斜杠后边的CA和CD上,CA表示Collision Avoidance,即碰撞避免,而CD表示Collision Detection,即碰撞检测,它们是完全的两个概念。

以下内容首先说明无线局域网通信为什么不能使用CSMA/CD协议,然后再分析CSMA/CA。

在无线局域网中,在发送数据之前先对媒体进行载波监听CSMA,如果发现有其他站在发送数据,就推迟发送以免发生碰撞。但是碰撞检测CD在无线环境下却不能使用,理由如下:

一、碰撞检测要求一个站点在发送本站数据的同时,还必须不间断地检测信道,一旦检测到碰撞,就立即停止发送。由于无线信道的传输条件特殊,其信号强度的动态范围非常大,因此在802.11适配器上接收到的信号强度往往会远远小于发送信号的强度(信号强度可能相差百万倍)。如要在无线局域网的适配器上实现碰撞检测,在硬件上的花费就会过大。

二、即使能够在硬件上实现无线局域网的碰撞检测功能,也仍然无法避免碰撞的发生,这就表明“无线局域网不需要进行碰撞检测”,这是无线信道本身的特点决定的,即无线电波能够向所有的方向传播,且其传播距离受限。当电磁波在传播过程中遇到障碍物时,其传播距离就会受到限制。

举例说明:

1. A和C同时向B发送信号,发生碰撞

         

 图片内容表示A和C都想和B通信,但A和C相距较远,彼此都听不见对方,当A和C检测到信道空闲时,就都向B发送数据,结果发送了碰撞。这种未能检测出信道上其他站点信号的问题叫做隐蔽站问题(hidden station problem)。

 2. B向A发送信号,使C不敢向D发送数据

          

图片内容如下:站点B向A发送数据,而C又想和D通信,但C检测到信道忙,于是就不敢向D发送数据,其实B向A发送数据并不影响C向D发送数据,这就是暴露站问题(exposed station problem)。在无线局域网中,在不发生干扰的情况下,可允许同时有多个移动站进行通信,这和有限局域网有很大差别。

综合示例1和示例2可知,无线局域网可能出现检测错误的情况:有时检测到信道空闲,其实信道并不空闲;有时检测到信道忙碌,其实信道并不忙碌。所以无线局域网不应采用CSMA/CD协议,无线局域网只要开始发送数据,就不能中途停止发送,而一定把整个帧发送完毕,因此,在无线局域网的发送过程中,应当尽量减少碰撞的发生。

为此,802.11局域网使用CSMA/CA协议,协议的设计是要尽量减少碰撞发生的概率。802.11局域网在使用CSMA/CA协议的同时,还使用停止等待协议。这是因为无线信道的通信质量远不如有线信道,因此无线站点每通过无线局域网发送完一帧后,要等待收到对方的确认帧后才能继续发送下一帧,这就是链路层确认

 

 

 

802.11的MAC层

在了解CSMA/CA协议之前,还要先了解802.11的MAC层。802.11标准设计了独特的MAC层,它通过协调功能(Coordination Function)来确定在基本服务集BSS中的移动站,在什么时间能发送数据或接收数据。802.11的MAC层在物理层的上面,包含两个子层:

 

1. 分布协调功能DCF(Distributed Coordination Function),DCF不采用任何中心控制,而是在每一个结点使用CSMA机制的分布式接入算法,让各个站通过争用信道来获取发送权。因此DCF向上提供争用服务,802.11协议规定,所有的实现都必须有DCF功能。

2. 点协调功能PCF(Point Coordination Function),PCF是选项,它是用接入点AP集中控制整个BSS内的活动,因此像自组网络就没有PCF子层。PCF使用集中控制的接入算法,用类似于探询的方法把发送数据权轮流交给各个站,从而避免了碰撞的产生。对于时间敏感的业务(如分组话音),就应使用提供无争用服务的点协调功能PCF。

 

 

 

CSMA/CA协议工作原理

为了尽量避免碰撞,802.11规定,所有的站在完成发送后,必须等待一段很短的时间才能发送下一帧,这段时间通称为帧间间隔IFS(InterFrame Space),帧间间隔的长短取决于该站要发送的帧的类型。

1.帧优先级

高优先级帧需要等待的时间较短,因此可优先获得发送权,但低优先级帧就必须等待较长的时间。若低优先级帧还没来得及发送而其他站的高优先级帧已发送到媒体,则媒体变为忙态,低优先级帧只能再推迟发送,这样就减少了发生碰撞的机会。至于各种帧间间隔的具体长度,则取决于所使用的物理层特性。

2.SIFS,即短(Short)帧间间隔

它的长度为28微妙,SIFS是最短的帧间间隔,用来分隔开属于一次对话的各帧,在这段时间内,一个站应当能够从发送方式切换到接收方式。使用SIFS的帧类型有:ACK帧、CTS帧、由过长的MAC帧分片后的数据帧,以及所有回答AP探询的帧和在PCF方式中接入点AP发送出的任何帧。

3.DIFS,即分布式协调功能帧间间隔

它比SIFS的帧间间隔要长得多,长度为128微妙。在DCF方式中,DIFS用来发送数据帧和管理帧。

 

CSMA/CA工作原理:

要发送数据的站先检测信道。在802.11标准中规定了在物理层的空中接口进行物理层的载波监听,通过收到的相对信号强度是否超过一定的门限数据值就可判断是否由其他的移动站在信道上发送数据。

案例1:有优先级问题

当源站发送它的第一个MAC帧时,若检测到信道空闲,则在等待一段时间DIFS后就可发送。为什么信道空闲还要再等待一段时间DIFS呢?就是考虑到可能有其他的站有高优先级的帧要发送,如有,就要让高优先级帧先发送。

案例2:无优先级问题

如果没有优先级帧要发送,源站发送自己的数据帧。目的站若正确收到此帧,则经过时间间隔SIFS后,向源站发送确认帧ACK。若源站在规定时间内没有收到确认帧ACK(由重传计时器控制这段时间),就必须重传此帧,直到收到确认为止,或者经过若干次的重传失败后放弃发送。

综合案例可知,802.11无线局域网采用的停止等待协议,是一种可靠传输协议,发送方必须等待对方的确认帧。但802.3有线局域网的传输是不可靠的,发送方把数据发送出去就不管了(当然若检测到碰撞是必须重传的),如果需要可靠传输则由高层负责。

802.11标准还采用了一种叫做虚拟载波监听(Virtual Carrier Sense)的机制,这就是让源站把它要占用信道的时间(包括目的站发回确认帧所需的时间)及时通知给所有其他站,以便使其他所有站在这一段时间都停止发送数据,这样就大大减少了碰撞的机会。

虚拟载波监听表示其他站并没有监听信道,而是由于其他站收到了“源站的通知”才不发送数据,这种效果好像是其他站都监听了信道。所谓“源站的通知”就是源站在其MAC帧首部中的第二个字段“持续时间”中,填入了在本帧结束后还要占用信道多少时间(以微秒为单位),包括目的站发送确认帧所需的时间。

当一个站检测到正在信道中传送的MAC帧首部的持续时间字段时,就调整自己的网络分配向量NAV(Network Allocation Vector)。NAV指出了必须经过多少时间才能完成数据帧的这次传输,才能使信道转入到空闲状态,因此某个站认为信道处于忙态就有两种可能,一种可能是由于其物理层的载波监听检测到信道忙,另一种可能是由于MAC层的虚拟载波监听机制指出了信道忙。

 

 

 

802.11退避机制

当信道从忙态变为空闲时,任何一个站要发送数据帧时,只要不是要发送的第一个帧,不仅都必须等待一个DIFS的间隔,而且还要进入争用窗口,并计算随机退避时间,以便再次重新试图接入到信道。

在以太网的CSMA/CD协议中,要发送数据的站,在监听到信道变为空闲就立即发送数据,同时进行碰撞检测。如果不巧发生了碰撞,不要紧,马上执行退避算法,大家都停止发送,这样就立即使信道恢复到空闲状态,网络资源被浪费的很少。

但是在无线局域网802.11标准的CSMA/CA协议中,因为没有像以太网那样的碰撞检测机制,所以,在信道从忙态转为空闲时,为了避免几个站同时发送数据(一旦发送就要把一帧发送完,不能中途停止),所有想发送数据的站就都要执行退避算法。这样做不仅大大减小了发生碰撞的概率,而且也避免了一个站连续发送长帧,垄断整个无线信道。802.11标准也是使用二进制指数退避算法:第i次退避就在22+i个时隙中随机地选择一个,比如第1次退避是在8个时隙中随机选择一个,而第二次退避是在16个时隙中随机选择一个。

当某个要发送数据的站,使用退避算法选择了争用窗口中的某个时隙后,就根据该时隙的位置设置一个退避计时器(backoff timer)。当退避计时器的时间减小到零时,就开始发送数据,也可能当退避计时器的时间还未减小到零时而信道又转变为忙态,这时就冻结退避计时器的数值,重新等待信道变为空闲,再经过时间DIFS后,继续启动退避计时器(从剩下的时间开始),这种规定有利于继续启动退避计时器的站更早地接入到信道中。

以下将结合上图进行解析退避机制。当A正在发送数据时,B、C、D都有数据要发送,由于这三个站都检测到信道忙,因此都要执行退避算法,各自随机退避一段时间再发送数据。802.11标准规定,退避时间必须是整数倍的时隙时间。

由于退避机制执行的是二进制指数退避算法,而且规定时隙编号最大值为255,由此得知,i=1可选时隙数8,i=2可选时隙数16,i=3可选时隙数32,i=4可选时隙数64,i=5可选时隙数128,i=6可选时隙数256。当第6次退避就不再增加了,i决定了退避时间,它被称为退避变量。

退避时间选定后,就相当于设置了一个退避计时器(backoff timer),站点每经历一个时隙的时间就检测一次信道。这可能发生两种情况:若检测到信道空闲,退避计时器就继续倒计时;若检测到信道忙,就冻结退避计时器的剩余时间,重新等待信道变为空闲并再经过时间DIFS后,从剩余时间开始继续倒计时。如果退避计时器的时间减小到零时,就开始发送整个数据帧。

看图分析,C的退避计时器最先减到零,于是C立即把整个数据帧发送出去。当C在发送数据的过程中,B和D检测到信道忙,就冻结各自的退避计时器的数值,重新期待信道变为空闲。正在这时E也想发送数据,由于E检测到信道忙,因此E就执行退避算法和设置退避计时器。

当C发送完数据并经过了时间DIFS后,B和D的退避计时器又从各自的剩余时间开始倒计时。现在争用信道的除B和D外,还有E,D的退避计时器最先减到零,于是D得到了发送权。在D发送数据时,B和E都冻结其退避计时器。

以后E的退避计时器比B先减少到零,当E发送数据时,B再次冻结其退避计时器。等到E发送完数据并经过时间DIFS后,B的退避计时器才继续工作,一直到把最后剩余的时间用完,然后就发送数据。

冻结退避计时器剩余时间的做法是为了使协议对所有站点更加公平。

 

CSMA/CA协议算法归纳如下:

1)   若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空闲,在等待时间DIFS后,就发送整个数据帧。

2)   否则,站点执行CSMA/CA协议的退避算法。一旦检测到信道忙,就冻结退避计时器。只要信道空闲,退避计时器就进行倒计时。

3)   当退避计时器时间减少到零时(这时信道只可能是空闲的),站点就发送整个的帧并等待确认。

4)   发送站若收到确认,就知道已发送的帧被目的站正确收到了。这时如果要发送第二帧,就要从上面的步骤2)开始,执行CSMA/CA协议的退避算法,随机选定一段退避时间。

5)   发送站若在规定时间内没有收到确认帧ACK(由重传计时器控制这段时间),就必须重传此帧(再次使用CSMA/CA协议争用接入信道),直到收到确认为止,或者经过若干次的重传失败后放弃发送。

应当指出,当一个站要发送数据帧时,仅在下面的情况下才不使用退避算法:“检测到信道是空闲的,并且这个数据帧是它想发送的第一个数据帧”。除此之外的所有情况,都必须使用退避算法,具体有以下几种情况:

1)   在发送第一个帧之前检测到信道处于忙态。

2)   每一次的重传。

3)   每一次的成功发送后再要发送下一帧。

 

b)   对信道进行预约

为了更好的解决隐蔽站带来的问题,802.11允许要发送数据的站对信道进行预约,过程如下:

1)   A在向B发送数据帧之前,先发送一个短的控制帧,叫做请求发送RTS(Request To Send),它包括源地址、目的地址和这次通信(包括相应的确认帧)所需的持续时间。

2)   当然A在发送RTS帧之前,必须先监听信道,若信道空闲,则等待一段时间DIFS后,才能够发送RTS帧。

3)   若B正确收到A发来的RTS帧,且媒体空闲,则等待一段时间SIFS后,就向A发送一个叫做允许发送CTS(Clear To Send)的控制帧,它也包括这次通信所需的持续时间。

4)   A收到CTS帧后,在等待一段时间SIFS后,就可发送数据帧。

5)   若B正确收到A发来的数据帧,在等待时间SIFS后,就向A发送确认帧ACK。

根据802.11协议的规定,A在RTS帧中填写的所需占用信道的持续时间,是从RTS帧发送完毕后到B最后发送完确认ACK为止的时间,这段时间=SIFS + CTS + SIFS + 数据帧 + SIFS + ACK,它也是从RTS帧发完后,信道仍被A和B的通信占用的时间。

而B在CTS帧中填写的所需占用信道的持续时间,是从CTS帧发送完毕后,到B最后发送完确认ACK为止的时间,这段时间= SIFS + 数据帧 + SIFS + ACK,它也是从CTS帧发送完后,信道仍被A和B的通信占用的时间。

这两段持续时间,实际上分别是A和B的网络分配向量NAV,其他站注意到NAV后,就不会在这段时间发送数据了。

使用RTS帧和CTS帧会使整个网络的通信效率有所下降,但由于这两种控制帧都很短,其长度分别是20字节和14字节,与数据帧(最大可达2346字节)相比开销不算大。相反若不是用这种控制帧,一旦发生碰撞而导致数据帧重发,浪费的时间就更多了。虽然如此,协议还是设有三种情况供用户选择:

1)   使用RTS帧和CTS帧。

2)   只有当数据帧的长度超过某一数值时才使用RTS帧和CTS帧。

3)   不使用RTS帧和CTS帧。

虽然协议经过了精心设计,但碰撞仍然会发生。例如:有两个站同时向同一个目的站发送RTS帧,这两个RTS帧发生碰撞后,使得目的站收不到正确的RTS帧,因而目的站就不会发送后续的CTS帧。这时原先发送RTS帧的两个站就各自随机地推迟一段时间后再重新发送其RTS帧,推迟时间的算法也是使用二进制指数退避。以下是CSMA/CA协议的基本流程图。

 802.11局域网的MAC帧

通过上述几章内容的分析和理解,想要更好的了解802.11局域网的工作原理,就要了解802.11局域网的MAC帧结构,尤其是MAC帧的首部结构,802.11帧共有三种类型,即控制帧数据帧管理帧

根据下图可知,802.11数据帧由以下三大部分组成:

1)   MAC首部,共30字节。帧的复杂性都在帧的MAC首部。

2)   帧主体,也就是帧的数据部分,不超过2312字节。这个数值比以太网的最大长度长很多,不过802.11帧的长度通常都小于1500字节。

3)   帧检验序列FCS是MAC尾部,共4字节。

         

a)   关于802.11数据帧的地址

802.11数据帧最特殊的地方就是有四个地址字段,其中地址4用于自组移动网络,所以只关心前三种地址。这三个地址的内容取决于帧控制字段中的“去往AP”(发送到接入点)和“来自AP”(从接入点发出)的数值,这两个子字段各占1位,可以有4中组合结果,用于定义802.11帧中的几个地址字段的含义,当然这些地址都是MAC地址。在802.11帧的地址字段最常用的组合如下表:

         

对于写程序代码的人,就不用拿表格中的内容举例说明了,就是站A到路由器AP到B,以及站B到路由器AP到A的双向过程。

b)   序号控制字段、持续期字段和帧控制字段

  i.     序号控制,占16位,其中序号子字段占12位(从0开始,每发送一个新帧就加1,到4095后再回到0),分片子字段占4位(不分片则保持为0。如果分片,则帧的序号子字段保持不变,而分片子字段从0开始,每个分片加1,最多到15)。重传的帧的序号和分片子字段的值都不变。序号控制的作用是使接收方能够区分开是新传送的帧还是因出现差错而重传的帧。

 ii.     持续期,占16位,“对信道进行预约”小节说过CSMA/CA协议允许发送数据的站点预约信道一段时间,并把这个时间写入到持续期字段中。这个字段有多种用途,只有最高位为0时才表示持续期,这样持续期不能超过215-1=32767,单位是微秒。

iii.     帧控制,共分为11个子字段

1.   协议版本,现在是0

2.   类型和子类型,用来区分帧的功能,802.11帧有三种类型:控制帧、数据帧和管理帧,而每一种帧又分为若干种子类型,如控制帧又RTS、CTS和ACK等几种不同的子类型。

3.   更多分片,值为1时表明这个帧属于一个帧的多个分片之一。无线信道的通信质量是比较差的,因此无线局域网的数据帧不宜太长,当帧长为n而误比特率p=10-4时,正确收到这个帧的概率P=(1-p)n。若n=12144bit(相当于1518字节长的以太网帧),则算出这时P=0.2969,即正确收到这样的帧的概率还不到30%。因此为了提供传输效率,在信道质量较差时,需要把一个较长的帧划分为许多较短的分片,这时可以在一次使用RTS和CTS帧预约信道后连续发送这些分片。当然这仍然需要使用停止等待协议,即发送一个分片,等到收到确认后再发送下一个分片,不过后面的分片都不需要用RTS和CTS帧重新预约信道。

4.   有线等效保密WEP,占1位。若WEP=1,就表明采用了WEP加密算法,WEP表明使用在无线信道的这种加密算法在效果上可以和有线信道上通信一样保密。

蜂窝移动通信网

蜂窝无线通信技术简介

Wi-Fi无线局域网具有接入到互联网的功能,但这必须是设备处于某个Wi-Fi的热点之中,由于一个热点的覆盖直径只有10到100m,而且很多地方没有开通Wi-Fi热点,因此要想在任何时间任何地点都能接入到互联网,仅靠Wi-Fi无线局域网是不行的。随着蜂窝无线通信网的发展,现在只要是人们常去的地方几乎都能进行可靠的无线通信,当然偏僻的不毛之地除外。蜂窝无线通信技术相当复杂,要深入了解其工作原理,需要一本很厚的教材,所以本章只分析与计算机网络关系密切的部分。

移动通信的种类很多,比如蜂窝移动通信、卫星移动通信、集群移动通信、无线电话通信等。但目前使用最多的是蜂窝移动通信,它又称为小区制移动通信,其特点是把整个的网络服务区划分成许多小区(cell,也就是蜂窝),每个小区设置一个基站,负责本小区各个移动站的联络与控制。移动站的发送或接收都必须经过基站完成。蜂窝移动网络的发展非常迅速,现在已有超过30种不同的标准。

第一代蜂窝移动通信(1G,G表示Generation)是为话音通信设计的模拟FDM系统,1G的蜂窝无线网络早已淘汰了。

第二代蜂窝移动通信(2G)的代表性体制就是最流行的GSM系统。这个系统使用的带宽只有200kHz,因此除了基本的话音通信,它只能提供低速数据通信(短信服务)。为了能够提供接入到互联网的服务,2G蜂窝移动通信系统增加了如GPRS和EDGE等技术,GPRS又被称为2.5G,而EDGE为2.75G,表明它们属于2G,但比2G要强些,并且是从2G向第三代过渡的衔接性技术。

第三代蜂窝移动通信(3G)使用的带宽增大到5MHz,并且使用IP的体系结构和混合的交换机制(电路交换和分组交换),能够提供移动宽带多媒体业务。3G有三个无线接口国际标准,即美国提出的CDMA2000(电信),欧洲提出的WCDMA(联通)和中国提出的TD-SCDMA(移动),多种移动通信标准的出现是由于不同厂商为各自利益竞争的结果。每一种制式的调制与编码方式都不相同,3G手机的上网速率比起2G手机有了很大的提高,从3G开始以后的各代蜂窝移动通信都是以传输数据业务为主的通信系统,而且必须兼容2G的功能(打电话和发短信),即向后兼容。

第四代蜂窝移动通信(4G)2013年12月份工信部发放牌照,4G名称是IMT-Advanced(International Mobile Telecommunications-Advanced),即高级国际移动通信,它是国际电联无线电通信部门ITU-R提出的,目标是实现更高的数据率。4G的目标峰值数据率是:固定的和低速移动通信时应达到1Gbit/s,在高速移动通信时应达到100Mbit/s。所以4G蜂窝无线网络只是代称而非数据率可以达到4Gbit/s。4G也要向后兼容3G,因此现在很多手机都标明具有4G/3G/2G功能,表示如果手机所在地没有被4G网络覆盖,可以使用3G网络;没有3G网络,可以使用2G网络。

4G现有两个国际标准,即LTE(Long-Term Evolution)和LTE-A(LTE-Advanced),LTE就是长期演进,表明从3G到4G的过渡需要较长的时间。LTE又分为时分双工TD-LTE和频分双工FDD-LTE两种,而LTE-A是LTE的升级版,俗称为3.9G。LTE把带宽增加到20MHz,采用了高阶调制64QAM和MIMO技术,LTE-A的带宽高达100MHz。

第五代蜂窝移动通信(5G)采用了毫米波频段,它有以下性能指标:1.峰值速率需要达到10到20Gbit/s,以满足高清视频、虚拟现实等大数据量传输。2.空中接口时延低至1ms,满足自动驾驶、远程医疗等实时应用。3.具备百万连接/平方公里的设备连接能力,满足物联网通信。4.频谱效率要比LTE提升3倍以上。5.连续广域覆盖和高移动性下,用户体验速率达到100Mbit/s。6.流量密度达到10Mbps/m2以上。7.移动性支持500km/h的高速移动。

    

移动IP

移动IP又被称为移动IP协议,是由IETF开发的一种技术,它允许计算机移动到外地时,仍然保留其原来的IP地址。

在网络层解读IP地址内容时知晓,IP地址不仅仅指明一台主机,还指明了主机所连到的网络,当一个移动站在改变地理位置时,由于所接入的网络不同(我们不可能在任何地点所接入的网络都具有同一个网络号),因此当一个移动站在异地接入到当地的网络时,其IP地址必然要改变。我们需要在移动中上网,就希望移动站所建立的TCP连接在移动站漫游时一直保持连接,否则我们的上网就会变的断断续续(TCP重建连接需要时间),因此IP地址的改变对移动用户来说影响非常大。

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

在分析移动IP时,先要理解以下概念性的词汇含义:

1)   归属地址(home address):又称为永久地址,移动IP协议规定,一个移动站必须有一个原始地址,可以理解为家庭住址。

2)   归属网络(home network):移动站原始连接到的网络,归属地址和归属网络的关联是不会改变的。

3)   归属代理(home agent):就是连接在归属网络上的路由器。但是它负责的代理任务则是在应用层完成的。

4)   外地网络(foreign network):又称为被访网络,移动站移动到另一个地点接入的非归属网络。

5)   外地代理(foreign agent):外地网络中使用的代理,即外地网络中的路由器。

6)   转交地址(care-of address):移动站在被访问网络中的临时地址,当然这个地址的网络号是外地网络的网络号。

7)   同址转交地址(co-located care-of address):表示移动站本身充当了外地代理,即移动站和外地代理是同一个设备。

接下来将会结合下图把上述词汇串起来。

 

移动站A在归属地,有其自己归属地址和归属网络。假设移动站A去了外地,接入到外地网络,那么外地网络的外地代理会给移动站A分配一个临时地址,即转交地址,此时移动站A所属的网络也变成外地网络。外地代理为移动站A分配转交地址后,会马上将转交地址告诉移动站A的归属代理。至此,上述六个词汇就关联起来了。

假设移动站B要与处在外地网络的移动站A通信,B不知道A在什么地方,不过B可以使用A的归属地址作为发送的IP数据报中的目的地址,过程如下:

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

2)   由于归属代理已经知道了A的转交地址,因此归属代理把B发来的数据报进行再封装,新的数据报的目的地址是A现在的转交地址,新封装的数据报发送到外地网络的外地代理。这里使用隧道技术或IP-in-IP。

3)   外地网络中的外地代理把收到的封装的数据报进行拆封,取出B发送的原始数据报,然后转发给移动站A。这个数据报的目的地址就是A的归属地址。A收到B发送的原始数据报后,也得到了B的IP地址。

4)   如果现在A要向B发送数据报,那么情况就比较简单。A仍然使用自己的归属地址作为数据报的源地址,用B的IP地址作为数据报的目的地址。这个数据报显然没有必要再经过A的归属代理进行转发了。

综合上述内容可以看出来,为了支持移动性,在网络层增加了以下几项新功能:

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

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

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

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

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

写到这里一定会有疑问:外地代理是如何与移动站通信的,是通过转交地址吗?不是,第一转交地址是供移动站、归属代理以及外地代理使用的,各种应用程序都不适用这种转交地址;第二转交地址在互联网中并不具有唯一性,外地代理可以给好几个移动站指派同样的转交地址,甚至把自己的IP地址指派为移动站的转交地址,这样做并不会引起混乱。因此外地代理与接入到外地网络的移动站发送数据时,使用的是移动站的MAC地址,不会使用地址解析协议ARP。当移动站首次和外地代理通信时,外地代理就记录下了移动站的MAC地址。

  

既然有间接路由选择,那必然就有直接路由选择。现在假设以下场景的存在,即本来B和A之间可能有一条更有效的路由,但现在要走另外一条路(即让A的归属代理转发给A接入的外地网络),设想如果B所在的网络就是A接入的外地网络,那么B发送数据报给A直接交付,根本不需要使用代理。但是由于B并不知道A的位置,使用代理转发既浪费了时间,又增加网络上的通信量,这个问题又被称为三角形路由选择问题。

解决三角形路由选择问题的方法是使用直接路由选择,让通信者B创建一个通信者代理(correspondent agent),让这个通信者代理向归属代理询问到移动站在外地网络的转交地址,然后由通信者代理(而不是归属代理)把数据报用隧道技术发送到外地网络的外地代理,最后再由外地代理拆封,把数据报转发给移动站。使用直接路由选择必须解决以下两个问题:

    1. 增加一个协议,即移动用户定位协议(mobile-user location protocol),用来使通信者代理向移动站的归属代理查询移动站的转交地址。
    2. 当移动站再移动到其他网络时,怎样得到移动站的位置信息?答案引入锚外地代理(anchor foreign agent),过程如下:

a)   B的通信者代理从移动站A的归属代理得到A所漫游到的外地网络N1的外地代理。移动站首次漫游到的外地网络的外地代理称为锚外地代理。

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

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

d)   A移动到另一个外地网络N2。

e)   A向外地网络N2的新外地代理登记。

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

g)   当锚外地代理收到发给A的封装数据报后,就用A的新转交地址对数据报进行再封装,然后发送给外地网络N2上的新外地代理,新外地代理拆封后转发给移动站A。同理,如果移动站再漫游到另一个网络,则外地网络N3的外地代理仍然要和锚外地代理联系,一遍让锚外地代理以后把发给A的数据报转发过来。

 上述这些问题都是由移动站在移动时仍然要保持原来的IP地址引起的,为了保证IP地址不变新增的措施和协议,被称为移动管理或移动性管理。当然移动性管理涉及的面还有很多,比如安全问题等。

 无线网络对高层协议的影响

移动站漫游时会经常更换移动用户到无线网络的连接点,这样网络的连接就会发生很短时间的中断,这种情况对高层协议有没有影响?肯定是有影响的。

在TCP连接中,只要发生报文段的丢失或出错,TCP就要重传这个丢失或出错的报文段。在移动用户的情况下,TCP报文段的丢失,既可能是由于移动用户切换引起的,也可能是由于网络发生了拥塞。由于移动用户更新相关联的基站需要一定的时间,这就可能造成TCP报文段丢失,但TCP并不知道现在出现的分组丢失的确切原因,只要出现TCP报文段频繁丢失,TCP的拥塞控制就会采取措施,减小其拥塞窗口。可见当无线信道出现严重的比特差错,或由于切换产生了报文段丢失,减小TCP发送方的拥塞窗口对改善网络性能并不会有任何好处。

经过研究,发现可以使用三种方法处理这个问题。

    1. 本地恢复。这是指差错在什么地方出现,就在什么地方改正。在无线局域网中使用的自动请求重传ARQ协议就属于本地恢复措施。
    2. 让TCP发送方知道什么地方使用了无线链路。只有当TCP能够确知,是有线网络部分发生了拥塞时,TCP才采用拥塞控制的策略。然而要能够区分是有线网段还是无线网段出现报文段丢失,则还需要一些特殊的技术。
    3. 把含有移动用户的端到端TCP连接拆成两个互相串接的TCP连接。从移动用户到无线接入点是一个TCP连接,而剩下的使用有线网段连接的部分则是另一个TCP连接。

有人研究过,采用拆分TCP连接的方法,在使用无线信道的TCP连接上,既可以使用标准的TCP协议,也可以使用有选择确认的TCP协议,甚至还可以使用专用的、有差错恢复的UDP协议,在蜂窝无线通信网中实验的结果表明,采用拆分TCP连接的方法可以使整个性能得到明显的改进。

原文地址:https://www.cnblogs.com/Jkinbor/p/15090155.html