Presentation is loading. Please wait.

Presentation is loading. Please wait.

學研計畫Training Course IP Multicasting

Similar presentations


Presentation on theme: "學研計畫Training Course IP Multicasting"— Presentation transcript:

1 學研計畫Training Course IP Multicasting
Instructor: Jen-Shun Yang Date: Feb. 6, 2004

2 Outline Principles of IP Multicasting IP Multicasting Protocols
Multicasting Programming PoC with Multicast Supporting Q & A

3 Principles of IP Multicasting

4 Unicast v.s. Multicast IP Based Public Network IP Based Public Network
140.X.3.22 or 140.X.3.22 IP Based Public Network IP Based Public Network IP Based Private Network IP Based Private Network 140.X.1.10 140.X.1.11 140.X.1.12 140.X.2.33 Unicasting Mulicasting

5 General Characteristics of IP Multicasting
Group address: each multicasting group is a unique class D address. Number of groups: up to 228 simultaneous multicast groups. Dynamic group membership: a host can join or leave an IP multicasting group at any time. Use of hardware: underling network can support multicast. Inter-network forwarding: the capability of IP multicast is usually added to conventional routers. Delivery semantics: as same as best-effort delivery semantic. IP multicast datagram can also be lost, delayed, duplicated, or delivered out of order. Membership and transmission: group membership is only used to determine whether the host receivers datagram sent to group.

6 Multicast Addresses through A multicast address can never appear in the source address field of a datagram, nor can it appear in a source route or record route option

7 Examples of A Few Permanent IP Multicast Address Assignments

8 Mapping IP Multicast to Ethernet Multicast

9 Hosts and Multicast Delivery
Multicast Hosts and Multicast Routers Multicast Delivery Single physical network Throughout an Internet the primary difference between local and non-local multicast lies in multicast router, not in hosts

10 Multicast Scope The scope of multicast group refers to the range of group member. IP uses two techniques to control multicast scope: Time-to-live (TTL): 0: inter-process, 1: intra signal physical network Administrative Scoping: distinct by the reserving part of address space

11 Three Levels of participation in IP Multicast

12 IP Multicasting Protocols

13 IP Multicasting Protocols
Internet Group Management Protocol (IGMP): RFC 1112 and RFC2256 (updates RFC 1112) Distance Vector Multicast Routing Protocol (DVMRP): RFC 1075 Core Based Trees (CBT): RFC 2189, RFC 2201 Protocol Independent Multicast (PIM): RFC 2362 Multicast Extensions to OSPF (MOSPF): RFC 1584

14 Internet Group Management Protocol (IGMP)
IGMP is a group management protocol. It helps a multicast router create and update a list of loyal members related to each router interface. Although IGMP uses IP datagram to carry messages, we think of it as an integral part of IP, not a separate protocol. IGMPv2 is current version.

15 Position of IGMP in the Network Layer

16 IGMP Message Types

17 IGMP Message Format

18 IGMP Operation

19 General Query Message

20 Membership Report In IGMP, a membership report is sent twice, one after the other.

21 IGMP Group Membership State Transition
a Multicast router only generates a query every 125 second.

22 Encapsulation of IGMP Packet
IP Header fields: Protocol field = 2 TTL field = 1

23 IGMP Package

24 IGMP Group Table State: Free, Delaying, Idle
Reference Count: Number of processes interested

25 Multicast Forwarding and Routing Information
Network 1 G1 G1 G2 G2 B C D E R Network s Network 2 G1 A G2 F G Special Features of Multicasting routing: Multicast routes can change simple because an application program join or leave a multicast group. Multicast forwarding requires a router to examine more than the destination address. Sender of a multicast group may not join the multicast group.

26 Avoid Routing Loops When making a forwarding decision, a multicast router use both the datagram’s source and destination address. The basic forwarding mechanism is known as Truncated Reverse Path Forwarding (TRPF) or Truncated Reverse Path Forwarding (TRPB) TRPF scheme follows the RPF scheme (unicast version).

27 TRPF scheme Routing Information: a conventional routing table and a list of multicast groups reachable through each network interface. Execution Steps: when a multicast datagram arrives, the router: Applies RPF rule: If RPF specifies discarding the copy, the router does so. If RFP specifies transmitting the datagram over particular interface, the router makes an additional check to verify that one or more members of the group designated in the datagram’s destination address are reachable over the interface. If no group members are reachable over the interface, the router skips that interface and continues examining the next one.

