CN114025025A - SRv6 SID的发布方法及网络设备 - Google Patents

SRv6 SID的发布方法及网络设备 Download PDF

Info

Publication number
CN114025025A
CN114025025A CN202010691240.6A CN202010691240A CN114025025A CN 114025025 A CN114025025 A CN 114025025A CN 202010691240 A CN202010691240 A CN 202010691240A CN 114025025 A CN114025025 A CN 114025025A
Authority
CN
China
Prior art keywords
sid
tlv
srv6sid
compressed
message
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
CN202010691240.6A
Other languages
English (en)
Other versions
CN114025025B (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.)
Beijing Huawei Digital Technologies Co Ltd
Original Assignee
Beijing Huawei Digital 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 Beijing Huawei Digital Technologies Co Ltd filed Critical Beijing Huawei Digital Technologies Co Ltd
Priority to CN202010691240.6A priority Critical patent/CN114025025B/zh
Publication of CN114025025A publication Critical patent/CN114025025A/zh
Application granted granted Critical
Publication of CN114025025B publication Critical patent/CN114025025B/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供了一种SRv6 SID的发布方法及网络设备,属于通信技术领域。本申请改进了发布SRv6SID的报文格式,在报文中携带至少一个压缩SID,每个压缩SID不包含对应SRv6SID中的定位信息,每个压缩SID的长度小于SRv6SID的长度,能够大大减少报文的字节,节省了报文的传输开销,便于通过SRv6扩展协议将SRv6SID发布到网络中。尤其是,在发布多个SRv6SID的场景下,由于减少了每个SRv6SID在报文中占用的比特数量,使得报文能够携带更多的SRv6SID,从而满足分配大量SRv6SID的业务场景的需求。

Description

