
流媒体系列 -- 网络协议
文章平均质量分 93
流媒体相关网络协议、编解码、通话项目实践技术专栏
奋斗企鹅CopperSun
这个作者很懒,什么都没留下…
展开
-
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 一
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(HTTP 协议 一)【1】HTTP 简介HTTP 即超文本传输协议,HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范,HTTP 是一个协议,是一种计算机间通信的规范,不存在“单独的实体”,HTTP 不是互联网,HTTP 不是编程语言,HTTP 不是 HTML,注意,HTML 是超文本的载体,是一种标记语言,使用各种标签描述文字、图片、超链接等资源,并且可以嵌入 CSS、JavaScript原创 2020-06-30 14:50:47 · 700 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 二
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(HTTP 协议 二)【1】一次 HTTP 请求过程图示为一次 HTTP 请求的抓包数据分析图示为浏览器与 Web 服务器通过 HTTP 协议交换过程大致交换流程如下1. 浏览器从地址栏的输入中获得服务器的 IP 地址和端口号;2. 浏览器用 TCP 的三次握手与服务器建立连接;3. 浏览器向服务器发送拼好的报文;4. 服务器收到报文后处理请求,同样拼好报文再发给浏览器;5. 浏览器解析报文,渲染输出页面;原创 2020-07-01 17:38:29 · 283 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 三
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(HTTP 协议三)【1】HTTP 的实体数据【1.1】数据类型与编码MIME,多用途互联网邮件扩展(Multipurpose Internet Mail Extensions), MIME 把数据分成了八大类,每个大类下再细分出多个子类,形式是“type/subtype”的字符串;HTTP 中常用的类别:text,即文本格式的可读数据,如 超文本文档 text/html、纯文本 text/plain、样式表 text/css 等原创 2020-07-05 16:34:18 · 409 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 四
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(HTTP 协议 四)【1】HTTP 的连接管理【1.1】短连接与长连接短连接 HTTP 协议最初(0.9/1.0)是个非常简单的协议,通信过程也采用了简单的“请求 - 应答”方式;短连接底层的数据传输基于 TCP/IP,每次发送请求前需要先与服务器建立连接,收到响应报文后会立即关闭连接,早期的 HTTP 协议也被称为是“无连接”的协议;短连接的缺点相当严重,因为在 TCP 协议里,建立连接和关闭连接都是非常“昂贵”的操作,原创 2020-07-05 20:38:05 · 312 阅读 · 1 评论 -
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 五
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(HTTP 协议 五)【1】HTTP 的 Cookie 机制【1.1】Cookie 的工作过程涉及到响应头字段 Set-Cookie 和请求头字段 Cookie;当用户通过浏览器第一次访问服务器的时候,服务器不知道用户的身份,需要以“key=value”格式创建一个独特的身份标识数据,然后放进 Set-Cookie 字段里,随着响应报文一同发给浏览器;浏览器收到响应报文,确定里面有 Set-Cookie,便可确定这是服务器给的身份标识原创 2020-07-05 22:43:10 · 277 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 六
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(HTTP 协议 六)【1】HTTPS 相关概念简介【1.1】安全的通信过程需要具备四个特性,即机密性、完整性,身份认证和不可否认机密性(Secrecy/Confidentiality)是指对数据的“保密”,只能由可信的人访问,对其他人是不可见的“秘密”,简单来说就是不能让不相关的人看到不该看的东西;完整性(Integrity,也叫一致性)是指数据在传输过程中没有被篡改,不多也不少,“完完整整”地保持着原状;身份认证(Authent原创 2020-07-06 20:12:19 · 491 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 七
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(HTTP 协议 七)【1】HTTP/2 特性概览HTTP/2 把 HTTP 分解成了“语义”和“语法”两个部分,“语义”层不做改动,与 HTTP/1 完全一致;同时 HTTP/2 没有在 URI 里引入新的协议名,仍然用“http”表示明文协议,用“https”表示加密协议;【1.1】头部压缩HTTP/1 中可以用头字段“Content-Encoding”指定 Body 的编码方式,比如用 gzip 压缩来节约带宽,但报文的另一个原创 2020-07-07 15:41:05 · 422 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 八
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(HTTP 协议 八)【1】WAF【1.1】Web 服务遇到的威胁1. “DDoS”攻击(distributed denial-of-service attack),即“洪水攻击”,黑客会控制许多“僵尸”计算机,向目标服务器发起大量无效请求,因为服务器无法区分正常用户和黑客,只能“照单全收”,这样就挤占了正常用户所应有的资源;如果黑客的攻击强度很大,就会像“洪水”一样对网站的服务能力造成冲击,耗尽带宽、CPU 和内存,导致网站完全无法提原创 2020-08-03 16:51:39 · 357 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 (RESTful)
【网络通信 -- 直播】网络通信协议简介 -- HTTP 协议 (RESTful)REST (Representational State Transfer,表述性状态转移),REST 指的是一组架构约束条件和原则,如果一个架构符合 REST 的约束条件和原则,则为 RESTful 架构;REST 架构的主要原则网络上的所有事物都被抽象为资源 每个资源都有一个唯一的资源标识符 同一个资源具有多种表现形式 (xml, json 等) 对资源的各种操作不会改变资源标识符 所有的操作都是无状态原创 2021-07-12 17:17:27 · 347 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- IP 网际协议
【网络通信 -- 直播】WebRTC 学习系列 -- 网络通信协议简介(IP 网际协议)【1】IP 部首【2】子网编址子网编址 : 主机号再分成一个子网号和一个主机号。在剩下的16 bit中,8bit用于子网号,8bit用于主机号,这样就允许有254个子网,每个子网可以有254台主机。参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。...原创 2020-06-26 21:11:31 · 435 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- TCP 传输控制协议
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(TCP 传输控制协议)【1】TCP 的特点TCP提供一种面向连接的、可靠的字节流服务;面向连接意味着 : 两个使用TCP的应用在彼此交换数据之前必须先建立一个TCP连接,在一个TCP连接中,仅有两方进行彼此通信TCP提供可靠性保证的方式:1. 应用数据被分割成TCP认为最适合发送的数据块2. 当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段,如果不能及时收到一个确认,将重发这个报文段;3. 当TCP收到发自原创 2020-06-27 22:13:42 · 712 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- TCP 数据传输实例
【网络通信 -- 直播】网络通信协议简介 -- TCP 数据传输实例【1】TCP 传输数据的基本过程实例图示【2】TCP 慢启动与拥塞控制1. TCP 连接初始化时,cwnd = 1, ssthresh = 16 2. 在慢启动算法开始时,cwnd 的初始值是 1,每次发送方收到一个 ACK 拥塞窗口就指数增长,当 ssthresh = cwnd 时,启动拥塞控制算法,拥塞窗口线性增长 3. 若当 cwnd = 24 时网络出现超时,发送方收不到确认 ACK,此时设置 ssthres原创 2021-05-28 08:58:41 · 401 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- UDP 用户数据报协议
【网络通信 -- 直播】IM 学习系列 -- 网络通信协议简介(UDP 用户数据报协议)【1】UDP 的部首1. 源端口 : 源端口号, 需要对方回信时选用, 不需要时全部置 02. 目的端口 : 目的端口号,在终点交付报文的时候需要用到3. 长度 : UDP 的数据报的长度 (包括首部和数据) 其最小值为 8 (只有首部)4. 校验和 : 检测 UDP 数据报在传输中是否有错,有错则丢弃该字段是可选的,当源主机不想计算校验和,则直接令该字段全为 0当传输层从 IP...原创 2020-11-02 11:31:35 · 1984 阅读 · 2 评论 -
【网络通信 -- 直播】网络通信协议简介 -- SSL/TLS 与 DTLS
【网络通信 -- 直播】网络通信协议简介 -- TLS/DTLS参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。转载 2021-06-21 17:50:35 · 1159 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- UDP 可靠性保证 KCP 协议
【网络通信 -- 直播】网络通信协议简介 -- UDP 可靠性保证 KCP 协议【1】KCP 协议简介KCP 是一个快速可靠协议,能以比 TCP 浪费 10%-20% 的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果;纯算法实现并不负责底层协议(如 UDP) 的收发,需要使用者自定义下层数据包的发送方式,以 callback 的方式提供给 KCP,内部不会有任何一次系统调用;在整个网络结构中的位置如下图所示【2】KCP 提高 "流速" 的策略RTO 翻倍 vs原创 2021-05-28 15:08:34 · 516 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- RTP/RTCP
【网络通信 -- 直播】网络通信协议简介 -- RTP/RTCP【1】RTP协议【1.1】RTP协议的基本作用【1.2】RTP协议格式【1.3】RTP混合器与转换器【2】RTCP协议参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。【1】多媒体传输网络与VOIP系统设计...............原创 2021-01-07 08:55:07 · 1450 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- RTP 协议的 H264 封包
【网络通信 -- 直播】网络通信协议简介 -- RTP 协议的 H264 封包参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。【1】H264 的 RTP 格式封装...原创 2021-07-26 14:31:01 · 489 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- SRTP/SRTCP
【网络通信 -- 直播】网络通信协议简介 -- SRTP/SRTCP转载 2021-06-21 17:50:13 · 2098 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- RTP 协议的 WebRTC 扩展
【网络通信 -- 直播】网络通信协议简介 -- RTP 协议的 WebRTC 扩展【1】RTP 首部扩展格式【2】RFC-5285 中 RTP 首部扩展One-byte Header0XBEDE 表示 one-byte 扩展 length = 3 表示 header extension 的总长度为 3 * 32 bit = 96 bit = 12 byte 每个扩展头首先以一个 byte 开始,前 4 位是这个扩展头的 ID, 后四位是 data 的长度 -1 注意,第二个扩展转载 2021-08-25 10:13:36 · 998 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- RTCP 协议的 WebRTC 扩展
【网络通信 -- 直播】网络通信协议简介 -- RTCP 协议的 WebRTC 扩展参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。【1】WebRTC之RTCP...原创 2021-07-26 10:50:58 · 1096 阅读 · 1 评论 -
【网络通信 -- 直播】网络通信协议简介 -- RTSP
【网络通信 -- 直播】网络通信协议简介 -- RTSP【0】简介实时流传输协议(RTSP,Real Time Streaming Protocol) 是 TCP/IP 协议体系中的一个应用层协议,由哥伦比亚大学、网景和 RealNetworks 公司提交的 IETF RFC 标准;该协议定义了一对多应用程序如何有效地通过 IP 网络传送多媒体数据,RTSP 在体系结构上位于 RTP 和 RTCP 之上,使用 TCP 或 UDP 完成数据传输;RTSP 是用于控制音视频多媒体串流的协议,允许同时原创 2021-01-14 17:56:52 · 2016 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- RTMP
【网络通信 -- 直播】网络通信协议简介 -- RTMP【0】简介实时消息传输协议(RTMP,Real Time Messaging Protocol),该协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种;RTMP 是一种用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持 RTMP 协议的流媒体/交互服务器之间进行音视频和数据通信;支持该协议的软件包括 Adobe Media Server/Ultrant Media原创 2021-01-15 15:27:11 · 868 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- NAT
【网络通信 -- 直播】WebRTC 学习系列 -- NAT【1】原创 2020-06-11 11:06:48 · 1163 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- TURN
【网络通信 -- 直播】网络通信协议简介 -- TURN资料链接TURN_RFC5766,链接:https://pan.baidu.com/s/1jgcMu9ooiG7qoUq5A3gfTA 提取码:cs0d参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。【1】TURN_RFC5766【2】P2P技术详解(四):P2P技术之STUN、TURN、ICE详解...原创 2021-02-02 21:32:56 · 948 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- STUN
【网络通信 -- 直播】网络通信协议简介 -- STUN资料链接STUN RFC5389 中/英文版,链接:https://pan.baidu.com/s/1cgSgssJyultDUipSNG8VAA 提取码:28il参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。【1】STUN_RFC5389【2】P2P技术详解(四):P2P技术之STUN、TURN、ICE详解【3】WebRTC网络基础 九、第四节 STUN协议..原创 2021-02-01 19:35:16 · 1545 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- ICE
【网络通信 -- 直播】网络通信协议简介 -- ICE【0】简介交互式连接建立,(ICE,Interactive Connectivity Establishment) 与 STUN 和 TURN 不同,ICE 不是一种协议,而是一个框架(Framework)并整合了 STUN 和 TURN;【1】ICE 的基本步骤ICE 的目的,确定可用于双端通信的传输地址对;ICE 基本思想,每一个代理拥有多种可用于与对端通信的候选传输地址(TRANSPORT ADDRESSES,针对特定传输协议(一原创 2021-02-04 11:41:37 · 3376 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- SDP
【网络通信 -- 直播】网络通信协议简介 -- SDPSDP 协议,会话描述协议(Session Description Protocol),用于描述多媒体会话的协议,主要用于描述需要向对方通告的有关会话特征信息的格式;【0】Plan B 与 Unified PlanPlan B 是 SDP 里同类型的媒体流只有一个 m line,同类型的多个媒体流之间通过 msid 区分; Unified Plan 是每个媒体流都有一个 m line;【1】SDP 结构会话级参数,会话中的共性参数,即原创 2021-01-07 11:49:08 · 2356 阅读 · 0 评论 -
【网络通信 -- 直播】网络通信协议简介 -- SIP
【网络通信 -- 直播】网络通信协议简介 -- SIP【1】SIP 协议简介SIP (会话初始协议) 是用于发起、控制、终结多媒体会话 (会话,Internet 的许多应用都需要建立和管理一个会话,会话是参与者之间的数据交换) 的信令协议,SIP 独立运行于通讯协议之下,并且不依赖建立的会话类型; SIP 协议是 IETF 致力于将电话服务带入 IP 网络众多协议的一个组成部分 (与 SDP、RTP、RTCP、RTSP、RSVP、TRIP 等众多协议构成 SIP 系统协议栈); SIP 协议允许原创 2021-08-31 17:29:04 · 620 阅读 · 0 评论 -
【网络通信 -- 直播】流媒体协议中的时间戳理解与音视频同步
【网络通信 -- 直播】流媒体协议中的时间戳理解与音视频同步【1】音视频同步的概念示例音视频同步即视频同步到音频,视频在渲染的时候,每一帧视频与音频的时间戳对比,以判定是立即渲染还是延迟渲染;比如有一个音频序列,其时间戳是 A(0,20,40,60,80,100,120 ...),视频序列 V(0,40,80,120 ... )音画同步的步骤如下 :1) 取一帧音频 A(0) 播放;取一帧视频 V(0),视频帧时间戳与音频相等,视频立即渲染 2) 取一帧音频 A(20) 播放;取一帧视频原创 2021-12-17 17:02:12 · 2166 阅读 · 0 评论