移动tcp以及建立和保持一个移动tcp连接的方法

文档序号:7583463阅读:267来源:国知局
专利名称:移动tcp以及建立和保持一个移动tcp连接的方法
技术领域
本发明涉及移动TCP(m-TCP)和通过互联网等建立和保持移动终端/主机,如计算机之间的m-TCP连接的方法。
TCP/IP(传输控制协议/互联网协议)组包括控制计算机之间通过互联网通信的协议。这些协议包括一个TCP,一个IP和一个用户数据报协议(UDP)。TCP是面向连接的服务而UDP是无连接服务。
传统地,TCP要求固定的IP终点地址以建立终端/主机(T/HS)之间的TCP连接。一旦建立了TCP连接,这些IP终点地址不能被改变。即,两个实体(如T/Hs)之间的连接由一对终点唯一标识。每个终点包括一个二元组,其中一个是主机的IP地址,一个是主机内特定的TCP端口号。这些IP地址和TCP端口号一旦TCP连接被建立就是固定的不可改变的。但是,对于在网络如互联网漫游的移动T/Hs,终点在不断变化。因此,常规的TCP服务不足以建立和保持移动T/Hs之间的通信。
本发明旨在提供一个移动T/Hs的m-TCP连接和建立和保持m-TCP连接的方法,其中在建立的m-TCP连接期间移动T/Hs的IP地址在不断变化。该方法和装置采用一个全局唯一的m-TCP连接标识,该标识被包含在m-TCP连接的移动T/Hs之间通信的每一个数据段中,用以标识该m-TCP连接。通过使用该m-TCP连接标识,当移动T/Hs在网络漫游时,不断变化的移动T/Hs的IP地址可以被更新。
通过下面给出的详细描述以及附图,本发明将被更充分地理解,其中图中的参考编号指明不同图中的相应部分,其中

