端口流控的作用
以太网在拥塞时默认丢包。流控(flow control)是链路级的补充机制:接收方缓冲即将耗尽时,向对端发送 PAUSE 帧,请求对方暂停发送一小段时间。它适合吸收毫秒级的瞬时突发,例如存储写入、备份任务启动瞬间的流量尖峰。三厂默认都是关闭状态,并且需要按方向单独开启。
基本信息
| 适用平台 | 华为 VRP、思科 IOS、H3C Comware;主要用于电口与部分光口 |
|---|---|
| 华为/H3C 命令 | flow-control receive / send / flow-control(双向) |
| 思科命令 | flowcontrol receive on / flowcontrol send on |
| 方向含义 | receive 表示本端接收方向受流控影响,send 表示本端可发出暂停请求 |
| 默认状态 | 三厂默认均关闭 |
| 配套要求 | 链路两端需同时启用才有实际效果 |
典型使用场景
- 存储与 NAS 接入:写入突发时吸收瞬时拥塞,减少重传与写入延迟
- 服务器接入端口:网卡与交换机端口双方向协商一致时效果最好
- 备份窗口:备份流量集中启动时避免瞬间丢包引发的性能塌陷
- 跨设备级联链路:两端都是网络设备时配置一致,可控性较高
- 排查辅助:丢包统计中区分是拥塞丢包还是错误丢包时的参考信息
华为 VRP
华为 VRP
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] flow-control receive # 只对接收方向生效(常用)
# 也可配置 flow-control(双向)或 flow-control send
<Huawei> display interface GigabitEthernet0/0/1 # 查看流控与丢包统计
<Huawei> display interface GigabitEthernet0/0/1 | include flow思科 IOS
思科 IOS
SW-CORE-01(config)# interface GigabitEthernet1/0/1
SW-CORE-01(config-if)# flowcontrol receive on # 接收方向启用
SW-CORE-01(config-if)# flowcontrol send on # 发送方向启用
SW-CORE-01# show interfaces GigabitEthernet1/0/1 flowcontrol
! 输出中会区分 send 与 receive 的启用状态与 PAUSE 帧计数H3C Comware
H3C Comware
[H3C] interface GigabitEthernet1/0/1
[H3C-GigabitEthernet1/0/1] flow-control receive
# 也可 flow-control(双向)或 flow-control send
<H3C> display interface GigabitEthernet1/0/1
<H3C> display interface GigabitEthernet1/0/1 | include flow方向选择参考
| 方向配置 | 含义 | 常见用途 |
|---|---|---|
| receive | 本端接收时接受对端的暂停请求 | 服务器/存储接入侧,避免本端丢包 |
| send | 本端在拥塞时向对端发暂停请求 | 本端缓冲区小的场景 |
| 双向 | 两个方向都启用 | 两端均为网络设备且流量对称 |
| 仅单端启用 | 对端无法感知请求(或本端不接受) | 基本等于没配 |
流控的副作用是队头阻塞:被暂停的是整条链路,而不是某一条业务流,一个业务把缓冲占满就可能连带阻塞其他业务。因此它适合突发吸收,不适合替代队列调度与拥塞管理。