2011年3月13日星期日

UDP TCP 包头(Headers)和其效率(efficiency)分析

这篇文章将非常简单地讨论UDP TCP 包头(Headers)和它们的效率(efficiency)分析,尽可能的利用图表进行说明。

使用以太网(Ethernet)的一个优点是它具有非常低的错误率。这对UDP很有利,这是因为UDP没有纳入纠错。让我们深入看看一个以太网帧,下图为Ethernet Header:

Ethernet_header

在这个图中我们可以看到,以太网实现FCS(帧校验序列 Frame Check Sequence)。由此产生的头18个字节(Bytes)(4字节的CRC(循环冗余校验 Cyclic redundancy check) + 14字节)。

我们已知的最小的IP header有20 Bytes并且UDP有8 Bytes。如下图所示Packet encapsulation:

UDP_packet_encapsulation 

对比TCP/IP,我们可以得出 28/40 = 40% 更多的header Bytes对比UDP/IP。

由下图可知“n”的最大值为7。 使用这个值, 我们可以得到最大效率(maximum
efficiency), 因为这样是最优的. 更高的值将超出MTU(Maximum Transmission Unit)。

Header RTP with MPEG2-TS encapsulated 如下图所示:

Header RTP with MPEG2-TS

数据长度取决于MPEG2的Codec,但在MPEG2-TS传输中有188Bytes加上4个Bytes的Playload。理论上最高效率:(Ethernet/IP/UDP/RTP/MPEG2-TS)是94%。

mpeg-ts-header

 

以下图表显示了最大理论Efficiency对于TCP/UDP RTP:

Max Theoretically Efficiency

 

参考:

http://en.wikipedia.org/wiki/Internet_Protocol

http://en.wikipedia.org/wiki/Cyclic_redundancy_check

http://en.wikipedia.org/wiki/Frame_Check_Sequence

http://en.wikipedia.org/wiki/MPEG_transport_stream

http://vbrickvip.com/topics/transport_stream.htm

没有评论: