第5篇    BGP/MPLS ×××

第15章    MPLS技术基础

15.2    MPLS起源

图片.png

    随着Internet的迅速普及,传统的路由器设备因其转发性能低下,逐渐成为网络的瓶颈。

    首先,路由器采用的转发算法效率不高。路由器普遍采用IP转发。IP转发的原则是最长匹配算法。路由器在判断该如何转发一个数据包时,需要遍历整个路由表,找出最能精确表达该数据目的地址所在位置的那一条路由。

    此外,当时路由器多采用通过CPU进行转发处理,性能有限,对IP地址和路由的匹配运算需要耗费较多的处理器时间。


图片.png


图片.png

    MPLS(Multiprotocol Label Switching,多协议标签交换)的基本概念是用一个短而定长的标签来封装网络层分组,并将标签封装后的报文转发到已升级改进过的交换机或者路由器,交换机或路由器根据标签值转发报文。后文将详细阐述MPLS的具体实现过程。

    MPLS中的多协议有多层含义。一方面是指MPLS协议可以承载在多种二层协议之上,如常见的PPP、ATM、帧中继(FR)、以太网等等;另一方面多种报文也可以承载在MPLS之上,如IPv4报文、IPv6报文等,甚至也包括各种二层报文。与多种协议的兼容性是MPLS协议得以普及的重要原因之一。


15.3    MPLS网络组成

图片.png

    MPLS网络架构与普通的IP网络相比,并无任何特殊性。普通的IP网络、其路由器只要经过升级,支持MPLS功能,就成了MPLS网络。在MPLS网络中的路由器,具有标签分发能力和标签交换能力,被称之为LSR。此外,MPLS网络可以与非MPLS网络共存,报文可在非MPLS网络和MPLS网络之间进行转发。


图片.png

    MPLS网络的基本构成单元是LSR(Lable Switching Router),是具有标签分发能力和标签交换能力的设备。

    MPLS网络包括以下几个组成部分:

    ·    入节点Ingress:报文的入口LSR,负责为进入MPLS网络的报文添加标签。

    ·    中间节点Transit:MPLS网络内部的LSR,根据标签沿着由一系列LSR构成的LSP将报文传送给出口LSR。

    ·    出节点Egress:报文的出口LSR,负责剥离报文中的标签,并转发给目的网络。


图片.png

    FEC(Forwarding Equivalence Class,转发等价类)是MPLS中的一个重要概念。MPLS将具有相同特征(目的地相同或具有相同服务等级等)的报文归为一类,称为FEC。属于相同FEC的报文在MPLS网络中将获得完全相同的处理。

    属于同一个FEC的报文在MPLS网络中经过的路径称为LSP(Label Switched Path,标签交换路径)。LSP是一条单向报文转发路径。在一条LSP上,沿数据传送的方向,相邻的LSR分别称为上游LSR和下游LSR。


图片.png

图片.png

图片.png


15.4.2    MPLS标签分配协议分类

图片.png


15.4.3    LDP消息类型

图片.png

    LDP协议定义了以下四类消息:

    ·    发现消息(Discovery message):用于LDP邻居的发现和维持。

    ·    会话消息(Session message):用于LDP邻居会话的建立、维持和中止。

    ·    通告消息(Advertisement message):用于LSR向LDP邻居宣告Label、地址等信息。

    ·    通知消息(Notification message):用于向LDP邻居通知事件或者错误。

    所有的LDP消息都采用TLV结构,具有很强的扩展性。

注意:

    具体的LDP消息有很多种,包括Notification、Hello、Initialization、KeepAlive、Address、Address Withdraw、Label Mapping、Label Request、Label Abort Request、Label Withdraw、Label Release等,这些消息都可以分别归入上述四类之中。


图片.png

图片.png


15.4.4    标签分配过程

图片.png

图片.png


15.4.5    标签分配和管理方式

图片.png

    在标签分配的过程中,存在很多种方式,这些方式一般情况下可以在设备上进行配置,各种不同的方式适合不同的MPLS应用。

    标签通告模式包括:

        ·    DOD:downstream-on-demand    下游按需方式

        ·    DU:downstream unsolicited 下游自主方式

    标签控制模式包括:

        ·    有序方式(Ordered)

        ·    独立方式(Independent)

    标签保持模式包括:

        ·    保守模式(Conservative)

        ·    自由模式(Liberal)


图片.png

图片.png

图片.png

图片.png

图片.png

图片.png


15.5    MPLS转发实现

图片.png

图片.png

图片.png


15.6    MPLS应用与发展

图片.png


第16章    BGP MPLS ×××基本原理

16.2    BGP MPLS ××× 技术背景

16.2.1    传统×××缺陷

图片.png

图片.png

    ×××技术能够非常有效的节省用户建立私有网络的成本,成为用户建立私有网络的一个很好的选择,因此各种各样的×××技术也纷纷出炉,如GRE、IPSec、L2TP等等。这些×××技术被统称为传统×××技术。随着网络的发展,用户私有网络的规模也逐渐扩大,传统×××技术的一些缺点被暴露出来,最主要的体现为以下两点:

    ·    静态隧道的可扩展性不强。传统×××技术的隧道需要静态建立,随着用户网络规模的扩大,×××隧道的数量成N平方增长,用户的分支部门的增减都将涉及到大量的静态隧道的配置或删除。

    ·    ×××只能由用户自行维护和管理。在公共的Internet网络上承载着很多的×××用户,而各个×××用户的私网地址空间通常是重叠的,×××的维护和管理工作只能由用户自行完成。负责维护和管理公共网络的运营商因为不能区分开用户,无法接管用户的×××。

    这两个缺点,使得用户不可能选择采用传统的×××技术建立大规模的私有网络。


16.2.2    BGP MPLS ×××的优点

图片.png

    BGP MPLS ×××技术是通过BGP和MPLS两种技术配置实现的一种新型的×××技术,与传统×××技术相比,它有如下三个优点:

    ·    实现隧道的动态建立。传统×××技术用户各个分部之间的×××隧道需要由维护人员手工静态配置,而BGP MPLS ×××技术隧道是动态建立的。用户的各个分部之间会自动建立隧道,且分部的增加或减少,不需要用户再去添加或删除隧道配置。

    ·    解决了本地地址冲突问题。BGP MPLS ×××技术实现了一台路由器可以同时处理多个不同的×××用户数据的功能,最终使得多个地址冲突的用户都可以将建立和维护×××的工作交给运营商,进一步降低×××用户的负担。

    ·    ×××私网路由易于控制。私网路由的交互是×××技术实现的关键,能够动态的交互私网路由,用户网络才能自动发现各个分部网络的所在位置。传统的×××技术中可以支持私网路由的动态学习,然后BGP MPLS ×××技术在私网路由的动态交互的基础上,加入了互通或隔离的控制,可以更加灵活的控制用户各个分部,或者各个不同用户之间的互访关系。


16.3    MPLS隧道

16.3.1    隧道技术与MPLS

图片.png

    ×××的实现依赖于一个很重要的技术,那就是隧道。通过隧道,用户私网在公网之间建立起一个逻辑通路,让用户的各个分部之间如有实际的物理线路相连。而隧道的实现是通过报文封装的方法。如GRE隧道,就是采用公网IP头部来封装私网报文,公网上的路由器根据报文的外层IP头进行转发,直到报文抵达目的私有网络,再去除外层的IP头,解封出私网报文。

    MPLS技术产生本意是为了加快报文的转发效率,但它其实也是一种隧道技术。从它的实现原理可以看出,它也是对报文进行封装,在IP报文的前面加上了MPLS标签,路由器直接根据标签进行转发,而无需检查内部的目的地址,这与GRE的封装非常类似。所以MPLS技术是一种天然的隧道技术,而且与已有的×××所采用的隧道技术相比,它有着一个非常重要的优势,那就是动态性。


16.3.2    MPLS隧道应用

图片.png

图片.png

图片.png


16.3.3    MPLS倒数第二跳弹出

图片.png


16.4    多VRF技术

16.4.1    优化×××组网结构

图片.png

    在×××的组网结构中,我们将网络分成公网和私网两个部分。公网是指由服务商建设的公共网络,而私网是指用户自己建设的私有网络。同时将网络中的路由器按照在×××网络中的位置区分成以下三种角色:

    ·    CE(Custom Edge Router,用户边缘路由器):直接与公网相连的用户设备;

    ·    PE(Provider Edge Router,服务商边缘路由器):指公网上的边缘路由器,与CE相连;

    ·    P(Provider Router,服务商路由器):指公网上的核心路由器。

图片.png

    传统的×××隧道建立在用户的CE设备之间,隧道的建立维护等工作完全需要由用户自己来完成,每个×××用户的维护工作繁琐且分散,总体维护成本高昂。另一方面,作为专门提供网络服务的网络供应商,他们拥有充足的网络维护资源,但却完全无法感知用户的×××应用,不能提供×××相关的服务,从而无法获得响应的利润。传统×××的这种结构限制了其大规模扩展,无论是用户还是运营商都希望能够将×××隧道的建立维护等工作转移给运营商。


图片.png

    另外一种×××方案是,隧道建立在PE设备之间,隧道的建立维护等工作由运营商来完成,如上图所示。这样,用户能够从繁琐的×××维护工作中解脱出来,运营商也能够从×××维护中获利。

    然而,在以上方案中因为不同的私网用户之间的地址空间可能完全重叠,所以运营商需要为每个×××用户提供一台接入设备,哪怕这两个用户离得再近也不能共用。这种方案称之为专属PE的方式。

    专属PE方式需要运营商为每个×××用户提供专门的设备,硬件成本过于高昂,用户需要向运营商支付较高的费用,无法获得广泛认可。


图片.png

    更优的×××隧道方案是隧道建立在公网的PE之间,每一台公网PE设备还可以同时接入多个×××用户,多个×××用户能够共享一个隧道。这个方案无论从可维护性上,还是从成本上都满足额用户和运营商的需求。然而,由于不同的×××用户可能选用了相同的地址空间,这样会造成PE设备无法区分这些用户的数据流。也就是说,此方案存在着同一台设备上地址冲突的问题。多VRF(Virtual Routing and Forwarding,虚拟路由与转发)技术可以解决这个问题。


