示例:使用 CoS 端口整形来限制接口上的出口流量
此示例说明了将端口整形用作服务等级 (CoS) 的形式如何限制接口上的流量,以便控制通过接口的流量。
要求
为了验证此过程,此示例使用流量生成器。流量生成器可以是基于硬件的,也可以是基于服务器或主机上运行的软件。
运行 Junos OS 的设备上广泛支持此过程中的功能。此处展示的示例已在运行 Junos OS 10.4 版的 MX 系列路由器上进行了测试和验证。
概述
此示例的目的是展示端口整形如何使通过接口的流量达到低于该接口线速的速率。在接口上配置端口整形时,实质上是指定一个值,用于指示可以通过该接口传输的最大流量。此值必须小于该接口的最大带宽。配置端口整形时,您可以指定流量通过接口的最大速率,也可以指定接口带宽的百分比。
在此示例中,端口整形在设备 R1 上完成。此示例不包括在设备 R2 上实施端口整形所需的信息。但是,您可以使用设备 R1 中的端口整形信息(对使用的接口进行更改),并将其应用于设备 R2,从而在设备 R2 上实现端口整形。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。
仅使用服务等级的设备 R1
set interfaces ge-2/0/5 description to-Host set interfaces ge-2/0/5 unit 0 family inet address 172.16.70.2/30 set interfaces ge-2/0/8 description to-R2 set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.1/30 set interfaces lo0 unit 0 description looback-interface set interfaces lo0 unit 0 family inet address 192.168.13.1/32 set class-of-service interfaces ge-2/0/8 shaping-rate 160k set protocols ospf area 0.0.0.0 interface ge-2/0/5.0 passive set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
使用流量控制配置文件和服务等级的设备 R1
set interfaces ge-2/0/5 description to-Host set interfaces ge-2/0/5 unit 0 family inet address 172.16.70.2/30 set interfaces ge-2/0/8 description to-R2 set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.1/30 set interfaces lo0 unit 0 description looback-interface set interfaces lo0 unit 0 family inet address 192.168.13.1/32 set class-of-service traffic-control-profiles output shaping-rate 160k set class-of-service traffic-control-profiles output shaping-rate burst-size 30k set class-of-service interfaces ge-2/0/8 output-traffic-control-profile output set protocols ospf area 0.0.0.0 interface ge-2/0/5.0 passive set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
设备 R2
set interfaces ge-2/0/7 description to-Host set interfaces ge-2/0/7 unit 0 family inet address 172.16.80.2/30 set interfaces ge-2/0/8 description to-R1 set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.2/30 set interfaces lo0 unit 0 description looback-interface set interfaces lo0 unit 0 family inet address 192.168.14.1/32 set protocols ospf area 0.0.0.0 interface ge-2/0/7.0 passive set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 Junos OS CLI 用户指南中的在配置模式下使用 CLI 编辑器。
您可以在网络接口、聚合以太网接口(也称为链路聚合组 (LAG) 和环路接口上配置端口整形。
要配置设备 R1:
配置设备接口。
[edit] user@R1# set interfaces ge-2/0/5 description to-Host user@R1# set interfaces ge-2/0/5 unit 0 family inet address 172.16.70.2/30 user@R1# set interfaces ge-2/0/8 description to-R2 user@R1# set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.1/30 user@R1# set interfaces lo0 unit 0 description looback-interface user@R1# set interfaces lo0 unit 0 family inet address 192.168.13.1/32
仅使用服务等级配置端口整形。
[edit] user@R1# set class-of-service interfaces ge-2/0/8 shaping-rate 160k
使用流量控制配置文件和服务等级配置端口整形。
注意:如果配置了固定整形速率,则可以配置可选的突发大小(以字节为单位)。如果将整形速率配置为百分比,
burst-size
则不允许选项。[edit] user@R1# set class-of-service traffic-control-profiles output shaping-rate 160k user@R1# set class-of-service traffic-control-profiles output shaping-rate burst-size 30k user@R1# set class-of-service interfaces ge-2/0/8 output-traffic-control-profile output
配置 OSPF。
[edit] user@R1# set protocols ospf area 0.0.0.0 interface ge-2/0/5.0 passive user@R1# set protocols ospf area 0.0.0.0 interface lo0.0 passive user@R1# set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
逐步过程
要配置设备 R2:
配置设备接口。
[edit interfaces] set interfaces ge-2/0/7 description to-Host set interfaces ge-2/0/7 unit 0 family inet address 172.16.80.2/30 set interfaces ge-2/0/8 description to-R1 set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.2/30 set interfaces lo0 unit 0 description looback-interface set interfaces lo0 unit 0 family inet address 192.168.14.1/32
配置 OSPF。
[edit ] user@R1# set protocols ospf area 0.0.0.0 interface ge-2/0/7.0 passive user@R1# set protocols ospf area 0.0.0.0 interface lo0.0 passive user@R1# set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
结果
在配置模式下,输入 、 show class-of-service
和show protocols ospf
命令,show interfaces
以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以更正配置。
R1 的结果
user@R1# show interfaces ge-2/0/5 { description to-Host; unit 0 { family inet { address 172.16.70.2/30; } } } ge-2/0/8 { description to-R2; unit 0 { family inet { address 10.50.0.1/30; } } } lo0 { unit 0 { description looback-interface; family inet { address 192.168.13.1/32; } } }
仅使用服务等级配置端口整形
user@R1# show class-of-service interfaces { ge-2/0/8 { shaping-rate 160k; } }
使用流量控制配置文件和服务等级配置端口整形
user@R1# show class-of-service traffic-control-profiles { output { shaping-rate 160k burst-size 30k; } } interfaces { ge-2/0/8 { output-traffic-control-profile output; } }
user@R1# show protocols ospf area 0.0.0.0 { interface ge-2/0/5.0 { passive; } interface lo0.0 { passive; } interface ge-2/0/8.0; }
完成设备 R1 配置后,请从配置模式进入 commit
。
R2 的结果
user@R2# show interfaces ge-2/0/7 { description to-Host; unit 0 { family inet { address 172.16.80.2/30; } } } ge-2/0/8 { description to-R1; unit 0 { family inet { address 10.50.0.2/30; } } } lo0 { unit 0 { description looback-interface; family inet { address 192.168.14.1/32; } } }
user@R2# show protocols ospf area 0.0.0.0 { interface ge-2/0/7.0 { passive; } interface lo0.0 { passive; } interface ge-2/0/8.0; }
完成设备 R2 配置后,请从配置模式进入 commit
。
验证
确认配置工作正常。
清除计数器
目的
确认接口计数器已清除。
行动
在设备 R1 上,运行 clear interfaces statistics ge-2/0/8
命令,将接口统计信息重置为 0。
user@R1> clear interfaces statistics ge-2/0/8
向网络发送 TCP 流量并监控端口整形
目的
通过使用连接到设备 R1 的主机向网络发送流量,请确保设备 R1 上的输出接口 (ge-2/0/8) 上的流量受速率限制。
行动
使用流量生成器发送多个源端口为 80 的连续 TCP 数据包流。
-s 标志设置源端口。-k 标记会使源端口保持稳定在 80,而不是递增。-d 标志设置数据包大小。-c 标志设置要发送的数据包计数。
172.16.80.1 的目标 IP 地址表示设备 R2 下游的用户。用户已从主机(由流量生成器模拟的 Web 服务器)请求了网页,数据包会根据请求发送。
注意:请记住,在本示例中,端口整形已设置为 160 Kbps。
[user@host]# hping 172.16.80.1 -s 80 -k -d 1500 -c 20 & hping 172.16.80.1 -s 80 -k -d 1500 -c 20 & . . .
在设备 R1 上,使用
show interfaces extensive ge-2/0/8
命令检查接口计数器。user@R1> show interfaces extensive ge-2/0/8 Queue counters: Queued packets Transmitted packets Dropped packets 0 17244 3741 13470 1 13 13 0 2 0 0 0 3 149363 149363 0 Queue number: Mapped forwarding classes 0 best-effort 1 expedited-forwarding 2 assured-forwarding 3 network-control
意义
在输出中,您可以看到有 13470 个数据包被丢弃。这些数据包超过了 ge-2/0/8 上配置的 160 Kbps 整形速率。