流媒体协议概述

0、preview

在了解流媒体协议之前,不得不了解基本计算机网络知识。TCP/IP协议族的上层协议是通过封装来使用下层协议的,我们的用户数据通过一层一层的向下进行封装。在链路层还加上了尾部信息。

流媒体协议概述_第1张图片

各层作用:

数据链路层:如何控制介质的访问(wifi,有线等),如何确保介质通常。例:A要给B寄快递,那么选择空运还是陆运,选择后并且确保能够路或者航线是通的。

网络层(IP):负责计算机之间通信,包含了源和目的的地址,包括路由,寻址,流控等。(其作用可以理解为,在A和B之间通过计算选出一条最通畅,最快的线路,因为在数据链路层选出介质后,比如陆运,那么A到B仍有很多条路线)。

传输层(TCP/UDP):负责点到点的通信,(TCP的话提供可靠传输。规定接收端必须发挥确认,如果分组丢失必须重传)。例子,AB两地所有行程计划都安排好了,那么问题来了怎么寄能够保证寄的东西不丢或少丢。

应用层:面向用户的,以rtsp协议为例,主要作用是将裸流数据进行封装成用户数据(用户数据不只是指裸流数据,还包括用户可以直接操作的控制数据如rtcp)。就是我们的快递了。

在开发过程中,一般只关注应用层和网络层协议。我们也重点理解这两层的常用协议。从几个问题开始学习。

什么是TCP/UDP?

       我们知道TCP/UDP数据传输层协议,那么传输层协议是提供可靠报文传递和错误恢复。换句话说就是A怎么来寄这个快递才能够满足B的要求(要求可能是快,可能是准确)。TCP:面向连接的可靠性传输协议,面向连接是指在进行传输的时候需要先建立连接,也就是我们常说的三次握手四次挥手了,而UDP是无连接滴。可靠性传输是指TCP在传输过程中会无差错,不重复,不丢包的。而UDP则不保证这些,只管传输成功。但是事物总有好坏,UDP虽然既不面向连接,也没有可靠性保证,但是UDP具有很高的实时性,所以在流媒体协议中UDP还是很收欢迎的。

什么是三次握手四次挥手?

三次握手:

流媒体协议概述_第2张图片

 

 

1、常见流媒体协议

几种流媒体协议详解分析:

rtsp协议详解

rtmp协议详解

在流媒体开发过程中,会碰到几种常见的流媒体协议,包括http_flv,rtmp,rtsp,hls等。那么这几种协议到底是什么?有什么区别?应用场景是什么?这些问题都是本专栏需要学习的。

流媒体协议概述_第3张图片

如图是一个我们很熟悉的TCP/IP的四层模型,从图中我们很清楚的可以了解到流媒体协议在模型中的位置,因为在这四层模型中涉及到的协议非常多,很容易就迷失在蛮大的协议里面,没有一个清晰的认识。常见的流媒体协议都数据应用层的协议(udp除外,因为udp是传输层的协议,同时也可以直接作为流媒体协议)。应用层协议均是在传输层之上的,所以可以理解为应用层的所有协议底层均是TCPUDP协议进行传输的。

那么哪些协议底层用的是tcp,哪些又是udp呢?可以从上面的颜色进行区分。其实rtsp,webrtc底层并不直接就是udp,在rtsp,webrtc之下,udp之上还有一层协议就是rtprtcp协议。这俩协议可以简单的理解为rtp为用来存放用户数据,而rtcp则是用来传输控制信息(暂停,播放,回放等)。

N、几种流媒体协议对比与适应场景

//几种协议还没学习完,等基本学习完了,再进行对比

3、

 

你可能感兴趣的:(流媒体协议)