16.4.2    多VRF技术实现原理

图片.png

    多VRF技术的目的就是要解决在同一台设备上的地址冲突问题。如上图所示,该PE路由器的两个不同接口,分别接入×××1和×××2用户,而×××1用户和×××2用户都选用了10.0.0.1/24这个网段的地址。在没有多VRF技术的情况下,这两条路由将会在PE上发生冲突,在PE的路由表里面只能保留一条10.0.0.0/24路由。

图片.png

    支持多VRF技术的路由器将一台路由器划分成多个VRF,每个VRF之间互相独立,互不可见,各自拥有独立的路由表项、端口、路由协议等等,每一个VRF就类似一台虚拟的路由器。

    若上图所示,PE1为了能同时接入×××1和×××2这两个地址冲突的私网用户,启用两个VRF,每个VRF与×××相对应,在VRF1里面只看到与×××1相连的接口,只学习×××1的路由;VRF2上也只看到与×××2相连的接口,只学习×××2的路由。这两个VRF各自拥有自己的路由表,VRF1学习到的10.0.0.0/24路由,下一跳指向Eth0/1,这2条路由同时存在于PE1上,互不冲突,互不影响。

    有了支持多个技术的PE设备,就可以实现一台PE接入多个×××用户。


图片.png

    为了加深理解多VRF技术的实现,在此进一步说明多VRF与设备端口的关系。在支持多VRF的PE设备上,需要将和某一个×××用户相连的接口与对应的VRF相绑定。如上图所示,PE1会将Eth0/0与VRF1绑定,而将Eth0/1与VRF2绑定。与VRF绑定后的接口,只会出现在该VRF对应的路由表里面;并且,当报文从该接口进入路由器时,只能查询该VRF对应的路由表进行转发。

    如上图所示,从Eth0/0接口进入路由器的报文,只能查询×××1的路由表进行转发;从Eth0/0接口进入路由器的报文,也只能查询×××2的路由表进行转发。

    多VRF与设备端口的这种关系,确保了数据进入多VRF设备进行转发时,不同×××用户的数据之间不会发生冲突。


图片.png

    在支持多VRF技术的路由器上,不同的VRF运行独立的路由协议,这些路由协议不会交互协议报文,且学习到的路由也放在各自VRF的路由表中,互不影响。实现这种效果需要将各个VRF运行的路由协议与该VRF进行绑定。

    不同的VRF可以选择采用同一种路由协议与×××用户之间交互路由,例如均采用OSPF路由协议;当然也可以选择不同的路由协议。在支持多VRF的路由器上需要运行多个路由协议进程,并将不同的进程与不同的VRF进行绑定,将路由协议的某个进程与某VRF进行绑定的做法称之为路由协议的多实例。

    如上图所示,PE路由器上运行两个OSPF实例。OSPF instance 1和VRF 1进行绑定,与私网×××1用户的路由器CE1建立OSPF邻居;OSPF instance 2和VRF2进行绑定,与私网×××2用户的路由器CE2建立OSPF邻居。此时OSPF instance 1学习到的路由就会收录到VRF1所对应的路由表中,而OSPF instance 2学习到的路由器就只会收录到VRF2所对应的路由表中。

    多VRF和路由协议多实例之间的绑定关系,确保了即使使用不同的×××用户选用相同的地址空间,并与PE设备之间通过路由协议交互路由时,也不会在PE上出现路由冲突。

    目前,绝大多数的路由器设备都能支持路由协议多实例功能,包括OSPF、IS-IS、BGP、RIP、静态路由等。


16.5    MP-BGP技术

16.5.1    MP-BGP技术实现

图片.png

    有了比传统×××更加先进的隧道技术,也有了比传统×××更加合理的×××组网结构,最后只需要一种更加先进的路由协议,用于在PE设备之间交互私网路由信息。纵观各种路由协议,最适合充当这个角色的路由协议是BGP路由协议,因为它有如下两个非常关键的特质,适合用于×××技术中。

    ·    BGP路由协议是基于TCP连接建立路由邻居的,可以实现跨越多台路由器建立BGP邻居,直接交互路由信息。在×××的组网中,就是需要两台PE设备直接交互私网路由,无需经过中间的P设备转达。因为作为隧道中间的P设备,它们无需了解×××的信息;另外,不同×××间地址空间会有重叠,如果这些×××路由都经过P设备转达,P设备上将无法区分。

    ·    BGP路由协议的协议报文是基于TLV结构的,具有扩展属性位,便于携带更多的表明路由特征的信息。也就是说,BGP路由协议可以为×××组网定义一些扩展属性,适应PE之间交互私网路由的需要。这一点对于×××非常重要,因为有了多VRF技术以后,每一台PE设备需要接入多个×××用户,一对PE设备之间交互的私网路由,需要设法携带上某种特征,才能够通知对端PE这些路由信息属于哪一个VRF。

    因为上述的两个特质,BGP路由协议被BGP MPLS ×××技术选用作于穿越公网传递私网路由的路由协议。为了适应×××技术的需要,BGP路由协议进行了一定的扩展,扩展后的BGP路由协议叫着MP-BGP(Multiprootocol BGP),即多协议BGP路由协议。


图片.png

图片.png

图片.png

图片.png

图片.png


16.5.2    Route Target属性

图片.png

图片.png


图片.png


16.5.3    RD前缀

图片.png

图片.png

图片.png


16.5.4    MPLS 私网Label

图片.png


16.6    BGP MPLS ×××基本原理

16.6.1    公网隧道建立

图片.png

    BGP MPLS ×××的实现分为以下四个步骤:

        ·    公网隧道的建立

        ·    本地×××的建立

        ·    私网路由的学习

        ·    私网数据的转发


16.6.2    本地×××的建立

图片.png

图片.png

图片.png

    只是将接口与×××进行绑定,并没有最终完成本地×××的建立,还需要PE设备与本地的×××用户完成私网路由的交互,这样才能让接入到PE上的×××用户知道PE是通往其他分部的出口。

    


16.3.3    私网路由的学习

图片.png

    完成了本地×××的建立,BGP MPLS ×××实现开始了最关键的一个步骤,也就是私网路由的学习过程,这个过程的主角是MP-BGP协议,它的目的是将PE设备在本地×××的建立过程中学习到的本地的私网路由信息通过MP-BGP协议传递给对端PE设备,并且根据用户的×××互访关系的设计,将这些信息存放在对端PE设备的正确的×××路由表中。

    私网路由的学习可以分为两个部分来看,第一步是本地路由的封装,也就是按照MP-BGP协议的原理,在本端PE上对即将传递给对端的私网路由进行一系列的准备工作,最终封装成一个MP-BGP路由更新消息,发送给对端。

    图片.png


16.6.4    私网数据的传递

图片.png



第17章    BGP MPLS ×××配置与故障排除

17.2    BGP MPLS ×××的配置思路

图片.png

    BGP MPLS ×××的配置思路与BGP MPLS ×××的原理完全吻合,与BGP MPLS ×××的实现过程一样,配置也分为以下三个步骤:

    1)配置公网隧道,首先在公网上使能MPLS,建立公网隧道;

    2)配置本地×××,其次就是要根据用户×××的互访关系,设计本地×××;

    3)配置MP-BGP,最后在PE之间建立其MP-BGP邻居,传递私网路由。


17.3    BGP MPLS ×××配置命令

17.3.1    配置公网隧道

图片.png

    在配置公网隧道时,有以下三个关键配置:

    1)配置该LSR设备的LSR ID:LSR ID的格式是一个IP地址,它将用来在MPLS网络中标识这台LSR设备。所以要求LSR设备的LSR ID在MPLS网络中唯一,通常会选用LSR的loopback地址作为其LSR ID。配置方法非常简单,如上图所示,在系统模式下配置。

    2)使能LDP:这一步的配置是要讲一台普通的路由器,转变为一台可以处理MPLS报文,可以进行MPLS标签分配的路由器。当然使能的标签分配协议由用户选用的标签分配协议来决定,不一定是LDP协议,此处以LDP为例,给出配置案例,该部分配置内容也在系统模式下。

    3)接口下使能MPLS和LDP:具体使能某一接口的MPLS报文处理能力和LDP标签分配功能。系统模式下使能MPLS和LDP是接口使能对应功能的前提,只有具体接口使能了MPLS和LDP,该接口才能处理MPLS报文。

    完成上述配置后,如果网络中已经有对应的某一网段的路由,就能自动形成对应的标签转发表项,从而形成对应的隧道。


17.3.2    配置本地×××

图片.png

    配置BGP MPLS ×××的第二步是要建立本地×××,这部分的配置包含两个重要的部分,第一部分是根据用户×××互访关系的要求,给对应的×××设计RT、RD等参数,并在PE上配置该×××;第二部分是将用户接入PE的接口与对应的×××进行绑定,并启动路由协议多实例完成PE和CE之间的本地私网路由交互。

    所以这部分的关键配置如下几步:

    1)创建一个×××:其中×××的名称是一个任意字符串,可以根据用户的特点进行命名,建立尽可能考虑能从名称上识别是哪个用户,以方便维护。

    2)配置RD和RT:这部分首先要根据用户互访需求进行限制,规划完成后方可将规划的RT和RD值配置在该×××视图下。

    3)配置接口与×××绑定:将用户接入的接口与对应的×××进行绑定,方法只需要在对应的接口下配置上图所示的绑定命令。

    4)配置PE与CE之间的路由协议:其中在PE一侧需要将对应的路由实例与对应的×××进行绑定,上图是以OSPF在PE侧的配置为例,将OSPF某一进程与某一×××进行绑定。


17.3.3    配置MP-BGP

图片.png


17.4    BGP MPLS ×××配置示例

