分组网络中端点地址的改变转让专利

申请号 : CN200510004786.5

文献号 : CN1649351B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 弗权·阿麦德·安萨瑞埃杰伊·萨斯亚纳斯

申请人 : 朗迅科技公司

摘要 :

无缝传输端点移动性(STEM)结构把传输连接端点从老的IP地址迁移到新的IP地址,而不丢失会话。迁移过程是在两个端点本身之间协商的。传输端点移动性包括在两个STEM成分之间的通信,每个端点一个STEM成分,它们动态地更新与会话有关的核心数据结构(例如,与TCP/IP应用有关的5单元组的单元)。迁移对于使用基础传输连接用于数据传送的应用是透明的。

权利要求 :

1.一种在基于分组的通信系统中在迁移者与非迁移者之间的会话期间从当前的迁移者端点地址迁移到新的迁移者端点地址的方法,其中迁移者是具有在该会话期间从当前迁移者端点地址改变为新的迁移者端点地址的地址的端点,而非迁移者是具有在该会话期间不发生改变的地址的端点,该方法包括以下步骤:(a)在迁移者处通过(a1)逻辑地改变到所述新的迁移者端点地址和(a2)更新迁移者的核心结构的步骤,把所述当前的迁移者端点地址改变到所述新的迁移者端点地址;

(b)暂停具有所述新的迁移者端点地址的分组到非迁移者的传输;

(c)经由与迁移者和非迁移者之间的会话信道分开的信道通知非迁移者改变到所述新的迁移者端点地址;以及(d)继续具有所述新的迁移者端点地址的分组到非迁移者的传输。

2.权利要求1的方法,其中迁移者通过从包括当前的迁移者端点地址的当前的5单元组改变到包括所述新的迁移者端点地址的新的5单元组而改变到所述新的迁移者端点地址,及更新迁移者的核心结构包括修正具有当前的5单元组的套接字,以反映新的5单元组,该套接字是与会话相关联的。

3.权利要求1的方法,其中步骤(a)包括在发起到所述新的迁移者端点地址的改变之前登记非迁移者的步骤。

4.权利要求1的方法,其中步骤(b)包括暂停在传输层发送分组到非迁移者和丢弃在网络层接收的、来自非迁移者的分组的步骤,以及暂停在传输层发送分组到非迁移者的步骤在具有防火墙过滤规则的竞争状态期间暂停分组发送。

5.权利要求1的方法,其中步骤(c)包括步骤:发送控制消息到非迁移者,通知非迁移者改变到所述新的迁移者端点地址和接收来自非迁移者的关于非迁移者改变到所述新的迁移者端点地址的确认。

6.一种在基于分组的通信网络中在非迁移者与迁移者之间的会话期间从当前的迁移者端点地址迁移到新的迁移者端点地址的方法,其中迁移者是具有在该会话期间从当前迁移者端点地址改变为新的迁移者端点地址的地址的端点,而非迁移者是具有在该会话期间不发生改变的地址的端点,该方法包括以下步骤:(a)经由与迁移者和非迁移者之间的会话信道分开的信道接收表示迁移者改变到所述新的迁移者端点地址的控制消息;

(b)在非迁移者处改变当前的迁移者端点地址到新的迁移者端点地址;

(c)向迁移者确认非迁移者改变到新的迁移者端点地址;以及

(d)与迁移者交换具有新的迁移者端点地址的会话分组。

7.权利要求6的方法,其中步骤(b)包括逻辑地改变到新的迁移者端点地址和更新费迁移者的核心结构的步骤,其中逻辑地改变到新的迁移者端点地址的步骤包括非迁移者通过从包括当前的迁移者端点地址的当前的5单元组改变到包括新的迁移者端点地址的新的5单元组而改变到所述新的迁移者端点地址,及更新非迁移者的核心结构包括修正具有当前的5单元组的套接字,以反映新的5单元组,该套接字是与会话相关联的。

