数通学习笔记

一、路由协议:

OSPF

1、OSPF区域的划分:

由于详细链路状态信息不会被发布到区域以外,因此划分区域可以使LSDB的规模大大缩小。减小LSDB规模可以:

减轻路由器负担。

增强稳定性,减小因LSDB更新引起的震荡范围。

2、OSPF邻居:

OSPF 链路两端接口网络类型配置不一致,一端为广播,一端为点到点,邻居可以建立,但路由学习异常。

华为路由器OSPF默认不检查接口MTU,邻居建立不受此影响。

3、OSPF LSA

LS type,Link State ID和Advertising Router的组合共同标识一条LSA

OSPF LSA序列号累加、age 累加。ISIS LSP序列号累加,age递减。

5类、7类LSA forwarding address 的设置

对于5类LSA:

所引入外部路由的下一跳如果在OSPF路由域内,则Forwarding Address应设置为此外部路由的下一跳。

如果所引入外部路由的下一跳不在该 OSPF路由域内,则Forwarding Address应设置为0.0.0.0

对于7类LSA的Forwarding Address设置规则如下:

如果Options字段显示此LSA不可以被转换成第五类LSA,则Forwarding Address 可以被设置成0.0.0.0。

如果Options字段显示此LSA可以被转换成第五类LSA,则Forwarding Address不能被设置0.0.0.0。如果所引入外部路由的下一跳在OSPF路由域内,则Forwarding Address直接设置为所引入外部路由的下一跳;

如果所引入外部路由的下一跳不在OSPF路由域内,则Forwarding Address设置为该ASBR上某个OSPF路由域内的Stub网段(例如Loopback0接口)的接口IP地址,有多个Stub网段时选IP地址最大者。

4、OSPF外部路由:

第一类外部路由永远比第二类外部路由优先,无论cost是多少。

5、OSPF特殊区域:

为了防止外部路由信息重复,在一个NSSA有多个ABR的时候,只允许一个ABR可以把NSSA-LSA转换成AS-external-LSA,这个ABR称为此NSSA的Translator。Translator基于Router ID选举。NSSA的ABR会在Router-LSA中使用一个Bit标识自己是NSSA的ABR,通过检查区域中的Router-LSA,每个NSSA的ABR都可以维护一个ABR列表,从中选举Router ID最大的做为Translator

6、OSPF缺省路由:

Nssa default-route-advertise:

该参数只用于NSSA区域的ABR或ASBR才有意义,配置后,对于ABR,不论本地是否存在缺省路由,都将生成一条Type-7 LSA向区域内发布缺省路由;对于ASBR,只有当本地存在缺省路由时,才产生Type-7 LSA向区域内发布缺省路由.

OSPF缺省路由的发布原则如下:

OSPF设备只有具有对外的出口时,才能够发布缺省路由LSA。

如果OSPF设备已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。即路由计算时不再计算其它路由器发布的相同类型的缺省路由LSA,但数据库中存有对应LSA。

外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由。

路由器发布缺省路由时会检查区域0是否有状态为full的邻居,当区域0仅有状态为full的邻居时,缺省路由才会发布。

由于OSPF路由的分级管理,Type3缺省路由的优先级高于Type5和Type7路由。

Stub Area、Totally Stub Area: ABR会自动产生一条缺省的Summary LSA(Type3 LSA)通告到整个Stub/Totally Stub区域内。

NSSA Area、Totally NSSA Area:ABR会自动产生缺省的Type3 LSA和Type7 LSA通告到整个NSSA Area、Totally NSSA区域内。Type7 LSA缺省路由不会在ABR上转换成Type5 LSA缺省路由泛洪到整个OSPF域。

7、Stub路由器和LSDB过载 :

stub-router:

该命令通过增大该设备所生成的LSA中的链路的度量值(65535),告知其它OSPF设备不要使用这个Stub设备来转发数据。非Stub网段的开销为65535,Stub网段的开销不变,所以到自身接口及网段的流量不受影响。

lsdb-overflow-limit :

当LSDB中的第五类LSA超过配置的最大条目数时,路由器进入超载状态,进入超载状态时,路由器将自身产生的第五类LSA在网络中老化,并不再生成第五类LSA。

处于超载状态的OSPF路由器可以接收其他路由器生成的第五类LSA,但是数量不能超过配置的最大限制,如果新接收的第五类LSA使LSDB中的第五类LSA可能超过配置的最大限制,则新接收的第五类LSA将被丢弃。

8、OSPF VPN(OSPF多实例):

防环机制:通过设置DN及tag防止环路:

3类和5类的DN位设置:

DN bit 置位发生在PE设备上,当PE上的OSPF多实例中引入BGP时,BGP传递过来的3类及5类LSA放入OSPF进程中时DN置1 。

DN bit的检查发生在CE或PE的OSPF多实例中,OSPF未绑定VPN时不检查DN位。

DN bit的最终目的是在OSPF多实例环境中防止PE发出的LSA再回到PE上。

5类LSA tag设置:

根据华为文档解释,VPN route tag 的设置发生在PE设备上,只有当PE将收到的私网路由产生的5、7类LSA的时候打上tag,但在模拟器实验时,当路由器是PE角色时(有MBGP邻居),无论PE的OSPF多实例是否引入BGP路由,OSFP多实例都会将引入的外部路由(包括引入的直连、静态或其他协议路由)打上tag,tag值由AS号转换而来。

DN-bit-set,DN-bit-check,vpn-instance-capbility simple 这三条命令:

DN-bit-set:可以对3、5、7类LSA分别设置,也可以关闭。

DN-bit-check:检查DN位,置1则不处理,LSA正常接收,可以对3、5、7类分别检查,还可以对不同router-id分别检查。

vpn-instance-capbility simple:对DN位及tag都生效,配置此命令后将取消DN和tag检查。

前两种多用于跨域VPN中,当PE与CE、ASBR之间使用OSPF时,ASBR之间传递路由时使用。后一种多用于MCE场景,当CE启用了OSPF多实例的情况下使用。

9、OSPF快收敛:

SPF计算时间:可以通过配置设置为固定值interval1或者使用智能定时器,

spf-schedule-interval interval1 | intelligent-timer max-interval start-interval hold-interval

智能定时器规则:

初次计算SPF的间隔时间由start-interval参数指定。

第n(n≥2)次计算SPF的间隔时间为hold-interval×2(n-2)。

当hold-interval×2(n-2)达到指定的最长间隔时间max-interval时,OSPF保持计算SPF的时间间隔一直使用最长间隔时间。

如果距离上次SPF计算时间间隔超过最大计算间隔max-interval,并且在该时间内无震荡,则退出智能定时器。

在上次SPF计算间隔内没有发生震荡的情况下,本次计算间隔内如果发生震荡,则SPF计算延时start-interval,SPF计算结束后使用本次计算间隔。

LSA更新时间:lsa-originate-interval

LSA接收间隔:lsa-arrival-interval

OSPFV3

OSPFv3是基于链路运行的,取消了编址性的语义,Router ID,Area ID和LSA的Link State ID仍然为32位,只作编号使用。使用链路本地地址作为路由的下一跳,而Virtual-Link除外。

在同一个链路上使用多个OSPF实例,OSPFv2通过认证实现,而OSPFv3 通过在OSPF包头中添加Instance ID字段,以及修改OSPF接口数据结构实现的。Instance ID值影响OSPF包的接收行为。如果接口的Instance ID与其所接收的OSPF包的Instance ID不匹配,则丢弃该包。

OSPFv3本身取消了认证字段,认证依靠IPV6协议实现。

OSPFv3 LSA:

OSPFv3使用Link-LSA与Intra-Area-Prefix-LSA发布前缀。

一个链路范围内的IPv6前缀信息由link-LSA负责通告;

intra-area-prefix-LSA负责把IPv6前缀公告到本区域范围内

未知LSA的处理:

OSPFv2丢弃任何未知类型的LSA。

OSPFv3 根据LS type 字段中的LSA Handling位决定如何处理LSA。

要么只泛洪到本地链路上。

要么把它当作类型已知的LSA来处理,也就是存储下来并泛洪出去。对于本路由器来说,因为这个LSA类型是未知的,所以不把这个LSA纳入计算过程中。





OSPFv3 LSA的泛洪范围增加了“链路本地范围”,对于LSA的泛洪范围,明确写入了LSA头部的LSA-type字段中。

U:标识对未知LSA的处理方法,S2和S1:标识LSA的泛洪范围。

00:链路本地泛洪范围

01:区域泛洪范围

10:AS泛洪范围

11:保留

LSA类型

LSA作用

Router-LSA(Type1)

设备会为每个运行OSPFv3接口所在的区域产生一个LSA,描述了设备的链路状态和开销,在所属的区域内传播。

Network-LSA(Type2)

由DR产生,描述本链路的链路状态,在所属的区域内传播。

Inter-Area-Prefix-LSA(Type3)

由ABR产生,描述区域内某个网段的路由,并通告给其他相关区域。

Inter-Area-Router-LSA(Type4)

由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。

AS-external-LSA(Type5)

由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。

NSSA LSA(Type7)

由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。

Link-LSA(Type8)

每个设备都会为每个链路产生一个Link-LSA,描述到此Link上的link-local地址、IPv6前缀地址,并提供将会在Network-LSA中设置的链路选项,它仅在此链路内传播。

Intra-Area-Prefix-LSA(Type9)

每个设备及DR都会产生一个或多个此类LSA,在所属的区域内传播。
设备产生的此类LSA,描述与Route-LSA相关联的IPv6前缀地址。
DR产生的此类LSA,描述与Network-LSA相关联的IPv6前缀地址。


Advertising Router

泛洪范围

Link-State ID





























ISIS

SYSTEM ID:

华为规定为6个字节,一台路由器配置最多3个NET。一个路由域中的System ID必须有相同的长度,一个中间系统的所有NET 必须有相同的System ID

ISIS邻居建立

检查的参数:

1、最大区域地址数:默认值是0(表示支持3个区域地址),这个值必须一致;

2、System ID长度:默认值是0(表示System ID长度为6字节),这个值必须一致;

3、Area ID和路由器类型:如果Area ID一样,则可以建立Level-1和Level-2的邻接关系;

如果不一样,则只能建立Level-2的邻接关系;

4、认证:如果配置了认证,则认证参数必须匹配;

5、IP地址网段:同一网段检查,此项为华为特性。由于IS-IS直接承载在数据链路层之

上,理论上是不需要进行同一网段的检查。华为 VRP提供了这一新功能,进行同一网段

检查,保证邻居关系的正确建立。

DIS选举:

各层次选举自己的DIS,抢占式,比较顺序:接口优先级—snpa地址(LNA中指MAC)— system-ID ,数值越大越优先。

接口优先级范围0-127,默认64.

握手机制:

点到点链路上邻居形成为2次握手,在后续的新TLV中定义了三次握手机制。

广播链路上邻居形成为3次握手,有level 1和level 2 两种hello报文,根据接口配置的链路类型来确定发送哪种hello,如果链路类型是level-1-2,则两种都发送。

ISIS计时器:

Hello时间

点到点链路上默认hello时间10s,hold 时间 3倍hello时间。

广播链路上,DIS发送Hello时间为普通路由器的1/3,其它路由器上检测DIS的hold时间为一个hello

默认 DIS发送hello 3s ,其它路由器检测DIS的hold为10s,其它路由器hello与点到点链路相同。

DIS 周期更新CSNP时间 10s

ISIS数据库周期泛洪时间15分钟,老化时间20分钟,零剩余生存时间60s

ISIS的cost:

窄度量:采用6-bit 的接口开销,范围1-63;10-bit的路径开销,范围1-1023 。

宽度量:采用24-bit的接口度量和32-bit的路径度量

narrow-compatible:表示既可以接受narrow 的报文,也可以接受wide的报文,对于

发送,却是只发送narrow的报文。

wide-compatible:表示既可以接受narrow的报文,也可以接受wide的报文,对于发

送,却是只发送wide的报文

ISIS 认证:

接口认证:在接口视图下配置,对Level-1和Level-2的Hello报文进行认证。

区域认证:在IS-IS进程视图下配置,对Level-1的CSNP、PSNP和LSP报文进行认证。

路由域认证:在IS-IS进程视图下配置,对Level-2的CSNP、PSNP和LSP报文进行认证。

ISIS的路由计算:

在路由计算中,路由代表叶子,路由器则代表节点。如果I-SPF计算后的SPT改变,PRC会只处理那个变化的节点上的所有叶子;如果经过I-SPF计算后的SPT并没有变化,则PRC只处理变化的叶子信息。

isis v6增加的TLV:

IPv6 Reachability TLV [Type 236] [0xEC]

IPv6 Interface Address TLV [Type 232] [0xE8]

BGP

BGP认证:

BGP协议本身没有认证,认证是通过TCP选项字段进行的。

BGP AS号:

普通BGP AS号长度为2字节,范围1-65535,1-64511为公有AS,64512-65535是私有AS号。

目前AS号已扩展为4字节,与2字节AS号兼容,4字节AS分为整数和点分两种形式,点分形式用x.y表示,换算关系是:整数形式的4字节AS号=x*65536+y 。需要注意的是调整4字节AS号的显示格式会影响AS-Path正则表达式和扩展团体属性过滤器的匹配结果。

4字节AS号与2字节的兼容:

标准协议定义了2种新的可选过渡属性AS4_Path(属性码为0x11)和AS4_Aggregator(属性码为0x12)用于在Old Session上传递4字节AS信息。

BGP的Open消息头是固定的,其中My AS Number字段填写的是本地AS号,但是My AS Number字段只占有两个字节,无法填充4字节的AS号。因此New Speaker在发送Open消息时,将AS_TRANS号23456填充到My AS Number字段,而将自己实际的4AS Number填写在可选能力字段,这样邻居间就能通过Open消息的可选能力字段获知对方是否支持4字节AS能力。

BGP的路由更新:

BGP初始化时发送所有的路由给BGP对等体,同时在本地保存了已经发送给BGP对等体的路由信息。

当本地的BGP收到了一条新路由时,与保存的已发送信息进行比较,如未发送过,则发送,如已发送过则与已经发送的路由进行比较,如新路由更优,则发送此新路由,同时更新已发送信息,反之则不发送。

当本地BGP发现一条路由失效时,如果路由已发送过,则向BGP对等体发送一个撤消路由消息。

BGP路由通告原则:

1、连接一旦建立,BGP Speaker将把自己所有BGP最优路由发布给新对等体。存在多条有效路由时,BGP Speaker只将最优路由发布给对等体。

2、BGP Speaker只把自己使用的路由通告给对等体

3、BGP Speaker从EBGP获得的路由会向它所有BGP对等体发布(包括EBGP对等体和IBGP对等体)。

4、BGP Speaker从IBGP获得的路由不向它的IBGP对等体发布。

5、BGP Speaker从IBGP获得的路由是否通告给它的EBGP对等体要依据IGP和BGP同步的情况。

BGP的属性

公认必须遵循的(Well-known mandatory):所有BGP设备都可以识别,且必须存在于Update消息中。如果缺少这种属性,路由信息就会出错。

公认任意(Well-known discretionary):所有BGP设备都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来选择。

可选过渡(Optional transitive):在AS之间具有可传递性的属性。BGP设备可以不支持此属性,但它仍然会接收这类属性,并通告给其他对等体。

可选非过渡(Optional non-transitive):如果BGP设备不支持此属性,则相应的这类属性会被忽略,且不会通告给其他对等体。

BGP路由优选

1、丢弃下一跳不可达路由

2、优选协议首选值(PrefVal)最高的路由。

3、优选本地优先级(Local_Pref)最高的路由。

4、优选本地生成的路由:优选聚合路由,手动聚合优于自动聚合路由,network命令引入的路由的优先级高于通过import-route命令引入的路由。

5、优选AS路径(AS_Path)最短的路由。

6、比较Origin属性,依次优选Origin类型为IGPEGPIncomplete的路由。

7、优选MED(Multi Exit Discriminator)值最低的路由。

8、优选从EBGP邻居学来的路由(EBGP路由优先级高于IBGP路由)

9、优选到BGP下一跳IGP Metric较小的路由。

到此步骤,如果以上全部相同,则可以进行负载,如果负载未开启则继续比较以下条件:

10、优选Cluster_List最短的路由。

11、优选Router ID最小的路由器发布的路由。

12、比较对等体的IP Address,优选从具有较小IP Address的对等体学来的路由。

BGP路由聚合

summary automatic命令对BGP引入的路由按照自然网段进行聚合,对network命令引入的路由无效

aggregate该命令可以对BGP本地路由表中的路由进行手工聚合。缺省情况下手动聚合后会把明细路由和聚合路由一起发布。

BGP反射器:

Cluster_List属性:

用于防止AS内部的环路。cluster id用于标识一个RR或者一个RR集群,可以将一个集群的RR配置相同的cluster id,缺省情况下,反射器使用自己的Router ID做为Cluster ID。

路由反射器使用CLUSTER_LIST,记录反射路由经过的所有CLUSTER_ID,Cluster_List由路由反射器产生。当RR接收到一条更新路由时,RR会检查Cluster_List。如果Cluster_List中已经有本地Cluster_ID,丢弃该路由。

Originator_ID属性:

当一条路由第一次被RR反射的时候,RR将接收到路由的始发者router-id(本地AS始发路由:BGP宣告者的Router ID,非本地AS始发路由:本地AS的边界路由器的Router ID)做为Originator_ID属性加入这条路由,标识这条路由的发起路由器。

如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID。

当其他BGP Speaker接收到这条路由的时候,将比较收到的Originator_ID和本地的Router ID,如果两个ID相同,BGP Speaker会忽略掉这条路由,不做处理。

BGP dampening:

dampening只对EBGP路由生效,dampening ibgp命令只对BGP VPNv4路由生效。

dampening half-life-reach reuse suppress ceiling

half-life-reach: 半衰期,单位分值,缺省15分钟,取值1-45

Reuse:解除抑制阈值

Suppress:抑制阈值

Ceiling:惩罚上限

BGP对等体组:

IBGP对等体组:所包括的对等体属于同一个内部AS。

纯EBGP对等体组:所包括的对等体属于同一个外部AS。

混合EBGP对等体组:所包括的对等体属于不同的外部AS。

Tips:

IBGP将本地始发路由发布给IBGP邻居时,不携带AS号

二、隧道技术

MPLS/MPLS-TE

MPLS标签空间:

20个bit,特殊标签:

0 IPV4显示空标签,倒数第二跳正常压入值为0的MPLS标签。

3 隐式空标签,倒数第二跳检测如果下游分配的式值为3的标签,则直接弹出MPLS标签,将IP报文转发给最后一跳。

2 IPV6显示空标签,

FEC分类:

FEC可以根据地址、业务类型、QoS等要素进行划分。

LDP协议:

LDP消息承载在UDP(本地)或TCP(远程连接)之上,端口号为646。

两个LSR都从对端发来的Hello Message中获得对端用于建立TCP连接的地址,然后比较两个地址的大小,地址大的作为主动方发起TCP连接。

LDP Identifier后2Bytes填充0时表示基于平台的标签空间。帧模式封装的MPLS使用基于平台的标签空间,信元模式的MPLS使用基于接口的标签空间。

LDP标签的分发、控制和保持:

分发方式:DU(Distribution Unsolicited)和DOD(Distribution on Demand)。下游自主,下游按需

控制方式:Ordered和Independent。有序和独立

保持方式:Conservative和Liberal。自由和保守

华为vrp平台采用DU+Ordered+Liberal方式。

MPLS环路检测:

MPLS要依靠IGP建立LSP ,IGP本身有TTL做为环路检测机制。帧模式的MPLS中使用TTL,信元模式的MPLS中无TTL。MPLS对于TTL的处理有两种方式:

1、Uniform模式:拷贝IP TTL值。IP报文在进入MPLS网络的时候,入口处TTL减1,拷贝至MPLS头部;MPLS域只对MPLS TTL处理,IP TTL不变;出口处弹出标签时将MPLS TTL拷贝回IP头部。

2、Pipe模式:TTL统一设置为255。IP报文在进入MPLS网络的时候,入口处IP头TTL减1,MPLS头TTL设置为255;MPLS域只对MPLS TTL处理,IP TTL不变;出口处弹出标签,IP头标签TTL值不变。

LDP环路检测机制,距离向量法,最大跳数法。

LDP路径向量法和最大跳数法分别通过两类TLV实现:Path Vector TLV 和 Hop Count TLV 。LDP通过把自己的LSR ID加到Path Vector TLV的列表中,Hop Count TLV 经过一个LSR加1。如果LSR发现Path Vector TLV列表中出现自己的LSR ID或者Hop Count 超过设定值则认为发生环路,拒绝建立LSP。

目前主流的MPLS TE实现方式:

RSVP-TE:RSVP-TE技术较为成熟,已经规模运用,但技术本身较为复杂,扩展性较差。

CR LDP-TE:CR LDP-TE技术不太成熟,基本没有运用,但是比较简单,扩展性较好。

MPLS TE组件:

四大组件:信息发布组件、路径计算组件、信令组件(或称路径建立组件)、报文转发组件。

高级特性:FRR(Fast Reroute)、隧道的备份(Backup)、带宽的自动调整(Auto Bandwidth Allocation)、路径的重优化(Reoptimum)。

MPLS TE 实现:

1.通过扩展OSPF和ISIS协议,泛洪带有带宽、链路属性等参数的链路状态信息;

2.通过扩展的CSPF(Constraint Shortest Path First)算法,计算从源到目的地的最佳路径;

3.通过对RSVP协议的扩展,建立端到端的LSP,同时进行标签的分配;

4.最后,把流量注入到LSP隧道中。

MPLS TE 发布的信息:

1、链路状态信息-IGP本身就具有

2、TE Metric:可手工配置,手工配置后建立路径是使用TE metric ,IGP Metric将被忽略。

3、带宽信息

4、管理组和亲和属性

带宽信息包括:最大物理带宽、最大可预留带宽、每优先级的当前可用带宽。TE隧道有0-7共8个优先级,0的优先级最高,高优先级隧道可抢占低优先级隧道的带宽。

带宽的重大变化:在VRP的实现中,默认定义的阈值是10%。即变化量与剩余带宽的比值大于等于10%,即泛洪带宽信息。

管理组即为链路属性,32bit,可用用来给链路着色。

亲和属性为隧道属性,32bit 。

掩码,32bit,可以和管理组及亲和属性与操作。

隧道优先级分为建立优先级和保持优先级。抢占时,将新建隧道的建立优先级和原有隧道的保持优先级进行比较。

这4种信息由OSPF Type=10的不透明LSA(Opaque LSA)和 isis Type=135 Wide Metric、Type=22 IS可达性TLV发布。泛洪之后形成TEDB数据库,TEDB与IGP路由的LSDB完全独立。

MPLS TE 路径计算

CSPF有两个计算依据:

1、待建立隧道的隧道属性,这些都在隧道的入口处配置;例如metric、显示路径等。

2、流量工程数据库TEDB。

CSPF的计算过程如下:

1、针对待建立隧道的隧道属性,先对TEDB中的链路进行裁剪,把不满足属性要求的链路剪掉;

2、再采用SPF算法,寻找一条到隧道目的地址的最短路径。

缺省情况下,CSPF在计算路径时预先采用OSPF协议生成的TEDB来计算CR-LSP的路径。

CSPF在计算路径的过程中,如果遇到多条权值相同的路径,将根据策略选择其中的一条。这个过程称为仲裁(tie-breaking)。可用的仲裁策略有:

Most-fill:选择已用带宽和最大可预留带宽的比值最大的链路,使链路带宽资源高效使用;

Least-fill:选择已用带宽和最大可预留带宽的比值最小的链路,使各条链路的带宽资源均匀使用;

