在我的实验室网络中,我将 Juniper MX 80 配置为 MPLS 路由器。在一个站点上连接了一个客户(由一台 PC 模拟),而在另一侧是一个 MPLS 网络。
我使用tcpreplay来生成流量负载。我使用的PCAP文件准备如下:
- 源 IP 是“客户”PC 的 IP
- Source MAC是客户PC的接口MAC地址
- 目标 IP 分布在测试网络中,但都存在且有有效路由
- Destination MAC 是 MX80 的“客户”接口的 MAC 地址
数据包确实到达了路由器。我正在发送 ~140Mbit/s 流量流,并且 SMTP 计数器显示以下内容(使用 SNMP 读取):
1.3.6.1.4.1.2636.3.3.1.1.1.517: 0 Mb/s
1.3.6.1.4.1.2636.3.3.1.1.5.517: 17 Mb/s
----
1.3.6.1.4.1.2636.3.3.1.1.1.527: 138 Mb/s
1.3.6.1.4.1.2636.3.3.1.1.5.527: 0 Mb/s
前两行是面向网络的接口进/出,第三+第四行是面向客户的接口。没有其他接口,所有流量都应该通过第一个接口到达路由器。正确的路由已到位,OSPF 和 LDP 已启动。
不幸的是,我是一个“思科人”,我现在不太喜欢瞻博网络设备。但是,据我所知,路由器应该转发所有流量。
不过,我有一个怀疑:PCAP 文件中大约 19,278% 的数据包是 UDP,其余的是 TCP,约占总流量的 10,979%。这相当于大约 15,15Mbps 的 UDP 流量,几乎与未丢弃的数据包量相匹配。
由于流量被记录并稍后重放,因此数据包不会构成正确的 TCP 会话。路由器是否执行某种 TCP SYN 检查?如果是这种情况,这也会破坏异步通信。
我找到了这篇文章,但我的设备不理解“set security flow *”命令。
此外,我已经找到并尝试了本文中的步骤,但流量仍然下降。
这是设备的配置。那么为什么流量会下降呢?
version 14.2R2.8;
groups {
ffm {
system {
host-name F-Rtr;
root-authentication {
encrypted-password "******";
}
}
}
}
apply-groups ffm;
system {
services {
ssh;
}
syslog {
user * {
any emergency;
}
file messages {
any notice;
authorization info;
}
file interactive-commands {
interactive-commands any;
}
}
ddos-protection {
global {
disable-routing-engine;
disable-fpc;
disable-logging;
}
protocols {
tcp-flags {
initial {
disable-routing-engine;
disable-fpc;
}
}
}
}
}
interfaces {
ge-1/0/0 {
unit 0 {
description "Link to F-Core";
family inet {
address 10.0.1.30/30;
}
family mpls;
}
}
ge-1/1/0 {
unit 0 {
family inet {
address 10.0.0.57/29;
}
}
}
lo0 {
unit 0 {
family inet {
address 10.0.4.117/32;
}
}
}
}
routing-options {
router-id 10.0.4.117;
}
protocols {
mpls {
interface ge-1/0/0.0;
}
ospf {
area 0.0.0.0 {
interface ge-1/0/0.0 {
interface-type p2p;
}
interface lo0.0 {
passive;
}
interface ge-1/1/0.0 {
passive;
}
}
}
ldp {
transport-address router-id;
interface ge-1/0/0.0;
}
}