8.权利要求7的方法,其中步骤(a)包括在接收控制消息之前登记迁移者的步骤。

9.权利要求6的方法,其中步骤(b)包括在改变之前继续接收来自迁移者的分组的步骤。

10.权利要求1或6的方法,其中会话遵从传输控制协议和互联网协议。

说明书 :

技术领域

本发明涉及在通信网络中迁移传输连接,更具体地,涉及在分组网络的地址中迁移现有的会话。

背景技术

随着在互联网上的移动和无线计算设备(移动设备)的发展和激增,需要支持在互联网协议(IP)子网络(子网)上无缝漫游的基础结构。许多用户采用动态原籍配置协议(DHCP)来得到用于连接的IP地址,但采用DHCP只提供便携性,而不提供对于无缝漫游的相对透明性。由移动设备在IP子网络上的每个移动需要首先释放老的地址,然后获得新的IP地址,这导致传输(和高层)连接的丢失。
在两个实体之间的通常的网络通信包括规定在通信期间不改变的唯一的端点识别号,诸如IP地址。例如,在两个端点(例如,主机)之间的典型的传输控制协议(TCP)连接建立过程从使用套接字应用编程接口(API)分组的应用开始。每个套接字API显式地束缚于包括以下的5单元的给定的5单元组。第一单元是识别用于分组的特定通信协议的“协议”单元。第二单元是识别发起分组的源节点的IP地址的“源IP地址”单元。第三单元是表示发起分组的源节点的端口的“源传输端口”单元。第四单元是识别接收分组的目的地节点的IP地址的“目的地IP地址”单元。第五单元是表示接收分组的目的地节点的端口的“目的地传输端口”单元。在会话期间这5单元组的任一个的改变将引起会话失败以及典型地发起连接重新建立。
在给定5单元组结构后,下面概述在当前的遵循TCP的分组网络中连接的建立和维护。TCP引擎的连接建立程序过程包括在客户(第一端点)与服务器(第二端点)之间的一系列消息交换。客户从发送SYN消息给服务器开始,以及客户接收来自服务器的作为应答的SYN-ACK消息。客户在确认中用ACK消息应答回服务器,以及在客户与服务器之间的连接然后是开放的和完全工作的。在连接的两个末端的TCP引擎进入建立状态。状态信息被保持在操作系统核心内的TCP控制块(TCB)中。TCP会话可现在通过被包含在横贯网络的IP数据报(分组报头部分)中的5单元组在网络中唯一识别。从应用和操作系统核心的观点看来,这个会话可以由与这个会话有关的套接字唯一地识别。5单元组的单元中即使1个单元发生任何改变导致会话失败。
当TCP中止连接和关闭相关的套接字结合时,TCP会话失败。有许多原因造成TCP中止连接,其中一些原因包括:(1)从远端接收TCP RST(复位)分组;(2)超过由协议规定的重发试图次数;(3)太多的未应答的“保持存活”探测;(4)由应用请求;以及(5)异常外部条件。这些TCP复位条件在分组网络的正常运行时常规地发生,以及可能是由于接口IP地址的改变、连接丢失的扩展的时间间隔、主机崩溃/重新启动、或类似于TCP连接故障的作用而引起的。
由于使用TCP传输会话的应用被束缚于具有原先的5单元组(带有老的IP地址),改变接口的IP地址并不改变相关应用套接字结合。由应用发送到核心的任何用户数据在TCP层排队,作为TCP发送队列(发送-Q)中的传输层分段,因为没有有效的带有老的IP地址的输出接口,来发出数据。TCP重发机制保持重新尝试发出这个数据,直至有效的路由/接口出现或连接本身时间到为止。如果在二末端系统之间没有可到达性,则在任一侧的TCP状态(通常)继续处在它的以前的状态(例如,两边继续是建立的状态)。如果接口的IP地址变换回它的原先的地址(由此,原先的5单元组),则在端点应用之间的通信继续进行,只要有路由存在。然而,如果接口的IP地址改变,则从远端主机接收的任何数据分组在IP层丢失,因为没有有效的接口来联系数据。本地末端和远端末端根据它们的TCP状态暂停它们各自的连接。
这个会话建立和维护过程是限制性的和对于某些类型的应用施加限制,诸如用户移动性或故障容忍条件。现有技术的移动IP被开发,通过在网络层使用路由技术而旁路这个限制条件达到主机移动性。按照移动IP,对于改变它的附着点而不丢失它的通信的能力的节点,当前典型地必须采用以下两种机制的一种机制:(1)无论何时节点改变它的附着到点时节点必须改变它的IP地址,或(2)在大部分互联网路由结构中必须传播经过主机特定的路由。这两个替换例常常是不可接受的。第一机制使得当节点改变位置时节点保持传输和更高层的连接是不可能的。第二机制呈现严重的缩放问题,特别是有关考虑笔记本电脑的销售的极大的增长。
在现有技术中存在的许多技术已被提出来减小主机移动性和故障回弹问题。这些技术可被分类为提供在网络层(例如,IP层)、传输层(例如,TCP/UDP(用户数据报协议),或更高的层(例如,套接字或应用层))的解决方案的技术。
移动IP试图通过使用从对应的主机到移动节点的所有的分组的路由迂回级别或三角形路由而解决在网络层的主机移动性问题。这个路由间接性是通过使用作为提供业务给移动节点的代理的“本国代理”和“外国代理”而完成的。虽然移动IP很好地解决主机移动性和可达到性问题,但它不能处理传输连接故障(例如,对于传输端点的任何改变导致会话失败)。典型地,取决于传输会话连接的应用需要重新启动以及必须建立新的传输连接。移动IP的其他缺点包括非最佳的三角形路由和IP隧道的大量使用。由于安全原因,业务提供商典型地不允许隧道的分组。而且,由于业务拒绝(DOS)攻击的增加的频率,业务提供商使用入口过滤,来阻挡欺骗源地址的分组。虽然入口过滤问题可通过使用反向隧道被解决,但反向隧道导致网络资源的另外的次最佳使用和在两个端点之间加上额外的分组延时。
试图解决传输层或更高层的端到端主机移动性的问题的方法典型地(1)把连接分离成多个分段,(2)通过把新的消息和状态加到TCP状态机而修正标准TCP实施方案,或(3)欺骗应用使其相信在试图重新建立连接的同时,连接仍旧存在。
例如,MSOCKS(移动套接字)使用分离连接代理,用于连接重新引导。MSOCKS把代理插入在移动节点与它的相应的主机之间的通信路径上以及使用TCP拼接机制,把连接分裂成多个分段,因此使得相应的主机不知道移动节点的移动性问题。然而,加上通信路径,代理可能很大地恶化业务。
这样的技术包括在应用与套接字API之间引入程序库,保留在接连的连接事例中的单个未断裂的连接的幻影。所有这些方法需要把应用与它们的各自的(特定的)程序库相链接。未断裂的连接的幻影是通过欺骗应用使其相信即使传输会话被关闭,传输会话仍旧是工作的,而得到的。中间的程序库然后试图重新建立(新的)传输连接,以及把新的传输连接映射为使用它的应用。这样的解决方案的实施方案和它所牵涉到的运行困难包括使机制虚拟化,如IO轮询、异步的和非阻挡的IO处理过程、对于定时器和信号处理机的需要、以及对于诸如“等待”、“删掉”和“执行”的附加处理控制接口的需要。
另一个技术通过修正传输层的协议和末端应用而提供得到端到端主机移动性的机制。修正方案把新的状态和语义学加到TCP有限状态机以及规定新的TCP任选项,协商连接的迁移。存在有其他技术,它包括改变TCP报头、分组格式、协议语义学、或在分组中加上附加报头。然而,这些技术的缺点在于,终端用户应用必须知道新的特性,异步使用它,暗示对于那些现有的应用的需要的改变。

发明内容

按照本发明的示例性实施例,无缝传输端点移动性(STEM)结构把传输连接端点从老的地址迁移到新的地址,而不丢失会话。迁移过程是在每个端点本身之间协商的。传输端点移动性包括在两个STEM成分之间的通信,每个端点一个STEM成分,它们动态地更新与会话有关的核心数据结构(例如,与TCP/IP应用有关的5单元组的单元)。迁移对于使用基础传输连接用于数据传送的应用是透明的。
按照本发明的示例性实施例,在基于分组的通信系统中在迁移者与非迁移者之间的会话期间,迁移者从当前的端点地址迁移到新的端点地址。迁移者通过(a)在迁移者处把当前的端点地址改变到新的端点地址;(b)暂停以新的端点地址进行分组的到非迁移者的传输;(c)通知非迁移者:改变到新的端点地址;以及(d)以新的端点地址继续进行分组的到非迁移者的传输而进行迁移。
按照本发明的另一个示例性实施例,在基于分组的通信系统中在非迁移者与迁移者之间的会话期间,非迁移者从当前的端点地址迁移到新的端点地址。非迁移者通过(a)接收表示迁移者改变到新的端点地址的控制消息;(b)在非迁移者处把当前的端点地址改变到新的端点地址;(c)以非迁移者改变到新的端点地址应答迁移者;以及(d)以新的端点地址与迁移者交换会话的分组而进行迁移。

