- 明确客户互联网上下行带宽是否大于SD-WAN订阅带宽
- 查看CPE限速配置是否正常
1) x86 CPE查看限速配置 [root@localhost ~]# vppctl show policer Name "policer-ipsec-in" type 1r2c cir 51200 eir 0 cb 6400000 eb 0 #51200客户带宽为50M rate type kbps, round type closest conform action transmit, exceed action drop, violate action drop Name "policer-ipsec-out" type 1r2c cir 51200 eir 0 cb 6400000 eb 0 rate type kbps, round type closest conform action transmit, exceed action drop, violate action drop 2)ARM CPE查看限速配置 root@gpn-CTCE2H002220300255:~# tc qdisc show |grep vti qdisc tbf 800b: dev vti-vti83 root refcnt 2 rate 30720Kbit burst 15Kb lat 50.0ms #客户带宽为30M qdisc tbf 8002: dev vti-vti4927 root refcnt 2 rate 30720Kbit burst 15Kb lat 50.0ms
- 检测underlay网络是否有丢包
x86 CPE内核下执行命令 :ping 114.114.114.114 -i 0.1 -c 1000 ARM CPE执行命令 :ping 114.114.114.114 -i 1 -c 100 注:测试有否有丢包,时延是否正常,如果发现异常,基本就是客户网络有问题。
- 检测overlay网络是否有丢包
x86 CPE vpp下执行命令:ping 190.0.0.1 interval 0.1 repeat 1000 ARM CPE执行命令 :ping 190.0.0.1 -i 1 -c 100
- 查看限速丢包统计是否正常
如果限速丢包统计增长率比较高,可能是客户业务量比较大导致的丢包,可以和客户协商暂停SD-WAN业务后重新测试1) x86 CPE查看限速丢包统计 [root@localhost ~]# vppctl show errors |grep policer 161 ip4-policer-classify-outbound Policer classify action drop 163 ip4-policer-classify Policer classify action drop 2)ARM CPE查看限速丢包统计 root@gpn-CTCE2H002220300255:~# tc -s qdisc ls dev vti-vti83 qdisc tbf 800b: root refcnt 2 rate 40960Kbit burst 15Kb lat 50.0ms Sent 55192739731 bytes 61942184 pkt (dropped 7169012, overlimits 62720368 requeues 0) backlog 0b 0p requeues 0
- CPE间进行iperf3打流测试
如果udp打流存在丢包,可以根据iperf打流的报文数和丢包数,查看pop ipsec接口统计,进一步缩小丢包发生的范围在两台CPE内核下开启iperf server端和client端,流量默认从client端打向server端 典型打流命令:iperf3 -s -B 10.1.0.100 #server端,ip为server端br-lan或tap0地址 iperf3 -c 10.1.0.100 -B 10.9.10.200 -i 1 -t 10 -l 1000 -b 150M -u #client端 # 10.1.0.100 为server端地址, 10.9.10.200为本端br-lan或tap0地址 # -i 1 为回显间隔1秒 # -t 10 打流时长10秒 # -b 150M 限定打流带宽 # -R 服务器向客户端反向打流 # -P 2 开启2个线程打流 # -u udp打流,默认为tcp打流 # -w 200K 设置TCP窗口大小 # -p 1234 指定服务端监听端口,默认5201
- CPE与POP分段打流测试,在CPE-POP-CPE分段进行,目的是明确丢包方向性和丢包发生的位置,排除另一端网络的问题
1) 如果CPE->POP方向有丢包, 1st: 查看ipsec接口统计,明确报文是否全部到达POP,若全部到达POP,则问题出在POP转发上; 2nd:若未全部到达POP,在排除客户网络丢包的前提下,提工单找COC同学协助排查,排查报文是否进入IDC,如果全部进入IDC,需逐步排查哪个节点导致丢包 3rd:若未全部到达IDC,则大概率问题出现在客户侧的网络环境,可以和客户协商将CPE更换至光猫下面,排除客户设备的问题 4th:问题仍未解决,可以让客户联系运营商,对客户网络进行测试、更换光猫、更换网络出口,重新进行测试 2) 如果POP->CPE方向有丢包 1st:查看ipsec接口统计,明确报文是否全部到达CPE,若全部到达CPE,则问题出在CPE转发上 2nd:若未全部到达CPE,查看POP ipsec接口统计是否全部发出,若全部发出,大概率问题出现在客户侧的网络环境 3rd:可以和客户协商将CPE更换至光猫下面,排除客户设备的问题 4th:问题仍未解决,可以让客户联系运营商,对客户网络进行测试、更换光猫、更换网络出口,重新进行测试
- SD-WAN设备抓包分析原因
1) x86 CPE抓ipsec报文命令 方式1: pcap dispatch trace on max 1000 file vppcapture-11 buffer-trace dpdk-input 1000 pcap dispatch trace off 方式2: vpp下命令: set interface span TenGigabitEthernet8/0/0 destination tap0 tx #抓发送方向 set interface span TenGigabitEthernet8/0/0 destination tap0 tx #抓接收方向 注:取消端口映射 set interface span TenGigabitEthernet8/0/0 diable 内核下命令: tcpdump -i tap0 -w test.pcap 2) pop下抓包 抓接收的包: pcap filter set etype ip4 ip4-protocol 17 ip4-src 222.223.41.234 pcap rx trace on filter max 20000 file rx.pcap pcap rx trace off 抓发送的包: pcap filter set etype ip4 ip4-protocol 17 ip4-dst 180.123.67.214 pcap tx trace on filter max 10000 file tx.pcap pcap tx trace off
抓包的目的是对比分析报文在那段丢的,丢的包是否为正常包
- CPE与公网服务器打流测试,验证客户实际带宽
- 客户分支间PC打流测
在CPE间打流正常的前提下,测试客户分支间PC打流是否正常;目的是验证PC间打流是否有丢包、PC的转发性能、硬盘的读写IO性能,找到制约PC间传输文件性能低的因素。