地址冲突检测方法、用户驻地设备和主机的制作方法

文档序号:7754906阅读:237来源:国知局
专利名称:地址冲突检测方法、用户驻地设备和主机的制作方法
技术领域
本发明涉及通信领域,尤其涉及地址冲突检测方法、用户驻地设备CPE(CUStomer premises equipment)禾口主机。
背景技术
在IPv6标准中,一台路由器连接至少两个CPE,一个CPE连接至少两个主机;主机 也可以直接与路由器连接。对于主机与路由器直接连接的情况,使用主机自动配置全局地址的机制。地址配 置过程如下路由器向主机多播发送路由通告;每台主机收到路由通告后,从该路由通告获取前缀信息;将所述前缀信息与自己的接口标识生成单播地址;主机将单播地址添加到邻居请求;多播发送邻居请求,进行冲突检测,以避免不同主机之间采用相同的单播地址。进 行冲突检测可保证各主机产生唯一的单播地址。对于主机与路由器间接连接的情况,使用前缀指派机制。地址配置过程如下CPE 向路由器请求地址前缀;路由器为该CPE分配唯一前缀;CPE接收与其连接的主机发送的路由请求或DHCPv6请求;将前缀信息添加到路由通告;将该路由通告发送给主机;主机从该路由通告获取前缀信息;将所述前缀信息与自己的接口标识生成单播地址。在这种情况下,由于每个CEP得到的是唯一的前缀,能保证该CPE下的主机的地址 不会与其他CPE下的主机地址冲突。但这种前缀指派机制需要CPE与路由器之间支持DHCP 协议。CPE上行如果不支持DHCP协议,则路由器无法为不同的CPE分配唯一的前缀,即无法 保证CPE接收的前缀信息的唯一性。发明人发现在现有技术中,CPE上行如果不支持DHCP协议,CPE无法为子网的主机 分配地址。

发明内容
本发明的实施例提供一种地址冲突检测方法、用户驻地设备和主机。为达到上述目的,本发明的实施例采用如下技术方案一种地址冲突检测方法,包括接收路由器发送的路由通告;从所述路由通告获取前缀信息;
将所述前缀信息发送给与所述用户驻地设备连接的第一主机,以使所述第一主机 根据所述前缀信息生成检测地址;检测该检测地址是否已被占用。一种地址冲突检测方法,包括主机接收与所述主机相连的用户驻地设备发送的前缀信息;根据所述前缀信息生成检测地址;检测该检测地址是否已被占用。一种用户驻地设备,包括路由通告接收模块,用于接收路由器发送的路由通告;前缀获取模块,用于从所述路由通告获取前缀信息;前缀发送模块,用于将所述前缀信息发送给与所述用户驻地设备连接的第一主 机,以使所述第一主机根据所述前缀信息生成检测地址;检测模块,用于检测所述检测地址是否已被占用。一种主机,包括前缀接收模块,用于接收与所述主机相连的用户驻地设备发送的前缀信息;检测地址生成模块,用于根据所述前缀信息生成检测地址;冲突检测模块,用于检测该检测地址是否已被占用。本发明实施例提供的地址冲突检测方法,用户驻地设备将前缀信息发送给与其连 接的主机;主机根据所述前缀信息生成检测地址;该主机将检测地址发送给,同一路由器 下其他CPE,及其连接的主机,检测是否存在地址冲突;如果不存在地址冲突,进行地址自 动配置。


