多媒体技术

43
多多 多多 多多 多多 中中中中中中中中中中中中中 中中中

description

多媒体技术. 中南大学信息科学与工程学院 黄东军. 第十章 网络组播技术. 1 组播的概念. 广播 :将源端数据发送到一个网络中的所有主机的传播方式。广播使用广播地址。 单播 :将源端数据发送到网络中的某个特定主机的传播方式。单播使用特定主机地址。 组播 :将源端数据发送到网络中的一组主机的传播方式。组播使用组地址。. 1 组播的概念. Src. Src. 组播:一种有效节省网络带宽的传输方式。. 2 组播的应用. 广泛应用于一对多( one-to-many )的传送需要 举例 : 新闻 / 体育消息 / 股票信息 / 天气信息的更新发布 - PowerPoint PPT Presentation

Transcript of 多媒体技术

Page 1: 多媒体技术

多媒体技术多媒体技术

中南大学信息科学与工程学院 黄东军

Page 2: 多媒体技术

第十章 网络组播技术第十章 网络组播技术

Page 3: 多媒体技术

1 1 组播的概念组播的概念

广播:将源端数据发送到一个网络中的所有主机的传播方式。广播使用广播地址。 单播:将源端数据发送到网络中的某个特定主机的传播方式。单播使用特定主机地址。 组播:将源端数据发送到网络中的一组主机的传播方式。组播使用组地址。

Page 4: 多媒体技术

1 1 组播的概念组播的概念

Src Src

组播:一种有效节省网络带宽的传输方式。

Page 5: 多媒体技术

2 2 组播的应用组播的应用 广泛应用于一对多(广泛应用于一对多( one-to-manyone-to-many )的传送需要)的传送需要 举例举例 ::

新闻新闻 // 体育消息体育消息 // 股票信息股票信息 // 天气信息的更新发布天气信息的更新发布 远程教育(远程教育( Distance learningDistance learning )) 网络路由信息更新(网络路由信息更新( routing updatesrouting updates )) 远程会议(远程会议( Teleconferencing Teleconferencing ,, audio, video, audio, video,

shared whiteboard, text editorshared whiteboard, text editor )) 分布式交互式游戏和仿真(分布式交互式游戏和仿真( Distributed Distributed

interactive gaming or simulationsinteractive gaming or simulations )) 内容发布(内容发布( Content distributionContent distribution )) ; ; 软件发布软件发布

(( Software distributionSoftware distribution )) WebWeb 缓存更新(缓存更新( Web-cache updates Web-cache updates )) 数据库应用(数据库应用( Database replicationDatabase replication ))

Page 6: 多媒体技术

3 3 组播与广播、单播的比较组播与广播、单播的比较 广播(广播( BroadcastBroadcast )) ::

将一个数据拷贝发送到网络中的所有主机将一个数据拷贝发送到网络中的所有主机 实现简单(实现简单( SimpleSimple )) , , 但是效率不高(但是效率不高( inefficientinefficient )) 即使主机对该数据不感兴趣也必须处理它即使主机对该数据不感兴趣也必须处理它 因此占用了主机的因此占用了主机的 CPUCPU 资源资源 会产生广播风暴“会产生广播风暴“ broadcast stormsbroadcast storms””

多个重复的单播(多个重复的单播( Replicated UnicastReplicated Unicast )) 发送者依次向各接收主机发送相同的数据发送者依次向各接收主机发送相同的数据 发送者必须事先知道每个接收主机的地址发送者必须事先知道每个接收主机的地址 通讯量在发送方过于集中,通讯量在发送方过于集中, 但比较可靠(但比较可靠( ReliabilityReliability => per-receiver state, => per-receiver state,

separate sessions/processes at senderseparate sessions/processes at sender ))

Page 7: 多媒体技术

4 IP4 IP 组播的体系结构组播的体系结构

Hosts

Routers

服务模型服务模型Service modelService model

主机与路由器关系协主机与路由器关系协议议 (IGMP)(IGMP)

组播路由协议组播路由协议Multicast routing protocolsMulticast routing protocols

Page 8: 多媒体技术

5 IP 5 IP 组播模型组播模型 : RFC 1112: RFC 1112

