思科 C890 系列性能问题

网络工程 思科 路由 纳特 表现
2022-02-23 23:53:19

我正在从事一个复杂的项目,其中包括 Linux 和 Cisco 路由器。我对网络还很陌生,而且我是第一次使用 cisco 命令行,所以请不要客气,不要犹豫,建议/纠正我。

一个简化的网络方案可能是这个 计算机在 Linux/Xenomai 下运行。他们有两个网络接口。实时数据使用 192.168.1.1 地址,只有 UDP。监控/ssh 使用的是 192.168.2.1 地址。

这两个接口连接到 Cisco 路由器,其 WAN 地址为 10.11.151.X。cisco 路由器正在对我们的数据包进行 NAT,因此它们可以穿过网络并访问远处的路由器,NAT 向后。使用端口 2100 的 192.168.1.1 进入路由器,使用端口 2100 被 natted 到 10.11.151.1,反之亦然。

我有两对不同的路由器:Cisco RV325 和 Cisco C891f-k9。C891f-k9 路由器配置如下(我在发布之前删除了用户/安全和未使用的接口):

version 15.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
boot-start-marker
boot-end-marker
!
aqm-register-fnf
!
no ip domain lookup
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
crypto isakmp policy 1
!
interface FastEthernet0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface GigabitEthernet4
 switchport access vlan 11
 no ip address
!
interface GigabitEthernet5
 switchport access vlan 21
 no ip address
!
interface GigabitEthernet8
 description PrimaryWANDesc_
 ip address 10.11.151.6 255.255.255.0
 ip nat outside
 duplex auto
 speed auto
!
interface Vlan1
 no ip address
 shutdown
!
interface Vlan11
 ip address 192.168.1.254 255.255.255.0
 ip nat inside
 ip virtual-reassembly in
!
interface Vlan21
 ip address 192.168.2.254 255.255.255.0
 ip nat inside
 ip virtual-reassembly in
!

ip forward-protocol nd
no ip http server
no ip http secure-server
no ip http path flash
!
ip nat inside source static tcp 192.168.2.1 22 10.11.151.1 2044
!
ip nat inside source static udp 192.168.1.1 2100 10.11.151.1 2100
ip nat inside source static udp 192.168.1.1 2101 10.11.151.1 2101
ip nat inside source static udp 192.168.1.1 2102 10.11.151.1 2102
!
ip route 0.0.0.0 0.0.0.0 10.11.151.253
!
snmp-server community public RO
!
control-plane
!
mgcp behavior rsip-range tgcp-only
mgcp behavior comedia-role none
mgcp behavior comedia-check-media-src disable
mgcp behavior comedia-sdp-force disable
!
mgcp profile default
!
line con 0
 no modem enable
line aux 0
line 3
 modem InOut
 speed 115200
 flowcontrol hardware
line vty 0 4
 privilege level 15
 password cisco
 login local
 transport input telnet ssh
!
scheduler allocate 20000 1000
!
end

RV325 是一个非常基本的路由器,配置了 Web 界面。

我使用 RV325 对路由器进行了一些测试,并使用 C891f-K9 进行了相同的测试。使用这种配置,我观察到 C891F 与 RV325 相比性能较差。我无法解释这些差异。我希望高端路由器会比 RV325 做得更好,但事实恰恰相反。我在使用时检查了 C891f 的 CPU 使用率,它只有 10%。

所以我的问题是:这个配置好吗?你有什么技巧可以帮助我解决性能问题吗?是否有一些服务可以关闭以提高路由器效率/延迟?

正如我所说,我是网络和路由的新手,所以请不要犹豫寻求解释或建议。感谢您的帮助。

编辑:

感谢您的帮助。我设法做了一些测试,我们的表现仍然不好。

测试是如何进行的:我们在每台服务器上都插入了一台计算机。该计算机生成流量并记录传入流量。我们的机器配置为仅打包/解包数据包。然后我们比较发送的数据和接收的数据:我们找到对应的数据并比较时间戳。这个时间戳差异为我们提供了穿越系统所需的总时间。

对于 cisco rv325,平均值为 200µs。对于 C891F,平均值为 450µs。我还检查了直接连接到路由器的机器的 ping:rv325 ping >400µs,c891f-k9 约为 600µs。

从现在开始,我相信在配置上我无能为力了。我认为问题在于路由器本身不适合我们的需求。

编辑2:

感谢大家的帮助。这对我帮助很大。结论是这个系列的路由器不适合我们的需求。我们找到的最稳定和最有效的解决方案是在标准计算机上安装 pfSense(intel i5 with 8Go RAM and intel i350 4 ethernet ports)。有了这个,我们有大约 0.2 毫秒的延迟,没有尖峰,也没有丢包。到目前为止,这是我们目前所做的最好的事情,也可能是我们能做到的最好的事情。

2个回答

