400 likes | 587 Views
第 6 章 多媒体通信网络技术. Internet 应用 (SNPM/NFS). Internet 应用 (SNPM/NFS). 实时组播应用. 实时流应用. WWW 应用. RTP. SRM. UDP/Multicasting. RSVP. TCP. IPv4/6. 网络接口层. 应用层. 表示层. 应用层. 会话层. 传送层. TCP UDP. 使用 IP 地址. 网络层. IP ARP. 网络接口. 数据链路层. 使用物理地址. ( 硬件 ). 物理层 ( 硬件接口 ). TCP/IP 模型.
E N D
Internet应用 (SNPM/NFS) Internet应用 (SNPM/NFS) 实时组播应用 实时流应用 WWW应用 RTP SRM UDP/Multicasting RSVP TCP IPv4/6 网络接口层 应用层 表示层 应用层 会话层 传送层 TCP UDP 使用IP地址 网络层 IP ARP 网络接口 数据链路层 使用物理地址 (硬件) 物理层 (硬件接口) TCP/IP模型 ISO参考模型 6.3 多媒体通信协议
TCP/IP协议族是一个具有分层结构的网络协议体系,分层的作用是将整个协议按功能分层,每层完成某些特定的功能,上下层之间通过层间接口提供服务和传递信息,从而简化了不同系统之间数据通信的实现,但同时也增加了信息传输的时延。 (1) 网络接口层 TCP/IP协议不包含物理层和数据链路层协议, 只定义了TCP/IP与各种物理网络之间的网络接口规范。
(2) IP层 负责协调计算机之间的通信。IP是Internet的基础,目前通用的IP协议为IPv4,在NGN中使用的是IPv6。 ICMP协议为IP层提供解决差错报告与控制机制的方法。
(3) 传输层 主要功能是在站点间建立端到端的连接和事务处理, 在进程之间提供可靠的和有效的传输服务。TCP/IP的传送层提供了两个主要的协议: 传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol)。 (4) 应用层 应用层向用户提供一种常用的应用程序。
6.3.1 IPv6 • IP协议是TCP/IP协议族中最主要的协议之一。IP协议的主要功能包括无连接数据报传送功能、数据报路由功能和选择差错控制功能。 • IP协议提供的是不可靠的、无连接的传送服务 无连接、“尽力而为” 注重传输效率而非质量:不能保证QoS 采用存储-转发机制:延时抖动 IPv4不堪重负 • 地址资源行将枯竭 • 路由表越来越庞大 • 分配地址不方便
IPv6地址格式 • IPv6的地址长度则为128个比特,并采用十六进制表示。这128个比特被分为8组,中间用“:”隔开,表示格式为X:X:X:X:X:X:X:X。每组16位,用十六进制表示,则为4位十六进制整数。例如:2001:fecd:ba23:cd1f:dcb1:1010:9234:C9B4。在十六进制中,A到F表示的是10到15。 • 在IPv6地址中, 允许出现连续的0, 并可用“::”表示, 但一个地址中只能出现“::”一次。
IPv6地址分类 • IPv6地址由一个格式前缀、一个子网号和一个接口号组成。 • IPv6有三种类型地址:单播地址(unicast) 、任意地址(anycast) 和组播地址(multicast) ,这与IPv4按类别划分A、B、C、D、E类地址不同。
①单播地址 • 该地址标识某一单个接口,用于一对一的通信。例如一个接口将分组发给另一个接口,这两个接口都有唯一地址。 包括以下四种类型: • 可聚集全球单播地址(Aggregatable global unicast addresses) • 本地链路地址(Link- local addresses) • 本地站点地址(site-local addresses) • 特殊单播地址(Special addresses)
②任意地址 • 该地址标识属于不同节点的一组接口,用于一与多中的其中一个进行通信。它的一个可能的用法是当一个公司网络提供因特网访问时,网内所有提供因特网访问的路由器都配置相同的一个任意地址,每当一个数据包访问因特网时,它就会被发送到提供因特网访问的路由器中距离最近的一个路由器上。
③ 组播地址 • 该地址标识属于不同节点的一组接口,用于点到多点的通信。发往组播地址的数据包将被传送到该地址标识的所有接口。IPv6协议不再定义广播地址,其功能可由组播地址替代,当所有地址都包含在组播地址内时就相当于广播,如图6-38所示。
IPv6编址 多 播 单 播 任意播 可聚合全球 地址 本地链路 地址 本地站点 地址 被请求节点地址 分配的地址 FF::/8 FF02::1:FF00:0000/104 2001::/16 2002::/16 3FFE::/16 FE80::/10 本地站点 地址 本地链路 地址 可聚合全球 地址 末指定的回环 地址 IPv4兼容 地址 2001::/16 2002::/16 3FFE::/16 ::/128 ::/128 FE80::/10 FEC0::/10 0:0:0:0:0:0::/96 • IPv6寻址结构中的地址类型
版本 流量类别 流标签 净负荷长度 下一包头 跳数限制 源地址 目的地址 • 数据格式 • 一个IPv6分组可以包含:IPv6基本包头、可选的扩展包头和净负荷。
IPv6的基本包头与IPv4相比做了如下修改: • ① 去掉了IPv4中的包头长度、标识、标志、片偏移、包头校验和、选项六个字段 • ② 增加了流标签字段 • ③ 将IPv4中的服务类型字段替换为流量类别字段 • ④ 修改了协议类型和生存时间字段内容
IPv6的特点 由于目前因特网使用的协议都是IPv4,下面通过与IPv4的对比来概括一下IPv6的特点: • (1)简化了包头格式 • (2)增加了扩展包头 • (3)扩展了地址功能 • (4)增加了安全性 • (5)补充了QoS管理功能
IPv6与IPv4的共存技术 (1)双栈技术 • 双栈技术支持在同一设备及网络中同时运用IPv4和IPv6。 (2)隧道技术 • 隧道技术支持IPv6业务在IPv4网络中的传输。 (3)转换技术 • 转换技术支持纯IPv6节点和纯IPv4节点间的互通
6.3.2 组播路由选择协议 与 IGMP因特网组管理协议 • 三种类型的IP地址:单播地址、广播地址、组播地址,对应这三种类型的IP地址,在IP网中有三种传送包的方式:单播(Unicast)、广播(Broadcast)和组播(Multicast) • 单播技术 • 一种单点到单点的数据传输模式 • 最常见的Internet通信方式:HTTP、FTP • 缺点:多用户请求时,需要发送多个拷贝,网络利用率低
广播技术 • 一种一点到所有主机的数据传输模式 • 效率高 • 缺点:盲目性 • 组播技术 • 属于IP层,绑定于UDP服务中 • 一份数据发送给一组特定的用户 • 能够向多台主机发送数据包,同时能避免广播风暴的一种更好的解决办法。 • 需要专门的协议IGMP(因特网组管理协议)
IP组播地址的基本概念 • 组播地址 • IP地址中的D类地址为组播地址,其范围从224.0.0.0到239.255.255.255。一个组播IP地址代表一个组播组,组播地址只能用作目的地地址,而不能出现在数据包的源地址中。 • 组播转发树 • 组播传输路径也称为组播转发树 • 最短路径树 • 共享树 • 组播路由算法 • 构造一个组播树使组播信息传送到组播组的各个成员,并且不会产生重复访问,这需要采用一定算法的。在IP组播中一个重要的算法就是反向路径转发RPF(reverse path forward)。
播路由选择协议 DVMRP(距离矢量组播路由协议) MOSPF(组播开放最短路径优先路由协议) PIM-DM(协议独立的组播-密集模式) 密集模式路由协议 稀疏模式路由协议 PIM-SM(协议独立的组播-稀疏模式) CBT(有核树)
因特网组管理协议IGMP • 参加组播的主机与路由器(能支持组播)之间交换组员信息的协议,它能够告知一个物理网络上的所有主机当前所处的组播组,组播路由器需要这些信息以便知道组播包应该向哪些接口转发。 • 一个组播组可以跨越多个网络,组播组中的主机可随时加入或离开组播组 • IGMP报文被封装在IP数据报中,通过IP数据报进行传输 • 3个版本:v1, v2, v3
6.3.3 实时传输协议RTP • 多媒体通信的主要特点之一是实时性,TCP协议提供了高可靠的服务,但是同时又引入了高的传输时延并占用了网络带宽,因而不适于传送实时的音视频数据。 • 实时传输协议RTP能够支持基于IP网络的多媒体通信业务的实现,为实时数据的应用提供点到点或点到多点通信的传输服务。 • RTP运行于UDP之上,利用了UDP协议的端口和校验和的功能。 • RTP协议本身并不确保实时的传送报文和提供另外的服务质量保证,而是依赖下层服务提供。它既不确保报文的传送也不防止报文失序,同时也不认为下层网络是可靠地按序传送报文的。
RTP协议用于传送具有实时性要求的数据,如音/视频数据。它与另一个协议密切相关,这个协议就是RTP的控制协议——实时传输控制协议RTCP(RTP Control Protocol),该协议用于监测实时传输的服务质量,并传递正在进行的会话中的参与者的信息。 • RTP主要用于承载多媒体数据,并通过包头时间参数的配置使其具有实时的特征。 • RTCP主要用于周期地传送RTCP包,监视RTP传输的服务质量。
RTP会话 • 一组用户之间通过RTP建立的连接称为RTP会话,“用户”为会话的参与者。 • 对每一参与者,该RTP会话由一对特定的传送层地址来标识,包括一个网络地址和一对端口号(分别给RTP和RTCP使用) • 组播:IP地址相同,并使用同一对端口号 • 单播:使用各自IP地址,使用同一对端口号 • 多个媒体对应多个RTP会话
RTP报头格式 • V: RTP协议的版本号, 占2位, 当前协议版本号为2。 • P: 填充标志, 占1位, 如果P=1, 则在该报文的尾部将填充一个或多个额外的八位组, 它们不是有效载荷的一部分。 • X: 扩展标志, 占1位, 如果X=1, 则在RTP报头后跟有一个扩展报头。 • CC: CSRC计数器, 占4位, 指示CSRC 标识符的个数。 • M: 标记, 占1位, 不同的有效载荷有不同的含义, 对于视频, 标记一帧的结束; 对于音频, 标记会话的开始。 • PT: 有效载荷类型, 占7位, 用于说明RTP报文中有效载荷的类型, 如GSM音频、JPEG图像等。
序列号: 占16位, 用于标识发送者所发送的RTP报文的序列号, 每发送一个报文, 序列号增1。接收者通过序列号来检测报文丢失情况, 重新排序报文, 恢复数据。 • 时戳(Timestamp): 占32位, 时戳反映了该RTP报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动, 并进行同步控制。 • 同步源(SSRC)标识符: 占32位, 用于标识同步信源。 该标识符是随机选择的, 参加同一视频会议的两个同步信源不能有相同的SSRC。 • 提供源(CSRC)标识符: 每个CSRC标识符占32位, 可以有0~15个。每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。
实时传输控制协议RTCP • RTCP协议作为RTP协议的控制协议,通过周期性的向所有参加者发送控制报文来传输有关服务质量的反馈信息和参加会话的成员信息。 • RTCP的控制报文主要有以下几种类型: • (1)SR(Sender Report)—— 发送者报告 • (2)RR(Receiver report)—— 接收者报告 • (3)SDES(Source description items)—— 源描述项 • (4)BYE(Indicates end of participation)—— 再见 • (5)APP(Application specific functions)—— 应用特定功能
RTCP协议主要实现以下4种功能: • (1)提供关于数据传输质量的反馈 • (2)固定源标识 • (3)控制流量的缩放 • (4)可选功能
压缩打包后的音频、视频数据 控制平面 数据平面 RTP层 RTCP层 RTSP/SIP层 UDP/TCP层 IP层 Internet RTP的实现 RTP仅仅实现了网络传输层的功能, 要真正实现流媒体的网络传输, 网络层和会话层协议也必不可少。 服务器端的RTP实现框图
在数据平面: 服务器端 (1) 将压缩打包后的音视频数据按照RTP的报文格式装入RTP报文的数据负载段,同时配置RTP报文头部的时间截、同步信息、序列号等重要参数, 此时的数据报文已经具有典型的时间特征,即被“流化”了。 (2) 在UDP/TCP层,RTP报文作为负载数据装入UDP/TCP报文中; (3) 最后,由 IP层负责最后的报文头部配置,实现网络传输。
在客户端,实现方式相反: 各网络层依次去除报文头部,并读取相关的控制参数和时间参数, 最终获取可以实时播放的音视频数据。 在控制平面 RTCP和RTSP报文通过UDP/TCP层后,同样由IP层负责发送。RTSP的主要功能是实现停滞、暂停、快进等VCR控制操作,SIP与RTSP功能类似,RTCP仅负责控制RTP报文的传输。
6.3.4 资源预留协议RSVP • RSVP(Resource Reservation Protocol)协议位于IP层之上,属于OSI参考模型中的传输层,但它不是网络传送协议,因为它不传送应用数据,它也不是路由选择协议,它是一种网络控制协议,用于建立网络资源预留,它允许客户端向网络提出一个特定的请求,为其数据流提供所需的端到端的服务质量(QoS)。
数据流 • 在RSVP协议中将具有一个特定的目的地和传输层协议的数据流定义为“会话(Session)”,所以通常用数据流来表示它所在的那个会话。 • 消息类型 • RSVP能够支持多种消息类型,其中最重要的两个消息是Resv和Path。
Path消息: • 由发送端经路由器逐跳hop-by-hop向下游传送给接收端,其目的是指示数据流的正确路径,包括 • 上一个送出此Path消息的网络节点的IP地址 • 发送模板Sender_Template • 发送流量说明Sender_Tspec • Resv消息: • 由接收端主机向上游传送给发送端,这些消息严格地按照Path消息的反向路径上传到所有的发送端主机,其目的是根据Path消息指示的路径,逆向在沿途的每个节点处预留资源,同一数据流中的不同分组请求预留的QoS可以不同。 • 流规范Flowspec • 过滤器规范Filter_spec:预留分组的情况
RSVP协议的机制(工作过程) • 发送端主机发出Path消息 • 接收端主机发出Resv消息预留资源 • 发送端数据沿资源预留的路径传向接收端
接入控制 策略控制 资源预留 RSVP 处理模块 策略控制 数据 分组调度 分组类别 RSVP网络节点的“业务控制”机制 • 包括: • 接入控制模块、策略控制模块、分组类别模块、分组调度模块和RSVP处理模块 • 在预留建立期间:进行接入控制模块和策略控制模块测试 • 资源预留后,分组类别模块确定每一个数据分组的QoS等级。
RSVP协议的特点 • RSVP是单工的,仅为单向数据流请求资源,因此RSVP的发端和收端在逻辑上被认为是截然相反的。 • RSVP是面向接收者的,即一个数据流的接收端初始化资源预留 • RSVP不是一个路由协议,但是依赖于路由选择协议,路由选择协议决定的是分组向何处转发,而RSVP仅关心这些分组的QoS • RSVP对不支持RSVP协议的路由器提供透明操作,无须采用额外的隧道技术 • RSVP既支持IPv4,也支持IPv6。
6.3.5 实时流协议RTSP • 实时流协议RTSP(Real Time Streaming Protocol)是一种应用层协议,位于传输层之上。RTSP协议定义了媒体服务器和多用户之间如何通过IP网络有效地传送实时多媒体数据。RTSP是一个请求/响应的协议,客户端发出请求,媒体服务器端作出响应,同样,当媒体服务器发出请求的时候,客户端也能作出响应。 • RSTP协议建立并控制一个或多个时间同步的连续媒体,如音频或视频;但其本身并不传送连续媒体流,而是提供一种方法来选择传送通道,如UDP、TCP等 • RSTP控制的流可以通过一个独立的协议来传送,该协议与RTSP的控制通道无关。
在RTSP的媒体服务器和客户端中,主要存在四种状态:Init、Ready、Playing和Recording。状态之间的转变可以通过某种方法传递消息来触发:在RTSP的媒体服务器和客户端中,主要存在四种状态:Init、Ready、Playing和Recording。状态之间的转变可以通过某种方法传递消息来触发: • SETUP • PLAY, RECORD • PAUSE • TEARDOWN • RTSP协议是基于文本的协议,其语法和操作来时于HTTP1.1: • HTTP传送的是HTML;而RTSP传送的是多媒体数据 • HTTP请求有客户端发出,服务器端响应;而RTSP中,客户端和服务器都可以发出请求,可见RTSP是双向的