专门网络中分配因特网协议地址和检测其复制品的方法

文档序号:7589034阅读:126来源:国知局
专利名称:专门网络中分配因特网协议地址和检测其复制品的方法
技术领域
本发明总的涉及一种在专门网络(ad-hoc network)环境下分配因特网协议(IP)地址和检测该IP地址的复制的方法,具体地说,本发明涉及一种在专门网络环境下分配IP地址和检测该IP地址的复制品(duplication)的方法,其中终端在专门网络环境中为自己分配IP地址,并有效地检测和处理该IP地址的复制品,从而减小整个网络的负载并允许本方法与现有的路由协议一起使用。
背景技术
专门网络是一种建立在没有基础架构(infrastructure)的环境中的无线终端之间的网络,其中没有中心服务器,因此几乎不可能为使用动态主机配置协议(DHCP)服务器等的无线终端动态地分配IP地址。
因此,由于专门网络没有中心服务器,每个终端都应该具有为其自身分配IP地址并允许其与其它终端通信的0配置功能。
当终端在没有中心服务器的情况下为其自身分配IP地址时,其检查该IP地址是否在整个专门网络中唯一,以防止IP地址的冲突。与无线网络中不同,对专门网络中IP地址冲突的检测非常复杂。其原因是由于终端移动而产生复杂的和不可预测的网络拓扑结构的变化,例如不同网络互相融合以及将一个网络划分为多个网络。
直到现在,所使用的方法是专门网络中的每个终端都具有一个唯一的标识(ID),假设该唯一ID设置为介质存取控制(MAC)地址或随机数,并确定是否每对唯一ID及其对应IP地址在专门网络中都有一个复制品。
在另一种方法中,假设每个专门网络都具有区分于其他网络的唯一ID。这样的ID可以被设置为随机数。网络ID可以检测两个专门网络的合并。
如果假设每个终端都有唯一的ID,则该终端在建立路由表的过程中向其它终端发送IP地址和唯一ID。当所发送的IP地址与路由表中的一个IP地址相同,而所发送的ID与路由表中具有相同IP地址的终端的ID不同时,可以确定两个不同的终端在使用同一个IP地址。
如果假设每个专门网络都具有唯一的ID,则通过专门网络的现有终端为每个网络分配一个IP地址。因此,在这种情况下,不会出现完全相同的IP地址。如果两个专门网络相互合并,则通过专门网络的ID检测专门网络的合并。两个专门网络可以通过互相交换IP地址配置表来检测该专门网络的IP地址的复制。复制的IP地址在合并专门网络的所有终端之间重新分配。
然而,尽管现有技术假设可以生成终端和专门网络的唯一ID,但是几乎不可能在没有事先协议或通信的情况下生成唯一的ID。也就是说,由于MAC地址可以有复制品,因此即使基于MAC地址生成ID也不能保证ID是唯一的。因此,在ID具有复制品的情况下,现有技术不能检测该IP地址的复制品。
此外,在传统技术中,由于通过整个网络进行广播,因此该广播给网络施加了额外的负担,从而使网络超负荷。
简言之,在现有技术中,由于专门网络的拓扑结构以不可预测的方式改变,因此需要采用复杂的方法检测IP地址的复制品。尽管各种对应方法试图适应各种情况,现有技术仍然穷于应付网络拓扑结构的变化。因此,由于可能被终端移动和通信故障严重影响,现有技术问题百出。

发明内容
因此,本发明针对上述现有技术中存在的问题,其目的是提供一种在专门网络中分配IP地址和检测IP地址的复制的方法,其中终端在专门网络环境中为自己分配一个IP地址,并有效检测和处理该IP地址的复制品。
为了实现上述目的,本发明提供了一种在专门网络环境中有效分配IP地址和检测该IP地址的复制品的方法,包括步骤为终端分配初始IP地址,发送和接收呼叫信息;在发送和接收呼叫信息时检测该IP地址的复制品,通过搜索双重地址检测(Duplicate Address Detection,DAD)表和历史表来更新DAD表,并确定在使用DAD计时处理程序时是否出现IP地址冲突。