17.4.1    网络环境和需求

图片.png


17.4.2    配置BGP MPLS ×××公网隧道

图片.png

    按照BGP MPLS ×××的配置思路,首先在公网上配置MPLS公网隧道,该部分配置包括两个部分:

    1)首先在公网上使能某种IGP路由协议,使得公网设备之间IP互通;

    2)其次在公网上的P和PE设备上使能MPLS和MPLS LDP协议,完成PE设备之间的公网隧道建立。


图片.png

图片.png


17.4.3    配置BGP MPLS ×××本地×××

图片.png

    配置BGP MPLS ×××的第二步是要配置本地×××,该部分配置通常分为以下三个步骤来完成;

    1)创建×××:按照用户互访需求创建×××并配置该×××的RD和RT值;

    2)配置私网接口与×××的绑定:即将PE上用户接入的私网接口与对应的×××进行绑定;

    3)配置PE和CE之间的路由协议:实现PE与本地×××用户之间的路由交互;


图片.png

图片.png

图片.png


17.4.4    配置MP-BGP

图片.png

图片.png

图片.png


17.5    BGP MPLS ×××排查故障

17.5.1    BGP MPLS ×××故障排查思路

图片.png


17.5.2    BGP MPLS ×××故障排查步骤

图片.png

图片.png

图片.png

图片.png


17.5.3    排查本地×××故障的步骤

图片.png

图片.png

图片.png


17.5.4    排查MP-BGP故障的步骤

图片.png

图片.png

图片.png

图片.png


第6篇    增强网络安全性

第18章    增强网络安全性

18.2    网络安全概述

18.2.1    网络安全威胁的来源

图片.png

    实际上,真正使得企业遭受重大损失的安全事件,大部分都是来自于内部。


图片.png

图片.png

图片.png


18.2.2    网络安全范围

图片.png


图片.png

图片.png

图片.png

图片.png

图片.png


18.2.3    安全网络构成

图片.png


图片.png


图片.png


图片.png

图片.png


18.3    业务隔离

18.3.1    局域网业务隔离

图片.png

图片.png


18.3.2    广域网业务隔离

图片.png

图片.png

图片.png


18.4    访问控制

18.4.1    为什么要进行访问控制

图片.png


18.4.2    访问控制的实现手段

图片.png


18.4.3    防火墙技术

图片.png

图片.png

图片.png

图片.png

图片.png


18.5.1    AAA体系结构

图片.png

    AAA是Authenticaiton,Authorizaiton and Accounting(认证、授权和计费)的简称,它提供了一个用来对认证、授权和计费这三种安全功能进行配置的一致性框架,实际上是网络安全的一种管理机制。

    这里的网络安全主要是指访问控制,包括:

    ·    哪些用户可以访问网络服务器;

    ·    具有访问权的用户可以得到哪些服务;

    ·    如何对正在使用网络资源的用户进行计费。

    针对以上问题,AAA支持以下认证方式:

    ·    不认证(none):对用户非常信任,不对其进行合法性检查,一般情况下不采用这种方式。

    ·    本地认证(local):将用户信息(包括本地用户的用户名、密码和各种属性)配置在设备上。本地认证的优点是速度快,可以降低运营成本;缺点是存储信息量受设备硬件条件限制。

    ·    远端认证:支持通过RADIUS协议或HWTACACS协议进行远端认证,由设备(如交换机、路由器)作为Clinet端,与RADIUS服务器或TACACS服务器通信。对于RADIUS协议,可以采用标准或扩展的RADIUS协议,与CAMS等系统配合完成认证。

    ·    授权功能。AAA支持以下授权方式:

        ·    直接授权(none):对用户非常信任,直接授权通过,此时用户的权限为系统的默认权限。

        ·    本地授权(local):根据设备上为本地用户帐号配置的相关属性进行授权。

        ·    HWTACACS授权:由TACACS服务器对用户进行授权。

        ·    RADIUS授权:RADIUS授权是特殊的流程。只有在认证和授权的RADIUS方案相同的条件下,RADIUS授权才起作用,同时将RADIUS认证回应报文中携带的授权信息下发。

    ·    计费功能。AAA支持以下计费方式:

        ·    不计费(none):不对用户计费。

        ·    本地计费(local):本地计费是为了支持本地用户的连接数限制管理,实现了对用户接入数的统计功能;

        ·    远端计费:支持通过RADIUS服务器或TACACS服务器进行远端计费。

    AAA一般采用客户机/服务器结构。客户端运行于被管理的资源侧,服务器上集中存放用户信息。因此,AAA框架具有良好的可扩展性,并且容易实现用户信息的集中管理。AAA可以通过多种协议来实现,目前设备中的AAA是基于RADIUS协议或HWTACACS协议来实现的。


18.5.2    认证授权应用

图片.png


图片.png


图片.png


18.6    传输安全

图片.png

    在一个不安全的环境中传输重要数据时,首先应确保数据的机密性,即防止数据被未获得授权的查看者理解,从而防止信息内容泄漏,保证信息安全性。

    对于数据机密性的保障,需要对数据进行加密。加密算法根据其工作方式的不同,可以分为对称加密算法和非对称加密算法两种。

    在对称加密算法中,通信双方共享一个秘密,作为加密/解密的密钥。这个密钥既可以直接获得的,也可以是通过某种共享的方法推算出来的。由于任何具有这个共享密钥的人都可以对密文进行解密,所以,对称加密算法的安全性安全依赖于密钥本身的安全性。因为对称密钥加密方法执行效率一般比较高,对称密钥加密算法适用于能够安全地交换密钥且传输数据量较大的场合。目前有不少对称密钥加密算法的标准,包括DES、3DES、RC4、AES等。

    非对称加密算法也称为公开密钥算法。此类算法为每个用户分配一对密钥:一个私有密钥和一个公开密钥。私有密钥是保密的,由用户自己保管。公开密钥是公诸与众的,其本身不构成严格的秘密。这两个密钥的产生没有相互关系,也就是说不能利用公开密钥推断出私有密钥,安全性较高。非对称加密算法的弱点在于其速度非常慢,吞吐量低。因此不适宜于大量数据的加密。非对称密钥的算法中最著名和最流行的是RSA和DH。

    在一个不安全的环境中传输数据时,还需要确保数据的完整性,即发觉数据是否被篡改。

    为了保证数据的完整性,通常使用摘要算法(HASH)。采用HASH函数对一段长度可变的数据进行hash计算,会得到一段固定长度的结果,该结果称之为原数据的摘要,也称之为消息验证码(Message Authentication Code,MAC)。摘要中包含了被保护数据的特征,如果该数据稍有变化,都会导致最后计算的摘要不同。另外HASH函数具有单向性。也就是说无法根据结果导出原始输入,因而无法构造一个与原报文有相同摘要的报文。

    数字签名是指使用密码算法对待发的数据进行加密处理,生成一段信息,附着在原文上一起发送,这段信息类似现实中的签名或印章,接收方对其进行验证,判断原文帧伪。

    数字签名技术是在网络虚拟环境中确认身份的重要技术,完全可以大体现实过程中的“亲笔签名”,在技术和法律上有保证。

    数字签名可以保证信息传输的完整性,确认发送者的真实身份并防止交易中的抵赖发生。


18.7    安全防御

18.7.1    使用NAT进行安全防御

图片.png

    NAT(Network Address Translation,网络地址转换)是将IP数据报头中的IP地址转换为另一个IP地址的过程。网络地址转换是对Internet隐藏内部地址,防止内部地址公开。

    在内部网络与Intenret相连的位置使用NAT技术对于网络安全来说有如下的好处:

    ·    内部用户仍然能够透明的访问外部网络,内部用户不会感受到地址转换的存在,在部署了NAT技术后访问外网业务的可用性不会受到影响。

    ·    采用了NAT技术后,发出到外网的数据信息的源地址都经过了转换,内网地址信息被屏蔽掉了,使外部人员无法获致内部网络的信息,也就没有了***的对象。

    ·    采用NAT技术后,内部网络的IP地址在互联网上永远不会被路由,内外网的路由被隔段,外网的主动***无法到达内网。

    ·    在两个内部网络相互连接的时候,采用双向NAT技术,可以避免两个网络的地址互相影响,避免由于地址冲突引发的网络安全问题。

    总之,在与Internet(或其他网络)相连的位置使用NAT(网络地址转换)技术是一种非常行之有效的安全防御手段。


18.7.2    网络***与防御

图片.png

图片.png

图片.png

图片.png


18.7.3    设备安全加固

图片.png

    整个网络是由网络设备和相关线路组成,网络设备的安全是整个网络稳定运行的前提条件。如果网络设备的安全都得不到保证,整个网络的安全也就无从谈起。

    在网络上,对于网络设备的安全威胁主要有以下几个方面:

    ·    对于设备登录安全的威胁。非法用户通过各种方式(比如TELNET、SSH、SNMP等方式)远程登录到设备上,获取对设备部分或全部的控制权,对设备的稳定运行造成威胁,从而威胁到整个网络的稳定运行。

    ·    对于设备管理权限的安全威胁。合法的用户获取到非法的权限,获得对设备更大的操作权限,对设备的稳定运行造成威胁,从而威胁到整个网络的稳定运行。

    ·    对于设备本身的***。利用设备开启的各类服务,比如FTP服务,IP重定向服务等服务,对设备的CPU进行***,使设备无法正常工作,从而威胁到整个网络的稳定运行。

    ·    对于设备资源的安全威胁。非法用户通过大规模消耗设备的相应资源(比如APP表项,MAC表项),导致正常用户享受的服务。

图片.png

图片.png

图片.png

图片.png

图片.png


第7篇    服务质量

