SCU/DCU: source-class usage/destination-class usage POC验证

2019-03-24 18:24:00
admin
原创
2330

1. 客户需求

客户有全国性的骨干网, PE 设备位于集团总部, CE 为各省分支机构出口。 PE-CE 采用 BGP 互联, PE 有两个出口, CE PE 发带两种 community BGP 路由,要求 PE community-1 的源地址流量选择出口 1 出去,对 community-2 的源地址流量选择出口 2 出去。一般 community 是查路由表时使用 , 查路由表只看目的地址,策略路由可以通过 ACL 匹配源地址,但 ACL 是在路由表查询之前发生的,那时流量没有 community 属性,所以通过策略路由无法解决这个需求。

2. SCU/DCU 简介

SCU/DCU Juniper 路由器私有特性, SCU/DCU: source-classusage/destination-class usage 我们可以根据路由的属性区分数据包,例如,根据 BGP 的属性,前缀信息等,将这一类具有相同的路由特征的数据包分类,并且根据这个分类进行进一步的数据层面的控制,可以用来:

对定义的 class 进行数据包统计和管理

对定义的 class 进行限速

对定义的 class 部署 QOS 策略

对定义的 SCU 进行 FBF 策略路由控制

简单点说,在一个 transit AS 的路由器上,想对出 AS 的流量进行策略控制,可以使用 DCU ,相对入 AS 的流量进行策略控制,可以使用 SCU

在本次 POC 的客户需求中,我们就是利用了 SCU 来进行 FBF 策略路由控制。

3. 测试拓扑描述


选用 vMX18.3 来模拟 PE CE 两台设备, vMX14.1 模拟 2 ISP ,外联一台 vQFX17.4 模拟到服务器。

为了简化配置便于测试, PE vQFX 4 台设备运行 OSPF ,将上半截的所有网段跑通。

PE-CE 之间运行 EBGP ,在 CE 设备上将 192.168.1/24 192.168.2/24 分别打上不同的 community 导入到 BGP 协议内,通过 EBGP 发送给 PE

ISP1 ISP2 两台设备上写默认路由指向 PE 设备。

2 台客户端电脑为 vMX14.1 ,写默认路由指向相应的 CE 接口。

服务器为 Linux ,写默认路由到 vQFX 接口。

4. 配置和验证

4.1. 路由配置

4.1.1. 上半截 OSPF 配置(部分)

root@PE-CHUKOU#show protocols ospf

area 0.0.0.0 {

    interface lo0.0 {

        passive;

    }

    interface ge-0/0/2.0 {

        interface-type p2p;

    }

    interface ge-0/0/3.0 {

        interface-type p2p;

    }

    interface ge-0/0/1.0 {

        interface-type p2p;

    }

}

4.1.2. CE 导入静态路由

root@CE# showpolicy-options

policy-statementdirect-bgp {

    term 1 {

         from {

            protocol direct;

            route-filter 192.168.1.0/24 exact;

        }

        then {

            community add client1;

            accept;

        }

    }

    term 2 {

        from {

            protocol direct;

            route-filter 192.168.2.0/24 exact;

        }

        then {

            community add client2;

            accept;

        }

    }

}

communityclient1 members 100:100;

communityclient2 members 200:200;     

4.2. SCU 策略

1、 先按照不同 community 打上不同的类

root@PE-CHUKOU#show policy-options

policy-statementassign-class {

    term 1 {

        from community client1;

        then {

            source-class classe1;

            accept;

        }

    }

    term 2 {

        from community client2;

        then {

            source-class classe2;

            accept;

        }

    }

}

2、 根据不同的类直接写下一跳

root@PE-CHUKOU#show firewall

filter fbf {

    term 1 {

        from {

            source-class classe1;

        }

        then {

            next-ip 10.0.1.2/32;

        }

    }

    term2 {

        from {

            source-class classe2;

        }

        then {

            next-ip 10.0.2.2/32;

        }

    }

    term 3 {

        then accept;

    }

}

这里的设计为简单解决用户需求,实际上还可以设置 FBF 策略,将下一跳指向不同的 instance ,会更复杂一点。

3、 将转发类的区分导入转发表

