IP包只有16位长度与流媒体帧分片的内在逻辑
来源:互联网 发布:cda数据分析师怎么考证 编辑:程序博客网 时间:2024/06/06 01:56
以前总觉得类似IP和UDP在报文长度上应该是32位长度的,近期讨论媒体流某些比较大的帧为什么会被分片时,和同事讨论后深入地看了下协议,才发现报文长度确实只有16位。
我们知道IP包是因特网的精灵,它是网络传输的基本单位。对于这个基本单位受限于网络特质既存在最小报文限制也存在最大报文限制。IP报文的分片,在网络层提供了基本能力能够完成IP报文的组装。这样,我们可以认为,无论是TCP还是UDP,从网络侧得到的最小数据包就是单个IP包。所以,TCP一次读取socket操作能够读取多个字节,跟IP包的累积和IP包到的时机相关。UDP被称为数据报协议,我猜想的一个原因,就是源端尽量按照一个IP包进行承载,实在不行就发生IP分片,然后在目的段再次组成一个完整的IP包投送给UDP,在UDP协议头上并不支持UDP包的分片,所以,一次UDP数据发送,应该是小于65535个字节,大致64K。(至于应用层的分包,就是后续要讲到的帧分片)
我们在在处理流媒体的时间,一个完整的帧被收到,才能放到解码器中进行解码。当然我们也就自然地希望在流媒体的源端,最好就是按照一帧一帧发送,但是我们知道流媒体编解码算法,都是会产生好几种类型的帧,而其每个帧的大小,也不尽相同,有的帧类型的大小甚至是别的帧的好多倍。虽然视频编码部分,可以一次行地输出一帧数据,但是传输层,需要应对一些技术考虑(大报文丢失,误码率等)以及网络IP报文的基本限制(16位长度),一包一帧,基本上很难,源端需要处理帧分片有关的逻辑。
0 0
- IP包只有16位长度与流媒体帧分片的内在逻辑
- IP包分片与重组视屏
- IP的分片与组装
- IP 包分片
- IP数据报的分片与重组
- IP的分片与组装学习笔记
- 第十章 IP的分片与重装
- IP数据报的分片与重组
- 产品演变的内在逻辑是什么?
- ip数据包与分片
- IP分片与重组
- IP分片与重组
- Lwip IP包分片重组
- IP包的分片和重组——路由器的分片攻击
- CSS的逻辑长度与现实的物理长度
- IP分片和TCP分片的区别
- IP分片和TCP分片的区别
- IP分片和TCP分片的区别
- html中的meta标签
- LeetCode之Merge Two Sorted Lists
- 线性表的输入输出插入删除查找(顺序表示)
- DP训练 hdu 1003 Max Sum 最大连续子段和
- 大数运算
- IP包只有16位长度与流媒体帧分片的内在逻辑
- Android 安装教程
- Qt-文本绘制
- Erlang不能错过的盛宴
- WhatsApp背后的小众编程语言:Erlang
- leetCode解题报告之Copy List with Random Pointer
- 代码坏味及解决方案(底层重构和设计模式两个方面)
- NSRunLoop之夜
- 对于缓存的理解和分析。