第19章    QoS概述

    传统的IP网络仅提供“尽力而为”(Best-Effort)的传输服务。网络有可用资源时就转发数据包,网络可用资源不足时就丢弃数据包。网络设备采用先进先出(First In First Out),不区分业务,也无法对业务传递提供任何可预期和有保障的服务质量。

    新一代互联网承载了语音、视频等实时互动信息,而这些业务对网络的延迟、抖动等情况都非常敏感,因此要求网络在传统服务之外能进一步提供有保证和可预期的服务质量。

    QoS(Quality of Service,服务质量)通过合理的管理和分配网络资源,允许用户的紧急和延迟敏感型业务能获得相对优先的服务,从而在丢包、延迟、抖动和带宽等方面获得可预期的服务水平。


19.2    新一代网络面临的服务质量问题

19.2.1    常见的语音视频质量问题

图片.png


19.3    服务质量的衡量标准

19.3.1    带宽

图片.png

    带宽(Bandwidth)和吞吐量(Throughput)是用于衡量网络传输容量的关键指标。带宽就是单位时间内许可的最×××量,其单位为bps(bit per second)。吞吐量是每秒通过的数据包的个数,其单位为pps(packet per second)。

    对于一条端到端的路径而言,其最大可用带宽等于端到端路径上带宽最低的链路的带宽。

    当然,在每一链路上可能同时传送多个数据流,这些数据流将共同分享链路带宽。因此每个数据流实际可以占用的带宽将小于最大可用带宽。

    对于所有应用而言,带宽总是首要条件。为了使应用能够正常工作,首先必须获得足够的可用带宽。带宽不足将导致网络拥塞,引起丢包、延迟、抖动等一系列问题。


19.3.2    延迟

图片.png

    延迟(Delay)有称为时延,是衡量数据包穿越网络所用时间的指标,通常以毫秒(ms)为单位。延迟是一个综合性的指标,主要由处理延迟和传播延迟组成。

    处理延迟指网络设备从接收到报文到将其提交到出接口准备发出所消耗的时间。其主要包括两部分:

    ·    交换延迟:指报文从接口被交换到出接口所用的时间,这部分延迟主要取决于设备内部处理能力,例如总线带宽和交换板容量等,在设备既定的条件下可以被认为是固定值。

    ·    排队延迟:是指报文在出接口队列中等待和被调度的时间,这部分延迟受网络拥塞情况,调度算法和CPU负载的影响,是一个不确定的值。当网络负载较轻时排队延迟可能很小;但当网络负载较重时,大部分报文都要在队列中排队等候,排队延迟会很大。

    ·    串行化延迟:指报文被发送到链路上时转为串行信号所用的时间。其主要取决于物理接口的速率,速率越大则串行化所用时间越少。

    ·    传输延迟:指物理信号在介质上传输所用的时间。其主要取决于链路的长度和物理性质。比如卫星通信通常就具有很大的传输延迟,而局域网内的传输延迟基本可以忽略不计。

        各种延迟发生作用的位置如图所示。

图片.png


19.3.3    抖动

图片.png

    抖动(Jitter)是描述延迟变化的物理量,是衡量网络延迟稳定性的指标。抖动通常以毫秒(ms)为单位。抖动的数值等于延迟变化量的绝对值。

    抖动产生的原因主要是延迟的随机性。在IP网络环境中,由于分组转发的缘故,同一数据流中相接的两个包可能通过不同的路径到达对端,因而其延迟有可能有相差较大。即使通过相同的路径,网络设备和链路资源的情况也是一个不断变化的因素,这就可能造成延迟的变化性和不可预知性,从而引起较大的抖动。


19.3.4    丢包率

图片.png

    丢包的产生可能来源于传输错误、流量限制、网络拥塞等多种情况。由于传输介质的改进,传输错误造成的丢包已经很少发生了。在因而目前的丢包大部分来自网络拥塞和流量限制。前者是由于带宽资源不足,当队列满之后,设备不得以而对非重要类型数据进行丢弃而发生的;后者由于数据流量超出许可的范围,导致设备对其进行丢弃而发生的。

    丢包的程度通过丢包率来衡量。一段时间内的丢包率等于该段时间内丢弃的报文数量除以该段时间内的全部报文数量。

    丢包率是衡量网络性能状况的另一个重要参数,主要表征报文在网络传输过程的可靠性。对于大多数应用而言,丢包是最为严重的网络问题。因为丢包意味着信息的不完整,甚至会影响整个数据流。对于TCP应用,由于其本身提供了重传确认的机制,发生少量的丢包时可以通过重传进行弥补,但是严重的丢包会导致TCP传输速率的缓慢,甚至完全中断。对于UDP应用,由于UDP本身没有任何确认机制,它不能确定是否丢包,极有可能造成信息的永久缺失。对语音、视频等应用,如果网络出现丢包,它们会宁愿舍弃这些数据包,因为迟到的数据包对这些应用是没有价值的,因此丢包会使这些应用在使用效果上大打折扣。


19.3.5    常规应用对网络服务质量的要求

图片.png


19.4    QoS的功能

19.4.1    提高服务质量的方法

图片.png

    提高服务质量的主要方法包括:

    ·    提高物理带宽:增加物理带宽是缓解带宽不足的最简单方法,比如百兆以太网升级到千兆,OC-48升级到OC-192。但由于涉及硬件升级,这种方法受技术和成本的限制。应用对带宽的需求是无限的,由于计算机网络具有分组交换资源重复的基本特点,不论物理带宽有多高,都仍然可能发生至少是暂时性的拥塞。

    ·    增加缓冲:发送方可以增加缓冲区,在拥塞发生时将来不及发送的报文缓存起来,等资源有富余时再发送;接收方可以增加缓冲区,在抖动较大时等待足够的报文到达后再平滑处理。这种方法可以在一定程度上缓解突发性的拥塞和高抖动,但增加了被缓冲报文的延迟。另一方面,缓冲区总是有限的,当缓冲区满时报文仍然会被丢弃。

    ·    对报文进行压缩:压缩技术减少了数据传输量,效果相当于增加了带宽,同时降低了串行化延迟。但压缩和解压缩操作会加重设备处理负担,引入新的处理延迟。同时压缩的比率无法预先确定,因此不能预期其实施效果。

    ·    优先转发某些数据流的报文:在资源不足时,优先为重要、敏感的应用报文提供服务,而丢弃不重要的应用报文;在重要性相同的情况下,根据需求对各应用按一定比例提供服务。这样既可以照顾敏感应用对延迟和抖动的要求,又可以照顾各类应用对带宽和吞吐量的要求。在物理资源既定的情况下,这是一种合理的解决方案。

    ·    分片和交错发送:在低速链路上,为了避免大尺寸报文的传输长时间占用链路而造成其他报文的延迟,可以将其拆分成若干片段。这种方法可以降低低速链路上重要应用的延迟,降低敏感应用的抖动。


19.4.2    QoS的功能

图片.png

    QoS旨在对网络资源提供更好的管理,以在统计层面上对各种业务提供合理而公平的网络服务。其具体的作用包括以下几个方面:

    ·尽量避免网络拥塞。

    ·在不能避免拥塞时对带宽进行有效管理。

    ·降低IP网络流量。

    ·为特定用户或特定业务提供专用带宽

    ·支撑网络上的实时业务。

        QoS只能使资源的分配更合理,使网络传输变得更有效,而不能创造网络资源。


19.5    Best-Effort模型

19.5.1    Best-Effort模型介绍

图片.png

    Best Effort是最简单的服务模型。报文的转发无需预约资源,网络尽最大可能来发送报文,有资源就发送,没资源就丢弃。网络不区分报文所属的业务类型,对各种业务都不提供任何的延迟和丢包保证。

    Best Effort模型是互联网缺省的服务模型,其通过FIFO(First Input First Output,先入先出)队列来实现,实现最为简单。


19.5.2    FIFO队列

图片.png


19.5.3    Best-Effort模型的特点

图片.png


19.6    DiffServ模型

19.6.1    DiffServ模型介绍

图片.png


19.6.2    Diffserv模型体系结构

图片.png


    Diffserv模型的体系结构如图所示,其主要由下列组件构成:

    ·DS域(Differentiated Services Domain):DS域是一组相邻的DS节点的集合,这些DS节点配置了一致的服务提供策略。DS域的边界由位于边界处的所有DS边界节点构成。

    ·DS边界节(DS Boundary Nodes):DS边界节点负责对进入本DS域的数据进行分类及可能的调节,以保证穿过此DS域的数据流符合约定的速率,其报文的DS代码点被适当标记。

    ·DS内部节点(DS Interior Nodes):位于DS域内的DS内部节点根据报文携带的DS代码点为数据包提供适当的转发行为。

    ·边界链路和内部链路:DS域的边界节点通过边界链路与其他DS域或非DS域相连;一个DS域内部的边界节点和内部节点之间通过内部链路互相连接。

    ·非DS域:指不支持DS服务的网络或节点。

    ·DS区(Differentialted Services Region):DS区由一个或多个相邻的DS域构成,可以沿一系列DS域构成的路径上提供区分服务。DS区中的DS域可能配置了不同的服务提供策略,以及不同的代码点到PHB的映射规则。为了在DS区内的整个路径上提供区分服务,各DS域之间必须建立定义了TCA(Traffic Conditoning Agreement,流量调节协议)的SLA(Service Level Agreement,服务水平协议),以明确如果在DS域边界处对由一个DS域传给另一个DS域的数据进行调节。


图片.png


19.6.3    边界行为

图片.png


19.6.4    无突发令牌桶算法

图片.png


19.6.5    带突发的双令牌桶算法

图片.png

图片.png


19.6.6    主要标记方法

图片.png


19.6.7    IP Precedence

图片.png


19.6.8    DSCP

图片.png


19.6.9    802.1p CoS

图片.png

图片.png


19.6.10 MPLS EXP

图片.png


19.6.11    ×××和丢弃