28 TRPF Problems

29 Multicast Membership Propagation
If group membership information is not propagated rapidly, multicast routers will not make optimal decisions (i.e., they either forward datagrams across some networks unnecessarily or fail to send datagrams to all group members). A multicast routing scheme that communicates every membership change to every router is doomed because the resulting traffic can overwhelm an internet.

30 Reverse Path Multicasting (RPM)
RPM extends TRPF to make it more dynamic. Bottom up multicast membership propagation Broadcast and Prune Strategy A router broadcasts datagrams (using RPF), Until it receives information that allow it prune a path. Data-driven model A router does not send group membership information to any other routers until datagrams arrive for that group. Graft requests graft the previously pruned branch back onto the tree.

31 Multicasting Programming

32 Multicast Socket Functions
#include <sys/socket.h> int getsocketopt (int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsocketopt (int sockfd, int level, int optname, const void *optval, socklen_t *optlen); Both return: 0 if OK, -1 on error Level = IPPROTO_IP or IPPRPTO_IPv6 Other parameters see next slide

33 Multicast Socket Options
Command Datatype Description IP_ADD_MEMBERSHIP IP_DROP_MEMBERSHIP IP_MULTICAST_IF IP_MULTICAST_TTL IP_MULTICAST_LOOP struct ip_mreq struct in_addr u_char Join a multicast group Leave a multicast group Specify default interface for outgoing multicasts Specify TTL for outgoing multicast Enable or disable loopback of outgoing multicast IPV6_ADD_MEMBERSHIP IPV6_DROP_MEMBERSHIP IPV6_MULTICAST_IF IPV6_MULTICAST_LOOP struct ipv6_mreq u_int int struct ip_mreq { struct in_addr imr_multiaddr; /* IPv4 class D multicast addr */ struct in_addr imr_interface; /* IPv4 addr of local interface */ } struct ipv6_mreq { struct in6_addr ipv6imr_multiaddr; /* IPv6 multicast addr */ unsigned int ipv6imr_interface; /* interface index, or 0 */

34 Example Program (IPv4)

35 Example Program (IPv6)

36 Program Examples (others)
ftp://ftp.kohala.com/pub/rstevens/unpv12e.tar.gz Or ftp://pdptlg6.csie.nctu.edu.tw:6350/pub/unpv12e.tar.gz In /lib

37 PoC with Multicast Supporting

38 What is Push-to-talk ? Ericsson, Siemens, Mortorola and Nokia published the Push-to-talk over Cellular (PoC) release 1.0 at Aug Mobile phone user can only push one button to talk with another person or a group. CCL enhance the idea to the WLAN/Cellular inter-working named Push-to-talk over WLAN/Cellular (PoW/C)

39 Why PoC ?

40 Floor Control The method that UEs to have and to release the resource in the PoC server Floor Idle: PoC Server notify UEs the resource is free Floor Request: UE request media resource to PoC Server Floor Grant: PoC Server notify agreed to the request UE Floor Deny: PoC Server notify rejected to the request UE Floor Taken: PoC Server notify all other UEs, a resource has been granted to another UE. Floor Release: UE notify PoC Server to release the resource Floor Revoke: PoC Server cancel the resource from UE

41 PoC without Multicasting (Current)
GLMS PoW/C Server Ucast RTP session for Speaker Ucast RTP session for Listener Talk Floor grant IP Network UE A UE C UE D UE F UE B

42 PoC with Multicasting (Store and Forward)
GLMS PoW/C Server Ucast RTP session for Speaker Mcast RTP session for Listener Talk Floor grant IP Network UE A UE C UE D UE F UE B

43 PoC with Multicasting (Direct Connect)
GLMS PoW/C Server Mcast RTP session for Speaker Mcast RTP session for Listener Floor grant Talk IP Network Talk UE A UE C UE D UE F UE B

44 PoC with Multicasting (Direct Connect)-2
GLMS PoW/C Server Mcast RTP session for Speaker Mcast RTP session for Listener Floor grant IP Network Talk UE A UE C UE D UE F UE B

45 Q & A


Download ppt "學研計畫Training Course IP Multicasting"

Similar presentations


Ads by Google