本发明的上述和其它目的、特征和其它优点在以下结合附图的详细说明中更加清楚易懂,其中图1为表示IP分配请求消息的格式图;图2为IP分配响应消息的格式图;图3为表示呼叫消息的格式图;图4为表示DAD表结构的框图;图5为表示历史表结构的框图;图6为初始IP地址分配处理的流程图;图7为呼叫消息接收处理的流程图;图8为呼叫消息发送处理的流程图;图9为DAD计时处理程序操作的流程图;图10为DAD表搜索处理的流程图;图11为历史表搜索处理的流程图;和图12为检测IP冲突处理的流程图。
具体实施例方式
附图标记与附图一起使用,其中在所有的不同附图中使用的相同附图标记表示相同或相似的部件。
在下文中,参照附图详细说明在专门网络中分配IP地址和检测该IP地址的复制品的方法。
专门网络中的每个终端都具有序列号(下文称为“SEQ_NUM”)、临时ID(下文称为“TID”)、双重地址检测(下文称为“DAD”)计时器、DAD表和历史表。
为了清楚理解本发明,下面简短说明上述部件的功能。
1.只要DAD计时器产生超时,它就更新SEQ_NUM和TID。
2.只要DAD计时器产生超时,SEQ_NUM就增加“1”。
3.只要DAD计时器产生超时,就重新生成TID(0xffff表示地址冲突)。
4.图4所示的DAD表可以是路由表的一部分。DAD表的每个条目都包括终端在网络中的地址、该终端的SEQ_NUM、该终端的TID和标记(flag),并通过一次转发广播消息(one-hop broadcast message,下文称为“呼叫消息”)定时更新。在这种情况下,IP地址是终端用来在网络中通信的固定地址,SEQ_NUM和TID是用于确定使用IP地址的终端是否唯一的值,标记表示表中一个条目的状态。因此,当DAD表接收新信息时,将该信息存储在表的条目中,并将标记设置为“1”;当DAD表通过呼叫消息发送信息时,将标记设置为“0”。
图5所示的历史表存储由当前终端产生的最新的SEQ_NUM和最新的TID。为了开启终端并为其分配IP地址,使用IP分配请求消息和IP分配响应消息。需要分配IP地址的终端通过图1所示的IP分配请求消息向相邻的终端发送试探性IP地址。相邻的终端通过IP分配响应消息响应该IP分配请求消息。IP分配请求消息包括消息类型、消息长度和试探性IP地址,而IP分配响应消息包括消息类型、消息长度和建议IP地址。
为了在分配IP地址后检测该IP地址的复制品,每个节点都定期发送如图3所示的呼叫消息。呼叫消息包括消息类型、消息长度、存储发送呼叫消息的终端的信息的源节点字段以及存储网络现有终端的信息的目标节点字段。
下面参照图6至12说明自动分配IP地址和检测该IP地址的复制品的方法。
在开启当前终端时,应当为当前终端分配IP地址。IP地址的分配通过图6所示的初始IP地址分配处理(S600)进行,下面将简短说明。
在当前终端为自己分配了由随机数组成的试探性IP地址(S610)后,当前终端询问一次转发范围内的现有相邻终端,是否可以使用该试探性IP地址(S620)。
此后,每个相邻终端都使用DAD表和IP分配请求消息来比较该试探性IP地址和DAD表中的IP地址。如果该试探性IP地址具有一个复制品,则相邻终端选择DAD表中不存在的一个建议性IP地址,并通过IP分配响应消息将其发送到当前终端。如果试探性IP地址没有复制品,则相邻终端不响应。
如果IP分配响应消息从相邻终端发送到当前终端,则IP分配响应消息的发送意味着试探性IP地址具有复制品。因此,当前终端使用相邻终端选择的建议性IP地址作为新的试探性IP地址重新发送IP分配请求消息(S640)。
上述步骤重复“N”次,直到不再从相邻终端接收到IP分配响应消息(S650)。如果未从相邻终端接收到“N”次IP分配响应消息,则试探性IP地址用作当前终端的IP地址(S660)。
当初始IP地址通过上述处理分配给当前终端之后,在重复发送和接收呼叫消息期间检测该IP地址的复制品。参照图8说明发送呼叫消息的方法。
当前终端在源节点字段存储其IP地址、SEQ_NUM和TID。此后,如果DAD表中具有其中标记为“1”的条目,则当前终端在目标节点字段中存储该条目信息,并向一次转发范围内的现有相邻终端发送呼叫消息。接收呼叫消息的方法在图7中说明。
如图7所示,当每个相邻终端接收呼叫消息时(S700),相邻终端从包括源节点字段和目标节点字段的所有字段中取出节点字段F(m)(S710)。如果取出的节点字段F(m)的IP地址与本终端的IP地址相同(S740),则相邻终端进行图11所示的历史表搜索。如果取出的节点字段F(m)的IP地址与本终端的IP地址不相同,且DAD表中存在与所取出的节点字段F(m)具有相同IP地址的条目(S750),则相邻终端进行DAD表搜索。下面说明历史表搜索和DAD表搜索。
与此同时,如果存在与上述两种情况不符的情况,则该情况意味着接收了新节点信息。新节点信息存储在DAD表中,且标记设置为“1”(S760)。重复该处理,直到从呼叫消息中再没有待取出的节点字段。
下面参照图10说明DAD表搜索方法。
首先,将所取出的节点字段F(m)的SEQ_NUM与和取出的节点字段F(m)具有相同IP地址的条目E(t)的SEQ_NUM进行比较(S1030)。将取出的节点字段F(m)的SEQ_NUM设置为Seq_m,而条目E(t)的SEQ_NUM设置为Seq_t。如果Seq_t为“0”(S1040),则条目E(t)更新为取出的节点字段F(m)(S1050);如果Seq_m小于Seq_t(S1055),则确定已输入旧信息,且不应当更新条目E(t)(S1060)。
同时,如果Seq_m与Seq_t相同(S1070),也就是,包括在取出的节点字段F(m)中的TID与TID_t,即包括在条目E(t)中的TID比较(S1075)。如果TID_m与TID_t不同(S1080),则使用相同IP地址的终端数量为两个或更多。因此,E(t)的TID更改为0xffff(S1085),标记更改为“1”,并通过下一个呼叫消息在整个网络宣告IP地址的冲突(S1090)。如果TID_m与TID_t相同,则确定输入了相同信息,处理返回而无需更改条目E(t)。如果Seq_m大于Seq_t,则确定输入了新信息,条目E(t)更改为取出的节点字段F(m)(S1095)。
下面参照图11说明历史表搜索方法。
Seq_m,即包括在从呼叫消息取出的节点字段F(m)中的SEQ_NUM与Seq_n,即当前终端的SEQ_NUM(S1110)比较。如果Seq_m小于或等于Seq_n(S1120),则确定当前终端的历史表中是否存在SEQ_NUM是Seq_m的条目(S1130)。如果不存在这样的条目,则处理返回而无需任何更改。
同时,如果当前终端的历史表中存在SEQ_NUM是Seq_m的条目,则该条目设置为E(h)(S1140),此后,TID_m,即包括在取出的节点字段F(m)中的TID与TID_h,即E(h)的TID进行比较(S1150)。如果TID_m不等于TID_h(S1160),则进行检测IP冲突方法(S1170)。参照图12说明检测IP冲突方法。
首先,确定是否针对当前终端在限制的时间段(例如,DAD计时器N次后超时的时间段)中所具有的IP地址进行了检测IP冲突方法(S1210)。如果在限制的时间段内执行检测IP冲突方法,则意味着在该限制的时间段内执行了两次IP地址冲突检测。在这种情况下,IP地址通过初始IP地址分配处理再次分配给当前终端。
在上述情况中,DAD计时器处理程序持续地检查超时的产生,以确定是否在限制的时间段内执行了检测IP冲突方法。参照图9简要说明DAD计时处理程序的操作。
如图9所示,如果产生超时,则DAD计时器将当前终端的SEQ_NUM增加“1”(S910),并生成当前终端的TID(S920)。如果存在在DAD计时器处理程序“N”次操作期间没有被更新的DAD表条目,则该条目的SEQ_NUM设置为“0”(S930)(设置SEQ_NUM为“0”的作用如图10所示)。从DAD表中删除在DAD计时器处理程序“M”次操作期间没有被更新的DAD表条目(S940)(“M”是充分大于“N”的值)。
与此同时,如果没有在限制的时间段内执行检测IP冲突方法,则应确定该IP地址是否被更改或被持续使用。如果该IP地址被更改,则执行初始IP地址分配处理。如果没有更改IP地址,则SEQ_NUM设置为“所取出节点字段的SEQ_NUM+1”,并重新生成TID,以通知使用相同IP地址的相应部分,该IP地址发生冲突。在这种情况下,更新的信息通过下一个呼叫消息发送到网络。
由于在整个网络中的广播,现有技术对网络施加了过量的负载,而本发明的方法采用一次转发广播来减小了施加在整个网络上的负载。此外,现有技术不能应付网络拓扑结构的变化,例如网络分割和网络合并,而本发明的方法由于其结构简单而具有稳定性。
因此,本发明的方法可以防止以下情况,即由于每个终端不能具有唯一的ID而导致一定时间后改变ID,因此由于完全相同的IP和ID而几乎不可能检测到IP地址的复制品。
尽管公开本发明的优选实施例是为了说明性目的,但本领域的技术人员知道各种不背离本发明范围和精神的修改、添加和替代都是可以的。
权利要求
1.一种在网络环境中分配因特网协议(IP)地址和检测该IP地址的复制品的方法,包括步骤为终端分配初始IP地址;发送和接收广播消息;在发送和接收广播消息期间检测所述IP地址的复制品;通过双重地址探测(DAD)表和历史表的至少一个的搜索来更新DAD表;使用DAD计时器处理程序来确定是否出现IP地址的冲突。
2.如权利要求1所述的方法,其中,所述网络环境是专门网络环境。
3.如权利要求1所述的方法,其中所述终端将所述初始IP地址分配给自己。
4.如权利要求1所述的方法,其中,所述广播消息是一次转发广播消息。
5.一种在网络环境中分配因特网协议(IP)地址和探测该IP地址的复制品的方法,包括步骤(a)开始为终端分配试探性IP地址;(b)确定该试探性IP地址是否可以被该终端使用;(c)将所述试探性IP地址与至少一个其它IP地址进行比较;(d)如果试探性IP地址具有复制品,则选择不存在的建议性IP地址;(e)向所述终端发送该建议性IP地址;(f)用该建议性IP地址作为试探性IP地址执行步骤(b)。
6.如权利要求5所述的方法,其中所述终端将所述试探性IP地址分配给自己。
7.如权利要求5所述的方法,其中,所述网络环境是专门环境。
8.如权利要求5所述的方法,其中,所述网络环境没有中心服务器。
9.如权利要求5所述的方法,其中,所述至少一个其它IP地址位于双重地址检测(DAD)表中。
10.如权利要求9所述的方法,其中所述建议性IP地址不存在于所述DAD表中。
11.如权利要求5所述的方法,其中相邻终端选择所述建议性IP地址。
全文摘要
本发明涉及一种在专门网络环境中分配因特网(IP)地址和检测该IP地址的复制品的方法。在本发明的方法中,终端在专门网络环境中为自己分配IP地址,并有效检测和处理该IP地址的复制品,从而减小了整个网络的负载,并允许本方法与现有的路由协议一起使用。
文档编号H04L29/12GK1527540SQ20041000745
公开日2004年9月8日 申请日期2004年3月4日 优先权日2003年3月4日
发明者金玟秀, 南相秀 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1