SDP(Session Description Protocol)即会话描述协议,目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。定义了会话的描述的同意格式,但是并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能由下层协议完成,所以SDP协议是典型的应用层协议。
SDP不属于传输协议,它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议、实时流协议(RTSP)、MIME扩展协议的电子邮件以及超文本传输协议(HTTP)。
SDP协议的宗旨是通用性,它可以应用与大范围的网络环境和应用程序中,而不仅仅局限与组播会话目录,但SDP不支持会话内容或媒体编码的协商。
SDP文本信息包括:
(1)会话名称和意图
(2)会话持续时间
(3)构成会话的媒体
(4)有关接收媒体的信息(地址等)
下面我们通过抓包来进一步认识SDP协议,其中流媒体服务器采用Live555,播放器采用VLC,播放的媒体格式为264格式,采用的协议为RTSP协议。
我们在VLC上输入要访问的RTSP地址如:rtsp://192.168.1.105/test.264
如上图可以看出客服端即VLC和Live555交互的过程,由第四个包可以看出RePly返回了RTSP/SDP.下面来具体看下SDP包包含了哪些信息
如上图可以看出SDP协议包含了,SDP版本号、会话ID、会话名字、会话信息及其时间戳的相关信息。
其中v,o,s,t,m是SDP协议必须包含的,而其他选项为可选。
另外要注意的是SDP语法分析器不能识别某一类型(Type),则整个描述丢失。
本文只是作为一个引子,具体文档请参看RFC2327,一下为该文档的链接http://download.csdn.net/detail/wu_353021/6424959。