附图说明

通过以下的详细说明、所附权利要求、和附图将更加清楚了解本发明的其他方面、特征、和优点,图中:
图1显示对于通过分组网络通信的两个节点的无缝传输端点移动性(STEM);
图2显示在迁移者与非迁移者之间的示例性迁移事件序列;
图3显示在图2的事件序列期间由迁移者采用的示例性方法;
图4显示在图2的事件序列期间由非迁移者采用的示例性方法;
图5显示STEM系统控制消息公共控制报头的示例性格式;
图6显示用于鉴权的STEM系统控制消息扩展报头的示例性格式;
图7显示用于迁移的STEM系统控制消息扩展报头的示例性格式;以及
图8显示用于不透明数据的STEM系统控制消息扩展报头的示例性格式。

具体实施方式

以下的技术术语和定义被利用来帮助了解本发明。“迁移者”或“迁移端点”是当前处在改变过程中的或已改变它的互联网协议(IP)地址的终端系统。迁移者是发起控制消息到识别它的新的IP地址的远端端点的终端系统。“非迁移者”或“非迁移端点”或“固定端点”是不改变它的IP地址的远端端点系统。非迁移者接受由迁移者发送的控制消息以及用确认消息应答回迁移者。在迁移者/非迁移者与客户/服务器之间的一对一的对应关系不一定存在。对于TCP连接,客户是发起到另一个系统的TCP连接的系统,而服务器是提供诸如文件传送协议(FTP)、Telnet、或安全层(SSH)那样的业务给客户的系统。迁移者/非迁移者可以是客户或服务器。
在迁移者与非迁移者之间的会话建立与维护过程遵从以下特性。节点在改变它的IP地址或接口的同时保持与其他节点的现有的通信。迁移连接到新的IP地址所需要的所有的消息可任选地被鉴权,以便提供对于诸如各种重新引导和重放攻击技术那样的会话安全性方面的违背的保护。节点例如通过动态主机配置协议(DHCP)、人工配置、或其他可提供的网络机构而得到IP地址。IP地址(或附着的节点)不快速改变。在保持相应的传输层的连接的同时IP地址可能改变的速率取决于节点与其他节点互相通信的速度和在鉴权后更新它们的核心数据机构的速度。连接的两个终端系统优选地具有实施本发明的实施例的相对较对称的代码。
按照本发明的示例性实施例,无缝传输端点移动性(STEM)结构动态地改变5单元组关联,用于被保持在迁移者的核心数据结构中的建立的会话(连接),以及通知非迁移者对于它的核心数据结构执行相同的IP地址修正。在每个端点中采用动态的可装载的核心模块和控制信息通信成分来改变两个端点的分组中的源和目的地IP地址。因此,为了达到成功的传输端点迁移到新的IP地址,在数据传送期间希望消除对老的IP地址的参考。对于迁移者,被发送到非迁移者的所有的IP分组包括作为源地址的新的IP地址,而从非迁移者接收的所有的分组包括作为目的地地址的新的IP地址。从非迁移者看来,从迁移者接收的所有的IP分组应当包含源地址作为新的IP地址,而被发送到迁移者的所有的分组应当包含作为目的地地址的新的IP地址。
图1显示用于通过互联网103通信的节点101和102的STEM系统100。节点101包括两个用户应用APP1和APP2,用来在作为分组通过互联网103发送之前,生成由传输层模块106和网络层模块107处理的数据。节点102奈奎网络层的模块108和传输层模块109,用来处理从互联网103接收的分组,提供数据到应用服务器SRV1、SRV2和SRV3。传输层模块106和109例如根据传输控制协议(TCP)进行通信,以及网络层模块107和108例如根据IP进行通信。TCP/IP通信在技术上是熟知的,以及例如可以在Andrew S.Tannenbaum,”Computer Networks(计算机网络)”,Second edition,Prentice Hall,1988中找到。
应用APP1建立和保持与应用服务器SRV1的TCP/IP会话。STEM成分104和105协调数据交换和控制,诸如识别包括分别用于节点101和102的源和目的地IP地址的5单元组信息。STEM成分104和105可以处在通过带外信道(与TCP会话信道分开的信道)的通信,被显示为通过互联网103传送的用户数据报协议(UDP)会话。
每个STEM成分用动态可装载的核心模块(图1上未示出)被实施。成分是连续运行的和为了处理计算机系统预期接收的周期性业务请求而存在的程序。成分程序把请求转发到如由给定的通信协议规定的其他程序(或处理过程)。STEM成分104和105的核心模块修正存储5单元组信息的、它们的核心数据结构。5单元组唯一地识别核心套接字描述符(识别在应用中的TCP/IP会话的描述符)。
图2显示在迁移者与固定末端(非迁移者)之间的示例性迁移事件序列。在时间间隔201期间通过使用用于迁移者的IP地址192.168.1.1在两个端点之间进行正常的数据传送。在图2上,通过TCP会话的消息被显示为在用于来自迁移者的数据的(M)下和在用于来自固定的末端的数据的(F)下,而通过带外信道(例如,UDP会话)的控制消息被显示为在用于来自迁移者的消息的(MD)下和在用于来自固定的末端的消息的(FD)下。在连接建立后但在IP地址改变点202之前的点,迁移者任选地通过使用登记请求登记到固定的末端,固定的末端通过带外信道对于该登记请求用回答进行确认。迁移者任选地为了安全性登记到固定的末端,以及告知固定的末端,迁移者要移动或改变它的IP地址。
迁移者可以以多种不同的方法得到用于它的接口的新的IP地址。迁移者本身可以从更高的级别的网络管理器或DHCP服务器请求地址,它们然后分配和提供地址。替换地,接口可以人工地被重新分配新的IP地址。
在IP地址改变点202,迁移者开始改变IP地址192.168.2.99。在IP地址改变事件202后的时间间隔203期间,迁移者的核心模块(例如,节点10)更新在与套接字描述符有关的、5单元组数据结构中的IP地址。每个套接字描述符唯一地与一个5单元组有关。核心数据结构更新从搜索所有的公开的套接字描述符和把它们与特定的5单元组(包含老的IP地址作为单元组之一)相匹配开始。一旦识别正确的匹配,就对这个数据结构作出适当的改变,反映新的IP(端点)地址。另外,暂停分组传输到目的地节点。TCP数据分段被缓存在节点的发送队列(TCP发送Q)直至建立有效的路由为止。
因此,就应用(例如,APPI)而论,改变对于核心是透明的,因为应用仍旧束缚于同一个套接字描述符。因此,应用采用同一个套接字描述符和继续正常运行。在修正的套接字描述符上发送的数据在路由查找过程期间产生有效的路由/接口。同时,迁移者通知远端(固定端),提供带外通信(被显示为控制消息“migrate req(迁移请求)”)改变到新的端点IP。根据这个信息,固定的末端把类似的改变施加到它的核心数据结构,以使得在由固定的末端发出的数据分组的IP报头中的目的地地址反映新的数值。固定的末端以它的核心的修正(被显示为控制消息“迁移回答”)回答迁移者,以及两个端点在时间间隔205使用迁移者的新的IP地址继续进行通信作为正常的TCP会话。由于有有效的路由,被存储在TCP发送Q中的TCP数据分段通过接口被发出到目的地,以及所发送的所有的分组的IP地址在IP报头中包含适当的新的地址。
以平滑的和系统的方式控制迁移过程,可防止发生被称为赛跑条件的、可生成终结连接的TCP复位消息的条件。具体地,优选实施例可以通过保证(1)迁移者的核心改变总是在  之前首先被施加,以及(2)迁移者在控制消息交换时间间隔期间不发送关于该会话的任何数据而阻止这些条件。这样的阻止例如可以通过使用系统的防火墙法则(例如,在Linux操作系统中的iptables(IP表)输出链法则)阻止任何会话数据离开系统直至迁移过程完成为止,而达到。法则被动态地加到核心,明显地阻止这个会话的法则传输到远端末端。一旦接收到来自非迁移者的应答,就撤除该法则,继续进行正常的运行。替换地,优选实施例可延迟老的端点IP地址的重新分配一定的时间间隔。这保证两个不同的会话不同时采用同一个IP地址。
图3显示在图2的事件序列期间对于迁移者采用的示例性方法。在步骤301,迁移者通过使用当前的端点IP地址同时参加与非迁移者的现有的会话。在步骤302,迁移者通过带外信道(例如,UDP信道)发送登记请求控制消息到非迁移者,以便把迁移者登记到非迁移者。在步骤303,如果步骤302被执行,则迁移者通过带外信道接收来自非迁移者的登记回答控制消息作为由非迁移者对于登记的应答。
在步骤304,迁移者开始把它的当前的端点IP地址改变到新得到的端点IP地址(“新的端点IP地址”)。在步骤305,迁移者暂停发送法则,以及把分组排队在TCP发送队列。在步骤306,迁移者开始丢失包含老的端点IP地址的、从非迁移者接收的分组、在步骤307,迁移者更新STEM成分的、迁移者的核心数据结构,以包括新的端点IP地址。
在步骤308,迁移者通过带外信道把端点地址改变控制消息发送到非迁移者,以表示迁移者已改变到新的端点IP地址。在这个时间间隔期间,迁移者继续把分组排队在TCP发送队列。在步骤309,迁移者通过带外信道接收来自非迁移者的、表示非迁移者已改变它的核心数据结构为包括新的端点IP地址的、端点地址改变确认控制消息。在步骤310,迁移者通过从TCP发送Q中释放分组继续进行用新的端点IP地址的会话。
图4显示在图2的事件序列期间由非迁移者采用的示例性方法。在步骤401,非迁移者当前通过使用当前的端点IP地址参加与迁移者的现有的会话。在步骤402,非迁移者通过通过带外信道接收来自迁移者的登记请求在步骤403,如果步骤402被执行,则非迁移者登记迁移者以及通过带外信道发送登记回答控制消息到迁移者,作为由非迁移者对于登记的应答。
在步骤404,非迁移者继续接收来自迁移者的、包含老的端点IP地址的分组。在步骤405,非迁移者通过带外信道接收来自迁移者的、表示迁移者已改变到新的端点IP地址的、端点地址改变控制消息。在步骤406,非迁移者更新STEM成分的、非迁移者的核心数据结构,以包括新的端点IP地址。
在步骤407,非迁移者通过带外信道把端点地址改变确认控制消息发送到迁移者,以表示非迁移者已改变它的核心数据结构包括新的端点IP地址。在步骤408,非迁移者用新的端点IP地址继续进行会话。
回到图1,STEM系统100采用带外控制信道,被显示为UDP信道150,来进行诸如STEM成分模块104与105的对等者之间的通信。通过UDP信道150的带外通信提供优点,迁移者即使在IP地址发生改变后仍旧可以把它的改变传送到非迁移者。另外,带外通信可以同时载送有关多个TCP会话的信息图5到8显示可以通过UDP信道150被交换的、用于迁移者和非迁移者的示例性控制消息的格式。在所有的控制消息中使用公共报头,它遵从具有非零检验和的UDP格式。
图5显示STEM系统控制消息公共控制报头的示例性格式。在图5上,“Version”表示协议的版本号,“Sequence#”表示在数据消息序列中16比特消息计数值,“Identifier cookie”是唯一地标识节点48比特识别号,以及“Replay Protect ID(重放保护ID)”是用来保护免受重放攻击的基于时间印记或随机值的64比特唯一的识别号。“Type”识别作为控制消息类型的分组以及可以取4个数值:“1”表示消息是登记请求,“2”表示消息是登记回答,“3”表示消息是迁移请求,以及“4”表示消息是迁移回答。“标记/代码”表示在迁移登记控制消息中使用的标志和返回代码,其中“1”表示登记请求被接受。“标记/代码”的其他数值可表示登记请求由于给定的理由被拒绝。
登记过程从迁移者把表示它的能力的登记请求控制消息发送到非迁移者开始。在鉴权和验证后,非迁移者用具有表示请求的状态的、适当的回答代码组的登记回答控制消息作为应答。“identifier cookie(标记)”区被使用来唯一地标识节点。用来生成这个标记(cookie)的许多方法在技术上是已知的。例如,可以采用在SCTP或TCP中使用的标记生成方法(例如,同步标记生成)。典型地,标记是标识节点的不变量的函数。例如,由于IP地址不断地改变,具有被提供给域名的单通道散列函数的完全合格的域名产生唯一的48比特项目标记。
由迁移者构建的、回答保护ID区被使用来用于匹配登记请求和回答消息,以阻碍重播/重放攻击。重放攻击是对于安全协议的攻击,它使用来自不同的上下文的消息重放到原先的上下文,由此使得忠实的参加者相信他们成功地完成协议运行。来自非迁移者的登记回答消息把这个区设置为根据在请求消息中接收的重放保护ID区和所使用的回答保护机制的形式(例如,由节点安全协会给定的时间印记或无意义的话(随机值))计算的数值。
图6显示用于鉴权的STEM系统控制消息扩展报头的示例性格式。在图6上,“Type”表示分组为鉴权报头类型。“Length”是分组的长度,“SPI”是表示在两个对等者之间的安全性的安全性参数指数,以及“Authentication”是可变的长度鉴权区。
由示例性STEM系统采用的鉴权机制可以类似于在移动IP中使用的机制。每个节点支持由不透明的安全性参数指数(SPI)和识别号cookie指示的安全性协会。在鉴权扩展报头内的SPI规定安全性,被使用来计算鉴权值和被接收机使用来检验该数值。接收机选择鉴权算法(例如,加密算法HMAC-MD5(散列消息鉴权代码-消息摘要版本5)和SHA(保密散列算法))、算法模式(例如,前缀+后缀)和在根据这个SPI计算鉴权时使用的秘密(共享的密钥或公钥/私钥对)。所计算的鉴权值保护UDP信道分组的有用负载(登记请求/重放控制消息)、其他扩展(迁移请求/重放控制消息)和分组报头的初始部分(类型、长度、和SPI)。
图7显示用于迁移的STEM系统控制消息扩展报头的示例性格式。在图7上,“Type”表示分组为迁移报头类型。“Length”是数据的长度,“Proto Flags”表示协议类型(例如,比特0=TCP,比特1=UDP),“Old IP addr”是在迁移之前的IP地址,“New IP addr”是在迁移之后的IP地址,“Old Port”是在迁移之前老的端口号,以及“New Port”是在迁移之后的新的端口号。
如上所述,迁移过程牵涉到在对等者之间交换迁移请求/回答控制消息。除了公共报头与任选的鉴权报头以外,控制消息还包括一个或多个迁移报头。每个迁移报头包含对于在对等者之间的一个或许多会话的、关于老的5单元组变换到新的5单元组的信息。在“协议标志”区中每个比特表示预先规定的协议。一个以上的比特可以同时被发送,表示感兴趣的多个协议的迁移。把区设置为零值表示对于所有的协议的迁移。“老的IP”和“新的IP”区提供从迁移端点的老的IP地址到新的IP地址的特定的映射,而“老的端口”和“新的端口”区为每个会话中使用的端口提供等价的映射。正如在“协议ID标志”区中那样,端口区也可被设置为零值,表示迁移者希望迁移在两个端点之间的所有的会话,诸如当移动节点在IP子网络上移动时以及移动节点希望同时迁移所有的公开的会话。
除了参照图5、6和7描述的在带外信道中的消息以外,对于STEM系统的特定的应用,可以采用附加的带外消息。由于对于主机移动性可以采用STEM系统,可以采用用于连接越区切换和位置管理的消息。这样的消息可包含诸如位置、固定的端点、信号噪声比(SNR)、连接质量、或类似的信息的数据,合起来称为“不透明数据”。图8显示用于不透明数据的STEM系统控制消息扩展报头的示例性格式。在图8上,“Type”表示分组为不透明报头类型。“Length”表示“Sub-Type”和“Opaque Data”区的长度,“Sub-Type”表示被包括在不透明数据中的更新信息的类型(例如,位置更新信息),“Flags/Codes”是被使用来实行不透明数据交换的标志或代码,以及“Opaque Data”是分组的可变长度的不透明数据。
本发明可允许以下的优点。按照STER系统的一个或多个实施例运行的端点既不打断端到端TCP连接也不在端点之间的通信路径上分配任何代码/代理。在数据路径上不加上新的代码,以及应用不被欺骗为相信仍旧存在连接。STEM系统的一个或多个实施例迁移同一个TCP连接到新的地址或新的附着点(即,在迁移过程期间端点TCP状态机继续处在“建立的”状态)。
虽然本发明是对于按照TCPIP通信过程运行的分组网络被描述的,但本发明并不限于此。本领域技术人员可以容易地把这里的教导扩展到其他分组网络,其中一个节点把它的连接转移到另一个节点。另外,本发明可以优选地使用于无线、射频、蜂窝或其他非有线的应用(合在一起称为“无线”应用),但本发明并不限于此,以及可以在支持基于分组的通信的有线的或光的网络中被利用。
本发明可以以方法和用于实践这些方法的设备的形式被体现。本发明也可以以程序代码的形式被体现,这些程序代码被体现在有形的媒体,诸如软盘、CDROM、硬盘、或任何其他机器可读的贮存媒体,其中当程序代码被装载到诸如计算机的机器和被机器执行时,机器变为用于实践本发明的设备。本发明也可以以程序代码的形式被体现,例如,这些程序代码被存储在贮存媒体,被装载在机器和或被机器执行,或通过某些传输媒体被发送,诸如通过电线或电缆、通过光纤、或经由电磁辐射,其中当程序代码被装载到诸如计算机的机器和被机器执行时,机器变为用于实践本发明的设备。当在通用处理器上被实施时,程序代码分段与处理相组合,提供与特定的逻辑电路类似地运行的唯一的设备。
还应理解,本领域技术人员可以在为了解释本发明的性质而描述和显示的部分的细节、材料和安排方面作出各种改变,而不背离如在以下的权利要求中表达的本发明的原理和范围。