CN109889622B - 集中式逻辑地址分配方法 - Google Patents
集中式逻辑地址分配方法 Download PDFInfo
- Publication number
- CN109889622B CN109889622B CN201910138090.3A CN201910138090A CN109889622B CN 109889622 B CN109889622 B CN 109889622B CN 201910138090 A CN201910138090 A CN 201910138090A CN 109889622 B CN109889622 B CN 109889622B
- Authority
- CN
- China
- Prior art keywords
- node
- logical address
- address
- controller
- logical
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000013507 mapping Methods 0.000 claims abstract description 13
- 238000001514 detection method Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种集中式逻辑地址分配方法,包括:节点将自身的物理地址映射为逻辑地址并保存;节点向控制器发送接入请求帧请求接入;控制器接收到接入请求后对节点的逻辑地址进行校验,判断该节点的逻辑地址是否重复,如果不重复,则将该节点的逻辑地址记录在控制器的映射表中,否则为该节点重新分配一个逻辑地址,通过将二进制数的逻辑地址转化为十进制数值,进一步通过控制器的信息数据表的数值判断节点逻辑地址是否冲突,再通过散列地址查找为节点分配无冲突逻辑地址,以达到高效的解决节点的逻辑地址冲突,有效的为节点分配逻辑地址,减小控制器的额外消耗,充分利用网络资源的目的。
Description
技术领域
本发明涉及网络通信技术领域,具体涉及一种集中式逻辑地址分配方法。
背景技术
随着互联网技术的不断发展,路由表规模日益膨胀,造成路由告知和计算的开销不断增加,控制器负责MAC地址(物理地址)的认证、配置、统计、收敛时间变长,在图1中所示为MAC地址的示例图,该地址由六个字节组成,前24位由IEEE的注册管理机构分配给不同厂家的代码,是为了区分不同的厂家,后24位是厂家自己分配的为了减少开销,在集中式网络中,控制器给每个终端节点重新分配一个更短的地址来代替MAC地址进行数据通信,分配的地址不是通用的,而是将物理地址根据一定的算法映射为另一个逻辑地址,在建立连接时,在终端节点认证过程中将该地址带给终端节点,与传统的采用MAC地址进行数据传输比较而言,这种方式遂不容易受到恶意方出于未请求通信的目的而滥用的攻击,但是这种方法的缺点由于MAC地址的映射与分配,映射表的维护都是交给控制器来处理的,在终端节点数目较多的情况下,控制器的额外消耗比较大。
发明内容
为解决上述技术问题,本发明提出了一种集中式逻辑地址分配方法,以达到高效的解决节点的逻辑地址冲突,有效的为节点分配逻辑地址,减小控制器的额外消耗,充分利用网络资源的目的。
为达到上述目的,本发明的技术方案如下:一种集中式逻辑地址分配方法,所述方法包括:节点将自身的物理地址映射为逻辑地址,并将逻辑地址保存至节点的本地存储器中;节点将自身的逻辑地址封装到接入请求帧中后,节点向控制器发送接入请求帧请求接入;控制器接收到接入请求帧后对节点的逻辑地址进行校验,判断该节点的逻辑地址与已入网节点的逻辑地址是否重复,如果不重复,则将该节点的逻辑地址记录在控制器的映射表中,否则为该节点重新分配一个逻辑地址,并将重新分配的逻辑地址发送给该节点;该节点接收到控制器发送来的逻辑地址后,判断是否需要更新逻辑地址,如果需要则更新节点本地存储的逻辑地址,否则保持原逻辑地址。
进一步地,所述节点自身映射的逻辑地址的位数由网络中节点的数量决定。
进一步地,判断该节点的逻辑地址与已入网节点的逻辑地址是否重复的具体方法为:将节点的二进制数逻辑地址转化成十进制数值n,根据数值n,判断控制器内存储节点信息的表的第n行是否为空,如果为空则表示不重复,如果不为空则表示重复。
进一步地,所述将该节点的逻辑地址记录在控制器的映射表中的同时将该节点的节点信息存储至控制器的信息数据表中。
进一步地,所述节点信息包括:节点的物理地址、逻辑地址和节点的路由信息。
进一步地,所述为该节点重新分配一个逻辑地址具体为:在散列表中形成探测序列,沿此序列逐个单元进行查找,直到找到给定的关键字或开放的地址,将此地址作为逻辑地址分配给节点。
进一步地,所述信息数据表的尺寸由逻辑地址的位数决定,有助于控制器判断请求入网节点的逻辑地址是否与已入网节点的逻辑地址冲突。
本发明具有如下优点:
本发明通过将二进制数的逻辑地址转化为十进制数值,进一步通过控制器的信息数据表的数值判断节点逻辑地址是否冲突,高效的发现冲突,再通过散列地址查找为节点分配无冲突逻辑地址,增加了节点入网效率,减小控制器的额外消耗,充分利用网络资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例公开的全球管理MAC地址示意图;
图2为本发明实施例公开的网络拓扑结构图;
图3为本发明实施例公开的控制器给节点分配逻辑地址流程图;
图4为本发明实施例公开的逻辑地址分配中Count的更新流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明提供了一种集中式逻辑地址分配方法,其工作原理是通过将二进制数的逻辑地址转化为十进制数值,进一步通过控制器的信息数据表的数值判断节点逻辑地址是否冲突,再通过散列地址查找为节点分配无冲突逻辑地址,以达到高效的解决节点的逻辑地址冲突,有效的为节点分配逻辑地址,减小控制器的额外消耗,充分利用网络资源的目的。
下面结合实施例和具体实施方式对本发明作进一步详细的说明。
一种集中式逻辑地址分配方法,所述方法包括:节点将自身的物理地址映射为逻辑地址,并将逻辑地址保存至节点的本地存储器中;节点将自身的逻辑地址封装到接入请求帧中后,节点向控制器发送接入请求帧请求接入;控制器接收到接入请求帧后对节点的逻辑地址进行校验,判断该节点的逻辑地址与已入网节点的逻辑地址是否重复,如果不重复,则将该节点的逻辑地址记录在控制器的映射表中,否则为该节点重新分配一个逻辑地址,并将重新分配的逻辑地址发送给该节点;该节点接收到控制器发送来的逻辑地址后,判断是否需要更新逻辑地址,如果需要则更新节点本地存储的逻辑地址,否则保持原逻辑地址。
其中,物理地址为节点的MAC地址。
其中,所述节点自身映射的逻辑地址的位数由网络中节点的数量决定。
其中,判断该节点的逻辑地址与已入网节点的逻辑地址是否重复的具体方法为:将节点的二进制数逻辑地址转化成十进制数值n,根据数值n,判断控制器内存储节点信息的表的第n行是否为空,如果为空则表示不重复,如果不为空则表示重复。
其中,所述将该节点的逻辑地址记录在控制器的映射表中的同时将该节点的节点信息存储至控制器的信息数据表中。
其中,所述节点信息包括:节点的物理地址、逻辑地址和节点的路由信息。
其中,所述为该节点重新分配一个逻辑地址具体为:在散列表中形成探测序列,沿此序列逐个单元进行查找,直到找到给定的关键字或开放的地址,将此地址作为逻辑地址分配给节点。
其中,所述信息数据表的尺寸由逻辑地址的位数决定,有助于控制器判断请求入网节点的逻辑地址是否与已入网节点的逻辑地址冲突。
如图2所示,假设有一个中央控制器以及4000个终端节点构成的单跳网络,信号的传输时建立在有线连接基础上的,图中节点上的序号用来区分节点不代表具体地址。
逻辑地址分配:在网络连接初始阶段,每个节点在与控制器建立连接的过程中将自己的逻辑地址传递给控制器,每个节点内置的MAC地址和逻辑地址映射使用的函数为:假设节点的MAC地址为A:B:C:D:E:F,其中A、B、C、D、E、F分别对应的8位二进制数。由于考虑到网络中节点的数量在有四千个,因此我们所需的节点的逻辑地址长度为12位即可满足要求。也就是说,我们需要将48位的MAC地址映射成为一个唯一的12位逻辑地址H I G其中H、I、G分别对应4位二进制数,显然,MAC地址和逻辑地址的映射结果必然存在多个MAC地址映射到同一逻辑地址(即hash冲突)。对于,存在的hash冲突,我们使用开放定址法来解决。详细的解决方案如下所述。
为了尽可能减小由hash函数带来的冲突,同时考虑到MAC地址的前24位来自同一个厂商的原因是相同的,因此我们给出的哈希函数为:
即A:B:C:D:E:F映射为logic address(LA),则相应的LA的取值公式如下:
假设E=HI(H,I分别对应4位二进制数),则该48位MAC地址A:B:C:D:HI:F:对应的12位逻辑地址LA=IF;
也就是说,我们给出的MAC地址和逻辑地址的映射的hash函数,处理方式为,LA等于该节点MAC地址的低12位。
如图3-图4所示,地址冲突的解决方法:开放定址法:用于解决hash冲突。所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列列表足够大,空的散列地址总能找到,并将记录存入用开放定址法解决冲突的做法是:当冲突发生时,使用某种探测技术在散列表中形成一个探测序列。沿着此序列逐个单元地查找,直到找到给定的关键字,或者碰到一个开放的地址(即改地址为空)为止(若要插入,在探查到开放的地址,则可将带插入的新节点存入该地址单元)。查找时探测到开放的地址则表明表中无待查的关键字,即查找失败。
控制器解决逻辑地址冲突和信息数据表的映射是紧密耦合的。数据表的尺寸与逻辑地址的位数有关,即逻辑地址为12位,则数据表可存储的212个节点的信息。这种对应关系有助于控制器判断请求入网节点的逻辑地址是否与已入网节点的逻辑地址冲突。
控制器根据节点的12位的二进制数逻辑地址得到的十进制数值n,根据数值n,获取信息数据表中的第n行,若该行为空,则表明该节点的逻辑地址与已入网节点的逻辑地址无冲突,且控制器将该节点的信息存入信息数据表中的第n行中;若该行不为空,表明该行已经分配给某个已入网节点,即该接入请求节点的逻辑地址和某个已入网节点的逻辑地址冲突,此时控制器需要为该节点分配一个唯一的无冲突逻辑地址,详见下列步骤(1)(2)。
步骤(1):初始时,控制器没有检测到请求入网节点的逻辑地址与已入网节点的逻辑地址冲突时,计算该节点逻辑地址对应的十进制数值n,并将该节点的信息存入信息数据表中的第n行中,控制器记录Count=1,其中(1表示信息数据表中的第一行)。
步骤(2):若当控制器检测到当前接入请求节点的逻辑地址与已入网节点的逻辑地址冲突时,则此时控制器需要给该节点分配一个唯一的无冲突的逻辑地址,将此逻辑地址封装数据帧中。
步骤(3):控制器根据当前记录的Count值,判断信息数据表中第Count行是否为空。按照条件执行步骤(4)或步骤(5)。
步骤(4):若该行为空,则将该节点的信息存入该行,并将十进制Count转化为相应的12位二进制逻辑地址(即控制器分配给该节点的无冲突逻辑地址),控制器记录当前的Count值,执行步骤(6)。
步骤(5):若该行不为空,则Count加一,再次执行步骤(3),直到执行到步骤(4),即表明控制器为该接入请求节点成功分配一个无冲突的逻辑地址。
步骤(6):当控制器为接入请求节点成功分配逻辑地址后,控制器对入网节点做接入响应,同时控制器根据当前记录的Count值。若信息表中第Count行不为空,则循环执行步骤(7),直到当前的Count行为空则停止,并记录更新当前的Count值。
步骤(7):控制器将当前Count加一,并判断信息表中第Count行是否为空。
步骤(8):当控制器接收到满足入网要求的节点的接入请求帧时,为给节点分配无冲突的逻辑地址时,执行上述步骤(2)-(7),完成逻辑地址的分配。
以上所述的仅是本发明所公开的一种集中式逻辑地址分配方法的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (5)
1.一种集中式逻辑地址分配方法,其特征在于,所述方法包括:节点将自身的物理地址映射为逻辑地址,并将逻辑地址保存至节点的本地存储器中;节点将自身的逻辑地址封装到接入请求帧中后,节点向控制器发送接入请求帧请求接入;控制器接收到接入请求帧后对节点的逻辑地址进行校验,判断该节点的逻辑地址与已入网节点的逻辑地址是否重复,如果不重复,则将该节点的逻辑地址记录在控制器的映射表中,否则为该节点重新分配一个逻辑地址,并将重新分配的逻辑地址发送给该节点;该节点接收到控制器发送来的逻辑地址后,判断是否需要更新逻辑地址,如果需要则更新节点本地存储的逻辑地址,否则保持原逻辑地址;所述为该节点重新分配一个逻辑地址具体为:在散列表中形成探测序列,沿此序列逐个单元进行查找,直到找到给定的关键字或开放的地址,将此地址作为逻辑地址分配给节点;
判断该节点的逻辑地址与已入网节点的逻辑地址是否重复的具体方法为:将节点的二进制数逻辑地址转化成十进制数值n,根据数值n,判断控制器内存储节点信息的表的第n行是否为空,如果为空则表示不重复,如果不为空则表示重复。
2.根据权利要求1所述的集中式逻辑地址分配方法,其特征在于,所述节点自身映射的逻辑地址的位数由网络中节点的数量决定。
3.根据权利要求1所述的集中式逻辑地址分配方法,其特征在于,所述将该节点的逻辑地址记录在控制器的映射表中的同时将该节点的节点信息存储至控制器的信息数据表中。
4.根据权利要求3所述的集中式逻辑地址分配方法,其特征在于,所述节点信息包括:节点的物理地址、逻辑地址和节点的路由信息。
5.根据权利要求3所述的集中式逻辑地址分配方法,其特征在于,所述信息数据表的尺寸由逻辑地址的位数决定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910138090.3A CN109889622B (zh) | 2019-02-25 | 2019-02-25 | 集中式逻辑地址分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910138090.3A CN109889622B (zh) | 2019-02-25 | 2019-02-25 | 集中式逻辑地址分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109889622A CN109889622A (zh) | 2019-06-14 |
CN109889622B true CN109889622B (zh) | 2022-05-13 |
Family
ID=66929303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910138090.3A Active CN109889622B (zh) | 2019-02-25 | 2019-02-25 | 集中式逻辑地址分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109889622B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637379B (zh) * | 2020-12-25 | 2022-11-15 | 北京天融信网络安全技术有限公司 | mac地址散列运算方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001007974A1 (de) * | 1999-07-22 | 2001-02-01 | Pilz Gmbh & Co. | Verfahren zum konfigurieren eines feldbus-teilnehmers |
CN1767459A (zh) * | 2004-10-27 | 2006-05-03 | 乐金电子(天津)电器有限公司 | 家庭网络系统及其电器设备 |
CN101951417A (zh) * | 2010-09-21 | 2011-01-19 | 北京星网锐捷网络技术有限公司 | 多服务器地址分配方法、系统及中继设备 |
CN102118454A (zh) * | 2009-12-30 | 2011-07-06 | 中兴通讯股份有限公司 | 基站逻辑地址分配方法及装置 |
CN106131235A (zh) * | 2016-06-28 | 2016-11-16 | 上海斐讯数据通信技术有限公司 | 一种ip地址配置方法 |
-
2019
- 2019-02-25 CN CN201910138090.3A patent/CN109889622B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001007974A1 (de) * | 1999-07-22 | 2001-02-01 | Pilz Gmbh & Co. | Verfahren zum konfigurieren eines feldbus-teilnehmers |
CN1767459A (zh) * | 2004-10-27 | 2006-05-03 | 乐金电子(天津)电器有限公司 | 家庭网络系统及其电器设备 |
CN102118454A (zh) * | 2009-12-30 | 2011-07-06 | 中兴通讯股份有限公司 | 基站逻辑地址分配方法及装置 |
CN101951417A (zh) * | 2010-09-21 | 2011-01-19 | 北京星网锐捷网络技术有限公司 | 多服务器地址分配方法、系统及中继设备 |
CN106131235A (zh) * | 2016-06-28 | 2016-11-16 | 上海斐讯数据通信技术有限公司 | 一种ip地址配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109889622A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8542686B2 (en) | Ethernet forwarding database method | |
US6862287B2 (en) | Method and apparatus for a four-way hash table | |
US7058642B2 (en) | Method and data structure for a low memory overhead database | |
US7826462B2 (en) | Address assignment apparatus, address assignment method, and computer product | |
JPH077524A (ja) | 通信加入者のアドレス識別子へのアクセス方法 | |
US10652090B2 (en) | Method for self-constructing a multi-hop structured wireless communication network | |
US20210328967A1 (en) | Method for Configuring, Method for Providing Topology Information, Name Service Server, Device, Computer Program and Computer-Readable Medium | |
CN112860592A (zh) | 基于链表的数据缓存方法、装置、电子设备和存储介质 | |
CN109889622B (zh) | 集中式逻辑地址分配方法 | |
KR100257413B1 (ko) | 어드레스 할당 방법 및 장치 | |
CN1589549A (zh) | 用于通过透明网桥传输分组的地址分配方法和设备 | |
CN117221224B (zh) | 一种表项构建、查找方法、装置、网络设备及存储介质 | |
CN111711708B (zh) | 一种LoRaWAN终端设备地址分配方法 | |
CN105630727A (zh) | 多SoC节点之间的访问方法、装置和系统 | |
US20040064644A1 (en) | Structure and method of cache memory data update | |
CN1317867C (zh) | 接口电路 | |
GB2415855A (en) | Variable network address lengths | |
CN114019926A (zh) | 多级联设备的通信方法、装置、设备及存储介质 | |
CN112243040B (zh) | 一种唯一标识符的生成方法及其系统 | |
NL2026408B1 (en) | A method of operating a storage device of an access point, a method of locating a device context of an end node device stored in a storage device of an access point, and an access point. | |
JP2000278322A (ja) | Ipアドレス動的割り当て装置 | |
US7506086B2 (en) | Electronic network with identification code generation and assignment | |
CN106789288B (zh) | 一种为交换机智能配置不冲突静态网络管理地址的方法 | |
WO2021197066A1 (zh) | 一种路由信息存储的方法及装置 | |
JP3672822B2 (ja) | 知識ベースのサーチ方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231123 Address after: 903-261, 9th Floor, Building 17, No. 30 Shixing Street, Shijingshan District, Beijing, 100043 Patentee after: Beijing Xunlian Intelligent Technology Co.,Ltd. Address before: Room 119, Zhongchuang building, No.2 DARUI Road, Guandong Industrial Park, Donghu New Technology Development Zone, Wuhan, Hubei 430000 Patentee before: WUHAN SHENGLIAN ZHIRONG MICROELECTRONICS TECHNOLOGY CO.,LTD. |
|
TR01 | Transfer of patent right |