(行标)路由域通用YANG数据模型技术要求(报批稿)_第1页
(行标)路由域通用YANG数据模型技术要求(报批稿)_第2页
(行标)路由域通用YANG数据模型技术要求(报批稿)_第3页
(行标)路由域通用YANG数据模型技术要求(报批稿)_第4页
(行标)路由域通用YANG数据模型技术要求(报批稿)_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS33.040.40CCSL78YDYD/T2024—XXXXTheTechnologyRequirementofYANGModelfortheRoutingArea(本稿完成日期:2019-12)中华人民共和国工业和信息化部发布IXX/TXXXXX—XXXX 12规范性引用文件 13缩略语 24YANG路由模块分类 34.1概述 34.2IETF路由模块 34.3路由YANG模型分组 65IETF路由YANG模块代码格式 75.1路由YANG模块类型 65.2IETF路由模块 75.3路由YANG模型类型 95.4VPN相关类型YANG代码格式 105.5组播相关类型YANG代码格式 215.6分组相关类型YANG代码格式 316IANA路由YANG模块代码 306.1地址族代码 6.1代码模块类别 6.2子地址族标识符代码 44XX/TXXXXX—XXXX本文件按照GB/T1.1-2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定本文件的某些内容可能涉及专利,本文件的发布机构不承担识别这些专利的责任。本文件由中国通信标准化协会提出并归口。本文件起草单位:中国信息通信科技集团有限公司、中国电信股份有限公司、中国信息通信研究院、新华三技术有限公司本文件主要起草人:周丽芬、陈华南、赵峰、汪俊芳、马红斌、万晓兰、周雪花1XX/TXXXXX—XXXX路由域通用YANG数据模型本文件规定了路由域通用YANG数据模型。本文件适用于数通领域数据交换设备,包括路由器和交换机设备等。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。IETFRFC1112用于IP组播的主机扩展(HostextensionsforIPmulticasting)IETFRFC3032MPLS标签栈编码(MPLSLabelStackEncoding)IETFRFC3429MPLSOAM功能分配“OAM警报标签”(Assignmentofthe‘OAMAlertLabel’forMultiprotocolLabelSwitchingArchitecture(MPLS)OperationandMaintenance(OAM)Functions)IETFRFC3471通用多协议标签交换(GMPLS)信令功能描述(GeneralizedMulti-ProtocolLabelSwitching(GMPLS)SignalingFunctionalDescription)IETFRFC4291IPv6寻址体系结构(IPVersion6AddressingArchitecture)IETFRFC4360BGP属性扩展(BGPExtendedCommunitiesAttribute)IETFRFC4364BGP/MPLSIP虚拟专用网络(vpn)(BGP/MPLSIPVirtualPrivateNetworks(VPNs))IETFRFC4664L2虚拟专用网(L2VPNs)框架(FrameworkforLayer2VirtualPrivateNetworksIETFRFC4760BGP-4多协议扩展(MultiprotocolExtensionsforBGP-4)IETFRFC5462MPLS标签栈条目:“EXP”字段重命名为“TrafficClass”字段(MultiprotocolLabelSwitching(MPLS)LabelStackEntry:"EXP"FieldRenamedto"TrafficClass"Field)IETFRFC5586MPLS通用关联信道(MPLSGenericAssociatedChannel)2XX/TXXXXX—XXXXIETFRFC56684-八进制作为特定的BGP扩展(4-OctetASSpecificBGPExtendedCommunity)IETFRFC5701IPv6地址特定的BGP属性扩展(IPv6AddressSpecificBGPExtendedCommunityAttribute)IETFRFC5880双向转发检测(BFD)(BidirectionalForwardingDetection(BFD))IETFRFC6790熵标签在MPLS转发中的应用(TheUseofEntropyLabelsinMPLSForwarding)IETFRFC6991通用YANG数据类型(CommonYANGDataTypes)IETFRFC7274分配和不用的特定MPLS标签(AllocatingandRetiringSpecial-PurposeMPLSLabels)IETFRFC7346IPv6组播地址范围(IPv6MulticastAddressScopes)IETFRFC7432基于BGPmpls的以太网VPN(BGPMPLS-BasedEthernetVPN)IETFRFC8294路由域通用YANG数据类型(CommonYANGDataTypesfortheRoutingArea)3缩略语下列缩略语适用于本文件。ATMAsynchronousTransferMoASBGP边界网关协议BorderGatewayProtBGP-LS边界网关协议-链路状态BorderGatewayProtocol-LinkSDNS域名系统FC光纤通道G-ACh通用关联通道GenericAssociatedCGAL通用关联通道标签GenericAssociatedChannelHDLC高级数据链路控制HighLevelDataLinkControlProtIEEE电气和电子工程师协会InstituteofElectricalandElIETF互联网工程任务组TheInternetEngineering网络数据包交换L2VPN二层虚拟专网Layer2VirtualPrivateNMAC媒体访问控制MPLS多协议标签交换Multi-ProtocolLabelSwitchNETCONF网络配置协议NetworkConfigurationProtocOAM运营维护开放最短路径计算流量分类流量工程TRILL多链接透明互连TransparentInterconnectSubsequentAddressFamilyIdeVPLS虚拟专线LAN业务VirtualPrivateLANServ3XX/TXXXXX—XXXXVPN虚拟私有网络VirtualPrivateNetwoVRFVPN路径计算及转发VPNRoutingandForwarXTPXpress传输协议XpressTransportPr4YANG路由模块分类4.1概述本文件定义了两种通用路由类型的YANG模块:ietf-routing-types和iana-routing-types。其中,ietf-yang-types和ietf-inet-types定义参考RFC6991。4.2IETF路由模块IETF路由类型模块定义了router-id、route-target等27项内容,具体参见表一。表一IETF路由类型定义IETF路由类型定义router-id路由器标识符通常用于标识路由中的节点和其他控制平面协议。router-id的示例用法可以在[OSPF-YANG]中找route-target路由目标(RT)通常用于控制虚拟路由和转发(VRF)信息的分发(参见RFC4364以支持BGP/MPLSIP虚拟专用网(VPN)和BGP/MPLS以太网VPNRFC7432。可以在L2VPN-YANG中找到示例用法。ipv6-route-target路由目标与标准路由目标类似,不同之处在于它们是RFC5701描述的IPv6地址特定BGP扩展。IPv6路由目标是20个八位字节,并包含IPv6地址作为全局管理员。route-target-type此类型定义RouteTargets的导入和导出规则,如RFC4364的第4.3.1节中所述。route-distinguisher路由区分标识符(RD)通常用于识别支持VPN的单独路由。例如,如RFC4364]中所述,RD通常用于标识独立的VPN和VRF,且用于标识到相同前缀的多个路由。4XX/TXXXXX—XXXXroute-origin通常用于指示VRF信息的原始站点(参见RFC4364以支持BGP/MPLSIPVPN和BGP/MPLS以太网VPNRFC7432。路由源也可用于指示支持VPN的VRF信息的原始站点(参见RFC4364)。ipv6-route-originIPv6路由起源也将用于指示站点支持VPN的VRF信息的起源(参见[RFC4364])。IPv6路由起源是IPv6地址特定的BGP扩展[RFC5701]中描述的共同体。IPv6路由来源为20个八位字节,并包含IPv6地址作为全局管理员。ipv4-multicast-group-address此类型定义IPv4组播组的表示形式地址,范围为224.0.0.0至239.255.255.255。可以在[PIM-YANG]中找到示例用法。ipv6-multicast-group-address此类型定义IPv6组播组地址的表示形式,其范围为ff00::/8。可以在[PIM-YANG]中找到示例用法。ip-multicast-group-address此类型表示IP组播组地址,IP版本为中性。文本表示的格式意味着IP版本。可以在[PIM-YANG]中找到示例用法。ipv4-multicast-source-address这表示用于组播控制协议的IPv4源地址类型。这种类型还允许指示通配符源,即“*”。可能/将要使用此类型的示例是[PIM-YANG]。ipv6-multicast-source-address这表示用于组播控制协议的IPv6源地址类型。这种类型还允许指示通配符源,即“*”。可能/将要使用此类型的示例是[PIM-YANG]。bandwidth-ieee-float32这表示IEEE754浮点32位二进制格式[IEEE754]中的带宽。它通常用于流量工程控制平面协议。可能/将要使用此类型的示例是[OSPF-YANG]。link-access-type此类型标识了IGP连接类型timer-multiplier此类型与timer-value类型一起使用。它通常用于指示在特定事件必须发生之前可能到期的定时器值间隔的数5XX/TXXXXX—XXXX量。这方面的示例包括任何双向转发检测(BFD)数据包(参见RFC5880第6.8.4节)或hello_intervalRFC3209。timer-value-seconds16此类型包括可以设置为秒,未设置或设置为无穷大的定时器。此类型支持一系列值,这些值可以在uint16(2个八位字节)中表示。timer-value-seconds32此类型包括可以设置为秒,未设置或设置为无穷大的定时器。此类型支持一系列可在uint32(4个八位字节)中表示的值。timer-value-milliseconds此类型包括可以设置为毫秒,未设置或设置为无穷大的定时器。此类型支持一系列可在uint32(4个八位字节)中表示的值。percentage百分比此类型定义范围为0-100%的百分比。可以在[BGP-Model]中找到示例用法。timeticks64此类型基于RFC6991中定义的时间戳类型,但具有64位精度。它代表两个时代之间百分之一秒的时间。可以在[BGP-Model]中找到示例用法。uint24此类型定义24位无符号整数。可以在[OSPF-YANG]中找到示例用法。generalized-label此类型表示广义多协议标签交换的通用标签(GMPLS)RFC3471。通用标签不识别其类型,这可从上下文中获知。可以在[TE-YANG]中找到示例用法。mpls-label-special-purpose此类型表示专用MPLS标签值RFC7274。mpls-label-general-use标签栈中的20位标签值在RFC3032中指定。此标签值不包括TrafficClass和TTL(生存时间)的编码。此类型指定的标签范围仅供一般使用,不包括专用MPLS标签值。mpls-label标签栈中的20位标签值在RFC3032中指定。此标签值不6XX/TXXXXX—XXXX包括TrafficClass和TTL的编码。此类型指定的标签[MPLS-Base-YANG]中找到示例用法。mpls-label-stack该类型定义了一个可重用的模式节点集合,表示MPLS标签栈RFC3032.vpn-route-targets该类型定义了一个可重用的模式节点集合,表示在启用BGP的VPNRFC4364、RFC4664中使用的路由目标导入导出规则。可以在[L2VPN-YANG]中找到示例用法。4.3路由YANG模型类型本文件定义了2个路由YANG模型类型,包括address-family、bgp-safi,具体定义参见表二。表二路由YANG模型类型类别定义address-family此类型定义在AddressFamily标识符中使用的值。这些值基于IANA“地址系列号”注册表[IANA-ADDRESS-FAMILY-REGISTRY],可以在[BGP-Model]中找到示例用法。bgp-safi此类型定义在子地址族标识符(SAFI)中使用的值。这些值基于IANA“子地址系列标识符(SAFI)参数”注册表[IANA-SAFI-REGISTRY]。5IETF路由YANG模块代码格式5.1路由YANG模块类型IETF定义的路由YANG模块类型按代码模块来分主要有如下类别:7XX/TXXXXX—XXXX5.2MPLS及GMPLS相关类型YANG代码格式与MPLS/GMPLS相关的标识代码片段如下:/***用于派生描述专用多协议标签交换(MPLS)标签值标识的基本标识***/identitympls-label-special-purpose-value{description"Baseidentityforderivingidentitiesdescribingspecial-purposeMultiprotocolLabelSwitching(MPLS)labelvalues.";reference"RFC7274:AllocatingandRetiringSpecial-PurposeMPLSLabels.";}/***此标识表示IPv4显式空标签***/identityipv4-explicit-null-label{basempls-label-special-purpose-value;description"ThisidentityrepresentstheIPv4ExplicitNULLLabel.";reference"RFC3032:MPLSLabelStackEncoding.Section2.1.";}/***此标识表示路由器警报标签***/identityrouter-alert-label{basempls-label-special-purpose-value;description"ThisidentityrepresentstheRouterAlertLabel..";8XX/TXXXXX—XXXXreference"RFC3032:MPLSLabelStackEncoding.Section2.1.";}/***此标识表示IPv6显式空标签***/identityipv6-explicit-null-label{basempls-label-special-purpose-value;description"ThisidentityrepresentstheIPv6ExplicitNULLLabel.";reference"RFC3032:MPLSLabelStackEncoding.Section2.1.";}/***此标识表示隐式空标签***/identityimplicit-null-label{basempls-label-special-purpose-value;description"ThisidentityrepresentstheImplicitNULLLabel.";reference"RFC3032:MPLSLabelStackEncoding.Section2.1.";}/***此标识表示熵标签指示符***/identityentropy-label-indicator{basempls-label-special-purpose-value;description"ThisidentityrepresentstheEntropyLabelIndicator.";reference"RFC6790:TheUseofEntropyLabelsinMPLSForwarding.Sections3and10.1.";}9XX/TXXXXX—XXXX/***此标识表示通用关联通道(G-ACh)标签(GAL)***/identitygal-label{basempls-label-special-purpose-value;description"ThisidentityrepresentstheGenericAssociatedChannel(G-ACh)Label(GAL).";reference"RFC5586:MPLSGenericAssociatedChannel.Sections4and10.";}/***此标识表示OAM标签***/identityoam-alert-label{basempls-label-special-purpose-value;description"ThisidentityrepresentstheOAMAlertLabel.";reference"RFC3429:Assignmentofthe‘OAMAlertLabel’forMultiprotocolLabelSwitchingArchitecture(MPLS)OperationandMaintenance(OAM)Functions.Sections3and6.";}/***此标识表示扩展标签***/identityextension-label{basempls-label-special-purpose-value;description"ThisidentityrepresentstheExtensionLabel.";reference"RFC7274:AllocatingandRetiringSpecial-PurposeMPLSLabels.Sections3.1and5.";}5.3路由相关类型YANG代码格式XX/TXXXXX—XXXX与路由相关的类型集合代码片段如下:/***分配给每个路由器的点分四格式的32位数字。此数字唯一标识自治系统中的路由器***/typedefrouter-id{typeyang:dotted-quad;description"A32-bitnumberinthedotted-quadformatassignedtoeachrouter.ThisnumberuniquelyidentifiestherouterwithinanAutonomousSystem.";}5.4VPN相关类型YANG代码格式与vpn相关类型的集合代码片段如下:/***路由目标是一个8位八进制的BGP扩展区,最初标识BGPVPN(RFC4364)中的一组站点。它在BGP路由过滤中扮演了更普遍的作用。路由目标由两个或三个字段组成:一个2位八进制类型的字段、一个administrator字段,以及一个可选的as(指定编号)字段。根据RFC4360、RFC5668、RFC7432中定义的类型0、1、2、6的数据格式,编码模式定义为:0:2-octet-asn:4-octet-number1:4-octet-ipv4addr:2-octet-number2:4-octet-asn:2-octet-number6:6-octet-mac-address此外,还为未来路由目标类型定义了一个通用模式:2-octet-other-hex-number:6-octet-hex-number一些有效的例子如下:0:100:100,1:1.1.1.1:100,2:1234567890:203,6:26:00:08:92:78:00***/typedefroute-target{typestring{pattern‘(0:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’XX/TXXXXX—XXXX+‘6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0):(429496729[0-5]|’+‘42949672[0-8][0-9]|’+‘4294967[01][0-9]{2}|429496[0-6][0-9]{3}|’+‘42949[0-5][0-9]{4}|’+‘4294[0-8][0-9]{5}|429[0-3][0-9]{6}|’+‘42[0-8][0-9]{7}|4[01][0-9]{8}|’+‘[1-3][0-9]{9}|[1-9][0-9]{0,8}|0))|’+‘(1:((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|’+‘25[0-5])\.){3}([0-9]|[1-9][0-9]|’+‘1[0-9]{2}|2[0-4][0-9]|25[0-5])):(6553[0-5]|’+‘655[0-2][0-9]|’+‘65[0-4][0-9]{2}|6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|’+‘(2:(429496729[0-5]|42949672[0-8][0-9]|’+‘4294967[01][0-9]{2}|’+‘429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|’+‘4294[0-8][0-9]{5}|’+‘429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|’+‘[1-3][0-9]{9}|[1-9][0-9]{0,8}|0):’+‘(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’+‘6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|’+‘(6(:[a-fA-F0-9]{2}){6})|’+‘(([3-57-9a-fA-F]|[1-9a-fA-F][0-9a-fA-F]{1,3}):’+‘[0-9a-fA-F]{1,12})’;}descriptionXX/TXXXXX—XXXX"ARouteTargetisan8-octetBGPextendedcommunityinitiallyidentifyingasetofsitesinaBGPVPN(RFC4364).However,ithassincetakenonamoregeneralroleinBGProutefiltering.ARouteTargetconsistsoftwoorthreefields:a2-octetTypefield,anadministratorfield,and,optionally,anassignednumberfield.Accordingtothedataformatsfortypes0,1,2,and6asdefinedinRFC4360,RFC5668,andRFC7432,theencodingpatternisdefinedas:0:2-octet-asn:4-octet-number1:4-octet-ipv4addr:2-octet-number2:4-octet-asn:2-octet-number6:6-octet-mac-addressAdditionally,agenericpatternisdefinedforfutureRouteTargettypes:2-octet-other-hex-number:6-octet-hex-numberSomevalidexamplesare0:100:100,1:1.1.1.1:100,2:1234567890:203,and6:26:00:08:92:78:00..";reference"RFC4360:BGPExtendedCommunitiesAttribute.RFC4364:BGP/MPLSIPVirtualPrivateNetworks(VPNs).RFC5668:4-OctetASSpecificBGPExtendedCommunity.RFC7432:BGPMPLS-BasedEthernetVPN.";}/***IPv6路由目标是一个20位八进制的BGPIPv6地址特定的扩展团体属性,除了它只允许IPv6地址作为全局管理员,提供与标准8位八进制路由目标相同的功能。格式为<ipv6-address:2-oct-number>。XX/TXXXXX—XXXX两个有效的例子如下:2001:db8::1:6544和2001:db8::5eb1:791:6b37:17958.***/typedefipv6-route-target{typestring{pattern‘((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}’+‘((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|’+‘(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}’+‘(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])))’+‘:’+‘(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’+‘6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0)’;pattern‘((([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|’+‘((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))’+‘:’+‘(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’+‘6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0)’;}description"AnIPv6RouteTargetisa20-octetBGPIPv6AddressSpecificExtendedCommunityservingthesamefunctionasastandard8-octetRouteTarget,exceptthatitonlyallowsanIPv6addressastheglobaladministrator.Theformatis<ipv6-address:2-octet-number>.Twovalidexamplesare2001:db8::1:6544andXX/TXXXXX—XXXX2001:db8::5eb1:791:6b37:17958";reference"RFC5701:IPv6AddressSpecificBGPExtendedCommunityAttribute.";}/***指示路由目标在路由过滤中的角色***/typedefroute-target-type{typeenumeration{/***路由目标应用于路由导入***/enumimport{value0;description"TheRouteTargetappliestorouteimport.";}/***路由目标应用于路由导出***/enumexport{value1;description"TheRouteTargetappliestorouteexport.";}/***路由目标同时应用于路由导入和路由导出***/enumboth{value2;description"TheRouteTargetappliestobothrouteimportandrouteexport.";}}XX/TXXXXX—XXXXdescription"IndicatestheroleaRouteTargettakesinroutefiltering";reference"RFC4364:BGP/MPLSIPVirtualPrivateNetworks(VPNs).";}/***路由区分标识符是一个8位八进制的值,用于从不同的BGPvpn(RFC4364)中区分路由。路由区分标识符将具有与RFC4360中的路由目标相同的格式,并由两个或三个字段组成:一个2位八进制类型的字段、一个administrator字段,以及一个可选的as(指定编号)字段。根据RFC4360、RFC5668、RFC7432中定义的类型0、1、2、6的数据格式,编码模式定义为:0:2-octet-asn:4-octet-number1:4-octet-ipv4addr:2-octet-number2:4-octet-asn:2-octet-number6:6-octet-mac-address此外,为未来的路由鉴别器类型定义了一个通用模式:2-octet-other-hex-number:6-octet-hex-number一些有效的例子如下:0:100:100,1:1.1.1.1:100,2:1234567890:203,6:26:00:08:92:78:00***/typedefroute-distinguisher{typestring{pattern‘(0:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’+‘6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0):(429496729[0-5]|’+‘42949672[0-8][0-9]|’+‘4294967[01][0-9]{2}|429496[0-6][0-9]{3}|’+‘42949[0-5][0-9]{4}|’+‘4294[0-8][0-9]{5}|429[0-3][0-9]{6}|’XX/TXXXXX—XXXX+‘42[0-8][0-9]{7}|4[01][0-9]{8}|’+‘[1-3][0-9]{9}|[1-9][0-9]{0,8}|0))|’+‘(1:((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|’+‘25[0-5])\.){3}([0-9]|[1-9][0-9]|’+‘1[0-9]{2}|2[0-4][0-9]|25[0-5])):(6553[0-5]|’+‘655[0-2][0-9]|’+‘65[0-4][0-9]{2}|6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|’+‘(2:(429496729[0-5]|42949672[0-8][0-9]|’+‘4294967[01][0-9]{2}|’+‘429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|’+‘4294[0-8][0-9]{5}|’+‘429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|’+‘[1-3][0-9]{9}|[1-9][0-9]{0,8}|0):’+‘(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’+‘6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|’+‘(6(:[a-fA-F0-9]{2}){6})|’+‘(([3-57-9a-fA-F]|[1-9a-fA-F][0-9a-fA-F]{1,3}):’+‘[0-9a-fA-F]{1,12})’;}description"ARouteDistinguisherisan8-octetvalueusedtodistinguishroutesfromdifferentBGPVPNs(RFC4364).ARouteDistinguisherwillhavethesameformatasaRouteTargetasperRFC4360andwillconsistoftwoorthreefields:a2-octetTypefield,anadministratorfield,and,optionally,anassignednumberfield.XX/TXXXXX—XXXXAccordingtothedataformatsfortypes0,1,2,and6asdefinedinRFC4360,RFC5668,andRFC7432,theencodingpatternisdefinedas:0:2-octet-asn:4-octet-number1:4-octet-ipv4addr:2-octet-number2:4-octet-asn:2-octet-number6:6-octet-mac-addressAdditionally,agenericpatternisdefinedforfutureroutediscriminatortypes:2-octet-other-hex-number:6-octet-hex-numberSomevalidexamplesare0:100:100,1:1.1.1.1:100,2:1234567890:203,and6:26:00:08:92:78:00.";reference"RFC4360:BGPExtendedCommunitiesAttribute.RFC4364:BGP/MPLSIPVirtualPrivateNetworks(VPNs).RFC5668:4-OctetASSpecificBGPExtendedCommunity.RFC7432:BGPMPLS-BasedEthernetVPN.";}/***路由源是一个8-octetBGP扩展区,用于标识BGP路由源的一组站点(参见RFC4364)。路由源具有与RFC4360中路由目标相同的格式,并由两个或三个字段组成:一个2-octet类型的字段、一个administrator字段,以及一个可选的指定编号字段。根据RFC4360、RFC5668、RFC7432中定义的类型0、1、2、6的数据格式,编码模式定义为:0:2-octet-asn:4-octet-number1:4-octet-ipv4addr:2-octet-number2:4-octet-asn:2-octet-number6:6-octet-mac-address此外,还为将来定义了一个路由源通用模式类型:XX/TXXXXX—XXXX2-octet-other-hex-number:6-octet-hex-number一些有效的例子如下:0:100:100,1:1.1.1.1:100,2:1234567890:203,6:26:00:08:92:78:00。***/typedefroute-origin{typestring{pattern‘(0:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’+‘6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0):(429496729[0-5]|’+‘42949672[0-8][0-9]|’+‘4294967[01][0-9]{2}|429496[0-6][0-9]{3}|’+‘42949[0-5][0-9]{4}|’+‘4294[0-8][0-9]{5}|429[0-3][0-9]{6}|’+‘42[0-8][0-9]{7}|4[01][0-9]{8}|’+‘[1-3][0-9]{9}|[1-9][0-9]{0,8}|0))|’+‘(1:((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|’+‘25[0-5])\.){3}([0-9]|[1-9][0-9]|’+‘1[0-9]{2}|2[0-4][0-9]|25[0-5])):(6553[0-5]|’+‘655[0-2][0-9]|’+‘65[0-4][0-9]{2}|6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|’+‘(2:(429496729[0-5]|42949672[0-8][0-9]|’+‘4294967[01][0-9]{2}|’+‘429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|’+‘4294[0-8][0-9]{5}|’+‘429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|’+‘[1-3][0-9]{9}|[1-9][0-9]{0,8}|0):’+‘(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’XX/TXXXXX—XXXX+‘6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|’+‘(6(:[a-fA-F0-9]{2}){6})|’+‘(([3-57-9a-fA-F]|[1-9a-fA-F][0-9a-fA-F]{1,3}):’+‘[0-9a-fA-F]{1,12})’;}description"ARouteOriginisan8-octetBGPextendedcommunityidentifyingthesetofsiteswheretheBGProuteoriginated(RFC4364).ARouteOriginwillhavethesameformatasaRouteTargetasperRFC4360andwillconsistoftwoorthreefields:a2-octetTypefield,anadministratorfield,and,optionally,anassignednumberfield.Accordingtothedataformatsfortypes0,1,2,and6asdefinedinRFC4360,RFC5668,andRFC7432,theencodingpatternisdefinedas:0:2-octet-asn:4-octet-number1:4-octet-ipv4addr:2-octet-number2:4-octet-asn:2-octet-number6:6-octet-mac-addressAdditionally,agenericpatternisdefinedforfutureRouteOrigintypes:2-octet-other-hex-number:6-octet-hex-numberSomevalidexamplesare0:100:100,1:1.1.1.1:100,2:1234567890:203,and6:26:00:08:92:78:00."reference"RFC4360:BGPExtendedCommunitiesAttribute.XX/TXXXXX—XXXXRFC4364:BGP/MPLSIPVirtualPrivateNetworks(VPNs).RFC5668:4-OctetASSpecificBGPExtendedCommunity.RFC7432:BGPMPLS-BasedEthernetVPN.";}/***IPv6路由源是一个20位八进制的BGPIPv6地址特定的扩展团体属性,除了它只允许IPv6地址作为全局管理员,提供与标准8位八进制路由相同的功能。格式为<ipv6-address:2-oct-number>。两个有效的例子:2001:db8::6544和2001:5eb1:791:6b37:17958db8::。";reference"RFC5701:IPv6AddressSpecificBGPExtendedCommunityAttribute.***/typedefipv6-route-origin{typestring{pattern‘((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}’+‘((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|’+‘(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}’+‘(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])))’+‘:’+‘(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’+‘6[0-4][0-9]{3}|’+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0)’;pattern‘((([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|’+‘((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))’+‘:’+‘(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|’+‘6[0-4][0-9]{3}|’XX/TXXXXX—XXXX+‘[1-5][0-9]{4}|[1-9][0-9]{0,3}|0)’;}description"AnIPv6RouteOriginisa20-octetBGPIPv6AddressSpecificExtendedCommunityservingthesamefunctionasastandard8-octetroute,exceptthatitonlyallowsanIPv6addressastheglobaladministrator.Theformatis<ipv6-address:2-octet-number>.Twovalidexamplesare2001:db8::1:6544and2001:db8::5eb1:791:6b37:17958.";}5.5组播相关类型YANG代码格式通用组播类型的代码片段如下:/***该类型表示IPv4组播组地址,在224.0.0.0到239.255.255.255之间***/typedefipv4-multicast-group-address{typeinet:ipv4-address{pattern‘(2((2[4-9])|(3[0-9]))\.).*’;}description"ThistyperepresentsanIPv4multicastgroupaddress,whichisintherangeof224.0.0.0to239.255.255.255.";reference"RFC1112:HostExtensionsforIPMulticasting.";}/***该类型表示IPv6组播地址,其范围为ff00::/8***/typedefipv6-multicast-group-address{typeinet:ipv6-address{pattern‘(([fF]{2}[0-9a-fA-F]{2}):).*’;XX/TXXXXX—XXXX}description"ThistyperepresentsanIPv6multicastgroupaddress,whichisintherangeofff00::/8.";reference"RFC4291:IPVersion6AddressingArchitecture.Section2.7.RFC7346:IPv6MulticastAddressScopes.";}/***此类型表示与版本无关的IP组播组地址。文本的格式代表着IP版本***/typedefip-multicast-group-address{typeunion{typeipv4-multicast-group-address;typeipv6-multicast-group-address;}description"Thistyperepresentsaversion-neutralIPmulticastgroupaddress.TheformatofthetextualrepresentationimpliestheIPversion.";}/***组播IPv4源地址类型***/typedefipv4-multicast-source-address{typeunion{typeenumeration{/***任意源地址***/enum*{description"Anysourceaddress.";}XX/TXXXXX—XXXX}typeinet:ipv4-address;}description"MulticastsourceIPv4addresstype";}/***组播源IPv6地址类型***/typedefipv6-multicast-source-address{typeunion{typeenumeration{/***任意源地址***/enum*{description"Anysourceaddress.";}}typeinet:ipv6-address;}description"MulticastsourceIPv6addresstype.";}/***Collectionoftypescommontoprotocols***//***IEEE754浮点32位二进制格式的带宽:(-1)**(S)*2**(指数-127)*(1+分数),其中指数使用8位,分数使用23位。单位是八位元每秒。编码格式是IEEE754和ISO/IECC99中指定的外部十六进制重要字符序列。格式被限制为规范化、非负和非分数:0x1。hhhhhhp{+}d,0x1。HHHHHHP{+}D,或0x0p0,其中“h”和“h”是十六进制数字,“D”和“D”是[0..127]范围内的整数。当’hhhhhh‘或’hhhhhh‘使用六个十六进制数字时,最小有效数字必须是偶数。“x”和“x”表示十六进制;p和p表示2的幂。XX/TXXXXX—XXXX例如0x0p0、0x1p10和0x1.abcde2p+20***/typedefbandwidth-ieee-float32{typestring{pattern‘0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|’+‘1(\.([0-9a-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|’+‘1[01][0-9]|0?[0-9]?[0-9])?)’;}description"BandwidthinIEEE754floating-point32-bitbinaryformat:(-1)**(S)*2**(Exponent-127)*(1+Fraction),whereExponentuses8bitsandFractionuses23bits.Theunitsareoctetspersecond.Theencodingformatistheexternalhexadecimal-significantcharactersequencesspecifiedinIEEE754andISO/IECC99.Theformatisrestrictedtobenormalized,non-negative,andnon-fraction:0x1.hhhhhhp{+}d,0X1.HHHHHHP{+}D,or0x0p0,where'h'and'H'arehexadecimaldigitsand'd'and'D'areintegersintherangeof[0..127].Whensixhexadecimaldigitsareusedfor'hhhhhh'or'HHHHHH',theleastsignificantdigitmustbeanevennumber.'x'and'X'indicatehexadecimal;'p'and'P'indicateapoweroftwo.Someexamplesare0x0p0,0x1p10,and0x1.abcde2p+20.";reference"IEEEStd754-2008:IEEEStandardforFloating-PointArithmetic.ISO/IECC99:Informationtechnology–ProgrammingLanguages-C.";XX/TXXXXX—XXXX}/***链路接入类型***/typedeflink-access-type{typeenumeration{/***指定广播多接入网***/enumbroadcast{description"Specifybroadcastmulti-accessnetwork.";}/***指定非广播多址(NBMA)网络***/enumnon-broadcast-multiaccess{description"SpecifyNon-BroadcastMulti-Access(NBMA)network.";}/***特定点到多点网络***/enumpoint-to-multipoint{description"Specifypoint-to-multipointnetwork.";}/***特定点到点网络***/enumpoint-to-point{description"Specifypoint-to-pointnetwork.";}}description"Linkaccesstype.";}XX/TXXXXX—XXXX/***被解读为失败的定时器值间隔数目***/typedeftimer-multiplier{typeuint8;description"Thenumberoftimervalueintervalsthatshouldbeinterpretedasafailure.";}/***定时器值类型,以秒为单位(范围是16位)***/typedeftimer-value-seconds16{typeunion{typeuint16{range"1..65535";}typeenumeration{/***定时器被设置为无穷大***/enuminfinity{description"Thetimerissettoinfinity.";}/***定时器没有设置***/enumnot-set{description"Thetimerisnotset.";}}}units"seconds";descriptionXX/TXXXXX—XXXX"Timervaluetype,inseconds(16-bitrange).";}/***定时器值类型,以秒为单位(32位范围)***/typedeftimer-value-seconds32{typeunion{typeuint32{range"1..4294967295";}typeenumeration{/***定时器被设置为无穷大***/enuminfinity{description"Thetimerissettoinfinity.";}/***定时器没有设置***/enumnot-set{description"Thetimerisnotset.";}}}units"seconds";description"Timervaluetype,inseconds(32-bitrange).";}/***定时器值类型,单位为毫秒***/typedeftimer-value-milliseconds{typeunion{XX/TXXXXX—XXXXtypeuint32{range"1..4294967295";}typeenumeration{/***定时器被设置为无穷大***/enuminfinity{description"Thetimerissettoinfinity.";}/***定时器没有设置***/enumnot-set{description"Thetimerisnotset.";}}units"milliseconds";description"Timervaluetype,inmilliseconds.";}}/***表示百分比值的整数***/typedefpercentage{typeuint8{range"0..100";}description"Integerindicatingapercentagevalue.";}XX/TXXXXX—XXXX/***此类型基于RFC6991中定义的timeticks类型,具有64位宽度。它表示在两个周期之间,百分之一秒为单位的时间,范围是2^64的模***/typedeftimeticks64{typeuint64;description"ThistypeisbasedonthetimetickstypedefinedinRFC6991,butwith64-bitwidth.Itrepresentsthetime,modulo2^64,inhundredthsofasecondbetweentwoepochs.";reference"RFC6991:CommonYANGDataTypes.";}/***24位无符号整数类型***/typedefuint24{typeuint32{range"0..16777215";}description"24-bitunsignedinteger.";}/***CollectionoftypesrelatedtoMPLS/GMPLS***//***通用标签,发送和接收通用标签的节点知道链路特定的标签上下文和类型***/typedefgeneralized-label{typebinary;description"GeneralizedLabel.NodessendingandreceivingtheGeneralizedLabelareawareofthelink-specificlabelcontextandtype.";referenceXX/TXXXXX—XXXX"RFC3471:GeneralizedMulti-ProtocolLabelSwitching(GMPLS)SignalingFunctionalDescription.Section3.2.";}/***此标识表示特定MPLS标签值***/typedefmpls-label-special-purpose{typeidentityref{basempls-label-special-purpose-value;}description"Thistyperepresentsthespecial-purposeMPLSlabelvalues.";reference"RFC3032:MPLSLabelStackEncoding.RFC7274:AllocatingandRetiringSpecial-PurposeMPLSLabels.";}/***RFC3032中指定的MPLS标签栈中的20位标签值,此标签值不包括流分类和TTL(生存时间)的编码。此类型指定的标签范围是通用的,特殊用途的MPLS标签值除外***/typedefmpls-label-general-use{typeuint32{range"16..1048575";}description"The20-bitlabelvalueinanMPLSlabelstackasspecifiedinRFC3032.ThislabelvaluedoesnotincludetheencodingsofTrafficClassandTTL(TimetoLive).Thelabelrangespecifiedbythistypeisforgeneraluse,withspecial-purposeMPLSlabelvaluesexcluded.";reference"RFC3032:MPLSLabelStackEncoding.";XX/TXXXXX—XXXX}/***RFC3032中指定了MPLS标签栈中的20位标签值。此标签值不包括流量分类和TTL的编码***/typedefmpls-label{typeunion{typempls-label-special-purpose;typempls-label-general-use;}description"The20-bitlabelvalueinanMPLSlabelstackasspecifiedinRFC3032.ThislabelvaluedoesnotincludetheencodingsofTrafficClassandTTL.";reference"RFC3032:MPLSLabelStackEncoding.";}5.6分组相关类型YANG代码格式分组的代码片段如下:/***此分组指定MPLS标签堆栈。标签堆栈编码为标签栈条目的列表。列表的键值是一个用于指示每个条目的相对顺序的标识符,值最低的标识符对应于标签堆栈的顶部.***/groupingmpls-label-stack{description"ThisgroupingspecifiesanMPLSlabelstack.Thelabelstackisencodedasalistoflabelstackentries.Thelistkeyisanidentifierthatindicatestherelativeorderingofeachentry,withthelowest-valueidentifiercorrespondingtothetopofthelabelstack.";/***用于MPLS标签堆栈条目列表的容器***/containermpls-label-stack{descriptionXX/TXXXXX—XXXX"ContainerforalistofMPLSlabelstackentries.";/***MPLS标签栈条目列表***/listentry{key"id";description"ListofMPLSlabelstackentries.";/***标识一系列MPLS标签堆栈条目的一个条目。在标签堆栈中,标识符值较小的条目在标识符值较大的条目之前。这个ID的值除了相对排序和引用条目外没有语义***/typeuint8;description"IdentifiestheentryinasequenceofMPLSlabelstackentries.Anentrywithasmalleridentifiervalueprecedesanentrywithalargeridentifiervalueinthelabelstack.ThevalueofthisIDhasnosemanticmeaningotherthanrelativeorderingandreferencingtheentry.";}/***标签值***/leaflabel{typert-types:m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论