CN102307249B - 一种基于链路层拓扑的ip地址自动配置方法 - Google Patents
一种基于链路层拓扑的ip地址自动配置方法 Download PDFInfo
- Publication number
- CN102307249B CN102307249B CN201110295996.XA CN201110295996A CN102307249B CN 102307249 B CN102307249 B CN 102307249B CN 201110295996 A CN201110295996 A CN 201110295996A CN 102307249 B CN102307249 B CN 102307249B
- Authority
- CN
- China
- Prior art keywords
- equipment
- address
- distributing
- message
- neighborhood
- 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
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种基于链路层拓扑的IP地址自动配置方法,包括支持LLDP协议的服务器端设备为待分配IP地址设备和支持LLDP协议的客户端设备为分配IP地址的设备,所述客户端设备依据逻辑拓扑按照广度优先搜索或深度优先搜索完成IP地址分配,由于本方法是基于交换机的软件实施的,所以具有实现简单、方便、灵活、使用简单的优点,支持多种分配规则和人机交互配置模式,方便用户管理和在线配置,主动分配模式,操作更直观和可靠。
Description
技术领域
本发明涉及一种基于链路层邻居发现协议(LLDP协议,以后简称LLDP)的IP地址自动分配方法,适用于以太网通信领域、支持TCP/IP协议栈的嵌入式设备领域,尤其适用于工业控制的以太网通信应用领域。
背景技术
以太网交换机和一些支持TCP/IP协议栈的嵌入式网络设备在出厂时,其IP地址的配置通常都是缺省配置,这样,就要在施工(比如说,安装)过程中对IP地址做预配置,以达到可以远程管理的功能。
为了解决IP地址预配置的功能,TCP/IP协议族就开始着手解决这个问题,先后出现了三种方案:
A.反向地址解析协议(RARP):存在如下缺陷,第一,RARP和ARP一样,工作在IP层,在实现起来比较困难;第二,RARP的响应中信息量太少,分配的IP地址甚至不包括掩码;第三,RARP使用计算机的硬件地址识别机器,无法用于动态分配硬件地址的网络;
B.自启动协议(BOOTP):为了解决RARP的缺陷而产生的。它使用UDP传送报文且UDP被封装在IP数据报中传输,它将可靠通信的责任交给了客户机,并且采用了超时和重传技术。虽然解决了RARP的问题,但仍然没有逃脱静态分配的环境;
C.动态主机配置协议(DHCP):与BOOTP密切相关,它在两方面扩充了BOOTP。一是DHCP报文除了可以获取IP地址外,还能够获取子网掩码。二是DHCP允许计算机快速、动态地获得IP地址。DHCP可以允许三种类型的地址分配:手工配置、自动配置(给第一次上网的客户机分配一个永久的地址)、完全动态配置(一段时间内租用一个地址)。但它和BOOTP一样,存在如下缺陷,其一、待分配IP地址设备,为主动请求模式,不适用于工业环境下使用;其二、在同一网络内,允许多台Server的同时分配,地址的分配存在不可控制性,不适用于工业环境下使用;其三,地址的分配是按照设备响应顺序(除非已知MAC地址,在服务器做地址映射),和拓扑无关,会给为后期维护和交换机管理带来困难。
本方法采用客户端和服务器模式,根据链路层邻居发现协议(LLDP协议)形成的拓扑树,按照预先设定好的分配规则,按照拓扑树逐台设备分配IP地址。
发明内容
为了克服如上IP地址分配协议的缺点,本文提供一种基于链路层拓扑树的IP地址分配方法,包括支持LLDP协议的服务器端设备为待分配IP地址设备和支持LLDP协议的客户端设备为分配IP地址的设备,其中所述的支持LLDP协议的服务器端设备为待分配IP地址设备支持接收邻居设备的查询报文,并回复邻居设备的响应报文,支持接收客户端设备发送的IP地址配置报文,根据所述的客户端设备发送的报文设置所述服务器端设备的IP地址,当设置成功后向客户端设备发送设置完成响应报文,设置失败发送设置失败响应报文;所述支持LLDP协议的客户端设备为分配IP地址的设备,支持向邻居设备发送所述查询报文,并根据响应报文建立邻居关系并形成逻辑拓扑,所述客户端设备依据逻辑拓扑按照广度优先、深度优先搜索算法完成IP地址分配,同时支持在所述两种模式下的人机交互下完成IP地址分配;设备(1、2、3、4、2-1、2-2、2-3、……)为待分配IP地址的设备;
广度优先搜索算法完成IP地址分配具体过程,默认开启服务端进程;准备通过设备(1)进行广度优先算法完成IP地址分配,具体步骤如下:
第一步、启动设备(1)的客户端进程,首先为本地设备分配IP地址;
第二步、根据设备(1)的邻居关系按照设备(1)的本地端口顺序分配邻居服务器端设备(2、3、4和N)的IP地址;
第三步、查询设备(2)邻居关系,然后依据设备(2)的本地端口顺序分配邻居设备(2-1、2-2、2-3……)的IP地址,其中已经分配IP地址的邻居设备不再分配IP地址;
第四步、查询设备(3)邻居关系,然后依据设备(3)的本地端口顺序分配邻居设备的IP地址,其中已经分配IP地址的邻居设备不再分配IP地址;
第五步、查询设备(4)邻居关系,然后依据设备(4)的本地端口顺序分配邻居设备的IP地址,其中已经分配IP地址的邻居设备不再分配IP地址;
深度优先搜索算法完成IP地址分配具体过程,默认开启服务端进程;准备通过设备(1)进行深度优先算法完成IP地址分配,具体步骤如下:
第一步、启动设备(1)的客户端进程客户端,首先为本地设备分配IP地址;
第二步、根据设备(1)的邻居关系按照设备(1)的本地端口顺序大小,首先为设备(2)分配IP地址,并将邻居关系保存在本地拓扑树中,标记设备(2)为已分配IP设备;
第三步、根据设备(2)的邻居关系,按照设备(2)的本地端口顺序大小,首先为设备(2-1)分配IP地址,并将邻居关系保存在本地拓扑树中,标记设备(2-1)为已分配IP设备;
第四步、假设设备(2-1)下不再有设备,既设备设备(2-1)为端节点,分配设备(2-2)的IP地址;
第四步、假设设备(2-2)下不再有设备,既设备设备(2-2)为端节点,分配设备(2-3)的IP地址;
第五步、同理分配设备(3、4、N)的IP地址。
待分配IP地址的设备默认启动服务端进程,所述服务器端设备支持接收邻居设备的查询报文,并回复相应邻居设备关系报文。
所述服务器端设备支持接收客户端设备发送的IP地址分配报文,根据所述的客户端设备发送的报文设置所述服务器端设备的IP地址,当设置成功后向客户端设备发送设置完成响应报文,设置失败发送设置失败响应报文。
所述客户端设备支持地址分配协议的客户端功能,具体功能包括:支持向指定设备发送所述邻居查询报文,并根据响应报文建立邻居关系并形成逻辑拓扑。
所述客户端设备依据逻辑拓扑能够按照深度优先搜索完成IP地址分配。
所述客户端设备依据逻辑拓扑按照深度优先搜索完成IP地址分配。
所述客户端设备能够根据广度优先搜索或深度优先搜索提示用户根据其需要分配设备的IP地址;根据用户提示由用户输入IP地址,输入完成并校验无误后,向所述服务器端设备发送IP地址配置报文,得到正确响应后根据提示进行下一设备的配置。
由于本方法是基于链路层的软件实施的,所以具有实现简单、方便、灵活、使用简单的优点,支持多种分配规则和人机交互配置模式,尤其有利于在嵌入式设备中实现,方便用户管理和在线配置,主动分配模式,操作更直观和可靠。
附图说明
图1典型逻辑拓扑关系图
图2实施方式操作步骤示意图
具体实施方式
本文提供一种基于链路层拓扑树的IP地址分配方法,包括如下步骤:
1.服务器端设备为待分配IP地址设备,必须支持LLDP协议;所述服务器端设备根据LLDP协议将所述服务器端设备的数据信息(如MAC地址、设备标识、接口标识信息)组成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU中形成LLDP报文,然后将所述LLDP报文发布给与所述服务器端设备直连的邻居设备,所述邻居设备接收所述LLDP报文形成,保存LLDP协议的邻居关系表,如下表1。
LLDP协议的邻居关系表1
2.所述服务器端设备支持客户端的邻居查询功能,具体功能包括:
支持接收邻居设备的查询报文,并回复相应邻居设备关系报文(报文内容主要为表1);
3所述服务器端设备支持接收客户端设备发送的IP地址分配报文,根据所述的客户端设备发送的报文设置所述服务器端设备的IP地址,当设置成功后向客户端设备发送设置完成响应报文,设置失败发送设置失败响应报文。
4.所述客户端设备为分配IP地址的设备,支持地址分配协议的客户端功能,具体功能包括:支持向指定设备发送所述邻居查询报文,并根据响应报文建立邻居关系并形成逻辑拓扑,如图1。
5.所述客户端设备依据逻辑拓扑按照广度优先搜索完成IP地址分配,
下面根据图1说明广度优先完成地址分配具体过程,设备1、2、3、4、2-1、2-2、2-3、……为待分配IP地址设备,默认开启服务端进程;准备通过设备1,通过广度优先算法完成地址分配。
具体步骤如下:
第一步、启动设备1的客户端进程,首先为本地设备分配IP地址;
第二步、根据本地设备(设备1)的邻居关系,按照本地端口顺序分配邻居服务器端设备2、3、4和N的IP地址;
第三步、查询设备2邻居关系,然后依据设备2的本地端口顺序分配邻居设备2-1、2-2、2-3……的IP地址,其中已经分配IP地址的邻居设备不再分配IP地址;
第四步、查询设备3邻居关系,然后依据设备3的本地端口顺序分配邻居设备的IP地址,其中已经分配IP地址的邻居设备不再分配IP地址;
第五步、查询设备4邻居关系,然后依据设备4的本地端口顺序分配邻居设备的IP地址,其中已经分配IP地址的邻居设备不再分配IP地址。
6.所述客户端设备依据逻辑拓扑按照深度优先搜索完成IP地址分配,
下面根据图1说明广度优先完成地址分配具体过程,设备1、2、3、4、2-1、2-2、2-3、……为待分配IP地址设备,默认开启服务端进程;准备通过设备1,通过深度优先算法完成地址分配。
具体步骤如下:
第一步、启动设备1的客户端进程客户端,首先为本地设备分配IP地址;
第二步、根据本地设备(设备1)的邻居关系,按照本地端口顺序大小,首先为设备2分配IP地址,并将邻居关系保存在本地拓扑树中,标记设备2为已分配IP设备;
第三步、根据本地设备(设备2)的邻居关系,按照本地端口顺序大小,首先为设备2-1分配IP地址,并将邻居关系保存在本地拓扑树中,标记设备2-1为已分配IP设备;
第四步、假设2-1下不再有设备,既设备2-1为端节点,分配设备2-2的IP地址;
第四步、假设2-2下不再有设备,既设备2-2为端节点,分配设备2-3的IP地址;
第五步、同理分配设备3、4、N的IP地址。
7.所述客户端设备根据逻辑拓扑实现人机交互方式确定设备IP地址,
所述客户端进程能够根据广度优先搜索或深度优先搜索提示用户根据其需要分配设备的IP地址;根据用户提示由用户输入IP地址,输入完成并校验无误后,向所述服务器端设备发送IP地址配置报文,得到正确响应后根据提示进行下一设备的配置。
协议操作步骤:
1.客户端设备(Client)向服务器端设备(Server)发送地址分配报文;
2.服务器端设备(Server)接收客户端IP地址分配报文,校验无误后,设置该服务器端设备IP地址,响应设置成功报文,若失败(校验或其他问题失败),则响应设置失败报文并返回失败编码;
3.客户端设备(Client)通过向服务器端设备(Server)发送邻居设备信息查询报文;
4.服务器端设备(Server)接收邻居设备信息查询报文,校验无误后,响应该服务器端设备的邻居设备信息;
5.客户端设备(Client)根据接收到的邻居设备信息响应报文,建立拓扑关系图,根据广度优先搜索或深度优先搜索确定下一台待分配设配MAC地址;
6.循环步骤5,直至所有设备IP地址分配完毕。如图2。
通信报文结构:
1.查询邻居设备报文结构
其中,EtherType=0xAAFF,Version ID=0x1,Protocol OP Code=1。
2.查询邻居设备响应报文
其中,EtherType=0xAAFF,Version ID=0x1,Protocol OP Code=2,adjacent counter=邻居数量,adjacentmac address=邻居mac地址,local port Id=连接邻居的本地端口ID,adjacent port IP=连接本设备的邻居端口ID。
3.设置IP地址报文
其中,EtherType=0xAAFF,Version ID=0x1,Protocol OP Code=3,IP Address=分配给设备的IP地址,IP Mask=分配给设备的IP掩码,Gateway address=设置的网关地址。
4.设置IP地址响应报文
其中,EtherType=0xAAFF,Version ID=0x1,Protocol OP Code=1,response code=0-success,1-校验错。
1.设备默认启动Server功能;
2.当需要动态IP分配时,启动地址分配的客户端(Client)功能;
3.设置分配规则,规则包括深度优先、广度优先、人机交互方式;
4.组成网络的交换机之间可以通过LLDP报文,发现邻居设备,并且包含邻居设备信息,这些信息主要包括设备IP地址、MAC地址、邻居端口ID等;
根据LLDP邻居链表。
Claims (6)
1.一种基于链路层拓扑的IP地址自动配置方法,包括支持LLDP协议的服务器端设备为待分配IP地址设备和支持LLDP协议的客户端设备为分配IP地址的设备,其特征在于:所述客户端设备依据逻辑拓扑按照广度优先或者深度优先搜索算法完成IP地址分配,同时支持在所述广度优先和深度优先搜索算法下的人机交互下完成IP地址分配;设备1、设备2、设备3、设备4、设备2-1、设备2-2、设备2-3为待分配IP地址的设备;
广度优先搜索算法完成IP地址分配具体过程,默认开启服务端进程;准备通过设备1进行广度优先算法完成IP地址分配,具体步骤如下:
第一步、启动设备1的客户端进程,首先为设备1分配IP地址;
第二步、根据设备1的邻居关系按照设备1的本地端口顺序分配邻居设备(2、3、4和N)的IP地址;
第三步、查询设备2邻居关系,然后依据设备2的本地端口顺序分配邻居设备(2-1、2-2、2-3……)的IP地址,其中已经分配IP地址的邻居设备不再分配IP地址;
第四步、查询设备3邻居关系,然后依据设备3的本地端口顺序分配邻居设备的IP地址,其中已经分配IP地址的邻居设备不再分配IP地址;
第五步、查询设备4邻居关系,然后依据设备4的本地端口顺序分配邻居设备的IP地址,其中已经分配IP地址的邻居设备不再分配IP地址;
深度优先搜索算法完成IP地址分配具体过程,默认开启服务端进程;准备通过设备1进行深度优先算法完成IP地址分配,具体步骤如下:
第一步、启动设备1的客户端进程客户端,首先为设备1分配IP地址;
第二步、根据设备1的邻居关系按照设备1的本地端口顺序大小,首先为设备2分配IP地址,并将邻居关系保存在本地拓扑树中,标记设备2为已分配IP设备;
第三步、根据设备2的邻居关系,按照设备2的本地端口顺序大小,首先为设备2-1分配IP地址,并将邻居关系保存在本地拓扑树中,标记设备2-1为已分配IP设备;
第四步、假设设备2-1下不再有设备,即设备2-1为端节点,分配设备2-2的IP地址;
第五步、假设设备2-2下不再有设备,即设备2-2为端节点,分配设备2-3的IP地址;
第六步、同理分配设备3、设备4、设备N的IP地址。
2.根据权利要求1所述的方法,其特征在于:待分配IP地址的设备默认启动服务端进程,所述服务器端设备支持接收邻居设备的查询报文,并回复相应邻居设备关系报文。
3.根据权利要求1所述的方法,其特征在于:所述服务器端设备支持接收客户端设备发送的IP地址分配报文,根据所述的客户端设备发送的报文设置所述服务器端设备的IP地址,当设置成功后向客户端设备发送设置完成响应报文,设置失败发送设置失败响应报文。
4.根据权利要求1所述的方法,其特征在于:所述客户端设备支持地址分配协议的客户端功能,具体功能包括:支持向指定设备发送邻居设备的查询报文,并根据响应报文建立邻居关系并形成逻辑拓扑。
5.根据权利要求1所述的方法,其特征在于:所述客户端设备依据逻辑拓扑能够按照深度优先搜索完成IP地址分配。
6.根据权利要求1所述的方法,所述客户端设备能够根据广度优先搜索或深度优先搜索提示用户根据其需要分配设备的IP地址;根据用户提示由用户输入IP地址,输入完成并校验无误后,向所述服务器端设备发送IP地址配置报文,得到正确响应后根据提示进行下一设备的配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110295996.XA CN102307249B (zh) | 2011-09-28 | 2011-09-28 | 一种基于链路层拓扑的ip地址自动配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110295996.XA CN102307249B (zh) | 2011-09-28 | 2011-09-28 | 一种基于链路层拓扑的ip地址自动配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102307249A CN102307249A (zh) | 2012-01-04 |
CN102307249B true CN102307249B (zh) | 2014-01-22 |
Family
ID=45381052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110295996.XA Active CN102307249B (zh) | 2011-09-28 | 2011-09-28 | 一种基于链路层拓扑的ip地址自动配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102307249B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240015130A1 (en) * | 2022-07-07 | 2024-01-11 | Mellanox Technologies, Ltd. | Unique address assignment without reconfiguration |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330723B (zh) * | 2015-06-15 | 2020-03-13 | 中兴通讯股份有限公司 | 网络邻居设备的发现方法及装置 |
US10412041B2 (en) * | 2016-09-21 | 2019-09-10 | Rockwell Automation Technologies, Inc. | Internet protocol (IP) addressing using an industrial control program |
CN109474683A (zh) * | 2018-11-15 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种节点配置方法及相关装置 |
CN111541569B (zh) * | 2020-04-22 | 2022-10-11 | 国家电网有限公司信息通信分公司 | 一种网络节点配置方法和装置 |
CN112398738B (zh) * | 2020-11-05 | 2022-06-28 | 竞技世界(北京)网络技术有限公司 | 连接关系的获取方法及装置、设备、计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI103544B1 (fi) * | 1996-03-25 | 1999-07-15 | Nokia Telecommunications Oy | Menetelmä osoitteiden määrittämiseksi tietoliikenneverkon solmuissa |
CN101345655A (zh) * | 2008-08-15 | 2009-01-14 | 中兴通讯股份有限公司 | 一种利用链路层发现协议获取网络连接信息的方法 |
-
2011
- 2011-09-28 CN CN201110295996.XA patent/CN102307249B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240015130A1 (en) * | 2022-07-07 | 2024-01-11 | Mellanox Technologies, Ltd. | Unique address assignment without reconfiguration |
Also Published As
Publication number | Publication date |
---|---|
CN102307249A (zh) | 2012-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102307249B (zh) | 一种基于链路层拓扑的ip地址自动配置方法 | |
CN103997414B (zh) | 生成配置信息的方法和网络控制单元 | |
CN108282352A (zh) | 管理网络切片实例的方法、装置和系统 | |
CN108023773A (zh) | 一种实现网络设备零配置上线的方法和配置服务器 | |
US9455866B2 (en) | Auto-configuration of network devices | |
CN104202266A (zh) | 一种通信方法、交换机、控制器及通信系统 | |
JP2014534692A (ja) | ルータを通じた仮想化された可視性の提供 | |
CN101951325A (zh) | 基于自动发现的网络终端配置系统及其配置方法 | |
CN101990004A (zh) | 一种基于物联网家庭网关的虚拟id和虚拟ip分配方法 | |
CN105337853A (zh) | 一种软件定义网络中的实例建立方法和装置 | |
CN104901825B (zh) | 一种实现零配置启动的方法和装置 | |
CN107770012A (zh) | 一种宽带接入方法、装置及虚拟宽带远程接入服务器系统 | |
CN104135446A (zh) | 基于SDN实现IPv4向IPv6过渡的系统及方法 | |
CN103873271A (zh) | 一种网关型EoC终端、及其管理系统和管理方法 | |
CN102801825B (zh) | 终端多ip地址有效性检测方法 | |
CN110086684B (zh) | 一种基于动态规划的dcn网络自通方法 | |
CN115955456A (zh) | 基于IPv6的企业园区网及组网方法 | |
CN103401954B (zh) | 虚拟dhcp的实现方法 | |
CN104349511A (zh) | Wlan网络中ap地址的分配方法与装置 | |
CN103327130A (zh) | Mac地址复用的方法、终端及系统 | |
US10686752B2 (en) | Methods for configuring and managing an IP network, corresponding devices and computer programs | |
CN102857953B (zh) | 一种基站自配置的方法及装置 | |
CN102480476A (zh) | 一种基于dhcp协议扩展的多业务访问方法 | |
Rentschler et al. | OPC UA extension for IP auto-configuration in cyber-physical systems | |
CN103401694B (zh) | 一种实现节点管理的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |