CN111092961A - 一种基于ppp协议的ip地址协商的实现方法 - Google Patents
一种基于ppp协议的ip地址协商的实现方法 Download PDFInfo
- Publication number
- CN111092961A CN111092961A CN201911117634.4A CN201911117634A CN111092961A CN 111092961 A CN111092961 A CN 111092961A CN 201911117634 A CN201911117634 A CN 201911117634A CN 111092961 A CN111092961 A CN 111092961A
- Authority
- CN
- China
- Prior art keywords
- address
- negotiation
- config
- pair
- local
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2858—Access network architectures
- H04L12/2859—Point-to-point connection between the data network and the subscribers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于PPP协议的IP地址协商的实现方法,对全连接网络的每一个节点配置相同的地址池进行动态协商,协商的主体功能在插件中实现,且由主叫方负责IP地址对的分配。与现有技术相比,本发明的积极效果是:本发明针对现有的传统PPP‑IPCP协商方式无法满足点对点全连接网络通信需求的情况,提出了一种运用PPP‑IPCP增强型插件的方式,满足在一个网络系统中,任意两点通信双方能够通过动态协商的方式自动分配IP地址,且不会导致节点之间的地址冲突,实现消息的互通。
Description
技术领域
本发明涉及一种基于PPP协议的IP地址协商的实现方法。
背景技术
PPP(点到点协议)是为在同等单元之间传输数据包的简单链路设计的链路层协议。该链路提供全双工工作模式,顺序传输数据包。PPP的应用主要是通过拨号或专线方式建立点对点连接进行通信,成为各种主机、网桥、路由器之间连接共通的技术手段。PPP通信的底层物理传输介质可以是串口线、光纤及以太网等,具有广泛的应用性,可以适用多种场合之间的信息互通。
PPP主要有三个组件:在串行线路上对数据包进行加密;用于建立、配置和检测数据链路连接的连接控制协议(LCP);用于建立和配置不同网络层协议的网络控制(NCP)协议族。为了适用多种物理信道,点对点通信的两端必须先发送LCP包配置及检测数据连接,设置完成之后再利用NCP协议进行网络层的选择及配置。例如网络层需要使用IP协议,即需要使用一个网络配置协议来进行双方IP地址,域名服务器的IP地址等项目的协商设置,之后才能进行网络协议层的数据传输,完成上述IP配置的协议即是IPCP,协议编号是8021。
传统的PPP通信双方通过IPCP进行IP地址协商,分为静态协商和动态协商两种。静态协商即非协商,双方先手动预设自己的IP地址。在发送Config-Request消息中告诉对端自己的IP地址,在收到对端的该报文之后通过Config-Ack消息进行确认,完成静态协商流程,其正常的流程如图1所示。
动态协商一般由固定一方进行地址的分配,该模式适用于客户端通过拨号和服务器进行PPP连接和IP地址的申请。接收端即服务器端配置IP地址池,发送端即客户端没有IP地址设置。发送方发送两次Config-Request,第一次发送方没有IP地址,所以报文里面填充0.0.0.0,接收端收到之后通过检测报文中的配置发现不是期望的地址,回复Config-Nak消息,并将分配给对端的地址填入该报文中,发送方收到该报文之后,将该地址填入下一包Config-Request中,之后的流程同上述静态协商。动态协商流程如图2所示。
上述两种方式基本都是通过配置完成,需要在每次IP协商前对主机或者路由器进行设置,过程较为繁琐,适用于点对点通信及单点对服务器的拨号通信。
如今的通信网络结构早已不仅满足于点对点通信,呈现向复杂化,交叉化、全连接发展的趋势,如果在一个网络系统中任意节点需要与其他节点进行PPP通信,即需要在每一个节点上虚拟出多个网卡,例如ppp0、ppp1…节点之间的IP地址不能冲突,对此上述的分配方式并不能很好的满足要求:对静态分配方式来说,一则随着网络中节点数目增多,手动配置IP地址的工作量急剧增大;二则任一节点并不知道网络中其他节点的IP地址,很容易造成网络中IP地址冲突混乱的情况,导致网络瘫痪。对动态分配方式来说,传统的模式是一个节点作为服务器端,向其他的节点分配IP地址,并不满足各节点之间对等交叉通信的要求。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种基于PPP协议的IP地址协商的实现方法,本发明针对现有的传统PPP-IPCP协商方式无法满足点对点全连接网络通信需求的情况,提出了一种运用PPP-IPCP增强型插件的方式,满足在一个网络系统中,任意两点通信双方能够通过动态协商的方式自动分配IP地址,且不会导致节点之间的地址冲突,实现消息的互通。
本发明解决其技术问题所采用的技术方案是:一种基于PPP协议的IP地址协商的实现方法,对全连接网络的每一个节点配置相同的地址池用于动态协商,协商的主体功能在插件中实现,且由主叫方负责IP地址对的分配。
与现有技术相比,本发明的积极效果是:
一、解决多节点、全连接网络节点之间IP地址对协商的问题。
传统的PPP-IP协商方式分为静态协商和动态协商。
静态协商适用于点对点且双方知晓对端IP的情况。对于多节点全连接网络来说手动配置较为繁琐,存在不了解对端IP的情况下出现配置IP地址冲突,造成网络瘫痪的风险;动态协商主要用于一对多的网络拓扑,即一个节点作为服务器向其他节点分配IP地址,同样不适用全连接网络。
本发明通过各节点配置同样的地址池,进行动态协商,能较好的解决上述问题。
二、优化协商流程,主要功能采用插件的方式实现,不影响PPP主体功能且便于修改和移植。
优化协商流程,由一方(主叫)负责IP地址对的分配,减少动态协商的握手次数,比传统的协商方式更加高效;该功能采用插件的方式实现,便于修改及移植。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为静态协商流程;
图2为动态协商流程;
图3为一次协商成功流程;
图4为协商失败流程及重新协商的流程。
具体实施方式
本发明针对全连接网络,在每一个节点上设置相同的地址池,里面包含数量足够的地址对。在与不同的节点通信时采用不重复的地址。该技术采用增强型插件的方式实现,保证在不影响PPP-IPCP功能的情况下增加相应处理流程,协商的主体功能在插件中实现,保证以后功能的移植和扩展。根据流程可分初始化、主叫发起地址对协商、被叫接收或拒绝(主叫更换地址对重新协商或协商失败)。
一、初始化
a)地址池中地址对的设置:根据网络中链路数最大的节点确定,其计算规则为:S=N*2-1,其中S为地址对的数目,N为网络中单个节点最大的链路数,地址池中任意地址均不一样,该数目能保证所有节点之间能独立通信。
b)在节点内,地址池以共享内存的方式供所有协商进程共同使用,最大程度避免节点内各虚拟网卡间的地址对冲突。共享内存采用信号量进行保护,避免两个进程同时对同一对地址对进行操作。
c)对插件进行注册。
d)启动配置文件解析:配置文件按照具体情况设置底层通信接口设备,接口速率,lcp-echo-failure等其他通用设置。被叫选择接收对端对源IP及目的IP的设置、不主动发起IP地址协商选项。
二、根据PPP-IPCP的协商方式,制定自动协商的流程
相关术语:
地址选项:包含协商的IP地址对、是否协商标志、是否接受对端IP标志等;
wantoptions:用于与对端协商的地址选项;
gotoptions:对端确认的地址选项;
allowoptions:允许对端协商的地址对选项;
hisoptions:向对端确认的地址对选项;
(1)一次协商成功的流程:
a)主叫在地址对池中选取“空闲”状态的地址对,例ip_pair1(ip1、ip2),通过插件在重置request information时将Config_req中本地设置的地址对设置为ip_pair1,对端设置中的地址对和历史地址设置全为空,协商选项设置为禁止,即采用自定义方式进行地址分配;IPCP协议设置对端Config_ack检查设置中的ip地址对与本地一致(gotoptions)。IPCP协议通过状态机发送该Config_req发起地址对协商。
b)被叫IPCP协议在接收到对端的Config_req消息时,解析消息中的源地址和目的地址,确认目的地址(即分配给本端的地址)不为0及本地已配置接收对端IP设置的选项,启动插件进行IP地址对可用性检测。
c)可用性检测该IP地址对在本地处于“空闲”状态,重置request information时将Config_req中的本地地址为ip2,设置对端确认包的源地址为ip1,目的地址为ip2;设置本地确认包选项中源地址为ip2,目的地址ip1,设置包含历史ip地址对选项标志,设置该IP地址对在本地已使用状态,回复主叫Config_ack消息完成协商,ipcp up。
d)主叫收到被叫的Config_ack,进行地址对的检测,根据配置本端为不允许协商及含有历史IP,检测消息中的源地址及目的地址与本地的配置相符,设置该IP地址对在本地已使用状态完成协商,ipcp up。
(2)协商失败的情况(假定所有初始配置正确):
a)主叫地址池中的地址对均处于“非空闲”状态。
b)主叫收到对端的Config_nak消息的次数大于等于最大值DEFMAXNAKLOOPS(该值设为地址池中包含地址对数目)。
(3)重新协商的情况(假定所有初始配置正确)
a)被叫收到的Config_req,启动插件IP地址对可用性检测发现该地址对处于“非空闲”状态,回复Config_Nak。
b)主叫收到Config_Nak,检查其接收到该消息的历史次数小于DEFMAXNAKLOOPS,通过插件检查gotoptions中的本地IP和对端IP对是否在本地的地址池中,如果是则将其状态改为可用;在地址池中选择另一组空闲地址对,采取跟上次协商同样的流程与对端协商,直到下次协商成功或失败。
Claims (7)
1.一种基于PPP协议的IP地址协商的实现方法,其特征在于:对全连接网络的每一个节点配置相同的地址池进行动态协商,协商的主体功能在插件中实现,且由主叫方负责IP地址对的分配。
2.根据权利要求1所述的一种基于PPP协议的IP地址协商的实现方法,其特征在于:在进行动态协商前,需进行如下初始化流程:
a)确定地址池中地址对的数目;
b)采用信号量对共享内存进行保护;
c)对插件进行注册;
d)启动配置文件解析。
3.根据权利要求2所述的一种基于PPP协议的IP地址协商的实现方法,其特征在于:所述地址对数目的计算方法为:S=N*2-1,其中S为地址对的数目,N为网络中单个节点最大的链路数。
4.根据权利要求2所述的一种基于PPP协议的IP地址协商的实现方法,其特征在于:所述主叫方从本地地址池中选取空闲可用的地址对,发送给被叫方;被叫方根据当前地址使用情况,选择接受或拒绝该地址对;如果被叫方拒绝,则主叫方重新选取新的地址对,直至地址耗尽或被叫方接受。
5.根据权利要求1所述的一种基于PPP协议的IP地址协商的实现方法,其特征在于:在进行动态协商时,一次协商成功的流程包括:
a)主叫在地址池中选取“空闲”状态的地址对ip_pair1(ip1、ip2),通过插件在重置request information时将Config_req中本地设置的地址对设置为ip_pair1,对端设置的地址对和历史地址全部设置为空,协商选项为禁止;设置对端Config_ack检查设置中的ip地址对与本地一致;IPCP协议通过状态机发送该Config_req发起地址对协商;
b)被叫IPCP协议在接收到对端的Config_req消息后,解析消息中的源地址和目的地址,确认目的地址不为0及本地已配置接收对端IP设置的选项,启动插件进行IP地址对可用性检测;
c)可用性检测该IP地址对在本地处于“空闲”状态,则在重置request information时将Config_req中的本地地址设置为ip2,设置对端确认包的源地址为ip1,目的地址为ip2;设置本地确认包选项中源地址为ip2,目的地址ip1,设置包含历史ip地址对选项标志,设置该IP地址对在本地已使用状态,回复主叫Config_ack消息完成协商,ipcp up;
d)主叫收到被叫的Config_ack后,进行地址对的检测,根据配置本端为不允许协商及含有历史IP,检测消息中的源地址及目的地址与本地的配置是否相符,设置该IP地址对在本地已使用状态完成协商,ipcp up。
6.根据权利要求1所述的一种基于PPP协议的IP地址协商的实现方法,其特征在于:在被叫收到Config_req后,启动插件进行IP地址对可用性检测时发现该地址对处于“非空闲”状态,则回复Config_Nak;主叫收到Config_Nak后,判断其接收到该消息的历史次数是否小于设定的地址对数目,若是,则通过插件检查gotoptions中的本地IP和对端IP对是否在本地的地址池中,如果是则将其状态改为可用;在地址池中选择另一组空闲地址对,继续与对端进行动态协商。
7.根据权利要求6所述的一种基于PPP协议的IP地址协商的实现方法,其特征在于:当主叫地址池中的地址对均处于“非空闲”状态且主叫收到对端的Config_nak消息的次数大于等于设定的地址对数目时,则动态协商失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911117634.4A CN111092961B (zh) | 2019-11-15 | 2019-11-15 | 一种基于ppp协议的ip地址协商的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911117634.4A CN111092961B (zh) | 2019-11-15 | 2019-11-15 | 一种基于ppp协议的ip地址协商的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111092961A true CN111092961A (zh) | 2020-05-01 |
CN111092961B CN111092961B (zh) | 2021-12-17 |
Family
ID=70393244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911117634.4A Active CN111092961B (zh) | 2019-11-15 | 2019-11-15 | 一种基于ppp协议的ip地址协商的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111092961B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1437360A (zh) * | 2002-02-07 | 2003-08-20 | 华为技术有限公司 | 通过点对点协议上网的用户获取互联网协议地址的方法 |
US6771635B1 (en) * | 1999-03-31 | 2004-08-03 | Telefonaktiebolaget Lm Ericsson (Publ) | IP address allocation for mobile terminals |
US20050108432A1 (en) * | 1999-07-08 | 2005-05-19 | Akihiro Tominaga | Automatic address management method |
CN1719764A (zh) * | 2004-07-08 | 2006-01-11 | 中兴通讯股份有限公司 | 一种使用点到点协议时防止ip地址泄漏的方法 |
EP1750398A1 (en) * | 2004-07-20 | 2007-02-07 | Huawei Technologies Co., Ltd. | A method and apparatus supporting a pppoa terminal accessing |
CN101640943A (zh) * | 2008-07-31 | 2010-02-03 | 国际商业机器公司 | 用于无线局域网的网络层切换方法及相应无线接入点设备 |
US20100138651A1 (en) * | 2008-11-26 | 2010-06-03 | Qualcomm Incorporated | Apparatus and method for selecting ip services |
US7756107B1 (en) * | 2000-05-17 | 2010-07-13 | Cisco Technology, Inc. | Dial-out with dynamic IP address assignment |
US20120179826A1 (en) * | 2009-09-23 | 2012-07-12 | Zte Corporation | Address Distribution Method, Device and System Thereof |
CN102685264A (zh) * | 2012-05-08 | 2012-09-19 | 北京星网锐捷网络技术有限公司 | 动态主机配置协议地址分配方法、中继设备及服务器 |
CN102740401A (zh) * | 2011-02-10 | 2012-10-17 | 中兴通讯股份有限公司 | 一种通过可信任的固网接入移动核心网络的方法和系统 |
CN102917081A (zh) * | 2012-09-27 | 2013-02-06 | 汉柏科技有限公司 | Vpn客户端ip地址的分配方法、报文传输方法及vpn服务器 |
CN103200283A (zh) * | 2013-04-19 | 2013-07-10 | 江苏物联网研究发展中心 | 多中继无线通信系统及该系统空中接口ip化的实现方法 |
US20170085549A1 (en) * | 2015-03-31 | 2017-03-23 | Willie L. Donaldson | Secure dynamic address resolution and communication system, method, and device |
CN109271433A (zh) * | 2018-09-03 | 2019-01-25 | 中新网络信息安全股份有限公司 | 一种集群数据同步方法 |
-
2019
- 2019-11-15 CN CN201911117634.4A patent/CN111092961B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6771635B1 (en) * | 1999-03-31 | 2004-08-03 | Telefonaktiebolaget Lm Ericsson (Publ) | IP address allocation for mobile terminals |
US20050108432A1 (en) * | 1999-07-08 | 2005-05-19 | Akihiro Tominaga | Automatic address management method |
US7756107B1 (en) * | 2000-05-17 | 2010-07-13 | Cisco Technology, Inc. | Dial-out with dynamic IP address assignment |
CN1437360A (zh) * | 2002-02-07 | 2003-08-20 | 华为技术有限公司 | 通过点对点协议上网的用户获取互联网协议地址的方法 |
CN1719764A (zh) * | 2004-07-08 | 2006-01-11 | 中兴通讯股份有限公司 | 一种使用点到点协议时防止ip地址泄漏的方法 |
EP1750398A1 (en) * | 2004-07-20 | 2007-02-07 | Huawei Technologies Co., Ltd. | A method and apparatus supporting a pppoa terminal accessing |
CN101640943A (zh) * | 2008-07-31 | 2010-02-03 | 国际商业机器公司 | 用于无线局域网的网络层切换方法及相应无线接入点设备 |
US20100138651A1 (en) * | 2008-11-26 | 2010-06-03 | Qualcomm Incorporated | Apparatus and method for selecting ip services |
US20120179826A1 (en) * | 2009-09-23 | 2012-07-12 | Zte Corporation | Address Distribution Method, Device and System Thereof |
CN102740401A (zh) * | 2011-02-10 | 2012-10-17 | 中兴通讯股份有限公司 | 一种通过可信任的固网接入移动核心网络的方法和系统 |
CN102685264A (zh) * | 2012-05-08 | 2012-09-19 | 北京星网锐捷网络技术有限公司 | 动态主机配置协议地址分配方法、中继设备及服务器 |
CN102917081A (zh) * | 2012-09-27 | 2013-02-06 | 汉柏科技有限公司 | Vpn客户端ip地址的分配方法、报文传输方法及vpn服务器 |
CN103200283A (zh) * | 2013-04-19 | 2013-07-10 | 江苏物联网研究发展中心 | 多中继无线通信系统及该系统空中接口ip化的实现方法 |
US20170085549A1 (en) * | 2015-03-31 | 2017-03-23 | Willie L. Donaldson | Secure dynamic address resolution and communication system, method, and device |
CN109271433A (zh) * | 2018-09-03 | 2019-01-25 | 中新网络信息安全股份有限公司 | 一种集群数据同步方法 |
Non-Patent Citations (1)
Title |
---|
RAOJUN0051: "ppp协议支持动态IP地址协商", 《DOCIN.COM/P-1843777435》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111092961B (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112911027B (zh) | 用于建立媒体会话的方法和装置 | |
US8020203B2 (en) | Techniques for high availability of virtual private networks (VPN's) | |
US6370592B1 (en) | Network interface device which allows peripherals to utilize network transport services | |
US7640364B2 (en) | Port aggregation for network connections that are offloaded to network interface devices | |
EP1914939B1 (en) | A method for the triggering failure detection of bidirectional forwarding detection | |
US6061728A (en) | Arrangement for controlling network proxy device traffic on a transparently-bridged local area network using a master proxy device | |
JP2001356973A (ja) | ネットワークシステム | |
US10523547B2 (en) | Methods, systems, and computer readable media for multiple bidirectional forwarding detection (BFD) session optimization | |
EP3151504B1 (en) | Method and device for establishing multipath network connections | |
RU2373654C1 (ru) | Способ установления однорангового соединения и предназначенная для этого система | |
WO2013152718A1 (zh) | 一种路径计算单元通信协议会话建立方法及装置 | |
US7916651B2 (en) | Services convergence among heterogeneous wired and wireless networks | |
CN111092961B (zh) | 一种基于ppp协议的ip地址协商的实现方法 | |
CN109618022B (zh) | 基于ip子网的对等协商式动态编址方法及装置 | |
CN107454178B (zh) | 数据传输方法及装置 | |
CN113542395B (zh) | 报文处理方法和报文处理系统 | |
Cisco | Configuring PPP for Wide-Area Networking | |
Cisco | Configuring PPP for Wide-Area Networking | |
Cisco | Configuring PPP for Wide-Area Networking | |
KR20040017364A (ko) | 네트워크 노드에서 다수의 체크 섬 알고리즘을 지원하기위한 방법 | |
Cisco | Configuring PPP for Wide-Area Networking | |
Cisco | Configuring PPP for Wide-Area Networking | |
Cisco | Configuring PPP for Wide-Area Networking | |
Cisco | Configuring PPP for Wide-Area Networking | |
Cisco | Configuring PPP for Wide-Area Networking |
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 |