15-智能选路配置
本章节下载: 15-智能选路配置 (982.74 KB)
目 录
1.24.3 在本/对端设备互连的接口上应用QoS策略重标记报文
1.28.1 基于VXLAN的Hub-Spoke组网中的智能选路配置举例
1.28.2 基于VXLAN的Hub-Spoke组网中的协同智能选路配置举例(本/对端设备直连)
1.28.3 基于VXLAN的Hub-Spoke组网中的协同智能选路配置举例(本/对端设备非直连)
传统的链路优选一般基于链路开销或路由策略,无法根据实际的业务需求选择最适合的链路。RIR(Resilient Intelligent Routing,智能选路)可以根据不同业务流量的链路需求,如链路质量、链路带宽等,为其选择最适合的链路。如果业务流量当前选择的链路由于链路状态变化而不再符合要求,智能选路还可以自动将流量切换到另一条符合要求的链路上。
智能选路应用于基于VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)的Hub-Spoke组网环境。在图1-1所示的组网中,智能选路可以根据链路优先级、链路主备、链路质量和链路带宽等,在Hub设备与Spoke设备之间为不同业务流量选择不同的VXLAN隧道进行传输。
流量无论是从Hub设备到Spoke设备还是从Spoke设备到Hub设备都可以进行智能选路,且不同方向的选路结果可能不同。
业务流量模板用于为一类业务流量定义选路策略,通过Flow ID标识。
设备可以识别带有Flow ID标识的业务流量,为其选择对应的业务流量模板,并基于业务流量模板下配置的选路策略进行选路。
目前支持通过QoS重标记功能为流量标识Flow ID。当接口收到业务流量报文时,设备会根据流量报文五元组和DSCP值区分业务特征,为不同的业务流量标识其对应业务流量模板的Flow ID。该业务流量标识仅在设备选路流程中使用,不会被报文携带出去。
有关QoS重标记功能的详细介绍,请参见“ACL和QoS配置指导”中的“QoS概述”、“QoS策略”和“重标记”。
智能选路为链路定义链路类型,以区分不同网络类型下的链路;同时为链路分配链路编号,以区分相同网络类型下的不同链路。根据常用的网络类型,智能选路定义了4G、Internet、MPLS和MSTP四种链路类型。链路类型仅用于标识链路,不会对实际报文的封装形式造成影响。
基于VXLAN组网部署智能选路时,每个Hub设备与每个Spoke设备间在每个VSI虚接口下(即每个VXLAN中)只能有一条VXLAN隧道。如图1-2所示,对于Hub设备,可以通过VSI虚接口唯一确定Hub设备与任一Spoke设备间的一条VXLAN隧道。
因此,通过在VSI虚接口下配置链路类型和编号,就能在Hub设备与Spoke设备之间唯一标识一条VXLAN隧道。
图1-2 VXLAN组网中的链路
对于某一业务类型流量,用户可以根据链路特征、业务需求等因素,如链路价格,为其可选链路定义优先级。设备为业务流量选路时,会优先选择优先级较高的链路。
基于VXLAN组网部署智能选路时,可以在业务流量模板下基于链路类型和编号,为VSI虚接口配置链路优先级。由于每个Hub设备与每个Spoke设备间在每个VSI虚接口下(即每个VXLAN中)只能有一条VXLAN隧道,在业务流量模板下配置VSI虚接口的链路优先级,就确定了一个Hub设备和一个Spoke设备之间VXLAN隧道的优先级。
在同一业务流量模板下可以为不同的链路配置相同的链路优先级。
设备为某业务流量选路时,会按照业务流量模板下配置的链路优先级从高到低的顺序,依次选路:
· 如果该优先级下没有链路符合业务要求,则继续选择次优先级的链路。
· 如果该优先级下有且只有一条链路符合业务要求,则选择该链路进行传输。
· 如果该优先级下有两条及以上的链路符合业务要求,则按照智能选路负载分担方式选择链路。
为保证业务可靠性,实际组网中在设置主用Hub设备时,一般还会设置备用Hub设备。Spoke设备与主用Hub设备之间的链路称为主用链路,Spoke设备与备用Hub之间的链路称为备用链路。在业务流量模板下基于链路类型和编号,为VSI虚接口配置链路优先级后,该VSI虚接口关联的VXLAN隧道即缺省作为主用链路选路。如果将某个VSI虚接口关联的VXLAN隧道配置为RIR备份隧道,则该VXLAN隧道作为备用链路选路。当没有通往主用Hub设备的合适链路时,Spoke设备可以将流量发送给备用Hub设备,以保证流量不中断。
如图1-3所示,当Spoke设备与主用Hub设备之间的主用链路1和主用链路2不满足业务流量要求时,可以使用备用链路3将流量发送到备用Hub设备。
在Hub-Spoke实际组网中,一个Hub设备一般需要与多个Spoke设备进行通信。为避免Hub设备因检测多条链路而消耗过多资源,智能选路定义了以下两种设备角色:
· RIR服务器:不进行NQA(Network Quality Analyzer,网络质量分析)链路探测,仅通过RIR客户端同步过来的链路探测质量结果进行选路。
· RIR客户端:通过NQA链路探测对链路进行质量探测,并将链路探测质量结果同步至RIR服务器。
通过将Hub设备配置为RIR服务器,将Spoke设备配置为RIR客户端,Hub设备即可通过Spoke设备同步过来的链路探测质量结果进行选路。
在全局和接口下都可以开启RIR服务器功能。如图1-4所示,当在全局开启RIR服务器功能时,设备上所有接口都会开启RIR服务器功能,即所有接口均可用于接收RIR客户端的链路探测质量结果;当在接口下开启RIR服务器功能时,则只有该接口可以用于接收RIR客户端的链路探测质量结果。
图1-4 RIR服务器功能开启示意图
VXLAN组网中仅Tunnel接口可以开启RIR服务器功能,RIR服务器基于Tunnel接口接收RIR客户端同步过来的链路探测质量结果。
RIR客户端功能开启方法与RIR服务器一致,不再详细介绍。
在单一的Hub-Spoke组网中,设备只会担任Hub设备或Spoke设备一种角色,可以直接全局开启RIR服务器或RIR客户端功能。如果设备在不同的Hub-Spoke组网中分别担任Hub设备和Spoke设备两种角色时,则可以在不同接口下分别开启RIR服务器和RIR客户端功能。
在同一接口下只能开启一种功能模式(RIR客户端功能或RIR服务器功能),如果同时在全局和接口下开启不同的功能模式,则接口下的功能模式以接口配置为准。
在实际组网中,用户可以根据组网情况在全局和接口下配合开启RIR服务器或RIR客户端功能。在图1-5所示组网中,其功能开启策略如下:
· Device A:全局开启RIR服务器功能。
· Device B:全局开启RIR客户端功能,在一个接口下开启RIR服务器功能。
· Device C:在两个接口下分别开启RIR客户端功能和RIR服务器功能。
· Device D:全局开启RIR客户端功能。
· Device E:在一个接口下开启RIR客户端功能。
图1-5 RIR服务器/客户端功能开启策略示意图
智能选路通过NQA功能对待选链路进行探测,并基于探测结果实现基于链路质量的链路优选。有关NQA的详细介绍,请参见“网络管理与监控配置指导”中的“NQA”。
由于Hub设备需要基于Spoke设备同步的链路探测质量结果进行选路,智能选路中以Spoke设备为NQA客户端、以Hub设备为NQA服务器,定义了两种NQA链路探测:
· NQA链路通断探测:通过ICMP-echo测试探测每条链路的通断情况。如果某条链路探测结果为链路断开,设备不会对该链路进行NQA链路质量探测。
· NQA链路质量探测:通过UDP-jitter测试探测链路的时延、抖动和丢包率。设备只对链路通断探测结果正常的链路进行NQA链路质量探测。
设备只会探测已配置链路编号与链路类型的链路。其中,NQA链路通断探测只能开启一个,而NQA链路质量探测可以开启多个,同一链路在不同链路质量探测中的探测结果可能不同。
为了区分不同业务对链路质量的差异化需求,用户可以配置SLA(Service Level Agreement,服务等级协议)。SLA中定义了用于评估链路质量的各类阈值,包括延迟、抖动、丢包率等。
在某一业务流量模板下配置质量策略,可以为相应的业务流量指定SLA和NQA链路质量探测。业务流量模板将NQA链路质量探测结果与SLA的阈值进行比较,如果链路的所有探测结果(延迟、抖动、丢包率等)均低于或等于阈值,则判定该链路符合业务质量要求。
如图1-6所示,如果配置了质量策略,Spoke设备会基于NQA链路探测得出“哪些链路符合业务质量要求”的质量结果,基于该质量结果进行选路,并将该质量结果同步到Hub设备。对于某一业务流量的待选链路:
· 如果NQA链路通断探测结果为链路断开,则直接认为该链路不符合业务质量要求。
· 如果NQA链路通断探测结果为链路可达,则继续判断该链路的NQA链路质量探测结果是否满足SLA的要求:
¡ 如果指定NQA链路质量探测的所有探测结果(延迟、抖动、丢包率等)均低于或等于指定SLA的阈值,则认为该链路符合业务质量要求。
¡ 如果指定NQA链路质量探测的任一探测结果高于指定SLA的阈值,则认为该链路不符合业务质量要求。
Spoke设备基于链路质量为业务流量选路时,仅需考虑Spoke设备质量策略的配置情况。如果为该业务流量配置了质量策略,则会基于相应的NQA链路探测和SLA得出链路探测质量结果,并基于该质量结果进行选路;如果没有为该业务流量配置质量策略,则选路时不考虑链路质量因素,直接认为链路质量符合业务质量要求。
Hub设备基于链路质量为业务流量选路时,需同时考虑Hub设备质量策略和Spoke设备质量策略的配置情况。对于某一业务流量,Hub基于链路质量的具体选路策略见表1-1。
表1-1 Hub设备基于链路质量的选路策略
Hub设备是否配置质量策略 |
Spoke设备是否配置质量策略 |
Hub设备的质量选路策略 |
是 |
是 |
Spoke设备会将该业务的链路探测质量结果同步给Hub设备,Hub设备基于该质量结果进行选路 |
是 |
否 |
Spoke设备不会将该业务的链路探测质量结果同步给Hub设备,Hub设备选路时认为该业务的所有链路质量均不符合业务质量要求 |
否 |
是 |
Spoke设备会将该业务的链路探测质量结果同步给Hub设备,但Hub设备选路时认为该业务的所有链路质量都符合业务质量要求 |
否 |
否 |
Spoke设备不会将该业务的链路探测质量结果同步给Hub设备,Hub设备选路时认为该业务的所有链路质量都符合业务质量要求 |
实际组网中,建议Hub设备和Spoke设备同时配置或者同时都不配置质量策略。
基于链路带宽选路,不仅可以为业务流量选择带宽符合要求的链路,还可以均衡地使用各链路带宽,尽量避免出现个别链路带宽占用过高,甚至链路拥塞的情况。
基于链路带宽选路时,设备会根据可选链路和所属物理接口的已使用带宽、链路和所属物理接口的总带宽以及会话预计使用的带宽等多个方面为业务流量选择合适的链路。在VXLAN组网中,链路带宽是Tunnel接口带宽,而链路所属物理接口带宽则是发送隧道报文的物理出接口带宽。会话预计使用的带宽可以实时获取(业务流量在某一Tunne接口的带宽除以该业务流量在该Tunnel接口的会话统计数量),也可以通过手工配置。
同时,设备以会话为最小粒度,进行基于链路带宽的选路,以实现更精细地链路带宽管理。会话通过五元组唯一定义,报文的源IP地址、目的IP地址、源端口、目的端口以及传输层协议中任一元素不同,则属于不同的会话。
为某个会话的流量进行智能选路时,设备会实时获取会话预计使用的带宽,并基于获取的带宽进行带宽检测;如果获取不到,则基于会话所属业务流量模板下配置的会话预计使用的带宽进行带宽检测。如果同时满足以下条件,则认为待选链路当前可用带宽符合会话带宽要求,带宽检测通过:
· 待选链路所属物理接口的已使用带宽与会话预计使用的带宽之和小于待选链路所属物理接口总带宽的80%;
· 待选链路已使用带宽与会话预计使用的带宽之和小于待选链路总带宽的80%。
当某一业务流量存在多条链路可选时,设备会基于链路带宽将业务流量分布到多条链路上传输,以实现链路的负载分担。智能选路支持多种链路负载分担模式,包括:
· 逐流加权选路模式:RIR全局级的链路负载分担模式,对参与智能选路的所有业务流量生效。该模式可以按照一定权重将同一业务流量的不同会话分布到不同链路上进行传输,一个会话只选择一条链路进行传输。
· 逐流周期调整模式:RIR全局级的链路负载分担模式,对参与智能选路的所有业务流量生效。该模式不但可以将同一业务流量的不同会话分布到不同链路上进行传输,而且会进行周期性地调整。在一个调整周期内,一个会话只选择一条链路进行传输。
· 逐包模式:业务级的链路负载分担模式,只对参与智能选路的指定业务流量生效。该模式可以将指定业务流量的同一会话分布到多条链路上进行传输。
逐包链路负载分担模式的优先级高于逐流链路负载分担模式。
负载分担机制基于链路带宽,涉及的主要概念有:
· 带宽权重:即以链路带宽作为链路的权重,或以链路所属的物理接口带宽作为链路所属的物理接口的权重。如果是以总带宽作为权重,则称为总带宽权重;如果以剩余带宽作为权重,则称为剩余带宽权重。按照链路的带宽权重从多条可选链路中选路时,每条链路被选中的概率等于该链路带宽与所有可选链路带宽之和(即权重和)的比值;同理,按照链路所属物理接口的带宽权重选择一个物理接口时,每个物理接口被选中的概率等于该物理接口带宽与所有可选链路所属物理接口带宽之和(即权重和)的比值。例如,链路1、链路2和链路3的总带宽分别为10Mbps、10Mbps和20Mbps,剩余带宽分别为8Mbps、4Mbps和8Mbps,并且三条链路均符合业务流量要求。如果按照链路的总带宽权重选路,则链路1、链路2和链路3被选中的概率分别为25%、25%和50%;如果按照链路的剩余带宽权重选路,则链路1、链路2和链路3被选中的概率分别为40%、20%和40%。
· 剩余带宽比:链路剩余带宽与链路总带宽的比值,或链路所属的物理接口剩余带宽与所属的物理接口总带宽的比值。在同时考虑多条链路所属物理接口的剩余带宽比时,如果某条链路所属物理接口的剩余带宽比最大,则称该链路所属物理接口的剩余带宽比为最大剩余带宽比;同理,如果某条链路所属物理接口的剩余带宽比最小,则称该链路所属物理接口的剩余带宽比为最小剩余带宽比。
逐流加权选路模式的机制如下:
· 进行主备链路优先级选路和质量勉强选路时,如果同一优先级下有多条链路可选,则在可选链路中为业务流量的每个会话分别选择一条最优链路进行转发。每个会话选路时首先按照可选链路所属的物理接口剩余带宽权重(将会话预计使用的带宽计入物理接口已使用带宽)选择一个物理接口,再从选中物理接口下的可选链路中按照链路剩余带宽权重(将会话预计使用的带宽计入链路已使用带宽)选择一条链路作为最优链路。
如图1-7所示,Tunnel1和Tunnel2属于物理接口Interface1,Tunnel3和Tunnel4属于物理接口Interface2。从Tunnel1、Tunnel2、Tunnel3和Tunnel4中为预计使用带宽为10Mbps的会话选路时,将会话预计使用带宽计入Tunnel1、Tunnel2、Tunnel3和Tunnel4的已使用带宽,4条链路的带宽使用率分别为40%、60%、40%和80%。因此,Tunnel1、Tunnel2和Tunnel3可选,而Tunnel4因带宽大于等于80%不可选。然后,将会话预计使用带宽计入Tunnel1、Tunnel2所属的物理接口Interface1和Tunnel3所属的物理接口Interface2的已使用带宽,两个物理接口的剩余带宽则分别为60Mbps和90Mbps,按照剩余带宽权重选路,Interface1和Interface2被选中的概率分别为40%和60%。如果选中Interface1,Tunnel1和Tunnel2的剩余带宽(将会话预计使用带宽计入已使用带宽)为30Mbps和20Mbps,则Tunnel1和Tunnel2在Interface1下被选中的概率分别为60%和40%;如果选中Interface2,Tunnel3在Interface2下被选中的概率为100%。最终可以得出,Tunnel1、Tunnel2、Tunnel3和Tunnel4被选中的概率分别为24%、16%、60%和0%。
· 进行带宽勉强选路时,如果存在多条链路可选,则按照可选链路的总带宽权重,为业务流量的每个会话分别选择一条最优链路进行转发。
有关主备链路优先级选路、质量勉强选路和带宽勉强选路的详细介绍,请参见“1.11 智能选路机制”。
逐流周期调整模式的机制如下:
· 进行主备链路优先级选路和质量勉强选路时,如果同一优先级下有多条链路可选,则在可选链路中为业务流量的每个会话分别选择一条最优链路进行转发。每个会话选路时首先从可选链路所属的物理接口中选择一个带宽使用率最低(将会话预计使用的带宽计入物理接口已使用带宽)的物理接口,再从选中物理接口下的可选链路中选择一条带宽使用率最低(将会话预计使用的带宽计入链路已使用带宽)的链路作为最优链路。
· 进行带宽勉强选路时,如果存在多条链路可选,则在可选链路中为业务流量的每个会话分别选择一条最优链路进行转发,每个会话选路时会优先选择上一次选择的链路。如果是首次为该会话流量选路,则首先按照可选链路所属的物理接口剩余带宽权重(将会话预计使用的带宽计入物理接口已使用带宽)选择一个物理接口,再从选中物理接口下的可选链路中按照链路剩余带宽权重(将会话预计使用的带宽计入链路已使用带宽)选择一条链路作为最优链路。
逐流周期调整模式下,设备会对链路上的业务流量进行周期性地调整。当达到调整周期时,设备会对所有业务流量的链路带宽使用情况进行检测。如果用于转发某一业务流量的所有链路所属的物理接口或隧道接口中,最大剩余带宽比与最小剩余带宽比的差值大于周期调整上限阈值,则会对该业务流量进行重新选路。重新选路可能持续多个调整周期。当达到新的调整周期时,如果最大和最小剩余带宽比的差值小于周期调整下限阈值,或者新的调整周期是该业务流量开始进行重新选路的第20次调整,设备会停止调整该业务流量。
逐包模式的机制如下:
· 当进行主备链路优先级选路和质量勉强选路时,如果同一优先级下有多条链路可选,则将多条链路都作为会话的最优链路。当转发会话的流量时,设备会为会话逐包选择链路进行转发,每条链路被选中的概率等于该链路所属物理接口剩余带宽与所有可选链路所属物理接口剩余带宽和的比值,乘以该链路剩余带宽与该链路所属物理接口下所有可选链路剩余带宽和的比值。其中,链路已使用带宽和链路所属物理接口的已使用带宽中均计入会话预计使用的带宽。
· 当进行带宽勉强选路时,如果存在多条链路可选,则将多条链路都作为会话的最优链路。当转发该会话的流量时,设备为会话逐包选择链路进行转发,每条链路被选中的概率相同。
为提高报文转发效率,业务流量完成第一次智能选路后,后续相同业务的流量均按照第一次选路结果进行转发。当业务流量模板中的任一链路发生如下任一变化时,设备会重新选路:
· 链路质量由满足业务质量要求变为不满足业务质量要求或由不满足业务质量要求变为满足业务质量要求。
· 链路已使用带宽达到该链路最大带宽的90%,或者链路所属的物理接口已使用带宽达到所属物理接口最大带宽的90%。
为避免链路震荡时设备频繁选路,智能选路定义了选路延迟时间和选路抑制周期。
设备执行一次选路后,如果配置了选路抑制周期,则会进入选路抑制周期。设备在选路抑制周期内不会重新选路,但会一直维护链路状态数据。当选路抑制周期结束后,如果设备链路状态满足重新选路条件,并在周期结束后的选路延迟时间内一直满足该条件,设备在选路延迟时间超时后重新选路。如果选路延迟时间内设备链路状态变为不满足重新选路条件,设备不会重新选路。
实际组网中,同一物理区域可能部署了多台独立智能选路的设备,每个设备只能为业务流量选择本设备上的链路,无法实现全区域的链路优选和负载分担。协同选路可以使多台具备智能选路能力的设备间共享链路数据,并通过建立专用转发通道实现设备链路的集中调度。
如图1-8所示,协同选路组网中的主要概念如下:
· 协同选路设备组
协同进行智能选路的一组设备。协同选路设备组内的设备互为本端设备和对端设备(简称本/对端设备),可以实现链路共享。
同一协同选路设备组内的设备一般部署在同一物理区域内,如同一个机房、同一个园区等。
¡ 一组Hub设备可以组成协同选路Hub组。
¡ 一组Spoke设备可以组成协同选路Spoke组。
协同选路设备组作为一台逻辑上的“设备”,既可以与另一个协同选路设备组形成Hub-Spoke组网,也可以与某一台物理设备形成Hub-Spoke组网。
· 协同链路组
协同选路设备组内到同一协同选路设备组或同一设备(Spoke设备或者Hub设备)的链路集合。例如,图1-8中协同选路Hub组到单个Spoke设备的链路集合为协同链路组1,到协同选路Spoke组的链路集合为协同链路组2。
· 本端报文和对端报文
协同选路过程中,首先由本端设备处理的业务报文称为本端报文,首先由对端设备处理的业务报文称为对端报文。协同选路设备组的成员设备对本端报文和对端报文的选路策略不同。
当设备不是协同选路设备组的成员设备时,该设备收到的业务报文均认为是本端报文。
协同选路设备组的所有设备两两建立选路协同关系后,本端设备与对端设备中IP地址较小的设备作为客户端,向另一设备发起建立TCP连接。通过建立的TCP连接,本端设备将本设备上符合业务要求的链路配置数据和链路状态数据发送给对端设备,发送的数据不包括从同一协同选路设备组内的其他设备同步过来的链路数据。同步结束后,协同选路设备组内的任一设备都获取到组内所有设备的链路信息,并进行实时的更新。
当协同选路设备组内的任一设备接收到某一会话报文,会按照表1-2所示的协同选路策略进行处理。
接收报文情况 |
是否存在接收报文的转发路由 |
协同选路策略 |
报文为本端报文并且首次收到 |
是 |
根据是否存在该会话的最优链路信息,分为以下两种情况: · 当存在最优链路信息时,按照选路信息转发报文 · 当不存在最优链路信息时,设备综合考虑本地业务模板下的链路和对端设备同一业务流量模板下的链路,选择一条最符合业务需求的链路进行传输。选中链路后: ¡ 如果选中的链路为本端设备上的链路,则直接进行本地转发 ¡ 如果选中的链路为对端设备上的链路,则将报文发送给对端设备 |
报文为本端报文并且首次收到 |
否 |
从所有协同选路对端设备中选择一个对端设备,并将报文转发给该对端设备 |
报文为本端报文但不是首次收到 |
是 |
该报文一般是由于对端设备不存在转发路由而返回的本端报文。此时,设备只从本端设备链路中,选择一条最符合业务需求的链路进行传输。设备每隔60秒为该会话进行一次重新选路,以保证在对端设备路由恢复时,该会话能及时切换到对端设备链路进行传输 |
报文为本端报文但不是首次收到 |
否 |
从未被选择用来转发该报文所属会话流量的协同选路对端设备中选择一个对端设备,并将报文转发给该对端设备;如果不存在符合要求的对端设备,则丢弃报文 |
报文为对端报文 |
是 |
根据是否存在该会话的最优链路信息,分为以下两种情况: · 当存在最优链路信息时,按照选路信息转发报文 · 当不存在最优链路信息时,设备只从本端设备链路中,选择一条最符合业务需求的链路进行传输 |
报文为对端报文 |
否 |
将报文返回给原对端设备 |
设备收到报文后,首先会按照如下步骤进行处理:
(1) 根据五元组和DSCP对业务流量进行分类,并通过QoS功能重标记Flow ID。
(2) 判断报文携带的Flow ID是否有效,如果无效,则按路由表项进行普通转发。
(3) 如果报文携带的Flow ID有效,设备会在路由表中查询是否存在可转发路由。如果不存在可转发路由,设备会继续判断报文是否为本端报文:
¡ 如果不是本端报文,则将报文返回给原协同选路对端设备。
¡ 如果是本端报文,则会从未被选择用来转发该报文所属会话流量的协同选路对端设备中选择一个对端设备,并将报文转发给该设备。如果不存在符合要求的协同选路对端设备,则丢弃该报文。
(4) 如果存在可转发路由,设备则会查看是否存在该报文所属会话的最优链路信息。
¡ 如果存在最优链路信息,则按照选路信息转发报文。
¡ 如果不存在,则为该报文进行选路。
图1-9 选路准备
(1) 设备根据报文携带的Flow ID选择业务流量模板。
(2) 在业务流量模板下的链路中选择最优链路,依次进行:
a. 主链路优先级选路
b. 备链路优先级选路
c. 质量勉强选路
d. 带宽勉强选路
如果报文是本端报文并且是首次收到,可选链路包括本地业务模板下的链路和对端设备同一业务流量模板下的链路;如果报文是对端报文,或者报文是本端报文但不是首次收到,可选链路则仅包括本设备上的链路。
(3) 如果在任一类型选路中找到最优链路,则返回选路结果,剩余类型的选路不再进行;否则,继续进行下一类型选路。如果所有类型的选路都没有找到最优链路,则认为没有最优链路,并返回选路结果。
(4) 如果在业务流量模板下的链路中找到最优链路,则根据选路结果转发。
¡ 如果最优链路是本端设备链路,则直接本地转发。
¡ 如果最优链路是协同选路设备组中的对端设备链路,则将报文转发给对端设备。
(5) 如果没有找到,则按路由表项进行普通转发。
完成选路后,设备会关联报文的五元组与最优链路,并将其作为所属会话的最优链路信息记录下来,后续收到的相同会话流量按照最优链路信息进行转发。当持续一段时间没有收到相应会话流量时,设备会删除该最优链路信息。
图1-10 智能选路流程总图
智能选路会优先为业务流量选择质量和带宽均满足业务要求的主用链路,这一选路过程称为主链路优先级选路。主链路优先级选路过程如图1-11所示,设备会按照从高到低的顺序遍历业务流量模板下的所有优先级,对于当前优先级:
(1) 设备会遍历优先级下的所有链路,判断链路是否为等价路径之一。如果链路是等价路径之一,则继续判断该链路是否为链路带宽和质量均符合业务要求的主用链路。如果是,则将该链路计入当前优先级可选链路;否则,继续判断该链路是否为链路带宽符合要求的主用链路:
¡ 如果是,则将该链路计入质量勉强选路可选链路,并继续判断当前优先级下的其他链路。
¡ 如果不是,则继续判断当前优先级下的其他链路。
如果链路不是等价路径之一,继续判断当前优先级下的其他链路。
(2) 当遍历完当前优先级下的所有链路后,设备会确认业务流量在当前优先级下有几条可选链路:
¡ 如果只有一条可选链路,则直接选择该链路为最优链路。
¡ 如果有多条可选链路,则根据链路负载分担模式选择一条或多条链路作为最优链路。业务报文在逐流链路负载分担模式下,只会选择一条链路作为最优链路;在逐包链路负载分担模式下会选择多条链路作为最优链路。
¡ 如果没有可选链路,则继续遍历下一优先级下的链路。
如果所有优先级下均无可选链路,则认为主链路优先级选路没有为该业务流量找到最优链路。
(3) 关于如何判断链路质量是否符合要求,请参见“1.6.4 质量策略”。关于如何判断链路带宽是否符合要求,请参见“1.7.2 带宽策略”。
当主链路优先级选路没有为业务流量找到最优链路时,设备进行备链路优先级选路。备链路优先级选路为业务流量选择质量和带宽均满足业务要求的备用链路,其具体选路流程与主链路优先级选路类似,不再详细介绍。
当主链路优先级选路与备链路优先级选路均未找到最优链路时,设备进行质量勉强选路。
质量勉强选路的对象为主链路优先级选路和备链路优先级选路过程中,计入质量勉强选路可选链路的所有链路。这些链路的链路质量不满足业务要求,但链路带宽满足业务要求。质量勉强选路即是在没有链路质量满足业务要求时,勉强为业务流量选择一条带宽满足业务要求的链路。
为业务流量进行质量勉强选路时,如果存在多条可选链路,设备会根据链路负载分担模式选择一条或者多条链路作为最优链路。
如果质量勉强选路仍未找到最优链路,即所有等价路径的链路带宽均不满足业务要求,设备进行带宽勉强选路。带宽勉强选路会在业务流量模板下属于等价路径之一的链路中,勉强为业务选择一条链路作为最优链路。
为业务流量进行带宽勉强选路时,如果存在多条可选链路,设备会根据链路负载分担模式选择一条或者多条链路作为最优链路。
链路负载较高时修改链路优选策略(如链路优先级等),可能导致链路优选结果与当前配置的链路优选策略不符。建议在链路无负载或者负载较小时修改链路优选策略。
Spoke设备配置任务如下:
(1) 启动RIR进程
(2) 配置Spoke设备功能
¡ (可选)配置NQA链路通断探测
¡ 配置SLA
(3) 配置链路属性
¡ 配置链路带宽
¡ (可选)配置链路为备用链路
¡ (可选)配置指定业务流量的专用链路
(4) 配置业务流量模板
¡ 创建业务流量模板
使用逐包模式进行链路负载分担时,必须配置本功能。
¡ 配置链路优先级
¡ (可选)配置未找到最优链路时丢弃流量
(5) (可选)配置链路负载分担模式
缺省情况下,链路负载分担模式为逐流加权选路模式。
(6) (可选)配置基于业务优先级的选路功能
(7) (可选)配置选路延迟时间和选路抑制周期
c. 定义策略
d. 应用策略
(9) (可选)配置协同选路
c. 将链路添加到协同链路组
e. 添加报文重定向策略
(10) (可选)开启RIR日志功能
(11) (可选)开启隧道基于Flow ID的流量速率统计功能
Hub设备配置任务如下:
(1) 启动RIR进程
(2) 配置Hub设备功能
¡ (可选)创建SLA与NQA链路质量探测
(3) 配置链路属性
¡ 配置链路带宽
¡ (可选)配置链路为备用链路
¡ (可选)配置指定业务流量的专用链路
(4) 配置业务流量模板
¡ 创建业务流量模板
使用逐包模式进行链路负载分担时,必须配置本功能。
¡ 配置链路优先级
¡ (可选)配置未找到最优链路时丢弃流量
(5) (可选)配置链路负载分担模式
缺省情况下,链路负载分担模式为逐流加权选路模式。
(6) (可选)配置基于业务优先级的选路功能
(7) (可选)配置选路延迟时间和选路抑制周期
c. 定义策略
d. 应用策略
(9) (可选)配置协同选路
c. 将链路添加到协同链路组
e. 添加报文重定向策略
(10) (可选)开启RIR日志功能
(11) (可选)开启隧道基于Flow ID的流量速率统计功能
配置智能选路前,请确保Hub设备与Spoke设备之间路由可达并且存在两条及以上等价路径。
(1) 进入系统视图。
system-view
(2) 启动RIR进程,并进入RIR视图。
rir
在Hub-Spoke组网中,为避免Hub设备因检测多条链路而消耗过多资源,一般将Hub设备配置为RIR服务器,将Spoke设备配置为RIR客户端。
在全局和接口下都可以开启RIR客户端功能。全局开启RIR客户端功能时,设备的所有接口下都会开启RIR客户端功能,即所有接口都可以发送RIR客户端的链路探测质量结果。在接口下开启RIR客户端功能时,仅该接口可以发送RIR客户端的链路探测质量结果。
· VXLAN组网中仅Tunnel接口可以开启RIR客户端功能,RIR客户端基于Tunnel接口发送链路探测质量结果。
· 在同一接口下只能开启RIR客户端功能或开启RIR服务器功能。
· 同时在全局和接口下开启不同的功能模式(RIR客户端功能或RIR服务器功能),接口下的功能模式以接口配置为准。
(1) 进入系统视图。
system-view
(2) 开启RIR客户端功能。请至少选择其中一项进行配置。
¡ 请依次执行以下命令全局开启RIR客户端功能。
rir
client enable
¡ 请依次执行以下命令在VXLAN隧道模式的Tunnel接口视图下开启RIR客户端功能。
interface tunnel tunnel-number mode vxlan
rir role client
缺省情况下,未开启RIR客户端功能。
为保证RIR客户端的链路探测质量结果能够同步到RIR服务器,必须在RIR客户端上配置探测信息同步端口号。
RIR客户端与RIR服务器上配置的探测信息同步端口号必须保持一致,否则RIR客户端无法将链路探测质量结果同步到RIR服务器。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 配置RIR服务器与RIR客户端的探测信息同步端口号。
probe sync-port port-number
缺省情况下,未配置RIR服务器与RIR客户端的探测信息同步端口号。
Spoke设备作为RIR客户端时,也同时担任NQA客户端的角色。因此,需要在Spoke设备上开启NQA客户端功能,以保证NQA链路通断探测与NQA链路质量探测能够正常进行。
(1) 进入系统视图。
system-view
(2) 开启NQA客户端功能。
nqa agent enable
缺省情况下,NQA客户端功能处于关闭状态。
本命令的详细介绍,请参见“网络管理与监控命令参考”中的“NQA”。
开启RIR进程后,设备会启动NQA链路通断探测,对业务流量模板下配置的所有链路进行通断探测。Spoke设备(即NQA客户端)以一定时间间隔发送探测报文,并等待接收响应报文。如果超过超时时间仍未收到响应报文,则认为该链路不通。
通过本配置,可以:
· 修改探测时间间隔:时间间隔越短,检测灵敏度越高,同时消耗的系统资源也越多。
· 修改探测的超时时间:超时时间越短,对链路要求越高。
在VXLAN组网中,设备仅对开启RIR客户端功能的Tunnel接口进行NQA链路通断探测。
NQA链路通断探测报文以VXLAN隧道的源端地址为源IP地址、VXLAN隧道的目的端地址为目的IP地址,不必另行配置。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 配置NQA通断探测参数。
probe connect interval interval timeout timeout
缺省情况下,NQA链路通断探测时间间隔为100毫秒,超时时间为3000毫秒。
配置NQA链路质量探测后,设备会启动UDP-jitter测试,根据配置的探测参数进行链路质量检测。在业务流量模板下配置质量策略,关联SLA和NQA链路质量探测后,业务流量模板会将NQA链路质量探测结果与SLA的链路质量阈值进行比较。如果链路的所有探测结果均低于或等于阈值,则判定该链路符合业务质量要求。
为区别不同业务流量对链路质量探测的不同要求,可以为不同业务流量模板指定探测参数不同的NQA链路质量探测。NQA链路质量探测参数不同,其对同一链路的探测结果可能不同。
在VXLAN组网中,设备仅对开启RIR客户端功能的Tunnel接口进行NQA链路通断探测。
NQA链路质量探测报文以VXLAN隧道的源端地址为源IP地址、VXLAN隧道的目的端地址为目的IP地址,不必另行配置。
NQA链路质量探测需要NQA服务器和客户端配合才能完成。配置NQA链路质量探测前,需要在对应的NQA服务器上配置UDP监听功能。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 创建NQA链路质量探测,并进入NQA链路质量探测视图。
nqa nqa-id
(4) 配置NQA链路质量探测参数。
a. 配置NQA链路质量探测的时间间隔。
probe interval interval
缺省情况下,NQA链路质量探测时间间隔为100毫秒。
b. 配置NQA链路质量探测报文的DSCP值。
probe packet-dscp dscp-value
缺省情况下,NQA链路质量探测报文的DSCP值为63。
c. 配置NQA链路质量探测时发送报文的数量。
probe packet-number number
缺省情况下,NQA链路质量探测时发送报文的数量为100。
d. 配置NQA链路质量探测报文发送的时间间隔。
probe packet-interval interval
缺省情况下,NQA链路质量探测报文发送的时间间隔为20毫秒。
e. 配置NQA链路质量探测的超时阈值。
probe packet-timeout packet-timeout
缺省情况下,NQA链路质量探测报文的应答超时时间为3000毫秒。
f. 配置进行NQA链路质量探测的端口号。
probe port port-number
缺省情况下,未配置进行NQA链路质量探测的端口号。
NQA链路质量探测的端口号必须与RIR服务器(即NQA服务器)配置的UDP监听端口号相同,否则无法正常进行链路质量探测。
为业务流量模板质量策略指定SLA和NQA链路质量探测后,只有NQA链路质量探测结果符合SLA质量要求的链路才能用来传输业务流量模板对应的业务流量。
通过本配置可以创建SLA并配置SLA的各类参数。同一链路质量探测结果与不同SLA的阈值相比较,质量结果可能不同。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 创建SLA,并进入SLA视图。
sla sla-id
(4) 配置链路质量阈值。
a. 配置业务延迟阈值。
delay threshold threshold-value
缺省情况下,业务延迟阈值为10毫秒。
b. 配置业务抖动阈值。
jitter threshold threshold-value
缺省情况下,业务抖动阈值为100毫秒。
c. 配置业务丢包率阈值。
packet-loss threshold threshold-value
缺省情况下,业务丢包阈值为100‰。
在Hub-Spoke组网中,为避免Hub设备因检测多条链路而消耗过多资源,一般将Hub设备配置为RIR服务器,将Spoke设备配置为RIR客户端。
在全局和接口下都可以开启RIR服务器功能。全局开启RIR服务器功能时,设备的所有接口下都会开启RIR服务器功能,即所有接口都可以接收RIR客户端的链路探测质量结果。在接口下开启RIR服务器功能时,该接口可以接收RIR客户端的链路探测质量结果。
· VXLAN组网中仅Tunnel接口可以开启RIR服务器功能,RIR服务器基于Tunnel接口接收RIR客户端同步过来的链路探测质量结果。
· 在同一接口下只能开启RIR客户端功能或开启RIR服务器功能。
· 同时在全局和接口下开启不同的功能模式(RIR客户端功能或RIR服务器功能),接口下的功能模式以接口配置为准。
(1) 进入系统视图。
system-view
(2) 开启RIR服务器功能。请至少选择其中一项进行配置。
¡ 请依次执行以下命令全局开启RIR服务器功能。
rir
server enable
¡ 请依次执行以下命令在VXLAN隧道模式的Tunnel接口视图下开启RIR服务器功能。
interface tunnel tunnel-number mode vxlan
rir role server
缺省情况下,未开启RIR服务器功能。
为保证RIR服务器能够接收到RIR客户端同步的链路探测质量结果,必须在RIR服务器上配置探测信息同步端口号。
RIR服务器与RIR客户端上配置的探测信息同步端口号必须保持一致,否则RIR客户端无法将链路探测质量结果同步到RIR服务器。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 配置RIR服务器与RIR客户端的探测信息同步端口号。
probe sync-port port-number
缺省情况下,未配置RIR服务器与RIR客户端的探测信息同步端口号。
Hub设备作为RIR服务器时,同时担任NQA服务器的角色。因此,需要在Hub设备上开启NQA服务器功能,以保证NQA链路通断探测能够正常进行;并配置UDP监听服务,以保证NQA链路质量探测能够正常进行。
Hub设备(即NQA服务器)上配置的监听端口号必须与Spoke设备(即NQA客户端)上配置的NQA链路质量探测目的端口号一致,并且不能与已有的UDP监听服务冲突。
(1) 进入系统视图。
system-view
(2) 开启NQA服务器功能。
nqa server enable
缺省情况下,NQA服务器功能处于关闭状态。
本命令的详细介绍,请参见“网络管理与监控命令参考”中的“NQA”。
(3) 在RIR服务器(即NQA服务器)上配置UDP监听服务。
nqa server udp-echo ip-address port-number [ vpn-instance vpn-instance-name ] [ tos tos ]
本命令的详细介绍,请参见“网络管理与监控命令参考”中的“NQA”。
Hub设备配置业务流量模板质量策略时必须指定SLA和NQA链路质量探测。本配置用于创建质量策略引用的SLA和NQA链路质量探测。Hub设备业务流量模板质量策略引用的SLA和NQA链路质量探测可以不配置具体参数;如果配置了参数,该参数不生效。质量策略配置的详细介绍,请参见1.19.3 配置业务流量模板质量策略。
· 如果Hub设备不配置业务流量模板质量策略,可以不创建SLA和NQA链路质量探测。
· 配置Hub设备业务流量模板质量策略引用的SLA和NQA链路质量探测编号,与Spoke设备相应业务流量模板质量策略引用的SLA和NQA链路质量探测编号不一致,不会影响质量策略的执行和应用,但为了方便识别,建议配置成一致。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 创建SLA,并进入SLA视图。
sla sla-id
(4) 退回RIR视图。
quit
(5) 创建NQA链路质量探测,并进入NQA链路质量探测视图。
nqa nqa-id
链路类型与编号用来在Hub设备与Spoke设备之间唯一确定一条链路。只有为链路配置链路类型与编号,该链路才能被业务流量模板引用。通过本配置,可以配置链路为4G、Internet、MPLS或MSTP链路类型,以标识该链路的网络类型。
基于VXLAN组网部署智能选路时,每个Hub设备与每个Spoke设备间在每个VSI虚接口下(即每个VXLAN中)只能有一条VXLAN隧道。通过在VSI虚接口下配置链路类型和编号,就能在Hub设备与Spoke设备之间唯一标识一条VXLAN隧道。
Hub设备或Spoke设备的同一VSI虚接口下可以有多条VXLAN隧道分别对应多个Spoke设备或Hub设备。这些VXLAN隧道共用相同的链路类型和编号。
目前仅支持在VSI虚接口下配置4G、Internet、MPLS和MSTP四种链路类型,配置时需要注意:
· 链路类型的配置仅提供标识作用,不会对实际报文的封装形式造成影响。
· 一个VSI虚接口只能配置为一种类型的链路。
· 不同的VSI虚接口下同类型链路的编号不能相同。
(1) 进入系统视图。
system-view
(2) 进入VSI虚接口视图。
interface vsi-interface vsi-interface-id
(3) 配置链路类型及编号。
rir link-type { 4g | internet | mpls | mstp | vpdn } index link-index
缺省情况下,未配置VSI虚接口的链路类型和编号。
(1) 进入系统视图。
system-view
(2) 进入VXLAN隧道模式的Tunnel接口视图。
interface tunnel tunnel-number mode vxlan
(3) 配置Tunnel接口的期望带宽。
bandwidth bandwidth-value
缺省情况下,接口的期望带宽=接口的最大速率÷1000(kbps)。
期望带宽供业务模块使用,不会对接口实际带宽造成影响。
本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“隧道”。
通过指定链路所属的物理出接口,设备为业务流量智能选路时,可以同时考虑链路及其所属的物理接口的带宽使用情况。在VXLAN组网中,链路为VXLAN隧道,链路所属的物理出接口为发送隧道报文的物理出接口。
RIR功能支持通过rir bind-interface命令或tunnel out-interface命令为隧道绑定实际转发报文的物理出接口:
· 在基于L2TP隧道建立VXLAN隧道的组网中,需要通过rir bind-interface命令为隧道绑定实际转发报文的物理出接口。
· 在基于非L2TP隧道建立VXLAN隧道的组网中,可以通过tunnel out-interface命令和rir bind-interface命令两种方式为隧道绑定实际转发报文的物理出接口,推荐使用tunnel out-interface命令。
· 配置智能选路必须指定发送隧道报文的物理出接口,否则选路功能无法正常使用。
· 如果隧道源端地址为某一物理接口的IP地址,则本配置指定的发送隧道报文的物理出接口必须与该物理接口是同一接口。
· 只能为每个VXLAN隧道指定一个物理出接口,可以为不同的VXLAN隧道指定相同的物理出接口。
· 配置rir bind-interface命令时,指定的物理出接口仅影响选路时的带宽计算,不影响实际的报文转发。
(1) 进入系统视图。
system-view
(2) 进入VXLAN隧道模式的Tunnel接口视图。
interface tunnel tunnel-number mode vxlan
(3) 为隧道绑定实际转发报文的物理出接口。请选择其中一项进行配置。
¡ 方式一
tunnel out-interface interface-type interface-number
本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“隧道”。
¡ 方式二
rir bind-interface interface-type interface-number
缺省情况下,隧道未绑定实际转发报文的物理出接口。
Spoke设备与主用Hub设备之间的链路称为主用链路,Spoke设备与备用Hub之间的链路称为备用链路。设备为业务流量进行智能选路时,会优先选择符合业务要求的主用链路,然后才会选择符合业务要求的备用链路。
基于VXLAN部署智能选路时,在业务流量模板下基于链路类型和编号,为VSI虚接口配置链路优先级后,该VSI虚接口关联的VXLAN隧道即缺省作为主用链路选路。如果将某个VSI虚接口关联的VXLAN隧道配置为RIR备份隧道,该VXLAN隧道即作为备用链路选路。
如果实际组网需要,用户可以配置Spoke设备与主Hub设备之间的链路为备用链路。
(1) 进入系统视图。
system-view
(2) 进入VXLAN隧道模式的Tunnel接口视图。
interface tunnel tunnel-number mode vxlan
(3) 指定当前隧道为RIR备用隧道。
rir backup
缺省情况下,隧道为RIR主用隧道。
当需要某隧道只转发某些业务流量时,如基于MPLS专线建立的VXLAN隧道只转发视频会议流量,可以通过本命令将该隧道配置为业务流量的专用链路。
设备为业务流量智能选路时,会优先选择该业务流量的专用链路。其中:
· 如果该业务流量只有一条专用链路可用,则选择该链路进行转发。
· 如果该业务流量有多条专用链路可用,则选择一条优先级最高的专用链路进行转发;如果存在多条优先级相同的专用链路,则按照当前业务流量的负载分担模式在多条专用链路上进行负载分担。
· 如果该业务流量的所有专用链路均不可用,则在该业务流量模板下选择最优链路进行转发。
当设备为业务流量选择专用链路时,会同时将专用链路上的其他业务流量调度到其他链路上。如果无法为其他业务流量选择该专用链路外的其他链路,则将其他业务流量报文丢弃,以保证专用链路上流量的稳定性。当该业务流量不再使用专用链路时,设备可以将其他业务流量重新调度到专用链路上。
· 业务流量的专用链路必须已配置在对应业务流量模板下,否则,设备为业务流量选路时不会将该链路作为专用链路。
· 一条隧道只能配置为一条业务流量的专用链路,但可以为同一业务流量配置多条专用链路。
(1) 进入系统视图。
system-view
(2) 进入VXLAN隧道模式的Tunnel接口视图。
interface tunnel tunnel-number mode vxlan
(3) 将隧道配置为指定业务流量的专用链路。
rir dedicated flow flow-id
缺省情况下,隧道不是业务流量的专用链路。
通过配置业务流量模板,可以确定某一类业务的选路策略。
业务流量模板用于定义不同业务流量的链路选择策略。当设备识别出不同业务流量的报文后,将通过Qos策略为不同的业务流量分配Flow ID。设备使用该Flow ID对应的业务流量模板为报文选择符合要求的链路进行转发。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 创建业务流量模板,并进入业务流量模板视图。
flow flow-id
Hub设备业务流量模板下配置质量策略后,会按照Spoke设备同步过来的链路探测质量结果执行链路质量检测。如果Hub设备上配置了业务流量模板质量策略,而Spoke设备上没有配置相应的业务流量模板质量策略,那么会因无法同步链路探测质量结果,导致该业务流量模板对应的所有业务流量质量检测不通过。如果没有配置质量策略,则在设备为业务流量选路时认为链路质量符合业务质量要求。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 进入业务流量模板视图。
flow flow-id
(4) 配置业务流量模板质量策略。
quality-policy sla sla-id nqa nqa-id
缺省情况下,未配置业务流量模板的质量策略。
为业务流量模板质量策略指定SLA、NQA链路质量探测时,指定SLA、NQA链路质量探测必须已经创建。
为某个会话的流量进行智能选路时,设备会实时获取会话预计使用的带宽,并基于获取的带宽进行带宽检测;如果获取不到,则基于会话所属业务流量模板下配置的会话预计使用的带宽进行带宽检测。如果同时满足以下条件,则认为待选链路当前可用带宽符合会话带宽要求,带宽检测通过:
· 待选链路所属物理接口的已使用带宽与会话预计使用的带宽之和小于待选链路所属物理接口总带宽的80%;
· 待选链路已使用带宽与会话预计使用的带宽之和小于待选链路总带宽的80%。
使用逐包模式进行链路负载分担时,必须手工配置会话预计使用的带宽。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 进入业务流量模板视图。
flow flow-id
(4) 会话预计使用的带宽。
expect-bandwidth bandwidth
缺省情况下,会话预计使用的带宽为0kbps。
设备为某一业务类型流量选路时,会优先选择优先级较高的链路。
基于VXLAN组网部署智能选路时,可以在业务流量模板下基于链路类型和编号,为VSI虚接口下的链路配置链路优先级。由于每个Hub设备与每个Spoke设备间在每个VSI虚接口下(即每个VXLAN中)只能有一条VXLAN隧道,在业务流量模板下配置链路优先级,就确定了一个Hub设备和一个Spoke设备之间VXLAN隧道的优先级。
在同一业务流量模板下可以为不同的链路配置相同的链路优先级。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 进入业务流量模板视图。
flow flow-id
(4) 配置链路优先级。
path link-type { 4g | internet | mpls | mstp | vpdn } index link-index preference preference
缺省情况下,未配置业务流量模板中各类型链路的优先级。
通过智能选路机制,设备可以为业务流量从对应业务流量模板下的链路中选择最优链路进行转发。如果没有找到最优链路,则按照原路由表项进行普通转发。当为某业务指定的链路均发生故障,且用户不希望该业务流量占用其他链路时,例如,不希望低优先级的视频流量占用业务链路时,可以配置本功能。配置本功能后,如果设备没有为业务流量找到最优链路,则会将该业务流量的报文丢弃。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 进入业务流量模板视图。
flow flow-id
(4) 配置设备没有为指定业务流量找到最优链路时丢弃该流量。
no-optimal-link drop
缺省情况下,设备没有为业务流量找到最优链路时,按照路由表项对该流量进行普通转发。
将RIR全局的链路负载分担模式配置为逐流周期调整模式,并将某一业务的链路负载分担模式配置为逐包模式时,该业务流量会按照逐包模式进行链路负载分担,除该业务流量外的其他业务流量则按照逐流周期调整模式进行链路负载分担。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 配置业务链路的负载分担模式为逐流周期调整模式。
load-balance per-session periodic-adjust enable
缺省情况下,业务的链路负载分担模式为逐流加权选路模式。
(4) 配置逐流周期调整链路负载分担模式的调整周期。
load-balance per-session periodic-adjust adjust-interval interval-value
缺省情况下,逐流周期调整链路负载分担模式的调整周期为30秒。
(5) 配置逐流周期调整链路负载分担模式的剩余带宽比差值阈值。
load-balance per-session periodic-adjust threshold upper upper-threshold-value lower lower-threshold-value
缺省情况下,逐流周期调整链路负载分担模式的剩余带宽比差值的上限阈值为50%,下限阈值为20%。
指定的剩余带宽比差值的上限阈值必须大于或等于下限阈值。
由于同一会话的报文分布在多条链路上进行传输,报文可能无法按照顺序到达接收端。因此,对报文顺序敏感的业务(TCP等可以保序的协议除外)建议不要配置为逐包转发负载分担模式。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 进入业务流量模板视图。
flow flow-id
(4) 配置链路负载分担模式为逐包模式。
load-balance per-packet enable
缺省情况下,业务的链路负载分担模式以RIR全局的链路负载分担模式为准。
为更好地保证高优先级业务优先使用链路资源,智能选路支持基于业务优先级选路。
在基于业务优先级的选路机制中,业务流量模板质量策略中的SLA编号决定了相应业务的优先级。SLA编号越大,优先级越高。如果相应业务流量模板下没有配置质量策略,则认为该业务流量的优先级最低。
开启基于业务优先级的选路功能后,设备会根据业务流量的优先级选择链路,并在链路优选的前提下尽可能将所有链路所属物理接口的带宽使用率控制在相对不高的水平(用户配置的带宽下限阈值之下),避免出现个别链路所属物理接口或隧道接口的带宽使用率过高甚至拥塞的情况。设备为会话进行智能选路时:
· 如果待选链路所属物理接口或隧道接口的带宽使用率(将会话预计使用的带宽计入物理接口或隧道接口已使用带宽)不高于下限阈值,则选择该链路。
· 如果待选链路所属物理接口或隧道接口的带宽使用率(将会话预计使用的带宽计入物理接口已使用带宽)高于下限阈值,则将比该会话所属业务流量优先级更低的业务流量按会话逐步调度到其他可选链路,直至链路所属物理接口或隧道接口的带宽使用率不高于下限阈值时,设备为会话选择该链路进行转发。如果将比该会话所属业务流量优先级更低的业务流量全部调度离开后,链路所属物理接口或隧道接口的带宽使用率仍然高于下限阈值,设备则为会话选择其他可选链路进行转发。
· 如果会话的所有可选链路所属物理接口或隧道接口带宽使用率(将会话预计使用的带宽计入物理接口或隧道接口已使用带宽)都不低于下限阈值,设备会从所有可选链路中选择一条或者多条链路转发会话流量。
当链路所属物理接口或隧道接口的带宽使用率高于上限阈值时,设备会对该链路上的业务流量进行重新选路。重新选路通过多个调度周期逐步完成。在每个调度周期内,设备会将该链路上当前优先级最低的业务流量调整到其他链路上进行传输,直至该链路上只存在最高优先级的业务流量,或当前优先级最低的业务流量的所有可选链路所属物理接口或隧道接口带宽使用率都低于下限阈值。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 开启基于业务优先级的选路功能。
flow priority-based-schedule enable
(4) 配置基于业务优先级选路的调度周期。
flow priority-based-schedule schedule-period schedule-period-value
缺省情况下,基于业务优先级选路的调度周期为30秒。
(5) 配置基于业务优先级选路的带宽阈值。
flow priority-based-schedule bandwidth-threshold upper upper-threshold lower lower-threshold
缺省情况下,基于业务优先级选路的带宽上限阈值为90%,下限阈值为20%。
指定的带宽上限阈值必须大于等于下限阈值。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 配置选路延迟时间。
link-select delay delay
缺省情况下,选路延迟时间为60秒。
(4) 配置选路抑制周期。
link-select suppress-period period-value
缺省情况下,未配置选路抑制周期,设备执行一次选路后不会进入选路抑制周期。
建议配置选路抑制周期大小为选路延迟时间的整数倍,至少为2倍。
为业务流量分配指定Flow ID,可以关联流量与业务流量模板,流量根据业务流量模板下的选路策略进行选路。
通过配置QoS策略可以为业务流量重标记不同的Flow ID。有关QoS重标记功能的详细介绍,请参见“ACL和QoS配置指导”中的“QoS概述”、“QoS策略”和“重标记”。
(1) 进入系统视图。
system-view
(2) 创建流分类,并进入流分类视图。
traffic classifier classifier-name [ operator { and | or } ]
(3) 定义匹配报文的五元组和DSCP。
if-match [ not ] match-criteria
缺省情况下,未定义匹配数据包的规则。
(1) 进入系统视图。
system-view
(2) 创建流行为,并进入流行为视图。
traffic behavior behavior-name
(3) 配置重标记报文的Flow ID。
remark flow-id flow-id
缺省情况下,未配置重新标记报文的Flow ID动作。
(1) 进入系统视图。
system-view
(2) 创建QoS策略,并进入策略视图。
qos policy policy-name
(3) 在策略中为类指定采用的流行为。
classifier classifier-name behavior behavior-name
缺省情况下,没有为类指定流行为。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 在接口的入方向应用QoS策略。
qos apply policy policy-name inbound
缺省情况下,未应用QoS策略。
组建协同选路设备组的所有设备必须具备独立的智能选路能力,并且使用相同的业务定义策略,即可以将同类业务流量标识成相同的Flow ID。
本/对端设备间需要建立专用转发路径,以防止本端设备转发给对端设备的报文被中间设备转发给其他设备。专用转发路径可以是直连路由或GRE隧道:
· 如果本/对端设备直连,则可以通过配置多个物理接口或者子接口,分别为本/对端设备间公网或每个VPN实例的报文生成一条直连路由。有关子接口配置的详细介绍,请参见“接口管理配置指导”中的“以太网接口”。
· 如果本/对端设备非直连,则需要手动为本/对端设备间公网或每个VPN实例的报文分别建立一条GRE隧道。有关GRE隧道配置的详细介绍,请参见“三层技术-IP业务配置指导”中的“GRE”。
由于业务流量标识仅在设备选路流程中使用,不会被报文携带出设备。所以,需要在本/对端设备互连的接口上应用QoS策略,为接收到的报文重新添加业务流量标识。有关使用QoS策略重标记流量标识的详细介绍,请参见“1.23 配置QoS策略重标记Flow ID”。
本端设备只能发现和选择已添加到协同选路组中的对端设备链路,并且在选路过程中会将本端设备链路的目的地作为同一协同链路组中的对端设备链路的目的地。
同一协同选路设备组到不同设备(Hub设备或Spoke设备)或其他协同选路设备组的协同链路组编号不能相同。
不同协同选路设备组到同一设备(Hub设备或Spoke设备)或同一协同选路设备组的协同链路组编号可以相同,但为了组网清晰,建议配置成不同。
(1) 进入系统视图。
system-view
(2) 进入VXLAN隧道模式的Tunnel接口视图。
interface tunnel tunnel-number mode vxlan
(3) 配置VXLAN隧道属于指定RIR协同链路组。
rir collaboration-link-group group-id
缺省情况下,VXLAN隧道属于RIR协同链路组0。
协同选路设备组的所有设备需要两两建立选路协同关系以同步链路数据。建立选路协同关系后,本/对端设备中IP地址较小的设备会作为客户端,向另一设备发起建立TCP连接。通过该TCP连接,本端设备可以将本设备上符合业务要求的链路配置数据和链路状态数据发送给对端设备,发送的数据不包括从同一协同选路设备组内的其他设备同步过来的链路数据。
建立选路协同关系时指定的本端和对端地址必须同时属于公网或相同的VPN实例。
同一协同选路本/对端设备间只可以建立一条用于同步链路数据的有效TCP连接。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 配置本端设备与对端设备建立选路协同关系。
collaboration peer [ vpn-instance vpn-instance-name ] peer-ipv4-address local local-ipv4-address sync-port port-number
缺省情况下,本端设备未与对端设备建立选路协同关系。
本端设备与对端设备建立选路协同关系后,可以同步链路信息,但仍无法选择对端设备链路进行数据转发。在本端设备上配置对端设备在公网或某个VPN实例的报文重定向地址后,本端设备在选择对端设备的链路转发公网或某个VPN实例的数据报文时,会根据对端设备在公网或该VPN实例内的重定向地址,查找公网或该VPN实例的路由表,将报文通过专用转发路径转发到对端设备。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 配置协同选路对端设备的报文重定向地址。
collaboration peer [ vpn-instance vpn-instance-name ] peer-ipv4-address redirect [ vpn-instance redirect-vpn-instance-name ] redirect-ipv4-address
缺省情况下,未配置协同选路对端设备的报文重定向地址。
其中,vpn-instance vpn-instance-name用于指定与对端设备建立的选路协同关系所属的VPN实例;vpn-instance redirect-vpn-instance-name用于配置本端设备在选择对端设备的链路转发数据报文时,将指定VPN实例的报文重定向到redirect-ipv4-address。
在HA(High Availability,高可靠性)与RIR协同选路配合的组网中,RIR的报文重定向操作会导致HA设备的主备角色频繁切换,影响报文的转发速率。为了解决此问题,可以在协同选路的两台设备互联的接口上开启本功能,以便在协同选路的两台设备之间建立一条透传通道,在不影响HA设备主备角色的情况下将RIR数据报文转发到协同选路对端设备上。
有关HA的详细介绍,请参见“可靠性配置指导”中的“高可靠性”。
协同选路的两台设备上开启本功能的物理接口的名称必须一致。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启接口透传RIR数据报文的功能。
rir relay enable
缺省情况下,接口透传RIR数据报文的功能处于关闭状态。
RIR日志记录了智能选路过程中发生的选路调度事件、质量变化事件、带宽变化事件、配置变化事件和链路故障事件,以便网络管理员根据记录的事件分析、维护和调整智能选路网络。
RIR日志通过Flow日志方式进行输出。开启RIR日志功能后,必须配置Flow日志的相关功能,才能输出RIR日志信息。
有关Flow日志的详细介绍,请参见“网络管理和监控配置指导”中的“Flow日志”。
(1) 进入系统视图。
system-view
(2) 进入RIR视图。
rir
(3) 开启RIR日志功能。
log enable
缺省情况下,RIR日志功能属于关闭状态。
开启隧道基于Flow ID的流量速率统计功能后,设备将会基于Flow ID对隧道流量速率进行统计。
(1) 进入系统视图。
system-view
(2) 开启隧道基于Flow ID的流量速率统计功能。
tunnel flow-statistics enable
缺省情况下,隧道基于Flow ID的流量速率统计功能处于关闭状态。
(3) (可选)配置隧道基于Flow ID的流量速率统计时间间隔。
tunnel flow-statistics interval interval
缺省情况下,隧道基于Flow ID的流量速率统计时间间隔为300秒。
在任意视图下执行display命令可以显示智能选路配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除流量速率统计信息。
表1-3 智能选路显示和维护
操作 |
命令 |
显示隧道基于Flow ID的流量速率统计信息 |
display tunnel flow-statistics [ flow flow-id [ interface tunnel number ] ] |
清除隧道基于Flow ID的流量速率统计信息 |
reset tunnel flow-statistics [ flow flow-id [ interface tunnel number ] ] |
在图1-12所示的Hub-Spoke组网中,Router A和Router B作为Hub侧,Router C作为Spoke侧,部署在VXLAN网络上。通过配置智能选路,流量从Spoke侧流向Hub侧或者从Hub侧流向Spoke侧时,按照为其定义的选路策略进行选路。具体组网需求如下:
· 在Transport network内配置OSPF协议,使Router A、Router B和Router C之间路由可达。
· 基于Transport network配置VXLAN,Router A、Router B和Router C为VTEP设备,Router A和Router C之间、Router B和Router C之间分别配置两条VXLAN隧道。
· Router A、Router B和Router C分别创建VSI虚接口VSI-interface 1、VSI-interface 2。通过配置VSI实例与VSI虚接口关联,实现在独立的Hub-Spoke组网中,VSI虚接口与VXLAN隧道一一对应。
· 配置Router A、Router B和Router C为分布式VXLAN IP网关,并在Router A、Router B、 Router C、Router E、Router F和Router G配置BGP协议,使Router A、Router B和Router C上分别存在两条及以上到对应Hub侧或Spoke侧的、以VSI虚接口为出接口的等价路由。
选路策略定义如下:
· 配置业务流量模板1和业务流量模板2,指导DSCP为1和DSCP为2的报文选择最优的VXLAN隧道进行传输。
· Hub设备为业务流量选路时不进行质量检测,Spoke设备为业务流量选路时进行质量检测。
· Hub设备与Spoke设备的链路负载分担模式均为逐流加权选路模式(缺省模式,无需配置)。
· Hub设备分别为业务流量配置两条优先级相同的链路,当两条链路都符合业务要求时会实现负载分担;Spoke设备分别为业务流量配置两条优先级不同的链路,优先为业务流量选择优先级较高的链路。
· 发送VXLAN隧道报文的物理接口带宽均符合业务流量带宽要求。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
GE2/0/1 |
1.1.1.1/24 |
Router D |
GE2/0/1 |
1.1.1.2/24 |
|
GE2/0/2 |
2.1.1.1/24 |
|
GE2/0/2 |
2.1.1.2/24 |
|
GE2/0/3 |
30.1.1.1/24 |
|
GE2/0/3 |
3.1.1.2/24 |
Router B |
GE2/0/3 |
3.1.1.1/24 |
|
GE2/0/4 |
4.1.1.2/24 |
|
GE2/0/4 |
4.1.1.1/24 |
|
GE2/0/5 |
5.1.1.2/24 |
|
GE2/0/5 |
50.1.1.1/24 |
|
GE2/0/6 |
6.1.1.2/24 |
Router C |
GE2/0/5 |
5.1.1.1/24 |
Router E |
GE2/0/3 |
30.1.1.2/24 |
|
GE2/0/6 |
6.1.1.1/24 |
Router F |
GE2/0/5 |
50.1.1.2/24 |
|
GE2/0/1 |
10.1.1.1/24 |
Router G |
GE2/0/1 |
10.1.1.2/24 |
按照组网图配置各接口的IP地址和子网掩码。
(1) 在Transport network内配置OSPF协议
¡ 配置Router A
<RouterA> system-view
[RouterA] ospf 1
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 1.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit
[RouterA] ospf 2
[RouterA-ospf-2] area 0
[RouterA-ospf-2-area-0.0.0.0] network 2.1.1.0 0.0.0.255
[RouterA-ospf-2-area-0.0.0.0] quit
[RouterA-ospf-2] quit
¡ 配置Router B
<RouterB> system-view
[RouterB] ospf 1
[RouterB-ospf-1] area 0
[RouterB-ospf-1-area-0.0.0.0] network 3.1.1.0 0.0.0.255
[RouterB-ospf-1-area-0.0.0.0] quit
[RouterB-ospf-1] quit
[RouterB] ospf 2
[RouterB-ospf-2] area 0
[RouterB-ospf-2-area-0.0.0.0] network 4.1.1.0 0.0.0.255
[RouterB-ospf-2-area-0.0.0.0] quit
[RouterB-ospf-2] quit
¡ 配置Router C
<RouterC> system-view
[RouterC] ospf 1
[RouterC-ospf-1] area 0
[RouterC-ospf-1-area-0.0.0.0] network 5.1.1.0 0.0.0.255
[RouterC-ospf-1-area-0.0.0.0] quit
[RouterC-ospf-1] quit
[RouterC] ospf 2
[RouterC-ospf-2] area 0
[RouterC-ospf-2-area-0.0.0.0] network 6.1.1.0 0.0.0.255
[RouterC-ospf-2-area-0.0.0.0] quit
[RouterC-ospf-2] quit
¡ 配置Router D
<RouterD> system-view
[RouterD] ospf 1
[RouterD-ospf-1] area 0
[RouterD-ospf-1-area-0.0.0.0] network 1.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] network 3.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] network 5.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] quit
[RouterD-ospf-1] quit
[RouterD] ospf 2
[RouterD-ospf-2] area 0
[RouterD-ospf-2-area-0.0.0.0] network 2.1.1.0 0.0.0.255
[RouterD-ospf-2-area-0.0.0.0] network 4.1.1.0 0.0.0.255
[RouterD-ospf-2-area-0.0.0.0] network 6.1.1.0 0.0.0.255
[RouterD-ospf-2-area-0.0.0.0] quit
[RouterD-ospf-2] quit
(2) 基于Transport network配置VXLAN
¡ 配置Router A
# 开启L2VPN能力。
[RouterA] l2vpn enable
# 创建VSI实例vpna和VXLAN 90。
[RouterA] vsi vpna
[RouterA-vsi-vpna] vxlan 90
[RouterA-vsi-vpna-vxlan-90] quit
[RouterA-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 70。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] vxlan 70
[RouterA-vsi-vpnb-vxlan-70] quit
[RouterA-vsi-vpnb] quit
# 在Router A和Router C之间建立VXLAN隧道Tunnel 1,指定隧道的源端地址为接口GigabitEthernet2/0/1的地址1.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/5的地址5.1.1.1。
[RouterA] interface tunnel 1 mode vxlan
[RouterA-Tunnel1] source 1.1.1.1
[RouterA-Tunnel1] destination 5.1.1.1
[RouterA-Tunnel1] quit
# 在Router A和Router C之间建立VXLAN隧道Tunnel 2,指定隧道的源端地址为接口GigabitEthernet2/0/2的地址2.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/6的地址6.1.1.1。
[RouterA] interface tunnel 2 mode vxlan
[RouterA-Tunnel2] source 2.1.1.1
[RouterA-Tunnel2] destination 6.1.1.1
[RouterA-Tunnel2] quit
# 配置Tunnel 1与VXLAN 90关联。
[RouterA] vsi vpna
[RouterA-vsi-vpna] vxlan 90
[RouterA-vsi-vpna-vxlan-90] tunnel 1
[RouterA-vsi-vpna-vxlan-90] quit
[RouterA-vsi-vpna] quit
# 配置Tunnel 2与VXLAN 70关联。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] vxlan 70
[RouterA-vsi-vpnb-vxlan-70] tunnel 2
[RouterA-vsi-vpnb-vxlan-70] quit
[RouterA-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface 1,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] ip address 192.168.1.1 255.255.255.0
[RouterA-Vsi-interface1] distributed-gateway local
[RouterA-Vsi-interface1] local-proxy-arp enable
[RouterA-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface 2,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterA] interface vsi-interface 2
[RouterA-Vsi-interface2] ip address 172.168.1.1 255.255.255.0
[RouterA-Vsi-interface2] distributed-gateway local
[RouterA-Vsi-interface2] local-proxy-arp enable
[RouterA-Vsi-interface2] quit
# 配置VXLAN 90所在的VSI实例和接口VSI-interface 1关联,并配置该VSI实例的子网网段为192.168.1.0/24。
[RouterA] vsi vpna
[RouterA-vsi-vpna] gateway vsi-interface 1
[RouterA-vsi-vpna] gateway subnet 192.168.1.0 0.0.0.255
[RouterA-vsi-vpna] quit
# 配置VXLAN 70所在的VSI实例和接口VSI-interface 2关联,并配置该VSI实例的子网网段为172.168.1.0/24。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] gateway vsi-interface 2
[RouterA-vsi-vpnb] gateway subnet 172.168.1.0 0.0.0.255
[RouterA-vsi-vpnb] quit
¡ 配置Router B
# 开启L2VPN能力。
[RouterB] l2vpn enable
# 创建VSI实例vpna和VXLAN 90。
[RouterB] vsi vpna
[RouterB-vsi-vpna] vxlan 90
[RouterB-vsi-vpna-vxlan-90] quit
[RouterB-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 70。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] vxlan 70
[RouterB-vsi-vpnb-vxlan-70] quit
[RouterB-vsi-vpnb] quit
# 在Router B和Router C之间建立VXLAN隧道Tunnel 3,指定隧道的源端地址为接口GigabitEthernet2/0/3的地址3.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/5的地址5.1.1.1。
[RouterB] interface tunnel 3 mode vxlan
[RouterB-Tunnel3] source 3.1.1.1
[RouterB-Tunnel3] destination 5.1.1.1
[RouterB-Tunnel3] quit
# 在Router B和Router C之间建立VXLAN隧道Tunnel 4,指定隧道的源端地址为接口GigabitEthernet2/0/4的地址4.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/6的地址6.1.1.1。
[RouterB] interface tunnel 4 mode vxlan
[RouterB-Tunnel4] source 4.1.1.1
[RouterB-Tunnel4] destination 6.1.1.1
[RouterB-Tunnel4] quit
# 配置Tunnel 3与VXLAN 90关联。
[RouterB] vsi vpna
[RouterB-vsi-vpna] vxlan 90
[RouterB-vsi-vpna-vxlan-90] tunnel 3
[RouterB-vsi-vpna-vxlan-90] quit
[RouterB-vsi-vpna] quit
# 配置Tunnel 4与VXLAN 70关联。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] vxlan 70
[RouterB-vsi-vpnb-vxlan-70] tunnel 4
[RouterB-vsi-vpnb-vxlan-70] quit
[RouterB-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface 1,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] ip address 192.168.1.2 255.255.255.0
[RouterB-Vsi-interface1] distributed-gateway local
[RouterB-Vsi-interface1] local-proxy-arp enable
[RouterB-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface 2,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterB] interface vsi-interface 2
[RouterB-Vsi-interface2] ip address 172.168.1.2 255.255.255.0
[RouterB-Vsi-interface2] distributed-gateway local
[RouterB-Vsi-interface2] local-proxy-arp enable
[RouterB-Vsi-interface2] quit
# 配置VXLAN 90所在的VSI实例和接口VSI-interface 1关联,并配置该VSI实例的子网网段为192.168.1.0/24。
[RouterB] vsi vpna
[RouterB-vsi-vpna] gateway vsi-interface 1
[RouterB-vsi-vpna] gateway subnet 192.168.1.0 0.0.0.255
[RouterB-vsi-vpna] quit
# 配置VXLAN 70所在的VSI实例和接口VSI-interface 2关联,并配置该VSI实例的子网网段为172.168.1.0/24。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] gateway vsi-interface 2
[RouterB-vsi-vpnb] gateway subnet 172.168.1.0 0.0.0.255
[RouterB-vsi-vpnb] quit
¡ 配置Router C
# 开启L2VPN能力。
[RouterC] l2vpn enable
# 创建VSI实例vpna和VXLAN 90。
[RouterC] vsi vpna
[RouterC-vsi-vpna] vxlan 90
[RouterC-vsi-vpna-vxlan-90] quit
[RouterC-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 70。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] vxlan 70
[RouterC-vsi-vpnb-vxlan-70] quit
[RouterC-vsi-vpnb] quit
# 在Router C和Router A之间建立VXLAN隧道Tunnel 1,指定隧道的源端地址为接口GigabitEthernet2/0/5的地址5.1.1.1,目的端地址为Router A上接口GigabitEthernet2/0/1的地址1.1.1.1。
[RouterC] interface tunnel 1 mode vxlan
[RouterC-Tunnel1] source 5.1.1.1
[RouterC-Tunnel1] destination 1.1.1.1
[RouterC-Tunnel1] quit
# 在Router C和Router A之间建立VXLAN隧道Tunnel 2,指定隧道的源端地址为接口GigabitEthernet2/0/6的地址6.1.1.1,目的端地址为Router A上接口GigabitEthernet2/0/2的地址2.1.1.1。
[RouterC] interface tunnel 2 mode vxlan
[RouterC-Tunnel2] source 6.1.1.1
[RouterC-Tunnel2] destination 2.1.1.1
[RouterC-Tunnel2] quit
# 在Router C和Router B之间建立VXLAN隧道Tunnel 3,指定隧道的源端地址为接口GigabitEthernet2/0/5的地址5.1.1.1,目的端地址为Router B上接口GigabitEthernet2/0/3的地址3.1.1.1。
[RouterC] interface tunnel 3 mode vxlan
[RouterC-Tunnel3] source 5.1.1.1
[RouterC-Tunnel3] destination 3.1.1.1
[RouterC-Tunnel3] quit
# 在Router C和Router B之间建立VXLAN隧道Tunnel 4,指定隧道的源端地址为接口GigabitEthernet2/0/6的地址6.1.1.1,目的端地址为Router B上接口GigabitEthernet2/0/4的地址5.1.1.1。
[RouterC] interface tunnel 4 mode vxlan
[RouterC-Tunnel4] source 6.1.1.1
[RouterC-Tunnel4] destination 4.1.1.1
[RouterC-Tunnel4] quit
# 配置Tunnel 1、Tunnel 3与VXLAN 90关联。
[RouterC] vsi vpna
[RouterC-vsi-vpna] vxlan 90
[RouterC-vsi-vpna-vxlan-90] tunnel 1
[RouterC-vsi-vpna-vxlan-90] tunnel 3
[RouterC-vsi-vpna-vxlan-90] quit
[RouterC-vsi-vpna] quit
# 配置Tunnel 2、Tunnel 4与VXLAN 70关联。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] vxlan 70
[RouterC-vsi-vpnb-vxlan-70] tunnel 2
[RouterC-vsi-vpnb-vxlan-70] tunnel 4
[RouterC-vsi-vpnb-vxlan-70] quit
[RouterC-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface 1,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterC] interface vsi-interface 1
[RouterC-Vsi-interface1] ip address 192.168.1.3 255.255.255.0
[RouterC-Vsi-interface1] distributed-gateway local
[RouterC-Vsi-interface1] local-proxy-arp enable
[RouterC-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface 2,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterC] interface vsi-interface 2
[RouterC-Vsi-interface2] ip address 172.168.1.3 255.255.255.0
[RouterC-Vsi-interface2] distributed-gateway local
[RouterC-Vsi-interface2] local-proxy-arp enable
[RouterC-Vsi-interface2] quit
# 配置VXLAN 90所在的VSI实例和接口VSI-interface 1关联,并配置该VSI实例的子网网段为192.168.1.0/24。
[RouterC] vsi vpna
[RouterC-vsi-vpna] gateway vsi-interface 1
[RouterC-vsi-vpna] gateway subnet 192.168.1.0 0.0.0.255
[RouterC-vsi-vpna] quit
# 配置VXLAN 70所在的VSI实例和接口VSI-interface 2关联,并配置该VSI实例的子网网段为172.168.1.0/24。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] gateway vsi-interface 2
[RouterC-vsi-vpnb] gateway subnet 172.168.1.0 0.0.0.255
[RouterC-vsi-vpnb] quit
(3) 配置BGP协议
¡ 配置Router A
[RouterA] bgp 100
[RouterA-bgp-default] peer 30.1.1.2 as-number 100
[RouterA-bgp-default] peer 172.168.1.3 as-number 200
[RouterA-bgp-default] peer 192.168.1.3 as-number 200
[RouterA-bgp-default] address-family ipv4 unicast
[RouterA-bgp-default-ipv4] balance 4
[RouterA-bgp-default-ipv4] peer 30.1.1.2 enable
[RouterA-bgp-default-ipv4] peer 30.1.1.2 next-hop-local
[RouterA-bgp-default-ipv4] peer 172.168.1.3 enable
[RouterA-bgp-default-ipv4] peer 192.168.1.3 enable
[RouterA-bgp-default-ipv4] quit
[RouterA-bgp-default] quit
¡ 配置Router B
[RouterB] bgp 100
[RouterB-bgp-default] peer 50.1.1.2 as-number 100
[RouterB-bgp-default] peer 172.168.1.3 as-number 200
[RouterB-bgp-default] peer 192.168.1.3 as-number 200
[RouterB-bgp-default] address-family ipv4 unicast
[RouterB-bgp-default-ipv4] balance 4
[RouterB-bgp-default-ipv4] peer 50.1.1.2 enable
[RouterB-bgp-default-ipv4] peer 50.1.1.2 next-hop-local
[RouterB-bgp-default-ipv4] peer 172.168.1.3 enable
[RouterB-bgp-default-ipv4] peer 192.168.1.3 enable
[RouterB-bgp-default-ipv4] quit
[RouterB-bgp-default] quit
¡ 配置Router C
[RouterC] bgp 200
[RouterC-bgp-default] peer 10.1.1.2 as-number 200
[RouterC-bgp-default] peer 172.168.1.1 as-number 100
[RouterC-bgp-default] peer 192.168.1.1 as-number 100
[RouterC-bgp-default] peer 172.168.1.2 as-number 100
[RouterC-bgp-default] peer 192.168.1.2 as-number 100
[RouterC-bgp-default] address-family ipv4 unicast
[RouterC-bgp-default-ipv4] balance 4
[RouterC-bgp-default-ipv4] peer 10.1.1.2 enable
[RouterC-bgp-default-ipv4] peer 10.1.1.2 next-hop-local
[RouterC-bgp-default-ipv4] peer 172.168.1.1 enable
[RouterC-bgp-default-ipv4] peer 192.168.1.1 enable
[RouterC-bgp-default-ipv4] peer 172.168.1.2 enable
[RouterC-bgp-default-ipv4] peer 192.168.1.2 enable
[RouterC-bgp-default-ipv4] quit
[RouterC-bgp-default] quit
¡ 配置Router E
<RouterE> system-view
[RouterE] bgp 100
[RouterE-bgp-default] peer 30.1.1.1 as-number 100
[RouterE-bgp-default] address-family ipv4 unicast
[RouterE-bgp-default-ipv4] import-route direct
[RouterE-bgp-default-ipv4] peer 30.1.1.1 enable
[RouterE-bgp-default-ipv4] quit
[RouterE-bgp-default] quit
¡ 配置Router F
<RouterF> system-view
[RouterF] bgp 100
[RouterF-bgp-default] peer 50.1.1.1 as-number 100
[RouterF-bgp-default] address-family ipv4 unicast
[RouterF-bgp-default-ipv4] import-route direct
[RouterF-bgp-default-ipv4] peer 50.1.1.1 enable
[RouterF-bgp-default-ipv4] quit
[RouterF-bgp-default] quit
¡ 配置Router G
<RouterG> system-view
[RouterG] bgp 200
[RouterG-bgp-default] peer 10.1.1.1 as-number 200
[RouterG-bgp-default] address-family ipv4 unicast
[RouterG-bgp-default-ipv4] import-route direct
[RouterG-bgp-default-ipv4] peer 10.1.1.1 enable
[RouterG-bgp-default-ipv4] quit
[RouterG-bgp-default] quit
(4) 配置智能选路相关功能
¡ 配置Router A
# 开启RIR服务器功能,配置探测信息同步端口号。
[RouterA] rir
[RouterA-rir] server enable
[RouterA-rir] probe sync-port 65535
# 配置选路延迟时间为30秒,选路调整周期为60秒。
[RouterA-rir] link-select delay 30
[RouterA-rir] link-select suppress-period 60
[RouterA-rir] quit
# 开启NQA服务器功能,并在NQA服务器上配置UDP监听服务。
[RouterA] nqa server enable
[RouterA] nqa server udp-echo 1.1.1.1 65501 high-performance-mode
[RouterA] nqa server udp-echo 1.1.1.1 65502 high-performance-mode
[RouterA] nqa server udp-echo 2.1.1.1 65501 high-performance-mode
[RouterA] nqa server udp-echo 2.1.1.1 65502 high-performance-mode
# 配置VSI虚接口,在接口VSI-interface 1下配置链路类型为MPLS,在接口VSI-interface 2下配置链路类型为Internet。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] rir link-type mpls index 1
[RouterA-Vsi-interface1] quit
[RouterA] interface vsi-interface 2
[RouterA-Vsi-interface2] rir link-type internet index 2
[RouterA-Vsi-interface2] quit
# 配置VXLAN隧道Tunnel 1和Tunnel 2的带宽为30000kbps,并指定发送VXLAN隧道Tunnel 1报文的物理出接口为GigabitEthernet2/0/1,发送VXLAN隧道Tunnel 2报文的物理出接口为GigabitEthernet2/0/2。
[RouterA] interface tunnel 1 mode vxlan
[RouterA-Tunnel1] bandwidth 30000
[RouterA-Tunnel1] tunnel out-interface gigabitethernet 2/0/1
[RouterA-Tunnel1] quit
[RouterA] interface tunnel 2 mode vxlan
[RouterA-Tunnel2] bandwidth 30000
[RouterA-Tunnel2] tunnel out-interface gigabitethernet 2/0/2
[RouterA-Tunnel2] quit
# 创建业务流量模板1和业务流量模板2,分别为业务流量模板下的链路配置相同的链路优先级,并在业务流量模板下分别配置会话预计使用的带宽。两个业务流量模板都不配置质量策略。
[RouterA] rir
[RouterA-rir] flow 1
[RouterA-rir-flow-1] path link-type mpls index 1 preference 10
[RouterA-rir-flow-1] path link-type internet index 2 preference 10
[RouterA-rir-flow-1] expect-bandwidth 300
[RouterA-rir-flow-1] quit
[RouterA-rir] quit
[RouterA-rir] flow 2
[RouterA-rir-flow-2] path link-type mpls index 1 preference 20
[RouterA-rir-flow-2] path link-type internet index 2 preference 20
[RouterA-rir-flow-2] expect-bandwidth 300
[RouterA-rir-flow-2] quit
[RouterA-rir] quit
# 配置QoS策略重标记流量,并将策略应用在接口GigabitEthernet2/0/3上,其中DSCP为1的报文Flow ID标记为1,DSCP为2的报文Flow ID标记为2。
[RouterA] traffic classifier class1
[RouterA-classifier-class1] if-match dscp 1
[RouterA-classifier-class1] quit
[RouterA] traffic classifier class2
[RouterA-classifier-class2] if-match dscp 2
[RouterA-classifier-class2] quit
[RouterA] traffic behavior behav1
[RouterA-behavior-behav1] remark flow-id 1
[RouterA-behavior-behav1] quit
[RouterA] traffic behavior behav2
[RouterA-behavior-behav2] remark flow-id 2
[RouterA-behavior-behav2] quit
[RouterA] qos policy policy1
[RouterA-qospolicy-policy1] classifier class1 behavior behav1
[RouterA-qospolicy-policy1] classifier class2 behavior behav2
[RouterA-qospolicy-policy1] quit
[RouterA] interface gigabitethernet 2/0/3
[RouterA-GigabitEthernet2/0/3] qos apply policy policy1 inbound
[RouterA-GigabitEthernet2/0/3] quit
¡ 配置Router B
# 开启RIR服务器功能,配置探测信息同步端口号。
[RouterB] rir
[RouterB-rir] server enable
# 配置选路延迟时间为30秒,选路调整周期为60秒。
[RouterB-rir] link-select delay 30
[RouterB-rir] link-select suppress-period 60
[RouterB-rir] probe sync-port 65535
[RouterB-rir] quit
# 开启NQA服务器功能,并在NQA服务器上配置UDP监听服务。
[RouterB] nqa server enable
[RouterB] nqa server udp-echo 3.1.1.1 65501 high-performance-mode
[RouterB] nqa server udp-echo 3.1.1.1 65502 high-performance-mode
[RouterB] nqa server udp-echo 4.1.1.1 65501 high-performance-mode
[RouterB] nqa server udp-echo 4.1.1.1 65502 high-performance-mode
# 配置VSI虚接口,在接口VSI-interface 1下配置链路类型为MPLS,在接口VSI-interface 2下配置链路类型为Internet。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] rir link-type mpls index 1
[RouterB-Vsi-interface1] quit
[RouterB] interface vsi-interface 2
[RouterB-Vsi-interface2] rir link-type internet index 2
[RouterB-Vsi-interface2] quit
# 配置VXLAN隧道Tunnel 3和Tunnel 4的带宽为30000kbps,并指定发送VXLAN隧道Tunnel 3报文的物理出接口为GigabitEthernet2/0/3,发送VXLAN隧道Tunnel 4报文的物理出接口为GigabitEthernet2/0/4。
[RouterB] interface tunnel 3 mode vxlan
[RouterB-Tunnel3] bandwidth 30000
[RouterB-Tunnel3] tunnel out-interface gigabitethernet 2/0/3
[RouterB-Tunnel3] quit
[RouterB] interface tunnel 4 mode vxlan
[RouterB-Tunnel4] bandwidth 30000
[RouterB-Tunnel4] tunnel out-interface gigabitethernet 2/0/4
[RouterB-Tunnel4] quit
# 创建业务流量模板1和业务流量模板2,分别为业务流量模板下的链路配置相同的链路优先级,并在业务流量模板下分别配置会话预计使用的带宽。两个业务流量模板都不配置质量策略。
[RouterB-rir] flow 1
[RouterB-rir-flow-1] path link-type mpls index 1 preference 10
[RouterB-rir-flow-1] path link-type internet index 2 preference 10
[RouterB-rir-flow-1] expect-bandwidth 300
[RouterB-rir-flow-1] quit
[RouterB-rir] quit
[RouterB-rir] flow 2
[RouterB-rir-flow-2] path link-type mpls index 1 preference 20
[RouterB-rir-flow-2] path link-type internet index 2 preference 20
[RouterB-rir-flow-2] expect-bandwidth 300
[RouterB-rir-flow-2] quit
[RouterB-rir] quit
# 配置QoS策略重标记流量,并将策略应用在接口GigabitEthernet2/0/5上,其中DSCP为1的报文Flow ID标记为1,DSCP为2的报文Flow ID标记为2。
[RouterB] traffic classifier class1
[RouterB-classifier-class1] if-match dscp 1
[RouterB-classifier-class1] quit
[RouterB] traffic classifier class2
[RouterB-classifier-class2] if-match dscp 2
[RouterB-classifier-class2] quit
[RouterB] traffic behavior behav1
[RouterB-behavior-behav1] remark flow-id 1
[RouterB-behavior-behav1] quit
[RouterB] traffic behavior behav2
[RouterB-behavior-behav2] remark flow-id 2
[RouterB-behavior-behav2] quit
[RouterB] qos policy policy1
[RouterB-qospolicy-policy1] classifier class1 behavior behav1
[RouterB-qospolicy-policy1] classifier class2 behavior behav2
[RouterB-qospolicy-policy1] quit
[RouterB] interface gigabitethernet 2/0/5
[RouterB-GigabitEthernet2/0/5] qos apply policy policy1 inbound
[RouterB-GigabitEthernet2/0/5] quit
¡ 配置Router C
# 开启RIR客户端功能,配置探测信息同步端口号。
[RouterC] rir
[RouterC-rir] client enable
[RouterC-rir] probe sync-port 65535
# 配置选路延迟时间为30秒,选路调整周期为60秒。
[RouterC-rir] link-select delay 30
[RouterC-rir] link-select suppress-period 60
[RouterC-rir] quit
# 开启NQA客户端功能。
[RouterD] nqa agent enable
# 配置NQA链路通断探测。
[RouterC] rir
[RouterC-rir] probe connect interval 300 timeout 65535
# 创建NQA链路质量探测1和NQA链路质量探测2,分别配置不同的链路质量探测参数。
[RouterC-rir] nqa 1
[RouterC-rir-nqa-1] probe packet-dscp 10
[RouterC-rir-nqa-1] probe interval 60
[RouterC-rir-nqa-1] probe packet-interval 15
[RouterC-rir-nqa-1] probe packet-number 60
[RouterC-rir-nqa-1] probe packet-timeout 500
[RouterC-rir-nqa-1] probe port 65501
[RouterC-rir-nqa-1] quit
[RouterC-rir] nqa 2
[RouterC-rir-nqa-2] probe packet-dscp 20
[RouterC-rir-nqa-2] probe interval 120
[RouterC-rir-nqa-2] probe packet-interval 30
[RouterC-rir-nqa-2] probe packet-number 120
[RouterC-rir-nqa-2] probe packet-timeout 1000
[RouterC-rir-nqa-2] probe port 65502
[RouterC-rir-nqa-2] quit
# 创建SLA 1和SLA 2,分别配置不同的链路质量阈值。
[RouterC-rir] sla 1
[RouterC-rir-sla-1] jitter threshold 20
[RouterC-rir-sla-1] delay threshold 60
[RouterC-rir-sla-1] packet-loss threshold 150
[RouterC-rir-sla-1] quit
[RouterC-rir] sla 2
[RouterC-rir-sla-2] jitter threshold 40
[RouterC-rir-sla-2] delay threshold 120
[RouterC-rir-sla-2] packet-loss threshold 300
[RouterC-rir-sla-2] quit
[RouterC-rir] quit
# 配置VSI虚接口,在接口VSI-interface 1下配置链路类型为MPLS,在接口VSI-interface 2下配置链路类型为Internet。
[RouterC] interface vsi-interface 1
[RouterC-Vsi-interface1] rir link-type mpls index 1
[RouterC-Vsi-interface1] quit
[RouterC] interface vsi-interface 2
[RouterC-Vsi-interface2] rir link-type internet index 2
[RouterC-Vsi-interface2] quit
# 配置VXLAN隧道Tunnel 1、Tunnel 2、Tunnel 3和Tunnel 4的带宽为30000kbps,并指定发送VXLAN隧道Tunnel 1和Tunnel 3报文的物理出接口为GigabitEthernet2/0/5,发送VXLAN隧道Tunnel 2和Tunnel 4报文的物理出接口为GigabitEthernet2/0/6。
[RouterC] interface tunnel 1 mode vxlan
[RouterC-Tunnel1] bandwidth 30000
[RouterC-Tunnel1] tunnel out-interface gigabitethernet 2/0/5
[RouterC-Tunnel1] quit
[RouterC] interface tunnel 2 mode vxlan
[RouterC-Tunnel2] bandwidth 30000
[RouterC-Tunnel2] tunnel out-interface gigabitethernet 2/0/6
[RouterC-Tunnel2] quit
[RouterC] interface tunnel 3 mode vxlan
[RouterC-Tunnel3] bandwidth 30000
[RouterC-Tunnel3] tunnel out-interface gigabitethernet 2/0/5
[RouterC-Tunnel3] quit
[RouterC] interface tunnel 4 mode vxlan
[RouterC-Tunnel4] bandwidth 30000
[RouterC-Tunnel4] tunnel out-interface gigabitethernet 2/0/6
[RouterC-Tunnel4] quit
# 创建业务流量模板1和业务流量模板2,分别业务流量模板下的链路配置不同的链路优先级,并为不同的业务流量模板配置不同的质量策略,并在业务流量模板下分别配置会话预计使用的带宽。
[RouterC] rir
[RouterC-rir] flow 1
[RouterC-rir-flow-1] path link-type mpls index 1 preference 10
[RouterC-rir-flow-1] path link-type internet index 2 preference 20
[RouterC-rir-flow-1] expect-bandwidth 300
[RouterC-rir-flow-1] quality-policy sla 1 nqa 1
[RouterC-rir-flow-1] quit
[RouterC-rir] flow 2
[RouterC-rir-flow-2] path link-type mpls index 1 preference 20
[RouterC-rir-flow-2] path link-type internet index 2 preference 10
[RouterC-rir-flow-1] expect-bandwidth 300
[RouterC-rir-flow-2] quality-policy sla 2 nqa 2
[RouterC-rir-flow-2] quit
[RouterC-rir] quit
# 配置QoS策略重标记流量,并将策略应用在接口GigabitEthernet2/0/1上,其中DSCP为1的报文Flow ID标记为1,DSCP为2的报文Flow ID标记为2。
[RouterC] traffic classifier class1
[RouterC-classifier-class1] if-match dscp 1
[RouterC-classifier-class1] quit
[RouterC] traffic classifier class2
[RouterC-classifier-class2] if-match dscp 2
[RouterC-classifier-class2] quit
[RouterC] traffic behavior behav1
[RouterC-behavior-behav1] remark flow-id 1
[RouterC-behavior-behav1] quit
[RouterC] traffic behavior behav2
[RouterC-behavior-behav2] remark flow-id 2
[RouterC-behavior-behav2] quit
[RouterC] qos policy policy1
[RouterC-qospolicy-policy1] classifier class1 behavior behav1
[RouterC-qospolicy-policy1] classifier class2 behavior behav2
[RouterC-qospolicy-policy1] quit
[RouterC] interface gigabitethernet 2/0/1
[RouterC-GigabitEthernet2/0/1] qos apply policy policy1 inbound
[RouterC-GigabitEthernet2/0/1] quit
(5) 开启隧道基于Flow ID的流量速率统计功能
¡ 配置Router A
# 开启隧道基于Flow ID的流量速率统计功能,并配置统计时间间隔为5秒。
[RouterA] tunnel flow-statistics enable
[RouterA] tunnel flow-statistics interval 5
¡ 配置Router B
# 开启隧道基于Flow ID的流量速率统计功能,并配置统计时间间隔为5秒。
[RouterB] tunnel flow-statistics enable
[RouterB] tunnel flow-statistics interval 5
¡ 配置Router C
# 开启隧道基于Flow ID的流量速率统计功能,并配置统计时间间隔为5秒。
[RouterC] tunnel flow-statistics enable
[RouterC] tunnel flow-statistics interval 5
(1) 查看等价路由
# 在Router A上查看目的地址为Router G的路由信息,可以看到两条出接口为VSI虚接口的等价路由。
[RouterA] display ip routing-table 10.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 BGP 255 0 172.168.1.3 Vsi2
BGP 255 0 192.168.1.3 Vsi1
# 在Router B上查看目的地址为Router G的路由信息,可以看到两条出接口为VSI虚接口的等价路由。
[RouterB] display ip routing-table 10.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 BGP 255 0 172.168.1.3 Vsi2
BGP 255 0 192.168.1.3 Vsi1
# 在Router C上查看目的地址为Router E和Router F的路由信息,可以分别看到两条出接口为VSI虚接口的等价路由。
[RouterC] display ip routing-table 30.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
30.1.1.0/24 BGP 255 0 172.168.1.1 Vsi2
BGP 255 0 192.168.1.1 Vsi1
[RouterC] display ip routing-table 50.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
50.1.1.0/24 BGP 255 0 172.168.1.2 Vsi2
BGP 255 0 192.168.1.2 Vsi1
(2) 查看TCP连接
# 在Router A上(Hub设备)查看TCP连接信息,可以看到两条本地端口号为65535的TCP连接建立完成,Spoke设备可以使用该TCP连接将链路探测质量结果同步到对应的Hub设备。(本地端口号或对端端口号为179的TCP连接由BGP协议运行时生成)
[RouterA] display tcp
*: TCP connection with authentication
Local Addr:port Foreign Addr:port State Slot PCB
0.0.0.0:179 30.1.1.2:0 LISTEN 0 0xffffffffffffffa2
0.0.0.0:179 172.168.1.3:0 LISTEN 0 0xffffffffffffffa5
0.0.0.0:179 192.168.1.3:0 LISTEN 0 0xffffffffffffffa6
0.0.0.0:65535 0.0.0.0:0 LISTEN 0 0xffffffffffffffb6
1.1.1.1:65535 5.1.1.1:57419 ESTABLISHED 0 0xffffffffffffffb7
2.1.1.1:65535 6.1.1.1:57421 ESTABLISHED 0 0xffffffffffffffb8
30.1.1.1:179 30.1.1.2:10560 ESTABLISHED 0 0xffffffffffffffb5
172.168.1.1:179 172.168.1.3:57408 ESTABLISHED 0 0xffffffffffffffb1
192.168.1.1:179 192.168.1.3:57412 ESTABLISHED 0 0xffffffffffffffb0
# 在Router B上(Hub设备)查看TCP连接信息,可以看到两条本地端口号为65535的TCP连接建立完成,Spoke设备可以使用该TCP连接将链路探测质量结果同步到对应的Hub设备。(本地端口号或对端端口号为179的TCP连接由BGP协议运行时生成)
[RouterB] display tcp
*: TCP connection with authentication
Local Addr:port Foreign Addr:port State Slot PCB
0.0.0.0:179 172.168.1.3:0 LISTEN 0 0xffffffffffffffa4
0.0.0.0:179 192.168.1.3:0 LISTEN 0 0xffffffffffffffa5
0.0.0.0:65535 0.0.0.0:0 LISTEN 0 0xffffffffffffffc4
3.1.1.1:65535 5.1.1.1:57420 ESTABLISHED 0 0xffffffffffffffd1
4.1.1.1:65535 6.1.1.1:57422 ESTABLISHED 0 0xffffffffffffffd2
50.1.1.1:179 50.1.1.2:35072 ESTABLISHED 0 0xffffffffffffffe4
172.168.1.2:179 172.168.1.3:57409 ESTABLISHED 0 0xffffffffffffffad
192.168.1.2:179 192.168.1.3:57411 ESTABLISHED 0 0xffffffffffffffac
# 在Router C上(Spoke设备)查看TCP连接信息,可以看到四条本地端口号为65535的TCP连接建立完成,Spoke设备可以使用该TCP连接将链路探测质量结果同步到对应的Hub设备。(本地端口号或对端端口号为179的TCP连接由BGP协议运行时生成)
[RouterC] display tcp
*: TCP connection with authentication
Local Addr:port Foreign Addr:port State Slot PCB
0.0.0.0:179 10.1.1.2:0 LISTEN 0 0xffffffffffffffa9
0.0.0.0:179 172.168.1.1:0 LISTEN 0 0xffffffffffffffa7
0.0.0.0:179 172.168.1.2:0 LISTEN 0 0xffffffffffffffa8
0.0.0.0:179 192.168.1.1:0 LISTEN 0 0xffffffffffffffab
0.0.0.0:179 192.168.1.2:0 LISTEN 0 0xffffffffffffffaa
5.1.1.1:57419 1.1.1.1:65535 ESTABLISHED 0 0xffffffffffffffb3
5.1.1.1:57420 3.1.1.1:65535 ESTABLISHED 0 0xffffffffffffffb4
6.1.1.1:57421 2.1.1.1:65535 ESTABLISHED 0 0xffffffffffffffb5
6.1.1.1:57422 4.1.1.1:65535 ESTABLISHED 0 0xffffffffffffffb6
10.1.1.1:179 10.1.1.2:15808 ESTABLISHED 0 0xffffffffffffffb2
172.168.1.3:57408 172.168.1.1:179 ESTABLISHED 0 0xffffffffffffffa3
172.168.1.3:57409 172.168.1.2:179 ESTABLISHED 0 0xffffffffffffffa5
192.168.1.3:57411 192.168.1.2:179 ESTABLISHED 0 0xffffffffffffffa6
192.168.1.3:57412 192.168.1.1:179 ESTABLISHED 0 0xffffffffffffffa4
(3) 查看业务流量的选路信息
¡ 查看Router A
# 配置Router E仅发起UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。查看隧道基于Flow ID的流量速率统计信息,业务流量模板1下Tunnel 1和Tunnel 2都有业务流量。说明设备通过业务流量模板1为DSCP值为1的业务流量,以负载分担的方式选择链路进行传输。
[RouterA] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
Tunnel2 200 250000
# 配置Router E仅发起UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为2。查看隧道基于Flow ID的流量速率统计信息,业务流量模板2下Tunnel 1和Tunnel 2都有业务流量。说明设备通过业务流量模板2为DSCP值为2的业务流量,以负载分担的方式选择链路进行传输。
[RouterA] display tunnel flow-statistics
Flow 2:
Interface Out pps Out bps
Tunnel1 300 300000
Tunnel2 200 250000
¡ 查看Router B
Router B与Router A相似,不作介绍。
¡ 查看Router C
# 配置Router G仅发起UDP业务至Router E(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。查看隧道基于Flow ID的流量速率统计信息,仅有业务流量模板1下Tunnel 1有业务流量。说明设备通过业务流量模板1为DSCP值为1的业务流量优先选择Tunnel 1进行传输。
[RouterC] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
# 配置Router G仅发起UDP业务至Router E(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为2。查看隧道基于Flow ID的流量速率统计信息,仅有业务流量模板2下的Tunnel 2有业务流量。说明设备通过业务流量模板2为DSCP值为2的业务流量优先选择Tunnel 2进行传输。
[RouterC] display tunnel flow-statistics
Flow 2:
Interface Out pps Out bps
Tunnel2 300 300000
配置Router G发起业务到Router F时,Router C上的选路信息类似,不作介绍。
在图1-13所示的VXLAN组网中,Router A和Router B组建协同选路设备组作为Hub侧,Router C作为Spoke侧。通过配置智能选路,流量从Spoke侧流向Hub侧或者从Hub侧流向Spoke侧时,按照为其定义的选路策略进行选路。具体组网需求如下:
· 在Transport network内配置OSPF协议,使Router A、Router B和Router C之间路由可达。
· 基于Transport network配置VXLAN,Router A、Router B和Router C为VTEP设备,Router A和Router C之间、Router B和Router C之间分别配置两条VXLAN隧道。
· Router A、Router B和Router C上均创建VSI虚接口VSI-interface 1、VSI-interface 2。通过配置VSI实例与VSI虚接口关联,实现在每个Hub设备和Spoke设备间,VSI虚接口与VXLAN隧道一一对应。
· 配置Router A、Router B和Router C为分布式VXLAN IP网关,并在Router A、Router B、 Router C、Router E、Router F和Router G配置BGP协议,使Router A、Router B和Router C上分别存在两条到其对应Hub或Spoke的、以VSI虚接口为出接口的等价路由。
· Router A和Router B直连,组成协同选路Hub组。其中,Router A和Router B使用公网地址建立选路协同关系,并配置对端设备在公网的报文重定向地址。
选路策略定义如下:
· Hub设备和Spoke设备分别配置业务流量模板1和业务流量模板2,指导DSCP为1和DSCP为2的报文选择最优的VXLAN隧道进行传输。
· Hub设备为业务流量选路时不进行质量检测,Spoke设备为业务流量选路时进行质量检测。
· Hub设备与Spoke设备的链路负载分担模式均为逐流加权选路模式(缺省模式,无需配置)。
· 协同选路设备组内的Hub设备Router A和Router B均为业务流量配置两条优先级不同的链路,使得协同选路设备组收到公网业务报文时,优先选择Router A优先级较高的链路进行传输,当Router A优先级较高的链路不符合业务要求时,优先选择Router B优先级较高的链路进行传输。
· Spoke设备分别为业务流量配置两条优先级相同的链路,当两条链路都符合业务要求时会实现负载分担。
· 发送VXLAN隧道报文的物理接口带宽均符合业务流量带宽要求。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
GE2/0/1 |
1.1.1.1/24 |
Router D |
GE2/0/1 |
1.1.1.2/24 |
|
GE2/0/2 |
2.1.1.1/24 |
|
GE2/0/2 |
2.1.1.2/24 |
|
GE2/0/3 |
30.1.1.1/24 |
|
GE2/0/3 |
3.1.1.2/24 |
|
GE2/0/6 |
60.1.1.1/24 |
|
GE2/0/4 |
4.1.1.2/24 |
Router B |
GE2/0/3 |
3.1.1.1/24 |
|
GE2/0/5 |
5.1.1.2/24 |
|
GE2/0/4 |
4.1.1.1/24 |
|
GE2/0/6 |
6.1.1.2/24 |
|
GE2/0/5 |
50.1.1.1/24 |
Router E |
GE2/0/3 |
30.1.1.2/24 |
|
GE2/0/6 |
60.1.1.2/24 |
Router F |
GE2/0/5 |
50.1.1.2/24 |
Router C |
GE2/0/5 |
5.1.1.1/24 |
Router G |
GE2/0/1 |
10.1.1.2/24 |
|
GE2/0/6 |
6.1.1.1/24 |
|
|
|
|
GE2/0/1 |
10.1.1.1/24 |
|
|
|
按照组网图配置各接口的IP地址和子网掩码。
(1) 在Transport network内配置OSPF协议
¡ 配置Router A
<RouterA> system-view
[RouterA] ospf 1
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 1.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit
[RouterA] ospf 2
[RouterA-ospf-2] area 0
[RouterA-ospf-2-area-0.0.0.0] network 2.1.1.0 0.0.0.255
[RouterA-ospf-2-area-0.0.0.0] quit
[RouterA-ospf-2] quit
¡ 配置Router B
<RouterB> system-view
[RouterB] ospf 1
[RouterB-ospf-1] area 0
[RouterB-ospf-1-area-0.0.0.0] network 3.1.1.0 0.0.0.255
[RouterB-ospf-1-area-0.0.0.0] quit
[RouterB-ospf-1] quit
[RouterB] ospf 2
[RouterB-ospf-2] area 0
[RouterB-ospf-2-area-0.0.0.0] network 4.1.1.0 0.0.0.255
[RouterB-ospf-2-area-0.0.0.0] quit
[RouterB-ospf-2] quit
¡ 配置Router C
<RouterC> system-view
[RouterC] ospf 1
[RouterC-ospf-1] area 0
[RouterC-ospf-1-area-0.0.0.0] network 5.1.1.0 0.0.0.255
[RouterC-ospf-1-area-0.0.0.0] quit
[RouterC-ospf-1] quit
[RouterC] ospf 2
[RouterC-ospf-2] area 0
[RouterC-ospf-2-area-0.0.0.0] network 6.1.1.0 0.0.0.255
[RouterC-ospf-2-area-0.0.0.0] quit
[RouterC-ospf-2] quit
¡ 配置Router D
<RouterD> system-view
[RouterD] ospf 1
[RouterD-ospf-1] area 0
[RouterD-ospf-1-area-0.0.0.0] network 1.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] network 3.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] network 5.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] quit
[RouterD-ospf-1] quit
[RouterD] ospf 2
[RouterD-ospf-2] area 0
[RouterD-ospf-2-area-0.0.0.0] network 2.1.1.0 0.0.0.255
[RouterD-ospf-2-area-0.0.0.0] network 4.1.1.0 0.0.0.255
[RouterD-ospf-2-area-0.0.0.0] network 6.1.1.0 0.0.0.255
[RouterD-ospf-2-area-0.0.0.0] quit
[RouterD-ospf-2] quit
(2) 基于Transport network配置VXLAN
¡ 配置Router A
# 开启L2VPN能力。
[RouterA] l2vpn enable
# 创建VSI实例vpna和VXLAN 90。
[RouterA] vsi vpna
[RouterA-vsi-vpna] vxlan 90
[RouterA-vsi-vpna-vxlan-90] quit
[RouterA-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 70。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] vxlan 70
[RouterA-vsi-vpnb-vxlan-70] quit
[RouterA-vsi-vpnb] quit
# 在Router A和Router C之间建立VXLAN隧道Tunnel 1,指定隧道的源端地址为接口GigabitEthernet2/0/1的地址1.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/5的地址5.1.1.1。
[RouterA] interface tunnel 1 mode vxlan
[RouterA-Tunnel1] source 1.1.1.1
[RouterA-Tunnel1] destination 5.1.1.1
[RouterA-Tunnel1] quit
# 在Router A和Router C之间建立VXLAN隧道Tunnel 2,指定隧道的源端地址为接口GigabitEthernet2/0/2的地址2.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/6的地址6.1.1.1。
[RouterA] interface tunnel 2 mode vxlan
[RouterA-Tunnel2] source 2.1.1.1
[RouterA-Tunnel2] destination 6.1.1.1
[RouterA-Tunnel2] quit
# 配置Tunnel 1与VXLAN 90关联。
[RouterA] vsi vpna
[RouterA-vsi-vpna] vxlan 90
[RouterA-vsi-vpna-vxlan-90] tunnel 1
[RouterA-vsi-vpna-vxlan-90] quit
[RouterA-vsi-vpna] quit
# 配置Tunnel 2与VXLAN 70关联。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] vxlan 70
[RouterA-vsi-vpnb-vxlan-70] tunnel 2
[RouterA-vsi-vpnb-vxlan-70] quit
[RouterA-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface 1,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] ip address 192.168.1.1 255.255.255.0
[RouterA-Vsi-interface1] distributed-gateway local
[RouterA-Vsi-interface1] local-proxy-arp enable
[RouterA-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface 2,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterA] interface vsi-interface 2
[RouterA-Vsi-interface2] ip address 172.168.1.1 255.255.255.0
[RouterA-Vsi-interface2] distributed-gateway local
[RouterA-Vsi-interface2] local-proxy-arp enable
[RouterA-Vsi-interface2] quit
# 配置VXLAN 90所在的VSI实例和接口VSI-interface 1关联,并配置该VSI实例的子网网段为192.168.1.0/24。
[RouterA] vsi vpna
[RouterA-vsi-vpna] gateway vsi-interface 1
[RouterA-vsi-vpna] gateway subnet 192.168.1.0 0.0.0.255
[RouterA-vsi-vpna] quit
# 配置VXLAN 70所在的VSI实例和接口VSI-interface 2关联,并配置该VSI实例的子网网段为172.168.1.0/24。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] gateway vsi-interface 2
[RouterA-vsi-vpnb] gateway subnet 172.168.1.0 0.0.0.255
[RouterA-vsi-vpnb] quit
¡ 配置Router B
# 开启L2VPN能力。
[RouterB] l2vpn enable
# 创建VSI实例vpna和VXLAN 90。
[RouterB] vsi vpna
[RouterB-vsi-vpna] vxlan 90
[RouterB-vsi-vpna-vxlan-90] quit
[RouterB-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 70。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] vxlan 70
[RouterB-vsi-vpnb-vxlan-70] quit
[RouterB-vsi-vpnb] quit
# 在Router B和Router C之间建立VXLAN隧道Tunnel 3,指定隧道的源端地址为接口GigabitEthernet2/0/3的地址3.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/5的地址5.1.1.1。
[RouterB] interface tunnel 3 mode vxlan
[RouterB-Tunnel3] source 3.1.1.1
[RouterB-Tunnel3] destination 5.1.1.1
[RouterB-Tunnel3] quit
# 在Router B和Router C之间建立VXLAN隧道Tunnel 4,指定隧道的源端地址为接口GigabitEthernet2/0/4的地址4.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/6的地址6.1.1.1。
[RouterB] interface tunnel 4 mode vxlan
[RouterB-Tunnel4] source 4.1.1.1
[RouterB-Tunnel4] destination 6.1.1.1
[RouterB-Tunnel4] quit
# 配置Tunnel 3与VXLAN 90关联。
[RouterB] vsi vpna
[RouterB-vsi-vpna] vxlan 90
[RouterB-vsi-vpna-vxlan-90] tunnel 3
[RouterB-vsi-vpna-vxlan-90] quit
[RouterB-vsi-vpna] quit
# 配置Tunnel 4与VXLAN 70关联。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] vxlan 70
[RouterB-vsi-vpnb-vxlan-70] tunnel 4
[RouterB-vsi-vpnb-vxlan-70] quit
[RouterB-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface 1,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] ip address 192.168.1.2 255.255.255.0
[RouterB-Vsi-interface1] distributed-gateway local
[RouterB-Vsi-interface1] local-proxy-arp enable
[RouterB-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface 2,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterB] interface vsi-interface 2
[RouterB-Vsi-interface2] ip address 172.168.1.2 255.255.255.0
[RouterB-Vsi-interface2] distributed-gateway local
[RouterB-Vsi-interface2] local-proxy-arp enable
[RouterB-Vsi-interface2] quit
# 配置VXLAN 90所在的VSI实例和接口VSI-interface 1关联,并配置该VSI实例的子网网段为192.168.1.0/24。
[RouterB] vsi vpna
[RouterB-vsi-vpna] gateway vsi-interface 1
[RouterB-vsi-vpna] gateway subnet 192.168.1.0 0.0.0.255
[RouterB-vsi-vpna] quit
# 配置VXLAN 70所在的VSI实例和接口VSI-interface 2关联,并配置该VSI实例的子网网段为172.168.1.0/24。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] gateway vsi-interface 2
[RouterB-vsi-vpnb] gateway subnet 172.168.1.0 0.0.0.255
[RouterB-vsi-vpnb] quit
¡ 配置Router C
# 开启L2VPN能力。
[RouterC] l2vpn enable
# 创建VSI实例vpna和VXLAN 90。
[RouterC] vsi vpna
[RouterC-vsi-vpna] vxlan 90
[RouterC-vsi-vpna-vxlan-90] quit
[RouterC-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 70。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] vxlan 70
[RouterC-vsi-vpnb-vxlan-70] quit
[RouterC-vsi-vpnb] quit
# 在Router C和Router A之间建立VXLAN隧道Tunnel 1,指定隧道的源端地址为接口GigabitEthernet2/0/5的地址5.1.1.1,目的端地址为Router A上接口GigabitEthernet2/0/1的地址1.1.1.1。
[RouterC] interface tunnel 1 mode vxlan
[RouterC-Tunnel1] source 5.1.1.1
[RouterC-Tunnel1] destination 1.1.1.1
[RouterC-Tunnel1] quit
# 在Router C和Router A之间建立VXLAN隧道Tunnel 2,指定隧道的源端地址为接口GigabitEthernet2/0/6的地址6.1.1.1,目的端地址为Router A上接口GigabitEthernet2/0/2的地址2.1.1.1。
[RouterC] interface tunnel 2 mode vxlan
[RouterC-Tunnel2] source 6.1.1.1
[RouterC-Tunnel2] destination 2.1.1.1
[RouterC-Tunnel2] quit
# 在Router C和Router B之间建立VXLAN隧道Tunnel 3,指定隧道的源端地址为接口GigabitEthernet2/0/5的地址5.1.1.1,目的端地址为Router B上接口GigabitEthernet2/0/3的地址3.1.1.1。
[RouterC] interface tunnel 3 mode vxlan
[RouterC-Tunnel3] source 5.1.1.1
[RouterC-Tunnel3] destination 3.1.1.1
[RouterC-Tunnel3] quit
# 在Router C和Router B之间建立VXLAN隧道Tunnel 4,指定隧道的源端地址为接口GigabitEthernet2/0/6的地址6.1.1.1,目的端地址为Router B上接口GigabitEthernet2/0/4的地址4.1.1.1。
[RouterC] interface tunnel 4 mode vxlan
[RouterC-Tunnel4] source 6.1.1.1
[RouterC-Tunnel4] destination 4.1.1.1
[RouterC-Tunnel4] quit
# 配置Tunnel 1、Tunnel 3与VXLAN 90关联。
[RouterC] vsi vpna
[RouterC-vsi-vpna] vxlan 90
[RouterC-vsi-vpna-vxlan-90] tunnel 1
[RouterC-vsi-vpna-vxlan-90] tunnel 3
[RouterC-vsi-vpna-vxlan-90] quit
[RouterC-vsi-vpna] quit
# 配置Tunnel 2、Tunnel 4与VXLAN 70关联。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] vxlan 70
[RouterC-vsi-vpnb-vxlan-70] tunnel 2
[RouterC-vsi-vpnb-vxlan-70] tunnel 4
[RouterC-vsi-vpnb-vxlan-70] quit
[RouterC-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface 1,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterC] interface vsi-interface 1
[RouterC-Vsi-interface1] ip address 192.168.1.3 255.255.255.0
[RouterC-Vsi-interface1] distributed-gateway local
[RouterC-Vsi-interface1] local-proxy-arp enable
[RouterC-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface 2,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterC] interface vsi-interface 2
[RouterC-Vsi-interface2] ip address 172.168.1.3 255.255.255.0
[RouterC-Vsi-interface2] distributed-gateway local
[RouterC-Vsi-interface2] local-proxy-arp enable
[RouterC-Vsi-interface2] quit
# 配置VXLAN 90所在的VSI实例和接口VSI-interface 1关联,并配置该VSI实例的子网网段为192.168.1.0/24。
[RouterC] vsi vpna
[RouterC-vsi-vpna] gateway vsi-interface 1
[RouterC-vsi-vpna] gateway subnet 192.168.1.0 0.0.0.255
[RouterC-vsi-vpna] quit
# 配置VXLAN 70所在的VSI实例和接口VSI-interface 2关联,并配置该VSI实例的子网网段为172.168.1.0/24。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] gateway vsi-interface 2
[RouterC-vsi-vpnb] gateway subnet 172.168.1.0 0.0.0.255
[RouterC-vsi-vpnb] quit
(3) 配置BGP协议
¡ 配置Router A
[RouterA] bgp 100
[RouterA-bgp-default] peer 30.1.1.2 as-number 100
[RouterA-bgp-default] peer 172.168.1.3 as-number 200
[RouterA-bgp-default] peer 192.168.1.3 as-number 200
[RouterA-bgp-default] address-family ipv4 unicast
[RouterA-bgp-default-ipv4] balance 4
[RouterA-bgp-default-ipv4] peer 30.1.1.2 enable
[RouterA-bgp-default-ipv4] peer 30.1.1.2 next-hop-local
[RouterA-bgp-default-ipv4] peer 172.168.1.3 enable
[RouterA-bgp-default-ipv4] peer 192.168.1.3 enable
[RouterA-bgp-default-ipv4] quit
[RouterA-bgp-default] quit
¡ 配置Router B
[RouterB] bgp 100
[RouterB-bgp-default] peer 50.1.1.2 as-number 100
[RouterB-bgp-default] peer 172.168.1.3 as-number 200
[RouterB-bgp-default] peer 192.168.1.3 as-number 200
[RouterB-bgp-default] address-family ipv4 unicast
[RouterB-bgp-default-ipv4] balance 4
[RouterB-bgp-default-ipv4] peer 50.1.1.2 enable
[RouterB-bgp-default-ipv4] peer 50.1.1.2 next-hop-local
[RouterB-bgp-default-ipv4] peer 172.168.1.3 enable
[RouterB-bgp-default-ipv4] peer 192.168.1.3 enable
[RouterB-bgp-default-ipv4] quit
[RouterB-bgp-default] quit
¡ 配置Router C
[RouterC] bgp 200
[RouterC-bgp-default] peer 10.1.1.2 as-number 200
[RouterC-bgp-default] peer 172.168.1.1 as-number 100
[RouterC-bgp-default] peer 192.168.1.1 as-number 100
[RouterC-bgp-default] peer 172.168.1.2 as-number 100
[RouterC-bgp-default] peer 192.168.1.2 as-number 100
[RouterC-bgp-default] address-family ipv4 unicast
[RouterC-bgp-default-ipv4] balance 4
[RouterC-bgp-default-ipv4] peer 10.1.1.2 enable
[RouterC-bgp-default-ipv4] peer 10.1.1.2 next-hop-local
[RouterC-bgp-default-ipv4] peer 172.168.1.1 enable
[RouterC-bgp-default-ipv4] peer 192.168.1.1 enable
[RouterC-bgp-default-ipv4] peer 172.168.1.2 enable
[RouterC-bgp-default-ipv4] peer 192.168.1.2 enable
[RouterC-bgp-default-ipv4] quit
[RouterC-bgp-default] quit
¡ 配置Router E
<RouterE> system-view
[RouterE] bgp 100
[RouterE-bgp-default] peer 30.1.1.1 as-number 100
[RouterE-bgp-default] address-family ipv4 unicast
[RouterE-bgp-default] import-route direct
[RouterE-bgp-default-ipv4] peer 30.1.1.1 enable
[RouterE-bgp-default-ipv4] quit
[RouterE-bgp-default] quit
¡ 配置Router F
<RouterF> system-view
[RouterF] bgp 100
[RouterF-bgp-default] peer 50.1.1.1 as-number 100
[RouterF-bgp-default] address-family ipv4 unicast
[RouterF-bgp-default] import-route direct
[RouterF-bgp-default-ipv4] peer 50.1.1.1 enable
[RouterF-bgp-default-ipv4] quit
[RouterF-bgp-default] quit
¡ 配置Router G
<RouterG> system-view
[RouterG] bgp 200
[RouterG-bgp-default] peer 10.1.1.1 as-number 200
[RouterG-bgp-default] address-family ipv4 unicast
[RouterG-bgp-default] import-route direct
[RouterG-bgp-default-ipv4] peer 10.1.1.1 enable
[RouterG-bgp-default-ipv4] quit
[RouterG-bgp-default] quit
(4) 配置智能选路基本功能
¡ 配置Router A
# 开启RIR服务器功能,配置探测信息同步端口号。
[RouterA] rir
[RouterA-rir] server enable
[RouterA-rir] probe sync-port 65535
# 配置选路延迟时间为30秒,选路调整周期为60秒。
[RouterA-rir] link-select delay 30
[RouterA-rir] link-select suppress-period 60
[RouterA-rir] quit
# 开启NQA服务器功能,并在NQA服务器上配置UDP监听服务。
[RouterA] nqa server enable
[RouterA] nqa server udp-echo 1.1.1.1 65501 high-performance-mode
[RouterA] nqa server udp-echo 1.1.1.1 65502 high-performance-mode
[RouterA] nqa server udp-echo 2.1.1.1 65501 high-performance-mode
[RouterA] nqa server udp-echo 2.1.1.1 65502 high-performance-mode
# 配置VSI虚接口,在接口VSI-interface 1下配置链路类型为MPLS,在接口VSI-interface 2下配置链路类型为Internet。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] rir link-type mpls index 1
[RouterA-Vsi-interface1] quit
[RouterA] interface vsi-interface 2
[RouterA-Vsi-interface2] rir link-type internet index 2
[RouterA-Vsi-interface2] quit
# 配置VXLAN隧道Tunnel 1和Tunnel 2的带宽为30000kbps,并指定发送VXLAN隧道Tunnel 1报文的物理出接口为GigabitEthernet2/0/1,发送VXLAN隧道Tunnel 2报文的物理出接口为GigabitEthernet2/0/2。
[RouterA] interface tunnel 1 mode vxlan
[RouterA-Tunnel1] bandwidth 30000
[RouterA-Tunnel1] tunnel out-interface gigabitethernet 2/0/1
[RouterA-Tunnel1] quit
[RouterA] interface tunnel 2 mode vxlan
[RouterA-Tunnel2] bandwidth 30000
[RouterA-Tunnel2] tunnel out-interface gigabitethernet 2/0/2
[RouterA-Tunnel2] quit
# 创建业务流量模板1和业务流量模板2,分别为业务流量模板下的链路配置不同的链路优先级,并在业务流量模板下分别配置会话预计使用的带宽。两个业务流量模板都不配置质量策略。
[RouterA] rir
[RouterA-rir] flow 1
[RouterA-rir-flow-1] path link-type mpls index 1 preference 10
[RouterA-rir-flow-1] path link-type internet index 2 preference 30
[RouterA-rir-flow-1] expect-bandwidth 300
[RouterA-rir-flow-1] quit
[RouterA-rir] quit
[RouterA-rir] flow 2
[RouterA-rir-flow-2] path link-type mpls index 1 preference 20
[RouterA-rir-flow-2] path link-type internet index 2 preference 40
[RouterA-rir-flow-2] expect-bandwidth 300
[RouterA-rir-flow-2] quit
[RouterA-rir] quit
# 配置QoS策略重标记流量,并将策略应用在接口GigabitEthernet2/0/3上,其中DSCP为1的报文Flow ID标记为1,DSCP为2的报文Flow ID标记为2。
[RouterA] traffic classifier class1
[RouterA-classifier-class1] if-match dscp 1
[RouterA-classifier-class1] quit
[RouterA] traffic classifier class2
[RouterA-classifier-class2] if-match dscp 2
[RouterA-classifier-class2] quit
[RouterA] traffic behavior behav1
[RouterA-behavior-behav1] remark flow-id 1
[RouterA-behavior-behav1] quit
[RouterA] traffic behavior behav2
[RouterA-behavior-behav2] remark flow-id 2
[RouterA-behavior-behav2] quit
[RouterA] qos policy policy1
[RouterA-qospolicy-policy1] classifier class1 behavior behav1
[RouterA-qospolicy-policy1] classifier class2 behavior behav2
[RouterA-qospolicy-policy1] quit
[RouterA] interface gigabitethernet 2/0/3
[RouterA-GigabitEthernet2/0/3] qos apply policy policy1 inbound
[RouterA-GigabitEthernet2/0/3] quit
¡ 配置Router B
# 开启RIR服务器功能,配置探测信息同步端口号。
[RouterB] rir
[RouterB-rir] server enable
# 配置选路延迟时间为30秒,选路调整周期为60秒。
[RouterB-rir] link-select delay 30
[RouterB-rir] link-select suppress-period 60
[RouterB-rir] probe sync-port 65535
[RouterB-rir] quit
# 开启NQA服务器功能,并在NQA服务器上配置UDP监听服务。
[RouterB] nqa server enable
[RouterB] nqa server udp-echo 3.1.1.1 65501 high-performance-mode
[RouterB] nqa server udp-echo 3.1.1.1 65502 high-performance-mode
[RouterB] nqa server udp-echo 4.1.1.1 65501 high-performance-mode
[RouterB] nqa server udp-echo 4.1.1.1 65502 high-performance-mode
# 配置VSI虚接口,在接口VSI-interface 1下配置链路类型为MPLS,在接口VSI-interface 2下配置链路类型为Internet。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] rir link-type mpls index 1
[RouterB-Vsi-interface1] quit
[RouterB] interface vsi-interface 2
[RouterB-Vsi-interface2] rir link-type internet index 2
[RouterB-Vsi-interface2] quit
# 配置VXLAN隧道Tunnel 3和Tunnel 4的带宽为30000kbps,并指定发送VXLAN隧道Tunnel 3报文的物理出接口为GigabitEthernet2/0/3,发送VXLAN隧道Tunnel 4报文的物理出接口为GigabitEthernet2/0/4。
[RouterB] interface tunnel 3 mode vxlan
[RouterB-Tunnel3] bandwidth 30000
[RouterB-Tunnel3] tunnel out-interface gigabitethernet 2/0/3
[RouterB-Tunnel3] quit
[RouterB] interface tunnel 4 mode vxlan
[RouterB-Tunnel4] bandwidth 30000
[RouterB-Tunnel4] tunnel out-interface gigabitethernet 2/0/4
[RouterB-Tunnel4] quit
# 创建业务流量模板1和业务流量模板2,分别为业务流量模板下的链路配置相同的链路优先级,并在业务流量模板下分别配置会话预计使用的带宽。两个业务流量模板都不配置质量策略。
[RouterB-rir] flow 1
[RouterB-rir-flow-1] path link-type mpls index 1 preference 10
[RouterB-rir-flow-1] path link-type internet index 2 preference 30
[RouterB-rir-flow-1] expect-bandwidth 300
[RouterB-rir-flow-1] quit
[RouterB-rir] quit
[RouterB-rir] flow 2
[RouterB-rir-flow-2] path link-type mpls index 1 preference 20
[RouterB-rir-flow-2] path link-type internet index 2 preference 40
[RouterB-rir-flow-2] expect-bandwidth 300
[RouterB-rir-flow-2] quit
[RouterB-rir] quit
# 配置QoS策略重标记流量,并将策略应用在接口GigabitEthernet2/0/5上,其中DSCP为1的报文Flow ID标记为1,DSCP为2的报文Flow ID标记为2。
[RouterB] traffic classifier class1
[RouterB-classifier-class1] if-match dscp 1
[RouterB-classifier-class1] quit
[RouterB] traffic classifier class2
[RouterB-classifier-class2] if-match dscp 2
[RouterB-classifier-class2] quit
[RouterB] traffic behavior behav1
[RouterB-behavior-behav1] remark flow-id 1
[RouterB-behavior-behav1] quit
[RouterB] traffic behavior behav2
[RouterB-behavior-behav2] remark flow-id 2
[RouterB-behavior-behav2] quit
[RouterB] qos policy policy1
[RouterB-qospolicy-policy1] classifier class1 behavior behav1
[RouterB-qospolicy-policy1] classifier class2 behavior behav2
[RouterB-qospolicy-policy1] quit
[RouterB] interface gigabitethernet 2/0/5
[RouterB-GigabitEthernet2/0/5] qos apply policy policy1 inbound
[RouterB-GigabitEthernet2/0/5] quit
¡ 配置Router C
# 开启RIR客户端功能,配置探测信息同步端口号。
[RouterC] rir
[RouterC-rir] client enable
[RouterC-rir] probe sync-port 65535
# 配置选路延迟时间为30秒,选路调整周期为60秒。
[RouterC-rir] link-select delay 30
[RouterC-rir] link-select suppress-period 60
[RouterC-rir] quit
# 开启NQA客户端功能。
[RouterD] nqa agent enable
# 配置NQA链路通断探测。
[RouterC] rir
[RouterC-rir] probe connect interval 300 timeout 65535
# 创建NQA链路质量探测1和NQA链路质量探测2,分别配置不同的链路质量探测参数。
[RouterC-rir] nqa 1
[RouterC-rir-nqa-1] probe packet-dscp 10
[RouterC-rir-nqa-1] probe interval 60
[RouterC-rir-nqa-1] probe packet-interval 15
[RouterC-rir-nqa-1] probe packet-number 60
[RouterC-rir-nqa-1] probe packet-timeout 500
[RouterC-rir-nqa-1] probe port 65501
[RouterC-rir-nqa-1] quit
[RouterC-rir] nqa 2
[RouterC-rir-nqa-2] probe packet-dscp 20
[RouterC-rir-nqa-2] probe interval 120
[RouterC-rir-nqa-2] probe packet-interval 30
[RouterC-rir-nqa-2] probe packet-number 120
[RouterC-rir-nqa-2] probe packet-timeout 1000
[RouterC-rir-nqa-2] probe port 65502
[RouterC-rir-nqa-2] quit
# 创建SLA 1和SLA 2,分别配置不同的链路质量阈值。
[RouterC-rir] sla 1
[RouterC-rir-sla-1] jitter threshold 20
[RouterC-rir-sla-1] delay threshold 60
[RouterC-rir-sla-1] packet-loss threshold 150
[RouterC-rir-sla-1] quit
[RouterC-rir] sla 2
[RouterC-rir-sla-2] jitter threshold 40
[RouterC-rir-sla-2] delay threshold 120
[RouterC-rir-sla-2] packet-loss threshold 300
[RouterC-rir-sla-2] quit
[RouterC-rir] quit
# 配置VSI虚接口,在接口VSI-interface 1下配置链路类型为MPLS,在接口VSI-interface 2下配置链路类型为Internet。
[RouterC] interface vsi-interface 1
[RouterC-Vsi-interface1] rir link-type mpls index 1
[RouterC-Vsi-interface1] quit
[RouterC] interface vsi-interface 2
[RouterC-Vsi-interface2] rir link-type internet index 2
[RouterC-Vsi-interface2] quit
# 配置VXLAN隧道Tunnel 1、Tunnel 2、Tunnel 3和Tunnel 4的带宽为30000kbps,并指定发送VXLAN隧道Tunnel 1和Tunnel 3报文的物理出接口为GigabitEthernet2/0/5,发送VXLAN隧道Tunnel 2和Tunnel 4报文的物理出接口为GigabitEthernet2/0/6。
[RouterC] interface tunnel 1 mode vxlan
[RouterC-Tunnel1] bandwidth 30000
[RouterC-Tunnel1] tunnel out-interface gigabitethernet 2/0/5
[RouterC-Tunnel1] quit
[RouterC] interface tunnel 2 mode vxlan
[RouterC-Tunnel2] bandwidth 30000
[RouterC-Tunnel2] tunnel out-interface gigabitethernet 2/0/6
[RouterC-Tunnel2] quit
[RouterC] interface tunnel 3 mode vxlan
[RouterC-Tunnel3] bandwidth 30000
[RouterC-Tunnel3] tunnel out-interface gigabitethernet 2/0/5
[RouterC-Tunnel3] quit
[RouterC] interface tunnel 4 mode vxlan
[RouterC-Tunnel4] bandwidth 30000
[RouterC-Tunnel4] tunnel out-interface gigabitethernet 2/0/6
[RouterC-Tunnel4] quit
# 创建业务流量模板1和业务流量模板2,分别业务流量模板下的链路配置不同的链路优先级,并为不同的业务流量模板配置不同的质量策略,并在业务流量模板下分别配置会话预计使用的带宽。
[RouterC] rir
[RouterC-rir] flow 1
[RouterC-rir-flow-1] path link-type mpls index 1 preference 10
[RouterC-rir-flow-1] path link-type internet index 2 preference 10
[RouterC-rir-flow-1] expect-bandwidth 300
[RouterC-rir-flow-1] quality-policy sla 1 nqa 1
[RouterC-rir-flow-1] quit
[RouterC-rir] flow 2
[RouterC-rir-flow-2] path link-type mpls index 1 preference 20
[RouterC-rir-flow-2] path link-type internet index 2 preference 20
[RouterC-rir-flow-1] expect-bandwidth 300
[RouterC-rir-flow-2] quality-policy sla 2 nqa 2
[RouterC-rir-flow-2] quit
[RouterC-rir] quit
# 配置QoS策略重标记流量,并将策略应用在接口GigabitEthernet2/0/1上,其中DSCP为1的报文Flow ID标记为1,DSCP为2的报文Flow ID标记为2。
[RouterC] traffic classifier class1
[RouterC-classifier-class1] if-match dscp 1
[RouterC-classifier-class1] quit
[RouterC] traffic classifier class2
[RouterC-classifier-class2] if-match dscp 2
[RouterC-classifier-class2] quit
[RouterC] traffic behavior behav1
[RouterC-behavior-behav1] remark flow-id 1
[RouterC-behavior-behav1] quit
[RouterC] traffic behavior behav2
[RouterC-behavior-behav2] remark flow-id 2
[RouterC-behavior-behav2] quit
[RouterC] qos policy policy1
[RouterC-qospolicy-policy1] classifier class1 behavior behav1
[RouterC-qospolicy-policy1] classifier class2 behavior behav2
[RouterC-qospolicy-policy1] quit
[RouterC] interface gigabitethernet 2/0/1
[RouterC-GigabitEthernet2/0/1] qos apply policy policy1 inbound
[RouterC-GigabitEthernet2/0/1] quit
(5) 配置协同选路功能
¡ 配置Router A
# 将QoS策略policy1应用在接口GigabitEthernet2/0/6上。
[RouterA] interface gigabitethernet 2/0/6
[RouterA-GigabitEthernet2/0/6] qos apply policy policy1 inbound
[RouterA-GigabitEthernet2/0/6] quit
# 配置VXLAN隧道Tunnel 1和Tunnel 2属于协同链路组3。
[RouterA] interface tunnel 1 mode vxlan
[RouterA-Tunnel1] rir collaboration-link-group 3
[RouterA-Tunnel1] quit
[RouterA] interface tunnel 2 mode vxlan
[RouterA-Tunnel2] rir collaboration-link-group 3
[RouterA-Tunnel2] quit
# 配置Router A与Router B建立选路协同关系,二者同步链路数据使用的TCP端口号为3000。
[RouterA] rir
[RouterA-rir] collaboration peer 60.1.1.2 local 60.1.1.1 sync-port 3000
[RouterA] quit
# 配置Router B在公网的报文重定向地址60.1.1.2,。
[RouterA] rir
[RouterA-rir] collaboration peer 60.1.1.2 redirect 60.1.1.2
[RouterA] quit
¡ 配置Router B
# 将QoS策略policy1应用在接口GigabitEthernet2/0/6上。
[RouterB] interface gigabitethernet 2/0/6
[RouterB-GigabitEthernet2/0/6] qos apply policy policy1 inbound
[RouterB-GigabitEthernet2/0/6] quit
# 配置VXLAN隧道Tunnel 3和Tunnel 4属于协同链路组3。
[RouterB] interface tunnel 3 mode vxlan
[RouterB-Tunnel3] rir collaboration-link-group 3
[RouterB-Tunnel3] quit
[RouterB] interface tunnel 4 mode vxlan
[RouterB-Tunnel4] rir collaboration-link-group 3
[RouterB-Tunnel4] quit
# 配置Router B与Router A建立选路协同关系,二者同步链路数据使用的TCP端口号为3000。
[RouterB] rir
[RouterB-rir] collaboration peer 60.1.1.1 local 60.1.1.2 sync-port 3000
[RouterB] quit
# 配置Router A在公网的报文重定向地址60.1.1.1。
[RouterB] rir
[RouterB-rir] collaboration peer 60.1.1.1 redirect 60.1.1.1
[RouterB] quit
(6) 开启隧道基于Flow ID的流量速率统计功能
¡ 配置Router A
# 开启隧道基于Flow ID的流量速率统计功能,并配置统计时间间隔为5秒。
[RouterA] tunnel flow-statistics enable
[RouterA] tunnel flow-statistics interval 5
¡ 配置Router B
# 开启隧道基于Flow ID的流量速率统计功能,并配置统计时间间隔为5秒。
[RouterB] tunnel flow-statistics enable
[RouterB] tunnel flow-statistics interval 5
¡ 配置Router C
# 开启隧道基于Flow ID的流量速率统计功能,并配置统计时间间隔为5秒。
[RouterC] tunnel flow-statistics enable
[RouterC] tunnel flow-statistics interval 5
(1) 查看等价路由
# 在Router A上查看目的地址为Router G的路由信息,可以看到两条出接口为VSI虚接口的等价路由。
[RouterA] display ip routing-table 10.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 BGP 255 0 172.168.1.3 Vsi2
BGP 255 0 192.168.1.3 Vsi1
# 在Router B上查看目的地址为Router G的路由信息,可以看到两条出接口为VSI虚接口的等价路由。
[RouterB] display ip routing-table 10.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 BGP 255 0 172.168.1.3 Vsi2
BGP 255 0 192.168.1.3 Vsi1
# 在Router C上查看目的地址为Router E和Router F的路由信息,可以分别看到两条出接口为VSI虚接口的等价路由。
[RouterC] display ip routing-table 30.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
30.1.1.0/24 BGP 255 0 172.168.1.1 Vsi2
BGP 255 0 192.168.1.1 Vsi1
[RouterC] display ip routing-table 50.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
50.1.1.0/24 BGP 255 0 172.168.1.2 Vsi2
BGP 255 0 192.168.1.2 Vsi1
(2) 查看TCP连接
# 在Router A上(Hub设备)查看TCP连接信息,可以看到两条本地端口号为65535的TCP连接和一条目的端口号为3000的TCP连接建立完成。其中,Spoke设备可以使用本地端口号为65535的TCP连接将链路探测质量结果同步到本端Hub设备,本端Hub设备可以使用端口号为3000的TCP连接将链路数据同步给对端Hub设备。(本地端口号或对端端口号为179的TCP连接由BGP协议运行时生成)
[RouterA] display tcp
*: TCP connection with authentication
Local Addr:port Foreign Addr:port State Slot PCB
0.0.0.0:179 30.1.1.2:0 LISTEN 1 0xffffffffffffffa0
0.0.0.0:179 172.168.1.3:0 LISTEN 1 0xffffffffffffffa1
0.0.0.0:179 192.168.1.3:0 LISTEN 1 0xffffffffffffffa2
0.0.0.0:65535 0.0.0.0:0 LISTEN 1 0x0000000000000382
1.1.1.1:65535 5.1.1.1:29439 ESTABLISHED 1 0x00000000000003b6
2.1.1.1:65535 6.1.1.1:5889 ESTABLISHED 1 0x00000000000003b5
30.1.1.1:179 30.1.1.2:12480 ESTABLISHED 1 0x00000000000003ec
60.1.1.1:49198 60.1.1.2:3000 ESTABLISHED 1 0x00000000000003e4
172.168.1.1:179 172.168.1.3:29378 ESTABLISHED 1 0x0000000000000378
192.168.1.1:179 192.168.1.3:29381 ESTABLISHED 1 0x0000000000000379
# 在Router B上(Hub设备)查看TCP连接信息,可以看到两条本地端口号为65535的TCP连接和一条本地端口号为3000的TCP连接建立完成。其中,Spoke设备可以使用本地端口号为65535的TCP连接将链路探测质量结果同步到本端Hub设备,本端Hub设备可以使用端口号为3000的TCP连接将链路数据同步给对端Hub设备。(本地端口号或对端端口号为179的TCP连接由BGP协议运行时生成)
[RouterB] display tcp
*: TCP connection with authentication
Local Addr:port Foreign Addr:port State Slot PCB
0.0.0.0:179 50.1.1.2:0 LISTEN 1 0xffffffffffffffa0
0.0.0.0:179 172.168.1.3:0 LISTEN 1 0xffffffffffffffa2
0.0.0.0:179 192.168.1.3:0 LISTEN 1 0xffffffffffffffa1
0.0.0.0:65535 0.0.0.0:0 LISTEN 1 0xffffffffffffffe8
3.1.1.1:65535 5.1.1.1:5908 ESTABLISHED 1 0xffffffffffffffea
4.1.1.1:65535 6.1.1.1:5909 ESTABLISHED 1 0xffffffffffffffeb
50.1.1.1:179 50.1.1.2:30400 ESTABLISHED 1 0x0000000000000019
60.1.1.2:3000 60.1.1.1:0 LISTEN 1 0x000000000000000f
60.1.1.2:3000 60.1.1.1:49198 ESTABLISHED 1 0x0000000000000010
172.168.1.2:23298 172.168.1.3:179 ESTABLISHED 1 0xffffffffffffffa6
192.168.1.2:179 192.168.1.3:29379 ESTABLISHED 1 0xffffffffffffffa7
# 在Router C上(Spoke设备)查看TCP连接信息,可以看到四条本地端口号为65535的TCP连接建立完成,Spoke设备可以使用该TCP连接将链路探测质量结果同步到对应的Hub设备。(本地端口号或对端端口号为179的TCP连接由BGP协议运行时生成)
[RouterC] display tcp
*: TCP connection with authentication
Local Addr:port Foreign Addr:port State Slot PCB
0.0.0.0:179 10.1.1.2:0 LISTEN 1 0xffffffffffffffa6
0.0.0.0:179 172.168.1.1:0 LISTEN 1 0xffffffffffffffa3
0.0.0.0:179 172.168.1.2:0 LISTEN 1 0xffffffffffffffa4
0.0.0.0:179 192.168.1.1:0 LISTEN 1 0xffffffffffffffa5
0.0.0.0:179 192.168.1.2:0 LISTEN 1 0xffffffffffffffa2
5.1.1.1:5908 3.1.1.1:65535 ESTABLISHED 1 0xffffffffffffffff
5.1.1.1:29439 1.1.1.1:65535 ESTABLISHED 1 0xffffffffffffffea
6.1.1.1:5889 2.1.1.1:65535 ESTABLISHED 1 0xffffffffffffffec
6.1.1.1:5909 4.1.1.1:65535 ESTABLISHED 1 0x0000000000000001
10.1.1.1:179 10.1.1.2:48512 ESTABLISHED 1 0x000000000000002c
172.168.1.3:179 172.168.1.2:23298 ESTABLISHED 1 0xffffffffffffffad
172.168.1.3:29378 172.168.1.1:179 ESTABLISHED 1 0xffffffffffffffac
192.168.1.3:29379 192.168.1.2:179 ESTABLISHED 1 0xffffffffffffffae
192.168.1.3:29381 192.168.1.1:179 ESTABLISHED 1 0xffffffffffffffb0
(3) 查看业务流量的选路信息
¡ 查看Router A
# 配置Router E仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。查看隧道基于Flow ID的流量速率统计信息,仅业务流量模板1下的本端设备链路Tunnel 1有业务流量。说明设备通过业务流量模板1为DSCP值为1的业务流量,优先选择本端设备链路Tunnel 1进行传输。
[RouterA] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
# 配置Router E仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为2。查看隧道基于Flow ID的流量速率统计信息,仅业务流量模板2下的本端设备链路Tunnel 1有业务流量。说明设备通过业务流量模板2为DSCP值为2的业务流量,优先选择本端设备链路Tunnel 1进行传输。
[RouterA] display tunnel flow-statistics
Flow 2:
Interface Out pps Out bps
Tunnel1 300 300000
¡ 查看Router B
# 配置Router F仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。查看隧道基于Flow ID的流量速率统计信息,仅业务流量模板1下的对端设备链路Tunnel 1有业务流量。说明设备通过业务流量模板1为DSCP值为1的业务流量,优先选择对端设备链路Tunnel 1进行传输。
[RouterB] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
# 配置Router F仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为2。查看隧道基于Flow ID的流量速率统计信息,仅业务流量模板2下的对端设备链路Tunnel 1有业务流量。说明设备通过业务流量模板2为DSCP值为2的业务流量,优先选择对端设备链路Tunnel 1进行传输。
[RouterB] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
¡ 查看Router C
# 配置Router G仅发起UDP业务至Router E(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。查看隧道基于Flow ID的流量速率统计信息,业务流量模板1下Tunnel 1和Tunnle 2都有业务流量。说明设备通过业务流量模板1为DSCP值为1的业务流量,以负载分担的方式选择链路进行传输。
[RouterC] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
Tunnel2 300 300000
# 配置Router G仅发起UDP业务至Router E(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为2。查看隧道基于Flow ID的流量速率统计信息,业务流量模板2下Tunnel 1和Tunnle 2都有业务流量。说明设备通过业务流量模板2为DSCP值为2的业务流量,以负载分担的方式选择链路进行传输。
[RouterC] display tunnel flow-statistics
Flow 2:
Interface Out pps Out bps
Tunnel1 300 300000
Tunnel2 300 300000
配置Router G发起业务到Router F时,Router C上的选路信息类似,不作介绍。
(4) 通过快转表查看链路的切换情况
# 配置Router E仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。此时,查看快转表,目的地址10.1.1.2的流量出接口为Vsi1。
[RouterA] display ip fast-forwarding cache 10.1.1.2
Total number of fast-forwarding entries: 2
SIP SPort DIP DPort Pro Input_If Output_If Flg
30.1.1.2 246 10.1.1.2 2048 1 GE2/0/3 Vsi1 1
# 将Tunnel1 shutdown后,再查看快转表,出接口变为重定向接口GE1/0/6。表明当本端设备链路不是最优链路时,本端设备会将报文发送到对端设备上,由对端设备进行转发。.
[RouterA-Tunnel1] display ip fast-forwarding cache 10.1.1.2
Total number of fast-forwarding entries: 2
SIP SPort DIP DPort Pro Input_If Output_If Flg
30.1.1.2 246 10.1.1.2 2048 1 GE2/0/3 GE2/0/6 1
在图1-14所示的VXLAN组网中,Router A和Router B组建协同选路设备组作为Hub侧,Router C作为Spoke侧。通过配置智能选路,流量从Spoke侧流向Hub侧或者从Hub侧流向Spoke侧时,按照为其定义的选路策略进行选路。具体组网需求如下:
· 在Transport network内配置OSPF协议,使Router A、Router B和Router C之间路由可达。
· 基于Transport network配置VXLAN,Router A、Router B和Router C为VTEP设备,Router A和Router C之间、Router B和Router C之间分别配置两条VXLAN隧道。
· Router A、Router B和Router C上均创建VSI虚接口VSI-interface 1、VSI-interface 2。通过配置VSI实例与VSI虚接口关联,实现每个Hub设备和Spoke设备间,VSI虚接口与VXLAN隧道一一对应。
· 配置Router A、Router B和Router C为分布式VXLAN IP网关,并在Router A、Router B、 Router C、Router E、Router F和Router G配置BGP协议,使Router A、Router B和Router C上分别存在两条及以上到其对应Hub或Spoke的、以VSI虚接口为出接口的等价路由。
· Router A和Router B非直连,两者之间建立GRE隧道,组成协同选路Hub组。其中,Router A和Router B使用公网地址建立选路协同关系,并配置对端设备在公网的报文重定向地址。
选路策略定义如下:
· Hub设备和Spoke设备分别配置业务流量模板1和业务流量模板2,指导DSCP为1和DSCP为2的报文选择最优的VXLAN隧道进行传输。
· Hub设备为业务流量选路时不进行质量检测,Spoke设备为业务流量选路时进行质量检测。
· Hub设备与Spoke设备的链路负载分担模式均为逐流加权选路模式(缺省模式,无需配置)。
· 协同选路设备组内的Hub设备Router A和Router B分别为业务流量配置两条优先级不同的链路。使得协同选路设备组收到公网业务报文时,优先选择Router A优先级较高的链路进行传输,当Router A优先级较高的链路不符合业务要求时,优先选择Router B优先级较高的链路进行传输。
· Spoke设备分别为业务流量配置两条优先级相同的链路,当两条链路都符合业务要求时会实现负载分担。
· 发送VXLAN隧道报文的物理接口带宽均符合业务流量带宽要求。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
GE2/0/1 |
1.1.1.1/24 |
Router D |
GE2/0/1 |
1.1.1.2/24 |
|
GE2/0/2 |
2.1.1.1/24 |
|
GE2/0/2 |
2.1.1.2/24 |
|
GE2/0/3 |
30.1.1.1/24 |
|
GE2/0/3 |
3.1.1.2/24 |
|
GE2/0/6 |
60.1.1.1/24 |
|
GE2/0/4 |
4.1.1.2/24 |
Router B |
GE2/0/3 |
3.1.1.1/24 |
|
GE2/0/5 |
5.1.1.2/24 |
|
GE2/0/4 |
4.1.1.1/24 |
|
GE2/0/6 |
6.1.1.2/24 |
|
GE2/0/5 |
50.1.1.1/24 |
Router E |
GE2/0/3 |
30.1.1.2/24 |
|
GE2/0/6 |
80.1.1.1/24 |
Router F |
GE2/0/5 |
50.1.1.2/24 |
Router C |
GE2/0/5 |
5.1.1.1/24 |
Router G |
GE2/0/1 |
10.1.1.2/24 |
|
GE2/0/6 |
6.1.1.1/24 |
Router H |
GE2/0/1 |
60.1.1.2/24 |
|
GE2/0/1 |
10.1.1.1/24 |
|
GE2/0/2 |
80.1.1.2/24 |
按照组网图配置各接口的IP地址和子网掩码。
(1) 在Transport network内配置OSPF协议
¡ 配置Router A
<RouterA> system-view
[RouterA] ospf 1
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 1.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit
[RouterA] ospf 2
[RouterA-ospf-2] area 0
[RouterA-ospf-2-area-0.0.0.0] network 2.1.1.0 0.0.0.255
[RouterA-ospf-2-area-0.0.0.0] quit
[RouterA-ospf-2] quit
¡ 配置Router B
<RouterB> system-view
[RouterB] ospf 1
[RouterB-ospf-1] area 0
[RouterB-ospf-1-area-0.0.0.0] network 3.1.1.0 0.0.0.255
[RouterB-ospf-1-area-0.0.0.0] quit
[RouterB-ospf-1] quit
[RouterB] ospf 2
[RouterB-ospf-2] area 0
[RouterB-ospf-2-area-0.0.0.0] network 4.1.1.0 0.0.0.255
[RouterB-ospf-2-area-0.0.0.0] quit
[RouterB-ospf-2] quit
¡ 配置Router C
<RouterC> system-view
[RouterC] ospf 1
[RouterC-ospf-1] area 0
[RouterC-ospf-1-area-0.0.0.0] network 5.1.1.0 0.0.0.255
[RouterC-ospf-1-area-0.0.0.0] quit
[RouterC-ospf-1] quit
[RouterC] ospf 2
[RouterC-ospf-2] area 0
[RouterC-ospf-2-area-0.0.0.0] network 6.1.1.0 0.0.0.255
[RouterC-ospf-2-area-0.0.0.0] quit
[RouterC-ospf-2] quit
¡ 配置Router D
<RouterD> system-view
[RouterD] ospf 1
[RouterD-ospf-1] area 0
[RouterD-ospf-1-area-0.0.0.0] network 1.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] network 3.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] network 5.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] quit
[RouterD-ospf-1] quit
[RouterD] ospf 2
[RouterD-ospf-2] area 0
[RouterD-ospf-2-area-0.0.0.0] network 2.1.1.0 0.0.0.255
[RouterD-ospf-2-area-0.0.0.0] network 4.1.1.0 0.0.0.255
[RouterD-ospf-2-area-0.0.0.0] network 6.1.1.0 0.0.0.255
[RouterD-ospf-2-area-0.0.0.0] quit
[RouterD-ospf-2] quit
(2) 基于Transport network配置VXLAN
¡ 配置Router A
# 开启L2VPN能力。
[RouterA] l2vpn enable
# 创建VSI实例vpna和VXLAN 90。
[RouterA] vsi vpna
[RouterA-vsi-vpna] vxlan 90
[RouterA-vsi-vpna-vxlan-90] quit
[RouterA-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 70。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] vxlan 70
[RouterA-vsi-vpnb-vxlan-70] quit
[RouterA-vsi-vpnb] quit
# 在Router A和Router C之间建立VXLAN隧道Tunnel 1,指定隧道的源端地址为接口GigabitEthernet2/0/1的地址1.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/5的地址5.1.1.1。
[RouterA] interface tunnel 1 mode vxlan
[RouterA-Tunnel1] source 1.1.1.1
[RouterA-Tunnel1] destination 5.1.1.1
[RouterA-Tunnel1] quit
# 在Router A和Router C之间建立VXLAN隧道Tunnel 2,指定隧道的源端地址为接口GigabitEthernet2/0/2的地址2.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/6的地址6.1.1.1。
[RouterA] interface tunnel 2 mode vxlan
[RouterA-Tunnel2] source 2.1.1.1
[RouterA-Tunnel2] destination 6.1.1.1
[RouterA-Tunnel2] quit
# 配置Tunnel 1与VXLAN 90关联。
[RouterA] vsi vpna
[RouterA-vsi-vpna] vxlan 90
[RouterA-vsi-vpna-vxlan-90] tunnel 1
[RouterA-vsi-vpna-vxlan-90] quit
[RouterA-vsi-vpna] quit
# 配置Tunnel 2与VXLAN 70关联。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] vxlan 70
[RouterA-vsi-vpnb-vxlan-70] tunnel 2
[RouterA-vsi-vpnb-vxlan-70] quit
[RouterA-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface 1,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] ip address 192.168.1.1 255.255.255.0
[RouterA-Vsi-interface1] distributed-gateway local
[RouterA-Vsi-interface1] local-proxy-arp enable
[RouterA-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface 2,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterA] interface vsi-interface 2
[RouterA-Vsi-interface2] ip address 172.168.1.1 255.255.255.0
[RouterA-Vsi-interface2] distributed-gateway local
[RouterA-Vsi-interface2] local-proxy-arp enable
[RouterA-Vsi-interface2] quit
# 配置VXLAN 90所在的VSI实例和接口VSI-interface 1关联,并配置该VSI实例的子网网段为192.168.1.0/24。
[RouterA] vsi vpna
[RouterA-vsi-vpna] gateway vsi-interface 1
[RouterA-vsi-vpna] gateway subnet 192.168.1.0 0.0.0.255
[RouterA-vsi-vpna] quit
# 配置VXLAN 70所在的VSI实例和接口VSI-interface 2关联,并配置该VSI实例的子网网段为172.168.1.0/24。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] gateway vsi-interface 2
[RouterA-vsi-vpnb] gateway subnet 172.168.1.0 0.0.0.255
[RouterA-vsi-vpnb] quit
¡ 配置Router B
# 开启L2VPN能力。
[RouterB] l2vpn enable
# 创建VSI实例vpna和VXLAN 90。
[RouterB] vsi vpna
[RouterB-vsi-vpna] vxlan 90
[RouterB-vsi-vpna-vxlan-90] quit
[RouterB-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 70。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] vxlan 70
[RouterB-vsi-vpnb-vxlan-70] quit
[RouterB-vsi-vpnb] quit
# 在Router B和Router C之间建立VXLAN隧道Tunnel 3,指定隧道的源端地址为接口GigabitEthernet2/0/3的地址3.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/5的地址5.1.1.1。
[RouterB] interface tunnel 3 mode vxlan
[RouterB-Tunnel3] source 3.1.1.1
[RouterB-Tunnel3] destination 5.1.1.1
[RouterB-Tunnel3] quit
# 在Router B和Router C之间建立VXLAN隧道Tunnel 4,指定隧道的源端地址为接口GigabitEthernet2/0/4的地址4.1.1.1,目的端地址为Router C上接口GigabitEthernet2/0/6的地址6.1.1.1。
[RouterB] interface tunnel 4 mode vxlan
[RouterB-Tunnel4] source 4.1.1.1
[RouterB-Tunnel4] destination 6.1.1.1
[RouterB-Tunnel4] quit
# 配置Tunnel 3与VXLAN 90关联。
[RouterB] vsi vpna
[RouterB-vsi-vpna] vxlan 90
[RouterB-vsi-vpna-vxlan-90] tunnel 3
[RouterB-vsi-vpna-vxlan-90] quit
[RouterB-vsi-vpna] quit
# 配置Tunnel 4与VXLAN 70关联。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] vxlan 70
[RouterB-vsi-vpnb-vxlan-70] tunnel 4
[RouterB-vsi-vpnb-vxlan-70] quit
[RouterB-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface 1,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] ip address 192.168.1.2 255.255.255.0
[RouterB-Vsi-interface1] distributed-gateway local
[RouterB-Vsi-interface1] local-proxy-arp enable
[RouterB-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface 2,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterB] interface vsi-interface 2
[RouterB-Vsi-interface2] ip address 172.168.1.2 255.255.255.0
[RouterB-Vsi-interface2] distributed-gateway local
[RouterB-Vsi-interface2] local-proxy-arp enable
[RouterB-Vsi-interface2] quit
# 配置VXLAN 90所在的VSI实例和接口VSI-interface 1关联,并配置该VSI实例的子网网段为192.168.1.0/24。
[RouterB] vsi vpna
[RouterB-vsi-vpna] gateway vsi-interface 1
[RouterB-vsi-vpna] gateway subnet 192.168.1.0 0.0.0.255
[RouterB-vsi-vpna] quit
# 配置VXLAN 70所在的VSI实例和接口VSI-interface 2关联,并配置该VSI实例的子网网段为172.168.1.0/24。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] gateway vsi-interface 2
[RouterB-vsi-vpnb] gateway subnet 172.168.1.0 0.0.0.255
[RouterB-vsi-vpnb] quit
¡ 配置Router C
# 开启L2VPN能力。
[RouterC] l2vpn enable
# 创建VSI实例vpna和VXLAN 90。
[RouterC] vsi vpna
[RouterC-vsi-vpna] vxlan 90
[RouterC-vsi-vpna-vxlan-90] quit
[RouterC-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 70。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] vxlan 70
[RouterC-vsi-vpnb-vxlan-70] quit
[RouterC-vsi-vpnb] quit
# 在Router C和Router A之间建立VXLAN隧道Tunnel 1,指定隧道的源端地址为接口GigabitEthernet2/0/5的地址5.1.1.1,目的端地址为Router A上接口GigabitEthernet2/0/1的地址1.1.1.1。
[RouterC] interface tunnel 1 mode vxlan
[RouterC-Tunnel1] source 5.1.1.1
[RouterC-Tunnel1] destination 1.1.1.1
[RouterC-Tunnel1] quit
# 在Router C和Router A之间建立VXLAN隧道Tunnel 2,指定隧道的源端地址为接口GigabitEthernet2/0/6的地址6.1.1.1,目的端地址为Router A上接口GigabitEthernet2/0/2的地址2.1.1.1。
[RouterC] interface tunnel 2 mode vxlan
[RouterC-Tunnel2] source 6.1.1.1
[RouterC-Tunnel2] destination 2.1.1.1
[RouterC-Tunnel2] quit
# 在Router C和Router B之间建立VXLAN隧道Tunnel 3,指定隧道的源端地址为接口GigabitEthernet2/0/5的地址5.1.1.1,目的端地址为Router B上接口GigabitEthernet2/0/3的地址3.1.1.1。
[RouterC] interface tunnel 3 mode vxlan
[RouterC-Tunnel3] source 5.1.1.1
[RouterC-Tunnel3] destination 3.1.1.1
[RouterC-Tunnel3] quit
# 在Router C和Router B之间建立VXLAN隧道Tunnel 4,指定隧道的源端地址为接口GigabitEthernet2/0/6的地址6.1.1.1,目的端地址为Router B上接口GigabitEthernet2/0/4的地址4.1.1.1。
[RouterC] interface tunnel 4 mode vxlan
[RouterC-Tunnel4] source 6.1.1.1
[RouterC-Tunnel4] destination 4.1.1.1
[RouterC-Tunnel4] quit
# 配置Tunnel 1、Tunnel 3与VXLAN 90关联。
[RouterC] vsi vpna
[RouterC-vsi-vpna] vxlan 90
[RouterC-vsi-vpna-vxlan-90] tunnel 1
[RouterC-vsi-vpna-vxlan-90] tunnel 3
[RouterC-vsi-vpna-vxlan-90] quit
[RouterC-vsi-vpna] quit
# 配置Tunnel 2、Tunnel 4与VXLAN 70关联。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] vxlan 70
[RouterC-vsi-vpnb-vxlan-70] tunnel 2
[RouterC-vsi-vpnb-vxlan-70] tunnel 4
[RouterC-vsi-vpnb-vxlan-70] quit
[RouterC-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface 1,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterC] interface vsi-interface 1
[RouterC-Vsi-interface1] ip address 192.168.1.3 255.255.255.0
[RouterC-Vsi-interface1] distributed-gateway local
[RouterC-Vsi-interface1] local-proxy-arp enable
[RouterC-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface 2,并为其配置IP地址;指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[RouterC] interface vsi-interface 2
[RouterC-Vsi-interface2] ip address 172.168.1.3 255.255.255.0
[RouterC-Vsi-interface2] distributed-gateway local
[RouterC-Vsi-interface2] local-proxy-arp enable
[RouterC-Vsi-interface2] quit
# 配置VXLAN 90所在的VSI实例和接口VSI-interface 1关联,并配置该VSI实例的子网网段为192.168.1.0/24。
[RouterC] vsi vpna
[RouterC-vsi-vpna] gateway vsi-interface 1
[RouterC-vsi-vpna] gateway subnet 192.168.1.0 0.0.0.255
[RouterC-vsi-vpna] quit
# 配置VXLAN 70所在的VSI实例和接口VSI-interface 2关联,并配置该VSI实例的子网网段为172.168.1.0/24。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] gateway vsi-interface 2
[RouterC-vsi-vpnb] gateway subnet 172.168.1.0 0.0.0.255
[RouterC-vsi-vpnb] quit
(3) 配置BGP协议
¡ 配置Router A
[RouterA] bgp 100
[RouterA-bgp-default] peer 30.1.1.2 as-number 100
[RouterA-bgp-default] peer 172.168.1.3 as-number 200
[RouterA-bgp-default] peer 192.168.1.3 as-number 200
[RouterA-bgp-default] address-family ipv4 unicast
[RouterA-bgp-default-ipv4] balance 4
[RouterA-bgp-default-ipv4] peer 30.1.1.2 enable
[RouterA-bgp-default-ipv4] peer 30.1.1.2 next-hop-local
[RouterA-bgp-default-ipv4] peer 172.168.1.3 enable
[RouterA-bgp-default-ipv4] peer 192.168.1.3 enable
[RouterA-bgp-default-ipv4] quit
[RouterA-bgp-default] quit
¡ 配置Router B
[RouterB] bgp 100
[RouterB-bgp-default] peer 50.1.1.2 as-number 100
[RouterB-bgp-default] peer 172.168.1.3 as-number 200
[RouterB-bgp-default] peer 192.168.1.3 as-number 200
[RouterB-bgp-default] address-family ipv4 unicast
[RouterB-bgp-default-ipv4] balance 4
[RouterB-bgp-default-ipv4] peer 50.1.1.2 enable
[RouterB-bgp-default-ipv4] peer 50.1.1.2 next-hop-local
[RouterB-bgp-default-ipv4] peer 172.168.1.3 enable
[RouterB-bgp-default-ipv4] peer 192.168.1.3 enable
[RouterB-bgp-default-ipv4] quit
[RouterB-bgp-default] quit
¡ 配置Router C
[RouterC] bgp 200
[RouterC-bgp-default] peer 10.1.1.2 as-number 200
[RouterC-bgp-default] peer 172.168.1.1 as-number 100
[RouterC-bgp-default] peer 192.168.1.1 as-number 100
[RouterC-bgp-default] peer 172.168.1.2 as-number 100
[RouterC-bgp-default] peer 192.168.1.2 as-number 100
[RouterC-bgp-default] address-family ipv4 unicast
[RouterC-bgp-default-ipv4] balance 4
[RouterC-bgp-default-ipv4] peer 10.1.1.2 enable
[RouterC-bgp-default-ipv4] peer 10.1.1.2 next-hop-local
[RouterC-bgp-default-ipv4] peer 172.168.1.1 enable
[RouterC-bgp-default-ipv4] peer 192.168.1.1 enable
[RouterC-bgp-default-ipv4] peer 172.168.1.2 enable
[RouterC-bgp-default-ipv4] peer 192.168.1.2 enable
[RouterC-bgp-default-ipv4] quit
[RouterC-bgp-default] quit
¡ 配置Router E
<RouterE> system-view
[RouterE] bgp 100
[RouterE-bgp-default] peer 30.1.1.1 as-number 100
[RouterE-bgp-default] address-family ipv4 unicast
[RouterE-bgp-default] import-route direct
[RouterE-bgp-default-ipv4] peer 30.1.1.1 enable
[RouterE-bgp-default-ipv4] quit
[RouterE-bgp-default] quit
¡ 配置Router F
<RouterF> system-view
[RouterF] bgp 100
[RouterF-bgp-default] peer 50.1.1.1 as-number 100
[RouterF-bgp-default] address-family ipv4 unicast
[RouterF-bgp-default] import-route direct
[RouterF-bgp-default-ipv4] peer 50.1.1.1 enable
[RouterF-bgp-default-ipv4] quit
[RouterF-bgp-default] quit
¡ 配置Router G
<RouterG> system-view
[RouterG] bgp 200
[RouterG-bgp-default] peer 10.1.1.1 as-number 200
[RouterG-bgp-default] address-family ipv4 unicast
[RouterG-bgp-default] import-route direct
[RouterG-bgp-default-ipv4] peer 10.1.1.1 enable
[RouterG-bgp-default-ipv4] quit
[RouterG-bgp-default] quit
(4) 配置智能选路基本功能
¡ 配置Router A
# 开启RIR服务器功能,配置探测信息同步端口号。
[RouterA] rir
[RouterA-rir] server enable
[RouterA-rir] probe sync-port 65535
# 配置选路延迟时间为30秒,选路调整周期为60秒。
[RouterA-rir] link-select delay 30
[RouterA-rir] link-select suppress-period 60
[RouterA-rir] quit
# 开启NQA服务器功能,并在NQA服务器上配置UDP监听服务。
[RouterA] nqa server enable
[RouterA] nqa server udp-echo 1.1.1.1 65501 high-performance-mode
[RouterA] nqa server udp-echo 1.1.1.1 65502 high-performance-mode
[RouterA] nqa server udp-echo 2.1.1.1 65501 high-performance-mode
[RouterA] nqa server udp-echo 2.1.1.1 65502 high-performance-mode
# 配置VSI虚接口,在接口VSI-interface 1下配置链路类型为MPLS,在接口VSI-interface 2下配置链路类型为Internet。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] rir link-type mpls index 1
[RouterA-Vsi-interface1] quit
[RouterA] interface vsi-interface 2
[RouterA-Vsi-interface2] rir link-type internet index 2
[RouterA-Vsi-interface2] quit
# 配置VXLAN隧道Tunnel 1和Tunnel 2的带宽为30000kbps,并指定发送VXLAN隧道Tunnel 1报文的物理出接口为GigabitEthernet2/0/1,发送VXLAN隧道Tunnel 2报文的物理出接口为GigabitEthernet2/0/2。
[RouterA] interface tunnel 1 mode vxlan
[RouterA-Tunnel1] bandwidth 30000
[RouterA-Tunnel1] tunnel out-interface gigabitethernet 2/0/1
[RouterA-Tunnel1] quit
[RouterA] interface tunnel 2 mode vxlan
[RouterA-Tunnel2] bandwidth 30000
[RouterA-Tunnel2] tunnel out-interface gigabitethernet 2/0/2
[RouterA-Tunnel2] quit
# 创建业务流量模板1和业务流量模板2,分别为业务流量模板下的链路配置不同的链路优先级,并在业务流量模板下分别配置会话预计使用的带宽。两个业务流量模板都不配置质量策略。
[RouterA] rir
[RouterA-rir] flow 1
[RouterA-rir-flow-1] path link-type mpls index 1 preference 10
[RouterA-rir-flow-1] path link-type internet index 2 preference 30
[RouterA-rir-flow-1] expect-bandwidth 300
[RouterA-rir-flow-1] quit
[RouterA-rir] quit
[RouterA-rir] flow 2
[RouterA-rir-flow-2] path link-type mpls index 1 preference 20
[RouterA-rir-flow-2] path link-type internet index 2 preference 40
[RouterA-rir-flow-2] expect-bandwidth 300
[RouterA-rir-flow-2] quit
[RouterA-rir] quit
# 配置QoS策略重标记流量,并将策略应用在接口GigabitEthernet2/0/3上,其中DSCP为1的报文Flow ID标记为1,DSCP为2的报文Flow ID标记为2。
[RouterA] traffic classifier class1
[RouterA-classifier-class1] if-match dscp 1
[RouterA-classifier-class1] quit
[RouterA] traffic classifier class2
[RouterA-classifier-class2] if-match dscp 2
[RouterA-classifier-class2] quit
[RouterA] traffic behavior behav1
[RouterA-behavior-behav1] remark flow-id 1
[RouterA-behavior-behav1] quit
[RouterA] traffic behavior behav2
[RouterA-behavior-behav2] remark flow-id 2
[RouterA-behavior-behav2] quit
[RouterA] qos policy policy1
[RouterA-qospolicy-policy1] classifier class1 behavior behav1
[RouterA-qospolicy-policy1] classifier class2 behavior behav2
[RouterA-qospolicy-policy1] quit
[RouterA] interface gigabitethernet 2/0/3
[RouterA-GigabitEthernet2/0/3] qos apply policy policy1 inbound
[RouterA-GigabitEthernet2/0/3] quit
¡ 配置Router B
# 开启RIR服务器功能,配置探测信息同步端口号。
[RouterB] rir
[RouterB-rir] server enable
# 配置选路延迟时间为30秒,选路调整周期为60秒。
[RouterB-rir] link-select delay 30
[RouterB-rir] link-select suppress-period 60
[RouterB-rir] probe sync-port 65535
[RouterB-rir] quit
# 开启NQA服务器功能,并在NQA服务器上配置UDP监听服务。
[RouterB] nqa server enable
[RouterB] nqa server udp-echo 3.1.1.1 65501 high-performance-mode
[RouterB] nqa server udp-echo 3.1.1.1 65502 high-performance-mode
[RouterB] nqa server udp-echo 4.1.1.1 65501 high-performance-mode
[RouterB] nqa server udp-echo 4.1.1.1 65502 high-performance-mode
# 配置VSI虚接口,在接口VSI-interface 1下配置链路类型为MPLS,在接口VSI-interface 2下配置链路类型为Internet。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] rir link-type mpls index 1
[RouterB-Vsi-interface1] quit
[RouterB] interface vsi-interface 2
[RouterB-Vsi-interface2] rir link-type internet index 2
[RouterB-Vsi-interface2] quit
# 配置VXLAN隧道Tunnel 3和Tunnel 4的带宽为30000kbps,并指定发送VXLAN隧道Tunnel 3报文的物理出接口为GigabitEthernet2/0/3,发送VXLAN隧道Tunnel 4报文的物理出接口为GigabitEthernet2/0/4。
[RouterB] interface tunnel 3 mode vxlan
[RouterB-Tunnel3] bandwidth 30000
[RouterB-Tunnel3] tunnel out-interface gigabitethernet 2/0/3
[RouterB-Tunnel3] quit
[RouterB] interface tunnel 4 mode vxlan
[RouterB-Tunnel4] bandwidth 30000
[RouterB-Tunnel4] tunnel out-interface gigabitethernet 2/0/4
[RouterB-Tunnel4] quit
# 创建业务流量模板1和业务流量模板2,分别为业务流量模板下的链路配置相同的链路优先级,并在业务流量模板下分别配置会话预计使用的带宽。两个业务流量模板都不配置质量策略。
[RouterB-rir] flow 1
[RouterB-rir-flow-1] path link-type mpls index 1 preference 10
[RouterB-rir-flow-1] path link-type internet index 2 preference 30
[RouterB-rir-flow-1] expect-bandwidth 300
[RouterB-rir-flow-1] quit
[RouterB-rir] quit
[RouterB-rir] flow 2
[RouterB-rir-flow-2] path link-type mpls index 1 preference 20
[RouterB-rir-flow-2] path link-type internet index 2 preference 40
[RouterB-rir-flow-2] expect-bandwidth 300
[RouterB-rir-flow-2] quit
[RouterB-rir] quit
# 配置QoS策略重标记流量,并将策略应用在接口GigabitEthernet2/0/5上,其中DSCP为1的报文Flow ID标记为1,DSCP为2的报文Flow ID标记为2。
[RouterB] traffic classifier class1
[RouterB-classifier-class1] if-match dscp 1
[RouterB-classifier-class1] quit
[RouterB] traffic classifier class2
[RouterB-classifier-class2] if-match dscp 2
[RouterB-classifier-class2] quit
[RouterB] traffic behavior behav1
[RouterB-behavior-behav1] remark flow-id 1
[RouterB-behavior-behav1] quit
[RouterB] traffic behavior behav2
[RouterB-behavior-behav2] remark flow-id 2
[RouterB-behavior-behav2] quit
[RouterB] qos policy policy1
[RouterB-qospolicy-policy1] classifier class1 behavior behav1
[RouterB-qospolicy-policy1] classifier class2 behavior behav2
[RouterB-qospolicy-policy1] quit
[RouterB] interface gigabitethernet 2/0/5
[RouterB-GigabitEthernet2/0/5] qos apply policy policy1 inbound
[RouterB-GigabitEthernet2/0/5] quit
¡ 配置Router C
# 开启RIR客户端功能,配置探测信息同步端口号。
[RouterC] rir
[RouterC-rir] client enable
[RouterC-rir] probe sync-port 65535
# 配置选路延迟时间为30秒,选路调整周期为60秒。
[RouterC-rir] link-select delay 30
[RouterC-rir] link-select suppress-period 60
[RouterC-rir] quit
# 开启NQA客户端功能。
[RouterD] nqa agent enable
# 配置NQA链路通断探测。
[RouterC] rir
[RouterC-rir] probe connect interval 300 timeout 65535
# 创建NQA链路质量探测1和NQA链路质量探测2,分别配置不同的链路质量探测参数。
[RouterC-rir] nqa 1
[RouterC-rir-nqa-1] probe packet-dscp 10
[RouterC-rir-nqa-1] probe interval 60
[RouterC-rir-nqa-1] probe packet-interval 15
[RouterC-rir-nqa-1] probe packet-number 60
[RouterC-rir-nqa-1] probe packet-timeout 500
[RouterC-rir-nqa-1] probe port 65501
[RouterC-rir-nqa-1] quit
[RouterC-rir] nqa 2
[RouterC-rir-nqa-2] probe packet-dscp 20
[RouterC-rir-nqa-2] probe interval 120
[RouterC-rir-nqa-2] probe packet-interval 30
[RouterC-rir-nqa-2] probe packet-number 120
[RouterC-rir-nqa-2] probe packet-timeout 1000
[RouterC-rir-nqa-2] probe port 65502
[RouterC-rir-nqa-2] quit
# 创建SLA 1和SLA 2,分别配置不同的链路质量阈值。
[RouterC-rir] sla 1
[RouterC-rir-sla-1] jitter threshold 20
[RouterC-rir-sla-1] delay threshold 60
[RouterC-rir-sla-1] packet-loss threshold 150
[RouterC-rir-sla-1] quit
[RouterC-rir] sla 2
[RouterC-rir-sla-2] jitter threshold 40
[RouterC-rir-sla-2] delay threshold 120
[RouterC-rir-sla-2] packet-loss threshold 300
[RouterC-rir-sla-2] quit
[RouterC-rir] quit
# 配置VSI虚接口,在接口VSI-interface 1下配置链路类型为MPLS,在接口VSI-interface 2下配置链路类型为Internet。
[RouterC] interface vsi-interface 1
[RouterC-Vsi-interface1] rir link-type mpls index 1
[RouterC-Vsi-interface1] quit
[RouterC] interface vsi-interface 2
[RouterC-Vsi-interface2] rir link-type internet index 2
[RouterC-Vsi-interface2] quit
# 配置VXLAN隧道Tunnel 1、Tunnel 2、Tunnel 3和Tunnel 4的带宽为30000kbps,并指定发送VXLAN隧道Tunnel 1和Tunnel 3报文的物理出接口为GigabitEthernet2/0/5,发送VXLAN隧道Tunnel 2和Tunnel 4报文的物理出接口为GigabitEthernet2/0/6。
[RouterC] interface tunnel 1 mode vxlan
[RouterC-Tunnel1] bandwidth 30000
[RouterC-Tunnel1] tunnel out-interface gigabitethernet 2/0/5
[RouterC-Tunnel1] quit
[RouterC] interface tunnel 2 mode vxlan
[RouterC-Tunnel2] bandwidth 30000
[RouterC-Tunnel2] tunnel out-interface gigabitethernet 2/0/6
[RouterC-Tunnel2] quit
[RouterC] interface tunnel 3 mode vxlan
[RouterC-Tunnel3] bandwidth 30000
[RouterC-Tunnel3] tunnel out-interface gigabitethernet 2/0/5
[RouterC-Tunnel3] quit
[RouterC] interface tunnel 4 mode vxlan
[RouterC-Tunnel4] bandwidth 30000
[RouterC-Tunnel4] tunnel out-interface gigabitethernet 2/0/6
[RouterC-Tunnel4] quit
# 创建业务流量模板1和业务流量模板2,分别业务流量模板下的链路配置不同的链路优先级,并为不同的业务流量模板配置不同的质量策略,并在业务流量模板下分别配置会话预计使用的带宽。
[RouterC] rir
[RouterC-rir] flow 1
[RouterC-rir-flow-1] path link-type mpls index 1 preference 10
[RouterC-rir-flow-1] path link-type internet index 2 preference 10
[RouterC-rir-flow-1] expect-bandwidth 300
[RouterC-rir-flow-1] quality-policy sla 1 nqa 1
[RouterC-rir-flow-1] quit
[RouterC-rir] flow 2
[RouterC-rir-flow-2] path link-type mpls index 1 preference 20
[RouterC-rir-flow-2] path link-type internet index 2 preference 20
[RouterC-rir-flow-1] expect-bandwidth 300
[RouterC-rir-flow-2] quality-policy sla 2 nqa 2
[RouterC-rir-flow-2] quit
[RouterC-rir] quit
# 配置QoS策略重标记流量,并将策略应用在接口GigabitEthernet2/0/1上,其中DSCP为1的报文Flow ID标记为1,DSCP为2的报文Flow ID标记为2。
[RouterC] traffic classifier class1
[RouterC-classifier-class1] if-match dscp 1
[RouterC-classifier-class1] quit
[RouterC] traffic classifier class2
[RouterC-classifier-class2] if-match dscp 2
[RouterC-classifier-class2] quit
[RouterC] traffic behavior behav1
[RouterC-behavior-behav1] remark flow-id 1
[RouterC-behavior-behav1] quit
[RouterC] traffic behavior behav2
[RouterC-behavior-behav2] remark flow-id 2
[RouterC-behavior-behav2] quit
[RouterC] qos policy policy1
[RouterC-qospolicy-policy1] classifier class1 behavior behav1
[RouterC-qospolicy-policy1] classifier class2 behavior behav2
[RouterC-qospolicy-policy1] quit
[RouterC] interface gigabitethernet 2/0/1
[RouterC-GigabitEthernet2/0/1] qos apply policy policy1 inbound
[RouterC-GigabitEthernet2/0/1] quit
(5) 配置协同选路功能
¡ 配置Router A
# 配置GRE隧道。
[RouterA] interface tunnel 10 mode gre
[RouterA-Tunnel10] ip address 150.1.1.1 255.255.255.0
[RouterA-Tunnel10] source 60.1.1.1
[RouterA-Tunnel10] destination 80.1.1.1
# 将QoS策略policy1应用在隧道接口Tunnel 10上。
[RouterA] interface tunnel 10
[RouterA-Tunnel10] qos apply policy policy1 inbound
[RouterA-Tunnel10] quit
# 配置VXLAN隧道Tunnel 1和Tunnel 2属于协同链路组3。
[RouterA] interface tunnel 1 mode vxlan
[RouterA-Tunnel1] rir collaboration-link-group 3
[RouterA-Tunnel1] quit
[RouterA] interface tunnel 2 mode vxlan
[RouterA-Tunnel2] rir collaboration-link-group 3
[RouterA-Tunnel2] quit
# 配置Router A与Router B建立选路协同关系,二者同步链路数据使用的TCP端口号为3000。
[RouterA] rir
[RouterA-rir] collaboration peer 150.1.1.2 local 150.1.1.1 sync-port 3000
[RouterA] quit
# 配置Router B在公网的报文重定向地址150.1.1.2。
[RouterA] rir
[RouterA-rir] collaboration peer 150.1.1.2 redirect 150.1.1.2
[RouterA] quit
¡ 配置Router B
# 配置GRE隧道。
[RouterB] interface tunnel 10 mode gre
[RouterB-Tunnel10] ip address 150.1.1.2 255.255.255.0
[RouterB-Tunnel10] source 80.1.1.1
[RouterB-Tunnel10] destination 60.1.1.1
# 将QoS策略policy1应用在隧道接口Tunnel 10上。
[RouterB] interface tunnel 10
[RouterB-Tunnel10] qos apply policy policy1 inbound
[RouterB-Tunnel10] quit
# 配置VXLAN隧道Tunnel 3和Tunnel 4属于协同链路组3。
[RouterB] interface tunnel 3 mode vxlan
[RouterB-Tunnel3] rir collaboration-link-group 3
[RouterB-Tunnel3] quit
[RouterB] interface tunnel 4 mode vxlan
[RouterB-Tunnel4] rir collaboration-link-group 3
[RouterB-Tunnel4] quit
# 配置Router B与Router A建立选路协同关系,二者同步链路数据使用的TCP端口号为3000。
[RouterB] rir
[RouterB-rir] collaboration peer 150.1.1.1 local 150.1.1.2 sync-port 3000
[RouterB] quit
# 配置Router A在公网的报文重定向地址150.1.1.1。
[RouterB] rir
[RouterB-rir] collaboration peer 150.1.1.1 redirect 150.1.1.1
[RouterB] quit
(6) 开启隧道基于Flow ID的流量速率统计功能
¡ 配置Router A
# 开启隧道基于Flow ID的流量速率统计功能,并配置统计时间间隔为5秒。
[RouterA] tunnel flow-statistics enable
[RouterA] tunnel flow-statistics interval 5
¡ 配置Router B
# 开启隧道基于Flow ID的流量速率统计功能,并配置统计时间间隔为5秒。
[RouterB] tunnel flow-statistics enable
[RouterB] tunnel flow-statistics interval 5
¡ 配置Router C
# 开启隧道基于Flow ID的流量速率统计功能,并配置统计时间间隔为5秒。
[RouterC] tunnel flow-statistics enable
[RouterC] tunnel flow-statistics interval 5
(1) 查看等价路由
# 在Router A上查看目的地址为Router G的路由信息,可以看到两条出接口为VSI虚接口的等价路由。
[RouterA] display ip routing-table 10.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 BGP 255 0 172.168.1.3 Vsi2
BGP 255 0 192.168.1.3 Vsi1
# 在Router B上查看目的地址为Router G的路由信息,可以看到两条出接口为VSI虚接口的等价路由。
[RouterB] display ip routing-table 10.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 BGP 255 0 172.168.1.3 Vsi2
BGP 255 0 192.168.1.3 Vsi1
# 在Router C上查看目的地址为Router E和Router F的路由信息,可以分别看到两条出接口为VSI虚接口的等价路由。
[RouterC] display ip routing-table 30.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
30.1.1.0/24 BGP 255 0 172.168.1.1 Vsi2
BGP 255 0 192.168.1.1 Vsi1
[RouterC] display ip routing-table 50.1.1.2
Summary count : 2
Destination/Mask Proto Pre Cost NextHop Interface
50.1.1.0/24 BGP 255 0 172.168.1.2 Vsi2
BGP 255 0 192.168.1.2 Vsi1
(2) 查看TCP连接
# 在Router A上(Hub设备)查看TCP连接信息,可以看到两条本地端口号为65535的TCP连接和一条目的端口号为3000的TCP连接建立完成。其中,Spoke设备可以使用本地端口号为65535的TCP连接将链路探测质量结果同步到本端Hub设备,本端Hub设备可以使用端口号为3000的TCP连接将链路数据同步给对端Hub设备。(本地端口号或对端端口号为179的TCP连接由BGP协议运行时生成)
[RouterA] display tcp
*: TCP connection with authentication
Local Addr:port Foreign Addr:port State Slot PCB
0.0.0.0:179 30.1.1.2:0 LISTEN 1 0xffffffffffffffa0
0.0.0.0:179 172.168.1.3:0 LISTEN 1 0x00000000000003f2
0.0.0.0:179 192.168.1.3:0 LISTEN 1 0x000000000000049a
0.0.0.0:65535 0.0.0.0:0 LISTEN 1 0x0000000000000382
1.1.1.1:65535 5.1.1.1:22235 ESTABLISHED 1 0x0000000000000520
2.1.1.1:65535 6.1.1.1:62560 ESTABLISHED 1 0x0000000000000498
30.1.1.1:179 30.1.1.2:12480 ESTABLISHED 1 0x00000000000003ec
150.1.1.1:49210 150.1.1.2:3000 ESTABLISHED 1 0x000000000000050c
172.168.1.1:179 172.168.1.3:62558 ESTABLISHED 1 0x0000000000000496
192.168.1.1:179 192.168.1.3:22233 ESTABLISHED 1 0x000000000000051f
# 在Router B上(Hub设备)查看TCP连接信息,可以看到两条本地端口号为65535的TCP连接和一条本地端口号为3000的TCP连接建立完成。其中,Spoke设备可以使用本地端口号为65535的TCP连接将链路探测质量结果同步到本端Hub设备,本端Hub设备可以使用端口号为3000的TCP连接将链路数据同步给对端Hub设备。(本地端口号或对端端口号为179的TCP连接由BGP协议运行时生成)
[RouterB] display tcp
*: TCP connection with authentication
Local Addr:port Foreign Addr:port State Slot PCB
0.0.0.0:179 50.1.1.2:0 LISTEN 1 0xffffffffffffffa0
0.0.0.0:179 172.168.1.3:0 LISTEN 1 0xffffffffffffffa2
0.0.0.0:179 192.168.1.3:0 LISTEN 1 0xffffffffffffffa1
0.0.0.0:65535 0.0.0.0:0 LISTEN 1 0xffffffffffffffe8
3.1.1.1:65535 5.1.1.1:5908 ESTABLISHED 1 0xffffffffffffffea
4.1.1.1:65535 6.1.1.1:5909 ESTABLISHED 1 0xffffffffffffffeb
50.1.1.1:179 50.1.1.2:30400 ESTABLISHED 1 0x0000000000000019
150.1.1.2:3000 150.1.1.1:0 LISTEN 1 0x000000000000001a
150.1.1.2:3000 150.1.1.1:49210 ESTABLISHED 1 0x000000000000001b
172.168.1.2:23298 172.168.1.3:179 ESTABLISHED 1 0xffffffffffffffa6
192.168.1.2:179 192.168.1.3:29379 ESTABLISHED 1 0xffffffffffffffa7
# 在Router C上(Spoke设备)查看TCP连接信息,可以看到四条本地端口号为65535的TCP连接建立完成,Spoke设备可以使用该TCP连接将链路探测质量结果同步到对应的Hub设备。(本地端口号或对端端口号为179的TCP连接由BGP协议运行时生成)
[RouterC] display tcp
*: TCP connection with authentication
Local Addr:port Foreign Addr:port State Slot PCB
0.0.0.0:179 10.1.1.2:0 LISTEN 1 0xffffffffffffffa6
0.0.0.0:179 172.168.1.1:0 LISTEN 1 0x0000000000000034
0.0.0.0:179 172.168.1.2:0 LISTEN 1 0xffffffffffffffa4
0.0.0.0:179 192.168.1.1:0 LISTEN 1 0x00000000000000d6
0.0.0.0:179 192.168.1.2:0 LISTEN 1 0xffffffffffffffa2
5.1.1.1:5908 3.1.1.1:65535 ESTABLISHED 1 0xffffffffffffffff
5.1.1.1:22235 1.1.1.1:65535 ESTABLISHED 1 0x000000000000014b
6.1.1.1:5909 4.1.1.1:65535 ESTABLISHED 1 0x0000000000000001
6.1.1.1:62560 2.1.1.1:65535 ESTABLISHED 1 0x00000000000000cf
10.1.1.1:179 10.1.1.2:48512 ESTABLISHED 1 0x000000000000002c
172.168.1.3:179 172.168.1.2:23298 ESTABLISHED 1 0xffffffffffffffad
172.168.1.3:62558 172.168.1.1:179 ESTABLISHED 1 0x00000000000000cd
192.168.1.3:22233 192.168.1.1:179 ESTABLISHED 1 0x0000000000000149
192.168.1.3:29379 192.168.1.2:179 ESTABLISHED 1 0xffffffffffffffae
(3) 查看业务流量的选路信息
¡ 查看Router A
# 配置Router E仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。查看隧道基于Flow ID的流量速率统计信息,仅业务流量模板1下的本端设备链路Tunnel 1有业务流量。说明设备通过业务流量模板1为DSCP值为1的业务流量,优先选择本端设备链路Tunnel 1进行传输。
[RouterA] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
# 配置Router E仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为2。查看隧道基于Flow ID的流量速率统计信息,仅业务流量模板2下的本端设备链路Tunnel 1有业务流量。说明设备通过业务流量模板2为DSCP值为2的业务流量,优先选择本端设备链路Tunnel 1进行传输。
[RouterA] display tunnel flow-statistics
Flow 2:
Interface Out pps Out bps
Tunnel1 300 300000
¡ 查看Router B
# 配置Router F仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。查看隧道基于Flow ID的流量速率统计信息,仅业务流量模板1下的对端设备链路Tunnel 1有业务流量。说明设备通过业务流量模板1为DSCP值为1的业务流量,优先选择对端设备链路Tunnel 1进行传输。
[RouterB] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
# 配置Router F仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为2。查看隧道基于Flow ID的流量速率统计信息,仅业务流量模板2下的对端设备链路Tunnel 1有业务流量。说明设备通过业务流量模板2为DSCP值为2的业务流量,优先选择对端设备链路Tunnel 1进行传输。
[RouterB] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
¡ 查看Router C
# 配置Router G仅发起UDP业务至Router E(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。查看隧道基于Flow ID的流量速率统计信息,业务流量模板1下Tunnel 1和Tunnle 2都有业务流量。说明设备通过业务流量模板1为DSCP值为1的业务流量,以负载分担的方式选择链路进行传输。
[RouterC] display tunnel flow-statistics
Flow 1:
Interface Out pps Out bps
Tunnel1 300 300000
Tunnel2 300 300000
# 配置Router G仅发起UDP业务至Router E(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为2。查看隧道基于Flow ID的流量速率统计信息,业务流量模板2下Tunnel 1和Tunnle 2都有业务流量。说明设备通过业务流量模板2为DSCP值为2的业务流量,以负载分担的方式选择链路进行传输。
[RouterC] display tunnel flow-statistics
Flow 2:
Interface Out pps Out bps
Tunnel1 300 300000
Tunnel2 300 300000
配置Router G发起业务到Router F时,Router C上的选路信息类似,不作介绍。
(4) 通过快转表查看链路的切换情况
# 配置Router E仅发起公网UDP业务至Router G(业务对应多个会话,即有多个不同五元组的业务流量),业务流量的DSCP值为1。此时,查看快转表,目的地址10.1.1.2的流量出接口为Vsi1。
[RouterA] display ip fast-forwarding cache 10.1.1.2
Total number of fast-forwarding entries: 2
SIP SPort DIP DPort Pro Input_If Output_If Flg
30.1.1.2 246 10.1.1.2 2048 1 GE2/0/3 Vsi1 1
# 将Tunnel1 shutdown后,再查看快转表,出接口变为重定向接口Tunnel10(GRE隧道接口)。表明当本端设备链路不是最优链路时,本端设备会将报文发送到对端设备上,由对端设备进行转发。.
[RouterA-Tunnel1]display ip fast-forwarding cache 10.1.1.2
Total number of fast-forwarding entries: 2
SIP SPort DIP DPort Pro Input_If Output_If Flg
30.1.1.2 246 10.1.1.2 2048 1 GE2/0/3 Tun10 1
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!