发送者(源)不需要知道接收主机发送者(源)不需要知道接收主机 使用组地址“使用组地址“ group addressgroup address””标识一个群组标识一个群组

即即 IPIP 包的头部使用的是组地址而不是单播地址包的头部使用的是组地址而不是单播地址 群组所包含的主机数量是任意的群组所包含的主机数量是任意的(( any sizeany size )) ;; 群组成员可以位于互联网任何地方群组成员可以位于互联网任何地方 群组关系(群组关系( Group membershipGroup membership )是非显式知)是非显式知

道的(道的( not explicitly knownnot explicitly known )) 接收主机可以在任何时候加入或者退出群组通信接收主机可以在任何时候加入或者退出群组通信

(( ReceiversReceivers can can join/leave at willjoin/leave at will ))

Page 9: 多媒体技术

网络负责构造分配树(网络负责构造分配树( Distribution treeDistribution tree ,,也叫组播树 )以实现组播传输也叫组播树 )以实现组播传输

在组播传输中,任何子网中不能出现同一在组播传输中,任何子网中不能出现同一数据的两个副本数据的两个副本

组播数据只能传送给群组成员(由于群组组播数据只能传送给群组成员(由于群组成员可以在任何时候加入或者退出群组,成员可以在任何时候加入或者退出群组,因此组播传送是一个非常动态化的问题因此组播传送是一个非常动态化的问题(( multicast delivery tree changes multicast delivery tree changes dynamicallydynamically ))

5 IP 5 IP 组播模型组播模型 : RFC 1112: RFC 1112

Page 10: 多媒体技术

6 IP 6 IP 组播地址组播地址 IPIP 组播使用组播使用 DD 类类 IPIP 地址地址(( Class D IP addressesClass D IP addresses ))

224.0.0.0 – 239.255.255.255224.0.0.0 – 239.255.255.255

组地址的分配(组地址的分配( Address allocationAddress allocation )) :: IANAIANA 指定了一些永久地址指定了一些永久地址 ( ( Well-known : Well-known :

224.0.0.x and 224.0.1.x224.0.0.x and 224.0.1.x ););其他组地址是临时组其他组地址是临时组地址地址(( Transient multicast addressesTransient multicast addresses ),),需要动需要动态分配态分配

每一个组地址代表一个主机群组每一个组地址代表一个主机群组(( host grouphost group )) IPIP 组地址是非结构化的组地址是非结构化的(( flat address spaceflat address space ))

1 1 1 0 Group ID

Page 11: 多媒体技术

IPIP 组播服务:组播数据的接收组播服务:组播数据的接收 提供两种操作提供两种操作

加入组播群组加入组播群组 :: Join-IP-Multicast- Join-IP-Multicast-Group(group-address, interface)Group(group-address, interface)

退出群组:退出群组: Leave-IP-Multicast-Leave-IP-Multicast-Group(group-address, interface)Group(group-address, interface)

加入群组后,主机通过常规加入群组后,主机通过常规 IPIP 接收操作接收操作(( normal IP-receive operationnormal IP-receive operation )接收组播)接收组播数据包数据包

Page 12: 多媒体技术

7 IP7 IP 组播地址到链路层组地址的映射组播地址到链路层组地址的映射

以太网(以太网( EthernetEthernet )等局域网使用)等局域网使用 802802 地址地址 :: 采用直接映射采用直接映射(( Direct mapping! Direct mapping! 较较 unicastunicast 简单简单 ! ! 无需无需 ARPARP

等协议等协议 .. ))

LAN multicast address

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0

1 1 1 0 28 bits

23 bits

IP multicast address

Group bit

Page 13: 多媒体技术

IP Multicast ArchitectureIP Multicast Architecture

Hosts

Routers

Service model

Host-to-router protocolHost-to-router protocol(IGMP)(IGMP)

Multicast routing protocols(various)

Page 14: 多媒体技术

8 8 群组关系管理协议(群组关系管理协议( Internet Internet Group Management ProtocolGroup Management Protocol ))

IGMP: IGMP: 在子网中建立、维护和撤销群组的在子网中建立、维护和撤销群组的信号协议信号协议““ signaling protocolsignaling protocol”” 。。

目标目标 : : 保持路由器对整个局域网上群组关保持路由器对整个局域网上群组关系的更新系的更新(( keep router up-to-date with keep router up-to-date with group membership of entire LANgroup membership of entire LAN )) 但是,路由器不需要知道所有成员的存但是,路由器不需要知道所有成员的存

在,而只需要知道是否有成员主机存在在,而只需要知道是否有成员主机存在

Page 15: 多媒体技术

IGMPIGMP 协议的工作原理协议的工作原理

一个网络选择一个路由器充当查询者一个网络选择一个路由器充当查询者““ querier”querier” 查询者周期性发送群组关系查询报文查询者周期性发送群组关系查询报文 IGMP IGMP

(( Membership Query messageMembership Query message )) 到一个特定 到一个特定地址地址(( all-systems group all-systems group ,, 224.0.0.1)224.0.0.1)

所有主机接收到该报文后,启动一个随机计时所有主机接收到该报文后,启动一个随机计时器器(( random timersrandom timers ,, 0~10 0~10 秒秒 ))

QRouters:

Hosts:

Page 16: 多媒体技术

IGMPIGMP 协议的工作原理协议的工作原理 (cont.)(cont.)

一旦有一个主机超时,它就发送一个群组关系应答报文一旦有一个主机超时,它就发送一个群组关系应答报文(( Membership ReportMembership Report ))到组到组 GG

其他主机也接收到该报文,立即终止其定时器其他主机也接收到该报文,立即终止其定时器 路由器负责监听所有群组的应答报文,如果一个群组未给路由器负责监听所有群组的应答报文,如果一个群组未给

出应答(超时),路由器就终止对该群组报文的转发出应答(超时),路由器就终止对该群组报文的转发

Q

G G G G

Routers:

Hosts:

Page 17: 多媒体技术

IP Multicast ArchitectureIP Multicast Architecture

Hosts

Routers

Service model

Host-to-router protocol(IGMP)

Multicast routing protocols

Page 18: 多媒体技术

9 9 组播路由(组播路由( Multicast RoutinMulticast Routingg ))

组播路由的基本目标:在网络层为传送组组播路由的基本目标:在网络层为传送组播数据包而建立组播分配树播数据包而建立组播分配树

组播树的叶结点是指包含有群组成员主机组播树的叶结点是指包含有群组成员主机的子网 的子网 (detected by IGMP)(detected by IGMP)

组播路由是一个比较困难的课题组播路由是一个比较困难的课题(( Multicast service model makes it hardMulticast service model makes it hard )) 组播的匿名性组播的匿名性 动态加入和退出(动态加入和退出( Dynamic join/leaveDynamic join/leave ))

Page 19: 多媒体技术

简单组播路由技术概览简单组播路由技术概览 基于泛播与剪枝技术的路由基于泛播与剪枝技术的路由

首先在整个网络泛播组播数据包首先在整个网络泛播组播数据包 然后剪除不含成员主机的网络分枝然后剪除不含成员主机的网络分枝 属于这类技术的协议属于这类技术的协议 : : DVMRP, PIM-DMDVMRP, PIM-DM

基于链路状态的组播路由协议基于链路状态的组播路由协议 一个路由器知道有成员主机加入群组时,它就一个路由器知道有成员主机加入群组时,它就

在整个网络广播该群组关系在整个网络广播该群组关系 一个路由器接收到组播数据时,它就利用一个路由器接收到组播数据时,它就利用

DijkstraDijkstra 算法计算到目标主机的最短路经,并算法计算到目标主机的最短路经,并转发组播数据转发组播数据

协议举例协议举例 : : MOSPFMOSPF

Page 20: 多媒体技术

基于泛播的组播路由过程基于泛播的组播路由过程G G

S

G

Page 21: 多媒体技术

泛播(泛播( FloodingFlooding ))G G

S

G

Page 22: 多媒体技术

剪枝(剪枝( PruningPruning ))G G

S

Prune (s,g)

Prune (s,g)

G

Page 23: 多媒体技术

Graft (s,g)

Graft (s,g)

嫁接(嫁接( GraftingGrafting ))G G

S

G

G

Report (g)

Page 24: 多媒体技术

嫁接完成后嫁接完成后G G

S

G

G

Page 25: 多媒体技术

距离向量组播路由(距离向量组播路由( Distance-Distance-Vector Multicast RoutingVector Multicast Routing ))

DVMRPDVMRP 由两部分组成由两部分组成 :: 常规距离向量协议 常规距离向量协议 (like RIP) (like RIP) 组播数据包转发协议组播数据包转发协议

DVMRP DVMRP 转发组播数据包 转发组播数据包 ifif The packet The packet arrived from the link used to reach the arrived from the link used to reach the

source of the packetsource of the packet 即反向路径转发 即反向路径转发 – – RPFRPF

仅在子链路上转发组播数据包仅在子链路上转发组播数据包 如果下游链路没有成员节点,则进行剪枝处理如果下游链路没有成员节点,则进行剪枝处理

Page 26: 多媒体技术

DVMRP DVMRP 协议的缺点协议的缺点 像其他基于距离向量的协议一样像其他基于距离向量的协议一样 , , 受无穷受无穷计数(计数( count-to-infinitycount-to-infinity )和环路影响)和环路影响(( transient loopingtransient looping ))

伸缩性受到类伸缩性受到类 RIPRIP 协议的制约协议的制约 . . 也引入了也引入了新的伸缩性问题(新的伸缩性问题( scaling limitationsscaling limitations )) : : 路由器的路由器的 (S,G) (S,G) 状态,使路由器存储开状态,使路由器存储开

销比较大销比较大 !! 广播对网络冲击比较大广播对网络冲击比较大 ..

Page 27: 多媒体技术

Multicast Backbone (MBone)Multicast Backbone (MBone) An An overlay networkoverlay network of IP multicast-capable routers of IP multicast-capable routers

using DVMRPusing DVMRP Tools: sdr (session directory), vic, vat, wbTools: sdr (session directory), vic, vat, wb

Host/router

MBone router

Physical linkTunnelPart of MBone

R R

R

H R

H

R

RH

Page 28: 多媒体技术

Multicast OSPF (MOSPF)Multicast OSPF (MOSPF)

MOSPFMOSPF 是是 OSPFOSPF 的扩充,以便支持组播的扩充,以便支持组播 路由器(路由器( Multicast-capable routersMulticast-capable routers )广播链路状)广播链路状

态广告(态广告( link state routing advertisementslink state routing advertisements )) 链路状态报文中包含有组播地址(链路状态报文中包含有组播地址( Link-state Link-state

packets packets include multicast group addressesinclude multicast group addresses to to which local members have joinedwhich local members have joined ))

一个路由器接到组播数据包时就计算(应用一个路由器接到组播数据包时就计算(应用DijkstraDijkstra 算法)到目标节点的最短路径以便形成组算法)到目标节点的最短路径以便形成组播树播树

Page 29: 多媒体技术

Source 1

Receiver 1

Receiver 2

MOSPF: Example

Z

W

Q

T

Page 30: 多媒体技术

Source 1

Receiver 1

Receiver 2

Link Failure/Topology Change

Z

W

Q

T

X

Page 31: 多媒体技术

Source 1

Receiver 1

Receiver 2

Group Membership Change

Z

W

Q

T

Receiver 3

Page 32: 多媒体技术

共享树 共享树 vs. vs. 源基树源基树 源基树(源基树( Source-based treesSource-based trees ))

为每一个源端建立一个组播树为每一个源端建立一个组播树 每个路由器维护每个路由器维护 (S,G) (S,G) 状态(状态( statestate )的组播路由表 )的组播路由表 Eg: DVMRP, MOSPF, PIM-DM, PIM-SMEg: DVMRP, MOSPF, PIM-DM, PIM-SM

共享树(共享树( Shared treesShared trees )) 所有成员共享一个组播树所有成员共享一个组播树 无论哪个源端都是用同一个组播树传输数据无论哪个源端都是用同一个组播树传输数据 路由器只需要维护路由器只需要维护 (*,G) (*,G) 状态( 状态( (*,G) state at (*,G) state at

intermediate routersintermediate routers )) Eg: CBT, PIM-SMEg: CBT, PIM-SM

Page 33: 多媒体技术

源基树(源基树( Source-based TreesSource-based Trees ))Router

Source

Receiver

S

R

R

R

R

R

S

S

Page 34: 多媒体技术

共享树(共享树( Shared TreeShared Tree ))

RPRP

Router

Source

Receiver

S

S

S

R

R

R

R

R

Page 35: 多媒体技术

Shared vs. Source-Based TreesShared vs. Source-Based Trees Source-based treesSource-based trees

Shortest path trees – low delay, better load distributionShortest path trees – low delay, better load distribution More state at routers (per-source state)More state at routers (per-source state) 在密集模式的网络环境下比较有效(在密集模式的网络环境下比较有效( Efficient in Efficient in dense-dense-

areaarea multicast multicast ))

Shared treesShared trees Higher delay (bounded by factor of 2), traffic Higher delay (bounded by factor of 2), traffic

concentrationconcentration Choice of core affects efficiencyChoice of core affects efficiency Per-group state at routersPer-group state at routers 比较适合稀疏模式的网络环境(比较适合稀疏模式的网络环境( Efficient for Efficient for sparse-sparse-

areaarea multicast multicast ))

Page 36: 多媒体技术

Core-based Routing ProtocolsCore-based Routing Protocols

Specify “meeting place” aka “core” or Specify “meeting place” aka “core” or “rendezvous point (RP)”“rendezvous point (RP)”

Sources send initial packets to coreSources send initial packets to core Receivers join group at coreReceivers join group at core Requires mapping between multicast group Requires mapping between multicast group

address and “meeting place” address and “meeting place” Examples: Examples: CBT, PIM-SMCBT, PIM-SM

Page 37: 多媒体技术

协议独立组播路由协议:协议独立组播路由协议:Protocol Independent Multicast Protocol Independent Multicast

(PIM)(PIM) Support for both shared and per-source Support for both shared and per-source

treestrees Dense mode (per-source tree)Dense mode (per-source tree)

Similar to DVMRPSimilar to DVMRP Sparse mode (shared tree)Sparse mode (shared tree)

Core = rendezvous point (RP)Core = rendezvous point (RP) Independent of unicast routing protocolIndependent of unicast routing protocol

Just uses unicast forwarding tableJust uses unicast forwarding table

Page 38: 多媒体技术

PIM Protocol OverviewPIM Protocol Overview

Basic protocol stepsBasic protocol steps Routers with local members Join toward Routers with local members Join toward

Rendezvous Point (RP) to join shared treeRendezvous Point (RP) to join shared tree Routers with local sources encapsulate data in Routers with local sources encapsulate data in

Register messages to RP Register messages to RP Routers with local members may initiate data-Routers with local members may initiate data-

driven switch to source-specific shortest path driven switch to source-specific shortest path trees trees

PIM v.2 Specification (RFC2362)PIM v.2 Specification (RFC2362)

Page 39: 多媒体技术

Source 1

Receiver 1

Receiver 2

PIM Example: Build Shared Tree

(*,G)

Receiver 3

(*,G)

(*,G)

(*,G)

(*,G)

(*,G)

Join messagetoward RP

Shared tree after R1,R2 join

RP

Page 40: 多媒体技术

Source 1

Receiver 1

Receiver 2

Data Encapsulated in Register

(*,G)

Receiver 3

(*,G)

(*,G)

(*,G)

(*,G)

(*,G)

Unicast encapsulated data packet to RP in Register

RP

RP de-capsulates, forwards down shared tree

Page 41: 多媒体技术

Source 1

Receiver 1

Receiver 2

RP Send Join to High Rate Source

Receiver 3

(S1,G)

RP

Join messagetoward S1

Shared tree

Page 42: 多媒体技术

Source 1

Receiver 1

Receiver 2

Build Source-Specific Distribution Tree

Receiver 3

Join messages

Shared Tree

RP

Build source-specific tree for high data rate source

(S1,G),(*,G)

(S1, G)

(S1,G),(*,G)(S1,G),(*,G)

Page 43: 多媒体技术

Thank you !Thank you !