CN111866212A - 一种网关为下挂路由器自动分配ipv6 pd前缀的方法 - Google Patents

一种网关为下挂路由器自动分配ipv6 pd前缀的方法 Download PDF

Info

Publication number
CN111866212A
CN111866212A CN202010692791.4A CN202010692791A CN111866212A CN 111866212 A CN111866212 A CN 111866212A CN 202010692791 A CN202010692791 A CN 202010692791A CN 111866212 A CN111866212 A CN 111866212A
Authority
CN
China
Prior art keywords
router
address
gateway
prefix
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010692791.4A
Other languages
English (en)
Other versions
CN111866212B (zh
Inventor
武斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinhe Semiconductor Technology Wuxi Co Ltd
Original Assignee
Xinhe Semiconductor Technology Wuxi Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xinhe Semiconductor Technology Wuxi Co Ltd filed Critical Xinhe Semiconductor Technology Wuxi Co Ltd
Priority to CN202010692791.4A priority Critical patent/CN111866212B/zh
Publication of CN111866212A publication Critical patent/CN111866212A/zh
Application granted granted Critical
Publication of CN111866212B publication Critical patent/CN111866212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网关为下挂路由器自动分配IPV6PD前缀的方法,包括以下步骤:步骤1、网关等待接收下挂路由器的PD请求信息;步骤2、在双向链表中查找路由器的duid值;步骤3、查找到该值,网关会把之前分配给该路由器的PD前缀再次分配给该路由器;步骤4、查找不到该值,网关会从PD前缀地址池中选择一个PD地址,并会在hash表中查找,直至找到不存在于hash表中的PD地址为止;步骤5、将找到后的PD地址分配给此次请求PD前缀的下挂路由器。本发明无需用户任何操作,网关会为路由器自动分配PD地址;网关会为不同的下挂路由器分配不同的PD地址,对同一个路由器多次请求时分配同一个PD地址。

Description

一种网关为下挂路由器自动分配IPV6 PD前缀的方法
技术领域
本发明属于网关分配技术领域,具体是一种网关为下挂路由器自动分配IPV6 PD前缀的方法。
背景技术
众所周知,32位的ipv4地址资源已经耗尽,国家也在大力推广128的ipv6地址,ipv6地址拥有巨大的地址空间,现在通信运营商在家庭网关采购中也均要求网关支持ipv6地址分配。
网关下挂的路由器除了需要网关分配一个ipv6地址外,还需要从网关获取到ipv6PD(prefix delegation)前缀,该PD前缀用来为路由器下挂的PC等终端设备分配IPV6地址。IPV6地址分配分为无状态地址分配(SLAAC)和DHCPV6方式。路由器从网关获取到的PD前缀小于等于64位。
路由器如果采用SLAAC方式下发IPV6地址,它会先把PD前缀扩展到64位(PD前缀小于64位时),然后通过广播形式把PD前缀告知下挂PC等设备,PC根据收到的64位前缀和自己的MAC地址或序列号等信息来组成128位IPV6地址。
路由器如果采用DHCPV6方式为下挂PC等设备分配IPV6地址,它会把从网关获取到的PD前缀扩展到64位作为IPV6地址的前64位,后64位地址根据路由器自身设定的地址分配范围确定。然后路由器通过DHCPV6方式直接为下挂设备分配128位的IPV6地址。
综上路由器如果无法从网关获取到IPV6 PD前缀,也就无法为下挂设备分配IPV6地址。路由器从网关获取IPV6 PD前缀是通过DHCPV6方式获取。所以网关需要支持通过DHCPV6方式来为下挂路由器分配PD前缀。
现有技术面临的问题是:网关是通过wide-dhcpv6模块中的的dhcp6s进程来作为DHCPV6 server为下挂路由器分配IPV6地址和PD前缀,但现有的wide-dhcpv6模块的dhcp6s进程只能是提前知道下挂路由器的MAC地址信息,并把该MAC值和一个固定的PD前缀写到dhcp6s的配置文件中,然后重启dhcp6s进程,这样下挂路由器才能获取的PD前缀。这样的方法非常的不实用,用户每需要把一台路由器接到网关下,都需要用户自己把据路由器的MAC地址填写到网关dhcp6s进程的配置文件里,还要重启dhcp6s进程,这对专业的通信运维人员都有很高的要求,而且非常的繁琐。用户在实际使用过程中,只希望把路由器接到网关下路由器就能自动获取PD前缀,然后为路由器的下挂PC分配IPV6地址。中间用户不需要进行任何操作。
本发明设计一种网关为下挂路由器自动分配IPV6 PD前缀的方法,能为下挂路由器自动分配PD前缀,并且为不同的路由器分配不同的PD前缀,同一个路由器多次请求分配PD前缀时,为其分配同一个PD前缀。
发明内容
本发明的目的在于提供一种网关为下挂路由器自动分配IPV6 PD前缀的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种网关为下挂路由器自动分配IPV6 PD前缀的方法,具体方法如下:
网关首先把PD前缀的地址池范围(PD前缀的最小值和最大值)写进dhcp6s进程的配置文件中,然后起dhcp6s进程;dhcp6s进程启动以后会解析配置文件获取PD前缀地址池范围,然后进入while()循环一直等待接收下挂路由器的PD请求信息。
其后,网关会根据路由器的请求信息中的duid值来从网关建立的一个双向链表中查找是否有该值的信息(双向链表中存储的有duid值和对应的PD前缀地址)。
如果查找到该值,说明该路由器之前成功从网关请求过PD前缀,网关会把之前分配给该路由器的PD前缀再次分配给该路由器;如果在双向链表找不到该duid值信息,说明网关之前未给该路由器分配PD前缀,网关会从PD前缀地址池中按从小到大顺序选择一个PD地址,并会在hash表中查找该地址是否已经在hash表中(hash表中存储的是已经分配给下挂路由器的PD前缀地址)。
如果在hash表中查找不到该地址,说明该地址未被占用,可以分配给路由器,并且把该地址加入到hash表中,并把该地址和路由器的duid值做绑定并存储到双向链表中;如果在hash表中查找到该地址,说明该地址已经被分配给网关下其他下挂路由器,网关会从PD地址池中再选择一个PD地址,然后再次在hash表中查找,直至找到未被占用的PD前缀地址,然后分配给路由器,并且把该地址加入到hash表中,并把该地址和路由器的duid值做绑定并存储到双向链表中。
网关为路由器分配PD前缀的流程图如图1所示。
从图1中可以看出当在双向链表中查找到路由器的duid值后,会把之前已经分配给这个路由器的PD前缀地址再次分配给该路由器,从而实现了同一个路由器多次请求PD前缀时分配同一个PD前缀地址。
在为路由器从PD地址池中选择一个新的地址时,会查找hash表进行检查,如果该地址已经在hash表中,说明该地址已被分配给其他路由器,如果hash表中未找到该地址,将该地址分配给路由器,从而实现了不同的路由器分配不同的PD前缀地址。
与现有技术相比,本发明的优点是:
1.无需用户任何操作,网关会为路由器自动分配PD地址;
2.网关会为不同的下挂路由器分配不同的PD地址,对同一个路由器多次请求时分配同一个PD地址。
附图说明
图1为网关为下挂路由器自动分配IPV6 PD前缀地址的流程图。
图2为一种网关为下挂路由器自动分配IPV6 PD前缀的实施流程框图。
具体实施方式
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
请参阅图2,一种网关为下挂路由器自动分配IPV6 PD前缀的方法,包括以下步骤:
步骤1.网关将PD地址池范围写入到dhcp6s进程的配置文件中,并起dhcp6s进程,dhcp6s进程解析配置文件获取到PD地址池范围,然后进入到while()循环中等待下挂路由器请求PD前缀地址;
步骤2.在网关收到下挂路由器的PD请求信息后,会调用make_pd()函数对该请求信息进行处理,在make_pd()函数中首先会调用find_binding(client->duid,binding)函数判断该路由器的duid值是否已经在双向链表中,find_binding()函数中的client->duid是指路由器的duid值,binding是一个双向链表,该双向链表的结构体定义类型如下:
Figure BDA0002589899770000041
上述结构体中client中携带的有路由器的duid值,addr是PD前缀地址;
步骤3.在find_binding()函数,如果发现路由器的duid值已经在双向链表中,说明网关之前已经为该路由器分配过PD前缀,则将该PD前缀地址再次分配给该路由器,实现了同一个路由器每次请求PD前缀时总是会分到同一个PD前缀地址;
步骤4.如果该duid值不在双向链表中,则调用make_iapd_from_pool()函数从PD地址池中按从小到大顺序选择一个PD地址,然后再调用is_leased_prefix()函数判断该PD地址是否已经在hash表中,如果该PD地址已经在hash表中,则再从PD地址池中选择一个PD地址,再次调用is_leased_prefix()进行判断,直至找到不存在于hash表中的PD地址为止;
步骤5.找到不存在于hash表中的PD地址以后,将该PD地址分配给此次请求PD前缀的下挂路由器,并调用lease_address()函数将该PD地址加入到hash表中;再调用add_binding()函数将路由器的duid值和PD地址存入到双向链表中,以上实现了为不同的路由器分配不同的PD前缀地址。
本发明无需用户任何操作,网关会为不同的下挂路由器分配不同的PD地址,对同一个路由器多次请求时分配同一个PD地址。
以上所述实施方式仅为本发明的优选实施例,而并非本发明可行实施的穷举。对于本领域一般技术人员而言,在不背离本发明原理和精神的前提下对其所作出的任何显而易见的改动,都应当被认为包含在本发明的权利要求保护范围之内。

Claims (5)

1.一种网关为下挂路由器自动分配IPV6 PD前缀的方法,其特征在于,包括以下步骤:
步骤1、网关首先把PD前缀的地址池范围写进dhcp6s进程的配置文件中,然后起dhcp6s进程;dhcp6s进程启动以后会解析配置文件获取PD前缀地址池范围,然后进入while()循环一直等待接收下挂路由器的PD请求信息;
步骤2、在网关收到下挂路由器的PD请求信息后,网关会根据路由器的请求信息中的duid值,来从网关建立的一个双向链表中查找是否有该值的信息;
步骤3、如果查找到该值,说明该路由器之前成功从网关请求过PD前缀,网关会把之前分配给该路由器的PD前缀再次分配给该路由器;
步骤4、如果该duid值不在双向链表中,网关会从PD前缀地址池中按从小到大顺序选择一个PD地址,并会在hash表中查找该地址是否已经在hash表中;如果该PD地址已经在hash表中,则再从PD地址池中选择一个PD地址,然后再次在hash表中查找,直至找到不存在于hash表中的PD地址为止;
步骤5、找到不存在于hash表中的PD地址以后,将该PD地址分配给此次请求PD前缀的下挂路由器,并且把该地址加入到hash表中,并把该地址和路由器的duid值做绑定并存储到双向链表中。
2.根据权利要求1所述的一种网关为下挂路由器自动分配IPV6 PD前缀的方法,其特征在于,所述双向链表中存储的有duid值和对应的PD前缀地址。
3.根据权利要求1所述的一种网关为下挂路由器自动分配IPV6 PD前缀的方法,其特征在于,所述hash表中存储的是已经分配给下挂路由器的PD前缀地址。
4.根据权利要求1所述的一种网关为下挂路由器自动分配IPV6 PD前缀的方法,其特征在于,在为路由器从PD地址池中选择一个新的PD前缀地址时,在hash表中进行检查,从而确保为不同的路由器分配不同的PD前缀地址。
5.根据权利要求1所述的一种网关为下挂路由器自动分配IPV6 PD前缀的方法,其特征在于,根据路由器的duid值,通过查找存储duid值和对应的PD前缀地址的双向链表,为同一个路由器分配同一个PD地址。
CN202010692791.4A 2020-07-17 2020-07-17 一种网关为下挂路由器自动分配ipv6 pd前缀的方法 Active CN111866212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010692791.4A CN111866212B (zh) 2020-07-17 2020-07-17 一种网关为下挂路由器自动分配ipv6 pd前缀的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010692791.4A CN111866212B (zh) 2020-07-17 2020-07-17 一种网关为下挂路由器自动分配ipv6 pd前缀的方法

Publications (2)

Publication Number Publication Date
CN111866212A true CN111866212A (zh) 2020-10-30
CN111866212B CN111866212B (zh) 2023-08-15

Family

ID=73001173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010692791.4A Active CN111866212B (zh) 2020-07-17 2020-07-17 一种网关为下挂路由器自动分配ipv6 pd前缀的方法

Country Status (1)

Country Link
CN (1) CN111866212B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500258A (zh) * 2021-12-14 2022-05-13 四川天邑康和通信股份有限公司 家庭智能网关下wifi6路由器下ipv6自动上网配置方法
WO2023185297A1 (zh) * 2022-03-31 2023-10-05 腾讯科技(深圳)有限公司 数据包传输方法、装置、设备、存储介质及程序产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404006B1 (en) * 2002-12-20 2008-07-22 Symantec Operating Corporation Publishing a network address in a computer network
CN101335706A (zh) * 2008-07-21 2008-12-31 北京星网锐捷网络技术有限公司 对路由表进行空间管理的方法、装置、交换机及路由器
CN101448237A (zh) * 2008-02-02 2009-06-03 中兴通讯股份有限公司 移动ip中家乡链路的发现方法
CN101753635A (zh) * 2008-12-17 2010-06-23 华为技术有限公司 Ipv6地址配置方法和系统
CN101771668A (zh) * 2008-12-29 2010-07-07 华为技术有限公司 获取IPv6地址信息的方法、网关、服务器及系统
CN103384282A (zh) * 2013-07-31 2013-11-06 北京华为数字技术有限公司 一种获取ipv6nd地址的方法及bars

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404006B1 (en) * 2002-12-20 2008-07-22 Symantec Operating Corporation Publishing a network address in a computer network
CN101448237A (zh) * 2008-02-02 2009-06-03 中兴通讯股份有限公司 移动ip中家乡链路的发现方法
CN101335706A (zh) * 2008-07-21 2008-12-31 北京星网锐捷网络技术有限公司 对路由表进行空间管理的方法、装置、交换机及路由器
CN101753635A (zh) * 2008-12-17 2010-06-23 华为技术有限公司 Ipv6地址配置方法和系统
CN101771668A (zh) * 2008-12-29 2010-07-07 华为技术有限公司 获取IPv6地址信息的方法、网关、服务器及系统
CN103384282A (zh) * 2013-07-31 2013-11-06 北京华为数字技术有限公司 一种获取ipv6nd地址的方法及bars

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周杨: ""IPv6动态主机地址配置的研究与实现"" *
黄向农: ""IPv4地址管理方案应用到IPv6的探讨"" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500258A (zh) * 2021-12-14 2022-05-13 四川天邑康和通信股份有限公司 家庭智能网关下wifi6路由器下ipv6自动上网配置方法
CN114500258B (zh) * 2021-12-14 2023-08-15 四川天邑康和通信股份有限公司 家庭智能网关下wifi6路由器下ipv6自动上网配置方法
WO2023185297A1 (zh) * 2022-03-31 2023-10-05 腾讯科技(深圳)有限公司 数据包传输方法、装置、设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN111866212B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
CN101951417B (zh) 多服务器地址分配方法、系统及中继设备
EP2063598A1 (en) A resource delivery method, system and edge server
CN1889572B (zh) 因特网协议地址分配方法及动态主机配置协议中继
CN111866212A (zh) 一种网关为下挂路由器自动分配ipv6 pd前缀的方法
JP6715425B2 (ja) インターネットワークアドレスを割り当てる装置および方法
CN111432044B (zh) 多链路设备mac地址管理方法、装置和多链路设备
CN1949784A (zh) Dhcp中继为dhcp客户端请求ip地址的方法
US20150288581A1 (en) Ipv6 address tracing method, apparatus, and system
US20070110058A1 (en) Internet protocol address allocation method using base station and mobile terminal, and system therefor
CN105847464A (zh) 一种多dhcp服务器网络环境下的ip地址管理方法和dhcp客户机
JP3420512B2 (ja) ダイナミックドメインネームシステム
CN110225144B (zh) 获取及提供服务的方法、用户设备和管理服务器
CN114363881B (zh) 一种ip地址的分配方法、装置、设备及介质
WO2014101240A1 (zh) 数据存储方法和装置、数据操作方法、系统及接入服务器
US7958220B2 (en) Apparatus, method and system for acquiring IPV6 address
CN110798507B (zh) 一种dhcp地址分配记忆的方法与系统
CN102291470A (zh) 一种ip地址分配方法
CN109787914B (zh) 负载分担方法、装置及网络设备
CN104994066A (zh) 一种网络访问方法和装置
CN107360095B (zh) 基于客户端主机名称的端口转发在路由器中的实现方法
JP2001308909A (ja) 論理ネットワークアドレス割当方法及び端末装置
JPH09282259A (ja) ネットワークシステム
JP3305279B2 (ja) Ipアドレス動的割り当て装置
CN113542444B (zh) 一种ip地址分配方法及装置
KR100346195B1 (ko) 부호분할다중접속시스템에서 하다마드 코드 할당 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant