Web前端WebRTC攻略:传输协议UDP/RTP/RTC

RTP的特点不仅仅支持承载在UDP上,有利于低延迟音视频数据的传输,它允许通过其它协议接收端和发送端协商音视频数据的封装和编解码格式,playload type字段比较灵活支持的音视频数据类型非常多的,具体可以参考:RTP payload formats让我们再具体看看RTP包的音视频帧:其中下面seq=21到seq=24的多个数据包,每个单独为一个音频帧,所以时间戳不同。Wireshark是一个强大的网络数据包分析软件,可以详细的展示网络数据包的交换过程,是监控网络请求定位网络问题的利器。
摘要由CSDN通过智能技术生成

1. 传输层协议:TCP vs. UDP


我们都知道HTTP协议,运行于TCP协议之上,是万维网的运转的基础。作为一名前端开发,我们似乎理所应当熟悉HTTP、TCP协议,以致于HTTP状态码、报文结构、TCP三次握手、四次挥手等等都已经成为了标配的基础面试题。但对于其他协议,我们似乎多多少少感到陌生。

下图是一个TCP/IP通讯协议的4层结构图,在基于网际层的运输层,它提供了节点间的数据传送服务,其中最为人所熟知的 TCP协议(Transmission Control Protocol)UDP协议(User Datagram Protocol)

两个协议本身涉及到内容非常多,但在实际选择使用中,我们不妨直接通过对比TCP和UDP,来去学习和理解它们。

1.1. TCP和UDP对比

总体上有以下三点不同:

  • TCP是面向连接的,UDP是无连接的。

  • TCP是面向字节流的,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的。

  • TCP提供可靠的传输,也就是说TCP连接传输的数据不会丢失,没有重复,并且按顺序到达,UDP提供不可靠传输。

1.1.1. UDP无连接,TCP面向连接

UDP在传输数据之前不需要建立连接,传输双方可以随时发送数据,因此UDP是无连接的。而TCP协议在传输数据之前三次握手建立连接,在结束后需要四次挥手释放连接,具体细节在此不做赘述。

1.1.2. UDP面向报文,TCP面向字节流

对于UDP,发送接收方应用层只给UDP传输层发送或接收报文,而UDP除了传输外的处理只是对应用层报文添加或摘除UDP首部,保留了应用层报文,因此说UDP是面向报文。

对于TCP而言,TCP只将应用层交下来的数据当做一连串的无结构字节流,仅将他们存入缓存并根据策略构建TCP报文进行发送,而接受方TCP只提取数据载荷部分存入缓存,并同时将缓存字节流交给应用层。TCP不保证双方应用层的发送和接收数据具有对应大小关系。因此说它是面向字节流的,而它也是TCP实现流量控制和拥塞控制的基础。

1.1.3. UDP是不可靠连接,TCP是可靠连接

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值