一、路由协议: OSPF 1、OSPF区域的划分: 由于详细链路状态信息不会被发布到区域以外,因此划分区域可以使LSDB的规模大大缩小。减小LSDB规模可以: 减轻路由器负担。 增强稳定性,减小因LSDB更新引起的震荡范围。 2、OSPF邻居: OSPF链路两端接口网络类型配置不一致,一端为广播,一端为点到点,邻居可以建立,但路由学习异常。 华为路由器OSPF默认不检查接口MTU,邻居建立不受此影响。 3、OSPFLSA LStype,LinkStateID和AdvertisingRouter的组合共同标识一条LSA OSPFLSA序列号累加、age累加。ISISLSP序列号累加,age递减。 5类、7类LSAforwardingaddress的设置 对于5类LSA: 所引入外部路由的下一跳如果在OSPF路由域内,则ForwardingAddress应设置为此外部路由的下一跳。 如果所引入外部路由的下一跳不在该OSPF路由域内,则ForwardingAddress应设置为0。0。0。0 对于7类LSA的ForwardingAddress设置规则如下: 如果Options字段显示此LSA不可以被转换成第五类LSA,则ForwardingAddress可以被设置成0。0。0。0。 如果Options字段显示此LSA可以被转换成第五类LSA,则ForwardingAddress不能被设置0。0。0。0。如果所引入外部路由的下一跳在OSPF路由域内,则ForwardingAddress直接设置为所引入外部路由的下一跳; 如果所引入外部路由的下一跳不在OSPF路由域内,则ForwardingAddress设置为该ASBR上某个OSPF路由域内的Stub网段(例如Loopback0接口)的接口IP地址,有多个Stub网段时选IP地址最大者。 4、OSPF外部路由: 第一类外部路由永远比第二类外部路由优先,无论cost是多少。 5、OSPF特殊区域: 为了防止外部路由信息重复,在一个NSSA有多个ABR的时候,只允许一个ABR可以把NSSALSA转换成ASexternalLSA,这个ABR称为此NSSA的Translator。Translator基于RouterID选举。NSSA的ABR会在RouterLSA中使用一个Bit标识自己是NSSA的ABR,通过检查区域中的RouterLSA,每个NSSA的ABR都可以维护一个ABR列表,从中选举RouterID最大的做为Translator 6、OSPF缺省路由: Nssadefaultrouteadvertise: 该参数只用于NSSA区域的ABR或ASBR才有意义,配置后,对于ABR,不论本地是否存在缺省路由,都将生成一条Type7LSA向区域内发布缺省路由;对于ASBR,只有当本地存在缺省路由时,才产生Type7LSA向区域内发布缺省路由。 OSPF缺省路由的发布原则如下: OSPF设备只有具有对外的出口时,才能够发布缺省路由LSA。 如果OSPF设备已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。即路由计算时不再计算其它路由器发布的相同类型的缺省路由LSA,但数据库中存有对应LSA。 外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由。 路由器发布缺省路由时会检查区域0是否有状态为full的邻居,当区域0仅有状态为full的邻居时,缺省路由才会发布。 由于OSPF路由的分级管理,Type3缺省路由的优先级高于Type5和Type7路由。 StubArea、TotallyStubArea:ABR会自动产生一条缺省的SummaryLSA(Type3LSA)通告到整个StubTotallyStub区域内。 NSSAArea、TotallyNSSAArea:ABR会自动产生缺省的Type3LSA和Type7LSA通告到整个NSSAArea、TotallyNSSA区域内。Type7LSA缺省路由不会在ABR上转换成Type5LSA缺省路由泛洪到整个OSPF域。 7、Stub路由器和LSDB过载: stubrouter: 该命令通过增大该设备所生成的LSA中的链路的度量值(65535),告知其它OSPF设备不要使用这个Stub设备来转发数据。非Stub网段的开销为65535,Stub网段的开销不变,所以到自身接口及网段的流量不受影响。 lsdboverflowlimit: 当LSDB中的第五类LSA超过配置的最大条目数时,路由器进入超载状态,进入超载状态时,路由器将自身产生的第五类LSA在网络中老化,并不再生成第五类LSA。 处于超载状态的OSPF路由器可以接收其他路由器生成的第五类LSA,但是数量不能超过配置的最大限制,如果新接收的第五类LSA使LSDB中的第五类LSA可能超过配置的最大限制,则新接收的第五类LSA将被丢弃。 8、OSPFVPN(OSPF多实例): 防环机制:通过设置DN及tag防止环路: 3类和5类的DN位设置: DNbit置位发生在PE设备上,当PE上的OSPF多实例中引入BGP时,BGP传递过来的3类及5类LSA放入OSPF进程中时DN置1。 DNbit的检查发生在CE或PE的OSPF多实例中,OSPF未绑定VPN时不检查DN位。 DNbit的最终目的是在OSPF多实例环境中防止PE发出的LSA再回到PE上。 5类LSAtag设置: 根据华为文档解释,VPNroutetag的设置发生在PE设备上,只有当PE将收到的私网路由产生的5、7类LSA的时候打上tag,但在模拟器实验时,当路由器是PE角色时(有MBGP邻居),无论PE的OSPF多实例是否引入BGP路由,OSFP多实例都会将引入的外部路由(包括引入的直连、静态或其他协议路由)打上tag,tag值由AS号转换而来。 DNbitset,DNbitcheck,vpninstancecapbilitysimple这三条命令: DNbitset:可以对3、5、7类LSA分别设置,也可以关闭。 DNbitcheck:检查DN位,置1则不处理,LSA正常接收,可以对3、5、7类分别检查,还可以对不同routerid分别检查。 vpninstancecapbilitysimple:对DN位及tag都生效,配置此命令后将取消DN和tag检查。 前两种多用于跨域VPN中,当PE与CE、ASBR之间使用OSPF时,ASBR之间传递路由时使用。后一种多用于MCE场景,当CE启用了OSPF多实例的情况下使用。 9、OSPF快收敛: SPF计算时间:可以通过配置设置为固定值interval1或者使用智能定时器, spfscheduleintervalinterval1intelligenttimermaxintervalstartintervalholdinterval 智能定时器规则: 初次计算SPF的间隔时间由startinterval参数指定。 第n(n2)次计算SPF的间隔时间为holdinterval2(n2)。 当holdinterval2(n2)达到指定的最长间隔时间maxinterval时,OSPF保持计算SPF的时间间隔一直使用最长间隔时间。 如果距离上次SPF计算时间间隔超过最大计算间隔maxinterval,并且在该时间内无震荡,则退出智能定时器。 在上次SPF计算间隔内没有发生震荡的情况下,本次计算间隔内如果发生震荡,则SPF计算延时startinterval,SPF计算结束后使用本次计算间隔。 LSA更新时间:lsaoriginateinterval LSA接收间隔:lsaarrivalinterval OSPFV3 OSPFv3是基于链路运行的,取消了编址性的语义,RouterID,AreaID和LSA的LinkStateID仍然为32位,只作编号使用。使用链路本地地址作为路由的下一跳,而VirtualLink除外。 在同一个链路上使用多个OSPF实例,OSPFv2通过认证实现,而OSPFv3通过在OSPF包头中添加InstanceID字段,以及修改OSPF接口数据结构实现的。InstanceID值影响OSPF包的接收行为。如果接口的InstanceID与其所接收的OSPF包的InstanceID不匹配,则丢弃该包。 OSPFv3本身取消了认证字段,认证依靠IPV6协议实现。 OSPFv3LSA: OSPFv3使用LinkLSA与IntraAreaPrefixLSA发布前缀。 一个链路范围内的IPv6前缀信息由linkLSA负责通告; intraareaprefixLSA负责把IPv6前缀公告到本区域范围内 未知LSA的处理: OSPFv2丢弃任何未知类型的LSA。 OSPFv3根据LStype字段中的LSAHandling位决定如何处理LSA。 要么只泛洪到本地链路上。 要么把它当作类型已知的LSA来处理,也就是存储下来并泛洪出去。对于本路由器来说,因为这个LSA类型是未知的,所以不把这个LSA纳入计算过程中。 OSPFv3LSA的泛洪范围增加了链路本地范围,对于LSA的泛洪范围,明确写入了LSA头部的LSAtype字段中。 U:标识对未知LSA的处理方法,S2和S1:标识LSA的泛洪范围。 00:链路本地泛洪范围 01:区域泛洪范围 10:AS泛洪范围 11:保留 LSA类型 LSA作用 RouterLSA(Type1) 设备会为每个运行OSPFv3接口所在的区域产生一个LSA,描述了设备的链路状态和开销,在所属的区域内传播。 NetworkLSA(Type2) 由DR产生,描述本链路的链路状态,在所属的区域内传播。 InterAreaPrefixLSA(Type3) 由ABR产生,描述区域内某个网段的路由,并通告给其他相关区域。 InterAreaRouterLSA(Type4) 由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。 ASexternalLSA(Type5) 由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。 NSSALSA(Type7) 由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。 LinkLSA(Type8) 每个设备都会为每个链路产生一个LinkLSA,描述到此Link上的linklocal地址、IPv6前缀地址,并提供将会在NetworkLSA中设置的链路选项,它仅在此链路内传播。 IntraAreaPrefixLSA(Type9) 每个设备及DR都会产生一个或多个此类LSA,在所属的区域内传播。 设备产生的此类LSA,描述与RouteLSA相关联的IPv6前缀地址。 DR产生的此类LSA,描述与NetworkLSA相关联的IPv6前缀地址。 AdvertisingRouter 泛洪范围 LinkStateID ISIS SYSTEMID: 华为规定为6个字节,一台路由器配置最多3个NET。一个路由域中的SystemID必须有相同的长度,一个中间系统的所有NET必须有相同的SystemID。 ISIS邻居建立 检查的参数: 1、最大区域地址数:默认值是0(表示支持3个区域地址),这个值必须一致; 2、SystemID长度:默认值是0(表示SystemID长度为6字节),这个值必须一致; 3、AreaID和路由器类型:如果AreaID一样,则可以建立Level1和Level2的邻接关系; 如果不一样,则只能建立Level2的邻接关系; 4、认证:如果配置了认证,则认证参数必须匹配; 5、IP地址网段:同一网段检查,此项为华为特性。由于ISIS直接承载在数据链路层之 上,理论上是不需要进行同一网段的检查。华为VRP提供了这一新功能,进行同一网段 检查,保证邻居关系的正确建立。 DIS选举: 各层次选举自己的DIS,抢占式,比较顺序:接口优先级snpa地址(LNA中指MAC)systemID,数值越大越优先。 接口优先级范围0127,默认64。 握手机制: 点到点链路上邻居形成为2次握手,在后续的新TLV中定义了三次握手机制。 广播链路上邻居形成为3次握手,有level1和level2两种hello报文,根据接口配置的链路类型来确定发送哪种hello,如果链路类型是level12,则两种都发送。 ISIS计时器: Hello时间 点到点链路上默认hello时间10s,hold时间3倍hello时间。 广播链路上,DIS发送Hello时间为普通路由器的13,其它路由器上检测DIS的hold时间为一个hello 默认DIS发送hello3s,其它路由器检测DIS的hold为10s,其它路由器hello与点到点链路相同。 DIS周期更新CSNP时间10s ISIS数据库周期泛洪时间15分钟,老化时间20分钟,零剩余生存时间60s ISIS的cost: 窄度量:采用6bit的接口开销,范围163;10bit的路径开销,范围11023。 宽度量:采用24bit的接口度量和32bit的路径度量 narrowcompatible:表示既可以接受narrow的报文,也可以接受wide的报文,对于 发送,却是只发送narrow的报文。 widecompatible:表示既可以接受narrow的报文,也可以接受wide的报文,对于发 送,却是只发送wide的报文 ISIS认证: 接口认证:在接口视图下配置,对Level1和Level2的Hello报文进行认证。 区域认证:在ISIS进程视图下配置,对Level1的CSNP、PSNP和LSP报文进行认证。 路由域认证:在ISIS进程视图下配置,对Level2的CSNP、PSNP和LSP报文进行认证。 ISIS的路由计算: 在路由计算中,路由代表叶子,路由器则代表节点。如果ISPF计算后的SPT改变,PRC会只处理那个变化的节点上的所有叶子;如果经过ISPF计算后的SPT并没有变化,则PRC只处理变化的叶子信息。 isisv6增加的TLV: IPv6ReachabilityTLV〔Type236〕〔0xEC〕 IPv6InterfaceAddressTLV〔Type232〕〔0xE8〕 BGP BGP认证: BGP协议本身没有认证,认证是通过TCP选项字段进行的。 BGPAS号: 普通BGPAS号长度为2字节,范围165535,164511为公有AS,6451265535是私有AS号。 目前AS号已扩展为4字节,与2字节AS号兼容,4字节AS分为整数和点分两种形式,点分形式用x。y表示,换算关系是:整数形式的4字节AS号x65536y。需要注意的是调整4字节AS号的显示格式会影响ASPath正则表达式和扩展团体属性过滤器的匹配结果。 4字节AS号与2字节的兼容: 标准协议定义了2种新的可选过渡属性AS4Path(属性码为0x11)和AS4Aggregator(属性码为0x12)用于在OldSession上传递4字节AS信息。 BGP的Open消息头是固定的,其中MyASNumber字段填写的是本地AS号,但是MyASNumber字段只占有两个字节,无法填充4字节的AS号。因此NewSpeaker在发送Open消息时,将ASTRANS号23456填充到MyASNumber字段,而将自己实际的4ASNumber填写在可选能力字段,这样邻居间就能通过Open消息的可选能力字段获知对方是否支持4字节AS能力。 BGP的路由更新: BGP初始化时发送所有的路由给BGP对等体,同时在本地保存了已经发送给BGP对等体的路由信息。 当本地的BGP收到了一条新路由时,与保存的已发送信息进行比较,如未发送过,则发送,如已发送过则与已经发送的路由进行比较,如新路由更优,则发送此新路由,同时更新已发送信息,反之则不发送。 当本地BGP发现一条路由失效时,如果路由已发送过,则向BGP对等体发送一个撤消路由消息。 BGP路由通告原则: 1、连接一旦建立,BGPSpeaker将把自己所有BGP最优路由发布给新对等体。存在多条有效路由时,BGPSpeaker只将最优路由发布给对等体。 2、BGPSpeaker只把自己使用的路由通告给对等体 3、BGPSpeaker从EBGP获得的路由会向它所有BGP对等体发布(包括EBGP对等体和IBGP对等体)。 4、BGPSpeaker从IBGP获得的路由不向它的IBGP对等体发布。 5、BGPSpeaker从IBGP获得的路由是否通告给它的EBGP对等体要依据IGP和BGP同步的情况。 BGP的属性 公认必须遵循的(Wellknownmandatory):所有BGP设备都可以识别,且必须存在于Update消息中。如果缺少这种属性,路由信息就会出错。 公认任意(Wellknowndiscretionary):所有BGP设备都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来选择。 可选过渡(Optionaltransitive):在AS之间具有可传递性的属性。BGP设备可以不支持此属性,但它仍然会接收这类属性,并通告给其他对等体。 可选非过渡(Optionalnontransitive):如果BGP设备不支持此属性,则相应的这类属性会被忽略,且不会通告给其他对等体。 BGP路由优选 1、丢弃下一跳不可达路由 2、优选协议首选值(PrefVal)最高的路由。 3、优选本地优先级(LocalPref)最高的路由。 4、优选本地生成的路由:优选聚合路由,手动聚合优于自动聚合路由,network命令引入的路由的优先级高于通过importroute命令引入的路由。 5、优选AS路径(ASPath)最短的路由。 6、比较Origin属性,依次优选Origin类型为IGP、EGP、Incomplete的路由。 7、优选MED(MultiExitDiscriminator)值最低的路由。 8、优选从EBGP邻居学来的路由(EBGP路由优先级高于IBGP路由) 9、优选到BGP下一跳IGPMetric较小的路由。 到此步骤,如果以上全部相同,则可以进行负载,如果负载未开启则继续比较以下条件: 10、优选ClusterList最短的路由。 11、优选RouterID最小的路由器发布的路由。 12、比较对等体的IPAddress,优选从具有较小IPAddress的对等体学来的路由。 BGP路由聚合 summaryautomatic命令对BGP引入的路由按照自然网段进行聚合,对network命令引入的路由无效 aggregate该命令可以对BGP本地路由表中的路由进行手工聚合。缺省情况下手动聚合后会把明细路由和聚合路由一起发布。 BGP反射器: ClusterList属性: 用于防止AS内部的环路。clusterid用于标识一个RR或者一个RR集群,可以将一个集群的RR配置相同的clusterid,缺省情况下,反射器使用自己的RouterID做为ClusterID。 路由反射器使用CLUSTERLIST,记录反射路由经过的所有CLUSTERID,ClusterList由路由反射器产生。当RR接收到一条更新路由时,RR会检查ClusterList。如果ClusterList中已经有本地ClusterID,丢弃该路由。 OriginatorID属性: 当一条路由第一次被RR反射的时候,RR将接收到路由的始发者routerid(本地AS始发路由:BGP宣告者的RouterID,非本地AS始发路由:本地AS的边界路由器的RouterID)做为OriginatorID属性加入这条路由,标识这条路由的发起路由器。 如果一条路由中已经存在了OriginatorID属性,则RR将不会创建新的OriginatorID。 当其他BGPSpeaker接收到这条路由的时候,将比较收到的OriginatorID和本地的RouterID,如果两个ID相同,BGPSpeaker会忽略掉这条路由,不做处理。 BGPdampening: dampening只对EBGP路由生效,dampeningibgp命令只对BGPVPNv4路由生效。 dampeninghalflifereachreusesuppressceiling halflifereach:半衰期,单位分值,缺省15分钟,取值145 Reuse:解除抑制阈值 Suppress:抑制阈值 Ceiling:惩罚上限 BGP对等体组: IBGP对等体组:所包括的对等体属于同一个内部AS。 纯EBGP对等体组:所包括的对等体属于同一个外部AS。 混合EBGP对等体组:所包括的对等体属于不同的外部AS。 Tips: IBGP将本地始发路由发布给IBGP邻居时,不携带AS号 二、隧道技术 MPLSMPLSTE MPLS标签空间: 20个bit,特殊标签: 0IPV4显示空标签,倒数第二跳正常压入值为0的MPLS标签。 3隐式空标签,倒数第二跳检测如果下游分配的式值为3的标签,则直接弹出MPLS标签,将IP报文转发给最后一跳。 2IPV6显示空标签, FEC分类: FEC可以根据地址、业务类型、QoS等要素进行划分。 LDP协议: LDP消息承载在UDP(本地)或TCP(远程连接)之上,端口号为646。 两个LSR都从对端发来的HelloMessage中获得对端用于建立TCP连接的地址,然后比较两个地址的大小,地址大的作为主动方发起TCP连接。 LDPIdentifier后2Bytes填充0时表示基于平台的标签空间。帧模式封装的MPLS使用基于平台的标签空间,信元模式的MPLS使用基于接口的标签空间。 LDP标签的分发、控制和保持: 分发方式:DU(DistributionUnsolicited)和DOD(DistributiononDemand)。下游自主,下游按需 控制方式:Ordered和Independent。有序和独立 保持方式:Conservative和Liberal。自由和保守 华为vrp平台采用DUOrderedLiberal方式。 MPLS环路检测: MPLS要依靠IGP建立LSP,IGP本身有TTL做为环路检测机制。帧模式的MPLS中使用TTL,信元模式的MPLS中无TTL。MPLS对于TTL的处理有两种方式: 1、Uniform模式:拷贝IPTTL值。IP报文在进入MPLS网络的时候,入口处TTL减1,拷贝至MPLS头部;MPLS域只对MPLSTTL处理,IPTTL不变;出口处弹出标签时将MPLSTTL拷贝回IP头部。 2、Pipe模式:TTL统一设置为255。IP报文在进入MPLS网络的时候,入口处IP头TTL减1,MPLS头TTL设置为255;MPLS域只对MPLSTTL处理,IPTTL不变;出口处弹出标签,IP头标签TTL值不变。 LDP环路检测机制,距离向量法,最大跳数法。 LDP路径向量法和最大跳数法分别通过两类TLV实现:PathVectorTLV和HopCountTLV。LDP通过把自己的LSRID加到PathVectorTLV的列表中,HopCountTLV经过一个LSR加1。如果LSR发现PathVectorTLV列表中出现自己的LSRID或者HopCount超过设定值则认为发生环路,拒绝建立LSP。 目前主流的MPLSTE实现方式: RSVPTE:RSVPTE技术较为成熟,已经规模运用,但技术本身较为复杂,扩展性较差。 CRLDPTE:CRLDPTE技术不太成熟,基本没有运用,但是比较简单,扩展性较好。 MPLSTE组件: 四大组件:信息发布组件、路径计算组件、信令组件(或称路径建立组件)、报文转发组件。 高级特性:FRR(FastReroute)、隧道的备份(Backup)、带宽的自动调整(AutoBandwidthAllocation)、路径的重优化(Reoptimum)。 MPLSTE实现: 1。通过扩展OSPF和ISIS协议,泛洪带有带宽、链路属性等参数的链路状态信息; 2。通过扩展的CSPF(ConstraintShortestPathFirst)算法,计算从源到目的地的最佳路径; 3。通过对RSVP协议的扩展,建立端到端的LSP,同时进行标签的分配; 4。最后,把流量注入到LSP隧道中。 MPLSTE发布的信息: 1、链路状态信息IGP本身就具有 2、TEMetric:可手工配置,手工配置后建立路径是使用TEmetric,IGPMetric将被忽略。 3、带宽信息 4、管理组和亲和属性 带宽信息包括:最大物理带宽、最大可预留带宽、每优先级的当前可用带宽。TE隧道有07共8个优先级,0的优先级最高,高优先级隧道可抢占低优先级隧道的带宽。 带宽的重大变化:在VRP的实现中,默认定义的阈值是10。即变化量与剩余带宽的比值大于等于10,即泛洪带宽信息。 管理组即为链路属性,32bit,可用用来给链路着色。 亲和属性为隧道属性,32bit。 掩码,32bit,可以和管理组及亲和属性与操作。 隧道优先级分为建立优先级和保持优先级。抢占时,将新建隧道的建立优先级和原有隧道的保持优先级进行比较。 这4种信息由OSPFType10的不透明LSA(OpaqueLSA)和isisType135WideMetric、Type22IS可达性TLV发布。泛洪之后形成TEDB数据库,TEDB与IGP路由的LSDB完全独立。 MPLSTE路径计算 CSPF有两个计算依据: 1、待建立隧道的隧道属性,这些都在隧道的入口处配置;例如metric、显示路径等。 2、流量工程数据库TEDB。 CSPF的计算过程如下: 1、针对待建立隧道的隧道属性,先对TEDB中的链路进行裁剪,把不满足属性要求的链路剪掉; 2、再采用SPF算法,寻找一条到隧道目的地址的最短路径。 缺省情况下,CSPF在计算路径时预先采用OSPF协议生成的TEDB来计算CRLSP的路径。 CSPF在计算路径的过程中,如果遇到多条权值相同的路径,将根据策略选择其中的一条。这个过程称为仲裁(tiebreaking)。可用的仲裁策略有: Mostfill:选择已用带宽和最大可预留带宽的比值最大的链路,使链路带宽资源高效使用; Leastfill:选择已用带宽和最大可预留带宽的比值最小的链路,使各条链路的带宽资源均匀使用; Random:随机选取,使每条链路上的LSP数量均匀分布,不考虑带宽因素。 Mostfill和Leastfill模式只在两条链路的带宽占用率之差超过10时有效 RSVP: RSVP的主要消息类型: Path:用来建立和维护保留 Resv:响应Path消息,用来建立和维护保留 PathTear:结构与Path类似,用于在网络中删除保留 ResvTear:结构与Resv类似,用于在网络中删除保留 PathErr:接收到错误的Path消息后发送。 ResvErr:接收到错误的ResvErr消息后发送 Hello:RSVPTE的扩展,用于邻居间状态的快速检测 三、VPN技术 MPLSVPN 1、BGPMPLSVPN RD设置 不同VPN的RD值设置一定不同,相同VPN的RD值设置可以相同也可以不同。通常在承载网的VPNFRR场景中,因要使用备份路由,需要将奇偶数平面的RD设置为不同。 HVPN HoVPNSPE向UPE发布汇聚或者缺省路由,SPE上部署VPN实例。 HVPNSPE向UPE通告所有路由,SPE上不部署VPN实例。 HUBSpoke 方式1:HUB和Spoke都使用EBGP协议,HUBPE上需要配置允许ASpath重复。 方式2:HUB和Spoke都使用IGP协议。 方式3:HUB使用EBGP协议,Spoke使用IGP协议。HUBPE上需要配置允许ASpath重复。 不能采用HUB使用IGP协议,Spoke使用EBGP协议的方式,SpokePE侧会产生路由震荡。 2、VPWS CCC静态单层手工分配标签,支持本地和远程连接。 Martini内层和外层标签都由LDP动态分配,不支持本地连接。 SVC内层标签手工静态分配,外层标签LDP动态分配。 3、VPLS中,使用全连接和水平分割转发来避免环路。从公网侧PW收到的数据包不再转发到其他PW上,从PE收到的报文不转发到其他PE。 EVPN 传统VPLS缺陷: CE到PE链路只能单活,无法负载,浪费链路资源。 网络侧路径单一,无法形成多路径。 故障收敛慢,收敛时间从1S到10S不等。 ARP请求早上广播泛洪,浪费带宽和设备资源。 因VPLS水平分割防环机制,需要PW全连接。 EVPN5种路由: 集成多播路由(InclusiveMulticastRoute)发现PE设备,BUM表PE设备标签分配 以太网段路由(EthernetSegmentRoute)发现连接同一个ES的PE设备,DF选举,形成ES成员表 MACIP以太自动发现路由(EthernetAutoDiscoveryRoute)ESI标签分配(针对ES成员表),环路避免、快收敛、负载分担,多活、别名。 地址通告路由(MACIPAdvertisementRoute)MACVRF表分配标签,MAC地址通告、主机迁移 IP前缀路由(IPPrefixRoute)路由通告分配前缀标签 VLANAware 每个子接口配置一个VLAN,一个BD域,每个BD域下配置相同VPN实例,但使用不同bdtag,以实现不同VLAN可以相同MAC地址。 四、可靠性 HA Mtbf平均故障时间间隔 Mttr平均故障修复时间 AvailabilityMtbf(MtbfMttr),电信行业99。999的可用度意味着设备因故障导致的业务中断时间平均每年不能超过5分钟 BFD BFD工作方式: BFD控制报文封装在UDP报文中传送。会话开始阶段,双方系统通过控制报文中携带的参数(会话标识符、期望的收发报文最小时间间隔、本端BFD会话状态等)进行协商。协商成功后,以协商的报文收发时间在彼此之间的路径上定时发送BFD控制报文。 EthTrunk接口BFD问题: 普通的BFD单跳会话绑定EthTrunk接口,只会创建一个BFD会话,并从EthTrunk口中选择一个成员口所在单板作为状态机单板,并对这一条成员链路进行检测。如果该成员口故障、该成员链路故障,或者该状态机单板故障,BFD会话就会认为整个EthTrunk发生了故障,实际上,该EthTrunk的其他成员链路仍然可用,EthTrunk接口的状态应该是Up的。 BFDforLinkbundle类型的会话能够很好的解决这个问题。使用了BFDforLinkbundle会话绑定EthTrunk接口,EthTrunk成员口状态发生震荡不会导致整个EthTrunk状态发生震荡。 bfdbtoabindlinkbundlepeerip10。1。1。1interfaceEthTrunk1sourceip10。1。1。2 mintxinterval10 minrxinterval10 BFD检测时间 异步模式的检测时间接收到的远端DetectMultmax(本地的RMRI,接收到的DMTI),其中: DMTI(DesiredMinTxInterval):本端想要采用的最短BFD报文的发送间隔。 RMRI(RequiredMinRxInterval):本端能够配置的最短BFD报文接收间隔。 DetectMult(Detecttimemultiplier):检测时间倍数。 bfdbindpeeripdefaultip:缺省情况下,BFD的缺省组播地址为224。0。0。184 VPN静态路由Trackbfd iproutestaticvpninstanceVPNA1。1。1。1255。255。255。25510。2。1。1trackbfdsessionpe2toce1 bfdpe2toce1bindpeerip10。2。1。1vpninstanceVPNAinterfaceGigabitEthernet300sourceip10。2。1。2auto BFD状态与接口状态联动 bfdpisbindpeeripdefaultipinterfaceGigabitEthernet100 discriminatorlocal2 discriminatorremote1 processinterfacestatus BFD状态与子接口状态联动 bfdpissubbindpeeripdefaultipinterfaceGigabitEthernet100 discriminatorlocal2 discriminatorremote1 processinterfacestatussubif VRRP虚拟MAC地址:00005E0001{VRID}Vrrp组播地址224。0。0。18Vrrp根据优先级选举master,数值大的优先。优先级相同时,VRRP设备上VRRP备份组所在接口主IP地址较大的成为Master设备。IP地址拥有者优先级为255,通常将成为Master当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到MASTERDOWN定时器超时。这个切换的时间称为Skewtime,计算方式为:(256Backup设备的优先级)256,单位为秒。当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到MASTERDOWN定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。其中,MASTERDOWN定时器取值为:(3ADVERINTERVAL)Skewtime,单位为秒。Master设备会根据该定时器定期发送VRRP通告报文,缺省值为1秒VRRP协议包括两个版本:VRRPv2和VRRPv3。 VRRPv2仅适用于IPv4网路,VRRPv3适用于IPv4和IPv6两种网络。 VRRPv3不支持认证功能,而VRRPv2支持认证功能。 VRRPv3支持的是厘秒级,而VRRPv2支持的是秒级Vrrp的负载分担: 多网关负载分担:通过创建多个带虚拟IP地址的VRRP备份组,为不同的用户指定不同的VRRP备份组作为网关,实现负载分担。 单网关负载分担:通过创建带有虚拟IP地址的VRRP负载分担管理组LBRG(LoadBalanceRedundancyGroup),并向该负载分担管理组中加入成员VRRP备份组(无需配置虚拟IP地址),指定负载分担管理组作为所有用户的网关,实现负载分担。 NSR与NSF NSR依靠双主控,分布式结构,转发与控制分离实现业务不中断,不需要邻居协助 NSF(GR)是一个多点技术,需要邻居协助完成业务的不中断。 隧道保护技术 TEFRR:保护的是一个节点或一个链路。 TEhoststandby:是一种端到端的保护技术 TILFAFRR支持任意拓扑的节点和链路保护,能够弥补传统隧道保护技术的不足。 五、QOS 保证传输的带宽,降低传送的时延和时延抖动,降低数据的丢包率等。 带宽是传输路径上的最小带宽。时延包括传输时延、处理时延、排队时延。 QOS模型分为BestEffort(尽力而为)、IntegratedServicesModel(集成服务模型)、DifferentiatedServicesModel(区分服务模型) QOS标记: MPLS网络使用EXP、VLAN网络使用802。1p中的Priority、IPV4包头使用tos(以前使用IPPrecedence,现在使用DSCP)。 DSCP: DSCP使用TOS字段的前6bit,可将流量分为64类,DSCP定义了4类PHB: BEPHB(DefaultPHB),CSPHB,EFPHB,AFPHB DefaultDSCP:000000,DefaultPHB:先进先出(FIFO)、尾丢弃(Taildrop)。 CSDSCP:000000111000,CSPHB:为了兼容IPPrecedence,使用高三位比特对应IPPrecedence。 EFDSCP值:101110,EFPHB:保证最小的延迟,保证一定的优先带宽,超过规定带宽的流量被丢弃 AFDSCP值:分为四类,AF1AF4,高三位001100,每一类分为三个丢弃优先级对应第三位的010、100、110,AFPHB:保证一定数量的带宽,如果有空余带宽,可以占用额外带宽。 AF1 AF2 AF3 AF4 低丢弃率 001010hr010010hr011010hr100010hr中丢弃率 001100hr010100hr011100hr100100hr高丢弃率 001110hr010110hr011110hr100110hr流分类: 对于流量的分类,几乎可以依据报文的任何信息,比如可以根据报文长度、源IP地址、目的IP地址、源端口号、目的端口号、协议ID等进行流量的分类。 复杂流分类: 是指根据五元组(源目的地址、源目的端口号、协议类型)等信息对报文进行分类。 简单流分类: 利用IPPrecedence、DSCP、MPLSEXP、802。1P识别出各种类别的流,执行对应的PHB。 网络边缘:复杂流分类,标记分类结果,网络核心:简单流分类,执行对应的PHB。 流量监管和整形: 流量监管(Trafficpolicing): 监督进入或流出网络中某一流量的规格,限制它在一个允许的范围之内。一般在应用在入方向。由CAR技术实现,如果流量超标,将超标的报文丢弃或重新标记。 流量整形(Trafficshaping): 限制流出某一网络的某一连接的流量与突发。由GTS技术实现,如果流量超标,将超标的报文放入缓存队列,当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文。 拥塞管理: 当接口发生拥塞,利用拥塞管理技术解决资源竞争问题。拥塞管理利用队列调度策略来决定数据包处理的先后顺序。 FIFO:先进先出队列,尾丢弃 PQ:优先级队列,共8个队列,优先级高的先调度,尾丢弃。容易造成饿死现象。 CQ:自定义队列,共17个队列,其中0是优先级队列,116号队列可以按用户的定义分配它们能占用的接口带宽比例,在报文出队的时候采用RoundRobin调度方式。尾丢弃。 WFQ:加权公平队列,支持4096个队列。WFQ不允许用户通过ACL对报文进行分类,WFQ是根据流(flow)对报文进行动态分类,一个流的定义由报文的五元组(源IP、目的IP、协议号、源端口号、目的端口号)来确定,具有相同五元组特性的报文属于同一个流,使用Hash算法映射到不同的队列中。不同队列间根据流的IPPrecedence值决定享有的带宽比例。不同队列的报文在入队时都被赋予一个SN,SN小的报文优先被调度。当队列已满,使用WFQ机制丢弃后到达的报文。 SN计算:SN由报文长度和IP优先级决定,小字节、高优先级的报文被优先调度。 IPRTPQ:IPRTPQueuing,IPRTP优先队列 CBQ:ClassbasedQueuing,基于类的队列 拥塞避免: RED:RandomEarlyDetection,随机早期检测 WRED:WeightedRandomEarlyDetection,加权随机早期检测 五、IP网络新技术 Segmentrouting 特点: 1)、通过对现有协议(例如IGP)进行扩展,能使现有网络更好的平滑演进。 2)、同时支持控制器的集中式控制模式和转发器的分布式控制模式,提供集中式控制和分布式控制之间的平衡。 3)、采用源路由技术,提供网络和上层应用快速交互的能力。 收益: 1)、简化MPLS网络的控制平面。SegmentRouting使用控制器或者IGP集中算路和分发标签,不再需要RSVPTE,LDP等隧道协议。SegmentRouting可以直接应用于MPLS架构,转发平面没有变化。 2)、提供高效TILFA(TopologyIndependentLoopfreeAlternate)FRR保护,实现路径故障的快速恢复。在SegmentRouting技术的基础上结合RLFA(RemoteLoopfreeAlternate)FRR算法,形成高效的TILFAFRR算法。TILFAFRR支持任意拓扑的节点和链路保护,能够弥补传统隧道保护技术的不足。 3)、SegmentRouting技术更具有网络容量扩展能力。传统MPLSTE是一种面向连接的技术,为了维护连接状态,节点间需要发送和处理大量Keepalive报文,设备控制层面压力大。SegmentRouting仅在头节点对报文进行标签操作即可任意控制业务路径,中间节点不需要维护路径信息,设备控制层面压力小。此外,SegmentRouting技术的标签数量是:全网节点数本地邻接数,只和网络规模相关,与隧道数量和业务规模无关。 4)、更好的向SDN网络平滑演进。SegmentRouting技术基于源路由理念而设计,通过源节点即可控制数据包在网络中的转发路径。配合集中算路模块,即可灵活简便的实现路径控制与调整。SegmentRouting同时支持传统网络和SDN网络,兼容现有设备,保障现有网络平滑演进到SDN网络,而不是颠覆现有网络。 Segment分类 1)、PrefixSegment(前缀段):手工配置,IGP扩散,全局可见,全局有效。PrefixSID根据偏移值、SRGB计算生成MPLS转发表项。 2)、AdjacencySegment(邻接段):动态分配,也可以手工配置。IGP扩散,全局可见,本地有效。AdjacencySID为SRGB范围外的本地SID。 3)、NodeSegment(节点段):手工配置。NodeSegment是特殊的PrefixSegment。在节点的Loopback接口下配置IP地址作为前缀,这个节点的PrefixSID实际就是NodeSID。 4)、在路径中的每一跳,使用栈顶段信息区分下一跳。段信息按照顺序堆叠在数据头的顶部。当栈顶段信息包含另一个节点的标识时,接收节点使用等价多路径(ECMP)将数据包转发到下一跳。当栈顶段信息是本节点的标识时,接收节点弹出顶部段并执行下一个段所需的任务。 SegmentRouting标签冲突处理原则: 标签冲突分为前缀冲突和SID冲突,前缀冲突是指相同的前缀关联了两个不同的SID,SID冲突是指相同的SID关联到不同的前缀。 标签冲突处理原则:当冲突产生后,优先处理前缀冲突,之后根据处理结果再进行SID冲突处理,并按如下规则进行优选。 前缀掩码更大者优选;前缀更小者优选;SID更小者优选 SID的组合使用: Prefixsegment:按照最短路径转发 Adjacencysegment:显示严格路径 AdjacencysegmentPrefixsegment:显示松散路径 IGPforSRMPLS Isis:PrefixSIDSubTLV、AdjSIDSubTLV、LANAdjSIDSubTLV、SIDLabelSubTLV、SIDLabelBindingTLV、SRCapabilitiesSubTLV、SRLocalBlockSubTLV Ospf:Type10OpaqueLSA、及其它subTLV SRMPLSBE SRMPLSBE(SegmentRoutingMPLSBestEffort)是指IGP使用最短路径算法计算得到的最优SRLSP。SRLSP的创建过程和数据转发与LDPLSP类似。这种LSP不存在Tunnel接口。SRMPLSBE是一种替代IGPLDP方案的一种新方案。 SRMPLSFlexAlgo 灵活算法一般使用一个三元组表示:(metrictype,calctype,constraints),在实现中,给定一个ID表示唯一的一种算法,ISIS中算法ID取值范围128255,其中: 约束条件constraints包括: excludeadmingroup:不能包含任意一个引用的亲和属性名称 includeanyadmingroup:包含任意一个引用的亲和属性名称 includealladmingroup:包含所有引用的亲和属性名称 calctype:目前都使用spf metrictype:计算过程中使用的算法类型 ISIS使用SRAlgorithmTLV通告自己使用的算法,SRAlgorithmTLV只能在同一个isis级别里传播。 在同一个IGP域内,不同设备定义的算法值相同,但算法含义不一致,可以通过subTLV的priority字段进行优选,值大的优先,如果优先级相同,则选择systemid大的。 引流:通过color与FlexAlgo映射,BGP发布路由时通过策略给路由染色(设置color),这样将流量引入通过不同FlexAlgo计算出的隧道中。 SRMPLSTE 组件:信息采集组件、集中算路组件、信令组件、报文转发组件 传统MPLSTE组件:信息发布组件、路径计算组件、路径建立组件、报文转发组件 SRPolicy 可以由CLI、netconf、PCEP、BGPSRPolicy等多种方式生成。 SRPolicy由一个三元组标识(头端,color,尾端),其中color是一个32bit的团体属性值。 隧道下发:可以由BGPSRPolicy、PCEP、netconf实现,目前通常使用BGPSRPolicy 路径:一个SRPolicy可以包含多个候选路径,候选路径携带优先级(preference),优先级高的成为主路径,每条候选路径可以包含多个segmentlist,segmentlist配置weight值,可以根据weight值进行等价非等价负载分担。 BindingSID:每个SRPolicy可以定义一个bindingSID,BSID可以用于路径计算。 BGPforSRMPLS BGPEPE可为域间路径分配BGPPeerSID,包括PeerNodeSID(每个BGP会话)、PeerAdjSID(到达peer的邻接)、PeerSetSID(指示一组邻居),通过BGPLS使用LinkNLRI上报给控制器,控制器利用这些SID进行编排路径,实现跨域SR。 PeerNodeSID和PeerAdjSID均是局部标签,在本机有效。不同设备的PeerNodeSID和PeerAdjSID可以重复。 BGPSRpolicy的NLRI 当前BGPEPE只支持EBGP场景,多跳EBGP也必须通过物理链路直连,BGPEPE只分配SID,不建立隧道。BGPEPE不能与SRMPLSBE配合,只能和SRMPLSTE配合形成EPE隧道。 隧道接口及流量引入: SRMPLSBE无隧道接口,可通过VPN隧道策略,静态路由迭代,BGP路由迭代 SRMPLSTE有隧道接口,可通过vpn隧道策略,静态路由出接口,自动路由,策略路由 SRMPLSPolicy无隧道接口,可以通过color和DSCP进行引流。 SRV6 SRMPLS与普通的MPLS相比简化了控制平面,将传统的LDP、IGP、RSVPTE统一到了IGPSR。 SRV6与SRMPLS相比简化了转发平面,不再使用MPLS标签,直接使用IPV6转发。 SRV6可以简化现有网络协议,降低网络管理复杂度,更核心的优势是nativeIP转发和可编程性。可编程性体现在segmentlist、SID中的function、argumentoption 使用IPV6的43号标准扩展头路由扩展头(RH)的类型4(SRH)实现SRV6。 SRV6SID: SID组成:locatorfunctionargument(可选),SIDlength(LFA)128,当小于128位时,保留位填0。 Locator占用高64bit,网络里其他节点通过Locator网段路由就可以定位到本节点,同时本节点发布的所有SRv6SID也都可以通过该条Locator网段路由到达。 SID中的字母意义: end标识一个目的节点,表示终止当前指令,开始执行下一个指令。 X:表示一个或者一组三层接口转发报文。例如end。X T:代表查询路由表并转发报文 D:解封装 V:表示vlan U:表示根据单播MAC地址表转发 M:表示查询二层组播转发表进行转发 B6:表示应用指定的SRV6policy BM:表示应用指定的SRMPLSpolicy SRV6flavors(SRV6附加行为): USP:最后一跳弹出,与MPLS显示空标签0作用相似。 PSP:倒数第二跳弹出,与MPLS隐式空标签3作用相似。 USD:最后一个endpoint节点解封装外出IPV6报文。 SID类型: End、End。X、End。DT4、End。DX4、End。DT6、End。DX6、End。OP(OAM)、Src。DT4(组播VPN)、Src。DT6(组播VPN),其中: end由IGP发布,全局可见本地有效。可手工配置也可由IGP动态分配。 End。X由IGP发布,全局可见本地有效。可手工配置也可由IGP动态分配。 其它VPN类型的SID由BGP发布,可手工配置也可由BGP动态分配。 SID中的function可以由协议动态分配也可以静态配置,对应SID后面的功能选项(X、DT4、DT6等)。 LocatorDynamicOpcodeStaticOpcodeArgs 静态配置SID时,SID只占用静态段范围,静态段取值从1开始,动态段设置为0。动态分配SID时,SID会占用动态段和静态段范围,动态段取值从1开始,静态段取值从0开始。 SRV6节点: 源节点:可以是生产SRV6报文并且支持SRV6的设备,也可以是SRV6域的边缘设备。 源节点行为有封装和插入两种模式,具体有以下几种方式: H。insert、H。insert。Red、H。Encaps、H。Encaps。Red、H。Encaps。L2、H。Encaps。L2。Red 其中,Red(reduced)表示SRH中的segmentlist不包含已存在IPV6目的地址中的第一个segment 中转节点:SRV6报文转发路径上不参与SRV6处理的IPV6节点,中转节点只执行普通的IPV6报文转发。中转节点可以是普通的IPV6节点,也可以是支持SRV6的节点。 Endpoint节点:节点接收报文的IPV6目的地址是本地配置的SID,则该节点为endpoint节点,它定义本地生成的SID,指定绑定到这些SID的指令,存储和这些指令相关的转发信息,为报文提供转发、封装和解封装等服务。 SFC(servicefunctionchain):服务功能链 主要包含的服务:FW、IPS、应用加速器、NAT等。 SRV6AwareSF:能够识别SRV6报文并进行处理 SRV6unawareSF:不识别SRV6报文,收到后会丢弃,这种场景需要配置SF代理才能实现业务链。 组件:SFC域、分类器SC(位于SFC域边界入口)、转发节点SFF、功能节点SF,如果SF不支持SRV6则由SFF担任SF代理,将SRV6报文中的SRV6封装删除然后转发给SF,SF接收报文后进行功能处理然后转发给SFF,SFF重新封装SRV6报头并转发。 TILFA P空间: 以保护链路源端为根节点建立SPF树,所有从根节点不经过保护链路可达的节点集合称为P空间。 扩展P空间: 以保护链路源端的所有邻居为根节点分别建立SPF树,所有从根节点不经过保护链路可达的节点集合称为扩展P空间。P空间或者扩展P空间的节点称为P节点。 Q空间: 以保护链路末端为根节点建立反向SPF树,所有从根节点不经过保护链路可达的节点集合称为Q空间。Q空间的节点称为Q节点。 PQ节点: PQ节点是指既在(扩展)P空间又在Q空间的节点,PQ节点会作为保护隧道的目的端。 LFA: LFA(LoopFreeAlternate)算法计算备份链路的基本思路是:以可提供备份链路的邻居为根节点,利用SPF算法计算到达目的节点的最短距离,然后计算出一组开销最小且无环的备份链路。 RLFA: RLFA(RemoteLFA)算法根据保护路径计算PQ节点,并在源节点与PQ节点之间建立隧道形成备份下一跳保护。当保护链路发生故障时,流量自动切换到隧道备份路径,继续转发,从而提高网络可靠性。 TILFA: LFAFRR和RemoteLFA对于某些场景中,扩展P空间和Q空间既没有交集,也没有直连的邻居,无法计算出备份路径,不能满足可靠性要求。在这种情况下,实现了TILFA。TILFA算法根据保护路径计算扩展P空间,Q空间,Postconvergence最短路径树,以及根据不同场景计算RepairList,并从源节点到P节点,再到Q节点建立SegmentRouting隧道形成备份下一跳保护。当保护链路发生故障时,流量自动切换到隧道备份路径,继续转发,从而提高网络可靠性。 防微环 无论是正切防微环还是回切防微环,都是针对各个节点IGP路径收敛完成时间不一致的情况下,在源节点先于故障节点收敛时会产生微环的问题。而解决问题的方法是在源节点上延迟IGP路径收敛(部署定时器),同时使用TILFA或者显示路径进行数据转发,以避免环路。在IGP路径收敛完成后(定时器超时),切换到IGP路径转发数据。这里IGP路径是否收敛完成,源节点无法获知,而是通过延迟一段时间(部署定时器)收敛的方式等待故障点的收敛,在定时器失效之前始终使用repairlist进行数据转发。 正切防微环: 源节点在部署了TILFA备份路径的情况下,主路径发生故障时,立即使用TILFA备份路径进行流量转发,在IGP备份路径(IGP计算的路径)没有收敛完成之前,不进行TILFA备份路径到IGP备份路径的切换,直到IGP备份路径收敛完成后再进行TILFA备份路径到IGP备份路径的切换。 回切防微环: 源节点在使用IGP备份路径转发数据时,主用路径故障恢复,源节点通过添加添加端到端路径信息(显示路径),强制使数据包沿主用路径转发,直到主用路径收敛完成后,去掉显示路径信息,按照正常主路径转发。 Netconf分钟级别,实时性比较差,不能用于隧道托管。PCEP是实时协议,用于隧道托管。 SRpolicy包含多条候选路径优先级(越大越优先),优先级高的为主路径。每个候选路径可以包含多个段列表权重值,可以通过权重进行负载分担。某条段列表负载的流量:W1所有段列表权重之和。 推荐静态配置ENDSID和END。X,动态生产的SID如果设备重启,SID会变化,不利于维护。 VXLAN 通过24比特的VNI可以支持多达16M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。 除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能。 通过采用MACinUDP(4789端口)封装来延伸二层网络,实现了物理网络和虚拟网络解耦,租户可以规划自己的虚拟网络,不需要考虑物理网络IP地址和广播域的限制,大大降低了网络管理的难度。 VXLAN可支持VM在POD内、POD之间、虚拟数据中心之间进行迁移。 支持ECMP,充分利用现有网络,中间节点可不支持VXLAN。 VXLAN概念 NVE:网络虚拟边缘节点,实现网络虚拟化功能的网络实体。 VTEP:VXLANtunnelendpoint VNI:24bitVXLAN网络ID,支持16M用户。 BD:桥域VBDIF:BD域的三层虚拟接口。 VXLAN报文: 8字节(64bit),VXLAN报文封装在UDP报文中,目标端口号4789 VXLAN原理 VXLAN的简化理解,两次虚拟化,第一次是将整改underlay网络抽象成一台大交换机;第二次是利用VNI将这台大交换机虚拟出多个二层广播域。 VXLAN的水平分割:VXLAN通过头段复制列表将广播转换为单播转发。 VXLAN二层子接口封装类型对VLAN的处理: 配置流封装类型为dot1q时,只接收带有指定VLANTag的报文。 配置流封装类型为untag时,只接收不带VLANTag的报文。 配置流封装类型为default时,允许接口接收所有报文,不区分报文中是否带VLANTag。 配置流封装类型为qinq时,收到的报文带有两层及两层以上VLANTag,根据报文的前两层VLANTag识别是否接收。 VXLAN三层网关部署 集中式网关:对跨子网流量进行集中管理,网关的部署和管理比较简单,但转发路径不是最优,ARP表项存在瓶颈。 分布式网关:转发路径最优,没有ARP表项限制,扩展能力强,组网复杂,需要部署BGPEVPN FlexE FlexE包括FlexEClient,FlexEShim和FlexEGroup三个部分。 FlexEClient:对应于外在观察到的用户接口,为64、66bit的以太网码流,支持n5G速率。 FlexE主要功能: 通道化功能:将不同的Client的数据放在同一个PHY的不同时隙传输。 端口绑定功能:通过FlexEShim将多路PHY捆绑,以实现更大容量的端口。 子速率功能:将PHY的一部分时隙分配给Client。 IFIT 传统带外检测:NQA、Y。1731、TWAMP(发送探测报文,非真实业务) 传统带内检测:IPFPM(在优先级字段染色)、IOAM(逐跳增加信息,尾节点集中上报) IFIT功能: IFIT提供IP业务流级端到端、逐条sla(包括丢包、时延、抖动、实时流量)测量能力。必须配合时钟部署。 支持的网络: MPLSSRSRV6L3VPNL2VPN,目前仅仅支持L3VPN、EVPNV4移动业务场景。 iFIT的统计过程主要涉及三个对象: 目标流、目标流穿越的网络(TransitNetwork)、统计系统。 目标流根据生成方式的不同可以分为静态检测流和动态检测流两种。静态方式人为指定五元组,动态方式由带有IFIT头的流量触发产生。 IFIT检测模式: 端到端:仅头尾节点感知IFIT报文,中间节点bypass处理。 逐跳:业务路径沿途支持IFIT的节点都感知IFIT报文,中间节点不支持则默认转发。 在实际应用中,一般是E2EIFITTraceIFIT组合使用,当E2EIFIT的检测数据达到阈值时会自动触发TraceIFIT。 IFIT报文结构: ForSRmpls:使用保留标签12,必须在栈底。 ForSRV6:封装在SRH头中。 Bier和BierV6 传统组播技术的缺陷: 协议复杂,可扩展性差。 可靠性弱、用户体验不佳。 部署运维困难。 Bier使用mpls标签进行封装转发,BierV6使用IPV6的目的选项头(DOH,60)携带Bier头。 SDN及其相关协议 SDN:软件定义网络 转发面与控制面分离,SDN控制器通过openflow控制转发平面进行数据转发。 由于传统网络规模较大,如果直接使用软SDN,全部白盒化,更换所有硬件投入过大,对于提供传统硬件的厂商也非常不友好,所以出现了硬SDN,可以对现有的硬件设备进行改造,实现转控分离,提供灵活的业务编排、应用的快速上线等能力。 硬SDN体系架构分为应用层、控制层、数据转发平面,控制层与应用层通过北向接口通信,主要的协议有restful,控制层与转发平面通过通过南向接口通信,主要协议有netconf、snmp、telemetry、BGPLS、PCEP。 SNMP: SNMP主要用于网络管理,有v1、v2c、v3三个版本,SNMP封装在UDP中,管理站使用162端口,代理使用161端口。 Mib是一个按照层次结构组织的树状结构,每个被管理对象对应树形结构的一个叶子节点,成为一个object,拥有唯一的一个数字标识符(OID)。Mib节点一旦发布就和被定义的对象绑定,不能修改,mib节点不能被删除,只能将状态置为obsolete(废除)状态。 Mib分为公有和私有两种。 Snmp有五种报文:getrequest、getnextrequest、setrequest、getresponse、trap getrequest:从代理进程提取一个或多个参数值 getnextrequest:从代理进程按照字典序提取一个或多个参数值 setrequest:设置代理进程的一个或多个参数值 getresponse:返回一个或多个参数值。 上面前三种由管理站发出;第四种由代理发出,作为前三种的响应。 Trap:代理主动发出的报文。 SNMPv2c增加了2种报文: Getbulk:相当于执行多次getnextrequest操作,实现了网管端对被管理设备的信息群查询。 Informrequest:提供告警的确认机制。设备发送此保文后会等待网管端发送确认报文,如果没有收到,则重传,直到网管端回复确认或重传超时结束。 Netconf: NETCONF是基于可扩展标记语言XML的网络配置和管理协议,使用简单的基于RPC(RemoteProcedureCall)机制实现客户端和服务器之间通信。 NETCONF提供保护锁定机制,防止多用户操作产生冲突。 利用现有的安全协议提供安全保证,并不与具体的安全协议绑定。NETCONF传输层首选推荐SSH协议,XML信息通过SSH协议承载。 扩展性好:不同制造商设备可以定义自己的协议操作 NETCONF协议框架: NETCONF分为传输层、RPC层、操作层、内容层共四个层次。 YANG是专门为NETCONF协议设计的数据建模语言,数据通过yang模型生成XML文件。 NETCONFClient和Server之间使用RPC机制进行通信。Client必须和Server成功建立一个安全的、面向连接的会话才能进行通信。Client向Server发送一个RPC请求,Server处理完用户请求后,给Client发送一个回应消息。 Client的RPC请求和Server的回应消息全部使用XML编码。 RPC元素: :请求:应答:错误:未发生错误 NETCONF报文由三部分组成:Message(消息层)、Operations(操作层)、Content(管理对象层) BGPLS: 传统拓扑收集问题: 对上层控制器的计算能力要求较高,且要求控制器也支持IGP协议及其算法。 当涉及到跨IGP域拓扑信息收集时,上层控制器无法看到完整的拓扑信息,无法计算端到端的最优路径。 不同的路由协议分别上送拓扑信息给上层控制器,控制器对拓扑信息的分析处理过程比较复杂。 BGPLS路由: 携带网络拓扑信息的介质,一共有六种BGPLS路由,分别用来携带节点、链路、路由前缀信息、IPv6路由前缀信息、SRv6SID路由信息和TEPolicy路由信息。这几种路由相互配合,共同完成拓扑信息的传输。 为了减少与控制器连接的数量,可以选择一台(或几台)设备作为BGPLS反射器,需要与控制器建立BGPLS邻居的设备都与反射器建立邻居关系。 PCEP: PCE是一种基于MPLSTE开发的一种集中路径计算方式。 PCC为ingress节点,是路径计算的需求端,PCEP运行IGPTE收集网络拓扑资源,形成TEDB,统一算路。PCC与PCE之间使用PCEP通信,PCEP使用tcp端口4189。 三种PCE模式: 无状态:仅用于TEDB计算LSP路径。 被动有状态:TEDB和LSPDB用于路径计算,路径计算有PCC触发,PCE不会主动更新名下托管的LSP状态和参数。 主动有状态:LSP托管至PCE服务器,PCE除了计算路径以外还会更新名下托管的LSP的状态和参数。 Telemetry: 是一项远程的从物理设备或虚拟设备上高速采集数据的技术。设备通过推模式(PushMode)周期性的主动向采集器上送设备的接口流量统计、CPU或内存数据等信息,相对传统拉模式(PullMode)的一问一答式交互,提供了更实时更高速的数据采集功能。 狭义的Telemetry是一个设备特性,广义的Telemetry是一个闭环的自动化运维系统,由网络设备、采集器、分析器和控制器等部件组成,分为网管侧和设备侧。 静态配置:控制器通过命令行配置支持Telemetry的设备,订阅数据源,完成数据采集。 推送采样数据或自定义事件:网络设备依据控制器的配置要求,将采集完成的数据或自定义事件,上报给采集器进行接收和存储。 读取数据:分析器读取采集器存储的采样数据或自定义事件。 分析数据:分析器分析读取到的采样数据或自定义事件,并将分析结果发给控制器,便于控制器对网络进行配置管理,及时调优网络。 调整网络参数:控制器将网络需要调整的配置下发给网络设备;配置下发生效后,新的采样数据或自定义事件又会上报到采集器,此时Telemetry网管侧可以分析调优后的网络效果是否符合预期,直到调优完成后,整个业务流程形成闭环。 对于Telemetry设备侧:Telemetry原始数据数据模型编码格式传输协议; 对于Telemetry网管侧:Telemetry收集系统存储系统应用分析系统 原始数据: Telemetry采样的原始数据可来自网络设备的转发面、控制面和管理面,目前支持采集设备的接口流量统计、CPU或内存数据等信息。 数据模型: Telemetry基于YANG模型组织采集数据。YANG是一种数据建模语言,用于设计可以作为各种传输协议操作的配置数据模型、状态数据模型、远程调用模型和通知机制等。 编码格式: 支持GPB(GoogleProtocolBuffer)、JSON(JavaScriptObjectNotation)编码格式。 传输协议: 支持gRPC协议(googleRemoteProcedureCallProtocol)、支持UDP协议。 SDN 传统网络面临的问题: 网络太拥塞、设备太复杂、运维太困难、新业务部署太慢、数据中心网络虚拟化是趋势。 传统网络部署: 控制面和数据面在同一个硬件设备上,设备分布式部署,每个设备独立进行计算、配置和管理。 SDN: 是一种新型网络创新架构,将控制面和数据面部署在独立的两套硬件上。 SDN特点: 控制平面和数据平面分离,集中式组网,开放接口 SDN和NFV的本质及区别: SDN是面向网络的,其本质是把网络软件化,提高网络的可编程能力和易修改性,它没有改变网络的功能,而是重构了网络的架构。 NFV是面向设备的,其本质是把专用硬件设备变成一个通用软件设备,共享硬件基础设施,它没有改变设备的功能,而是改变了设备的形态。 SDN的三层模型: SDN模型分为协同应用层、控制层、转发层(又称基础架构层)三个层次。 Openflow协议是构建SDN解决方案的基本要素。 SDN的转发层: 由转发器和连接转发器之间的线路构成基础转发网络,转发表项由控制器生产并通过南向接口下发给转发器,转发表项可以是2层或者3层,转发器上报网络资源信息和状态,接收控制器下发的转发信息,按照转发表项转发数据。 OVS是开源的虚拟交换机,部署在虚拟化计算节点,提供VM之间、VM与物理网络之间的数据交换。OVSDB就是负责管理和配置OVS的一个管理协议。 SDN控制层: 控制层是系统的控制中心,负责网络内部交换路径和边界业务路由的生成,并负责处理网络状态变化事件。 SDN协同应用层: 完成用户意图的各种上层应用程序,典型的协同层应用包括:OSS、Openstack等。它和控制层通过北向接口交互,主要有restful Rest是一种www服务的软件架构风格,并不是一种具体的标准或架构,其宗旨是从资源的角度观察整个网络,分布在各处的资源由URI确定。倾向于用更加简单轻量的方法设计和实现。而基于rest架构的服务称为restful。 SDN接口: 以控制器为视角 北向接口:restful、snmp、restconf。 南向接口:pcep、netconf、snmp、telemetry、BGP、BGPLS、OVSDB、openflow SDN标准化组织: ONF:定义了openflow,谷歌、微软等参与创建。 ITUT:定义了SDN环境和相关架构用于在运营商网络上运行。 ETSI:参与NFV标准化,相对独立。 IETF:倾向于网络厂商,关注怎样在现有的设备上运行SDN Opendaylight:主要是厂商参与,不推广openflow ONOS:倾向于运营商,主要由各大运营商组成,根据运营商网络特点进行软件架构设计。 SDNDCN 概念: DC、vDC、VPC、spine、leaf、fabric、serverleaf、serviceleaf、borderleaf、NVE、VTEP vDC一虚多:一个DC内划分为多个vDC。 多虚一:多个DC通过DCI互联成为一个DC 华为云数据中心网解决方案组成: 云平台、控制器、网络、服务器 单数据中心组网架构: 协同应用层、控制层、fabric网络层、服务器层 组件间的接口: AC云平台:restful ACVMM:RPC进行虚拟化感知。 AC软硬件防火墙:netconf进行配置。 AC物理交换机的VTEP:netconf、openflow进行VXLAN配置和流表下发。 ACvswitch:OVSDB、openflow进行vswitch的配置和流表下发。 SDNDCN的Overlay部分vxlan组网方案(根据软硬件区分): 硬件overlay:vxlan隧道端点全部在硬件交换机上。 软件overlay:vxlan隧道端点全部在软件交换机上(服务器上的EVS即Vswitch)。 混合overlay:接入VM的VTEP部署在EVS上,接入BM的VTEP部署在物理交换机上。 软硬件overlay方案区别: 软件方案:VTEP在虚拟交换机上,TOR交换机不需要虚拟感知,实现简单,但要消耗服务器资源,影响性能,故障定位与流量识别困难。 硬件方案:VTEP在硬件交换机上,故障定位与流量识别容易,高性能,线速转发,但需要TOR交换机具备虚拟感知能力,功能灵活性受厂芯片商限制。 SDNDCN的Overlay部分组网方式(根据网关部署情况区分): 集中式overlay组网:三层网关集中在某几台设备上,二层网关分布部署在leaf上 分布式overlay组网:三层网关部署在leaf上。 SDNDCN的underlay部分组网方案: 整体三层架构:分为leaf、spine、gateway(borderleaf)三层。 整体两层架构:分为leaf、spine(兼做GW)两层。 Leaf节点接入:TOR单机部署、TOR堆叠部署、TOR部署MLAG、TOR部署SVF。 Leaf节点部署:全解耦、全融合(网关、borderleaf、serviceleaf和spine融合)、部分解耦A、部分解耦B。 网关(三层)部署:网关与spine融合部署、网关与spine分离部署。 网关可靠性部署:传统堆叠、多活网关、多组网关 云平台业务模型: POD(最小交付单元)作为承载业务的基本部署单元。 VPC作为DC资源出租单元,租户以VPC为粒度进行资源租用。VPC不支持跨POD。 VPC组成元素:subnet(IP子网)、network(一个二层网络,可包含一个或多个(配置从地址)subnet)、vfw、vLB 算力网络 算力单位: ZFLOPS、GFLOPS、TFLOPS、 算力网络发展驱动因素: 算力供给和需求高速增长、算网融合趋势、东数西算布局 算力网络的目标是实现: 算力泛在、算网共生、智能编排、一体服务 算力网络特点: 精准业务调度,可靠性,边云协同、边边协同,边缘计算业务多接入方式协同,流粘性的保持。 移动发展算力网络的先天优势: 网络优势、身份优势、定位优势 算力网络演进路径及特征: 起步阶段(20212023年)泛在协同:网随算动、协同编排、协同运营、一站服务 发展阶段(20242025)融合统一:算网融合、智能编排、统一运营、融合服务 跨越阶段一体内生:算网一体、智慧内生、创新运营、一体服务 算力网络体系架构: 运营服务层:算网运营 编排管理层:算网大脑 算网基础设施层:算网底座 算力网络安全体系: 安全管理(合规):态势感知、审计溯源、零信任管理、可信管理、联邦安全协同 数据安全(资产):数据标记、隐私计算、区块链 算网安全(环境):内生安全、全程可信 算力网络的典型应用场景: 赋能生活:个人生活场景、家庭生活场景 赋能行业:未来生产模式、智慧交通场景、智慧医疗场景 赋能社会:开创社会算力交易新业态 报文长度总结: 报文类型 报头长度 IP 20字节 IPV6 40字节 OSPF 24字节 OSPFv3 16字节 以太帧 帧头14字节,FCS4字节 802。1Q 4字节 vlan 12bit vxlan 8字节 VNI 24bit MPLS头部 32bit MPLS标签 20bit