图片.png

    ×××(Shaping)的目的是使输出的流量更加平滑,并保证其符合SLA。×××可以减少网络流量的突发和振荡,同时也降低丢弃的概率。×××器将超出承诺速率的报文放入一个缓冲区(buffer)中,当资源许可时再发送。缓冲区的存在减少了流量高峰期的丢包,但也会因此引入额外的延迟。缓冲区的空间通常是有限的,如果缓冲区空间不足,则被延迟发送的报文会被丢弃。

    丢弃(Dropping)的目的是限制流量的突发性,并保证其符合SLA。丢弃器对于超出承诺速率的报文直接丢弃。这虽然不利于平滑网络流量,但避免了额外引入的延迟,降低了资源的消耗。这种操作也称为流量监管(Traffic Policing)。


19.6.12    PHB

图片.png

    PHB(Per-hop Behavior,逐跳行为)指DS节点对行为聚合应用的可由外部观测到的转发行为。PHB是DS节点对行为聚合分配资源的方法。

    PHB可以通过占用带宽、缓冲等资源的优先级来定义,也可以通过延迟、抖动等可观测的特性来定义。一个典型的PHB例子是为某两地之间的数据流保留5%的链路带宽。

    PHB具有单跳性和独立性的特点,它规定了行为聚合在DS节点处获得怎样的服务。每个节点具有独立的PHB策略,各节点、各域之间互相没有影响。这也是Diffserv模型具有良好扩展性的原因之一。

    在DS节点上,PHB是通过一定的缓冲区管理和分组调度策略实现的。DS节点根据入站报文携带的标记为其提供适当的PHB。一个DS节点可以实现多种PHB。代码点到PHB的映射关系可以是一对一的,也可以是多对一的。


图片.png

图片.png


19.7    IntServ模型

19.7.1    IntServ模型介绍

图片.png

    IntServ(Integrated Service,综合服务)模型由RFC 1633所定义,它可以满足多种QoS需求。在这种模型中,节点在发送报文前,需要向网络申请所需资源。这个请求是通过RSVP(Resource Reservation Protocol,资源预留协议)信令来完成。

    IntServ可以提供以下两种服务:

    ·保证服务:它提供保证的带宽和延迟来满足应用程序的要求。

    ·负载控制服务:它保证即使在网络过载的情况下,也能对报文提供与网络未过载时类似的服务。即在网络拥塞的情况下,也可以保证某些应用程序报文的低延迟和优先通过。


19.7.2    IntServ体系结构

图片.png

    IntServ模型的范围既涵盖了网络设备也涵盖了主机,因而是一种端到端的服务。该模型要求数据流向上的每一跳设备都为每一个流单独预留资源,同时在每一个流进行资源申请时进行准入控制。

    在发送数据之前,终端节点应用程序首先将其流量参数和需要的特定服务质量以信令向网络发起请求,这些参数包括带宽、延迟等。网络在收到应用程序的资源请求后,执行资源分配检查,即基于应用程序的资源申请和网络现有的资源情况,判断是否为应用程序分配资源。一旦网络确认认为应用程序的资源申请和网络现有的资源情况,判断是否为应用程序分配资源。一旦网络确认为应用程序分配资源,则网络将为这个流(Flow,由两端节点的IP地址、端口号、协议号确定)维护一个状态,并基于这个状态执行报文的分类、流量监管、排队及其调度。收到网络确认已预留资源的消息后,终端节点应用程序才开始发送报文。只要该数据流的流量在流量参数描述的范围内,网络就会承诺满足应用程序的QoS需求。


19.7.3    RSVP介绍

图片.png

    RSVP(Resource Reservation Protocol,资源预留协议)是为IntServ模型设计的信令协议,用于在一条路径的各节点上进行资源预留。RSVP工作在传输层,但只用于信息的传递,而不参与应用数据的传送,是一种Internet上的控制协议。

    简单来说,RSVP具有以下主要特点:

    ·资源的申请具有单向性,即一对通信节点间可以在单方向申请资源,双向的资源申请需独立进行。

    ·由接收者发起对资源预留的请求,并维护资源预留信息;

    ·使用“软状态”(soft state)机制维护资源预留信息。

        路由器在为每一条流进行资源预留时会沿着数据传输方向逐跳发送资源请求报文(Path消息),其中包含了自身对于带宽、延迟等参数的需求信息。收到请求的路由器在进行记录后再将Path消息发向下一跳。当报文到达目的地后,由接收端反向逐条发送资源预留报文(Resv消息)给沿途的路由器进行资源预留。


19.7.4    IntServ模型的特点

图片.png

19.7.5    IntServ模型的主要应用

图片.png


第20章    配置QoS边界行为

    DS域(DS Domain)内的节点可分为边界节点和内部节点。DS边界节点负责区分和标记用户数据,并根据SLA/TCA对数据进行一定的调节。内部节点依据标记按照特定的PHB进行转发。


20.2    分类

20.2.1    分类的实现

图片.png

    在DS模型中,一个行为聚合(Behavior Aggregate,BA)中的流在转发时将应用同一个PHB(Per-hop Behavior,逐跳行为),因此将获得相同的QoS服务。分类的目的就是将符合条件的数据流划分到相应的BA中,以便于后续的QoS机制做进一步处理。

    H3C路由器和交换机支持两类分类机制,允许依据丰富的条件对报文进行分类:

    ·自动分类:在接口上可以配置信任端口优先级或信任报文优先级。信任端口优先级时将从本端口进入的所有报文归为一类。信任报文优先级时可以配置为依据报文携带的CoS、IP Precedence、DSCP或MPLS EXP等优先级标记对其划分类别。

    ·手动分类:通用引用ACL等手段匹配报文的不同字段,以便依据报文的2-7层信息进行分类,这些信息包括MAC地址、VLAN号、IP地址、协议类型、传输层端口号、COS、IP Precedence、DSCP或MPLS EXP等。


20.3    流量监管

20.3.1    流量监管的实现

图片.png


20.3.2    CAR的位置

图片.png


20.3.3    CAR的原理

图片.png



20.3.4    配置CAR实现流量监管

图片.png


图片.png


20.4    标记

20.4.1    标记的实现

图片.png


20.4.2    映射表标记的原理

图片.png


20.4.3    CAR标记的原理

图片.png


20.4.4    标记的配置

图片.png


20.5    流量×××

20.5.1    流量×××的实现

图片.png


20.5.2    GTS的位置

图片.png


20.5.3     GTS的原理

图片.png


图片.png


20.5.4    配置GTS实现流量×××

图片.png

图片.png


20.6    接口限速

20.6.1    接口限速介绍

图片.png


20.6.2    接口限速的原理

图片.png


20.6.3    接口限速的配置

图片.png


20.7    流量监管/×××配置示例

图片.png

图片.png


第21章    基本拥塞管理

    所谓拥塞,是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象。拥塞有可能会引发一系列的负面影响。

    在拥塞发生时保证重要数据的正常传送,是QoS的主要功能之一,也是一类最重要的PHB,相关的技术成为拥塞管理技术。


21.2    拥塞管理概述

21.2.1    拥塞与拥塞管理

图片.png

    网络的设备在某个时间内接收到的数据总量可能会超过设备转发接口的转发能力,从而导致拥塞的发生。比如,若路由器的告诉以太网连接到一个局域网,通过低速的WAN链路连接Internet,当局域网内有大量用户访问Internet时,路由器的WAN链路的出方向将会发生拥塞。交换机设备也可能存在上行带宽不够而发生拥塞问题,比如若接口1和接口2接入的用户都需要通过接口3上行访问部门服务器,接口3与接口1和2速率相同,这样当大量用户同时访问服务器时可能导致接口3发生拥塞。

    拥塞有可能会引发一系列的负面影响:

    ·    拥塞增加了报文传输的延迟和抖动,可能会引起报文重传,从而导致更多的拥塞产生;

    ·    拥塞使网络的有效吞吐率降低,造成网络资源的利用率降低。

    ·    拥塞加剧会耗费大量的网络资源(特别是存储资源),不合理的资源分配甚至可能导致系统陷入资源死锁而崩溃。

    拥塞管理是指在网络发生拥塞时,进行管理和控制,合理分配资源。处理的方法是使用队列技术,将报文一定的策略缓存在队列中,然后按一定调度策略把报文从队列中取出,在接口上发送出去。不同的队列调度算法解决不同的问题,并产生不同的效用。


21.2.2    路由器拥塞管理

图片.png

    对于路由器设备,路由器的每个网络接口都有一个物理的发送队列,在被发送出接口之前,报文在发送队列缓存。网络接口接收的数据流量经过转发进程处理后被送到转发出接口。如果该接口发送队列不满(不拥塞),则该报文直接转入发送队列转发。否则进入软件队列缓存,软件队列包括系统队列和用户队列,软件队列的调度策略决定哪些报文可以进入发送队列进行转发。

    系统队列包括紧急和协议队列,在拥塞时分别用来发送链路控制和路由协议报文。系统队列的优先级高于一般用户队列。需发送链路控制和路由协议报文时,可能正好遇到发送队列满而导致发送失败,此时报文入紧急队列或协议队列缓存,等待后续发送。

    用户队列是指提供给用户使用的,对各种业务流量进行拥塞管理的队列技术。路由器常用的用户队列有FIFO、PQ、RTPQ、WFQ、CBQ等队列,默认使用FIFO队列,用户可以通过命令配置自己需要的用户队列。交换机的SP、WRR等队列也可以理解为用户队列。

注意:

    在Tunnel接口、子接口,或者封装了PPPoE、PPPoA、PPPoEoA、PPPoFR协议的VT、Dialer接口上,要使队列生效,需使能LR功能。


21.2.3    交换机拥塞管理

图片.png


    相对于路由器产品,交换机处理的业务具有流量大、带宽高的特点。因此交换机QoS要求告诉硬件处理,通常采用芯片实现QoS队列。芯片中的队列不能像软件一样灵活扩展,通常是固定数目的。交换机通常通过二层头识别数据类,因此主要参照802.1p标记,三层交换机也可以识别DSCP等三层标记。

    交换机设备收到数据报文,先经过转发进程处理,然后根据优先级的信任规则,查找QoS映射表,将报文映射到本地队列。比如信任报文的DSCP优先级,就根据报文的DSCP优先级标记,查找DSCP到本地优先级的映射表,根据映射结果对报文进行本地优先级标记。报文的本优先级和本地队列是一一对应的关系。

    交换机的拥塞管理过程由芯片硬件实现,因此处理效率高,可以实现报文的线速转发,但其支持的队列类型却没有路由器那么丰富。交换机上常用的队列有SP、WRR、HWFQ等。默认使用的队列类型依产品型号的不同有所区别,比如有的产品默认使用SP队列,有的默认使用WRR队列。

