流媒体

MMS — 微软媒体服务器协议

  • 全拼

Microsoft Media Server Protocol

  • 使用场景

用来访问并流式接收 Windows Media 服务器中 .asf 文件的一种协议。MMS 协议用于访问 Windows Media 发 布点上的单播内容

RTP — 实时传输协议

  • 全拼

Real-time Transport Protocol

  • 概述

用于在单播或多播网络中传送实时数据。

  • 使用场景
    • 简单多播音频会议(Simple Multicast Audio Conference)
    • 音频和视频会议(Audioand Video Conference)
    • 混频器和转换器(MixersandTranslators)
    • 分层编码(LayeredEncodings
  • RTCP

    • 概述
      • RTP 控制协议(RTCP)向会议中所有成员周期性发送控制包。它使用与数据包相同的传输机制。底层协议必须供数据包和控制包的复用,例如用不同的 UDP 端口或相同的UDP端口(采用复用模式下)。RTCP 提供以下四个功能
        • 基本功能是提供数据传输质量的反馈
        • RTCP 为每个 RTP 源传输一个固定的识别符,称为规范名(CNAME)
        • 1和2功能要求参与方都发送RTCP报文,为保证会议参与方增长,必须严格控制发送包速率,避免过多占用本端带宽,导致视频质量差
        • 传输最少的会议控制信息

          FTP — 文件传输协议

  • File Transfer Protocol

  • FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源
  • 默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
  • 传输模式
    • 主动和被动是站在服务器的角度来说的。
    • 主动模式
      • 客户端发送”PORT “到服务器。服务器使用20端口(主动)连接到客户端发送的端口。

命令: PORT 172,16,101,104,8,77
响应: 200 PORT Command successful.

  1. - ![image.png](https://cdn.nlark.com/yuque/0/2020/png/437471/1596361257434-6849487d-7e14-43eb-99ec-1e9d370d8d72.png#height=464&id=cjgXo&margin=%5Bobject%20Object%5D&name=image.png&originHeight=498&originWidth=635&originalType=binary&size=160144&status=done&style=none&width=592)
  • 被动模式
    • 客户端发送”PASV”到服务器端。服务器开放一个随机端口,发送到客户端。服务器(被动)等待客户端连接此端口。

命令: PASV
响应: 227 Entering Passive Mode (172,16,101,104,8,88)

  1. - ![image.png](https://cdn.nlark.com/yuque/0/2020/png/437471/1596362060875-bc4fb04f-2bcd-4372-a5bc-06e530aafcd5.png#height=473&id=Bh7FH&margin=%5Bobject%20Object%5D&name=image.png&originHeight=687&originWidth=869&originalType=binary&size=181085&status=done&style=none&width=598)

HTTP

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

序号 方法 描述
1 GET 请求指定的页面信息,并返回实体主体。
2 HEAD 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
5 DELETE 请求服务器删除指定的页面。
6 CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
7 OPTIONS 允许客户端查看服务器的性能。
8 TRACE 回显服务器收到的请求,主要用于测试或诊断。
9 PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新 。
  • 示例 ```c GET /hello.txt HTTP/1.1 User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 Host: www.example.com Accept-Language: en, mi 服务端响应:

HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT ETag: “34aa387-d-1568eb00” Accept-Ranges: bytes Content-Length: 51 Vary: Accept-Encoding Content-Type: text/plain ```

RTSP

  • 方法

OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,GET_PARAMETER,SET_PARAMETER
image.png

SIP — 会话发起协议

  • Session Initiation Protocol
  • INVITE,BYE,REGISTER,CANCEL,ACK,OPTION