CN112583714B - 路由控制方法和装置 - Google Patents

路由控制方法和装置 Download PDF

Info

Publication number
CN112583714B
CN112583714B CN201910945856.9A CN201910945856A CN112583714B CN 112583714 B CN112583714 B CN 112583714B CN 201910945856 A CN201910945856 A CN 201910945856A CN 112583714 B CN112583714 B CN 112583714B
Authority
CN
China
Prior art keywords
routing node
node
bgp
forwarding path
identifier
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
Application number
CN201910945856.9A
Other languages
English (en)
Other versions
CN112583714A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910945856.9A priority Critical patent/CN112583714B/zh
Priority to PCT/CN2020/119148 priority patent/WO2021063379A1/zh
Priority to EP20872161.3A priority patent/EP4030703A4/en
Publication of CN112583714A publication Critical patent/CN112583714A/zh
Priority to US17/707,177 priority patent/US20220224631A1/en
Application granted granted Critical
Publication of CN112583714B publication Critical patent/CN112583714B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种路由控制方法和装置,应用于通信领域,能够根据指定的BGP转发路径所满足的需求确定数据报文的转发路径信息,灵活性更强。该路由控制方法包括:第一边缘路由节点接收边界网关协议BGP控制报文,该BGP控制报文携带第一节点标识和第一算法信息,该第一节点标识指示BGP转发路径上的目的路由节点的SID,该第一算法信息指示该BGP转发路径所满足的需求,该BGP转发路径包括数据报文经由该第一边缘路由节点路由至该目的路由节点所经过的路由节点,该第一边缘路由节点属于第一自治域AS,该目的路由节点属于第二AS;该第一边缘路由节点根据该BGP控制报文中的该第一节点标识和该第一算法信息,确定该数据报文的转发路径信息,该转发路径信息用于指示该数据报文的下一跳路由节点;该第一边缘路由节点根据该转发路径信息,转发该数据报文。

Description