Random:随机选取,使每条链路上的LSP数量均匀分布,不考虑带宽因素。

Most-fill和Least-fill模式只在两条链路的带宽占用率之差超过10%时有效

RSVP:

RSVP的主要消息类型:

Path:用来建立和维护保留

Resv:响应Path消息,用来建立和维护保留

PathTear:结构与Path类似,用于在网络中删除保留

ResvTear:结构与Resv类似,用于在网络中删除保留

PathErr:接收到错误的Path消息后发送。

ResvErr:接收到错误的ResvErr消息后发送

Hello:RSVP-TE的扩展,用于邻居间状态的快速检测

三、VPN技术

MPLS-VPN

1、BGP/MPLS-VPN

RD设置

不同VPN的RD值设置一定不同,相同VPN的RD值设置可以相同也可以不同。通常在承载网的VPN FRR场景中,因要使用备份路由,需要将奇偶数平面的RD设置为不同。

HVPN

HoVPN SPE向UPE发布汇聚或者缺省路由,SPE上部署VPN实例。

HVPN SPE向UPE通告所有路由,SPE上不部署VPN实例。

HUB-Spoke

方式1:HUB和Spoke都使用EBGP协议,HUB-PE上需要配置允许AS-path重复。

方式2:HUB和Spoke都使用IGP协议。

方式3:HUB使用EBGP协议,Spoke使用IGP协议。HUB-PE上需要配置允许AS-path重复。

不能采用HUB使用IGP协议,Spoke使用EBGP协议的方式,Spoke PE侧会产生路由震荡。

2、VPWS

CCC 静态单层手工分配标签,支持本地和远程连接。

Martini 内层和外层标签都由LDP动态分配,不支持本地连接。

SVC 内层标签手工静态分配,外层标签LDP动态分配。

3、VPLS中,使用“全连接”和“水平分割转发”来避免环路。从公网侧PW收到的数据包不再转发到其他PW上,从PE收到的报文不转发到其他PE。

EVPN

传统VPLS缺陷:

CE到PE链路只能单活,无法负载,浪费链路资源。

网络侧路径单一,无法形成多路径。

故障收敛慢,收敛时间从1S到10S不等。

ARP请求早上广播泛洪,浪费带宽和设备资源。

因VPLS水平分割防环机制,需要PW全连接。

EVPN5种路由:

集成多播路由(Inclusive Multicast Route)发现PE设备,BUM表PE设备标签分配

以太网段路由(Ethernet Segment Route)发现连接同一个ES的PE设备,DF选举,形成ES成员表

MAC/IP以太自动发现路由(Ethernet Auto-Discovery Route) ESI标签分配(针对ES成员表),环路避免、快收敛、负载分担,多活、别名。

地址通告路由(MAC/IP Advertisement Route)MAC-VRF表分配标签,MAC地址通告、主机迁移

IP前缀路由(IP Prefix Route)路由通告 分配前缀标签

VLAN-Aware

每个子接口配置一个VLAN,一个BD域,每个BD域下配置相同VPN实例,但使用不同bd-tag,以实现不同VLAN可以相同MAC地址。

四、可靠性

HA

Mtbf 平均故障时间间隔

Mttr 平均故障修复时间

Availability= Mtbf/(Mtbf+ Mttr),电信行业99.999%的可用度意味着设备因故障导致的业务中断时间平均每年不能超过5分钟

BFD

BFD工作方式:

BFD控制报文封装在UDP报文中传送。会话开始阶段,双方系统通过控制报文中携带的参数(会话标识符、期望的收发报文最小时间间隔、本端BFD会话状态等)进行协商。协商成功后,以协商的报文收发时间在彼此之间的路径上定时发送BFD控制报文。

Eth-Trunk接口BFD问题:

普通的BFD单跳会话绑定Eth-Trunk接口,只会创建一个BFD会话,并从Eth-Trunk口中选择一个成员口所在单板作为状态机单板,并对这一条成员链路进行检测。如果该成员口故障、该成员链路故障,或者该状态机单板故障,BFD会话就会认为整个Eth-Trunk发生了故障,实际上,该Eth-Trunk的其他成员链路仍然可用,Eth-Trunk接口的状态应该是Up的。

BFD for Link-bundle类型的会话能够很好的解决这个问题。使用了BFD for Link-bundle会话绑定Eth-Trunk接口,Eth-Trunk成员口状态发生震荡不会导致整个Eth-Trunk状态发生震荡。

bfd btoa bind link-bundle peer-ip 10.1.1.1 interface Eth-Trunk1 source-ip 10.1.1.2

min-tx-interval 10

min-rx-interval 10

BFD检测时间

异步模式的检测时间 = 接收到的远端Detect Mult × max(本地的RMRI,接收到的DMTI),其中:

DMTI(Desired Min Tx Interval):本端想要采用的最短BFD报文的发送间隔。

RMRI(Required Min Rx Interval):本端能够配置的最短BFD报文接收间隔。

Detect Mult(Detect time multiplier):检测时间倍数。

bfd bind peer-ip default-ip:缺省情况下,BFD的缺省组播地址为224.0.0.184

VPN静态路由Track bfd

ip route-static vpn-instance VPNA 1.1.1.1 255.255.255.255 10.2.1.1 track bfd-session pe2_to_ce1

bfd pe2_to_ce1 bind peer-ip 10.2.1.1 vpn-instance VPNA interface GigabitEthernet3/0/0 source-ip 10.2.1.2 auto

BFD状态与接口状态联动

bfd pis bind peer-ip default-ip interface GigabitEthernet1/0/0

discriminator local 2

discriminator remote 1

process-interface-status

BFD状态与子接口状态联动

bfd pissub bind peer-ip default-ip interface GigabitEthernet1/0/0

discriminator local 2

discriminator remote 1

process-interface-status sub-if

VRRP

  1. 虚拟MAC地址:00-00-5E-00-01-{VRID}
  2. Vrrp组播地址224.0.0.18
  3. Vrrp根据优先级选举master,数值大的优先。优先级相同时,VRRP设备上VRRP备份组所在接口主IP地址较大的成为Master设备。
  4. IP地址拥有者优先级为255,通常将成为Master
  5. 当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到MASTER_DOWN定时器超时。这个切换的时间称为Skew_time,计算方式为:(256-Backup设备的优先级)/256,单位为秒。
  6. 当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到MASTER_DOWN定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。其中,MASTER_DOWN定时器取值为:(3* ADVER_INTERVAL)+ Skew_time,单位为秒。
  7. Master设备会根据该定时器定期发送VRRP通告报文,缺省值为1秒
  8. VRRP协议包括两个版本:VRRPv2和VRRPv3。

VRRPv2仅适用于IPv4网路,VRRPv3适用于IPv4和IPv6两种网络。

VRRPv3不支持认证功能,而VRRPv2支持认证功能。

VRRPv3支持的是厘秒级,而VRRPv2支持的是秒级

  1. Vrrp的负载分担:

多网关负载分担:通过创建多个带虚拟IP地址的VRRP备份组,为不同的用户指定不同的VRRP备份组作为网关,实现负载分担。

单网关负载分担:通过创建带有虚拟IP地址的VRRP负载分担管理组LBRG(Load-Balance Redundancy Group),并向该负载分担管理组中加入成员VRRP备份组(无需配置虚拟IP地址),指定负载分担管理组作为所有用户的网关,实现负载分担。

NSR与NSF

NSR 依靠双主控,分布式结构,转发与控制分离实现业务不中断,不需要邻居协助

NSF(GR)是一个多点技术,需要邻居协助完成业务的不中断。

隧道保护技术

TE-FRR:保护的是一个节点或一个链路。

TE-hoststandby:是一种端到端的保护技术

TI-LFA FRR支持任意拓扑的节点和链路保护,能够弥补传统隧道保护技术的不足。

五、QOS

保证传输的带宽,降低传送的时延和时延抖动,降低数据的丢包率等.

带宽是传输路径上的最小带宽。时延包括传输时延、处理时延、排队时延。

QOS模型分为Best Effort(尽力而为) 、Integrated Services Model(集成服务模型) 、Differentiated Services Model(区分服务模型)

QOS标记:

MPLS 网络使用EXP、VLAN 网络使用802.1p中的Priority、IPV4包头使用tos(以前使用IP Precedence,现在使用DSCP).

DSCP :

DSCP 使用TOS字段的前6bit,可将流量分为64类,DSCP定义了4类PHB:

BE PHB (Default PHB),CS PHB ,EF PHB ,AF PHB

Default DSCP:000000,Default PHB:先进先出(FIFO)、尾丢弃(Tail-drop)。

CS DSCP:000000-111000,CS PHB:为了兼容IP Precedence,使用高三位比特对应IP Precedence。

EF DSCP值:101110,EF PHB:保证最小的延迟,保证一定的优先带宽,超过规定带宽的流量被丢弃

AF DSCP值:分为四类,AF1-AF4,高三位001-100,每一类分为三个丢弃优先级对应第三位的010、100、110, AF PHB:保证一定数量的带宽,如果有空余带宽,可以占用额外带宽。


AF1

AF2

AF3

AF4

低丢弃率

001010

010010

011010

100010

中丢弃率

001100

010100

011100

100100

高丢弃率

001110

010110

011110

100110

流分类:

对于流量的分类,几乎可以依据报文的任何信息,比如可以根据报文长度、源IP地址、目的IP地址、源端口号、目的端口号、协议ID等进行流量的分类。

复杂流分类:

是指根据五元组(源/目的地址、源/目的端口号、协议类型)等信息对报文进行分类。

简单流分类:

利用IP Precedence、DSCP、MPLS EXP、802.1P识别出各种类别的流,执行对应的PHB。

网络边缘:复杂流分类,标记分类结果,网络核心:简单流分类,执行对应的PHB。

流量监管和整形:

流量监管(Traffic-policing):

监督进入或流出网络中某一流量的规格,限制它在一个允许的范围之内。一般在应用在入方向。由CAR技术实现,如果流量超标,将超标的报文丢弃或重新标记。

流量整形(Traffic-shaping):

限制流出某一网络的某一连接的流量与突发。由GTS技术实现,如果流量超标,将超标的报文放入缓存队列,当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文。

拥塞管理:

当接口发生拥塞,利用拥塞管理技术解决资源竞争问题。拥塞管理利用队列调度策略来决定数据包处理的先后顺序。

FIFO: 先进先出队列,尾丢弃

PQ:优先级队列,共8个队列,优先级高的先调度,尾丢弃。容易造成饿死现象。

CQ:自定义队列,共17个队列,其中0是优先级队列,1~16号队列可以按用户的定义分配它们能占用的接口带宽比例,在报文出队的时候采用Round Robin调度方式。尾丢弃。

WFQ:加权公平队列,支持4096个队列。WFQ不允许用户通过ACL对报文进行分类,WFQ是根据流(flow)对报文进行动态分类,一个流的定义由报文的五元组( 源IP 、目的IP 、协议号、源端口号、目的端口号)来确定,具有相同五元组特性的报文属于同一个流,使用Hash算法映射到不同的队列中。不同队列间根据流的IP Precedence值决定享有的带宽比例。不同队列的报文在入队时都被赋予一个SN,SN小的报文优先被调度。当队列已满,使用WFQ机制丢弃后到达的报文。

SN计算:SN由报文长度和IP优先级决定,小字节、高优先级的报文被优先调度。

IP RTPQ:IP RTP Queuing,IP RTP优先队列

CBQ:Class-based Queuing,基于类的队列

拥塞避免:

RED:Random Early Detection,随机早期检测

WRED:Weighted Random Early Detection,加权随机早期检测

五、IP网络新技术

Segment routing

特点:

1)、通过对现有协议(例如IGP)进行扩展,能使现有网络更好的平滑演进。

2)、同时支持控制器的集中式控制模式和转发器的分布式控制模式,提供集中式控制和分布式控制之间的平衡。

3)、采用源路由技术,提供网络和上层应用快速交互的能力。

收益:

1)、简化MPLS网络的控制平面。Segment Routing使用控制器或者IGP集中算路和分发标签,不再需要RSVP-TE,LDP等隧道协议。Segment Routing可以直接应用于MPLS架构,转发平面没有变化。

2)、提供高效TI-LFA(Topology-Independent Loop-free Alternate) FRR保护,实现路径故障的快速恢复。在Segment Routing技术的基础上结合RLFA(Remote Loop-free Alternate) FRR算法,形成高效的TI-LFA FRR算法。TI-LFA FRR支持任意拓扑的节点和链路保护,能够弥补传统隧道保护技术的不足。

3)、Segment Routing技术更具有网络容量扩展能力。传统MPLS TE是一种面向连接的技术,为了维护连接状态,节点间需要发送和处理大量Keepalive报文,设备控制层面压力大。Segment Routing仅在头节点对报文进行标签操作即可任意控制业务路径,中间节点不需要维护路径信息,设备控制层面压力小。此外,Segment Routing技术的标签数量是:全网节点数+本地邻接数,只和网络规模相关,与隧道数量和业务规模无关。

4)、更好的向SDN网络平滑演进。Segment Routing技术基于源路由理念而设计,通过源节点即可控制数据包在网络中的转发路径。配合集中算路模块,即可灵活简便的实现路径控制与调整。Segment Routing同时支持传统网络和SDN网络,兼容现有设备,保障现有网络平滑演进到SDN网络,而不是颠覆现有网络。

Segment分类

1)、Prefix Segment(前缀段):手工配置,IGP扩散,全局可见,全局有效。Prefix SID根据偏移值、SRGB计算生成MPLS转发表项。

2)、Adjacency Segment(邻接段):动态分配,也可以手工配置。IGP扩散,全局可见,本地有效。Adjacency SID为SRGB范围外的本地SID

3)、Node Segment(节点段):手工配置。Node Segment是特殊的Prefix Segment。在节点的Loopback接口下配置IP地址作为前缀,这个节点的Prefix SID实际就是Node SID。

4)、在路径中的每一跳,使用栈顶段信息区分下一跳。段信息按照顺序堆叠在数据头的顶部。当栈顶段信息包含另一个节点的标识时,接收节点使用等价多路径(ECMP)将数据包转发到下一跳。当栈顶段信息是本节点的标识时,接收节点弹出顶部段并执行下一个段所需的任务。

Segment Routing标签冲突处理原则:

标签冲突分为前缀冲突SID冲突,前缀冲突是指相同的前缀关联了两个不同的SID,SID冲突是指相同的SID关联到不同的前缀。

标签冲突处理原则:当冲突产生后,优先处理前缀冲突,之后根据处理结果再进行SID冲突处理,并按如下规则进行优选。

前缀掩码更大者优选;前缀更小者优选;SID更小者优选

SID的组合使用:

Prefix segment :按照最短路径转发

Adjacency segment :显示严格路径

Adjacency segment + Prefix segment :显示松散路径

IGP for SR-MPLS

Isis:Prefix-SID Sub-TLV、Adj-SID Sub-TLV、LAN-Adj-SID Sub-TLV、SID/Label Sub-TLV、SID/Label Binding TLV、SR-Capabilities Sub-TLV、SR Local Block Sub-TLV

Ospf:Type 10 Opaque LSA、及其它sub-TLV

SR-MPLS BE

SR-MPLS BE(Segment Routing-MPLS Best Effort)是指IGP使用最短路径算法计算得到的最优SR LSP。SR LSP的创建过程和数据转发与LDP LSP类似。这种LSP不存在Tunnel接口。SR-MPLS BE是一种替代“IGP+LDP方案”的一种新方案。

SR-MPLS Flex-Algo

灵活算法一般使用一个三元组表示:(metric-type,calc-type,constraints),在实现中,给定一个ID表示唯一的一种算法,ISIS中算法ID取值范围128-255,其中:

约束条件constraints包括:

exclude admin group:不能包含任意一个引用的亲和属性名称

include any admin group:包含任意一个引用的亲和属性名称

include all admin group:包含所有引用的亲和属性名称

calc-type:目前都使用spf

metric-type:计算过程中使用的算法类型

ISIS使用SR-Algorithm TLV通告自己使用的算法,SR-Algorithm TLV只能在同一个isis级别里传播。

在同一个IGP域内,不同设备定义的算法值相同,但算法含义不一致,可以通过sub-TLV的priority字段进行优选,值大的优先,如果优先级相同,则选择system-id大的。

引流:通过color与Flex-Algo映射,BGP发布路由时通过策略给路由染色(设置color),这样将流量引入通过不同Flex-Algo计算出的隧道中。

SR-MPLS TE

组件:信息采集组件、集中算路组件、信令组件、报文转发组件

传统MPLS-TE组件:信息发布组件、路径计算组件、路径建立组件、报文转发组件

SR-Policy

可以由CLI、netconf、PCEP、BGP-SR-Policy等多种方式生成。

SR-Policy 由一个三元组标识(头端,color,尾端),其中color是一个32bit的团体属性值。

隧道下发:可以由BGP-SR-Policy、PCEP、netconf实现,目前通常使用BGP-SR-Policy

路径:一个SR-Policy可以包含多个候选路径,候选路径携带优先级(preference),优先级高的成为主路径,每条候选路径可以包含多个segmentlist,segment list 配置weight值,可以根据weight值进行等价/非等价负载分担。

Binding SID:每个SR-Policy可以定义一个binding SID,BSID可以用于路径计算。

BGP for SR-MPLS

BGP EPE可为域间路径分配BGP Peer SID,包括Peer-Node SID(每个BGP会话)、Peer-Adj SID(到达peer的邻接)、Peer-Set SID(指示一组邻居),通过BGP-LS使用Link NLRI上报给控制器,控制器利用这些SID进行编排路径,实现跨域SR。

Peer-Node SID和Peer-Adj SID均是局部标签,在本机有效。不同设备的Peer-Node SID和Peer-Adj SID可以重复。

BGP-SR-policy 的NLRI

当前BGP EPE 只支持EBGP场景,多跳EBGP也必须通过物理链路直连,BGP EPE只分配SID,不建立隧道。BGP EPE不能与SR-MPLS-BE配合,只能和SR-MPLS-TE配合形成EPE隧道。

隧道接口及流量引入:

SR-MPLS-BE 无隧道接口,可通过VPN隧道策略,静态路由迭代,BGP路由迭代

SR-MPLS-TE 有隧道接口,可通过vpn隧道策略,静态路由出接口,自动路由,策略路由

SR-MPLS-Policy 无隧道接口,可以通过color和DSCP进行引流。

SRV6

SR-MPLS与普通的MPLS相比简化了控制平面,将传统的LDP、IGP、RSVP-TE统一到了IGP+SR.

SRV6与SR-MPLS相比简化了转发平面,不再使用MPLS标签,直接使用IPV6转发。

SRV6可以简化现有网络协议,降低网络管理复杂度,更核心的优势是nativeIP转发和可编程性。可编程性体现在segment list、SID中的function、argument+option

使用IPV6的43号标准扩展头-路由扩展头(RH)的类型4(SRH)实现SRV6。

SRV6 SID :

SID组成:locator+function+argument(可选),SID length(L+F+A)<=128,当小于128位时,保留位填0.

Locator占用高64bit,网络里其他节点通过Locator网段路由就可以定位到本节点,同时本节点发布的所有SRv6 SID也都可以通过该条Locator网段路由到达。

SID中的字母意义:

end 标识一个目的节点,表示终止当前指令,开始执行下一个指令。

X:表示一个或者一组三层接口转发报文。例如end.X

T:代表查询路由表并转发报文

D:解封装

V:表示vlan

U:表示根据单播MAC地址表转发

M:表示查询二层组播转发表进行转发

B6:表示应用指定的SRV6 policy

BM:表示应用指定的SR-MPLS policy

SRV6 flavors(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等)。

-----------------------------------------------------------------+

| Locator | Dynamic Opcode | Static Opcode | Args |

-----------------------------------------------------------------+

静态配置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中的segment-list不包含已存在IPV6目的地址中的第一个segment

中转节点:SRV6报文转发路径上不参与SRV6处理的IPV6节点,中转节点只执行普通的IPV6报文转发。中转节点可以是普通的IPV6节点,也可以是支持SRV6的节点。

Endpoint节点:节点接收报文的IPV6目的地址是本地配置的SID,则该节点为endpoint节点,它定义本地生成的SID,指定绑定到这些SID的指令,存储和这些指令相关的转发信息,为报文提供转发、封装和解封装等服务。

SFC(service function chain):服务功能链

主要包含的服务:FW、IPS、应用加速器、NAT等。

SRV6-Aware SF :能够识别SRV6报文并进行处理

SRV6-unaware SF:不识别SRV6报文,收到后会丢弃,这种场景需要配置SF代理才能实现业务链。

组件:SFC域、分类器SC(位于SFC域边界入口)、转发节点SFF、功能节点SF,如果SF不支持SRV6则由SFF担任SF代理,将SRV6报文中的SRV6封装删除然后转发给SF,SF接收报文后进行功能处理然后转发给SFF,SFF重新封装SRV6报头并转发。

TI-LFA

P空间:

以保护链路源端为根节点建立SPF树,所有从根节点不经过保护链路可达的节点集合称为P空间。

扩展P空间:

以保护链路源端的所有邻居为根节点分别建立SPF树,所有从根节点不经过保护链路可达的节点集合称为扩展P空间。P空间或者扩展P空间的节点称为P节点。

Q空间:

以保护链路末端为根节点建立反向SPF树,所有从根节点不经过保护链路可达的节点集合称为Q空间。Q空间的节点称为Q节点。

PQ节点:

PQ节点是指既在(扩展)P空间又在Q空间的节点,PQ节点会作为保护隧道的目的端。

LFA:

LFA(Loop-Free Alternate)算法计算备份链路的基本思路是:以可提供备份链路的邻居为根节点,利用SPF算法计算到达目的节点的最短距离,然后计算出一组开销最小且无环的备份链路。

RLFA:

RLFA(Remote LFA)算法根据保护路径计算PQ节点,并在源节点与PQ节点之间建立隧道形成备份下一跳保护。当保护链路发生故障时,流量自动切换到隧道备份路径,继续转发,从而提高网络可靠性。

TI-LFA:

LFA FRR和Remote LFA对于某些场景中,扩展P空间和Q空间既没有交集,也没有直连的邻居,无法计算出备份路径,不能满足可靠性要求。在这种情况下,实现了TI-LFA。TI-LFA算法根据保护路径计算扩展P空间,Q空间,Post-convergence最短路径树,以及根据不同场景计算Repair List,并从源节点到P节点,再到Q节点建立Segment Routing隧道形成备份下一跳保护。当保护链路发生故障时,流量自动切换到隧道备份路径,继续转发,从而提高网络可靠性。

防微环

无论是正切防微环还是回切防微环,都是针对各个节点IGP路径收敛完成时间不一致的情况下,在源节点先于故障节点收敛时会产生微环的问题。而解决问题的方法是在源节点上延迟IGP路径收敛(部署定时器),同时使用TI-LFA或者显示路径进行数据转发,以避免环路。在IGP路径收敛完成后(定时器超时),切换到IGP路径转发数据。这里IGP路径是否收敛完成,源节点无法获知,而是通过延迟一段时间(部署定时器)收敛的方式等待故障点的收敛,在定时器失效之前始终使用repair list进行数据转发。

正切防微环:

源节点在部署了TI-LFA备份路径的情况下,主路径发生故障时,立即使用TI-LFA备份路径进行流量转发,在IGP备份路径(IGP计算的路径)没有收敛完成之前,不进行TI-LFA备份路径到IGP备份路径的切换,直到IGP备份路径收敛完成后再进行TI-LFA备份路径到IGP备份路径的切换。

回切防微环:

源节点在使用IGP备份路径转发数据时,主用路径故障恢复,源节点通过添加添加端到端路径信息(显示路径),强制使数据包沿主用路径转发,直到主用路径收敛完成后,去掉显示路径信息,按照正常主路径转发。

Netconf 分钟级别,实时性比较差,不能用于隧道托管。PCEP是实时协议,用于隧道托管。

SR policy 包含多条候选路径+优先级(越大越优先),优先级高的为主路径。每个候选路径可以包含多个段列表+权重值,可以通过权重进行负载分担。某条段列表负载的流量:W1/所有段列表权重之和。

推荐静态配置END SID 和 END.X,动态生产的SID如果设备重启,SID会变化,不利于维护。

VXLAN

通过24比特的VNI可以支持多达16M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。

除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能。

通过采用MAC in UDP(4789端口)封装来延伸二层网络,实现了物理网络和虚拟网络解耦,租户可以规划自己的虚拟网络,不需要考虑物理网络IP地址和广播域的限制,大大降低了网络管理的难度。

VXLAN可支持VM在POD内、POD之间、虚拟数据中心之间进行迁移。

支持ECMP,充分利用现有网络,中间节点可不支持VXLAN。

VXLAN概念

NVE:网络虚拟边缘节点,实现网络虚拟化功能的网络实体。

VTEP:VXLAN tunnel endpoint

VNI:24bit VXLAN 网络ID,支持16M用户。

BD:桥域 VBDIF:BD域的三层虚拟接口。

VXLAN报文:

8字节(64bit),VXLAN报文封装在UDP报文中,目标端口号4789

VXLAN原理

VXLAN的简化理解,两次虚拟化,第一次是将整改underlay网络抽象成一台大交换机;第二次是利用VNI将这台大交换机虚拟出多个二层广播域。

VXLAN的水平分割:VXLAN通过头段复制列表将广播转换为单播转发。

VXLAN二层子接口封装类型对VLAN的处理:

配置流封装类型为dot1q时,只接收带有指定VLAN Tag的报文。

配置流封装类型为untag时,只接收不带VLAN Tag的报文。

配置流封装类型为default时,允许接口接收所有报文,不区分报文中是否带VLAN Tag。

配置流封装类型为qinq时,收到的报文带有两层及两层以上VLAN Tag,根据报文的前两层VLAN Tag识别是否接收。

VXLAN三层网关部署

集中式网关:对跨子网流量进行集中管理,网关的部署和管理比较简单,但转发路径不是最优,ARP表项存在瓶颈。

分布式网关:转发路径最优,没有ARP表项限制,扩展能力强,组网复杂,需要部署BGP EVPN

FlexE

FlexE包括FlexE Client, FlexE Shim和FlexE Group三个部分。

FlexE Client:对应于外在观察到的用户接口,为64、66 bit的以太网码流,支持n*5G速率。

FlexE主要功能:

通道化功能:将不同的Client的数据放在同一个PHY的不同时隙传输。

端口绑定功能:通过FlexE Shim将多路PHY捆绑,以实现更大容量的端口。

子速率功能:将PHY的一部分时隙分配给Client。

IFIT

传统带外检测:NQA、Y.1731、TWAMP(发送探测报文,非真实业务)

传统带内检测:IPFPM(在优先级字段染色)、IOAM(逐跳增加信息,尾节点集中上报)

IFIT功能:

IFIT提供IP业务流级端到端、逐条sla(包括丢包、时延、抖动、实时流量)测量能力。必须配合时钟部署。

支持的网络:

MPLS/SR/SRV6/L3VPN/L2VPN,目前仅仅支持L3VPN、EVPN V4移动业务场景。

iFIT的统计过程主要涉及三个对象:

目标流、目标流穿越的网络(Transit Network)、统计系统。

目标流根据生成方式的不同可以分为静态检测流和动态检测流两种。静态方式人为指定五元组,动态方式由带有IFIT头的流量触发产生。

IFIT检测模式:

端到端:仅头尾节点感知IFIT报文,中间节点bypass处理。

逐跳:业务路径沿途支持IFIT的节点都感知IFIT报文,中间节点不支持则默认转发。

在实际应用中,一般是E2E IFIT+Trace IFIT组合使用,当E2E IFIT的检测数据达到阈值时会自动触发Trace IFIT。

IFIT报文结构:

For SR/mpls: 使用保留标签12,必须在栈底。

For SRV6 :封装在SRH头中。

Bier和BierV6

传统组播技术的缺陷:

协议复杂,可扩展性差。

可靠性弱、用户体验不佳。

部署运维困难。

Bier使用mpls标签进行封装转发,BierV6使用IPV6的目的选项头(DOH,60)携带Bier头。

SDN及其相关协议

SDN:软件定义网络

转发面与控制面分离,SDN控制器通过openflow控制转发平面进行数据转发。

由于传统网络规模较大,如果直接使用软SDN,全部白盒化,更换所有硬件投入过大,对于提供传统硬件的厂商也非常不友好,所以出现了硬SDN,可以对现有的硬件设备进行改造,实现转控分离,提供灵活的业务编排、应用的快速上线等能力。

硬SDN体系架构分为应用层、控制层、数据转发平面,控制层与应用层通过北向接口通信,主要的协议有restful,控制层与转发平面通过通过南向接口通信,主要协议有netconf、snmp、telemetry、BGP-LS、PCEP。

SNMP:

SNMP 主要用于网络管理,有v1、v2c、v3三个版本,SNMP封装在UDP中,管理站使用162端口,代理使用161端口。

Mib是一个按照层次结构组织的树状结构,每个被管理对象对应树形结构的一个叶子节点,成为一个object,拥有唯一的一个数字标识符(OID)。Mib节点一旦发布就和被定义的对象绑定,不能修改,mib节点不能被删除,只能将状态置为obsolete(废除)状态。

Mib分为公有和私有两种。

Snmp有五种报文:get-request、get-next-request、set-request、get-response、trap

get-request:从代理进程提取一个或多个参数值

get-next-request:从代理进程按照字典序提取一个或多个参数值

set-request:设置代理进程的一个或多个参数值

get-response:返回一个或多个参数值。

上面前三种由管理站发出;第四种由代理发出,作为前三种的响应。

Trap:代理主动发出的报文。

SNMPv2c增加了2种报文:

Get-bulk:相当于执行多次get-next-request操作,实现了网管端对被管理设备的信息群查询。

Inform-request:提供告警的确认机制。设备发送此保文后会等待网管端发送确认报文,如果没有收到,则重传,直到网管端回复确认或重传超时结束。

Netconf:

NETCONF是基于可扩展标记语言XML的网络配置和管理协议,使用简单的基于RPC(Remote Procedure Call)机制实现客户端和服务器之间通信。

NETCONF提供保护锁定机制,防止多用户操作产生冲突。

利用现有的安全协议提供安全保证,并不与具体的安全协议绑定。NETCONF传输层首选推荐SSH协议,XML信息通过SSH协议承载。

扩展性好:不同制造商设备可以定义自己的协议操作

NETCONF协议框架:

NETCONF分为传输层、RPC层、操作层、内容层共四个层次。

YANG是专门为NETCONF协议设计的数据建模语言,数据通过yang模型生成XML文件。

NETCONF Client和Server之间使用RPC机制进行通信。Client必须和Server成功建立一个安全的、面向连接的会话才能进行通信。Client向Server发送一个RPC请求,Server处理完用户请求后,给Client发送一个回应消息。

Client的RPC请求和Server的回应消息全部使用XML编码。

RPC 元素:

:请求 :应答 :错误 :未发生错误

NETCONF报文由三部分组成:Message(消息层)、Operations(操作层)、Content(管理对象层)

BGP-LS:

传统拓扑收集问题:

对上层控制器的计算能力要求较高,且要求控制器也支持IGP协议及其算法。

当涉及到跨IGP域拓扑信息收集时,上层控制器无法看到完整的拓扑信息,无法计算端到端的最优路径。

不同的路由协议分别上送拓扑信息给上层控制器,控制器对拓扑信息的分析处理过程比较复杂。

BGP-LS路由:

携带网络拓扑信息的介质,一共有六种BGP-LS路由,分别用来携带节点、链路、路由前缀信息、IPv6路由前缀信息、SRv6 SID路由信息和TE Policy路由信息。这几种路由相互配合,共同完成拓扑信息的传输。

为了减少与控制器连接的数量,可以选择一台(或几台)设备作为BGP-LS反射器,需要与控制器建立BGP-LS邻居的设备都与反射器建立邻居关系。

PCEP:

PCE是一种基于MPLS-TE开发的一种集中路径计算方式。

PCC为ingress节点,是路径计算的需求端,PCEP运行IGP TE 收集网络拓扑资源,形成TEDB,统一算路。PCC与PCE之间使用PCEP通信,PCEP使用tcp端口4189。

三种PCE模式:

无状态:仅用于TEDB计算LSP路径。

被动有状态:TEDB和LSPDB用于路径计算,路径计算有PCC触发,PCE不会主动更新名下托管的LSP状态和参数。

主动有状态:LSP托管至PCE服务器,PCE除了计算路径以外还会更新名下托管的LSP的状态和参数。

Telemetry:

是一项远程的从物理设备或虚拟设备上高速采集数据的技术。设备通过推模式(Push Mode)周期性的主动向采集器上送设备的接口流量统计、CPU或内存数据等信息,相对传统拉模式(Pull Mode)的一问一答式交互,提供了更实时更高速的数据采集功能。

狭义的Telemetry是一个设备特性,广义的Telemetry是一个闭环的自动化运维系统,由网络设备、采集器、分析器和控制器等部件组成,分为网管侧和设备侧。

静态配置:控制器通过命令行配置支持Telemetry的设备,订阅数据源,完成数据采集。

推送采样数据或自定义事件:网络设备依据控制器的配置要求,将采集完成的数据或自定义事件,上报给采集器进行接收和存储。

读取数据:分析器读取采集器存储的采样数据或自定义事件。

分析数据:分析器分析读取到的采样数据或自定义事件,并将分析结果发给控制器,便于控制器对网络进行配置管理,及时调优网络。

调整网络参数:控制器将网络需要调整的配置下发给网络设备;配置下发生效后,新的采样数据或自定义事件又会上报到采集器,此时Telemetry网管侧可以分析调优后的网络效果是否符合预期,直到调优完成后,整个业务流程形成闭环。

对于Telemetry设备侧:Telemetry=原始数据+数据模型+编码格式+传输协议;

对于Telemetry网管侧:Telemetry=收集系统+存储系统+应用分析系统

原始数据:

Telemetry采样的原始数据可来自网络设备的转发面、控制面和管理面,目前支持采集设备的接口流量统计、CPU或内存数据等信息。

数据模型:

Telemetry基于YANG模型组织采集数据。YANG是一种数据建模语言,用于设计可以作为各种传输协议操作的配置数据模型、状态数据模型、远程调用模型和通知机制等。

编码格式:

支持GPB(Google Protocol Buffer)、JSON(JavaScript Object Notation)编码格式。

传输协议:

支持gRPC协议(google Remote Procedure Call Protocol)、支持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、BGP-LS、OVSDB、openflow

SDN标准化组织:

ONF:定义了openflow,谷歌、微软等参与创建。

ITU-T: 定义了SDN环境和相关架构用于在运营商网络上运行。

ETSI:参与NFV标准化,相对独立。

IETF:倾向于网络厂商,关注怎样在现有的设备上运行SDN

Opendaylight:主要是厂商参与,不推广openflow

ONOS:倾向于运营商,主要由各大运营商组成,根据运营商网络特点进行软件架构设计。

SDN-DCN

概念:

DC、vDC、VPC、spine、leaf、fabric、server-leaf、service-leaf、border-leaf、NVE、VTEP

vDC一虚多:一个DC内划分为多个vDC。

多虚一:多个DC通过DCI互联成为一个DC

华为云数据中心网解决方案组成:

云平台、控制器、网络、服务器

单数据中心组网架构:

协同应用层、控制层、fabric网络层、服务器层

组件间的接口:

AC-云平台:restful

AC-VMM:RPC进行虚拟化感知。

AC-软/硬件防火墙:netconf进行配置。

AC-物理交换机的VTEP:netconf、openflow 进行VXLAN配置和流表下发。

AC-vswitch:OVSDB、openflow 进行vswitch的配置和流表下发。

SDN-DCN的Overlay 部分vxlan组网方案(根据软硬件区分):

硬件overlay:vxlan隧道端点全部在硬件交换机上。

软件overlay:vxlan隧道端点全部在软件交换机上(服务器上的EVS即Vswitch)。

混合overlay:接入VM的VTEP部署在EVS上,接入BM的VTEP部署在物理交换机上。

软硬件overlay方案区别:

软件方案:VTEP在虚拟交换机上,TOR交换机不需要虚拟感知,实现简单,但要消耗服务器资源,影响性能,故障定位与流量识别困难。

硬件方案:VTEP在硬件交换机上,故障定位与流量识别容易,高性能,线速转发,但需要TOR交换机具备虚拟感知能力,功能灵活性受厂芯片商限制。

SDN-DCN的Overlay 部分组网方式(根据网关部署情况区分):

集中式overlay组网:三层网关集中在某几台设备上,二层网关分布部署在leaf上

分布式overlay组网:三层网关部署在leaf上。

SDN-DCN的underlay部分组网方案:

整体三层架构:分为leaf、spine、gateway(border-leaf)三层。

整体两层架构:分为leaf、spine(兼做GW)两层。

Leaf节点接入:TOR单机部署、TOR堆叠部署、TOR部署M-LAG、TOR部署SVF。

Leaf节点部署:全解耦、全融合(网关、border-leaf、service-leaf和spine融合)、部分解耦A、部分解耦B。

网关(三层)部署:网关与spine融合部署、网关与spine分离部署。

网关可靠性部署:传统堆叠、多活网关、多组网关

云平台业务模型:

POD(最小交付单元)作为承载业务的基本部署单元。

VPC作为DC资源出租单元,租户以VPC为粒度进行资源租用。VPC不支持跨POD.

VPC组成元素:subnet(IP子网)、network(一个二层网络,可包含一个或多个(配置从地址)subnet)、vfw、vLB

算力网络

算力单位:

ZFLOPS、GFLOPS、TFLOPS、……

算力网络发展驱动因素:

算力供给和需求高速增长、算网融合趋势、东数西算布局

算力网络的目标是实现:

“算力泛在、算网共生、智能编排、一体服务”

算力网络特点:

精准业务调度,可靠性,边云协同、边边协同,边缘计算业务多接入方式协同,流粘性的保持。

移动发展算力网络的先天优势:

网络优势、身份优势、定位优势

算力网络演进路径及特征:

起步阶段(2021-2023年)泛在协同:网随算动、协同编排、协同运营、一站服务

发展阶段(2024-2025)融合统一: 算网融合、智能编排、统一运营、融合服务

跨越阶段一体内生: 算网一体、智慧内生、创新运营、一体服务

算力网络体系架构:

运营服务层:算网运营

编排管理层:算网大脑

算网基础设施层:算网底座

算力网络安全体系:

安全管理(合规):态势感知、审计溯源、零信任管理、可信管理、联邦安全协同

数据安全(资产):数据标记、隐私计算、区块链

算网安全(环境):内生安全、全程可信

算力网络的典型应用场景:

赋能生活:个人生活场景、家庭生活场景

赋能行业:未来生产模式、智慧交通场景、智慧医疗场景

赋能社会:开创社会算力交易新业态

报文长度总结:

报文类型

报头长度


IP

20字节


IPV6

40字节


OSPF

24字节


OSPFv3

16字节


以太帧


帧头14字节,FCS 4字节

802.1Q

4字节


vlan

12bit


vxlan

8字节


VNI

24bit


MPLS头部

32bit


MPLS标签

20bit


展开阅读全文

页面更新:2024-05-16

标签:报文   优先级   节点   路由   隧道   路径   接口   协议   设备   网络

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top