有事您Q我  点击这里给我发消息  点击这里给我发消息  点击这里给我发消息

      

首页 | 教学管理 | 阳光概况 | 成功学子 | 就业导航 | 技术园地 | 精锐师资 | 技术专业 | 学子心声 | 招生资讯 | 阳光资讯 | 函授教学
 
虚拟网址转换技术简介
 
   

随着无线传输和个人信息终端技术的发展,市场对广义的移动通信的需求也越来越强烈。人们希望连在网上的通信设备不会因为改变了物理地址而中断与其他设备的已经建立的连接,从而实现各种通信设备在互联网上的自由漫游 ,譬如,一台电脑在改变IP地址的同时仍然保持着与其它机器的通信连接。然而,当前的互联网对移动性能支持甚少。现在普遍采用的网际互连标准——IP协议族假设了连在网上的每台设备都是静止不动的;高层的传输协议如TCP、UDP以及各种应用程序都遵循了这种假设。例如,TCP以IP地址标识建立连接的两个终端,应用程序通过IP地址和端口号建立socket连接,执行I/O任务。由于连接是与物理地址紧密相关的,在改变物理地址时必须断开连接。由此看来,要想克服这一缺点,似乎需要对整个网络体系及协议作大的改动。
  
  虚拟网址转换(Virtual Network Address Translation,缩写为VNAT)技术是应用于动态IP互连的崭新技术。VNAT能使连接双方在漫游时仍保持连接状态,适用于从个人通信终端到服务器的各种设备,而其 大的优点在于不用对现有设备及协议作任何改动。当两个终端(endpoint)建立连接之后,VNAT用虚拟地址替换物理地址,同时建立从虚拟地址到物理地址的映射。传输层协议看到的只是连接双方的虚拟地址,而不用考虑低层物理地址的变化。这样,当任一终端改变其物理地址时,VNAT更新映射信息,由于虚拟地址保持不变,连接得以持续。
  
  相关的研究
  
  人们针对互联网的移动通信需求已经作过大量的研究工作。在这其中,移动IP(Mobile IP)是 著名的移动问题解决方案。移动IP允许主机在保留其地址的同时在网间漫游。这样的移动对于应用程序和传输层协议是透明的。移动IP允许单个计算机拥有一个主地址和一个辅地址。当主机在原始位置,即“家网”时,获得的是主地址;当它移动到一个“外网”并获得辅地址时,必须把辅地址发送给位于家网的一个代理,该代理同意截取发送给主地址的数据包,把每个数据包以隧道方式传输到辅地址。然而,移动IP提供的移动性能的粒度(granularity)仅限于整台主机,不像VNAT的粒度达到了点对点连接的两个应用程序或进程。而且,使用移动IP的主机在每次移动后需要相当大的系统开销,这样就不适用于频繁移动和高速移动。
  
  
  VNAT技术的体系结构
  
  
  VNAT的基本思想很简单,就是用一个虚拟地址标识一个连接终端。前面已经提到过,由于传输协议用物理地址标识一个连接,当物理地址改变时,连接必然断开。VNAT打破了传输协议和物理地址之间的这种联系,用一个虚拟地址代替了物理地址。这样,一旦连接建立,VNAT便为连接终端生成各自固定的虚拟地址,并且独立于物理地址,其生存期与这个连接的生存期相同,这个连接也不在受制于双方物理地址的变化。
  
  首先我们来定义一下本文中我们所指的“移动”。我们可以将一个通信终端的移动或转移归纳为两种情况:一种是运行该终端的硬件设备的网络地址发生变化,另一种是该终端所属的进程从一台主机转移到另一台主机。不管是那种情况,其实质都是通信终端的物理地址发生了变化。在TCP/IP互联网中,就是终端的IP地址和端口发生了变化。
  
  如图1所示,VNAT由三部分构成:虚拟连接(virtualization)是让通信终端以虚拟地址建立连接;地址转换(translation)为虚拟地址和物理地址建立映射关系;连接转移(migration)为发生移动的通信终端维护其连接,并且在移动过后更新虚拟地址和物理地址的映射。这三个组件可以集成为一个模块在终端上运行,并不需要对现有配置作任何改动。
   
  图1 VNAT的体系结构
  
  
  1 虚拟连接
  
  VNAT的虚拟连接为建立连接的通信终端生成一个虚拟标识(virtual identification)。我们把由一对虚拟标识建立的点对点的连接称为虚拟连接(virtual connection),把由一对物理标识建立的点对点的连接称为物理连接(physical connection)。在一次虚拟连接中,物理标识可以任意改变,但虚拟标识是恒定的。由于虚拟连接并不绑定在一对物理终端上,它可以在物理网间任意漫游。
  
  从TCP/UDP协议来看,一个虚拟标识是由一个虚拟IP地址和一个虚拟端口号组成的。为简便起见,我们在下面的讨论中省去了端口号,并用“虚拟地址”指代虚拟标识,用“物理地址”指代物理标识。下面我们通过一个TCP的例子来理解虚拟连接。
  
  图2演示了TCP环境下的虚拟连接。VNAT截取从应用程序发往TCP的建立连接的请求,把请求中包含的物理地址转换为虚拟地址。如图2所示,服务器上的一个应用程序向TCP请求以主机物理地址10.10.10.10开启服务,监听所有来自客户端的连接。VNAT截取了这个请求并且用一个虚拟地址1.1.1.1替换了物理地址10.10.10.10。类似地,客户机上的一个应用程序请求连接到地址为10.10.10.10的主机,并且将自己绑定到客户机地址20.20.20.20;而VNAT截取了这个请求并且用虚拟地址1.1.1.1替换了10.10.10.10,用2.2.2.2替换了20.20.20.20。
   
  
  图2 VNAT的虚拟连接
  
  
  这一过程完成后,服务器端和客户端的TCP建立的连接都是一个虚拟连接(1.1.1.1,2.2.2.2)而不是物理地址连接(10.10.10.10,20.20.20.20)。如上文所述,这里我们省去了定义一个TCP连接所需要的端口号。这个连接一旦建立,就不会在因为“移动”而发生变化。例如,将客户机上应用程序的进程转移到另一台机器,或者将客户机IP地址改为(30.30.30.30),这个连接仍然为(1.1.1.1,2.2.2.2)。
  
  通过这个例子我们可以看到,VNAT对连接的“虚拟化”过程对TCP是不可见的;也即,TCP并不知道所建立的连接采用的是虚拟地址,它仍然把虚拟地址当作真实的物理地址来执行践作。同样,“虚拟化”过程对应用程序也是不可见的,因为它并不关心低层的信息传输。通过比较我们可以发现,移动IP技术是通过对应用程序隐藏地址的变化来实现移动,而VNAT则通过对传输层隐藏地址的变化来实现移动。
  
  由于虚拟连接的双方共用一对虚拟地址,势必应建立某种机制,使任何一方在连接建立时告知对方自己使用的虚拟地址。然而,使用这种机制可能会造成时延,这个问题在广域网的实时通信中显得尤为突出。一种解决方法是,双方在建立连接时默认使用此时的物理地址作为虚拟地址,这样就省去了额外的通信开销。如果采用这种机制,无论连接双方如何“移动”,在传输层建立的连接总是使用连接 初建立时双方的物理地址。
  
  
  2 地址转换
  
  通过建立虚拟连接,传输层就可以不必顾及通信终端物理地址的变化了。然而,仅仅建立了虚拟连接并不足以传输数据包。仍然以图2为例,从客户机20.20.20.20发出的首部包含(2.2.2.2,1.1.1.1)的TCP数据包永远也不会到达服务器10.10.10.10。为了使数据包能够在虚拟连接上顺利传输,VNAT采用了地址转换机制,将虚拟连接中的一对虚拟地址同通信终端的一对物理地址关联起来。也就是说,VNAT首先建立虚拟连接,然后通过地址转换将虚拟地址和物理地址建立起一一对应的关系。
  
  VNAT地址转换机制类似著名的NAT(Network Address Translation,网络地址转换)技术。NAT技术通过维护一张NAT转换表来建立本地专用网内的主机同外部网的主机的映射,从而使得拥有专用地址的主机能同外界网络进行通信。VNAT的地址转换对传输层是透明的,而且完全在终端内部实现,因此不需要对传输协议作任何修改。下面我们继续图2的例子来讨论地址转换。
  
  如图3所示,来自客户端TCP的首部包含(2.2.2.2,1.1.1.1)的TCP数据包经过VNAT地址转换,其首部的源地址和目的地址变为(20.20.20.20,10.10.10.10),然后发往服务器10.10.10.10。当该数据包到达服务器后,再一次经过地址转换,其首部的源地址和目的地址又变回(2.2.2.2,1.1.1.1), 后被服务器端TCP接收。
   
  图3 VNAT的地址转换
  
  
  如果我们采用连接双方 初的物理地址作为虚拟地址,在通信终端未发生移动时,由于虚拟地址同物理地址相吻合,就不需要进行地址转换,从而节省开销。因此,在这种机制下,VNAT地址转换仅在终端的物理地址变动时才进行。
  
  
  3 连接转移
  
  VNAT的虚拟连接和地址转换使连接终端可以自由移动和传输数据。在这基础上,VNAT的连接转移机制使得通信双方在保持连接的同时可以自由移动。VNAT连接转移能使连接在一个地点被挂起,在另一个地点被唤醒。当连接终端的地址发生变动时,该连接随着所属进程一起被转移。同时VNAT采用安全密钥的机制,在移动后唤醒连接时首先需要通过安全验证,然后更新从虚拟地址到物理地址的映射。限于篇幅,这里简要介绍一下VNAT连接转移的相关内容。
  
  我们在前面已经定义了移动的两种情况,即主机移动和进程移动。当任何一个终端发生移动时,该连接被挂起。当一个终端转移到一个新的地点后,VNAT将通知另一个终端更新从虚拟地址到物理地址的映射信息。鉴于这样可能会让恶意攻击有机可乘,VNAT提供了安全机制。当连接被挂起时,连接双方约定一个安全码。在唤醒这个连接时,双方首先验证这个安全码,然后再更新地址信息。
  
  现在我们来看一个完整的动态连接转移的例子。如图4所示,主机20.20.20.20上的客户端程序建立了一个同主机10.10.10.10上的服务器端程序的TCP连接。VNAT虚拟化了这个连接,并采用双方 初的IP地址作为虚拟地址。这样,双方的TCP看到的连接都是(20.20.20.20,10.10.10.10)。此时,由于客户端进程发生转移或者客户端主机发生移动,连接被挂起。挂起之前,客户端VNAT向服务器端发送信息,约定安全码。客户端移动到新的主机地址30.30.30.30后,客户端VNAT唤醒连接,双方验证安全码。验证通过之后,双方更新地址转换信息,将虚拟连接(20.20.20.20,10.10.10.10)关联到物理连接(30.30.30.30,10.10.10.10)。在转移过程前后,双方的TCP所看到的虚拟连接(20.20.20.20,10.10.10.10)没有变化。通过VNAT,我们实现了通信双方在保持平稳连接同时的地址转移。
  
  " 图4 一个连接终端的转移
  
  与VNAT有关的其它问题
  
  我们目前的讨论大都围绕TCP来进行,因为TCP是面向连接的传输协议,在互联网上应用广泛。针对无连接的传输协议如UDP,VNAT也提供了相应的机制。这类无连接的传输协议适用于视频传输。尽管传输层本身感知不到连接,应用层仍然维持着某种形式的连接。在这种情况下,VNAT对应用程序隐藏了连接双方的物理地址,而代之以一个虚拟地址。当连接的一方发生移动时,应用程序看到的仍然只是不变的虚拟地址,感觉不到移动的发生。
  
  在上文的例子中,我们只列举了连接的一方发生移动的例子。当连接的双方同时移动时,每个终端必须告知对方自己的新地址。这时,双方可以约定通过另一台服务器来传递移动后的联络信息,以便及时恢复连接;或者也可以将移动到的新地址的信息发送到自己原来的地址,对方可以通过原来的地址来获取新地址。
  
  由于通信终端移动时,VNAT虚拟连接也随之转移到另一台主机,这样有可能导致虚拟地址冲突。当两个不同的连接使用了一对相同的虚拟地址,并且这两个连接中至少有一台主机相同时,这台主机上的传输层协议便会拒绝这两个连接同时存在。譬如,主机10.10.10.10同20.20.20.20建立了一个虚拟连接(10.10.10.10,20.20.20.20)。随后,在20.20.20.20上的连接终端转移到了主机30.30.30.30上,虚拟连接(10.10.10.10,20.20.20.20)也随之转移到10.10.10.10与30.30.30.30之间。此时如果主机20.20.20.20上的应用程序若想再建立一个同10.10.10.10的连接,按照上文的例子,这个虚拟连接应该为(10.10.10.10,20.20.20.20),但是由于10.10.10.10上已经有了一个同30.30.30.30的名为(10.10.10.10,20.20.20.20)的连接,这便产生了冲突。在实际应用中,发生冲突的概率是很小的,因此VNAT允许通信终端使用相同的虚拟地址。当冲突发生时,VNAT将关闭其中的一个连接。
  
  以上我们讨论了虚拟网址转换技术。同其它为实现移动互联网或互联网漫游的技术相比,VNAT的 大优点在于它不用对现有软硬件设施作任何更改,而且适用范围宽广。随着分布式计算和移动通信设备的飞速发展,我们现有的网络技术和设施已渐显落后,然而,彻底更新现有的信息基础设施将会是一个规模浩大且旷日持久的工程。因此,如何使现有技术设备在现有环境下进一步发挥潜能,这是一个值得关注的问题。VNAT技术便是这一领域的一个鲜明例证。

