通信方法及装置与流程

文档序号:30080599发布日期:2022-05-18 04:17阅读:148来源:国知局
通信方法及装置与流程

1.本发明涉及网络通信领域,特别涉及一种sr网络中通信方法及装置。


背景技术:

2.由于sid信息通过igp协议的扩展进行泛洪和学习,因此sr域内的路由器节点会学习到sr域内所有节点产生的prefix-sid、node-sid和adjacency-sid。sr域中任何一个设备新接入了未授信的设备,并使能igp for sr,会导致sr网络拓扑和prefix-sid、node-sid和adjacency-sid泄露给未授信的设备;此外,部分网络设备可能被攻击者攻破,或者存在后门,此时攻击者就可以收集到sr域内各节点生成的prefix-sid、node-sid和adjacency-sid。在sr域内网络中,如果sid信息被攻击者恶意使用,可以构造控制面的sid欺骗,导致业务流程异常甚至中断。
3.参照图1,在sr网络域中,各节点按照网络拓扑关系,通过igp for sr实现控制面的协商和业务表项生成,某业务正常流量路径为1-2-3-6;节点7作为sr域的未授信设备,或者节点7被攻击者管理面攻破、或者节点7存在恶意后门程序时,由于节点7和节点3之间存在igp for sr的协议邻居,因此节点7可以获取整个sr网络域的拓扑信息以及各节点和链路的sid信息;节点7了解到节点3邻居节点6的sid为6,故意构造重复的sid信息6,通过igp for sr的协议扩展,攻击节点7将node-sid 6通告给节点3;节点3接收到重复的node-sid 6,路径3-6的metric等于50,而路径3-7的metric等于20,进行择优排序时优选metric低的路径,因此node-sid 6生成的mpls标签表的下一跳为设备7;此后经过设备3的sr mpls数据包,当mpls栈顶标签为对应node-sid 6的标签时,原来预计转发到节点6的流量,将被转发到节点7,流量路径变为1-2-3-7,流量被恶意牵引,导致业务中断或被窃取信息。
4.上述场景描述的攻击节点,通过正常的igp for sr扩展来通告路由前缀和sid信息,协议泛洪和协议选路层面完全符合协议的标准和规范,从单个节点看路由表项和mpls表项等信息也完全正确;但是从整个sr网络域看,业务流量已经被影响,严重影响到了sr网络域内业务的安全。控制面igp for sr协议的认证、加密,能保证两两节点之间协议通道的安全,防止协议信息被窃取,以及防止被攻击者伪造协议报文进行攻击;无法保证通过igp for sr通告的sid信息是否合法和正确可信。


技术实现要素:

5.为了解决上述问题,本发明提供一种能够解决sr域的未授信设备接入、设备管理面被攻破、存在恶意后门程序等情况下的安全问题,保证了sr域内通过igp for sr扩散的信息是安全和可信的,提升分段路由功能的完整性的通信方法及装置。
6.为了实现上述目的,本发明一方面提供一种通信方法,应用于sr网络,包括:
7.网络设备接收sdn控制器下发的sid认证信息库;所述sid认证信息库包括注册的网络设备的sid值、路由前缀、以及设备标识;
8.网络设备提取lsdb中的路由信息和设备标识;
9.根据路由信息在sid认证信息库中查找是否存在对应的路由,当找到对应的认证信息且设备标识是相同时,生成前缀路由表;
10.提取lsdb中sid信息,将路由信息和sid信息的组合,在sid认证信息库中查找是否存在对应的路由和sid值,当找到对应的认证信息且设备标识是相同时,生成mpls标签表。
11.作为优选的一种技术方案,所述sid认证信息库中的信息由网络管理者手工导入。
12.作为优选的一种技术方案,当sr网络运行的是ospf协议时,使用router id作为设备标识;当sr网络运行的是isis协议时,使用system id作为设备标识。
13.作为优选的一种技术方案,所述router id为32比特无符号整数。
14.作为优选的一种技术方案,所述system id为48比特无符号整数。
15.作为优选的一种技术方案,当sid认证信息库的信息发生变更时,sdn控制器更新sid认证信息库,并将更新后的sid认证信息库下发给网络设备。
16.作为优选的一种技术方案,sdn控制器更新sid认证信息库,进一步包括:sdn控制器向网络设备发送rpc请求,同步sid认证信息,网络设备处理完后,给控制器发送回应消息。
17.作为优选的一种技术方案,sdn控制器在netconf协议下使用yang模型对sid认证信息库更新。
18.另一方面,本发明还提供一种通信装置,应用于sr网络,包括:
19.接收单元,用于接收sdn控制器下发的sid认证信息库;所述sid认证信息库包括注册的网络设备的sid值、路由前缀、以及设备标识;
20.提取单元,用于提取lsdb中的路由信息和设备标识;
21.第一确定单元,用于根据路由信息在sid认证信息库中查找是否存在对应的路由,当找到对应的认证信息且设备标识是相同时,生成前缀路由表;
22.第二确定单元,用于提取lsdb中sid信息,将路由信息和sid信息的组合,在sid认证信息库中查找是否存在对应的路由和sid值,当找到对应的认证信息且设备标识是相同时,生成mpls标签表。
23.本发明在不改变sdn网络架构的情况下,通过在控制器侧实现sid认证信息的集中管理和下发,定义了认证信息所包含的字段和内容,并解释了网络设备运行的igp路由协议如何根据认证信息来保证sid信息的合法性,从网络设备的控制面保证了sid信息的安全性,防止控制面sid欺骗而导致的攻击。
附图说明
24.图1是现有技术中的数据流通示意图;
25.图2是本发明一实施例提供的一种通信方法的流程图;
26.图3是本发明一实施例提供的一实际场景下的网络架构图;
27.图4是本发明一实施例提供的一实际场景下的数据流通示意图;
28.图5是本发明一实施例提供的另一实际场景下的网络架构图;
29.图6是本发明一实施例提供的另一实际场景下的数据流通示意图;
30.图7是本发明一实施例提供的一种通信装置的结构图。
具体实施方式
31.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.应当理解的是,分段路由是基于源路由的协议,将网络路径分成多个段,并且为这些段和网络中的转发节点分配段标识sid,由源节点来为应用报文指定路径,通过对段和网络节点进行有序排列,就可以得到一条转发路径。报文转发时,将路径转换成一个有序的段列表封装到报文头中,路径的中间节点只需要根据报文头中的段进行转发。其中控制平面基于igp路由协议扩展实现,无需专门的ldp或rsvp等控制协议,减少协议数量。在igp网络sr域中,路由器通过igp协议给其前缀或链路分配段标识sid,并在igp网络域中通告,sr域中的路由器接收到网络中的所有的前缀或链路的段标识sid后,在路由器上生成基于段的转发表;在sr域的入口节点,通过控制段列表来表示特定的转发路径,从而能够灵活控制报文在网络中进行转发。
33.使用邻接段adjacency-sid代表路由器的转发链路。adjacency-sid只在路由器本地节点具有意义,从本地标签池中分配,不同节点上可重复。一个节点应该为它所有的每个邻接分配一个adjacency-sid,也可以为同一个邻接分配多个adjacency-sid,也可以为多个邻接分配同一个adjacency-sid。
34.使用前缀段prefix-sid代表前缀或节点的段,它是与ip地址相关联的,某个特定前缀的prefix-sid在一个sr域内是全局唯一的,prefix-sid一般由网络管理者或控制器统一分配,分配后一般不再变化。还有一种特殊的前缀段叫做节点段node-sid,通常是节点的环回接口的主机前缀,这个环回接口通常也作为路由器id。在sr mpls场景下,每个节点有各自支持的mpls标签范围,支持sr的设备需预留一段标签段作为全局标签块srgb。路由器节点通过igp扩展来通告srgb以及自己的prefix-sid/node-sid,这里的prefix-sid/node-sid作为index,其他节点根据接收到的信息,可以计算出前缀/节点对应的标签值为srgb+index。
35.anycast-sid是特殊的prefix-sid,用以标识一系列节点设备的集合,集合内所有节点设备发布相同的sid,用以指导到相关节点集合的最短路径报文转发。anycast-sid用于节点的可靠性保护,当集合内的主节点发生故障时,可以通过其他保护路径到达集合内其他节点设备进行转发。
36.路由器使用扩展igp消息将自身的prefix-sid和node-sid以及adjacency-sid进行泛洪,这样任意一个网元都可以获得其他网元的信息。sr网络入口节点按序对prefix-sid和node-sid以及adjacency-sid进行组合,可以构建出网络内的任何路径。在路径中的每一跳,使用栈顶段信息区分下一跳,段信息按照顺序封装在数据包的顶部。
37.为了解决背景技术中所指出的问题,本实施例提供一种通信方法,参照图1,该通信方法应用于sr网络,包括以下步骤:
38.s10:网络设备接收sdn控制器下发的sid认证信息库;所述sid认证信息库包括注册的网络设备的sid值、路由前缀、以及设备标识;
39.应当说明的是,分段路由功能一般结合sdn控制器使用,控制器通过bgp-ls搜集sr
网络域的拓扑信息和sid信息。如果sr域中新接入了使能igp for sr的未授信设备,或者网络设备被攻击者攻破,或者网络设备存在后门,会导致bgp-ls上报的信息不可信,因此控制器上的sid认证信息,如果从bgp-ls信息中提取,则存在不安全性;因此,网络管理者可以控制器通过bgp-ls获取的原始网络的拓扑信息为参考,静态指定手工导入sid认证信息;当网络管理者决定sr网络域网络设备发生变更时,包括网络设备的接入或移除,网络管理者需要知道网络设备关联的prefix-sid/node-sid信息,以及网络设备的标识,网络管理者将这些信息同步到sid认证信息库。
40.如图2所示,在基于sdn架构的分段路由网络架构下,可以和控制器一起部署,管理员需要保证sid认证信息的正确,sr网络域需要新接入网络设备时,需要向用户管理员申请上报sid信息和网络设备信息,用户管理员将这些信息写入sid认证信息库。
41.控制器将sid认证信息库通过netconf协议下发网络设备,内容包括路由前缀和prefix-sid/node-sid值以及产生prefix-sid/node-sid的源头网络设备的标识,网络设备接收到认证信息后保存在本地,作为后续igp协议运行spf计算时的限制和认证条件,防止prefix-sid/node-sid欺骗而导致业务流量的异常。
42.此后当认证信息库的信息发生添加、删除、更新等操作时,控制器同时将认证信息添加、删除、更新到网络设备,保持控制器端的认证信息库内容和网络设备保存的认证信息库的信息同步。
43.另外,同一个路由前缀可能存在多个不同的prefix-sid/node-sid,prefix-sid/node-sid必须与路由前缀ip地址关联组合,因此认证信息关键字为sid加上ip地址。
44.igp对sr的扩展,使用的igp路由协议为ospf和isis。在网络中运行igp协议的每台路由器,都需要有一个唯一的id用于标识自己,网络拓扑中存在两台路由器具有相同的id时,可能会造成网络震荡。路由器如果运行ospf协议,使用一个32比特无符号整数表示的router id,用于这台路由器在ospf域中的唯一标识。路由器如果运行isis协议,使用一个48比特无符号整数表示的system id,用于这台路由器在isis域中的唯一标识。
45.如表1所示,表1为sid认证信息应该包括的内容,为了确保prefix-sid/node-sid信息的源头网络设备的正确合法性,sid认证信息库中需要包括sid值、路由、以及对应源头网络设备的标识,如果sr网络运行的是ospf协议,使用router id作为标识;如果sr网络运行的是isis协议,使用system id作为标识;在一系列节点设备的集合使用anycast-sid的场景,由于集合内所有节点设备发布相同的sid,因此可能需要使用多个router id或system id来表示多个网络设备。
46.表1
[0047][0048]
另外需要说明的是,在sid认证信息同步的过程中,现有架构下使用netconf协议,控制器作为netconf客户端,网络设备作为netconf服务端,通过netconf,sdn控制器对网络设备进行配置管理。netconf客户端和服务端之间使用rpc机制进行通信。控制器和网络设备通过建立netconf会话后进行通信。控制器向网络设备发送一个rpc请求,同步sid认证信息,网络设备处理完后,给控制器发送一个回应消息。
[0049]
yang是专门为netconf协议设计的数据建模语言,用来为ne tconf协议设计可操作的配置数据、状态数据模型、rpc模型和通知机制等,yang模型定义了数据的层次化结构,对netconf客户端和服务器端之间发送的所有数据进行一个完整的描述。yang模型的定义如下所示:
[0050]
[0051][0052]
s20:网络设备提取lsdb中的路由信息和设备标识;
[0053]
具体的,当网络设备接收sid认证信息后保存在本地,用于对sid合法性认证。当igp for sr进行spf计算,正常流程时,首先根据spf计算结果生成路由表,然后根据路由携带的prefix-sid生成mpls标签表。
[0054]
如果使能了sid认证检查,在生成路由表前,首先提取lsdb中的路由信息和设备标识,如果运行的是ospf协议,设备标识为router id,如果运行的是isis协议,设备标识为system id。
[0055]
s30:根据路由信息在sid认证信息库中查找是否存在对应的路由,当找到对应的认证信息且设备标识是相同时,生成前缀路由表。
[0056]
具体的,使用路由信息在认证信息库中精确查找是否存在对应的路由,如果找到对应的认证信息,检查设备标识是否相同,相同的情况下认为匹配成功,并生成前缀路由表;否则流程结束。
[0057]
s40:提取lsdb中sid信息,将路由信息和sid信息的组合,在sid认证信息库中查找是否存在对应的路由和sid值,当找到对应的认证信息且设备标识是相同时,生成mpls标签表。
[0058]
具体的,提取lsdb中的路由信息、sid信息和设备标识,使用路由信息和sid信息的组合,在认证信息库中精确查找是否存在对应的路由和sid值,如果找到对应的认证信息,
检查设备标识是否相同,相同的情况下认为匹配成功,并生成mpls标签表;否则流程结束。
[0059]
下面结合具体场景对本上述实施例提供的通信方法具体介绍。
[0060]
场景1:prefix-sid欺骗
[0061]
参照图3,图3中节点1、2、3、4、5、6在segment routing mpls网络域中,域内运行ospf协议并开启sr。节点1和控制器建立bgp-ls邻居上报网络域内的拓扑信息,网络管理者根据网络的规划要求,导入sid认证信息,向sid认证信息库添加多个sid认证信息条目,其中包括节点6生成的路由6.6.6.6/32,prefix-sid值为6,router id值为6.6.6.6。
[0062]
控制器使用netconf通道,向管控的sr域中每个网络节点下发sid认证信息内容,报文格式按照前述的yang模型定义。
[0063]
网络设备解析netconf收到的sid认证信息后保存在本地,此时节点3上保存了sid认证信息的内容:路由6.6.6.6,prefix-sid值6,router id值6.6.6.6。
[0064]
参照图4,到目的节点6的业务流量路径为1-2-3-6,如果router id为5.5.5.5的节点5被攻击者攻破,攻击者恶意模仿节点6的sid信息,生成路由6.6.6.6/32、sid值为6的lsa进行泛洪。
[0065]
节点3接收lsa后,ospf对路由6.6.6.6/32和sid 6进行spf计算时,由于使能了sid认证检查,来源于节点5的路由6.6.6.6/32和sid 6的router id为5.5.5.5.与认证信息要求的router id 6.6.6.6的要求不符合,因此排除该路径;最后生成路由前缀6.6.6.6和sid 6对应的mpls转发表,选择的路径还是为3-6,业务流量不受影响。
[0066]
场景2:anycast-sid欺骗
[0067]
参照图5,图5中节点1、2、3、4、5、6在segment routing mpls网络域中,域内运行ospf协议并开启sr。为了网络的可靠性,节点3和节点5形成负载分担或lfa保护,节点3和节点5存在相同的路由10.1.1.1/32,并且配置相同的anycast sid 10,网络管理者根据网络的规划要求,导入sid认证信息,向sid认证信息库添加多个sid认证信息条目,其中包括节点3和5生成的路由10.1.1.1/32,prefix-sid值为10,router id值包括包括3.3.3.3和5.5.5.5。
[0068]
控制器使用netconf通道,向管控的sr域中每个网络节点下发sid认证信息内容,报文格式按照前述的yang模型定义。
[0069]
网络设备解析netconf收到的sid认证信息后保存在本地,此时节点4上保存了sid认证信息的内容:路由10.1.1.1/32,prefix-sid值10,router id值3.3.3.3和5.5.5.5。
[0070]
参照图6,到目的10.1.1.1的业务流量路径为1-4-2-3和1-4-5,路径之间可以形成负载分担或l备份保护;如果router id为6.6.6.6的节点6被攻击者攻破,攻击者恶意模仿生成路由10.1.1.1/32、sid值为10的lsa进行泛洪。
[0071]
节点4接收lsa后,ospf对路由10.1.1.1/32和sid 10进行spf计算时,由于使能了sid认证检查,来源于节点6的路由10.1.1.1/32和sid 10的router id为6.6.6.6,与认证信息要求的router id 3.3.3.3或5.5.5.5的要求不符合,因此排除该路径;最后生成路由10.1.1.1/32和sid 10对应的mpls转发表,选择的路径还是为4-2或4-5,业务流量不受影响。
[0072]
由以上实施例和具体场景可以看出,本发明通过把prefix-sid/node-sid与前缀/节点的来源做安全性的限定,通过集中式的认证系统,向路由器下发prefix-sid/node-sid
合法性认证信息;路由器接收认证信息后,在通过spf计算最优路径、生成路由转发表和mpls转发表时,能够校验prefix-sid/node-sid来源的合法性,将不安全的路径排除,防止prefix-sid/node-sid的恶意欺骗导致的攻击。解决了控制面igp for sr功能在信息安全方面的问题,解决了sr域的未授信设备接入、设备管理面被攻破、存在恶意后门程序等情况下的安全问题,保证了sr域内通过igp for sr扩散的信息是安全和可信的,提升分段路由功能的完整性。
[0073]
参照图7,本实施还提供一种通信装置,应用于sr网络,包括:
[0074]
接收单元100,用于接收sdn控制器下发的sid认证信息库;所述sid认证信息库包括注册的网络设备的sid值、路由前缀、以及设备标识;在此需要说明的是,由于具体的接收方式以及过程在上述通信方法的步骤s10中已经详细阐述,故在此不再赘述。
[0075]
提取单元200,用于提取lsdb中的路由信息和设备标识;在此需要说明的是,由于具体的提取方式以及过程在上述通信方法的步骤s20中已经详细阐述,故在此不再赘述。
[0076]
第一确定单元300,用于根据路由信息在sid认证信息库中查找是否存在对应的路由,当找到对应的认证信息且设备标识是相同时,生成前缀路由表;在此需要说明的是,由于具体的确定方式以及过程在上述通信方法的步骤s30中已经详细阐述,故在此不再赘述。
[0077]
第二确定单元400,用于提取lsdb中sid信息,将路由信息和sid信息的组合,在sid认证信息库中查找是否存在对应的路由和sid值,当找到对应的认证信息且设备标识是相同时,生成mpls标签表;在此需要说明的是,由于具体的确定方式以及过程在上述通信方法的步骤40中已经详细阐述,故在此不再赘述。
[0078]
另外,本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种时通信方法的部分或全部步骤。
[0079]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0080]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0081]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
[0082]
以上参照附图描述了根据本发明的实施例的用于通信的示例性流程图。应指出的是,以上描述中包括的大量细节仅是对本发明的示例性说明,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,且各步骤之间的顺序、包含、
功能等关系可以与所描述和图示的不同。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1