图1示出了根据本发明的一个实施方式通过互联网操作的一个通信系统的图;图2示出了图1中的通信系统的一个单元的结构;图3示出了根据本发明的一个TCP头的内部数据结构。
下面的详细说明涉及根据本发明的实施方式的一个m-TCP和建立和保持m-TCP连接的方法。该m-TCP允许在通过互联网互相虚连接的移动T/Hs(如计算机)之间传输数据报。一个数据报包含一个数据段和一个IP头。
图1示出了根据本发明通过互联网操作的通信系统的概括图;如图所示,通信系统包括多个小区12,122…12N和非移动主机16,通过互联网14通信。这些小区12,12N…12N定义了一个无线电接入子网络,即一个m-TCP/IP组。
每个小区121,122…12N(小区12)包括一个基站(BS)18和多个移动T/Hs 201,202…20N,如图2所示,BS18提供去向和来自多个移动T/Hs 201,202…20N的访问,并起到指挥移动T/Hs201,202…20N之间IP通过网络14的路由器的作用。下行方向的IP通信(即,从BS18到T/H)是由BS 18广播的,而上行方向(即从T/H到BS 18),IP通信是通过一个统计共享的上行无线电信道传输的。每个移动T/Hs201,202…20N(移动T/H 20)可以至少同时与两个BS通信。
每个小区12有它自己的IP地址,例如NETID,以标识该小区,和多个虚拟访问端口,不同的移动T/Hs201,202…20N连接在该虚拟访问端口上并在BS 18的控制下通过互联网14相互通信。为了标识这些访问端口,每个访问端口有一个主机IP地址,如HOSTID。
每个移动T/H 20有一个标识该T/H的永久的域名。该域名存储在各T/H的非易失性存储器中。而且,每个移动T/H 20有一个域名服务器(DNS)用以注册一个新域名类(如,移动互联网类(MIC))下的移动T/H的域名。每个移动T/H 20的DNS还存储和更新表示移动T/H 20的当前地址的移动T/H 20的IP地址。当移动T/H 20通过例如连接到一个新的BS上来在网络(如,互联网14)漫游时,移动T/H 20需要一个新的IP地址。移动T/H 20的DNS用新获得的IP地址更新移动T/H20的IP地址。如果移动T/H 20完全断开与网络的连接,DNS不存储移动T/H 20的任何IP地址。
当T/H s 201,202…20N通过网络漫游不断改变它们的IP地址时,新的IP地址由m-DHCP(动态主机控制协议)服务器分配。每个BS 18都引入一个m-DHCP服务器或其功能。如果BS 18引入该m-DHCP服务器,分配给每个BS 18的IP地址数多于当前连接到相应小区的移动T/Hs201,202…20N的最大数。每当不再使用的IP地址返回给m-DHCP服务器中的IP地址集合时,该返回地址在预先确定的时间段里暂时不能使用以避免以前和当前连接之间的干扰。该预先确定的时间段通常大于一个旧段在互联网14中存活的最大时间,这为更新相应的DNS提供了足够的时间。
发自移动T/H 20的要求信号引起为移动T/Hs 201,202…20N分配新的IP地址。正在寻找一个新的IP地址的移动T/H 20生成一个m-DHCP要求信号发给m-DHCP服务器。发自移动T/H 20的m-DHCP要求信号包含标识该T/H 20的T/H20的域名和该移动T/H 20的唯一硬件地址(如,MAX地址)。作为对m-DHCP要求信号的响应,m-DHCP服务器通知该移动T/H 20以下事项租用给该移动T/H 20的新的IP地址,租用期限,BS的IP地址以及为有BS的为小区(子网络)提供名字解析服务的DNS的IP地址。当移动T/H 20连接到该单元特定的虚拟访问端口时,定期更新该租用以避免该租用到期。该租用可由移动T/H 20随时终止。如果该租用到期,移动T/H 20失去自已的IP地址。m-DHCP服务器通知相应的DNS关于取消租用,租用到期,或分配一个IP地址给T/H 20。
下面讲述根据本发明的一个m-TCP连接的操作。这里,客户端是一个希望与其m-TCP同位层(peer)发起一个m-TCP连接的静止的或移动的T/H,服务器(m-TCP同位层)是一个希望接受客户端的该m-TCP连接要求的静止的或移动T/H。
m-TCP连接的操作可被划分为三个阶段。第一阶段是连接阶段,两个通信实体,例如一个移动T/H和一个主机(如,静止或移动的T/H)之间的m-TCP连接被建立;第二阶段是交换阶段,在连接的通信m-TCP实体之间交换数据段;第三阶段是关闭阶段,终止已建立的m-TCP连接。
在连接阶段,将接收一个m-TCP连接的移动T/H 20(服务器)执行其应用程序中的被动开放函数(passive open funotion)向其m-TCP层指明它将从一个指定的m-TCP端口接受一个m-TCP连接。主机(客户端),希望建立一个与自己m-TCP同位层的m-TCP连接,然后从移动T/H 20的DNS获得该移动T/H 20的当前IP地址,并执行一个主动开放函数(active open funotion)以指定连接的目标终点(即,移动T/H20的IP地址和它的m-TCP端口号)。主动的和被动的开放函数在本技术领域是已知的。主机上的m-TCP程序使用获得的移动T/H 20的当前IP地址创建和传输连接要求信号给移动T/H 20。
如果移动T/H 20的IP地址在这个过程中改变,一个软开关机制确保该主机连接要求信号到达该移动T/H 20。该软开关机制允许移动T/H 20在获得新IP地址后保留旧IP地址。这样,移动T/H 20能够接收到发送给旧IP地址的在网络上延迟的数据报。在设定的时间段之后,该旧地址被放弃(relinquish)。
如果在连接要求到达移动T/H 20之前,移动T/H 20的旧IP地址在移动T/H 20一方被放弃(relinquish),那么主机连接移动T/H 20的当前努力失败。在这种情况下,必须重复连接过程以建立该m-TCP连接。为此,主机方的TCP程序将再次访问移动T/H 20的DNS以获取移动T/H20的新的IP地址。
另一方面,移动T/H 20(现在是客户端)可能希望建立一个与主机(现为服务器)的TCP连接。在这种情况下,希望接收m-TCP连接的主机的应用程序执行一个标准被动开放函数,指明它将在指定的m-TCP端口号上接收一个m-TCP连接。移动T/H 20上的应用程序之后如上所述执行一个激活的开放函数并指定该连接的目标终点(即,主机的IP地址和它的m-TCP端口号)以建立该m-TCP连接。
要建立m-TCP连接,m-TCP采用了常规TCP中的三次握手技术。除了交换标准TCP参数外,根据本发明在建立m-TCP连接期间还将交换另外两个参数。这两个参数必须全局唯一,是一个本地连接标识(local-conId)和一个远程连接标识(remote-conID)。这些参数形成一个连接标识(con ID)用于唯一标识m-TCP连接(即conID=local-conId,remote-conId),并被包含在m-TCP实体之间通信的每个数据段里,即使在IP地址改变之后亦是如此。通过在每个数据段中包含该conID和新IP地址,接收带有新IP地址的conID的m-TCP实体,根据该conID确定该m-TCP连接并适当地传送该数据报,如发送给一个套接字,或一个服务访问点,等等。
conID中的两个参数在m-TCP连接的第一阶段被选出并唯一标识该m-TCP连接。m-TCP连接的各方选择一个local_conId以向对方标明自己的身份,使得一方的local_conId成为对方的remote_conId。这些参数可以是从每方随机抽取的数字,使得conID是这些数字的组合,如27009876。
ConId包含在m-TCP头和每个m-TCP数据段。图3示出了根据本发明的一个m-TCP头结构的一个例子。如图所示,根据已知的TCP头,该m-TCP头30包括一个源端口ID域,一个目标端口ID域,一个存储在一个序列号域31中的初始或增长的序列号,一个确认号域,一个保留区域34,一个TCP检查和域,以及一个信息数据域38。这些域根据常规TCP的三次握手技术来处理。另外,根据本发明的m-TCP头30包括一个划分一个本地在接域32a和一个远程连接域32b的全局ID域32。该全局ID域32也可位于域36之内。32a和32b域可能是预定长,如,两个八比特组。本地连接域32a存储local_conId,远程连接域32b存储remote_conId。
更详细地说在三次握手处理(three-way handshaking)中,如果第一实体(例如,第一移动T/H20)希望与第二实体(例如,第二移动T/H 20)建立一个m-TCP连接,第一实体创建要求建立m-TCP连接的第一段信号。该第一段信号包括一个设在m-TCP头30中的码域36中的SYN位(SYN=1),和一个设在m-TCP头30的本地连接域32a中的一个local_conId值。这时,远程连接域32b为空白。一旦接收到第一段信号,第二实体生成一个第二段信号用于承认接收到第一段信号。第二段信号包括的设在其m-TCP头的码域36中SYN和ACK位(SYN=1,ACK=1),和设在其本地连接域中的所选的local_conId值。在第二实体的m-TCP头的远程连接域中,接收到的第一段信号的本地连接域32a中的内容被复制和存储。一旦接收到第二段信号,第一实体生成第三个段用于承认接收到第二段信号,并通知第二实体m-TCP连接已被成功建立。
一旦建立起m-TCP连接,m-TCP连接在第二阶段的操作,与常规TCP第二阶段的操作相似,除了下面讨论的特定修改之外。
在本发明的m-TCP中,常规TCP被修改以存储m-TCP连接的不断变化的终点(IP地址和TCP端口号),因为移动T/Hs 20通过网络漫游时,不断地改变其连接终点。m-TCP使用ConID来适当地路由进入段,例如,根据ConID路由到一个套接字,或一个服务访问点等。对于外出段,m-TCP根据当前IP地址传输地址段。而且,m-TCP保存ConID,两端的初始终点信息以及两端的当前终点信息。这些信息可供其它应用程序使用。
因为每个到来数据段包括ConID和现在源IP地址(其中源IP地址是m-TCP连接的另一端实体的终点信息的一部分),远程终点信息(即远程IP地址和端口号)可以从到来的数据段中获得。如果数据段顺序不对,m-TCP头中的域31中包含的顺序号将被用来确定哪个数据段是最新的从而提供最新的源IP地址。
每当移动T/H获得一个新IP地址并且没有要用新IP地址发送的外出数据段时,m-TCP发送伪段DS给其m-TCP同位层通知其同位层新IP地址。而且,在m-TCP连接的生命期内,m-TCP以固定的时间间隔连续发送DS(没有信息数据的伪段)给其m-TCP同位层。
接收m-TCP通过伪段确认段(DS,ACK)确认每个DS的接收。m-TCP通过使用m-TCP头中存在的保留位(例如,头30中的UPD位)将被传输的数据段标注为DS或DS ACK。例如,如果当前数据段为DS,UPD位可被设为1,如果当前数据段为DS ACK,UPD位和ACK位都被设为1。如果接收m-TCP未确认传输的DS,将重传输该DS直到接收到确认。
每个DS包括一个唯一的顺序号用于标识该特定DS。这个顺序被存储在m-TCP头的顺序号域31中并独立地增加。DS的顺序号增加处理与有信息数据的段的顺序号增加处理不同,因为DS不携带信息数据,而在信息数据的段的顺序号增加是根据基于信息数据的大小来计算的。DS的顺序号增加以一个初始顺序号(如1)开始以预定值(如1)步长增加。新DS的发送者增加前一个顺序号并在新的DS中包含该新增加的顺序号,使得每个DS包含一个新顺序号。DS的接收者检查该顺序号并在网络延迟等情况下处理最新顺序号DS而忽略那些旧顺序号DS。DS接收者发送一个DS ACK给发送者,其中包括接收到的顺序号。
DS和DS ACK不受缓冲或流量控制。DS和DS ACK以固定时间间隔连续交换直到m-TCP被完全关闭。也就是说,它们在两个方向被交换直到m-TCP连接在两个方向都被关闭。
在连接的m-TCP实体之间交换完数据报之后连接可能被终止。m-TCP的最后终止阶段的完成方式与常规TCP连接过程的终止阶段相同。
因此,根据本发明的m-TCP和建立和保持m-TCP的方法允许移动T/Hs用最少的变量通过互联网相互通信。
虽然讲述了本发明,但显然本发明可以在以很多方面变化。那些不背离本发明的主旨和范围的变化和所有那些对本技术领域熟练人员而言明显的修改都将被包括在下面权利要求的范围之内。
权利要求
1.一个第一通信实体的通信方法,用来建立一个第一通信实体和第二通信实体之间的移动TCP(传输控制协议),包括以下步骤传输第一段信号给第二通信实体,该第一段信号包括第一通信实体的一个连接标识;从第二通信实体接收作为响应第一段信号的第二段信号,该第二段信号包括第二通信实体的一个连接标识和第一通信实体的连接标识,第一和第二通信实体的连接标识形成一个第一和第二通信实体的移动TCP连接标识;以及响应第二段信号,向第二通信实体传输第三段信号。
2.权利要求1的通信方法,其中在接收步骤,第二段信号进一步包括确认第二通信实体接收到第一段信号的确认数据。
3.权利要求1的通信方法,其中在传输第三段信号步骤,第三段信号包括确认第一通信实体接收到第二段信号的确认数据。
4.权利要求1的通信方法,其中在传输第一段信号步骤,第一和第二通信实体中至少有一个是具有变化IP地址的移动终端。
5.第二通信实体的一个通信方法,用来建立第一和第二通信实体之间的一个移动TCP(传输控制协议)连接,包括以下步骤从第一通信实体接收第一段信号,该第一段信号包括第一通信实体的一个连接标识;向第一通信实体发送第二段信号以响应第一段信号。第二段信号包括第二通信实体的连接标识,第一通信实体的连接标识,第一和第二通信实体的连接标识形成第一和第二通信实体的一个移动TCP连接标识。
6.根据权利要求5的通信方法,其中在传输步骤,第二段信号进一步包括确定第二通信实体接收到第一段信号的确认数据。
7.权利要求5的通信方法,进一步包括以下步骤从第一通信实体接收确认第一通信实体接收到第二段信号的第三段信号。
8.权利要求5的通信方法,其中在接收和传输步骤,第一和第二通信实体中至少有一个是具有变化IP地址的移动终端。
9.一个嵌于第一通信实体的计算机可读媒体中的计算程序用于在第一和第二通信实体之间建立一个移动TCP(传输控制协议),包括第一源码段用于生成第一段信号并将生成的第一段信号传输给第二通信实体,第一段信号包括第一通信实体的连接标识;第二源码段用于生成第三段信号并将生成的第三段信号发送给第二通信实全以响应来自第二通信实体的第二段信号,第二段信号包括第二通信实体的连接标识,第一通信实体的连接标识,第一和第二通信实体的连接标识形成第一和第二通信实体一个移动TCP连接标识。
10.权利要求9的计算机程序,其中第三段信号包括确认第一通信实体接收到第二段信号的确认数据。
11.嵌在第二通信实体计算机可读媒体之内的计算机程序,用于建立一个第一和第二通信实体之间的移动TCP(传输控制协议),包括第一源码段从第一通信实体接收第一段信号,第一段信号包括第一通信实体的连接标识;第二源码段用于生成发送给第一通信实体的第二段信号以响应接收到的第一段信号,第二段信号包括第二通信实体的连接标识,第一通信实体的连接标识,第一和第二通信实体的连接标识形成第一和第二通信实体的一个移动TCP连接标识。
12.权利要求11的计算机程序,进一步包括第三段源码段用于接收并校验第一通信实体生成的确认第二段信号的第三段信号。
13.第一通信实体的一个计算机数据信号,用于建立第一和第二通信实体之间的一个移动TCP连接,包括第一信号段包括第一通信实体的连接标识并被传输给第二通信实体;第三信号段用于响应来自第二通信实体的第二信号段,第二信号段包括第二通信实体的连接标识和第一通信实体的连接标识,并被从第二通信实体传输给第一通信实体以响应第一信号段,第一和第二通信实体的连接标识形成第一和第二通信实体的一个移动TCP连接标识。
14.权利要求13的计算机数据信号,其中第三信号段包括确认接收到第二信号段的确认数据。
15.权利要求13的计算机数据信号,其中所述的计算机数据信号嵌入在一个载波中。
16.第二通信实体的一个计算机数据信号,用于建立第一和第二通信实体之间的一个移动TCP连接,包括第二信号段响应第一通信实体生成的第一信号段,第一信号段包括第一通信实体的一个连接标识,第二信号段包括第二通信实体的一个连接标识,第一通信实体的连接标识,并被从第二通信实体传输给第一通信实体,第一和第二通信实体的连接标识形成一个第一和第二通信实体的移动TCP连接。
17.权利要求16的计算机数据信号,其中第二信号段包括确认第二通信实体接收到第一信号段的确认数据。
18.权利要求16的计算机数据信号,其中所述计算机数据信号被嵌在一个载波中。
19.一个计算机数据信号,用于在第一和第二通信实体之间的移动TCP(传输控制协议)连接中通信,包括包含第一通信实体的一个连接ID(标识)的一个本地连接域;包含第二通信实体的一个连接ID的一个远程连接域,其中该本地和远程连接域提供一个全局唯一的移动TCP连接ID。
20.权利要求19的计算机数据信号,进一步包括一个负载数据信息的数据域。
21.权利要求19的计算机数据信号,进一步包括包含指明该数据段是否是一个不负载任何数据信息的伪段的信息的一个保留区域。
22.权利要求21的计算机数据信号,其中在保留区域,该信息被包含在UPD位。
23.权利要求19的计算机数据信号,进一步包括包含一个用于标识数据段的顺序号的一个顺序号域。
24.权利要求19的计算机数据信号,进一步包括包含第一和第二通信实体的当前IP(互联网协议)地址的一个域。
25.嵌于第一通信实体的一个移动TCP(传输控制协议),包括第一源码段用于从第二通信实体接收包含一个源IP(互联网协议)地址和一个移动TCP连接ID(标识符)的数据段,该源IP地址表示第二通信实体的当前IP地址,该移动TCP连接ID表示建立在第一和第二通信实体之间的一个移动TCP连接的连接标识;第二源码段用于根据该移动TCP连接ID,用接收到的源IP地址更新远程IP地址。
26.权利要求25的移动TCP,进一步包括第三源码段用于根据该移动TCP连接ID处理该数据段。
27.权利要求25的移动TCP,其中第二源码段根据每个数据段中包含的顺序号确定哪个数据段是最新的。
28.权利要求25的移动TCP,其中该移动TCP连接ID为两个八比特长。
29.权利要求25的移动TCP,其中只要第一和第二通信实体间的移动TCP连接已经建立,该移动TCP连接ID就一直不变。
30.权利要求25的移动TCP,其中第一和第二通信实体中的至少一个是当移动终端在网络漫游时IP地址变化的移动终端。
31.权利要求25的移动TCP,其中该数据段包含负载一个用户信息的数据,
32.权利要求25的移动TCP,其中该数据段是一个不负载任何用户信息的伪段。
33.权利要求25的移动TCP,其中如果第一通信实体获得一个第一通信实体的新IP地址,并且没有要发送的数据消息,第二源码段生成一个伪段给第二通信实体,该伪段包括该新IP地址和移动TCP连接ID,不包含任何数据消息。
34.权利要求33的移动TCP,其中第二源码段以固定时间间隔生成该伪段。
35.权利要求33的移动TCP,其中该伪段包括一个用于指明该段为伪段的预定位。
36.权利要求35的移动TCP,其中第一个预定位为UPD位设为1。
37.权利要求33的移动TCP,其中第二码段生成用于确认接收到一个发自第二通信实体的伪段的伪段确认段。
38.权利要求37的移动TCP,其中伪段确认段包括一个UPD位和一个ACK位都被设为1。
39.在第一和第二实体之间的移动TCP(传输控制协议)连接中通信的方法,包括传输,从第一到第二通信实体,一个包含一个源IP(互联网协议)地址和一个移动TCP连接ID(标识),源IP地址表示第一通信实体的当前IP地址,移动TCP连接ID表示建立在第一和第二通信实体之间的移动TCP连接的连接标识;在第二通信实体中接收被传输段;使用被传输段的移动TCP连接ID,用源IP地址更新第二通信实体的远程IP地址。根据移动TCP连接ID处理被传输段。
40.权利要求39的方法,进一步包括以下步骤根据被传输段中包含的顺序号确定哪个段是最新段。
41.权利要求39的方法,其中在所述的传输步骤移动TCP连接ID为两个八比特长。
42.权利要求39的方法,其中移动TCP连接号建立起第一和第二通信实体间的移动TCP连接之后保持不变。
43.权利要求39的方法,其中第一和第二通信实体至少有一个当通过网络漫游时IP地址变化的移动终端。
44.权利要求39的方法,其中在所述的传输步骤,该段包含负载用户消息的数据。
45.权利要求39的方法,进一步包括以下步骤每当第一通信实体获得一个新IP地址,由第一通信实体生成一个伪段,该伪段包含该新IP地址和该移动TCP连接ID不包含数据消息。
46.权利要求45的方法,其中在生成步骤,伪段包含第一预定位用于指明该段是一个伪段。
47.权利要求46的方法,其中第一预定位是UPD位设为1。
48.权利要求45的方法,进一步包括以下步骤生成一个用于确认第二通信实体接收到该伪段的确认段。
49.权利要求48的方法,其中确认段包括一个UPD位和一个ACK位都设为1。
全文摘要
一个连接移动终端/主机(T/Hs)的移动TCP连接以及用于建立和保持一个移动TCP连接的方法,其中在建立的移动TCP连接期间,移动T/Hs的IP地址在不断发生变化。该方法和装置采用一个全局唯一的移动TCP连接标识,它被包含在虚拟连接的移动T/Hs之间通信的每个数据段中,用以标识该移动TCP连接。使用该移动TCP连接标识,当移动T/Hs在网络间漫游时,不断变化的移动T/Hs的IP地址可以被更新。
文档编号H04L29/06GK1252662SQ99123168
公开日2000年5月10日 申请日期1999年10月27日 优先权日1998年10月28日
发明者米洛·奥斯科 申请人:朗迅科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1