注意:

    交换机的本地队列数与硬件有关,不同设备、不同芯片支持的队列数可能不同。


21.3    路由器拥塞管理

21.3.1    FIFO队列原理

图片.png

    FIFO(First In First Out Queuing,先入先出队列)仅提供一个队列,所有报文按到达转发接口的时间先后顺序入队列,队列长度达到最大值后,后续报文被丢弃。

    队列调度时,首先看系统队列是否为空,如果不空,则先发送系统队列报文;如果系统队列空,则按报文入队列的时间顺序,先入先出地发送FIFO队列报文。

    FIFO队列具有处理简单,开销小等优点。但FIFO不区分报文类型尽力而为的转发模式,使对时间敏感的实时应用(如VoIP)的延迟得不到保证,关键业务的带宽也不能得到保证。


21.3.2    FIFO队列配置

图片.png


21.3.3    FIFO队列显示

图片.png


21.3.4    PQ队列原理

图片.png

    PQ(Priority Queuing,优先队列)是针对关键业务设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以降低延迟、抖动和丢包率。

    PQ队列提供4个队列,分别为top(高优先级队列)、middle(中优先队列)、normal(正常优先队列)和bootom(低优先队列),它们的优先级依次降低。在队列调度时,PQ严格按照优先级从高到低的次序,优先发送较高优先级队列中的报文,保证较高优先级报文的利益。

    PQ允许根据报文的协议类型、数据流入接口、长度、源地址/目的地址等灵活地指定其优先次序。PQ数据包与定义的优先级次序规则进行匹配,根据匹配结果将其送入对应的队列;如果所有规则都不匹配,则将其送入缺省队列。默认情况下,缺省队列是正常优先队列。

    PQ对其4个队列均使用尾丢弃策略。即队列满后,后续报文做丢弃处理。


21.3.5    PQ队列调度

图片.png

21.3.6    PQ队列配置

图片.png


    PQ队列的配置过程主要分两部分:

    ·    配置PQL(Priority Queue List,优先队列列表):系统预定义了16个PQL,用户可以选择其中的一个来配置自己需要的优先队列。配置内容包括:

    ·    PQ各队列的匹配规则。

    ·    各队列的长度

    ·    缺省队列。

    ·    PQ队列应用到接口:引用配置好的PQL,在接口应用PQ队列。系统预定义的PQL中没有分类规则,将其应用到接口后,所有报文都入缺省队列。


图片.png

图片.png


21.3.7    PQ队列信息显示

图片.png


21.3.8    PQ队列配置示例

图片.png


21.3.9    CQ队列原理

图片.png


21.3.10    CQ队列调度

图片.png


21.3.11    CQ队列配置任务

图片.png


21.3.12 CQ队列配置

图片.png


图片.png


21.3.13    CQ队列信息显示

图片.png


21.3.14    CQ队列配置示例

图片.png


21.3.15    WFQ队列原理

图片.png


21.3.16    WFQ入队机制

图片.png


21.3.17    WFQ队列调度

图片.png


21.3.18    WFQ队列特点

图片.png


21.3.19    WFQ队列配置与显示

图片.png


21.3.20    RTPQ队列原理

图片.png


21.3.21    RTPQ队列调度

图片.png


21.3.22    RTPQ队列的配置与显示

图片.png


21.3.23    RTPQ配置示例

图片.png


21.4    交换机拥塞管理

21.4.1    优先级映射

图片.png


21.4.2    SP队列调度

图片.png


21.4.3    WRR队列调度

图片.png


21.4.4    SP和WRR队列混合调度

图片.png

图片.png


21.4.5    交换机队列的配置和显示命令介绍

图片.png

图片.png

图片.png

图片.png


21.4.6    交换机队列配置示例

图片.png


第22章    配置拥塞避免机制

    当拥塞发生时,利用队列技术实现的拥塞管理机制可以对报文进行区分,并根据定义的规则提供服务。然而这种机制发挥作用的前提是所有的报文都能够被恰当的送入特定的队列。而当队列被填满时,所有后续到达的报文都会被无差别的丢弃,此时队列机制完全失效。同时这种从队列尾部开始的截断性丢弃还会导致一系列严重的问题。

    拥塞避免机制可以在相当程度上缓解或避免这种情况的发生。


22.2    尾丢弃及其导致的问题

    22.2.1    尾丢弃及其导致的问题

图片.png

    当队列被填满时,所有后续到来的报文都会因无法入队而丢弃,这种从队尾开始的丢弃方式被称为“尾丢弃”(Tail-drop)。尾丢弃是一种截断性的丢弃方式,不对报文进行任何方式的区分。

    尾丢弃带来的结果是高延迟、高抖动、丧失服务保证、TCP全局同步和TCP饿死等一系列问题。从而导致应用超时、数据重传和业务不可用等种种后果。数据超时重传的结果是进一步地加剧网络拥塞。


22.2.2    TCP全局同步

图片.png

    尾丢弃带来的最重要的问题就是TCP全局同步。

    队列满时,所有报文在队尾被全部丢弃。这种没有差别的丢弃会造成所有TCP流的报文几乎在同一时刻丢失,TCP又几乎在同一时刻重传。

    TCP在丢失报文时会自动缩小窗口尺寸。因而所有TCP连接的窗口会在几乎同一时刻缩小。这样链路带宽会突然变得充足,因而TCP连接也会逐渐增大其窗口,这也几乎是同时发生的。窗口增大后,流量会急剧增加,从而再次造成拥塞。这样将造成所有TCP连接的流量以相同的“频率”持续振荡。这种现象称为TCP全局同步。

    TCP全局同步的结果是TCP传输效率急剧下降,并且带宽的平均利用率大大降低。


22.2.3    解决尾丢弃的方法

图片.png

    增加队列的长度可以缓存更多的报文,因而降低了流量的突发性,减少尾丢弃的概率。但单纯增加队列长度并不能从根本上解决TCP同步的问题:

    队列长度的增加是有限的,因而只能在有限范围内发挥作用,当流量比较大时这种方法几乎无效。

    增加队列长度的同时也加大了报文的平均延迟和抖动,这对某些应用是有害的。对实时业务而言,过大的延迟与丢包是等效的。

    TCP全局同步的根本原因是所有报文在同一时刻被无差别的丢弃。因此如果在尾丢弃发生前,使不同TCP连接的报文在不同时刻被丢弃,则各个TCP连接的流量振荡就不会同步。


22.3    RED原理

    22.3.1    RED介绍

图片.png    

    RED(Random Early Detection,随机早期检测)技术的出现较好地解决了TCP全局同步的问题。它的做法是在队列被填满前就开始丢弃报文,并且随着队列长度的增加(拥塞发生的可能性增加)报文被丢弃的概率会越来越大,当超过一个最大丢弃概率时再全部丢弃到来的报文。

    RED的特点在于“早期”和“随机”。早期表示丢失是在拥塞发生之前就开始进行的,这就意味着报文不必全部丢弃而可以有所“选择”。而随机则表明了这种丢弃行为是报文而不是以流为单位“无规律”进行的。随机和早期的特点决定了所有TCP流的报文为单位,对于那些占据大量带宽的非TCP的“野蛮”流来讲,被丢弃的概率会更大,因而大大降低了TCP饿死的概率。


22.3.2    RED的参数和行为

图片.png

图片.png


22.3.3    RED的效果

图片.png


22.4    WRED的原理

22.4.1    WRED介绍

图片.png

    虽然RED很好的解决了TCP全局同步和饿死等问题,但由于其不能感知业务类型,对报文的丢弃不分轻重缓急,因此并没有解决重要和紧急报文被丢弃的问题。

    WRED(Weighted RED,加权随机早期检测)技术较好的解决了上述问题。它允许为不同优先级的报文配置不同的RED参数,从而保证了不同重要程度的报文获得不同的服务。目前WRED可以利用DSCP和IP Precedence来区分数据。


22.4.2    基于IP Precedence的WRED参数和行为

图片.png


22.4.3    基于DSCP的WRED参数和行为

图片.png


22.4.4    WRED的效果

图片.png


22.5    配置WRED

    22.5.1    基于接口的WRED配置命令

图片.png


22.5.2    基于队列的WRED表配置命令

图片.png


22.5.3    WRED参数的意义

图片.png


22.5.4    WRED显示和维护命令

图片.png


22.5.5    WRED配置示例

图片.png

图片.png

图片.png


第23章    高级QoS管理工具

    CAR、GTS、PQ、CQ、WFQ、WRED等传统的QoS工具能够实现标记、流量监管、流量×××、拥塞管理、拥塞避免等各种QoS功能。但这些工具的配置互相独立,各有不同,不便于记忆和使用。

    作为一种高级的QoS管理工具,QoS policy通过使用MQC(Modular QoS Configuration,模块化QoS配置),将数据类型的定义与QoS动作的定义相分离,提高了配置的标准化和灵活性。其不仅可以作为任意类型的数据提供任意类型的QoS服务,而且允许复用类和动作的配置。


23.2    QoS Policy概述

23.2.1    QoS Policy介绍

图片.png

    QoS policy包含三个要素:类(classifier)、行为(behavior)、策略(policy)。用户可以通过QoS策略将指定的类和行为绑定起来,方便地进行QoS配置。

    类是用户定义的一系列规则的集合,系统通过将报文与类中的规则进行匹配,根据匹配结果对报文进行分类。

    行为定义了针对报文所做的QoS动作。策略则用来将指定的类和行为绑定起来,并对分类后的报文执行行为中定义的动作。

    用户可以在一个策略中定义多个类与行为的绑定关系。这样,系统就可以根据QoS policy对从属于其中某一类的数据施加相应的行为。

    使用QoS policy可以实现分类、标记、×××、监管、拥塞管理、拥塞避免、统计、镜像、访问控制、深度应用识别等多种QoS功能。