好吧,(更正后的)配置很简单,您没有什么可以做的不同或更好的方式。

但首先,让我们确认您拥有更年轻的模型。LAN 交换机端口为“千兆”这一事实强烈暗示了这种情况,但让我们验证一下。

发出“show inventory”命令并在产品 ID (PID) 中查找“CISCO89x”与“C89x”的区别。在较年轻的 C89x 上,您会发现(取自 C892FSP 的示例)

C892#显示库存

名称:“C892FSP-K9”,描述:“C892FSP-K9 机箱,硬件序列号:xxxxxxxxxxx,硬件版本:1.0” PID:C89 2FSP-K9,VID:V02,SN:xxxxxxxx

在较旧的 CISCO89x 上,这将是

CISCO891#show inv

名称:“891”,DESCR:“891 机箱,硬件序列号:xxxxxxxx,硬件版本:1.0” PID:CISCO89 1-K9,VID:V02,SN:xxxxxxxx

如果您有旧型号并正在寻找性能:不要。实际上,根本不要在 800 系列中寻找“高性能”。

这些分支机构模型非常适合在 25-50Mbps 市场中提供功能丰富的连接,其中 WAN 电路在开始时具有几十毫秒的延迟特性。

使它们看起来“高端”的是它们丰富的功能集(QoS、动态路由、虚拟路由 (VRF)、防火墙、NAT、IDS、WAN Accel.、MPLS、IPSec 等)。但它们并不以出色的性能或低延迟而闻名。

在我的雇主,我们使用 C89x 系列为客户提供高达 50Mbps 的 WAN 电路的 WAN 连接(利用 VRF、MPLS-o-GRE-o-IPSEC 隧道和 QoS)。我们看到 50Mbps 定期被充分使用。我们知道这已经超出了思科所说的该设备的用途。

我的自制测试平台上现在有一个 C892。在带有大数据包的“dragstrip routing”[1] 中,它可以使用 IPv4 和 IPv6(TCP 和 UDP)以 ca 80kpps 的速度占用完整的千兆位管道。

对于小数据包有效负载(TCP 的 88 字节 MSS),在 L3 交换机和 WAN 接口之间进行路由时,似乎在 ~280kpps (IPv4) 和 ~80kkpps (IPv6) 有一些限制。奇怪的是,这些值在 C892FSP 的 gig8 和 gig9 之间路由时更好:>600kpps 用于 IPv4,~144kpps 用于 IPv6;

我的自制测试平台不允许可靠地生成超过 ~120kpps 的 UDP,所以结果有点阴暗,我不喜欢分享它们。

路由器的性能通常由数据包速率(通常与 CPU 功率、CPU 负载相关)和引入的延迟来表征。吞吐量和“性能”紧随其后的是“数据包大小的乘数”以及所讨论的上层协议如何能够应对不可避免地增加的延迟。

根据您在 800 系列等低端平台上激活的一组功能,路由器的 CPU 和数据包速率正在遭受巨大的打击——尤其是 NAT 是臭名昭著的。

要跟进 Teun Vinks 的回答 - 请定义您认为的“性能问题”是什么。RV325和C891之间只有0.2ms和0.45ms的延迟差异吗?

如果亚毫秒范围内的延迟差异是您的“热门话题”,那么您将进入低延迟网络游戏,您应该考虑以完全可以避免路由或 NAT 的方式设计您的网络,或者您将不得不考虑专门的产品。800 系列绝对不在那个联盟中。

我不是基于主机的防火墙或 NAT 的专家,但不能通过 Linux 机器上的额外 LAN 接口(连接到 Cisco 的 gig8 插入的位置)来实现相同的目标,并添加一些“iptable 魔法” ?

最好的问候马克

[1] 无 NAT、无 ACL、无 CBAC-FW、无 ZB-FW、无 IPS、无隧道、无 IPSec 封装/解封、无 QoS)

您的 Cisco 配置对于 NAT 不正确。它根本不应该工作。问题是您ip nat inside在第 2 层接口 ( GigabitEthernet4and GigabitEthernet5) 而不是第 3 层接口 ( Vlan11and Vlan21) 上进行了配置。

此外,您不应default-gateway在正在路由的路由器上使用该命令,因为它网关。相反,请使用您也已配置的静态默认路由。

尝试类似:

interface GigabitEthernet4
 no ip nat inside
!
interface GigabitEthernet5
 no ip nat inside
!
interface Vlan11
 ip nat inside
!
interface Vlan21
 ip nat inside
!
no ip default-gateway 10.11.151.253
!
ip nat inside source list 10 interface GigabitEthernet8 overload
!
access-list 10 permit 192.168.1.0 0.0.0.255
access-list 10 permit 192.168.2.0 0.0.0.255
!

在你开始喜欢静态翻译之前,让它发挥作用。我真的不明白你是如何让 NAT 工作的,因为你在第 3 层内部接口上没有内部 NAT。