你这套链路里花屏的根因已经几乎可以锁定在"125.83 → 18.61"这段跨网边界,而且你自己抓到的"125.83 发往 18.61 有多次重传"就是铁证——RTP 走 UDP,丢包/重传直接对应解码端花屏,跟后面熙菱平台关系不大,平台是受害者不是肇事者。
下面把因果链 + 你这条链路的特有坑拆开。
先钉死因果:为什么是"125.83→18.61"这段
花屏马赛克在 H.264/H.265 解码里的机制很固定——I 帧丢了或 RTP 分片丢一包,整段 GOP 解码就花,直到下一个 I 帧到来。UDP 不重传(或 RTP 层选择性重传来不及),所以 1% 丢包率对视频就是满屏马赛克,普通数据业务根本无感。
你的证据三件套对得上:
125.83 抓包 → 18.61 有重传 → 说明 125.83 发出来的 RTP 流在到 18.61 的路上被丢,125.83 端 TCP 层(如果是 TCP 封装)或应用层在重试
分点核心长 ping 18.61 大包最高 47ms 抖动 → GB/T 28181 对视频监控的要求是抖动 <50ms、丢包 <0.1%,你已经踩到抖动红线了,47ms 是"最高值"意味着均值可能 20-30ms 但尖峰冲线,大包 ping 的抖动比小包更能反映视频流(持续大流量)的真实队列情况
跨 GZ 网 → GA 网,两个局域网,流穿 18.61 这个边界 → 这一段几乎一定有 NAT/安全策略/可能还有 GRE 或 VPN 隧道,是 RTP 被剁或被限速的高发区
💡 海康流媒体服务器发流默认走 RTP over UDP,端口一般 30000-40000 区间,信令 RTSP 554、HTTP 8000。UDP 过边界设备,任何一处限速/丢队列/MTU 不一致,直接花屏。
你这条链路的几个高概率坑(按可能性排)
🔴 坑 1:18.61 这个 GZ 网边界设备在限 UDP 或做 NAT 没放 RTP 端口
流穿"GZ 网边界 18.61 → GA 网边界 38/131/212/4"——这命名像防火墙/路由器边界节点,不是纯交换机。重点查 18.61 上对 125.83 → 熙菱平台(38/129/16/200-201)这段的策略:
UDP 30000-40000 放行没?GA 网侧 38/131/212/4 那几个边界也要同步查
是不是做了 QoS 但监控流没进高优先级队列(802.1p 5/6/7)
如果 18.61 是防火墙,有没有做 session 限速 / UDP 超时过短,RTP 长流容易被误杀
NAT 场景下 SDP 里 IP 是不是还写的内网地址(GB28181 点播经典坑)
🔴 坑 2:MTU 跨边界不一致 → RTP 大包被分片丢
海康 H.264 I 帧突发码率能到 20Mbps 级别,RTP 封装 NALU 超过 MTU 会做 FU-A 分片,单包丢一整个 I 帧就花。
GZ→GA 这段如果是:
验证:在 125.83 上 ping -s 1472 18.61 看能不能通(1472+28=1500),再试 1400、1300,哪档开始丢就是 MTU 天花板。
处置:海康侧把 RTP 负载压到 1200-1300 字节对应 MTU 1400 档,或 Linux 侧 ifconfig mtu 1400,让 FU-A 分片不触顶。
🔴 坑 3:47ms 大包抖动的来源 = 18.61 边界队列拥塞
分点 1→分点 2→分局核心走 OSPF 全 Area 0,这一段物理上应该是同城/同机房光纤,抖动不该到 47ms。47ms 大包 ping 抖成这样,说明:
查法:在 18.61、GA 侧 38/131/212/4 这几台逐跳 display interface(H3C)或 show interface(Cisco)看:
🟡 坑 4:海康流媒体默认 UDP,改 TCP 能立刻缓
海康 RTSP 支持 ?transportmode=unicast&tcp 切 TCP,TCP 模式理论上不丢包(重传由协议栈兜底),花屏会变卡顿但不会马赛克——这是最快的验证手段,不用动网络侧。
📌 操作:在熙菱平台或流媒体服务器侧把取流 URL 改成 rtsp://.../Channels/101?transportmode=unicast&tcp 试一路,如果那一路花屏消失,100% 确认是 UDP 丢包问题,网络侧再细查。
🟢 坑 5:OSPF 全 Area 0 —— 不是主因,但可以顺手优化
你提了一句"分点 1、分点 2、分局核心走的都是 OSPF,不过只有区域 0"——全 Area 0 对花屏这个现象不是主因(花屏是持续丢包不是路由震荡,而且你长 ping 没丢包只是抖),但多级核心全 Area 0 有两个副作用:
给你的排查顺序(最快定位)
熙菱平台挑一路切点 TCP 试(?transportmode=unicast&tcp),花屏消失→锁定 UDP 丢包,网络侧背锅;还花→可能是编码侧(码率/I 帧间隔)或平台侧
125.83 和 18.61 双向大包 ping 测 MTU:ping -s 1472 → 1400 → 1300,找临界点
18.61 + GA 侧 38/131/212/4 逐跳看 interface CRC/discard/利用率,重点找 discard 在涨的那台
18.61 安全策略逐条过:UDP 30000-40000、554、8000 放行没?QoS 监控流进最高优先级没?有没有 session 限速?
125.83 和 18.61 两侧同时抓 RTP(filter udp portrange 30000-40000),Wireshark 里 Telephony → RTP → Show Streams,看 Lost 列和 Jitter 列,丢包落在哪一段一比对就知道是哪跳剁的
OSPF 全 Area 0 这次不急,链路稳了之后可以把分局以下的分点划 Area 1 做汇总
处置优先级(改网络侧之前先用 TCP 验证)
优先级 | 动作 | 预期 |
|---|
P0 | 熙菱一路切 RTSP over TCP 试 | 花屏变卡顿=确认 UDP 网络侧问题 |
P1 | 18.61 边界查 QoS/安全策略/UDP 端口放行 | 大概率在这儿 |
P2 | MTU 压到 1400(125.83 + 沿途设备) | 避跨网分片 |
P3 | 逐跳 interface discard/CRC 清障 | 光模块/跳线/拥塞 |
P4 | OSPF 分区域(长期优化,非本次) | 稳路由收敛 |
⚠️ 一个容易忽略的点:GZ 网 18.61 → GA 网 38/131/212/4 这几跳,GA 网侧 38/129/16/200-201 熙菱平台那边也要确认下收流网卡的 ring buffer / UDP 接收缓冲区有没有撑住,ZLM 类媒体服务器并发高时 UDP 收包缓冲区小也会丢,但你说花屏"所有流"都花,更像是上游统一剁的而不是平台侧单点。
暂无评论