当前位置: 首页 > news >正文

SIP协议之NACK(Negative Acknowledgement)

  在SIP/VoIP应用中,NACK(Negative Acknowledgement,否定确认)是弱网环境中的一种丢包重传机制。

一、实现原理

  接收端检测到RTP媒体包丢失时,通过RTCP消息主动向发送端发送NACK请求,要求重传缺失序列号的RTP数据包。
相比传统TCP的重传机制(依赖ACK超时),NACK响应更快,更适合实时性要求高的场景

二、NACK的优化实践

2.1 重传机制‌

  如果首轮发送NACK请求后,未收到响应时,接收端在更短间隔内发送第二轮请求,提升重传成功率,也称为两轮重传机制。

2.2 带宽考虑

  NACK触发重传可能导致瞬时带宽压力,在丢包严重时,需结合动态码率或分辨率调整避免拥塞。

三、关键说明

  • 在弱网环境下(如高丢包率),NACK通过选择性重传减少卡顿,避免媒体流中断
  • 可与FEC(前向纠错)互补使用,FEC预防性修复小规模丢包,NACK修复关键大包
  • FEC一般使用私有协议,不同厂家之间不通用。而NACK相对通用,只要双方都支持就可以使用
  • NACK适用少量丢包,重传增加延迟,超重度弱网下效果有限,如果丢包严重,NACK反而会增加丢包压力
  • 需接收端主动发起,单向广播场景不适用
http://www.dtcms.com/a/242911.html

相关文章:

  • LLMs 系列实操科普(3)
  • 智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
  • 业财融合怎么做?如何把握业务与财务的边界?
  • crackme008
  • Unity | AmplifyShaderEditor插件基础(第八集:噪声波动shader)
  • Siri在WWDC中的缺席显得格外刺眼
  • day50python打卡
  • 通道注意力机制
  • spring jms使用
  • 上位机开发:C# 读写 PLC 数据块数据
  • 内存分配函数malloc kmalloc vmalloc
  • LeetCode 3442.奇偶频次间的最大差值 I:计数
  • gro文件和top文件介绍,以及如何合并两个gro文件或两个top文件
  • 天猫官方认证TP服务商——品融电商代运营全链路解析
  • WHAT - 组件库单入口打包和多入口打包
  • 基于FPGA的PID算法学习———实现PID比例控制算法
  • 大型活动交通拥堵治理的视觉算法应用
  • 如何保证RocketMQ消息不丢失
  • 《广度优先搜索》题集
  • 钉钉告警集成部署指南
  • ROS move base 简易调试
  • 在postgresql中,group by时取第一个值
  • AIGC 基础篇 Python基础 04 for循环与while循环
  • 华为仓颉语言初识:并发编程之同步机制(下)
  • 华为0528笔试
  • 基于流形迁移学习的快速动态多目标进化算法(MMTL-MOEA/D)求解FDA1-FDA5和dMOP1-dMOP3,提供完整MATLAB代码
  • C++中的跳转语句
  • 大模型中Function Call的定义与核心功能
  • MMaDA: Multimodal Large Diffusion Language Models
  • AWS Lambda Python + AWS Secrets Manager + AWS Aurora Mysql