图片.png

    每个QoS policy包含若干条目。每个条目为一个C-B(Class-Behavior)对,包含一个类和一个对应的行为。

    QoS policy被应用后,报文按条目的先后顺序尝试匹配其分类规则。匹配某类后则执行对应的行为。一个行为可以包含多个动作,依次将其执行完毕后,将结束QoS policy对此报文的处理,不再继续匹配其他条目。若不匹配某类,则继续尝试匹配其他类。对于路由器产品,若不匹配任何类,则被认为属于缺省类,系统将对其实施缺省行为。


23.2.2    QoS Policy配置任务

图片.png

    使用QoS policy配置QoS的过程如上图所示:

    ·    首先需要定义类,在类中配置需要的分类规则;

    ·    然后定义行为,在行为中定义需要的QoS动作。可以根据需要定义多个类及其对应的行为。

    ·    随后定义为QoS policy,在QoS policy中添加条目,引用定义的类与行为,完成类与行为的绑定。

    ·    QoS policy定义完成后,可以根据需要在适当的位置应用之。

    QoS policy常见的应用位置有:

    ·    基于接口(或PVC)进行应用QoS policy:对通过接口(或PCV)接收/发送的流量生效。

    ·    基于上线用户应用QoS policy:对通过上线用户接收/发送的流量生效。

    ·    基于VLAN应用QoS policy:对通过同一个VLAN内所有接口接收/发送的流量生效。

    ·    基于全局应用QoS policy:对所有数据流量生效。

    ·    基于控制平面应用QoS policy:对通过控制平面接收/发送的流量生效。

    注意:如果QoS policy应用在出方向,则QoS policy对本地协议报文不起作用。本地协议报文是设备内部发起的。常见的本地协议报文有链路维护报文、IS-IS、OSPF、BGP、LDP、RSVP、SSH报文等。为了确保这些报文能够被不受影响的发送出去,即便在出方向应用了QoS policy,其也不会受到QoS policy的限制,从而降低了因QoS误配置而将这些报文丢弃或对其提供低等级服务的风险。


23.2.3    类的定义

图片.png

    类分为系统定义类和用户定义类两种。

    系统定义类是系统预先定义好的类,系统为这些类定义了通用的规则。定义QoS policy时可直接引用这些类。这些类包括:

    ·缺省类:类名为default-class,不匹配QoS policy中其它任何分类的报文将被归入缺省类;

    ·基于DSCP的预定义类:包括ef、af1、af2、af3、af4,分别匹配IP DSCP值ef、af1、af2、af3、af4。

    ·基于IP Precedence的预定义类:包括ip-prec0、ip-prec1、…Ip-prec7,分配匹配IP Precedence0、1、…7。

    ·基于MPLS EXP的预定义类:包括mpls-exp0、mpls-exp1、…mpls-exp7,分别匹配MPLS EXP值0、1、7

    用户不能修改或删除系统定义的类。

    用户定义类由用户创建并维护。用户可以根据下列标准定义用户类:

    ·    根据ACL分类;

    ·    匹配所有的数据报文

    ·    根据协议类型分类

    ·    根据报文二层信息分类

    ·    根据报文三层信息分类

    ·    根据各类优先级、标志位分类

    ·    根据报文接收接口分类

    ·    根据MPLS标签分类


图片.png


图片.png


图片.png

图片.png


23.2.4    行为的定义

图片.png

图片.png

    在QoS policy中,一个行为可以包含多个QoS动作。这些动作依据特定的顺序被执行。

    路由器软件的QoS动作顺序依次为:流过滤、重标记、流量监管、流量×××、拥塞管理。硬件QoS动作的支持情况以及执行顺序与具体的产品相关。

    图片.png

图片.png



23.2.5    QoS policy

图片.png

图片.png


23.2.6    QoS Policy配置示例

图片.png


23.2.7    基于VLAN的QoS Policy

图片.png


    QoS policy应于VLAN后,会对VLAN内所有端口上匹配规则的流量生效。


23.3    CBQ介绍

23.3.1    CBQ概述

图片.png

    CBQ(Class Based Queuing,基于类的队列)是一种基于QoS policy实现的拥塞管理技术。在网络拥塞时,CBQ对报文根据用户定义的类规则进行匹配,并使其进入相应的队列。

    CBQ中包含一个LLQ(Low Latency Queuing,低延迟队列),用来支撑EF(Expedited Forwarding,确保转发)类业务,保证每一个队列的带宽及可控的延迟。

    CBQ中还包含一个缺省队列,对应缺省分类,用于为缺省的BE(Best Effort,尽力传送)类业务提供服务。其使用WFQ队列调度,利用接口剩余带宽进行发送。


23.3.2    CBQ入队列处理

图片.png


23.3.3    CBQ队列调度

图片.png


图片.png


23.3.4    QoS预留带宽

图片.png


图片.png


23.3.5    CBQ的配置过程

图片.png


23.3.6    系统定义的CBQ

图片.png


23.3.7    CBQ队列配置

图片.png


图片.png


23.3.8    CBQ信息显示

图片.png图片.png


23.4    基于QoS policy的其它QoS功能介绍

    QoS policy不仅可以实现CBQ,依托其丰富的分类规则和QoS动作,以及灵活的配置方式,还可以实现包括CBPolicing(基于类的流量监管)、CBShaping(基于类的×××)、CBMarking(基于类的标记)等在内的诸多QoS功能。


23.4.1    基于QoS policy的监管与×××配置示例

图片.png


23.4.2    基于QoS policy的MPLS QoS配置示例

图片.png


图片.png

图片.png

图片.png


第24章    链路有效增强机制

    QoS的实质是一种带宽管理技术,它本身并不能创造带宽,而只是更加合理的利用带宽。在一些低速链路上,由于传输速率与数据流量的差距过大,尽管采用了一些带宽管理技术,仍有可能无法满足业务的需求。此时,一方面可以通过升级硬件来提高链路的数据传输能力,另一方面可以利用压缩技术来降低数据传输量,从而达到提升吞吐量的目的。

    低速链路的另一个问题就是串行化延迟过长带来的阻塞。当一个大报文被串行化到链路上时,其后续的小报文会较长时间的处于等待状态,当这个等待时间足够长时就会导致小包业务的超时或可用性下降。解决的办法就是利用LFI(Link Fragmentaion & Interieaving,链路分片与交错)技术,将一个大报文分成若干个小片并与其他的小报文交错在一起发送,从而减少其他业务的等待时间。


24.2    压缩的必要性

24.2.1    为什么需要压缩

图片.png

    数据通信本身的特点决定了线路上传输的数据不可能全部都是有效载荷。报文的头(和尾)对网络传输有用而对用户应用而言是无用的信息。

    对某些小报文应用来说,报文头作为非有效载荷占据了很大一部分带宽。以VoIP报文为例,为了保持实时性,必须间隔很短的时间就发送一个报文,每个报文的语言载荷都较小,典型的载荷长度为20byte-160byte。一个20byte的语音报文被封装了46byte的报文头,包括IP头、UPD头、RTP头。此外,对一个特定的数据流而言,其报文头的信息变化较少。在这种情况下,有效载荷实际上只占到23%,绝大部分的带宽被冗余信息所占据。这不仅造成带宽的大量浪费,也导致语音报文的延迟显著加大。

    此外,即使在作为净载荷的用户数据中也存在大量相同的字符串。这些对于带宽紧张的低速链路来讲也是某种程度的“浪费”。为了减少网络流量和延迟,也应当尽可能的对载荷数据进行压缩。

    对报文头和载荷的压缩减少了需要传递的数据量,从而间接增大了链路吞吐量。


24.2.2    压缩的可行性

图片.png

    依据其在传输中的变化情况,报文头中的信息可以分为以下几类:

    不变部分包括报文的源/目的IP地址、源/目的端口号、协议号、版本信息等。这些内容在传递过程中保持不变,因此在会话初始时传递一次即可。

    ·规律变化部分包括Packet ID、Sequence Number等内容。这些内容在传递过程中以简单规律变化(如单调递增),因此只需要在会话之初传递一次,之后每次传递一个变化量即可。

    ·运算可获得部分包括IP包长、校验和等。IP包长可以依据报文头尾计算获得,而三层校验和可以不同传递,依靠二层校验和来保证正确性。

    ·不规律变化部分是指报文头中随机变化的字段,这些字段没有变化规律,因此需要完整传递。

        载荷中的大量重复字符串也可以进行压缩,方法是对重复出现字符串的位置用第一个字符串的偏移量和字符长度来代替。


24.3    IP头压缩

24.3.1    头压缩算法

图片.png


24.3.2    头压缩的实现

图片.png


24.3.3    头压缩的效果

图片.png


图片.png


24.3.4    IPHC头压缩配置命令

图片.png


图片.png


24.4    分片和交错

24.4.1    低速链路的延迟和抖动问题

图片.png


24.4.2    LFI原理

图片.png


24.4.3    配置LFI

图片.png


24.4.4    配置示例

图片.png


第9篇    开放应用体系架构

第25章    开放应用体系架构

    随着各种业务不断地融入传统数据通讯网络,以及对网络安全性、可管理性要求的不断提高,用户需要网络设备在转发数据包之外提供更多、更复杂、更灵活的服务。例如,用户需要网络设备能够接入电话和传真、统计和计费,防范网络***、防病毒、流量监管和调整等。这一切都对网络设备提出了更高的要求。

    在传统网络中,上述功能由专用设备来独立完成。但出于降低网络建设、管理、维护成本的考虑,用户往往希望能够在一台设备上完成多种功能。另外,还有很多用户对网络服务有个性化的需求,而往往一家独大的技术厂商很难同时提供客户所要求的所有需求和服务。

    面对这样的情况,H3C提出了一个开放的软硬件体系结构——OAA(Open Application Architecture,开放应用体系架构)。OAA允许对传统的路由交换设备进行二次开发,满足客户的多样化需求;允许众多厂商生产的设备和软件无缝集成在一起,像一台设备那样工作。


