家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生 家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生

虚拟网址转换技术简介

  

随着无线传输和个人信息终端技术的发展,市场对广义的移动通信的需求也越来越强烈。人们希望连在网上的通信设备不会因为改变了物理地址而中断与其他设备的已经建立的连接,从而实现各种通信设备在互联网上的自由漫游 ,譬如,一台电脑在改变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统计:[

相关新闻

点击这里给我发消息
点击这里给我发消息
点击这里给我发消息
阳光电子学校
电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校
中山市,固原市,银川市,玉树,海东,陇南市,酒泉市,张掖市,天水市,金昌市,兰州市,榆林市,延安市,渭南市,铜川市,阿里,山南,拉萨市,怒江,文山州,楚雄州,普洱市,昭通市,玉溪市,昆明市,毕节,铜仁,遵义市,贵阳市,甘孜州,资阳市,达州市,宜宾市,南充市,遂宁市,绵阳市,泸州市,自贡市,三亚市,崇左市,河池市,玉林市,钦州市,梧州市,柳州市,梅州市,肇庆市,湛江市,佛山市,珠海市,韶关市,湘西州,怀化市,郴州市,张家界市,邵阳市,株洲市,仙桃市,随州市,荆州市,荆门市,襄樊市,黄石市,驻马店市,信阳市,南阳市,漯河市,中卫市,石嘴山市,海西,海南藏州,黄南州,海北,甘南,庆阳市,平凉市,武威市,白银市,嘉峪关市,安康市,汉中市,咸阳市,宝鸡市,林芝,日喀则,昌都,迪庆,德宏,大理,西双版纳,红河州,临沧市,丽江市,保山市,曲靖市,黔东州,黔西州,安顺市,六盘水市,凉山州,阿坝州,雅安市,广安市,眉山市,内江市,广元市,德阳市,攀枝花市,成都市,海口市,来宾市,百色市,贵港市,北海市,桂林市,南宁市,云浮市,揭阳市,潮州市,清远市,阳江市,汕尾市,惠州市,茂名市,江门市,汕头市,深圳市,广州市,娄底市,永州市,益阳市,岳阳市,湘潭市,长沙市,恩施州,黄冈市,孝感市,鄂州市,十堰市,武汉市,周口市,商丘市,三门峡市,许昌市,焦作市,安阳市,鹤壁市,平顶山市,开封市,郑州市,聊城市,滨州市,德州市,莱芜市,日照市,泰安市,烟台市,潍坊市,东营市,淄博市,上饶市,济南市,抚州市,宜春市,赣州市,新余市,九江市,景德镇市,宁德市,南平市,泉州市,莆田市,厦门市,宣城市,亳州市,六安市,宿州市,黄山市,滁州市,安庆市,淮北市,马鞍山市,蚌埠市,芜湖市,合肥市,丽水市,舟山市,衢州市,金华市,湖州市,嘉兴市,宁波市,宿迁市,镇江市,盐城市,连云港市,苏州市,徐州市,南京市,绥化市,牡丹江市,佳木斯市,大庆市,鹤岗市,哈尔滨市,白城市,白山市,辽源市,吉林市,葫芦岛市,铁岭市,盘锦市,阜新市,锦州市,本溪市,鞍山市,沈阳市,锡林郭勒盟,通辽市,乌海市,吕梁市,忻州市,晋中市,晋城市,阳泉市,太原市,廊坊市,承德市,保定市,邯郸市,唐山市,宁夏,甘肃省,西藏,贵州省,重庆市,广西,湖南省,河南省,江西省,安徽省,江苏省,黑龙江省,辽宁省,山西省,天津市,四平市,内蒙古,吴忠市,果洛,西宁市,定西市,商洛市,西安市,那曲,黔南州,巴中市,乐山市,贺州市,防城港市,东莞市,河源市,常德市,衡阳市,咸宁市,宜昌市,濮阳市,新乡市,洛阳市,菏泽市,临沂市,威海市,济宁市,枣庄市,青岛市,吉安市,鹰潭市,萍乡市,南昌市,龙岩市,漳州市,三明市,福州市,池州市,巢湖市,阜阳市,铜陵市,淮南市,台州市,绍兴市,温州市,杭州市,泰州市,扬州市,淮安市,南通市,常州市,无锡市,大兴安岭,黑河市,七台河市,伊春市,双鸭山市,鸡西市,齐齐哈尔市,延边,松原市,通化市,长春市,朝阳市,辽阳市,营口市,丹东市,抚顺市,大连市,阿拉善盟,兴安盟,乌兰察布市,巴彦淖尔市,呼伦贝尔市,鄂尔多斯市,赤峰市,**头市,呼和浩特市,临汾市,运城市,朔州市,长治市,大同市,衡水市,沧州市,张家口市,邢台市,秦皇岛市,石家庄市,青海省,陕西省,云南省,四川省,海南省,广东省,湖北省,山东省,福建省,浙江省,上海市,吉林省,河北省,北京市