图1为CPE端地址冲突检测方法流程图2为本发明实施例网络系统结构示意图3为CPE对本子网主机产生的地址进行地址冲突检测的流程图4为CPE对其他子网的主机产生的地址进行地址冲突检测的流程图
图5为CPE结构示意图6为主机端地址冲突检测方法的流程图7为地址冲突检测主机处理过程的流程图8为主机3对主机4生成的检测地址进行检测的流程图9为主机结构示意图。
具体实施例方式下面结合附图对本发明实施例地址冲突检测方法、CPE和主机进行详细描述。地址冲突检测方法包括CPE地址冲突检测部分和主机地址冲突检测部分。下面 分别进行介绍CPE地址冲突检测部分如图1所示,地址冲突检测方法,包括
101、接收路由器发送的路由通告;102、从所述路由通告获取前缀信息;103、将所述前缀信息发送给与所述用户驻地设备连接的第一主机,以使所述第一 主机根据所述前缀信息生成检测地址;104、检测该检测地址是否已被占用。本发明实施例提供的地址冲突检测方法,用户驻地设备将前缀信息发送给与其连 接的主机;主机根据所述前缀信息生成检测地址;该主机将检测地址发送给,同一路由器 下其他CPE,及其连接的主机,检测是否存在地址冲突;如果不存在地址冲突,进行地址自 动配置。101、接收路由器发送的路由通告路由器发送路由通告的情况有两种1、路由器定期发送路由通告;2、路由器接收 到请求后,发送路由通告。下面对第2种情况进行详细介绍一个典型的IPv6主机单播地址由3部分组成全局路由前缀、子网ID和接口 ID。 全局路由前缀用来识别分配给一个网络系统的一个地址范围。如图2所示,该网络系统包 括至少一个路由器1,每个路由器1连接至少两个CPE2、2 ‘,一个CPE连接至少两个主机3、 4 ;主机(如主机5)也可以直接与路由器连接。CPE2为获得全局路由前缀,向与他相连的路由器1发出路由请求RSOtouterSolic itation)。该RS的类型字段值133,表明这是一个路由请求,消息的源地址是CPE的本地链 路地址,目的地址是FF02 ::2(所有路由器多播地址)。路由器1收到路由请求后,向CPE2回送路由通告RA(RouterAdvertisement)。RA 消息的源地址可以是路由器的IPv6地址,目的地址是CPE的本地链路地址,消息的类型字 段值(例如可以是134),表明这是一个路由通告消息,消息的选项字段给出全局路由前缀 (如 1 )。102、从所述路由通告获取前缀信息CPE2从消息的选项字段取出全局路由前缀(如1:)。103、将所述前缀信息发送给与所述用户驻地设备连接的第一主机,以使所述第一 主机根据所述前缀信息生成检测地址本发明的一个实施例中,可扩展路由通告中的选项,增加前缀指派类型。CPE2将前缀信息添加到路由通告,直接将改进的路由通告发送给主机3。CPE将前缀信息发送给与其连接的主机的方式有两种1、基于主机请求,发送前 缀信息;CPE2接收主机3发送的路由器请求或DHCPv6请求后,将前缀信息添加到路由器通 告,增加前缀指派类型;将该路由器通告发送给主机3 ;2、CPE2将前缀信息添加到路由器通 告,直接将改进的路由器通告发送给主机3。主机3得到前缀信息,生成检测地址。104、检测该检测地址是否已被占用如图3所示,301、接收所述第一主机发送的邻居请求,所述邻居请求中包括所述 检测地址;CPE2接收主机3发送的邻居请求,该邻居请求携带有检测地址。
302、所述用户驻地设备将所述邻居请求转发给其它用户驻地设备和未与所述用 户驻地设备连接的主机,以检测所述检测地址是否跟与所述其他用户驻地设备相连的主机 的地址冲突,以及是否跟所述未与所述用户驻地设备连接的主机的地址冲突CPE2通过代理将所述邻居请求转发给CPE2 ‘和主机5。如图2所示,主机4生成检测地址,将其添加到邻居请求,发送给CPE2 ‘ ;CPE2 ‘ 将所述邻居请求转发给CPE2和主机5。CPE2和CPE2 ‘对检测地址的检测过程相同。CPE2对主机4生成检测地址的检测 过程下文详述。303、所述用户驻地设备接收在第一条件下与所述其他用户驻地设备相连的主机 产生的邻居通告,或第二条件下所述未与所述用户驻地设备连接的主机产生的邻居通告, 并将所述邻居通告转发给所述第一主机;所述第一条件为与所述其他用户驻地设备相连的主机的地址与所述检测地址冲 突;所述第二条件为所述未与所述用户驻地设备连接的主机的地址与所述检测地址冲突。如果CPE2'和主机5检测到地址冲突,就会发出邻居通告,CPE2接收CPE2'和主 机5发送的邻居通告。CPE2通过代理将该邻居通告转发给主机3。 如图4所示,CPE2对主机4生成检测地址的检测过程包括如下步骤401、接收所述其它用户驻地设备和所述未与所述用户驻地设备连接的主机发送 的邻居请求;所述邻居请求中包含待检测的检测地址;CPE2接收CPE2'和主机5发送的邻居请求。402、将该邻居请求转发给所述第一主机,以检测所述第一主机的地址是否与所述 带检测的检测地址冲突。CPE2通过代理将该邻居请求转发给主机3、6、7、8,主机3、6、7、8对主机4生成检 测地址进行检测,下文将以主机3为例详细说明检测过程。如果主机3、6、7、8检测到地址冲突,则向CPE2发送邻居通告。以上技术方案是CPE端对地址冲突检测方法的详细介绍。本领域普通技术人员可 以理解实现上述实施例地址冲突检测方法中的全部或部分流程,是可以通过程序来指令相 关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包 括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体 (Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。如图5所示,一种用户驻地设备,包括路由通告接收模块,用于接收路由器发送的路由通告;前缀获取模块,用于从所述路由通告获取前缀信息;前缀发送模块,用于将所述前缀信息发送给与所述用户驻地设备连接的第一主 机,以使所述第一主机根据所述前缀信息生成检测地址;检测模块,用于检测所述检测地址是否已被占用。所述检测模块包括邻居请求接收模块,用于接收所述第一主机发送的邻居请求,所述邻居请求中包 括所述检测地址;
邻居请求转发模块,用于将所述邻居请求转发给其它用户驻地设备和未与所述用 户驻地设备连接的主机,以检测所述检测地址是否跟与所述其他用户驻地设备相连的主机 的地址冲突,以及是否跟所述未与所述用户驻地设备连接的主机的地址冲突;所述用于驻地设备、所述其他用户驻地设备和所述未与所述用户驻地设备连接的 主机与所述路由器相连;邻居通告接收模块,用于接收在第一条件下与所述其他用户驻地设备相连的主机 产生的邻居通告,或第二条件下所述未与所述用户驻地设备连接的主机产生的邻居通告, 并将所述邻居通告转发给所述第一主机;所述第一条件为与所述其他用户驻地设备相连的主机的地址与所述检测地址冲 突;所述第二条件为所述未与所述用户驻地设备连接的主机的地址与所述检测地址冲突。主机地址冲突检测部分如图6所示,地址冲突检测方法,包括601、主机接收与所述主机相连的用户驻地设备发送的前缀信息;602、根据所述前缀信息生成检测地址;603、检测该检测地址是否已被占用。本发明实施例提供的地址冲突检测方法,用户驻地设备将前缀信息发送给与其连 接的主机;主机根据所述前缀信息生成检测地址;该主机将检测地址发送给本地用户驻地 设备,本地用户驻地设备将检测地址发送给同一路由器下其他用户驻地设备,及其连接的 主机,检测是否存在地址冲突;如果不存在地址冲突,进行地址自动配置。601、主机接收与所述主机相连的用户驻地设备发送的前缀信息;主机3接收步骤103中CPE2发送的前缀信息。602、根据所述前缀信息生成检测地址;主机3根据所述前缀信息生成检测地址。如图7所示,步骤603、检测该检测地址是否已被占用包括701、将检测地址添加到邻居请求;主机3将检测地址添加到邻居请求。702、通过所述户驻地设备将所述邻居请求发送给其它用户驻地设备和未与所述 用户驻地设备连接的主机,以检测所述检测地址是否跟与所述其他驻地设备相连的主机的 地址冲突,以及是否跟所述未与所述用户驻地设备连接的主机的地址冲突;所述用于驻地设备、所述其他用户驻地设备和所述未与所述用户驻地设备连接的 主机与同一路由器相连。主机3将所述邻居请求发送给CPE2。该步骤与步骤301对应。703、所述主机通过所述用户驻地设备接收在第一条件下与所述其它用户驻地设 备相连的主机产生的邻居通告,或第二条件下所述未与所述用户驻地设备连接的主机产生 的邻居通告;所述第一条件为与所述其他用户驻地设备相连的主机的地址与所述检测地址冲 突;所述第二条件为所述未与所述用户驻地设备连接的主机的地址与所述检测地址冲突。该步骤与步骤303对应,主机3如果接收到CPE2邻居通告,则说明检测地址已被 占用。主机3向CPE2发送路由请求或DHCPv6请求,获得新的前缀信息,生成检测地址。
在上文步骤402中提到主机3、6、7、8对主机4生成检测地址进行检测。现在以 主机3为例详细说明检测过程。如图8所示801、所述主机通过所述用户驻地设备接收第二主机的邻居请求;所述第二主机为 与所述其它用户驻地设备连接的主机,或所述未与所述用户驻地设备连接的主机;与步骤402对应,主机3接收CPE2发送的邻居请求。802、从该邻居请求中获取所述第二主机的检测地址;如果所述第二主机的检测地址与所述主机的地址一样,则通过所述用户驻地设备 向所述第二主机发送邻居通告。主机3从该邻居请求获取主机4生成的检测地址。如果主机4生成的检测地址与自己的地址一样,则说明主机4生成的检测地址与 自己的地址产生了地址冲突,向CPE2发送邻居通告。以上技术方案是主机端对地址冲突检测方法的详细介绍。本领域普通技术人员可 以理解实现上述实施例地址冲突检测方法中的全部或部分流程,是可以通过程序来指令相 关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包 括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体 (Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。如图9所示,一种主机,包括前缀接收模块,用于接收与所述主机相连的用户驻地设备发送的前缀信息;检测地址生成模块,用于根据所述前缀信息生成检测地址;冲突检测模块,用于检测该检测地址是否已被占用。所述冲突检测模块包括检测地址添加单元,用于将检测地址添加到邻居请求;邻居请求发送单元,用于通过所述户驻地设备将所述邻居请求发送给其它用户驻 地设备和未与所述用户驻地设备连接的主机,以检测所述检测地址是否跟与所述其他驻地 设备相连的主机的地址冲突,以及是否跟所述未与所述用户驻地设备连接的主机的地址冲 突;所述用于驻地设备、所述其他用户驻地设备和所述未与所述用户驻地设备连接的 主机与同一路由器相连;邻居通告接收模块,用于通过所述用户驻地设备接收在第一条件下与所述其它用 户驻地设备相连的主机产生的邻居通告,或第二条件下所述未与所述用户驻地设备连接的 主机产生的邻居通告;所述第一条件为与所述其他用户驻地设备相连的主机的地址与所述检测地址冲 突;所述第二条件为所述未与所述用户驻地设备连接的主机的地址与所述检测地址冲突。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
一种地址冲突检测方法,其特征在于,包括接收路由器发送的路由通告;从所述路由通告获取前缀信息;将所述前缀信息发送给与所述用户驻地设备连接的第一主机,以使所述第一主机根据所述前缀信息生成检测地址;检测该检测地址是否已被占用。
2.根据权利要求1所述的地址冲突检测方法,其特征在于,所述检测该检测地址是否 已被占用包括接收所述第一主机发送的邻居请求,所述邻居请求中包括所述检测地址; 所述用户驻地设备将所述邻居请求转发给其它用户驻地设备和未与所述用户驻地设 备连接的主机,以检测所述检测地址是否跟与所述其他用户驻地设备相连的主机的地址冲 突,以及是否跟所述未与所述用户驻地设备连接的主机的地址冲突;所述用于驻地设备、所述其他用户驻地设备和所述未与所述用户驻地设备连接的主机 与所述路由器相连。
3.根据权利要求2所述的地址冲突检测方法,其特征在于,在所述用户驻地设备将所 述邻居请求转发给其它用户驻地设备和未与所述用户驻地设备连接的主机,以检测所述检 测地址是否跟与所述其他用户驻地设备相连的主机的地址冲突,以及是否跟所述未与所述 用户驻地设备连接的主机的地址冲突之后,还包括所述用户驻地设备接收在第一条件下与所述其他用户驻地设备相连的主机产生的邻 居通告,或第二条件下所述未与所述用户驻地设备连接的主机产生的邻居通告,并将所述 邻居通告转发给所述第一主机;所述第一条件为与所述其他用户驻地设备相连的主机的地址与所述检测地址冲突; 所述第二条件为所述未与所述用户驻地设备连接的主机的地址与所述检测地址冲突。
4.根据权利要求1所述的地址冲突检测方法,其特征在于,在所述将所述前缀信息发 送给与所述用户驻地设备连接的第一主机之前,还包括接收所述第一主机发送的路由请 求或DHCPv6请求;所述将所述前缀信息发送给与所述用户驻地设备连接的第一主机具体为 根据所述路由请求或DHCPv6请求将所述前缀信息发送给与所述用户驻地设备连接的 第一主机。
5.根据权利要求1所述的地址冲突检测方法,其特征在于,还包括接收所述其它用户驻地设备和所述未与所述用户驻地设备连接的主机发送的邻居请 求;所述邻居请求中包含待检测的检测地址;将该邻居请求转发给所述第一主机,以检测所述第一主机的地址是否与所述带检测的 检测地址冲突。
6.一种地址冲突检测方法,其特征在于,包括主机接收与所述主机相连的用户驻地设备发送的前缀信息; 根据所述前缀信息生成检测地址; 检测该检测地址是否已被占用。
7.根据权利要求6所述的地址冲突检测方法,其特征在于,在所述主机接收与所述主机相连的用户驻地设备发送的前缀信息之前,还包括向所述用户驻地设备发送路由请求 或DHCPv6请求;所述主机接收与所述主机相连的用户驻地设备发送的前缀信息具体为所述主机接收所述用户驻地设备根据所述路由请求或DHCPv6请求发送的所述前缀信肩、ο
8.根据权利要求6或7所述的地址冲突检测方法,其特征在于,所述检测该检测地址是 否已被占用包括将检测地址添加到邻居请求;通过所述户驻地设备将所述邻居请求发送给其它用户驻地设备和未与所述用户驻地 设备连接的主机,以检测所述检测地址是否跟与所述其他驻地设备相连的主机的地址冲 突,以及是否跟所述未与所述用户驻地设备连接的主机的地址冲突;所述用于驻地设备、所述其他用户驻地设备和所述未与所述用户驻地设备连接的主机与同一路由器相连。
9.根据权利要求8所述的地址冲突检测方法,其特征在于,在所述通过所述户驻地设 备将所述邻居请求发送给其它用户驻地设备和未与所述用户驻地设备连接的主机,以检测 所述检测地址是否跟与所述其它用户驻地设备相连的主机的地址冲突,以及是否跟所述未 与所述用户驻地设备连接的主机的地址冲突之后,还包括所述主机通过所述用户驻地设备接收在第一条件下与所述其它用户驻地设备相连的 主机产生的邻居通告,或第二条件下所述未与所述用户驻地设备连接的主机产生的邻居通生 P=I ;所述第一条件为与所述其他用户驻地设备相连的主机的地址与所述检测地址冲突; 所述第二条件为所述未与所述用户驻地设备连接的主机的地址与所述检测地址冲突。
10.根据权利要求8所述的地址冲突检测方法,其特征在于,还包括 所述主机通过所述用户驻地设备接收第二主机的邻居请求;所述第二主机为与所述其它用户驻地设备连接的主机,或所述未与所述用户驻地设备 连接的主机;从该邻居请求中获取所述第二主机的检测地址;如果所述第二主机的检测地址与所述主机的地址一样,则通过所述用户驻地设备向所 述第二主机发送邻居通告。
11.一种用户驻地设备,其特征在于,包括路由通告接收模块,用于接收路由器发送的路由通告; 前缀获取模块,用于从所述路由通告获取前缀信息;前缀发送模块,用于将所述前缀信息发送给与所述用户驻地设备连接的第一主机,以 使所述第一主机根据所述前缀信息生成检测地址; 检测模块,用于检测所述检测地址是否已被占用。
12.根据权利要求11所述的用户驻地设备,其特征在于,所述检测模块包括邻居请求接收模块,用于接收所述第一主机发送的邻居请求,所述邻居请求中包括所 述检测地址;邻居请求转发模块,用于将所述邻居请求转发给其它用户驻地设备和未与所述用户驻地设备连接的主机,以检测所述检测地址是否跟与所述其他用户驻地设备相连的主机的地 址冲突,以及是否跟所述未与所述用户驻地设备连接的主机的地址冲突;所述用于驻地设备、所述其他用户驻地设备和所述未与所述用户驻地设备连接的主机 与所述路由器相连。
13.根据权利要求12所述的用户驻地设备,其特征在于,所述检测模块还包括邻居通告接收模块,用于接收在第一条件下与所述其他用户驻地设备相连的主机产生 的邻居通告,或第二条件下所述未与所述用户驻地设备连接的主机产生的邻居通告,并将 所述邻居通告转发给所述第一主机;所述第一条件为与所述其他用户驻地设备相连的主机的地址与所述检测地址冲突; 所述第二条件为所述未与所述用户驻地设备连接的主机的地址与所述检测地址冲突。
14.一种主机,其特征在于,包括前缀接收模块,用于接收与所述主机相连的用户驻地设备发送的前缀信息;检测地址生成模块,用于根据所述前缀信息生成检测地址;冲突检测模块,用于检测该检测地址是否已被占用。
15.根据权利要求14所述的主机,其特征在于,所述冲突检测模块包括检测地址添加单元,用于将检测地址添加到邻居请求;邻居请求发送单元,用于通过所述户驻地设备将所述邻居请求发送给其它用户驻地设 备和未与所述用户驻地设备连接的主机,以检测所述检测地址是否跟与所述其他驻地设备 相连的主机的地址冲突,以及是否跟所述未与所述用户驻地设备连接的主机的地址冲突;所述用于驻地设备、所述其他用户驻地设备和所述未与所述用户驻地设备连接的主机 与同一路由器相连。
16.根据权利要求15所述的主机,其特征在于,所述冲突检测模块还包括邻居通告接收模块,用于通过所述用户驻地设备接收在第一条件下与所述其它用户驻 地设备相连的主机产生的邻居通告,或第二条件下所述未与所述用户驻地设备连接的主机 产生的邻居通告;所述第一条件为与所述其他用户驻地设备相连的主机的地址与所述检测地址冲突; 所述第二条件为所述未与所述用户驻地设备连接的主机的地址与所述检测地址冲突。
全文摘要
本发明公开了一种地址冲突检测方法、用户驻地设备和主机,解决了主机生成的单播地址发生跨子网地址冲突的技术问题。包括CPE向路由器发送路由请求;接收路由通告;从所述路由通告获取前缀信息;将前缀信息发送给与其连接的主机。主机接收前缀信息;根据所述前缀信息生成检测地址;检测该检测地址是否已被占用。本发明实施例提供的地址冲突检测方法,CPE将前缀信息发送给与其连接的主机;主机根据所述前缀信息生成检测地址;该主机将检测地址发送给,同一路由器下其他CPE,及其连接的主机,检测是否存在地址冲突;如果不存在地址冲突,进行地址自动配置。
文档编号H04L29/12GK101909091SQ20101023382
公开日2010年12月8日 申请日期2010年7月22日 优先权日2010年7月22日
发明者才彦峰 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1