SRv6 SID的发布方法及网络设备
技术领域
本申请涉及通信技术领域,特别涉及一种SRv6 SID的发布方法及网络设备。
背景技术
互联网协议第6版段路由(segment routing internet protocol version 6,SRv6)是基于源路由理念而设计的在网络上转发报文的一种协议。SRv6将一些互联网协议第6版(internet protocol version 6,IPv6)地址定义为实例化的SRv6段标识(segmentID,SID)。每个SRv6SID有自己对应的功能。通过不同SRv6 SID的组合,能够实现简化的虚拟私有网络(virtual private network segment identifier,VPN)以及灵活的路径规划。
网络设备本地生成SID后,网络设备需要将本地的SID通过报文发布出去,以便网络中其他节点根据接收到的SID进行路径规划、拓扑无关无环备份快速重路由(Topology-Independent Loop-free Alternate Fast ReRoute,TI-LFA FRR)计算等操作。
然而,目前网络设备在发布SRv6 SID时,每个SRv6 SID都要在报文中占用128个比特,使得发布SRv6 SID所使用的报文过大,因此导致报文的传输开销过大。尤其是,在发布多个SRv6 SID的场景下,由于报文的总长度有限,会出现一个报文装不下所有需要发布的SID的情况,导致部分SID无法通过报文发布出去,进而引发SID相关的业务不可用等一系列问题。
发明内容
本申请实施例提供了一种SRv6 SID的发布方法及网络设备,能够节省SRv6 SID在报文中占用的比特数量。所述技术方案如下:
第一方面,提供了一种SRv6 SID的发布方法,以该方法由网络设备执行为例,当网络设备需要将至少一个SRv6 SID发布到网络时,网络设备会根据至少一个SRv6 SID生成报文,并发送所述报文。在这种发布SRv6 SID的报文中,不仅包括要发布的至少一个SRv6 SID共有的定位信息,还包括所述至少一个SRv6 SID对应的至少一个压缩SID。每个压缩SID为对应SRv6 SID中所述定位信息之外的部分。
这种方法改进了发布SRv6 SID的报文格式,在报文中携带至少一个压缩SID。由于每个压缩SID本身不包含对应SRv6 SID中的定位信息,所以每个压缩SID的长度小于SRv6SID的长度,因此实现了SID格式的压缩,通过这种报文格式发布SRv6 SID时,能够大大减少报文的字节,从而节省了报文的传输开销,便于通过SRv6扩展协议将SRv6 SID发布到网络中。尤其是,在发布多个SRv6 SID的场景下,由于减少了每个SRv6 SID在报文中占用的比特数量,使得报文能够携带更多的SRv6 SID,从而满足分配大量SRv6 SID的业务场景的需求,因而增加业务支持场景。由此可见,该方法有效优化了SRv6 SID的发布,
可选地,所述至少一个压缩SID包括第一压缩SID,所述报文包括第一类型长度值TLV,所述第一TLV包括所述第一压缩SID以及所述定位信息中的节点标识,所述节点标识用于标识所述网络设备。通过在第一压缩SID所在的TLV中新增节点标识字段,使用节点标识字段携带定位信息中的节点标识,由于第一压缩SID和节点标识携带在同一个TLV中,因此接收端在从报文中获得第一压缩SID时,能够从第一压缩SID所在的TLV中获得压缩SID对应的节点标识,进而根据节点标识找到对应的定位信息,从而实现了第一压缩SID和定位信息的关联,保证接收端根据第一压缩SID能够确定对应的SRv6 SID。
可选地,所述至少一个SRv6 SID包括第一端点三层交叉连接段标识End.X SID,所述第一TLV为End.X SID TLV,所述第一压缩SID为所述第一End.X SID中所述定位信息之外的部分。通过这种方式,节省了End.X SID在报文中占用的比特数量,从而有助于减少报文的大小。
可选地,所述报文为开放式最短路径优先第3版链路状态通告OSPFv3 LSA报文或边界网关协议链路状态链路网络层可达信息BGP-LS Link NLRI报文。
可选地,所述至少一个SRv6 SID包括第一端点段标识End.SID,所述第一TLV为End.SID TLV,所述第一压缩SID为所述第一End.SID中所述定位信息之外的部分。
可选地,所述报文为BGP-LS Link NLRI报文。
可选地,所述至少一个压缩SID包括第二压缩SID,所述报文包括定位TLV,所述定位TLV包括所述定位信息以及第二TLV,所述第二TLV包括所述第二压缩SID,所述第二TLV为所述定位TLV的子TLV。
通过这种可选方式,将携带SID的TLV作为定位TLV的子TLV,使得压缩SID能够继承定位TLV中的定位信息,从而实现SRv6 SID的压缩。
可选地,所述第二TLV为End SID TLV,所述至少一个SRv6 SID包括第二End SID,所述第二压缩SID为所述第二End SID中所述定位信息之外的部分。
可选地,所述报文为OSPFv3 LSA报文。
可选地,所述至少一个SRv6 SID包括第一SRv6 SID以及第二SRv6 SID,所述第一SRv6SID与第二SRv6 SID每个部分的长度均相同,所述报文包括定位TLV,所述定位TLV包括所述定位信息以及第三TLV,所述第三TLV为所述定位TLV的子TLV,所述第三TLV包括所述每个部分的长度。第一SRv6 SID与第二SRv6 SID共用了同一个LN长度字段来宣告各自N值的长度,第一SRv6 SID与第二SRv6 SID共用了同一个LB长度字段来宣告各自B值的长度,第一SRv6 SID与第二SRv6 SID共用了同一个功能长度字段来宣告各自功能信息的长度,第一SRv6 SID与第二SRv6 SID共用了同一个参数长度字段来宣告各自参数信息的长度,从而有效实现了SRv6 SID信息的压缩。
可选地,所述第三TLV为SRv6 SID结构子TLV。
可选地,所述第一SRv6 SID为End.SID,所述报文包括End SID TLV,所述End SIDTLV包括所述第一SRv6 SID对应的压缩SID且不包括所述SRv6 SID结构子TLV。通过这种方式,压缩了End SID TLV,减少了End SID TLV在报文中占用的比特数量。
可选地,所述第二SRv6 SID为End.X SID,所述报文包括End.X SID TLV,所述End.X SID TLV包括所述第二SRv6 SID对应的压缩SID且不包括所述SRv6 SID结构子TLV。通过这种方式,压缩了End.X SID TLV,减少了End.X SID TLV在报文中占用的比特数量。
第二方面,提供了一种网络设备,该网络设备具有实现上述第一方面或第一方面任一种可选方式中的功能。该网络设备包括至少一个单元,至少一个单元用于实现上述第一方面或第一方面任一种可选方式所提供的SRv6 SID的发布方法。
在一些实施例中,网络设备中的单元通过软件实现,网络设备中的单元是程序模块。在另一些实施例中,网络设备中的单元通过硬件或固件实现。第二方面提供的网络设备的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第三方面,提供了一种网络设备,该网络设备包括处理器和通信接口,该处理器用于执行指令,使得该网络设备执行上述第一方面或第一方面任一种可选方式所提供的SRv6SID的发布方法,所述通信接口用于接收或发送报文。第三方面提供的网络设备的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第四方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使网络设备执行上述第一方面或第一方面任一种可选方式所提供的SRv6SID的发布方法。
第五方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。网络设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该网络设备执行上述第一方面或第一方面任一种可选方式所提供的SRv6 SID的发布方法。
第六方面,提供了一种芯片,当该芯片在网络设备上运行时,使得网络设备执行上述第一方面或第一方面任一种可选方式所提供的SRv6 SID的发布方法。
附图说明
图1是本申请实施例提供的一种系统架构100的示意图;
图2是本申请实施例提供的一种SRv6 SID的发布方法200的流程图;
图3是本申请实施例提供的一种报文格式的示意图;
图4是本申请实施例提供的一种报文格式的示意图;
图5是本申请实施例提供的一种报文格式的示意图;
图6是本申请实施例提供的一种报文格式的示意图;
图7是本申请实施例提供的一种报文格式的示意图;
图8是本申请实施例提供的一种压缩SRv6 SID的效果示意图;
图9是本申请实施例提供的一种网络设备的结构示意图;
图10是本申请实施例提供的一种网络设备的结构示意图;
图11是本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
开放式最短路径优先(Open Shortest Path First,OSPF)是国际互联网工程任务组(Internet Engineering Task Force,IETF)组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol,IGP)。目前针对互联网协议第4版(internet protocolversion 4,IPv4)协议使用的是OSPF Version 2(简称为OSPFv2),针对互联网协议第6版(internet protocol version 6,IPv6)使用OSPF Version 3(简称为OSPFv3)。OSPFv3是运行于IPv6的OSPF路由协议。OSPFv3在OSPFv2基础上进行了增强,是一个独立的路由协议。
互联网协议第6版段路由(segment routing internet protocol version 6,SRv6)段标识(segment ID,SID)至少包括定位信息(locator)和功能信息(function),可选地还包括参数信息(Argument,arg)。SRv6 SID例如表示为locator:function:arg。SRv6SID例如包括128个比特。SRv6 SID例如是16进制的数据形式。
定位信息为地址前缀,定位信息用于路由到发布SRv6 SID的节点。节点配置定位信息后,节点会生成一条定位信息对应的网段路由,并且,节点会通过IGP或边界网关协议(border gateway protocol,BGP),在SR域内扩散网段路由。由于本节点分配的SRv6 SID定位信息相同,SR域中的其他节点都能够通过定位信息路由找到本节点。在一些实施例中,定位信息包括子网块标识(Locator Block,也称LB或B值)和节点标识(node identity,nodeID,也称节点ID或N值或LN)。其中,B值用于标识运营商为SRv6 SID分配的IPv6子网。N值用于标识生成SID的节点。N值也称实例化SID父节点的标识符。SID的父节点是指生成SID的节点,B值占定位信息的高比特位,N值占定位信息的低比特位,定位信息也表示为B:N。定位信息采用B:N的表示形式时,SRv6 SID例如表示为B:N:function:arg。
功能信息用于指示SRv6 SID的生成节点进行相应的功能操作。
参数信息包括一些报文的流和服务等信息。
SRv6 SID包括而不限于端点段标识(Endpoint SID,End SID)或端点三层交叉连接段标识(Endpoint with Layer-3cross-connect,End.X SID)。End SID用于标识网络中某个目的地址的前缀。End.X SID用于标识网络中某条链路。
参见附图1,本申请实施例提供了一种系统架构100。系统架构100包括多个网络设备,该多个网络设备中的每个网络设备包括而不限于路由器或交换机,例如,网络设备是接入网络设备。例如,网络设备是接入路由器(access router,AR)或综合接入交换机(LSW)。例如,网络设备分别是AR1、AR2、AR3、AR4以及LSW1。该多个网络设备中的每个网络设备例如是交换机或路由器。
在一些实施例中,系统架构100中的多个网络设备处于同一个SR域中,每个网络设备使能了SRv6。其中,每个网络设备例如使用IGP协议或BGP协议进行拓扑信息、前缀信息、Locator和SID信息的通告。每个网络设备生成SRv6 SID后,会通过IGP协议将本节点生成的SRv6 SID通告给其他节点,便于进行拓扑无关无环备份快速重路由(Topology-Independent Loop-free Alternate Fast ReRoute,TI-LFA FRR)等运算。例如参见附图1,AR4上配置了定位信息(locator)并生成了相应的SRv6 SID,AR4通过OSPFv3链路状态通告(link-state advertisement,LSA)报文发布生成的SID。AR1、AR2、AR3以及LSW1根据AR4发布的OSPFv3 LSA报文,获得AR4生成的SRv6 SID。应用下述方法实施例时,OSPFv3 LSA报文携带的SID是压缩SID。
参见附图2,附图2是本申请实施例提供的一种SRv6 SID的发布方法200的流程图。
示意性地,方法200由如附图1所示系统架构100中的AR4执行,方法200中压缩SID的发布端为AR4,方法200中压缩SID的接收端为AR1、AR2、AR3以及LSW1。
示例性地,方法200包括S210至S230。
S210、网络设备获得待发布的至少一个SRv6 SID。
至少一个SRv6 SID是指一个SRv6 SID或多个SRv6 SID。SRv6 SID例如是网络设备本地的SID。SRv6 SID例如保存在网络设备的本地SID表中。SRv6 SID中的功能信息用于指示网络设备执行对应的功能操作。网络设备如何获得SRv6 SID包括多种实现方式,在一些实施例中,网络设备接收配置指令,从配置指令获得SRv6 SID。配置指令例如由网管人员的配置操作触发,又如由控制器下发给网络设备。在另一些实施例中,网络设备从定位信息的范围内,分配至少一个IPv6地址,将该至少一个IPv6地址作为至少一个SRv6 SID。
该至少一个SRv6 SID中每个SRv6 SID中的定位信息相同。例如,该至少一个SRv6SID是从同一个定位信息中分配的。其中,SRv6 SID中的定位信息本质是一个IPv6网段,网络设备的IP地址位于定位信息对应的网段范围内,因此定位信息能够实现定位至网络设备的功能。
在一些实施例中,该至少一个SRv6 SID中每个SRv6 SID的结构相同。具体地,该至少一个SRv6 SID中每个SRv6 SID每个部分的长度相同。例如,不同SRv6 SID中定位信息的长度相同,不同SRv6 SID中功能信息的长度相同,不同SRv6 SID中参数信息的长度相同。在一些实施例中,该至少一个SRv6 SID均是End SID。在另一些实施例中,该至少一个SRv6SID均是End.X SID。在另一些实施例中,该至少一个SRv6 SID中部分SRv6 SID是End SID,部分SRv6 SID是End.X SID。
S220、网络设备根据至少一个SRv6 SID生成报文。
报文用于发布至少一个SRv6 SID中的每个SRv6 SID。报文包括而不限于IGP报文或者BGP报文中的至少一项。在报文是IGP报文的情况下,报文例如是中间系统到中间系统(Intermediate system to intermediate system,IS-IS)报文或者OSPFv3报文。在报文是BGP报文的情况下,报文例如是边界网关协议链路状态链路网络层可达信息(bordergateway protocol-link state-network layer reachability information,BGP-LSLink NLRI)报文。
报文包括至少一个压缩SID。至少一个压缩SID和至少一个SRv6 SID对应。例如,每一个压缩SID对应于一个SRv6 SID。
压缩SID是SRv6 SID中的部分比特。压缩SID的长度小于SRv6 SID的长度。压缩SID不包括定位信息。换句话说,每个压缩SID为对应SRv6 SID中定位信息之外的部分。压缩SID相对于SRv6 SID而言,减少的比特是定位信息。例如,一个SRv6 SID包括128个比特,128个比特中包括N个比特的定位信息,则采用压缩SID的格式,压缩SID的长度为(128-N)个比特。例如,压缩SID的长度的取值范围是(8,64)个比特。例如,压缩SID的长度是32个比特,压缩SID减少的96个比特是定位信息。例如,参见附图3、附图4、附图5以及附图6,附图3、附图4、附图5以及附图6这四个附图中每一行代表32个比特,这四个附图中32个比特的SID均是对压缩SID的举例说明。其中,N为正整数。
压缩SID至少包括功能信息,可选地还包括参数信息。具体地,在SRv6 SID包括定位信息和功能信息这两部分的情况下,压缩SID为SRv6 SID中的功能信息。在SRv6 SID包括定位信息、功能信息和参数信息这三部分的情况下,压缩SID为SRv6 SID中的功能信息和SRv6 SID中的参数信息。在压缩SID包括功能信息和参数信息的情况下,功能信息占压缩SID的高比特位,参数信息占压缩SID的低比特位。例如,SRv6 SID的形式是B:N:function:arg,则压缩SID的形式是function:arg。
携带压缩SID的类型长度值(type length value,TLV)包括而不限于End.X SIDTLV或者End.SID TLV中的任一项。例如,报文中包括至少一个End.X SID TLV,每个End.XSID TLV包括至少一个压缩SID。例如,同一个End.X SID TLV包括多个压缩SID,该多个压缩SID对应的SRv6 SID均是End.X SID,该多个压缩SID具有相同的功能信息。又如,报文中包括至少一个End SID TLV,每个End SID TLV包括至少一个压缩SID。例如,同一个End SIDTLV包括多个压缩SID,该多个压缩SID对应的SRv6 SID均是End SID,该多个压缩SID具有相同的功能信息。
报文包括至少一个SRv6 SID共有的定位信息。每个压缩SID与报文中定位信息组合后能得到SRv6 SID。因此,对于至少一个压缩SID中的每个压缩SID而言,接收端从报文中找到定位信息和该压缩SID后,能够将定位信息和该压缩SID拼接为完整的SRv6 SID。
在一些实施例中,在携带SID的TLV中增加节点标识(N值),使得压缩SID能够通过节点标识关联对应的定位信息,从而实现SRv6 SID的压缩。其中,节点标识用于标识发布SRv6 SID的网络设备(即本实施例的执行主体)。节点标识例如是定位信息中的N值。例如,定位信息的形式是B:N,节点标识为B:N中的N。
在一些实施例中,报文携带的至少一个压缩SID中的每个压缩SID均采用节点标识关联对应定位信息的方式实现压缩。在另一些实施例中,报文携带的部分压缩SID采用节点标识关联对应定位信息的方式实现压缩,另一部分压缩SID采用其他方式实现压缩。下面,以至少一个压缩SID中的第一压缩SID为例,对如何采用节点标识关联对应定位信息的方式实现压缩举例说明。第一压缩SID是指至少一个压缩SID中的一个压缩SID。
具体地,第一压缩SID和节点标识携带在同一个TLV中。例如,报文包括第一TLV,第一TLV包括第一压缩SID以及定位信息中的节点标识。其中,第一TLV是报文中的一个TLV。第一TLV用于发布第一压缩SID。第一TLV包括SID字段以及节点标识字段,SID字段包括第一压缩SID,
节点标识字段包括节点标识。例如,参见附图3、附图4以及附图5,附图3、附图4以及附图5均是对第一TLV的举例说明。附图3、附图4以及附图5中的node ID字段是对节点标识字段的举例说明。从附图3、附图4以及附图5可见,32个比特的SID(压缩SID)和node ID(节点标识)携带在同一个TLV中。
通过在第一压缩SID所在的TLV中新增节点标识字段,使用节点标识字段携带定位信息中的节点标识,由于第一压缩SID和节点标识携带在同一个TLV中,因此接收端在从报文中获得第一压缩SID时,能够从第一压缩SID所在的TLV中获得压缩SID对应的节点标识,进而根据节点标识找到对应的定位信息,从而实现了第一压缩SID和定位信息的关联,保证接收端根据第一压缩SID能够确定对应的SRv6 SID。
本实施例不限定利用节点标识关联对应定位信息的方式应用在哪种类型的SRv6SID上。换句话说,第一TLV包括而不限于End.X SID TLV或者End.SID TLV中的任一项。以下通过情况一和情况二,结合具体类型的SRv6 SID对实现压缩的方式举例说明。
情况一、对End.X SID采用节点标识关联对应定位信息的方式实现压缩。
在情况一下,End.X SID对应的压缩SID和节点标识携带在同一个End.X SID TLV中。具体地,报文包括End.X SID TLV,End.X SID TLV包括第一压缩SID以及定位信息中的节点标识。其中,End.X SID TLV包括SID字段以及节点标识字段,SID字段包括第一压缩SID,节点标识字段包括定位信息中的节点标识。其中,第一压缩SID对应的SRv6 SID是第一End.X SID。第一End.X SID是网络设备需要发布的至少一个SRv6 SID中的一个End.X SID。第一压缩SID为第一End.X SID中定位信息之外的部分。
在一些实施例中,情况一对应的报文为OSPFv3 LSA报文。具体地,OSPFv3 LSA报文包括至少一个End.X SID TLV,每个End.X SID TLV包括一个压缩SID以及一个节点标识。其中,End.X SID TLV中的压缩SID与End.X SID对应,End.X SID TLV中节点标识是End.X SID中定位信息中的节点标识。例如,请参见附图3,附图3是对OSPFv3 LSA报文中End.X SIDTLV的举例说明。从附图3可见,本实施例提供的OSPFv3 LSA报文中,End.X SID TLV中携带的SID不再是128个比特,而是32个比特;并且,End.X SID TLV中新增了携带N值的节点标识字段。通过这种方式,节省了End.X SID在OSPFv3 LSA报文中占用的比特数量,从而有助于减少OSPFv3 LSA报文的大小。
在一些实施例中,情况一对应的报文为BGP-LS Link NLRI报文。具体地,BGP-LSLink NLRI报文包括至少一个End.X SID TLV,每个End.X SID TLV包括一个压缩SID以及一个节点标识。其中,End.X SID TLV中的压缩SID与End.X SID对应,End.X SID TLV中节点标识是End.X SID中定位信息中的节点标识。例如,请参见附图4,附图4是对BGP-LS LinkNLRI报文中End.X SID TLV的举例说明。从附图4可见,本实施例提供的BGP-LS Link NLRI报文中,End.X SID TLV中携带的SID不再是128个比特,而是32个比特;并且,End.X SIDTLV中新增了携带N值的节点标识字段。通过这种方式,节省了End.X SID在BGP-LS LinkNLRI报文中占用的比特数量,从而有助于减少BGP-LS Link NLRI报文的大小。
情况二、对End.SID采用节点标识关联对应定位信息的方式实现压缩。
在情况二下,End.SID对应的压缩SID和节点标识携带在同一个End.SID TLV中。具体地,报文包括End.SID TLV,End.SID TLV包括第一压缩SID以及定位信息中的节点标识。其中,End.SID TLV包括SID字段以及节点标识字段,SID字段包括第一压缩SID,节点标识字段包括定位信息中的节点标识。其中,第一压缩SID对应的SRv6 SID是第一End.SID。第一End.SID是网络设备需要发布的至少一个SRv6 SID中的一个End.SID。第一压缩SID为第一End.SID中定位信息之外的部分。
在一些实施例中,情况二对应的报文为BGP-LS Link NLRI报文。其中,用于发布End.SID的BGP-LS Link NLRI报文例如称为SRv6 SID NLRI。具体地,BGP-LS Link NLRI报文包括至少一个End.SID TLV,每个End.SID TLV包括一个压缩SID以及一个节点标识。其中,End.SID TLV中的压缩SID与End.SID对应,End.SID TLV中节点标识是End.SID中定位信息中的节点标识。例如,请参见附图5,附图5是对BGP-LS Link NLRI报文中End.SID TLV的举例说明。从附图5可见,本实施例提供的BGP-LS Link NLRI报文中,End.SID TLV中携带的SID不再是128个比特,而是32个比特;并且,End.SID TLV中新增了携带N值的节点标识字段。通过这种方式,节省了End.SID在BGP-LS Link NLRI报文中占用的比特数量,从而有助于减少BGP-LS Link NLRI报文的大小。
在一些实施例中,将携带SID的TLV作为定位TLV的子TLV,使得压缩SID能够继承定位TLV中的定位信息,从而实现SRv6 SID的压缩。其中,定位TLV是指用于发布SRv6定位信息的TLV。定位TLV例如是SRv6 Locator TLV。
在一些实施例中,报文携带的至少一个压缩SID中的每个压缩SID均采用继承定位TLV中的定位信息的方式实现压缩。在另一些实施例中,报文携带的部分压缩SID采用继承定位TLV中的定位信息的方式实现压缩,另一部分压缩SID采用其他方式实现压缩。下面,以至少一个压缩SID中的第二压缩SID为例,对如何采用继承定位TLV中的定位信息的方式实现压缩举例说明。第二压缩SID是指至少一个压缩SID中的一个压缩SID。
具体地,携带第二压缩SID的TLV是定位TLV的子TLV。例如,报文包括定位TLV,定位TLV包括定位信息以及第二TLV,第二TLV包括第二压缩SID。其中,第二TLV是报文中的一个TLV。第二TLV用于发布第二压缩SID,第二TLV为定位TLV的子TLV。
本实施例不限定继承定位TLV中的定位信息的方式应用在哪种类型的SRv6 SID上。在一些实施例中,对End.SID采用继承定位TLV中的定位信息的方式实现压缩。第二TLV为End.SID TLV。
例如,报文包括定位TLV,定位TLV包括定位信息以及End SID TLV,End SID TLV包括第二压缩SID,End SID TLV为定位TLV的子TLV。第二压缩SID为第二End SID中定位信息之外的部分。第二End SID是指至少一个SRv6 SID中的一个End SID。
在一些实施例中,继承定位TLV中的定位信息的方式应用在OSPFv3 LSA报文中。例如,请参见附图6和附图7,附图6是对OSPFv3 LSA报文中End.SID TLV的举例说明。附图7是对OSPFv3 LSA报文中定位TLV的举例说明。附图6所示的End.SID TLV是附图7所示的定位TLV的子TLV。一个附图7所示的定位TLV包括至少一个附图6所示的End.SID TLV。通过这种方式,利用携带SID的TLV是定位TLV的子TLV的报文格式来压缩End SID,从而节省End.SID在OSPFv3 LSA报文中占用的比特数量,从而有助于减少OSPFv3 LSA报文的大小。
在一些实施例中,将用于通告SID结构的TLV作为定位TLV的TLV,使得定位TLV关联的多个SID共用同一个通告SID结构的TLV。具体地,报文包括定位TLV,定位TLV包括定位信息以及第三TLV。其中,第三TLV用于通告SRv6 SID的结构,第三TLV包括SRv6SID每个部分的长度。第三TLV包括LB长度字段、LN长度字段、功能长度字段、参数长度字段中的至少一项。LB长度字段包括定位信息中B值的长度,LN长度字段包括定位信息中N值的长度,功能长度字段包括定位信息中功能信息的长度,参数长度字段包括定位信息中参数信息的长度。
本实施例中,第三TLV为定位TLV的子TLV。定位TLV包括第三TLV。在一些实施例中,第三TLV为SRv6 SID结构子TLV(SRv6 SID Structure Sub-TLV)。例如,参见附图7,附图7是对OSPFv3 LSA报文中定位TLV以及SRv6 SID结构子TLV的举例说明。附图7所示的定位TLV的子TLV包括SRv6 SID结构子TLV。从附图7可见,SRv6 SID结构子TLV的位置得到了改进,SRv6SID结构子TLV成为定位TLV的子TLV。
在一些实施例中,第三TLV与定位TLV之间的数量关系是一对一的关系,第三TLV与压缩SID是一对多的关系。例如,一个定位TLV包括一个第三TLV,一个定位TLV发布的定位信息关联多个压缩SID,第三TLV用于通告该多个压缩SID对应的多个SRv6 SID中每个SRv6SID的结构。
例如,在定位TLV包括多个End.SID TLV的情况下,多个End.SID共用同一个第三TLV。具体地,第三TLV中LB长度字段的值为定位TLV中定位信息中B值的长度。第三TLV中LB长度字段的值为定位TLV中每个End.SID TLV中压缩SID对应的SRv6 SID中B值的长度。第三TLV中LN长度字段的值为定位TLV中定位信息中N值的长度。第三TLV中LN长度字段的值为定位TLV中每个End.SID TLV中压缩SID对应的SRv6 SID中N值的长度。第三TLV中功能长度字段的值为定位TLV中每个End.SID TLV中压缩SID中功能信息的长度。第三TLV中参数长度字段的值为定位TLV中每个End.SID TLV中压缩SID中参数信息的长度。
例如,在定位TLV与多个End.X SID TLV通过节点标识关联的情况下,多个End.XSID共用同一个第三TLV。具体地,第三TLV中LB长度字段的值为定位TLV中定位信息中B值的长度。第三TLV中LB长度字段的值为节点标识与定位TLV关联的每个End.X SID TLV中压缩SID对应的SRv6 SID中B值的长度。第三TLV中LN长度字段的值为定位TLV中定位信息中N值的长度。第三TLV中LN长度字段的值为节点标识与定位TLV关联的每个End.X SID TLV中压缩SID对应的SRv6 SID中N值的长度。第三TLV中功能长度字段的值为节点标识与定位TLV关联的每个End.X SID TLV中压缩SID中功能信息的长度。第三TLV中参数长度字段的值为节点标识与定位TLV关联的每个End.X SID TLV中压缩SID中参数信息的长度。
例如,在定位TLV与至少一个End.SID TLV和至少一个End.X SID TLV均通过节点标识关联的情况下,至少一个End.SID以及至少一个End.X SID共用同一个第三TLV。
下面,以要发布第一SRv6 SID以及第二SRv6 SID为例,对这种方式举例说明。第一SRv6SID与第二SRv6 SID每个部分的长度均相同。
第一SRv6 SID以及第二SRv6 SID是需要发布的两个SRv6 SID。例如,第一SRv6SID以及第二SRv6 SID是两个End.SID;又如,第一SRv6 SID以及第二SRv6 SID是两个End.XSID;又如,第一SRv6 SID以及第二SRv6 SID中一个是End.SID,另一个是End.X SID。
第一SRv6 SID中定位信息的长度与第二SRv6 SID中定位信息的长度相同。第三TLV中LN长度字段的值既是第一SRv6 SID中N值的长度,也是第二SRv6 SID中N值的长度。第三TLV中LB长度字段的值既是第一SRv6 SID中B值的长度,也是第二SRv6 SID中B值的长度。因此,第一SRv6 SID与第二SRv6 SID共用了同一个LN长度字段来宣告各自N值的长度,第一SRv6 SID与第二SRv6 SID共用了同一个LB长度字段来宣告各自B值的长度,从而实现了SRv6 SID信息的压缩。
第一SRv6 SID中功能信息的长度与第二SRv6 SID中功能信息的长度相同。第三TLV中功能长度字段的值既是第一SRv6 SID中功能信息的长度,也是第二SRv6 SID中功能信息的长度。因此,第一SRv6 SID与第二SRv6 SID共用了同一个功能长度字段来宣告各自功能信息的长度,从而实现了SRv6 SID信息的压缩。
在第一SRv6 SID或第二SRv6 SID包括参数信息的情况下,第一SRv6 SID中参数信息的长度与第二SRv6 SID中参数信息的长度相同。第三TLV中参数长度字段的值既是第一SRv6 SID中参数信息的长度,也是第二SRv6 SID中参数信息的长度。因此,第一SRv6 SID与第二SRv6 SID共用了同一个参数长度字段来宣告各自参数信息的长度,从而实现了SRv6SID信息的压缩。
在一些实施例中,SRv6 SID结构子TLV不是End SID TLV的子TLV。例如,报文包括End SID TLV,End SID TLV包括第一SRv6 SID对应的压缩SID且不包括SRv6 SID结构子TLV。其中,第一SRv6 SID为End.SID。例如,请参见附图6,附图6是对OSPFv3 LSA报文中不包括SRv6 SID结构子TLV的End SID TLV的举例说明。从附图6可见,本实施例提供的OSPFv3LSA报文中,End SID TLV不再携带SRv6 SID结构子TLV。通过这种方式,压缩了End SIDTLV,减少了End SID TLV在报文中占用的比特数量。
在一些实施例中,SRv6 SID结构子TLV不是End.X SID TLV的子TLV。例如,报文包括End.X SID TLV,End.X SID TLV包括第二SRv6 SID对应的压缩SID且不包括SRv6 SID结构子TLV。其中,第二SRv6 SID为End.SID。例如,请参见附图3,附图3是对OSPFv3 LSA报文中不包括SRv6 SID结构子TLV的End.X SID TLV的举例说明。从附图3可见,本实施例提供的OSPFv3 LSA报文中,End.X SID TLV不再携带SRv6 SID结构子TLV。通过这种方式,压缩了End.X SID TLV,减少了End.X SID TLV在报文中占用的比特数量。
例如,参见附图8,附图8是对发布End.SID的情况下采用本实施例压缩的效果示意图。在压缩前,一个End SID TLV具有32个比特,End SID TLV包括SRv6 SID结构子TLV。在压缩后,一个End SID TLV具有12个比特。通过对比可见,当SID的个数很多时,采用本实施例能充分减少报文大小。此外,End.X SID压缩后的效果与此类似。
S230、网络设备发送报文。
接收端收到报文时,能够从报文中获得定位信息以及至少一个压缩SID。接收端将定位信息与一个压缩SID组合,得到网络设备发布的一个SRv6 SID。接收端对定位信息分别与至少一个压缩SID组合,得到至少一个SRv6 SID。
例如,网络设备要发布的SRv6 SID是aa:bb::cc:dd:ee:ff。其中,定位信息是aa:bb::cc:dd,B值是aabb::,N值为cc:dd;功能信息和参数信息的组合是ee:ff。定位TLV包括定位信息aa:bb::cc:dd以及SRv6 SID结构子TLV。其中,SRv6 SID结构子TLV中LB长度字段包括96。LN长度字段包括16。
在aa:bb::cc:dd:ee:ff是End SID的情况下,定位TLV包括End SID TLV,End SIDTLV携带的SID为ee:ff。由于压缩SID(ee:ff)所在的End SID TLV是定位TLV的子TLV,所以压缩SID(ee:ff)能够继承到定位TLV中的定位信息(aa:bb::cc:dd),因此接收端能够将压缩SID(ee:ff)和定位信息(aa:bb::cc:dd)拼接为完整的128个比特的End SID(aa:bb::cc:dd:ee:ff。
在aa:bb::cc:dd:ee:ff是End.X SID的情况下,报文不仅包括定位TLV还包括End.X SID TLV。End.X SID TLV携带的SID为ee:ff。End.X SID TLV中节点标识(node ID)字段包括cc:dd。同一IGP域内的定位信息的B值是相同的,所以接收端根据N值(cc:dd)能找到对应的定位信息,即找到aa:bb::cc:dd,接收端将cc:dd与aa:bb::cc:dd拼接成完整的128个比特的End.X SID(aa:bb::cc:dd:ee:ff)。
本实施例提供了一种优化SRv6 SID发布的方法,通过改进了发布SRv6 SID的报文格式,在报文中携带至少一个压缩SID,由于每个压缩SID不包含对应SRv6 SID中的定位信息,每个压缩SID的长度小于SRv6 SID的长度,因此通过这种报文格式发布SRv6 SID时,能够大大减少报文的字节,从而节省了报文的传输开销,便于通过SRv6扩展协议将SRv6 SID发布到网络中。尤其是,在发布多个SRv6 SID的场景下,由于减少了每个SRv6 SID在报文中占用的比特数量,使得报文能够携带更多的SRv6 SID,从而满足分配大量SRv6 SID的业务场景的需求,因而增加业务支持场景。
下面对上述实施例涉及的一些TLV中其他字段的含义进行解释说明。
(1)附图3所示的End.X SID TLV
在附图3所示的OSPFv3 LSA报文的End.X SID TLV中,类型(Type)字段占2个字节。长度(Length)字段占2个字节。长度(Length)字段的值为End.X SID TLV中值部分(valueportion)的长度。端点行为(Endpoint Behaviour)字段占用16个比特。端点行为字段的值表示End.X SID的端点行为。标志(Flags)字段占8个比特。算法(Algorithm)字段占8个比特。算法字段用于指示定位信息关联的算法。权重(Weight)字段占8个比特。权重字段的值表示End.X SID的权重。End.X SID的权重用于进行负载均衡。至少一个子TLV(Sub-TLVs)用于发布End.X SID额外的属性。保留(Reserved)例如占8个比特。保留字段例如设置为0。
(2)附图4所示的End.X SID TLV
在附图4所示的BGP-LS Link NLRI报文中的SRv6 End.X TLV,类型(Type)字段占2个字节,类型字段的值例如是1106。长度(Length)字段的值为End.X SID TLV中值部分(value portion)的长度。端点行为(Endpoint Behaviour)字段占用16个比特。端点行为字段的值表示End.X SID的端点行为。标志(Flags)字段占8个比特。算法字段用于指示定位信息关联的算法。权重(Weight)字段占8个比特。权重字段的值表示End.X SID的权重。End.XSID的权重用于进行负载均衡。保留字段例如设置为0。保留(Reserved)例如占8个比特。至少一个子TLV(Sub-TLVs)用于发布End.X SID额外的属性。
(3)附图5所示的End.SID TLV
在附图5所示的BGP-LS Link NLRI报文中的SRv6 SID信息TLV(SRv6 SIDInformation TLV)中,类型(Type)字段占2个字节,类型字段的值例如是518。长度(Length)字段占2个字节。长度(Length)字段的取值例如为16。
(4)附图6所示的End.SID TLV
在附图6所示的OSPFv3 LSA报文的End.SID TLV中,End.SID TLV用于发布SRv6SID所属的节点以及End.SID TLV关联的功能信息。在附图6所示的End.SID TLV中,类型(Type)字段占2个字节。类型字段的值例如是1。长度(Length)字段占2个字节。长度(Length)字段的值为End.SID TLV中值部分(value portion)的长度。标志(Flags)字段占8个比特。标志字段用于定义与SID关联的标志。端点行为(Endpoint Behaviour)字段占用16个比特。端点行为字段的值表示End.SID的端点行为。至少一个子TLV(Sub-TLVs)用于发布End.SID额外的属性。
(5)附图7所示的定位TLV(SRv6 Locator TLV)
定位TLV用于发布SRv6的定位信息(SRv6 Locator)。在附图7所示的定位TLV中,类型(Type)字段占2个字节。定位TLV中类型的值例如是1。定位TLV中长度(Length)字段占2个字节。长度字段的值为定位TLV中值部分(value portion)的长度。定位TLV中路由类型(Route Type)字段占8个比特。路由类型字段用于指示定位信息对应的路由类型,路由类型例如包括区域内、区域外等。算法(Algorithm)字段占8个比特。算法字段用于指示定位信息关联的算法。定位信息长度(Locator Length)字段占8个比特。定位信息长度字段携带定位信息中前缀的比特数量。标志(Flags)字段占8个比特。度量值(Metric)字段占32个比特。度量值字段指示定位信息关联的度量值。至少一个子TLV(Sub-TLVs)用于发布定位信息额外的属性和定位信息关联的SRv6 SID额外的属性。
(6)附图7所示的SRv6 SID结构子TLV(SRv6 SID Structure sub-TLV)
SRv6 SID结构子TLV用于发布SRv6 SID中每个部分的长度。在附图7所示的SRv6SID结构子TLV中,类型(Type)字段占2个字节。长度(Length)字段占2个字节。长度(Length)字段的取值例如为4。定位信息中子网(locator block,LB)长度(LB Length)字段占用1个字节。LB长度字段包括SRv6 SID中B值的长度,B值的长度以比特为单位。定位信息中节点(locator node,LN)长度(LN Length)字段占用1个字节。LN长度字段包括SRv6 SID中N值的长度,N值的长度以比特为单位。功能长度(function length,简写为Fun.Length)字段占用1个字节。功能长度字段包括SRv6 SID中功能信息(function)的长度,功能信息的长度以比特为单位。参数长度(argument length,简写为Arg.Length)字段占用1个字节。参数长度字段包括SRv6 SID中参数信息(argument)的长度,参数信息的长度以比特为单位。
以上介绍了本申请实施例的方法200,以下介绍本申请实施例的网络设备。以下介绍的网络设备具有上述方法200中网络设备的任意功能。
附图9示出了上述实施例中所涉及的网络设备的一种可能的结构示意图。附图9所示的网络设备300例如实现方法200中网络设备的功能。
请参考附图9,网络设备300包括生成单元301和发送单元302。网络设备300中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。网络设备300中的各个单元用于执行上述方法200中网络设备的相应功能。具体地,生成单元301用于支持网络设备300执行S220。发送单元302用于支持网络设备300执行S230。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可选地有另外的划分方式。
在一些实施例中,网络设备300中各个功能单元集成在一个处理单元中。例如,网络设备300中各个功能单元集成在同一个芯片上。该芯片包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口。生成单元301通过芯片中的处理电路实现。接收单元301通过芯片中的输入接口实现。发送单元302通过芯片中的输出接口实现。例如,该芯片通过一个或多个现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合实现。
在另一些实施例中,网络设备300各个功能单元单独物理存在。在另一些实施例中,网络设备300一部分功能单元单独物理存在,另一部分功能单元集成在一个单元中。例如,在一些实施例中,生成单元301和发送单元302是同一个单元。在另一些实施例中,生成单元301和发送单元302是不同的单元。在一些实施例中,不同功能单元的集成采用硬件的形式实现,即,不同功能单元对应于同一个硬件。又如,不同功能单元的集成采用软件功能单元的形式实现。
在网络设备300中通过硬件实现的情况下,网络设备300中生成单元301例如通过网络设备400中的中央处理器431、中央处理器411、中央处理器441或者网络设备700中的处理器701实现。网络设备300中发送单元302例如通过网络设备400中物理接口卡433或网络设备700中的通信接口704实现。
在网络设备300中通过软件实现的情况下,网络设备300中各个单元例如为网络设备400中的中央处理器431、中央处理器411、中央处理器441或网络设备700中的处理器701读取存储器中存储的程序代码后生成的软件。例如,网络设备300为虚拟化设备。虚拟化设备包括而不限于虚拟机、容器、Pod中的至少一种。在一些实施例中,网络设备300以虚拟机的形式,部署在硬件设备(如物理服务器)上。例如,基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现网络设备300。采用虚拟机的方式实现时,网络设备300例如为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出网络设备300。在另一些实施例中,网络设备300以容器(例如docker容器)的形式,部署在硬件设备上。例如,网络设备300执行上述方法实施例的流程被封装在镜像文件中,硬件设备通过运行镜像文件来创建网络设备300。在另一些实施例中,网络设备300以Pod的形式,部署在硬件设备上。Pod包括多个容器,每个容器用于实现网络设备300中的一个或多个功能单元。
以上通过网络设备300,从逻辑功能的角度介绍了如何实现网络设备。以下通过网络设备400和网络设备700,从硬件的角度介绍如何实现网络设备。网络设备400和网络设备700是对网络设备硬件结构的举例说明。
网络设备400或网络设备700对应于上述方法200中的网络设备,网络设备400或网络设备700中的各硬件、模块和上述其他操作和/或功能分别为了实现方法实施例中网络设备所实施的各种步骤和方法,关于网络设备400或网络设备700如何发布SRv6 SID的详细流程,具体细节可参见上述方法200,为了简洁,在此不再赘述。其中,方法200的各步骤通过网络设备400或网络设备700处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块例如位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
参见附图10,附图10示出了本申请一个示例性实施例提供的网络设备的结构示意图。网络设备400包括:主控板410和接口板430。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板410用于对网络设备400中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板410包括:中央处理器411和存储器412。
接口板430也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板430用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板430包括:中央处理器431、网络处理器432、转发表项存储器434和物理接口卡(physical interface card,PIC)433。
接口板430上的中央处理器431用于对接口板430进行控制管理并与主控板410上的中央处理器411进行通信。
网络处理器432用于实现报文的转发处理。网络处理器432的形态例如是转发芯片。具体而言,网络处理器432用于基于转发表项存储器434保存的转发表转发接收到的报文,如果报文的目的地址为网络设备400的地址,则将该报文上送至CPU(如中央处理器411)处理;如果报文的目的地址不是网络设备400的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡433用于实现物理层的对接功能,原始的流量由此进入接口板430,以及处理后的报文从该物理接口卡433发出。物理接口卡433也称为子卡,可安装在接口板430上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器432处理。在一些实施例中,中央处理器也可执行网络处理器432的功能,比如基于通用CPU实现软件转发,从而物理接口卡433中不需要网络处理器432。
可选地,网络设备400包括多个接口板,例如网络设备400还包括接口板440,接口板440包括:中央处理器441、网络处理器442、转发表项存储器444和物理接口卡443。
可选地,网络设备400还包括交换网板420。交换网板420也例如称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板430的情况下,交换网板420用于完成各接口板之间的数据交换。例如,接口板430和接口板440之间例如通过交换网板420通信。
主控板410和接口板430耦合。例如。主控板410、接口板430和接口板440,以及交换网板420之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板410和接口板430之间建立进程间通信协议(inter-process communication,IPC)通道,主控板410和接口板430之间通过IPC通道进行通信。
在逻辑上,网络设备400包括控制面和转发面,控制面包括主控板410和中央处理器431,转发面包括执行转发的各个组件,比如转发表项存储器434、物理接口卡433和网络处理器432。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器432基于控制面下发的转发表对物理接口卡433收到的报文查表转发。控制面下发的转发表例如保存在转发表项存储器434中。在有些实施例中,控制面和转发面例如完全分离,不在同一设备上。
应理解,本申请实施例中接口板440上的操作与接口板430的操作一致,为了简洁,不再赘述。应理解,本实施例的网络设备400可对应于上述各个方法实施例中的网络设备,该网络设备400中的主控板410、接口板430和/或440例如实现上述各个方法实施例中的网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候例如包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
参见附图11,附图11示出了本申请一个示例性实施例提供的网络设备的结构示意图,该网络设备700可以是主机、服务器或个人计算机等。该网络设备700可以由一般性的总线体系结构来实现。
网络设备700包括至少一个处理器701、通信总线702、存储器703以及至少一个通信接口704。
处理器701例如是通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器701包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。PLD例如是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线702用于在上述组件之间传送信息。通信总线702可以分为地址总线、数据总线、控制总线等。为便于表示,附图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器703例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器703例如是独立存在,并通过通信总线702与处理器701相连接。存储器703也可以和处理器701集成在一起。
通信接口704使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口704包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在具体实现中,作为一种实施例,处理器701可以包括一个或多个CPU,如附图11中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,网络设备700可以包括多个处理器,如附图11中所示的处理器701和处理器705。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备700还可以包括输出设备和输入设备。输出设备和处理器701通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器701通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器703用于存储执行本申请方案的程序代码710,处理器701可以执行存储器703中存储的程序代码710。也即是,网络设备700可以通过处理器701以及存储器703中的程序代码710,来实现方法实施例提供的SRv6 SID的发布方法。
本申请实施例的网络设备700可对应于上述各个方法实施例中的网络设备,并且,该网络设备700中的处理器701、通信接口704等可以实现上述各个方法实施例中的网络设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一TLV可以被称为第二TLV,并且类似地,第二TLV可以被称为第一TLV。第一TLV和第二TLV都可以是TLV,并且在某些情况下,可以是单独且不同的TLV。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个SRv6 SID是指两个或两个以上的SRv6 SID。本文中术语“系统”和“网络”经常可互换使用。
还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (15)

1.一种互联网协议第6版段路由段标识SRv6 SID的发布方法,其特征在于,所述方法包括:
网络设备根据待发布的至少一个SRv6 SID生成报文,所述报文包括所述至少一个SRv6SID共有的定位信息,所述报文还包括所述至少一个SRv6 SID对应的至少一个压缩段标识SID,每个压缩SID为对应SRv6 SID中所述定位信息之外的部分;
所述网络设备发送所述报文。
2.根据权利要求1所述的方法,其特征在于,所述至少一个压缩SID包括第一压缩SID,所述报文包括第一类型长度值TLV,所述第一TLV包括所述第一压缩SID以及所述定位信息中的节点标识,所述节点标识用于标识所述网络设备。
3.根据权利要求2所述的方法,其特征在于,所述至少一个SRv6 SID包括第一端点三层交叉连接段标识End.X SID,所述第一TLV为End.X SID TLV,所述第一压缩SID为所述第一End.X SID中所述定位信息之外的部分。
4.根据权利要求3所述的方法,其特征在于,所述报文为开放式最短路径优先第3版链路状态通告OSPFv3 LSA报文或边界网关协议链路状态链路网络层可达信息BGP-LS LinkNLRI报文。
5.根据权利要求2所述的方法,其特征在于,所述至少一个SRv6 SID包括第一端点段标识End.SID,所述第一TLV为End.SID TLV,所述第一压缩SID为所述第一End.SID中所述定位信息之外的部分。
6.根据权利要求5所述的方法,其特征在于,所述报文为BGP-LS Link NLRI报文。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述至少一个压缩SID包括第二压缩SID,所述报文包括定位TLV,所述定位TLV包括所述定位信息以及第二TLV,所述第二TLV包括所述第二压缩SID,所述第二TLV为所述定位TLV的子TLV。
8.根据权利要求7所述的方法,其特征在于,所述第二TLV为End SID TLV,所述至少一个SRv6 SID包括第二End SID,所述第二压缩SID为所述第二End SID中所述定位信息之外的部分。
9.根据权利要求8所述的方法,其特征在于,所述报文为OSPFv3 LSA报文。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述至少一个SRv6 SID包括第一SRv6 SID以及第二SRv6 SID,所述第一SRv6 SID与第二SRv6 SID每个部分的长度均相同,所述报文包括定位TLV,所述定位TLV包括所述定位信息以及第三TLV,所述第三TLV为所述定位TLV的子TLV,所述第三TLV包括所述每个部分的长度。
11.根据权利要求10所述的方法,其特征在于,所述第三TLV为SRv6 SID结构子TLV。
12.根据权利要求11所述的方法,其特征在于,所述第一SRv6 SID为End.SID,所述报文包括End SID TLV,所述End SID TLV包括所述第一SRv6 SID对应的压缩SID且不包括所述SRv6 SID结构子TLV。
13.根据权利要求11或12所述的方法,其特征在于,所述第二SRv6 SID为End.X SID,所述报文包括End.X SID TLV,所述End.X SID TLV包括所述第二SRv6 SID对应的压缩SID且不包括所述SRv6 SID结构子TLV。
14.一种网络设备,其特征在于,所述网络设备包括:
生成单元,用于根据待发布的至少一个SRv6 SID生成报文,所述报文包括所述至少一个SRv6 SID共有的定位信息,所述报文还包括所述至少一个SRv6 SID对应的至少一个压缩段标识SID,每个压缩SID为对应SRv6 SID中所述定位信息之外的部分;
发送单元,用于发送所述报文。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器读取以使网络设备执行如权利要求1至权利要求13中任一项所述的方法。
CN202010691240.6A 2020-07-17 2020-07-17 SRv6 SID的发布方法及网络设备 Active CN114025025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010691240.6A CN114025025B (zh) 2020-07-17 2020-07-17 SRv6 SID的发布方法及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010691240.6A CN114025025B (zh) 2020-07-17 2020-07-17 SRv6 SID的发布方法及网络设备

Publications (2)

Publication Number Publication Date
CN114025025A true CN114025025A (zh) 2022-02-08
CN114025025B CN114025025B (zh) 2023-12-08

Family

ID=80054027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010691240.6A Active CN114025025B (zh) 2020-07-17 2020-07-17 SRv6 SID的发布方法及网络设备

Country Status (1)

Country Link
CN (1) CN114025025B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1516413A (zh) * 1999-02-26 2004-07-28 ����ɭ�绰�ɷ����޹�˾ 分组通信中的头部压缩状态更新
CN1909513A (zh) * 2006-07-18 2007-02-07 华为技术有限公司 在串行链路上实现头压缩及复用的方法
US20130083702A1 (en) * 2011-10-03 2013-04-04 Qualcomm Incorporated Activating and deactivating semi-persistent scheduling for an lte voip radio bearer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1516413A (zh) * 1999-02-26 2004-07-28 ����ɭ�绰�ɷ����޹�˾ 分组通信中的头部压缩状态更新
CN1909513A (zh) * 2006-07-18 2007-02-07 华为技术有限公司 在串行链路上实现头压缩及复用的方法
US20130083702A1 (en) * 2011-10-03 2013-04-04 Qualcomm Incorporated Activating and deactivating semi-persistent scheduling for an lte voip radio bearer

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RAN. CHEN;SHAOFU. PENG; ZTE CORPORATION;: "IGP Extensions for Shorter SRv6 SID draft-chen-lsr-igp-shorter-srv6-extensions-02", 《IETF》 *
W. CHENG;CHINA MOBILE; Z. LI; C. LI; HUAWEI TECHNOLOGIES; F. CLAD;CISCO SYSTEMS, INC;A. LIU; ZTE CORPORATION;C. XIE; CHINA TELECOM: "Generalized SRv6 Network Programming for SRv6 Compression draft-cl-spring-generalized-srv6-for-cmpr-01", 《IETF》 *
W. CHENG;CHINA MOBILE; Z. LI; C. LI; HUAWEI TECHNOLOGIES; F. CLAD;CISCO SYSTEMS, INC;A. LIU; ZTE CORPORATION;C. XIE; CHINA TELECOM: "Generalized SRv6 Network Programming for SRv6 Compression\ndraft-cl-spring-generalized-srv6-for-cmpr-01", IETF *

Also Published As

Publication number Publication date
CN114025025B (zh) 2023-12-08

Similar Documents

Publication Publication Date Title
CN113300949B (zh) 转发报文的方法、发布路由信息的方法、装置及系统
WO2022078415A1 (zh) 报文转发方法以及网络设备
CN114465943B (zh) 拓扑信息的发布方法、网络拓扑收集方法及设备
WO2022105927A1 (zh) 一种通告网络设备处理能力的方法、设备和系统
US20220255857A1 (en) Packet Processing Method, Network Node, and System
JP7547606B2 (ja) ルート告知方法および関連デバイス
US20230327986A1 (en) Route Advertisement Method, Apparatus, and System
CN113938403A (zh) 一种能力通告方法及相关设备
CN114024888A (zh) 一种路由通告方法及相关设备
WO2022188530A1 (zh) 一种路由处理方法及网络设备
EP4203425A1 (en) Method, device and system for forwarding message
CN115550252A (zh) 路由发布和转发报文的方法、装置、设备和存储介质
CN114650255A (zh) 报文处理方法及网络设备
US20230155938A1 (en) Route Advertisement Method and Related Device
CN114006854B (zh) 通信方法及网络设备
CN114025025B (zh) SRv6 SID的发布方法及网络设备
WO2022088685A1 (zh) 一种语义名称获取方法、装置、设备及存储介质
CN114697251A (zh) 一种路由处理方法、相关装置以及网络系统
CN114629834B (zh) 通信方法及装置
CN114422435A (zh) 接口地址的通告方法、网络设备可达性的校验方法及设备
EP4254881A1 (en) Routing transmission method and apparatus
CN116418728A (zh) 一种报文发送的方法、段标识生成的方法及装置
CN117640484A (zh) 一种路由信息传输方法及装置
CN117440057A (zh) 报文转发方法、系统、网络设备、存储介质及程序产品
CN118509369A (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