您当前的位置:湖南阳光电子技术学校 -> 技术园地 -> 网络工程园地 -> 文章内容

作者:佚名  来源:不详  发布时间:2009-5-26 12:55:31  发布人:cswok

[] [返回上一页] [打 印] [收 藏]
下一篇文章:解读中小型数据网络

栏目导航

· 电工焊工园地 · 电视维修园地
· 手机维修园地 · 空调维修园地
· 冰箱维修园地 · 液晶电视维修
· 网络工程园地 · 显示器维修园地
· 笔记本园地 · 数码产品维修园地
· 音响维修园地 · 电子基础知识
· 电脑维修天地 · 综合维修园地

热门文章

· 入学须知
· 2009年收费标准
· 家电维修培训
· 彩显中易损大功率三..
· 电工培训
· [组图] 学生生活介绍..
· [图文] 就业安置流程..
· 湖南阳光电子技术学..
· [图文] 学费是多少,..
· [组图] 来校路线图

推荐图文

首页 阳光概况 技术专业 教学管理 就业导航 成功学子 技术园地 招生资讯 精锐师资 综合讯息

友情连接 - 网站地图 - 学生档案
网站:
http://www.hnygpx.net   报名电话:0731 - 85579057,  0731 - 85569651
报名信箱:
yp5579@263.net       咨询QQ: 361928696,  873219118 
校址:湖南省长沙市雨花区车站南路红花坡路口(红花坡路176号)