CN108092897A - 一种基于sdn的可信路由源管理方法 - Google Patents

一种基于sdn的可信路由源管理方法 Download PDF

Info

Publication number
CN108092897A
CN108092897A CN201711181663.8A CN201711181663A CN108092897A CN 108092897 A CN108092897 A CN 108092897A CN 201711181663 A CN201711181663 A CN 201711181663A CN 108092897 A CN108092897 A CN 108092897A
Authority
CN
China
Prior art keywords
accounts
asr
field
length
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.)
Granted
Application number
CN201711181663.8A
Other languages
English (en)
Other versions
CN108092897B (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201711181663.8A priority Critical patent/CN108092897B/zh
Publication of CN108092897A publication Critical patent/CN108092897A/zh
Application granted granted Critical
Publication of CN108092897B publication Critical patent/CN108092897B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/748Address table lookup; Address filtering using longest matching prefix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication 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的可信路由源管理方法
技术邻域
本发明涉及网络技术领域,尤其涉及一种基于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数据进行编号;
通过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类型时,以IPv4Prefix报文由SDN控制器向ASR发送;所述IPv4Prefix报文长度为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个字节;第九个字段为IPv4Prefix,表示权利要求1所述ROA数据中的IPv4地址前缀,占4字节;第十个字段为Autonomous System Number(自治系统号),表示ROA数据中的AS号,占4字节。
10.根据权利要求8或9所述的一种基于SDN的可信路由源管理方法,其特征在于,采用IPv6类型时,以IPv6Prefix报文由SDN控制器向ASR发送;所述IPv6Prefix报文长度为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个字节;第九个字段为IPv6Prefix,表示权利要求1所述ROA数据中的IPv6地址前缀,占16字节;第十个字段为Autonomous System Number(自治系统号),表示ROA数据中的AS号,占4字节。
CN201711181663.8A 2017-11-23 2017-11-23 一种基于sdn的可信路由源管理方法 Active CN108092897B (zh)

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 true CN108092897A (zh) 2018-05-29
CN108092897B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020088684A1 (zh) * 2018-11-02 2020-05-07 华为技术有限公司 一种路由处理的方法和网络设备
CN111314285A (zh) * 2019-12-18 2020-06-19 北京邮电大学 一种路由前缀攻击检测方法及装置
CN114124411A (zh) * 2021-12-07 2022-03-01 牙木科技股份有限公司 信息注册方法、信息认证方法、dns服务器及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207818A1 (en) * 2014-01-22 2015-07-23 Cisco Technology, Inc. Overcoming circular dependencies when bootstrapping an rpki site
CN105960781A (zh) * 2014-02-11 2016-09-21 华为技术有限公司 利用基于公钥的数字签名保护源路由的方法与系统
CN107251509A (zh) * 2014-12-18 2017-10-13 诺基亚通信公司 通信网络系统之间的可信路由

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207818A1 (en) * 2014-01-22 2015-07-23 Cisco Technology, Inc. Overcoming circular dependencies when bootstrapping an rpki site
CN105960781A (zh) * 2014-02-11 2016-09-21 华为技术有限公司 利用基于公钥的数字签名保护源路由的方法与系统
CN107251509A (zh) * 2014-12-18 2017-10-13 诺基亚通信公司 通信网络系统之间的可信路由

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JOSH BAILEY,等: ""Enforcing RPKI-based routing policy on the data plane at an internet exchange"", 《HOTSDN "14 PROCEEDINGS OF THE THIRD WORKSHOP ON HOT TOPICS IN SOFTWARE DEFINED NETWORKING》 *
R. BUSH,等: "《RFC8210》", 30 September 2017 *
刘冰洋: ""互联网域间源地址验证的可部署性评价模型与方法设计"", 《中国博士学位论文全文数据库 信息科技辑 2015年第08期》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020088684A1 (zh) * 2018-11-02 2020-05-07 华为技术有限公司 一种路由处理的方法和网络设备
US11863447B2 (en) 2018-11-02 2024-01-02 Huawei Technologies Co., Ltd. Route processing method and network device
CN111314285A (zh) * 2019-12-18 2020-06-19 北京邮电大学 一种路由前缀攻击检测方法及装置
CN114124411A (zh) * 2021-12-07 2022-03-01 牙木科技股份有限公司 信息注册方法、信息认证方法、dns服务器及可读存储介质
CN114124411B (zh) * 2021-12-07 2024-01-09 牙木科技股份有限公司 信息注册方法、信息认证方法、dns服务器及存储介质

Also Published As

Publication number Publication date
CN108092897B (zh) 2020-07-21

Similar Documents

Publication Publication Date Title
Lu et al. DRRS-BC: Decentralized routing registration system based on blockchain
CN109802993B (zh) 一种基于供应链生态的联盟链搭建方法
CN106506274B (zh) 一种可动态扩展的高效单包溯源方法
CN102334111B (zh) 为受管计算机网络提供逻辑联网功能
CN106453636A (zh) 可信区块生成方法及系统
CN108092897A (zh) 一种基于sdn的可信路由源管理方法
WO2020135190A1 (zh) 一种安全路由识别方法及装置
CN110012119B (zh) 一种ip地址前缀授权与管理方法
CN107079003A (zh) 在多租户环境中提供用于安全网络通信的集成防火墙的系统和方法
CN104040964B (zh) 跨服务区通信的方法、装置和数据中心网络
CN106878253A (zh) Mac(l2)层认证、安全性和策略控制
CN111917625B (zh) Vxlan业务到sr域的差分实现方法、装置及各节点
CN101355425A (zh) 组密钥管理中实现新组员注册的方法、装置及系统
CN103716213A (zh) 在固定接入网中和在用户设备中运行的方法
CN103095667B (zh) 授权信息传递方法、中继设备及服务器
CN103607432A (zh) 一种网络创建的方法和系统及网络控制中心
CN108156067B (zh) 一种实现基于以太网虚拟专用网络的方法和系统
CN113726665B (zh) 基于区块链的边界网关路由的更新方法
CN103051643B (zh) 云计算环境下虚拟主机安全连接动态建立方法与系统
CN105487517A (zh) 一种家居wifi网络系统的自动组网方法
JP2016531464A (ja) 通信ネットワークにおけるセキュアサービス管理
CN1697408A (zh) 一种基于IPv6的虚拟专用网管理路由的方法
CN106059882A (zh) 一种路由插入的方法及装置
CN109040334A (zh) 静态的内网映射方法、外网服务器、内网通信设备及系统
CN106027387A (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