CN108092897B - 一种基于sdn的可信路由源管理方法 - Google Patents
一种基于sdn的可信路由源管理方法 Download PDFInfo
- Publication number
- CN108092897B CN108092897B CN201711181663.8A CN201711181663A CN108092897B CN 108092897 B CN108092897 B CN 108092897B CN 201711181663 A CN201711181663 A CN 201711181663A CN 108092897 B CN108092897 B CN 108092897B
- Authority
- CN
- China
- Prior art keywords
- field
- asr
- occupies
- prefix
- bytes
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 15
- 241001189642 Theroa Species 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 3
- 101100118976 Mus musculus Clint1 gene Proteins 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 241000079527 Ziziphus spina-christi Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/748—Address table lookup; Address filtering using longest matching prefix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于SDN的可信路由源管理方法,该将RPKI资源库存放在SDN***,RPKI资源库可以发布一种称为ROA的签名对象,将源IP地址前缀授权给特定的AS进行路由通告。使得源IP地址的合法持有者可验证的授权某个AS作为该地址的路由源。由SDN***来完成RPKI资料库的管理。SDN总控负责将RPKI资料对ASR进行广播,使得所有的ASR能获取到正确的RPKI资源库信息,最大限度的保障路由的来源可靠性。本发明支持以命令行形式维护RPKI资料库,操作简单高效。
Description
技术邻域
本发明涉及网络技术领域,尤其涉及一种基于SDN的可信路由源管理方法。
背景技术
作为支撑互联互通的互联网基础设施,域间路由***对互联网的安全有着至关重要的影响。作为互联网自治域之间路由信息交换的载体,BGP(Border Gateway Protocol,边界网关协议)协议缺乏对路由通告内容真实性的验证,这在域间路由***埋下了安全隐患。
黑客的蓄意攻击以及错误的网络参数配置都可能导致路由劫持现象的发生。为了增强互联网基础设施的安全和可信,互联网社区计划部署RPKI(Resource Public KeyInfrastructure,基础资源公钥证书体系),预期构建一个支撑域间路由安全的互联网基础资源管理***。
RPKI(Resource Public Key Infrastructure,基础资源公钥证书体系)的构建旨在借助一个面向互联网基础资源的公钥证书体系,来完成IP地址所有权(分配关系)和使用权(路由起源通告)的认证。
为验证路由通告签名者所持有的公钥,该签名者的IP地址分配上游为其签发证书:一方面验证其公钥;另一方面验证该实体对某个IP地址前缀的所有权。基于IP地址资源分配关系而形成的公钥证书体系,RPKI的基本框架就此形成。
RPKI体系由三大部分组成:资源公钥基础设施(RPKI)、数字签名对象和储存PKI对象和签名路由对象的分布式数据仓库(RFC 6480)。这三大模块确保一个实体能够验证谁是某个IP地址或者AS号码的合法持有者。作为最初的应用模式,RPKI可以使IP地址的合法持有者可验证的授权某个AS作为该地址的路由源。这种可验证的授权用以构建更加安全的路由表过滤项。
ROA(Route Origin Attestation)是IP地址所有者授权AS(Autonomous System,自治***)为其进行路由通告的认证信息,包含一个AS号码以及一个或多个IP地址前缀之间的“绑定关系”。ROA可以被RP用来验证为某一特定地址前缀发起路由的AS是否被地址所有者所授权。例如,一个ISP可以使用经过验证的ROA中的信息作为其BGP路由过滤项的输入。发布ROA的首选方法是通过RPKI的资料库***。
自RPKI概念问世以来,其部署工作已紧锣密鼓地在全球五大RIR中开展,网络设备制造商和运营商也积极参与其中的技术标准研制。2012年2月,IETF的SIDR工作组发布了14个与RPKI相关的RFC文档(RFC6480~RFC6493),涵盖RPKI体系结构、操作模型、密钥算法、证书策略、运行管理等支撑RPKI运行的各关键环节,标志着RPKI在技术层面已基本成熟。在支撑RPKI运行的技术体系中,有关路由器获取IP地址授权信息的RTR协议和RPKI本地信任锚点管理机制的标准化工作尚在IETF中进行,如图1给出了运行机制的一个示例。
作为最初的应用,RPKI可以使IP地址的合法持有者授权某个AS作为该地址的路由起源,用以辅助BGP边界路由器构建更加安全的路由表条目。
传统分布式的网络体系架构,如果RPKI资料发生变动,重新更新相应网络设备(路由器、交换机、防火墙)上的资料是一件非常繁琐的事情。SDN(Software Defined Network,软件定义网络)作为一种新型的网络体系架构,其技术架构与传统网络架构有很大的不同。其核心思想是将传统网络设备的控制逻辑和转发逻辑相分离,采用集中控制方式控制网络设备,将控制逻辑转移到了普通计算机上独立成一个控制器。控制层通过标准接口协议控制数据转发层,提高了网络设备的可控性和可编程性。对编程接口的开放性使得对网络的控制更加敏捷,减少了网络控制的开销代价。
发明内容
针对现有分布式网络中对路由源通告信息进行同步存在的困难,本发明的目的在于提供一种基于SDN的可信路由源管理方法。
为了达到上述目的,本发明所采用的技术方案如下:一种基于SDN的可信路由源管理方法,包括:
将RPKI资源库存放在SDN***中,RPKI资源库中存储ROA数据,且对每条ROA数据进行编号;
通过SDN控制器将RPKI资源库信息向所控制的SDN网络内的ASR(AutonomousSystem Router,自治***边界路由器)进行广播;
ASR接收到ROA后,将数据保存于ASR本地,供ASR进行源IP地址和源AS号绑定关系的真实性验证;
当SDN网络中有新的ASR加入时,由SDN控制器将整表同步到新加入的ASR上;
当RPKI资料库出现变化,由SDN控制器将变化表同步到所有ASR上。
进一步的,所述SDN控制器采用双进程架构,父进程负责监听socket端口,接收ASR的连接,根据ASR的查询报文检索RPKI资源库中的ROA数据,将检索出来的每一条ROA数据封装成一个TCP报文发送给ASR;子进程负责更新RPKI资源库中的ROA数据。
进一步的,所述SDN控制器以命令形式更新RPKI资源库中的ROA数据库:命令add用于添加ROA数据,命令del用于删除ROA数据,命令reset用于重置ROA数据,命令end用于结束输入。
进一步的,当SDN网络中有新的ASR加入时,SDN控制器将整表同步到新加入的ASR上的具体步骤为:SDN控制器等待ASR的连接,连接成功后,ASR向SDN控制器发送ResetQuery报文,SDN控制器接收Reset Query报文后先发送Cache Response报文,然后发送RPKI资料库中的所有ROA数据给ASR,每个报文封装一条ROA数据;所有ROA数据发送完后,发送一条End of Data报文,完成整表同步。
进一步的,所述Reset Query报文由ASR定期向SDN控制器发送;所述Reset Query报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为2,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为8,表示所述ResetQuery报文的长度,占4个字节;
所述Cache Response报文由SDN控制器向ASR发送;所述Cache Response报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为3,占1个字节;第三个字段为Session ID(会话号),表示SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为8,表示所述Cache Response报文的长度,占4个字节;
所述End of Data报文由SDN控制器向ASR发送;所述End of Data报文长度为12字节,分5个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为7,占1个字节;第三个字段为Session ID(会话号),表示SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为12,表示所述Endof Data报文的长度,占4个字节;第五个字段为Serial Number(序列号),表示ASR当前拥有的ROA数据的最大编号,占4个字节。
进一步的,当RPKI资料库出现变化,SDN控制器将变化表同步到所有ASR上的具体步骤为:SDN控制器主动向ASR发送Serial Notify报文通知ASR进行数据同步,ASR收到Serial Notify报文后向SDN控制器发送Serial Query报文,并带有ASR上ROA数据的最大序列号,SDN控制器根据该序列号查询RPKI资源库,将大于该序列号的ROA数据发送给ASR,若SDN控制器无法提供大于ASR查询序列号的ROA数据,则SDN控制器发送Cache Reset报文,ASR接收后发送Reset Query报文,完成变化表同步。
进一步的,所述Serial Notify报文长度为12字节,分5个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为0,占1个字节;第三个字段为Session ID(会话号),表示当前SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为12,表示所述Serial Query报文的长度,占4个字节;第五个字段为Serial Number(序列号),表示SDN控制器当前拥有的ROA数据的最大编号,占4个字节;
所述Serial Query报文长度为12字节,分5个字段;第一个字段为ProtocolVersion(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为1,占1个字节;第三个字段为Session ID(会话号),表示SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为12,表示所述Serial Query报文的长度,占4个字节;第五个字段为Serial Number(序列号),表示ASR当前拥有的ROA数据的最大编号,占4个字节;
所述Cache Reset报文由SDN控制器向ASR发送;所述Cache Reset报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为8,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为8,表示所述Cache Reset报文的长度,占4个字节;
所述Reset Query报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为2,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为8,表示所述Reset Query报文的长度,占4个字节。
进一步的,所述源IP地址的类型为IPv4或IPv6。
进一步的,采用IPv4类型时,以IPv4 Prefix报文由SDN控制器向ASR发送;所述IPv4 Prefix报文长度为20字节,分10个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为4,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为20,表示所述IPv4 Prefix报文的长度,占4个字节;第五个字段为Flags(标记),取值为0或1,0表示要求ASR删除此报文所携带的ROA数据,1表示要求ASR添加此报文所携带的ROA数据,占1个字节;第六个字段为Prefix Length(前缀长度),表示匹配此IPv4地址的最小前缀长度,占1个字节;第七个字段为Max Length(最大长度),表示匹配此IPv4地址的最大前缀长度,占1个字节;第八个字段默认为0,占1个字节;第九个字段为IPv4 Prefix,表示权利要求1所述ROA数据中的IPv4地址前缀,占4字节;第十个字段为Autonomous System Number(自治***号),表示ROA数据中的AS号,占4字节。
进一步的,采用IPv6类型时,以IPv6 Prefix报文由SDN控制器向ASR发送;所述IPv6 Prefix报文长度为32字节,分10个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为6,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为32,表示所述IPv6 Prefix报文的长度,占4个字节;第五个字段为Flags(标记),取值为0或1,0表示要求ASR删除此报文所携带的ROA数据,1表示要求ASR添加此报文所携带的ROA数据,占1个字节;第六个字段为Prefix Length(前缀长度),表示匹配此IPv6地址的最小前缀长度,占1个字节;第七个字段为Max Length(最大长度),表示匹配此IPv6地址的最大前缀长度,占1个字节;第八个字段默认为0,占1个字节;第九个字段为IPv6 Prefix,表示权利要求1所述ROA数据中的IPv6地址前缀,占16字节;第十个字段为Autonomous System Number(自治***号),表示ROA数据中的AS号,占4字节。
本发明的有益效果如下:本发明由SDN***来完成RPKI资料库的管理;SDN总控负责将RPKI资料对ASR进行广播,使得所有的ASR能获取到正确的RPKI资源库信息,最大限度的保障路由的来源可靠性;本发明支持以命令行形式维护RPKI资料库,操作简单高效。
附图说明
图1是RPKI运行机制示例图;
图2是SDN网络的结构示意图;
图3为本发明一实施例中SDN控制器向ASR发送的Serial Notify报文的结构示意图;
图4为本发明一实施例中ASR向SDN控制器发送的Serial Query报文的结构示意图;
图5为本发明一实施例中ASR向SDN控制器发送的Reset Query报文的结构示意图;
图6为本发明一实施例中SDN控制器向ASR发送的Cache Response报文的结构示意图;
图7为本发明一实施例中SDN控制器向ASR发送的IPv4 Prefix报文的结构示意图;
图8为本发明一实施例中SDN控制器向ASR发送的IPv6 Prefix报文的结构示意图;
图9为本发明一实施例中SDN控制器向ASR发送的End of Data报文的结构示意图;
图10为本发明一实施例中SDN控制器向ASR发送的Cache Reset报文的结构示意图;
图11为本发明一实施例中整表同步的报文交互流程示意图;
图12为本发明一实施例中变化表同步的报文交互流程示意图;
图13为本发明一实施例中SDN控制器无法向ASR提供数据的报文交互流程示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图2所示,本发明提供的一种基于SDN的可信路由源管理方法,将RPKI技术与SDN技术联合应用,在SDN***上实现了维护RPKI资源库,包括:
将RPKI资源库存放在SDN***中,RPKI资源库中存储ROA数据,且对每条ROA数据进行编号;
通过SDN控制器将RPKI资源库信息向所控制的SDN网络内的ASR进行广播,使得所有的ASR能获取到正确的RPKI资源库信息,最大限度的保障路由的来源可靠性;
ASR接收到ROA后,将数据保存于ASR本地,供ASR进行源IP地址和源AS号绑定关系的真实性验证;
当SDN网络中有新的ASR加入时,由SDN控制器将整表同步到新加入的ASR上;
当RPKI资料库出现变化,由SDN控制器将变化表同步到所有ASR上。
进一步的,所述SDN控制器采用双进程架构,父进程负责监听socket端口,接收ASR的连接,根据ASR的查询报文检索RPKI资源库中的ROA数据,将检索出来的每一条ROA数据封装成一个TCP报文发送给ASR;子进程负责更新RPKI资源库中的ROA数据。
进一步的,所述SDN控制器以命令形式更新RPKI资源库中的ROA数据库:命令add用于添加ROA数据,命令del用于删除ROA数据,命令reset用于重置ROA数据,命令end用于结束输入;具体用法如下表所示:
命令 | 描述 | 命令格式 |
add | 添加ROA数据 | add空格Prefix空格Len空格MaxLen空格AS回车 |
del | 删除ROA数据 | del空格Prefix空格Len空格MaxLen空格AS回车 |
reset | 重置ROA数据库 | |
end | 结束命令输入 |
add用法:
add空格Prefix空格Len空格MaxLen空格AS回车
例:增加一条数据,前缀为73A:B3FE::98C,Prefix Length为64,Max Length为128,AS号为75。
输入:add 73A:B3FE::98C 64 128 75回车
输入错误会要求重新输入,每次可以输入多条,每条以add开始,回车结束,输入完所有数据后输入end结束。
del用法:
del用于删除数据,用法与add完全一样,只需将add改为del。
例:删除一条数据库中的数据,前缀为163.45.12.0,Prefix Length为16,MaxLength为24,AS号为19。
输入:del 163.45.12.0 16 24 19回车
注意:del用于删除RPKI资料库中存在的数据(即Prefix,Len,MaxLen,AS完全匹配),若输入了不存在的数据,SDN控制器不负责检查,仍然会将这条数据写入数据库。由ASR负责检查,ASR将返回错误报文,通知SDN控制器删除了不存在的报文。此时SDN控制器会主动断链,再次等待ASR连接,必须手动将资料库中删错的数据条目删除。
若要清除SDN控制器的RPKI资料库,先输入reset后回车,然后输入end回车,就能清空资料库。
若要重置RPKI资料库,先输入reset后回车,然后add或del数据,最后输入end结束。
添加或删除或重置(不清空)RPKI资料库后,SDN控制器会立即发送Serial Notify报文通知ASR有数据更新,ASR会马上进行查询。
进一步的,当SDN网络中有新的ASR加入时,SDN控制器将整表同步到新加入的ASR上的具体步骤为:SDN控制器等待ASR的连接,连接成功后,ASR向SDN控制器发送ResetQuery报文,SDN控制器接收Reset Query报文后先发送Cache Response报文,然后发送RPKI资料库中的所有ROA数据给ASR,每个报文封装一条ROA数据;所有ROA数据发送完后,发送一条End of Data报文,完成整表同步;如图11所示。
进一步的,所述Reset Query报文由ASR定期向SDN控制器发送;所述Reset Query报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为2,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为8,表示所述ResetQuery报文的长度,占4个字节;如图5所示。
所述Cache Response报文由SDN控制器向ASR发送;所述Cache Response报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为3,占1个字节;第三个字段为Session ID(会话号),表示SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为8,表示所述Cache Response报文的长度,占4个字节;如图6所示。
所述End of Data报文由SDN控制器向ASR发送;所述End of Data报文长度为12字节,分5个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为7,占1个字节;第三个字段为Session ID(会话号),表示SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为12,表示所述Endof Data报文的长度,占4个字节;第五个字段为Serial Number(序列号),表示ASR当前拥有的ROA数据的最大编号,占4个字节;如图9所示。
进一步的,当RPKI资料库出现变化,SDN控制器将变化表同步到所有ASR上的具体步骤为:SDN控制器主动向ASR发送Serial Notify报文通知ASR进行数据同步,ASR收到Serial Notify报文后向SDN控制器发送Serial Query报文,并带有ASR上ROA数据的最大序列号,SDN控制器根据该序列号查询RPKI资源库,将大于该序列号的ROA数据发送给ASR,完成变化表同步;如图12所示。
若SDN控制器无法提供大于ASR查询序列号的ROA数据,则SDN控制器发送CacheReset报文,ASR接收后发送Reset Query报文,如图13所示。
进一步的,所述Serial Notify报文长度为12字节,分5个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为0,占1个字节;第三个字段为Session ID(会话号),表示当前SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为12,表示所述Serial Query报文的长度,占4个字节;第五个字段为Serial Number(序列号),表示SDN控制器当前拥有的ROA数据的最大编号,占4个字节;如图3所示。
所述Serial Query报文长度为12字节,分5个字段;第一个字段为ProtocolVersion(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为1,占1个字节;第三个字段为Session ID(会话号),表示SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为12,表示所述Serial Query报文的长度,占4个字节;第五个字段为Serial Number(序列号),表示ASR当前拥有的ROA数据的最大编号,占4个字节;如图4所示。
所述Cache Reset报文由SDN控制器向ASR发送;所述Cache Reset报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为8,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为8,表示所述Cache Reset报文的长度,占4个字节;如图10所示。
所述Reset Query报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为2,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为8,表示所述Reset Query报文的长度,占4个字节;如图5所示。
本发明的方法可以采用Linux C开发,编译器为gcc4.7.3。
由于RPKI资料库数据量不是非常巨大,因此直接将数据保存在文件里,当SDN控制器启动时,将文件内数据加载进内存。当更新数据时,将内存数据写入文件。
数据文件格式说明:
0018
0000 192.71.65.12 16 32 73 1 4
0001b3c:89::ab3 64 128 23 1 6
0002 124.31.0.0 16 24 37 1 4
0003b378::abce:78ff 64 64 12 1 6
0004 153.71.0.3 16 32 82 1 4
0005 76de:ec::7834:c2 32 96 81 1 6
0006 89::387b:ea:23c 64 96 15 1 6
0007 213.34.2.0 16 24 57 1 4
0008b3a:89ec::234a 64 96 39 1 6
0009 153.71.0.3 16 32 82 0 4
0010 89::387b:ea:23c 64 96 82 1 6
0011 172.63.8.1 16 24 9 1 4
0012 173.61.76.92 16 32 87 1 4
0013 89::3487:3 64 96 28 1 6
0014 193.167.18.19 16 24 18 1 4
0015 213.34.2.0 16 24 57 0 4
0016 7483::ba3:89cf 64 96 35 1 6
0017 52.34.89.2 16 24 71 1 4
0018 37ba:389::65a 64 96 27 1 6
在一实施例中,第一行一个字段表示数据库中最大序列号sn,4位长度,不够前面补0,最大支持9999。若数据库无数据,则为-1。
在一实施例中,后面sn+1行,每行7个字段(序列号前缀前缀长度最大长度AS号标记地址类型)。其中序列号从0开始,标记为1表示要增加的条目,标记为0表示要删除的条目。地址类型为4(IPv4)或6(IPv6)。
采用IPv4类型时,以IPv4 Prefix报文由SDN控制器向ASR发送;所述IPv4 Prefix报文长度为20字节,分10个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为4,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为20,表示所述IPv4Prefix报文的长度,占4个字节;第五个字段为Flags(标记),取值为0或1,0表示要求ASR删除此报文所携带的ROA数据,1表示要求ASR添加此报文所携带的ROA数据,占1个字节;第六个字段为Prefix Length(前缀长度),表示匹配此IPv4地址的最小前缀长度,占1个字节;第七个字段为Max Length(最大长度),表示匹配此IPv4地址的最大前缀长度,占1个字节;第八个字段默认为0,占1个字节;第九个字段为IPv4 Prefix,表示权利要求1所述ROA数据中的IPv4地址前缀,占4字节;第十个字段为Autonomous System Number(自治***号),表示ROA数据中的AS号,占4字节;如图7所示。
采用IPv6类型时,以IPv6 Prefix报文由SDN控制器向ASR发送;所述IPv6 Prefix报文长度为32字节,分10个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为6,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为32,表示所述IPv6Prefix报文的长度,占4个字节;第五个字段为Flags(标记),取值为0或1,0表示要求ASR删除此报文所携带的ROA数据,1表示要求ASR添加此报文所携带的ROA数据,占1个字节;第六个字段为Prefix Length(前缀长度),表示匹配此IPv6地址的最小前缀长度,占1个字节;第七个字段为Max Length(最大长度),表示匹配此IPv6地址的最大前缀长度,占1个字节;第八个字段默认为0,占1个字节;第九个字段为IPv6 Prefix,表示权利要求1所述ROA数据中的IPv6地址前缀,占16字节;第十个字段为Autonomous System Number(自治***号),表示ROA数据中的AS号,占4字节;如图8所示。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术邻域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种基于SDN的可信路由源管理方法,其特征在于,包括:
将RPKI资源库存放在SDN***中,RPKI资源库中存储ROA数据,且对每条ROA数据进行编号;所述ROA是IP地址所有者授权AS为其进行路由通告的认证信息;
通过SDN控制器将RPKI资源库信息向所控制的SDN网络内的ASR进行广播;
ASR接收到ROA后,将数据保存于ASR本地,供ASR进行源IP地址和源AS号绑定关系的真实性验证;
当SDN网络中有新的ASR加入时,由SDN控制器将整表同步到新加入的ASR上;
当RPKI 资料库出现变化,由SDN控制器将变化表同步到所有ASR上。
2.根据权利要求1所述的一种基于SDN的可信路由源管理方法,其特征在于,所述SDN控制器采用双进程架构,父进程负责监听socket端口,接收ASR的连接,根据ASR的查询报文检索RPKI资源库中的ROA数据,将检索出来的每一条ROA数据封装成一个TCP报文发送给ASR;子进程负责更新RPKI资源库中的ROA数据。
3.根据权利要求2所述的一种基于SDN的可信路由源管理方法,其特征在于,所述SDN控制器以命令形式更新RPKI资源库中的ROA数据库:命令add用于添加ROA数据,命令del用于删除ROA数据,命令reset用于重置ROA数据,命令end用于结束输入。
4.根据权利要求1所述的一种基于SDN的可信路由源管理方法,其特征在于,当SDN网络中有新的ASR加入时,SDN控制器将整表同步到新加入的ASR上的具体步骤为:SDN控制器等待ASR的连接,连接成功后,ASR向SDN控制器发送Reset Query报文,SDN控制器接收ResetQuery报文后先发送Cache Response报文,然后发送RPKI资料库中的所有ROA数据给ASR,每个报文封装一条ROA数据;所有ROA数据发送完后,发送一条End of Data报文,完成整表同步。
5.根据权利要求4所述的一种基于SDN的可信路由源管理方法,其特征在于,所述ResetQuery报文由ASR定期向SDN控制器发送;所述Reset Query报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为2,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为8,表示所述Reset Query报文的长度,占4个字节;
所述Cache Response报文由SDN控制器向ASR发送;所述Cache Response报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为3,占1个字节;第三个字段为Session ID(会话号),表示SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为8,表示所述Cache Response报文的长度,占4个字节;
所述End of Data报文由SDN控制器向ASR发送;所述End of Data报文长度为12字节,分5个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为7,占1个字节;第三个字段为Session ID(会话号),表示SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为12,表示所述End ofData报文的长度,占4个字节;第五个字段为Serial Number(序列号),表示ASR当前拥有的ROA数据的最大编号,占4个字节。
6.根据权利要求1所述的一种基于SDN的可信路由源管理方法,其特征在于,当RPKI 资料库出现变化,SDN控制器将变化表同步到所有ASR上的具体步骤为:SDN控制器主动向ASR发送Serial Notify报文通知ASR进行数据同步,ASR收到Serial Notify报文后向SDN控制器发送Serial Query报文,并带有ASR上ROA数据的最大序列号,SDN控制器根据该序列号查询RPKI资源库,将大于该序列号的ROA数据发送给ASR,若SDN控制器无法提供大于ASR查询序列号的ROA数据,则SDN控制器发送Cache Reset报文,ASR接收后发送Reset Query报文,完成变化表同步。
7.根据权利要求6所述的一种基于SDN的可信路由源管理方法,其特征在于,所述Serial Notify报文长度为12字节,分5个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为0,占1个字节;第三个字段为Session ID(会话号),表示当前SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为12,表示所述Serial Query报文的长度,占4个字节;第五个字段为Serial Number(序列号),表示SDN控制器当前拥有的ROA数据的最大编号,占4个字节;
所述Serial Query报文长度为12字节,分5个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为1,占1个字节;第三个字段为Session ID(会话号),表示SDN控制器的编号,占2个字节;第四个字段为Length(长度),规定为12,表示所述Serial Query报文的长度,占4个字节;第五个字段为Serial Number(序列号),表示ASR当前拥有的ROA数据的最大编号,占4个字节;
所述Cache Reset报文由SDN控制器向ASR发送;所述Cache Reset报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为8,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为8,表示所述Cache Reset报文的长度,占4个字节;
所述Reset Query报文长度为8字节,分4个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为2,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为8,表示所述Reset Query报文的长度,占4个字节。
8.根据权利要求1所述的一种基于SDN的可信路由源管理方法,其特征在于,所述源IP地址的类型为IPv4或IPv6。
9.根据权利要求8所述的一种基于SDN的可信路由源管理方法,其特征在于,采用IPv4类型时,以IPv4 Prefix报文由SDN控制器向ASR发送;所述IPv4 Prefix报文长度为20字节,分10个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为4,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为20,表示所述IPv4 Prefix报文的长度,占4个字节;第五个字段为Flags(标记),取值为0或1,0表示要求ASR删除此报文所携带的ROA数据,1表示要求ASR添加此报文所携带的ROA数据,占1个字节;第六个字段为Prefix Length(前缀长度),表示匹配此IPv4地址的最小前缀长度,占1个字节;第七个字段为Max Length(最大长度),表示匹配此IPv4地址的最大前缀长度,占1个字节;第八个字段默认为0,占1个字节;第九个字段为IPv4 Prefix,表示权利要求1所述ROA数据中的IPv4地址前缀,占4字节;第十个字段为Autonomous System Number(自治***号),表示ROA数据中的AS号,占4字节。
10.根据权利要求8或9所述的一种基于SDN的可信路由源管理方法,其特征在于,采用IPv6类型时,以IPv6 Prefix报文由SDN控制器向ASR发送;所述IPv6 Prefix报文长度为32字节,分10个字段;第一个字段为Protocol Version(协议版本),默认为0,占1个字节;第二个字段为PDU Type(报文类型号),规定为6,占1个字节;第三个字段为reserved,默认为0,占2个字节;第四个字段为Length(长度),规定为32,表示所述IPv6 Prefix报文的长度,占4个字节;第五个字段为Flags(标记),取值为0或1,0表示要求ASR删除此报文所携带的ROA数据,1表示要求ASR添加此报文所携带的ROA数据,占1个字节;第六个字段为Prefix Length(前缀长度),表示匹配此IPv6地址的最小前缀长度,占1个字节;第七个字段为Max Length(最大长度),表示匹配此IPv6地址的最大前缀长度,占1个字节;第八个字段默认为0,占1个字节;第九个字段为IPv6 Prefix,表示权利要求1所述ROA数据中的IPv6地址前缀,占16字节;第十个字段为Autonomous System Number(自治***号),表示ROA数据中的AS号,占4字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711181663.8A CN108092897B (zh) | 2017-11-23 | 2017-11-23 | 一种基于sdn的可信路由源管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711181663.8A CN108092897B (zh) | 2017-11-23 | 2017-11-23 | 一种基于sdn的可信路由源管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108092897A CN108092897A (zh) | 2018-05-29 |
CN108092897B true CN108092897B (zh) | 2020-07-21 |
Family
ID=62172976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711181663.8A Active CN108092897B (zh) | 2017-11-23 | 2017-11-23 | 一种基于sdn的可信路由源管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108092897B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389993B (zh) * | 2018-11-02 | 2024-07-16 | 华为技术有限公司 | 一种路由处理的方法和网络设备 |
CN111314285B (zh) * | 2019-12-18 | 2021-04-06 | 北京邮电大学 | 一种路由前缀攻击检测方法及装置 |
CN114124411B (zh) * | 2021-12-07 | 2024-01-09 | 牙木科技股份有限公司 | 信息注册方法、信息认证方法、dns服务器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105960781A (zh) * | 2014-02-11 | 2016-09-21 | 华为技术有限公司 | 利用基于公钥的数字签名保护源路由的方法与*** |
CN107251509A (zh) * | 2014-12-18 | 2017-10-13 | 诺基亚通信公司 | 通信网络***之间的可信路由 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9654482B2 (en) * | 2014-01-22 | 2017-05-16 | Cisco Technology, Inc. | Overcoming circular dependencies when bootstrapping an RPKI site |
-
2017
- 2017-11-23 CN CN201711181663.8A patent/CN108092897B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105960781A (zh) * | 2014-02-11 | 2016-09-21 | 华为技术有限公司 | 利用基于公钥的数字签名保护源路由的方法与*** |
CN107251509A (zh) * | 2014-12-18 | 2017-10-13 | 诺基亚通信公司 | 通信网络***之间的可信路由 |
Non-Patent Citations (2)
Title |
---|
"Enforcing RPKI-based routing policy on the data plane at an internet exchange";Josh Bailey,等;《HotSDN "14 Proceedings of the third workshop on Hot topics in software defined networking》;20140822;全文 * |
"互联网域间源地址验证的可部署性评价模型与方法设计";刘冰洋;《中国博士学位论文全文数据库 信息科技辑 2015年第08期》;20150815;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108092897A (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2410711B1 (en) | Node registration method, communication system and related server | |
CN103795602B (zh) | 虚拟网络的网络策略配置方法及装置 | |
CN111130766B (zh) | 一种基于区块链的资源公钥基础设施双向授权的方法 | |
CN111106940B (zh) | 一种基于区块链的资源公钥基础设施的证书交易验证方法 | |
CN102647394B (zh) | 路由设备身份认证方法及装置 | |
CN103188351B (zh) | IPv6环境下IPSec VPN通信业务处理方法与*** | |
CN107231336A (zh) | 一种局域网内网资源的访问控制方法、装置及网关设备 | |
CN108092897B (zh) | 一种基于sdn的可信路由源管理方法 | |
CN105009509A (zh) | 在信息中心网络中通过信任锚点扩增基于名称/前缀的路由协议 | |
JP2003069609A (ja) | 仮想私設網サービスを提供するシステム | |
EP3709595A1 (en) | Secure route identification method and device | |
CN101355425A (zh) | 组密钥管理中实现新组员注册的方法、装置及*** | |
WO2016082275A1 (zh) | 一种基于逐跳监督的bgp路由验证方法 | |
US7870604B1 (en) | Methods and apparatus to configure network nodes supporting virtual connections | |
CN106888145A (zh) | 一种vpn资源访问方法及装置 | |
CN113726665B (zh) | 基于区块链的边界网关路由的更新方法 | |
CN108833113B (zh) | 一种基于雾计算的增强通讯安全的认证方法及*** | |
CN102546428A (zh) | 基于DHCPv6侦听的IPv6报文交换***及方法 | |
CN105207778A (zh) | 一种在接入网关设备上实现包身份标识及数字签名的方法 | |
CN100508453C (zh) | 一种开放式真实IPv6源地址过滤与验证方法 | |
CN102571811A (zh) | 用户接入权限控制***和方法 | |
JP2016531464A (ja) | 通信ネットワークにおけるセキュアサービス管理 | |
US20160142213A1 (en) | Authentication service and certificate exchange protocol in wireless ad hoc networks | |
US20230179582A1 (en) | Centralized management of private networks | |
CN111817854B (zh) | 一种基于无中心标识映射同步管理的安全认证方法及*** |
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 |