25.2    OAA概述

25.2.1    OAA架构简介

图片.png

    传统网络模式最大的特点就是分工合作,客户根据需求选择不同的网络设备,然后将它们通过IP网络连接而成。比如选择路由器完成基本路由、连接异构网络功能;交换机可以提供高密度、告诉主机接入;语音服务器、AAA服务器提供语音管理、认证计费等功能;防火墙提供基本安全功能;网管系统提供集中化设备监控、管理功能。

    如果客户有新的需求,比如在连接广域网的路由器上实现应用加速,在网管平台集成网络流量分析,在防火墙上新增网络杀毒应用,往往很难实现。一方面因为部分网络设备是为1-3层功能、性能而设计的,而应用加速、网络流量分析、网络杀毒则要求网络设备具备深度4-7层分析处理能力,而即使原有网络设备实现了这些4-7层功能,也会占用网络设备过多资源,从而影响网络设备的1-3层功能和性能;另一方面因为这些网络设备往往架构封闭,新增功能只能由厂商开发、编译、加载、客户要求的新功能也不是厂商的专长,开发的新功能往往不能完全符合客户业务需求。


图片.png


    针对这种情况,H3C及时地提出OAA开放应用体系架构,该架构的特点在于不影响网络设备固有1-3层功能、性能的同时,提供开放接口实现深度4-7层扩展。

    OAA架构主要分为3个组成部分:

    ·路由交换组件:路由交换组件是网络设备主体部分,这部分有完整的路由器或交换机的功能,也是用户管理控制的核心。    

    ·独立业务组件:独立业务组件是OAA架构的核心部分,是可以开放给第三方合作开发的主体,主要用来提供各种独特的业务服务功能。

    ·接口连接组件:接口连接组件是网络设备和独立业务组件的连接器件,它使各组件形成一个统一的产品。

    独立业务组件可以分为硬件平台、软件平台和特色业务3个平面,每个层面都是开放、标准的规范接口,可以进行灵活的二次开发。比如擅长硬件开发的第三方可以根据OAA规范开发独立业务组件的硬件平台部分,擅长软件平台开发的第三方可以在标准OAA硬件平台上开发软件平台,擅长业务集成开发的第三方以在OAA标准软件平台上开发特色业务。


图片.png

    OAA架构优势在于全面的1-7层解决方案定制能力,使得网络设备的扩展能力大增。

    传统网络的优势在于丰富的1-3层特性,附带一定的4层特性和简单的应用,但是4层以上特性扩展能力相对较弱。基于OAA架构的网络设备在1-3层功能特性和性能上与传统网络设备相当,同时通过开放的独立业务组件而实现深度4-7层扩展。这种开放式的架构不但使网络设备厂商可以更加方便的集成更多高层特性,也有利于和第三方深度合作,共同开发符合市场需求的特性;甚至用户也可以根据自身需要而在OAA平台上进行灵活的二次开发。


25.2.2    开放业务平台(OAP)

图片.png

    开放应用平台OAP(Open Application Platform)是H3C根据OAA架构规范而实现的具体产品平台。OAP实现了OAA架构中的独立业务组件功能,包括硬件平台、软件平台和特色业务。OAP平台具有开放的软硬件接口、强大的数据处理能力以及灵活的工作模式等特点。

    通过OAP这个开放业务平台,H3C可以向客户提供特定的业务功能;也可以和第三方合作进行开发共同对客户提供完整的业务;当然,用户也可以根据需要在软件平台上进行二次业务开发。所有的一切都不影响传统路由交换组件的自身功能。


图片.png


25.3    OAA工作模式

25.3.1    主机模式

图片.png

    OAP可以被二次开发为各种不同的业务系统,可以满足各种业务特性需求。根据路由交换组件和业务组件之间的数据交互方式的不同,OAP提供了4种工作模式:主机模式、镜像模式、重定向模式和透明模式(也称为桥接模式)

    在主机模式下,独立业务系统像网络上的一台主机一样工作,拥有自己的IP地址,作为网络末梢存在。IP报文是通过路由交换组件连接独立业务组件的高速数据通道转发,路由交换部件相当于独立业务系统的网关。路由交换部件收到数据报文后,如果判断出数据需要送给OAP模块处理(目的IP地址为OAP模块地址),则将此数据转发给OAP模块,OAP模块处理完成后,将回应的报文返回路由交换组件,由路由交换部件将报文发送给相应的目的地。这种工作模式下,路由交换部件和独立业务组件间的藕合是最松的。

    主机模式适合语音服务器、AAA服务器等应用。例如,当OAP模块上集成了AAA服务器应用,则当认证请求报文到达网络设备后,网络设备根据路由信息将认证请求报文转发给OAP模块;OAP模块上的AAA服务器根据认证请求报文中携带的用户信息判断认证是否通过,通过则返回正确授权报文,不通过则返回认证拒绝报文。不管是授权报文还是拒绝报文都转交给网络设备,网络设备收到报文后根据路由/转发信息选择正确的出接口转发报文。


25.3.2    镜像模式

图片.png

    镜像模式下,路由交换部件根据要求,把特定的报文复制一份给独立业务组件,原始报文继续完成正常的转发。而独立业务组件收到这个报文以后进行分析和处理,然后将报文丢弃。当然路由交换组件和独立业务组件也可以进行联动,独立业务组件分析完镜像报文后可以下发联动规则要求路由交换对相应业务流进行限速、阻断等特殊处理。这种模式下,镜像报文也是通过路由交换组件连接独立业务组件的高速数据通道转发。

    镜像模式适用于网络流量分析、***检测IDS等应用。比如,网络流量分析应用中,数据包进入网络设备接口处理后被镜像到OAP模块,同时原报文被正常转发。OAP中的网络流量分析功能对镜像报文进行分析,如果发现报文中占用大量带宽的BT应用数据流,那么网络分析应用程序会针对该镜像报文所代表的数据流生成限速联动规则,并下发给网络设备,网络设备应用该联动规则就可以对BT流进行限速。


25.3.3    重定向模式

图片.png

    在重定向工作模式下,数据包到达网络设备接口后根据规则判断是否被重定向,如果符合重定向规则那么将该报文重定向OAP模块中。OAP模块中的业务系统对重定向报文进行分析处理,然后根据处理结果判断是否生成联动规则并发送给网络设备。根据不同业务的需求,重定向报文也有可能被返回给网络设备,网络设备对返回报文进行正常转发。

    重定向模式所适用的业务比较广泛,如***检测、应用加速、网络杀毒等。比如在网络杀毒应用中,携带病毒的HTTP报文到达网络设备后,根据配置的规则判断应被重定向到OAP模块中,模块中的杀毒应用程序发现病毒并将病毒查杀,再下发联动规则要求网络设备过滤该HTTP站点。同时,OAP模块上杀毒应用程序生成一个HTTP页面返回给网络设备,表示用户访问的网页有病毒。网络设备再将此HTTP页面发送给访问用户,以通知用户。


25.3.4    透明模式

图片.png

    透明模式下,独立业务组件像二层网桥设备一样工作,不需要配置IP地址。外来的数据流从OAP模块上的外部以太网接口流入,穿过独立业务组件,经过内部高速数据通道到达路由交换组件。在路由交换组件看来,外部数据直接到达了连接部件上的高速以太网口,内嵌的独立业务系统似乎根本不存在一样。实际上,当数据通过独立业务系统的时候,独立业务系统会做相关的记录分析,必要的时候,业务系统还会对报文会做一定的修改以完成相关的功能。

    这种模式下,路由交换组件和独立业务之间的耦合也是比较松的。

    这种工作模式适用于IPS/IDS、流量分析、应用加速等。

    在IPS/IDS应用中,报文抵达OAP外部接口后,IPS/IDS应用程序对该报文进行分析处理,如果检测出来是***报文,则将该报文丢弃,并生成对应防火墙规则过滤该数据流;如果是正常报文则允许其通过。


25.4    联动及管理

25.4.1    联动

图片.png

    OAA体系结构中,路由交换组件与独立业务组件是两个独立的主体,这两个主体协作完成具体业务。为达到这种目的,两者之间有时需要互通一些信息,这种信息交互就是联动。简单而言,就是指独立业务组件可以向路由交换组件发指令,改变路由交换组件的动作。

    联动功能主要是通过ACFP(Application Control Forwarding Protocol,应用控制转发协议)来实现的。ACFP及基于SNMP协议而开发的管理协议。ACFP协议的运行过程与网管软件运行有些类似。独立业务组件就像网管系统一样,向路由交换组件发送各种SNMP命令;而路由交换组件上支持SNMP Agent功能,可以执行下发的这些命令。

    为了支持联动功能,要求路由交换组件支持相关MIB。


25.4.2    管理

图片.png

    除了联动外,路由交换组件和独立业务组件间还需要互相监控、互相感知,有时还需要路由交换组件向独立业务组件发送一些指令,指示独立业务组件进行相应操作。这种路由交换组件ji监控、指挥独立业务组件的行为就是管理。

    路由交换组件对独立业务组件的管理是通过ACSEI协议来完成的。通过ACSEI协议,路由交换部件可以区分不同插槽上的多个OAP模块,监控、记录各个OAP模块的运行状态。路由交换组件与OAP模块间还通过ACSIE协议来完成互相监测、信息交互、时钟同步等功能;路由交换组件还可以对OAP模块下发如业务系统关闭、重新启动等命令。

    通过路由交换组件和独立业务组件之间的管理通道,已经登录到路由交换组件上的用户,可以向独立业务组件发起连接,登录到独立业务组件的控制台上。


25.5    OAA典型应用

图片.png


25.6    OAA的未来

图片.png