root@PE-CHUKOU#show routing-options

autonomous-system65001;

forwarding-table{

    export assign-class;

}

4、 filter 应用到转发表的出方向

root@PE-CHUKOU#show forwarding-options

family inet {

    filter {

        output fbf;

    }

}

5、 CE 相对应的接口配置源类使用记账

root@PE-CHUKOU#show interfaces

ge-0/0/1 {

    unit 0 {

        family inet {

            accounting {

                source-class-usage {

                    input;

                }

            }

            address 10.0.0.1/24;

        }

    }

}

如果不在这里打开 accounting ,那么将不会生效。

4.3. 验证

root@Client1#run traceroute 10.0.5.2

traceroute to10.0.5.2 (10.0.5.2), 30 hops max, 40 byte packets

 1   192.168.1.1 (192.168.1.1)   8.907ms   2.410 ms   1.512 ms

 2   10.0.0.1 (10.0.0.1)   3.003 ms   2.258 ms   2.426 ms

 3   10.0.1.2 (10.0.1.2)   7.915 ms   3.607 ms   2.509 ms

 4   10.0.3.1 (10.0.3.1)   108.962ms   195.581 ms   306.283 ms

 5   10.0.5.2 (10.0.5.2)   192.930ms   202.918 ms   199.827 ms

Client1 ISP1 出口

root@Client2#run traceroute 10.0.5.2

traceroute to10.0.5.2 (10.0.5.2), 30 hops max, 40 byte packets

 1   192.168.2.1 (192.168.2.1)   8.537ms   1.450 ms   1.371 ms

 2   10.0.0.1 (10.0.0.1)   2.620 ms   2.313 ms   2.022 ms

 3   10.0.2.2 (10.0.2.2)   9.501 ms   3.210 ms   2.987 ms

 4   10.0.4.1 (10.0.4.1)   126.354ms   204.247 ms   198.227 ms

 5   10.0.5.2 (10.0.5.2)   199.662ms   201.307 ms   197.346 ms

Client2 ISP2 出口

POC 完成既定效果。

继续验证:

root@PE-CHUKOU#run show route 192.168/22 extensive    

inet.0: 18destinations, 18 routes (18 active, 0 holddown, 0 hidden)

192.168.1.0/24(1 entry, 1 announced)

TSI:

KRT in-kernel192.168.1.0/24 -> {10.0.0.2}

Source class: classe1

        *BGP     Preference: 170/-101

                Next hop type: Router, Next hopindex: 591

                Address: 0xccd55d0

                Next-hop reference count: 6

                Source: 10.0.0.2

                Next hop: 10.0.0.2 viage-0/0/1.0, selected

                Session Id: 0x140

                State: <Active Ext>

                Local AS: 65001 Peer AS: 65000

                Age: 4:06:24

                Validation State: unverified

                Task: BGP_65000.10.0.0.2

                Announcement bits (1): 0-KRT

                AS path: 65000 I

                Communities: 100:100

                Accepted

                Localpref: 100

                Router ID: 2.2.2.2      

192.168.2.0/24(1 entry, 1 announced)

TSI:

KRT in-kernel192.168.2.0/24 -> {10.0.0.2}

Source class: classe2

        *BGP     Preference: 170/-101

                Next hop type: Router, Next hopindex: 591

                Address: 0xccd55d0

                Next-hop reference count: 6

                Source: 10.0.0.2

                Next hop: 10.0.0.2 viage-0/0/1.0, selected

                Session Id: 0x140

                State: <Active Ext>

                Local AS: 65001 Peer AS: 65000

                Age: 4:06:24

                Validation State: unverified

                Task: BGP_65000.10.0.0.2

                Announcement bits (1): 0-KRT

                AS path: 65000 I

                Communities: 200:200

                Accepted

                Localpref: 100

                Router ID: 2.2.2.2      

两条来自客户端的路由已经打上不同的类。





发表评论
评论通过审核后显示。
文章分类
联系我们
联系人: 牟经理
电话: 028-85666248
传真: 028-85666248-8008
Email: business@cd-dxt.com
QQ: 489323802
地址: 成都市二环路西一段80号金科双楠天都2号楼