路由控制方法和装置
技术领域
本申请涉及通信领域,并且更具体地,涉及通信领域中的路由控制方法和装置。
背景技术
在标签交换(multi-protocol label switching,MPLS)分段路由(segmentrouting,SR)或第六版SR(SRv6)中,规定了包括边界网关协议(border gateway protocol,BGP)前缀(prefix)分段标识(identifier,SID)的报文可以通过如下两种方式转发:方式一:在数据包的MPLS栈中(或者SRv6的扩展路由报头(segment routing header,SRH)头中)压入BGP prefix SID list,所述BGP prefix SID list包括所述数据包转发过程依次经过的至少一个边缘路由节点的BGP前缀SID(BGP Prefix-SID),所述数据包按照所述BGPprefix SID list中的边缘路由节点的BGP Prefix-SID进行转发;方式二:在数据包的MPLS栈中(或者SRv6的SRH头中)压入目的路由节点的BGP Prefix-SID,数据包以所述目的路由节点的BGP Prefix-SID为目的地进行转发。
然而,现有技术中的上述两种方式中,数据包的BGP转发路径上的下一跳都是通过默认的BGP路由计算方式,例如路径向量路由选择协议,灵活性较差。
发明内容
本申请提供一种路由控制方法和装置,能够根据指定的BGP转发路径所满足的需求,确定数据报文的转发路径信息,灵活性更强。
第一方面,本申请提供一种路由控制方法,该方法包括:
第一边缘路由节点接收边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;
所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
所述第一边缘路由节点根据所述转发路径信息,转发所述数据报文。
也就是说,所述第一边缘路由节点可以根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述第一边缘路由节点接收到数据报文后,在所述数据报文的标签栈中压入的SID,并根据所述压入的SID转发数据报文。
具体地,所述第一边缘路由节点可以根据所述数据报文中压入的SID,查找所述数据报文的下一跳路由节点在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至下一跳路由节点。
采用本申请实施例提供的路由控制方法,能够指定BGP转发路径所满足的需求,并根据该需求确定所述数据报文的转发路径信息,灵活性更强。
可选地,所述第一节点标识可以通过多种方式指示所述目的路由节点的SID,本申请实施例对此不作限定。
在一种可能的实现方式中,所述第一节点标识可以为所述目的路由节点的SID。
在另一种可能的实现方式中,所述第一节点标识还可以为所述目的路由节点的标签索引;相应地,所述第一边缘节点可以根据所述目的路由节点的标签索引和所述目的路由节点的标签空间,确定所述目的路由节点的SID,其中,所述目的路由节点的SID=标签索引+标签空间。
可选地,在所述第一边缘路由节点根据所述目的路由节点的标签索引和所述目的路由节点的标签空间之前,所述BGP转发路径上的每个路由节点可以向所述BGP转发路径上的其它路由节点发布所述每个路由节点的标签空间。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述方法还包括:所述第一边缘路由节点接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,包括:所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
在一种可能的实现方式中,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
也就是说,所述第一边缘路由节点可以根据所述第一节点标识指示的所述目的路由节点的SID和所述BGP控制报文中的下一跳,确定所述第一边缘路由节点在收到标签栈的栈顶为所述目的路由节点的SID的数据报文的时候需要在标签栈的栈顶压入新的与所述第二边缘路由节点相关的SID。
具体地,所述第一边缘路由节点可以根据所述第一算法信息指示的需求和所述第二节点标识指示的所述第二边缘路由节点的第一SID,计算出到所述第二边缘路由节点的满足所述需求的SID list,所述SID list中包括数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,即所述第一边缘路由节点在收到标签栈的栈顶为所述目的节点的SID的数据报文的时候,在所述数据报文的标签栈的栈顶再压入所述SID list。
这时所述转发路径信息包括所述SID list和所述目的路由节点的SID,其中,所述转发路径信息中的SID list包括所述数据报文的下一跳的路由节点的SID,所述第一边缘路由节点可以根据所述SID list中包括的下一跳路由节点的SID,确定所述数据报文在所述第一边缘路由节点上的出接口。
这样一来,数据报文可以根据上述转发路径信息中的SID list包括的SID,从所述第一边缘路由节点路由至所述第二边缘路由节点,并根据上述转发路径信息中的所述目的路由节点的SID,从所述第二边缘路由节点路由至所述目的路由节点。
采用本申请实施例提供的路由控制方法,数据报文可以根据标签栈中先后压入的所述目的路由节点的SID和所述SID list中包括的每一跳路由节点的SID,从所述第一边缘路由节点路由至所述目的路由节点,途径的其它路由节点无需进行路径计算,计算量较小。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述方法还包括:所述第一边缘路由节点接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,包括:所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
在一种可能的实现方式中,所述转发路径信息包括所述第二SID。
也就是说,所述第一边缘路由节点可以根据所述第一节点标识指示的所述目的路由节点的SID和所述BGP控制报文中的下一跳,确定所述第一边缘路由节点在收到标签栈的栈顶为所述目的路由节点的SID的数据报文的时候需要在标签栈的栈顶压入新的与所述第二边缘路由节点相关的SID。
具体地,当所述第一边缘路由节点确定所述第一算法信息指示的需求和所述第二算法信息指示的需求匹配时,所述第一边缘路由节点可以根据所述第二算法信息指示的需求和所述第二标识信息指示的所述第二边缘路由节点的第二SID,确定所述第一边缘路由节点处已有的到所述第二边缘路由节点的满足所述需求的转发表,该转发表中包括数据报文的下一跳路由节点的SID,即所述第一边缘路由节点在收到标签栈的栈顶为所述目的节点的SID的数据报文的时候,在所述数据报文的标签栈的栈顶再压入所述第二SID。
这时所述转发路径信息包括所述第二SID和所述目的路由节点的SID,其中,所述路径转发信息通过所述第二SID和所述转发表,隐性指示所述数据报文的下一跳路由节点的SID,并根据所述下一跳路由节点的SID,确定所述数据报文在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至所述下一跳路由节点。
这样一来,数据报文可以根据上述转发路径信息中的第二SID,沿着所述转发表,从所述第一边缘路由节点转发至所述第二边缘路由节点,并沿着所述目的路由节点的SID指示的下一跳,从所述第二边缘路由节点转发至所述目的路由节点。
采用本申请实施例提供的路由控制方法,在数据报文转发过程中标签栈中只需要携带第二SID和目的路由节点的SID,就能够根据所述第二SID和域内的转发表,从所述第一边缘路由节点路由至所述第二SID指示的所述第二边缘路由节点,并根据所述目的路由节点的SID和域间的转发表,从所述第二边缘路由节点路由至所述目的路由节点的SID指示的所述目的路由节点,数据报文携带的数据量较小(即标签栈的深度较浅)。
可选地,所述BGP报文可以通过多种方式携带所述第一节点标识和所述第一算法信息,本申请实施例对此不作限定。
例如,所述BGP控制报文可以包括第一TLV,所述第一TLV携带所述第一节点标识和所述第一算法信息。
例如,所述BGP报文可以包括第二TLV和第三TLV,所述第二TLV用于携带所述第一节点标识,所述第三TLV用于携带所述第一算法信息。
在一种可能的实现方式中,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识和所述第一算法信息。
可选地,所述第一算法信息可以通过多种方式指示BGP转发路径所满足的需求,本申请实施例对此不作限定。
在一种可能的实现方式中,所述第一算法信息可以包括第一算法标识,所述第一算法标识指示所述BGP转发路径所满足的需求。
在另一种可能的实现方式中,所述第一算法信息可以包括metric类型标识和计算类型标识中的至少一项以及所述第一算法标识,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
在一种可能的实现方式中,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
第二方面,本申请提供一种路由控制装置,该装置包括:
接收单元,用于接收边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;
确定单元,用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
发送单元,用于根据所述转发路径信息,转发所述数据报文。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述接收单元还用于接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;所述确定单元具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
在一种可能的实现方式中,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述接收单元还用于接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;所述确定单元具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
在一种可能的实现方式中,所述转发路径信息包括所述第二SID。
在一种可能的实现方式中,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识和所述第一算法信息。
在一种可能的实现方式中,所述第一算法信息包括第一算法标识,所述第一算法标识用于标识所述BGP转发路径所满足的需求。
在一种可能的实现方式中,所述第一算法信息还包括度量metric类型标识和计算类型标识中的至少一项,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
在一种可能的实现方式中,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
第三方面,本申请还提供一种路由控制装置,所述装置包括处理器和存储器,所述处理器和所述存储器耦合,所述处理器用于使得所述装置执行上述第一方面或所述第一方面的各种可能的实现方式中所述的方法。
第四方面,本申请还提供一种路由器,所述路由器包括上述第三方面所述的路由控制装置。
第五方面,本申请提供一种芯片装置,所述装置包括:输入接口、输出接口、至少一个处理器、存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路互相通信,所述处理器用于执行所述存储器中的代码,其特征在于,当所述处理器执行所述代码时,所述芯片装置实现上述第一方面或所述第一方面的各种可能的实现方式中所述的方法。
第六方面,本申请提供一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述第一方面或所述第一方面的各种可能的实现方式中所述的方法的指令。
第七方面,本申请提供一种计算机程序产品,所述计算机程序产品中包含指令,其特征在于,当所述指令在计算机上运行时,使得计算机实现上述第一方面或所述第一方面的各种可能的实现方式中所述的方法。
附图说明
图1是本申请实施例的应用场景示意图;
图2是本申请实施例提供的路由控制方法100的示意性流程图;
图3是本申请实施例提供的一种类型-长度-值(type-length-value,TLV)的示意图;
图4是本申请实施例提供的另一种TLV的示意图;
图5是本申请实施例提供的又一种TLV的示意图;
图6是本申请实施例提供的又一种TLV的示意图;
图7是本申请实施例提供的路由控制装置200的示意性框图;
图8是本申请实施例提供的路由器300的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
1、自治系统(autonomous system,AS)
AS指一个互连网络,就是把整个互联网划分为许多较小的网络单位,这些小的网络有权自主地决定在本系统中应采用何种路由协议。
如图1所示,图1示出了互联网中的AS1、AS2和AS3。
需要说明的是,图1中仅示意性示出了互联网中的上述三个AS,该互联网中还可以包括其他数量的AS,例如1个、2个或3个以上AS,本申请实施例对此不作限定。
2、路由器(router)
路由器是互联网的主要节点设备,路由器通过路由决定数据的转发。
按照路由器在网络中的部署位置,路由器可以分为核心路由器(core router,CR)和边缘路由器(border router,BR)。其中,本申请实施例中边缘路由器指位于网络边缘的路由器,负责AS域内和域间的路由,相应地,核心路由器指位于网络中心的路由器,负责AS域内的路由。
如图1所示,图1中AS1中包括路由节点1,AS2中包括路由节点4、路由节点7和路由节点10,AS3中包括路由节点11。
在图1中,以AS2为例,AS2中的路由节点4和路由节点10可以理解为边缘路由节点(边界路由节点),路由节点7可以理解为核心路由节点,且路由节点4和路由节点10可以同时支持BGP协议和IGP协议,路由节点7可以支持IGP协议。
需要说明的是,AS1和AS3中还可以包括其他未示出的边缘路由节点和/或核心路由节点。
3、路由协议
路由协议可分为两类:在一个AS内的路由协议称为内部网关协议(interiorgateway protocol,IGP),例如中间系统到中间系统(intermediate system tointermediate system,ISIS)和开放最短路径优先(open shortest path first,OSPF),AS之间的路由协议称为外部网关协议(exterior gateway protocol,EGP),例如,边界网关协议(border gateway protocol,BGP)。
如图1所示,图1中的路由节点1、路由节点4、路由节点10和路由节点11之间可以通过BGP协议传输控制报文,路由节点4、路由7和路由节点10之间可以通过IGP协议传输控制报文。
4、多协议标签交换(multi-protocol label switching,MPLS)协议
MPLS指把标签作为IP协议报文的一部分,存储在IP协议报文中。通常情况下,MPLS操作在OSI的2层(数据链路层)和3层(网络层)之间,因此也常常被认为是2.5层协议。
5、分段路由(segment routing,SR)
SR是一种源路由的技术,可以指定携带了分段标识(identifier,SID)列表(SIDlist)的数据包(packet)经过的节点和路径,从而满足流量调优的需求。
SR技术包括SR-尽力转发(best effort,BE)技术和SR-流量工程(trafficengineering,TE)技术。
可选地,SR-TE是在数据包的MPLS标签栈压入多个SR SID,通过该多个SR SID来指导数据包的转发。
例如,如图1所示,AS2中,路由节点4收到的数据包的包头携带<SID1,SID2>,其中,SID1指示路由节点7,SID2指示路由节点10,数据包从路由节点4处首先转发给SID1对应的路由节点(路由节点7),之后转发给SID2对应的路由节点(路由节点10)。可选地,SR-BE是指在数据包的MPLS标签栈压入一个SR SID,携带在目的路由节点的位置,数据包会按照最短路径的方式转发到该SR SID。
6、BGP前缀(prefix)SID
BGP prefix SID是一种基于SR的SID,针对每个BGP节点都对应一个全局的SID,即一个路由节点的BGP prefix SID能够在整个网络中唯一标识该节点。
7、BGP转发路径
所述BGP转发路径指的是包含了BGP prefix SID的转发路径。一个按照所述BGP转发路径转发的报文在经过的路径节点中包含支持BGP会话的边缘路由节点,也可能包括仅支持AS域内转发的路由器节点。
在基于MPLS的SR技术中,每个路由节点都有自己的SR标签空间,这个标签空间不能分配给普通的MPLS路径,在BGP路由过程中,每个路由节点都分配标签索引,因此,每个路由节点可以根据该标签索引和该标签空间,得到自己的BGP prefix SID。
例如,图1中的路由节点11的标签空间是16000-17000,该路由节点11的标签索引(label index)为11,那么该路由节点11的实际BGP prefix SID就是16000+11=16011。
图2示出了本申请实施例提供的路由控制方法100的示意性的示意图。该方法100可以适用于如图1所示的应用场景,下述实施例中以第一边缘路由节点为路由节点4,第二边缘路由节点为路由节点10,目的路由节点为路由节点11,第一AS为AS2,第二AS为AS3为例进行介绍。
S110,第一边缘路由节点BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一AS,所述目的路由节点属于第二AS。
可选地,所述第一节点标识可以通过多种方式指示所述目的路由节点的SID,本申请实施例对此不作限定。
在一种可能的实现方式中,所述第一节点标识可以为所述目的路由节点的SID。
在另一种可能的实现方式中,所述第一节点标识还可以为所述目的路由节点的标签索引;相应地,所述第一边缘节点可以根据所述目的路由节点的标签索引和所述目的路由节点的标签空间,确定所述目的路由节点的SID,其中,所述目的路由节点的SID=标签索引+标签空间。
可选地,在S110之前,所述BGP转发路径上的每个路由节点可以向所述BGP转发路径上的其它路由节点发布所述每个路由节点的标签空间。
可选地,所述第一算法信息可以通过多种方式指示BGP转发路径所满足的需求,本申请实施例对此不作限定。
需要说明的是,BGP转发路径所满足的需求可以理解为所述BGP转发路径的优化目标和/或约束条件。
在一种可能的实现方式中,所述第一算法信息可以包括第一算法标识,所述第一算法标识指示所述BGP转发路径所满足的需求。
可选地,该第一算法标识的取值可以从128~255,本申请实施例对此不作限定。
例如,第一算法标识取值为“128”时,可以指示优化目标为最小化某种度量(metric)。
在另一种可能的实现方式中,所述第一算法信息可以包括metric类型标识和计算类型标识中的至少一项以及所述第一算法标识,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
例如,metric类型标识为“0”,表示IGP metric;metric类型标识为“1”,表示低时延metric;metric类型标识为“2”,表示TE metric。
例如,计算类型标识为“0”表示最短路径优先算法。
可选地,所述BGP报文可以通过多种方式携带所述第一节点标识和所述第一算法信息,本申请实施例对此不作限定。
在第一种可能的实现方式中,所述BGP控制报文可以包括第一TLV,所述第一TLV携带所述第一节点标识和所述第一算法信息。
需要说明的是,现有的BGP prefix-SID属性中包括一个支持携带节点的标签索引(label-index)的TLV,本申请实施例中所述的第一TLV可以为新定义的、支持携带对应了某个算法标识的BGP prefix-SID的label-index的TLV,也就是说,该第一TLV可以指示所述第一节点标识以及所述第一节点标识对应的所述第一算法信息。
例如,该第一TLV字段中各字段的设置可以如图3所示,该第一TLV包括1个字节的类型(T)字段、2个字节的长度(L)字段和值(V)字段,其中,该V字段可以包括:1个字节的保留字段、2个字节的标志域、2个字节的承载第一字节标识的字段、1个字节的承载第一算法标识的字段、和子TLV字段。
又例如,该第一TLV字段中各字段的设置可以如图4所示,该第一TLV包括1个字节的T字段、2个字节的L字段和V字段,其中,该V字段包括1个字节的保留字段、2个字节的标志域、2个字节的承载第一节点标识的字段、1个字节的承载第一算法标识的字段、1个字节的承载metric类型的字段、1个字节的承载计算类型的字段和子TLV字段。
在第二种可能的实现方式中,所述BGP报文可以包括第二TLV和第三TLV,所述第二TLV用于携带所述第一节点标识,所述第三TLV用于携带所述第一算法信息。
需要说明的是,该第二TLV可以为现有的BGP prefix-SID属性中支持携带节点的标签索引的TLV。
例如,该第三TLV字段中各字段的设置可以如图5所示,其中,该第三TLV包括1字节的T字段、2字节的L字段和V字段,其中,该V字段可以包括1个字节的保留字段、2个字节的标志域、1个字节的承载第一算法标识的字段以及子TLV字段。
又例如,该第三TLV字段中各字段的设置可以如图6所示,其中,该第三TLV包括1个字节的T字段、2个字节的L字段和V字段,其中,该V字段可以包括1个字节的保留字段、1个字节的承载第一算法标识的字段、1个字节的承载metric类型的字段、1个字节的承载计算类型的字段以及子TLV字段。
需要说明的是,本申请实施例中所述的TLV字段中的T字段用于标识所述TLV字段携带的信息,所述L字段用于指示所述值V字段的长度,所述V字段用于携带信息,所述V字段中的保留字段用于扩展所述V字段,所述标志域用于指示所述BGP prefix-SID的应用场景或特性(该字段可以为空)。
还需要说明的是,图3至图6中的子TLV是可选的,本申请实施例对此不作限定,具体内容可以参考IGP的SR灵活算法中的相关定义。
还需要说明的是,图3至图6中仅示意性示出各TLV中的T字段、L字段和V字段,上述各TLV中各字段的起始位置和长度可以根据实际需求进行调整,本申请实施例对此不作限定。
可选地,所述BGP转发路径可以包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述第一边缘路由节点可以接收所述第二边缘路由节点发送的所述BGP控制报文。
S120,所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点。
S130,所述第一边缘路由节点根据所述转发路径信息,转发所述数据报文。
也就是说,所述第一边缘路由节点可以根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述第一边缘路由节点接收到数据报文后,在所述数据报文的标签栈中压入的SID,并根据所述压入的SID转发数据报文。
具体地,所述第一边缘路由节点可以根据所述数据报文中压入的SID,查找所述数据报文在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至所述下一跳路由节点。
采用本申请实施例提供的路由控制方法,能够指定BGP转发路径所满足的需求,并根据该需求确定所述数据报文的转发路径信息,灵活性更强。
可选地,所述第一边缘路由节点可以通过多种方式,根据所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径,本申请实施例对此不作限定。
在第一种可能的实现方式中,所述第一边缘路由节点还可以接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;所述第一边缘路由节点可以根据所述第一节点标识,所述第一算法信息和所述第二节点标识,确定所述转发路径信息。其中,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
需要说明的是,所述BGP控制报文还可以包括网络协议(Internet protocol,IP)地址、下一跳、AS路径等信息。
也就是说,所述第一边缘路由节点可以根据所述第一节点标识指示的所述目的路由节点的SID和所述BGP控制报文中的下一跳,确定所述第一边缘路由节点在收到标签栈的栈顶为所述目的路由节点的SID的数据报文的时候需要在标签栈的栈顶压入新的与所述第二边缘路由节点相关的SID。
具体地,所述第一边缘路由节点可以根据所述第一算法信息指示的需求和所述第二节点标识指示的所述第二边缘路由节点的第一SID,计算出到所述第二边缘路由节点的满足所述需求的SID list,所述SID list中包括数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,即所述第一边缘路由节点在收到标签栈的栈顶为所述目的节点的SID的数据报文的时候,在所述数据报文的标签栈的栈顶再压入所述SID list。
这时所述转发路径信息包括所述SID list和所述目的路由节点的SID,其中,所述转发路径信息中的SID list包括所述数据报文的下一跳的路由节点的SID,所述第一边缘路由节点可以根据所述SID list中包括的下一跳路由节点的SID,确定所述数据报文在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至所述下一跳路由节点。
这样一来,数据报文可以根据上述转发路径信息中的SID list包括的SID,从所述第一边缘路由节点路由至所述第二边缘路由节点,并根据上述转发路径信息中的所述目的路由节点的SID,从所述第二边缘路由节点路由至所述目的路由节点。
采用本申请实施例提供的路由控制方法,数据报文可以根据标签栈中先后压入的所述目的路由节点的SID和所述SID list中包括的每一跳路由节点的SID,从所述第一边缘路由节点路由至所述目的路由节点,途径的其它路由节点无需进行路径计算,计算量较小。
在第二种可能的实现方式中,所述第一边缘路由节点还可以接收第二IGP控制报文,所述IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点;根据所述第一节点标识、所述第一算法信息、所述第三节点标识和所述第二算法信息,确定所述转发路径信息。其中,所述路径信息包括所述第二SID。
也就是说,所述第一边缘路由节点可以根据所述第一节点标识指示的所述目的路由节点的SID和所述BGP控制报文中的下一跳,确定所述第一边缘路由节点在收到标签栈的栈顶为所述目的路由节点的SID的数据报文的时候需要在标签栈的栈顶压入新的与所述第二边缘路由节点相关的SID。
具体地,当所述第一边缘路由节点确定所述第一算法信息指示的需求和所述第二算法信息指示的需求匹配时,所述第一边缘路由节点可以根据所述第二算法信息指示的需求和所述第二标识信息指示的所述第二边缘路由节点的第二SID,确定所述第一边缘路由节点处已有的到所述第二边缘路由节点的满足所述需求的转发表,该转发表中包括数据报文的下一跳路由节点的SID,即所述第一边缘路由节点在收到标签栈的栈顶为所述目的节点的SID的数据报文的时候,在所述数据报文的标签栈的栈顶再压入所述第二SID。
这时所述转发路径信息包括所述第二SID和所述目的路由节点的SID,其中,所述路径转发信息通过所述第二SID和所述转发表,隐性指示所述数据报文的下一跳路由节点的SID,并根据所述下一跳路由节点的SID,确定所述数据报文在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至所述下一跳路由节点。
这样一来,数据报文可以根据上述转发路径信息中的第二SID,沿着所述转发表,从所述第一边缘路由节点转发至所述第二边缘路由节点,并沿着所述目的路由节点的SID指示的下一跳,从所述第二边缘路由节点转发至所述目的路由节点。
采用本申请实施例提供的路由控制方法,在数据报文转发过程中标签栈中只需要携带第二SID和目的路由节点的SID,就能够根据所述第二SID和域内的转发表,从所述第一边缘路由节点路由至所述第二SID指示的所述第二边缘路由节点,并根据所述目的路由节点的SID和域间的转发表,从所述第二边缘路由节点路由至所述目的路由节点的SID指示的所述目的路由节点,数据报文携带的数据量较小(即标签栈的深度较浅)。
此外,本申请提出的路由控制方法还可以很好的兼容现有IGP协议中的灵活算法。
可选地,所述第二算法信息可以通过多种方式指示IGP转发路径所满足的需求,本申请实施例对此不作限定。
需要说明的是,IGP转发路径所满足的需求可以理解为所述IGP转发路径所满足的优化目标和/或约束条件。
在一种可能的实现方式中,所述第二算法信息可以包括所述第二算法标识,所述第二算法的标识指示所述BGP转发路径所满足的需求。
可选地,所述第二算法信息还可以指示所述IGP转发路径所满足的需求中的度量(metric)类型和/或计算类型,本申请实施例对此不作限定。
在另一种可能的实现方式中,所述第二算法信息可以包括第二metric类型标识和第二计算类型标识中的至少一项以及所述第二算法标识,所述第二metric类型标识用于指示所述IGP转发路径所满足的需求中的metric类型,所述第二计算类型标识用于指示所述IGP路径所满足的需求中的计算类型。
需要说明的是,所述第二边缘路由节点的第二SID可以理解为与所述第二算法信息关联的SID,可以与所述第二边缘路由节点的第一SID不同。
还需要说明的是,由于所述第一算法信息指示BGP转发路径所满足的需求,所述第二算法信息指示IGP转发路径所的需求,因此,第一边缘路由节点在收到这个两个算法信息的时候,要先判断这两个算法信息所指示的需求是否匹配。
在一种可能的实现方式中,所述第一边缘路由节点可以根据所述第一算法标识与所述第二算法标识相同,确定所述第一算法标识和所述第二算法标识指示的需求匹配。
在一种可能的实现方式中,所述第一边缘路由节点可以根据所述第一算法信息包括的metric类型和/或计算类型与所述第二算法信息包括的metric类型和/或计算类型相同,确定所述第一算法标识和所述第二算法标识指示的需求匹配。
下面将以一个具体的实施例详细描述本申请提供的路由控制方法。该实施例以SR-MPLS为例。应理解,相同的技术方案可以应用到SRv6中。
如图1所示,AS1、AS2和AS3为互联网中的3个AS,其中,AS1中包括路由节点1、AS2中包括路由节点4、路由节点7和路由节点10,AS3中包括路由节点11。其中,所述路由节点1、路由节点4、路由节点10和路由节点11均为边缘路由节点。
需要说明的是,在下述流程之前每个路由节点已将自己的标签空间发布给其他节点,下述流程是以每个路由节点的标签空间相同且为16000为例进行介绍的,但本申请实施例不限于此。
例如,路由节点11将自己的标签空间为16000发布给路由节点10。
首先,路由节点11可以通过如下流程将BGP控制报文通告给路由节点1。
1、路由节点11可以发送如下的BGP控制报文(具体格式请参考IETF RFC8277规定的BGP的更新报文的格式)给路由节点10:
(1)IP前缀或IP地址:192.0.2.11/32
(2)标签:Implicit-Null(隐式空标签)
(3)下一跳:路由节点11连接到路由节点10的链路的接口地址
(4)AS路径:{3}
(5)BGPprefix SID Index:标签索引12
(6)算法信息:128
如果是在SRv6中,前述“(2)标签”和“(5)BGP前缀SID标签”可以由SRv6的SID来替代,例如具体是SRv6中的长度为128bit的SID。
2、路由节点10可以发送如下的BGP控制报文(具体格式请参考IETF RFC8277规定的BGP的更新报文的格式)给路由节点4:
(1)IP前缀或IP地址:192.0.2.11/32
(2)标签:16012(路由节点11的节点标识,也即路由节点11的SID)
(3)下一跳:路由节点11连接到路由节点10的链路的接口地址或者路由器10的loopback地址
(4)AS路径:{3,2}
(5)BGP prefix SID Index:标签索引12
(6)算法信息:128
3、路由节点4可以发送如下的BGP控制报文(具体格式请参考IETF RFC8277规定的BGP的更新报文的格式)给路由节点1:
(1)IP前缀或IP地址:192.0.2.11/32
(2)标签:16012
(3)下一跳:路由节点4连接到路由节点1的链路的接口地址
(4)AS路径:{3,2}
(5)BGP prefix SID Index:标签索引12
(6)算法信息:128
也就是说,通过上述1~3的流程,路由节点1如果有目的IP地址为192.0.2.11的数据报文需要发送给路由节点11,直接在数据报文的标签栈顶压入所述路由节点11的SID(即16012),就可以按照BGP转发路径:路由节点1—路由节点4—路由节点10—路由节点11把流量发过去。
例如,如果路由节点4收到的BGP控制报文的下一跳是路由节点10的loopback地址,那么当路由节点4收到目的IP地址为192.0.2.11的数据报文,且该数据报文的标签栈顶的标签为16012(简称16012为入标签),动作为压入新的标签/标签栈,该新的标签/标签栈跟路由节点10相关。
又例如,如果路由节点4收到的BGP控制报文的下一跳是路由节点11连接到路由节点10的链路的接口地址,那么路由节点4会匹配到达路由节点11连接到路由节点10的链路的接口地址的路由表项是路由节点10能提供的,因此BGP路由会迭代到路由节点10的标签/标签栈上,类似地,在路由节点4上,对于收到的数据报文中的16012的入标签,动作为压入新的标签/或标签栈,该新的标签/标签栈跟路由节点10相关。
可选地,在转发数据报文之前,所述路由节点10还可以按照现有技术向路由节点4发布IGP控制报文;相应地,路由节点4如果有数据报文需要发送给路由节点10,可以按照IGP转发路径:路由节点4—路由节点7—路由节点10把流量发过去。
具体的,可以按照以下流程将数据报文由路由节点1路由至路由节点11,该数据报文的目的IP地址是192.0.2.11/32。
1、在路由节点1处:在数据报文上打上标签16012,查标签转发表,获得到达下一跳路由节点4的出接口,将携带16012标签的数据报文从该出接口发出;
2、在路由节点4处:收到的数据报文的栈顶标签为入标签16012,标签动作为压入标签(push),具体可以是压入一个标签/标签栈,BGP路由的下一跳为路由节点10(具体在AS2内转发的下一跳路由节点由压入的标签栈决定,可能是其他节点);
在第一种可能的实现方式中,上述IGP控制报文中携带的该路由节点10的第二SID(即16110)以及IGP算法标识(即128)。那么,当路由节点4判断IGP算法标识和BGP算法标识相同时,压入标签16110(此时栈顶为16110),并且根据16110转发。因为路由节点4中已经有了满足到16110且算法标识为128的IGP转发表,其中,该IGP转发表中包括16007,该16007指示了该数据报文的下一跳为路由节点7,因此路由节点4发给路由节点10的数据报文的路径满足算法标识128的需求。
相应地,在路由节点7处:收到的数据报文的栈顶标签为入标签16110,根据入标签16110查到到下一跳路由节点10的出接口。路由节点7知道自己是在IGP中到路由节点10的倒数第二跳,路由节点7将16110弹出,此时的标签栈的栈顶为16012;在路由节点10处:收到的数据报文的栈顶标签为入标签16012。
在第二种可能的实现方式中,上述IGP控制报文中携带的该路由节点10的第一SID(即16010),但未携带算法标识。那么,在路由节点4处,所述路由节点4可以自己根据算法标识128的需求计算到达16010的路径,或者请求控制器按照BGP算法标识(即128)指示的需求计算到16010的SID列表<16007,16010>,其中,16007为路由节点7的SID,然后在数据包中压入标签16007和16010,并且根据16007转发,具体执行pop操作,弹出16007。
相应地,在路由节点7处,收到的数据报文的栈顶标签为入标签16010,执行弹出操作,弹出后新的栈顶标签是16012,根据16012,查到到下一跳路由节点10的出接口。
3、在路由节点10处:收到的数据报文的栈顶标签为入标签入标签16012,执行pop操作,将16012弹出,查到到下一跳路由节点11的出接口,将数据报文从该出接口发出;
4、在路由节点11处:收到的没有标签的IP数据报文。
上面结合图1至图6介绍了本申请实施例提供的路由控制方法,下面将结合图7和图8介绍本申请实施例提供的路由控制装置。
图7示出了本申请实施例提供的路由控制装置200的示意性框图。该装置200包括:
接收单元210,用于接收边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;
确定单元220,用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
发送单元230,用于根据所述转发路径信息,转发所述数据报文。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述接收单元还用于接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;所述确定单元220具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
在一种可能的实现方式中,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述接收单元还用于接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;所述确定单元220具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
在一种可能的实现方式中,所述转发路径信息包括所述第二SID。
在一种可能的实现方式中,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识和所述第一算法信息。
在一种可能的实现方式中,所述第一算法信息包括第一算法标识,所述第一算法标识用于标识计算所述BGP转发路径时满足的需求。
在一种可能的实现方式中,所述第一算法信息还包括度量metric类型标识和计算类型标识中的至少一项,所述metric类型标识用于指示计算所述BGP转发路径时满足的需求中的metric类型,所述计算类型标识用于指示计算所述BGP路径时满足的需求中的计算类型。
在一种可能的实现方式中,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
应理解,这里的装置200以功能单元的形式体现。这里的术语“单元”可以指ASIC、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置200可以具体为上述方法100实施例中的第一边缘节点,装置200可以用于执行上述方法100实施例中与第一边缘路由节点对应的各个流程和/或步骤,为避免重复,在此不再赘述。
图8示出了本申请实施例提供的路由器300,该路由器300可以包括图7中所述的装置200,或者该路由器300可以是图7中所述的装置200。该装置200可以采用如图8所示的硬件架构。该路由器300可以包括处理器310、收发器320和存储器330,该处理器310、收发器320和存储器330通过内部连接通路互相通信。图7中的确定单元220所实现的相关功能可以由处理器310来实现,接收单元210和发送单元230所实现的相关功能可以由处理器310控制收发器320来实现。
该处理器310可以包括是一个或多个处理器,例如包括一个或多个中央处理单元(central processing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该收发器320用于发送和接收数据和/或信息,以及接收数据和/或信息。该收发器可以包括发射器和接收器,发射器用于发送数据和/或信号,接收器用于接收数据和/或信号。
该存储器330包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程存储器(erasable programmable readonly memory,EPROM)、只读光盘(compact disc read-only memory,CD-ROM),该存储器330用于存储相关指令及数据。
存储器330用于存储装置的程序代码和数据,可以为单独的器件或集成在处理器310中。
具体地,所述处理器310用于控制收发器与网络中的其它路由节点进行信号传输。具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图8仅仅示出了装置的简化设计。在实际应用中,装置还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存储器等,而所有可以实现本申请的装置都在本申请的保护范围之内。
在一种可能的设计中,路由器300可以被替换为芯片装置,例如可以为可用于装置中的通信芯片,用于实现装置中处理器的相关功能。该芯片装置可以为实现相关功能的现场可编程门阵列,专用集成芯片,系统芯片,中央处理器,网络处理器,数字信号处理电路,微控制器,还可以采用可编程控制器或其他集成芯片。该芯片中,可选的可以包括一个或多个存储器,用于存储程序代码,当所述代码被执行时,使得处理器实现相应的功能。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计需求。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (20)

1.一种路由控制方法,其特征在于,包括:
第一边缘路由节点接收第二边缘路由节点发送的边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的分段标识SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点、所述第二边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;所述BGP转发路径包括所述第二边缘路由节点;
所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
所述第一边缘路由节点根据所述转发路径信息,转发所述数据报文;
其中,所述第一算法信息包括第一算法标识,所述第一算法标识用于标识所述BGP转发路径所满足的需求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一边缘路由节点接收第一内部网关协议IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;
所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,包括:
所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
3.根据权利要求2所述的方法,其特征在于,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一边缘路由节点接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;
所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,包括:
所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
5.根据权利要求4所述的方法,其特征在于,所述转发路径信息包括所述第二SID。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识和所述第一算法信息。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述第一算法信息还包括度量metric类型标识和计算类型标识中的至少一项,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
8.根据权利要求7所述的方法,其特征在于,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
9.一种路由控制装置,其特征在于,包括:
接收单元,用于接收第二边缘路由节点发送的边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的分段标识SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由第一边缘路由节点路由至所述目的路由节点所经过的路由节点,第一边缘路由节点、所述第二边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;所述BGP转发路径包括所述第二边缘路由节点;
确定单元,用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
发送单元,用于根据所述转发路径信息,转发所述数据报文;
其中,所述第一算法信息包括第一算法标识,所述第一算法标识用于标识所述BGP转发路径所满足的需求。
10.根据权利要求9所述的装置,其特征在于,
所述接收单元还用于接收第一内部网关协议IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;
所述确定单元具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
11.根据权利要求10所述的装置,其特征在于,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
12.根据权利要求9所述的装置,其特征在于,
所述接收单元还用于接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;
所述确定单元具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
13.根据权利要求12所述的装置,其特征在于,所述转发路径信息包括所述第二SID。
14.根据权利要求9至13中任一项所述的装置,其特征在于,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识和所述第一算法信息。
15.根据权利要求9至13任一项所述的装置,其特征在于,所述第一算法信息还包括度量metric类型标识和计算类型标识中的至少一项,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
16.根据权利要求15所述的装置,其特征在于,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
17.一种路由控制装置,其特征在于,包括处理器和存储器,所述处理器和所述存储器耦合,所述处理器用于使得所述装置执行权利要求1至8中任一项所述的方法。
18.一种路由器,其特征在于,所述路由器包括权利要求17中所述的路由控制装置。
19.一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路互相通信,所述处理器用于执行所述存储器中的代码,其特征在于,当所述处理器执行所述代码时,所述芯片装置实现上述权利要求1至8中任一项所述的方法。
20.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要求1至8中任一项所述的方法的指令。
CN201910945856.9A 2019-09-30 2019-09-30 路由控制方法和装置 Active CN112583714B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910945856.9A CN112583714B (zh) 2019-09-30 2019-09-30 路由控制方法和装置
PCT/CN2020/119148 WO2021063379A1 (zh) 2019-09-30 2020-09-30 路由控制方法和装置
EP20872161.3A EP4030703A4 (en) 2019-09-30 2020-09-30 ROUTING CONTROL METHOD AND APPARATUS
US17/707,177 US20220224631A1 (en) 2019-09-30 2022-03-29 Routing Control Method and Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910945856.9A CN112583714B (zh) 2019-09-30 2019-09-30 路由控制方法和装置

Publications (2)

Publication Number Publication Date
CN112583714A CN112583714A (zh) 2021-03-30
CN112583714B true CN112583714B (zh) 2022-10-18

Family

ID=75117009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910945856.9A Active CN112583714B (zh) 2019-09-30 2019-09-30 路由控制方法和装置

Country Status (4)

Country Link
US (1) US20220224631A1 (zh)
EP (1) EP4030703A4 (zh)
CN (1) CN112583714B (zh)
WO (1) WO2021063379A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709031B (zh) * 2021-08-30 2022-10-21 烽火通信科技股份有限公司 一种约束路由传输分发的方法和装置
CN115801654A (zh) * 2021-09-08 2023-03-14 中兴通讯股份有限公司 路由通告方法、路径建立方法、业务数据的传输方法
CN115996157A (zh) * 2021-10-15 2023-04-21 中兴通讯股份有限公司 路由报文处理方法、装置、存储介质及电子装置
CN116471220A (zh) * 2022-01-11 2023-07-21 华为技术有限公司 一种信息上报方法、信息处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008211550A (ja) * 2007-02-27 2008-09-11 Nippon Telegr & Teleph Corp <Ntt> Mplsネットワークにおけるデータ転送方法、エッジルータ、as境界ルータおよびプログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1545072A1 (en) * 2003-12-19 2005-06-22 Alcatel Border router for a communication network
US8072901B1 (en) * 2005-05-09 2011-12-06 Cisco Technology, Inc. Technique for efficient probing to verify policy conformance
US8531941B2 (en) * 2007-07-13 2013-09-10 Cisco Technology, Inc. Intra-domain and inter-domain bridging over MPLS using MAC distribution via border gateway protocol
US20140226531A1 (en) * 2013-02-14 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Multicast support for EVPN-SPBM based on the mLDP signaling protocol
US9537718B2 (en) * 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
US9537769B2 (en) * 2013-03-15 2017-01-03 Cisco Technology, Inc. Opportunistic compression of routing segment identifier stacks
US9912577B2 (en) * 2014-04-17 2018-03-06 Cisco Technology, Inc. Segment routing—egress peer engineering (SP-EPE)
CN105634940B (zh) * 2014-10-27 2020-06-16 中兴通讯股份有限公司 Sr信息获取方法及建立段路由网络的方法
EP3668025B1 (en) * 2015-07-06 2023-09-06 Huawei Technologies Co., Ltd. Routing control method, device, and system
US9860150B2 (en) * 2015-10-01 2018-01-02 Juniper Networks, Inc. Fast convergence of EVPN networks for multi homing topologies
US10237163B2 (en) * 2015-12-30 2019-03-19 Juniper Networks, Inc. Static route advertisement
CN107370675B (zh) * 2016-05-13 2021-02-23 华为技术有限公司 路由散播的方法和节点
US10263881B2 (en) * 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
US10454821B2 (en) * 2016-10-14 2019-10-22 Cisco Technology, Inc. Creating and maintaining segment routed traffic engineering policies via border gateway protocol
US10382592B2 (en) * 2017-07-12 2019-08-13 Juniper Networks, Inc. Segment routing label switched path for non-segment routing enabled routers
US10693679B2 (en) * 2018-06-25 2020-06-23 Juniper Networks, Inc. Using multiple ethernet virtual private network (EVPN) routes for corresponding service interfaces of a subscriber interface
US10992567B2 (en) * 2018-11-21 2021-04-27 Ciena Corporation Traffic engineering attribute for avoiding packet paths with signal degrade
CN111224874B (zh) * 2018-11-27 2022-06-14 中兴通讯股份有限公司 一种路径构建的方法及相关设备
US10826826B1 (en) * 2019-05-08 2020-11-03 Cisco Technology, Inc. Supporting overlay networks for multiple autonomous systems and underlays
US11140074B2 (en) * 2019-09-24 2021-10-05 Cisco Technology, Inc. Communicating packets across multi-domain networks using compact forwarding instructions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008211550A (ja) * 2007-02-27 2008-09-11 Nippon Telegr & Teleph Corp <Ntt> Mplsネットワークにおけるデータ転送方法、エッジルータ、as境界ルータおよびプログラム

Also Published As

Publication number Publication date
EP4030703A4 (en) 2023-10-11
CN112583714A (zh) 2021-03-30
WO2021063379A1 (zh) 2021-04-08
US20220224631A1 (en) 2022-07-14
EP4030703A1 (en) 2022-07-20

Similar Documents

Publication Publication Date Title
US11784889B2 (en) Segment routing over label distribution protocol
CN112583714B (zh) 路由控制方法和装置
US9559954B2 (en) Indexed segment ID
US9319312B2 (en) Segment routing mapping server for LDP/SR interoperability
EP2974176B1 (en) Segment routing: pce driven dynamic setup of forwarding adjacencies and explicit path
CN113489646B (zh) 基于vxlan的分段路由传输方法、服务器、源节点及存储介质
US20060182105A1 (en) Apparatus and method for transmitting multi protocol label switching (MPLS) multicast packets over Ethernet
EP3163812B1 (en) Method and apparatus for cross-layer path establishment
CN111865786A (zh) 传播链路标记的方法及装置
CN117201379A (zh) 业务传输方法、设备和存储介质
CN117501673A (zh) 一种用于bier-te路径的bgp

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