Você está na página 1de 26

TCP/IP: Upper Layer Protocols

Fall 2002

Pragmatic General Multicast


RFC 3208

By: Sachin Kamboj

Outline
Introduction to multicasting

Multicast vs. multiple unicast Pros of multicasting Services offered Example applications Requirements for achieving reliability Components of a PGM network Operation PGMPDU types PGMPDU formats

Pragmatic general multicast

Introduction to Multicasting
Communication can be of three types: unicast,

broadcast and multicast.

Unicast: One to one communication between hosts. The destination address is the address of the unique host which is the intended recipient of the message.

Introduction to Multicasting

Broadcast: One to all communication between hosts on a given network. The destination address is the address of the network.
Network

11111111

Broadcast to all hosts on the Internet is not possible.

Internet

Introduction to Multicasting

Multicast: One to many (but not all) communication between hosts. A single packet is transmitted to a group of recipients. The destination address is the address of the group.

Hosts which are part of the group

Multicast vs. Multiple Unicast

Multicast

Multiple Unicast
Slide copied from pg. 407, Forouzan: TCP/IP Protocol Suite, 2nd edition

Multicast vs. Multiple Unicast


Multicasting:
The source transmits a

Multiple Unicasting:
The source transmits

single packet which is duplicated by the routers.


Destination address is the

multiple packets.

Each packet is intended for

same for all the duplicates.

a particular destination. Each packet has a different unicast destination address.


Multiple copies may travel

Only one copy of a packet

travels between any two routers.

between any two routers.

Pros of Multicasting
Bandwidth:
0.8 0.7 0.6 0.5

Graph from Pg. 8, Williamson: Developing IP Multicast Networks, Vol.1


Multiple Unicast Multicast

Bandwidth 0.4 Mbps


0.3
0.2 0.1 0 1 20 40 60 80 100

No. of Clients

Server Load:
Server (source) only sends one copy of the packet

Network Loading:
Network has fewer packets to transfer

Pragmatic General Multicast


Services offered:

Multicast data packet (A-PDU) delivery from multiple sources to multiple receivers. Reliability:

Data integrity (uses checksums) No-loss OR detectable loss Guarantees that a receiver in a group either receives all data packets (A-PDUs) or is able to detect unrecoverable data packet loss. No-duplicate

Ordered or unordered

PGM has no notion of group membership.

Uses the services provided by IP Multicast: Unreliable (best effort) packet delivery.

Services Provided by IP Multicast


Offers a best-effort datagram (T-PDU) delivery service from a

source to a group of receivers.


Handles the routing of IP-PDUs so that all the members of a

group receive a copy of the IP-PDU.


Uses IGMP to provide group membership.

Hosts which are part of the group

Example Applications
Financial services Transmitting news, stock quotes, financial indices and other documents to multiple receivers. E-Learning Streaming audio and video to many students at once. Interactive communication between classmates Interactive TV Wireless Entertainment Delivery of data and content to hundreds of millions of cell phones. Bulk Data transfer

Requirements for Achieving Reliability


To achieve reliability ACKs are required. The source solicits confirmation from the receivers.

Acknowledgements can be of two types:


Positive acknowledgements: In the Case of Loss Negative acknowledgements:


T I M E O U T

Used by receivers to indicate the non-receipt of data. In the Case of Loss How do the receivers know that some data that was ACK sent was lost? Loss can be detected since subsequent packets after the loss arrive out of order. No fixed answer: Depends on the application. Certain criteria can be used for deciding on the type of acknowledgement.
Receiver

What type of acknowledgement should be used?


Sender

Positive vs. Negative Acknowledgements


Positive ACKs:
Frequency is a function of

Negative ACKs:
Frequency is a function of

the number of packets transmitted.


Primarily determine transmit

the reliability of the N/W.


Primarily determine repairs

buffer management.

and reliability.

For Multicast Protocols: The burden of positive acknowledgements can overwhelm the source. Positive ACK based reliable multicast protocols do not scale well!!
PGM uses negative acknowledgements (NAKs).

Problems with NAKs in Multicasting

Source receivers in the group send a NAK to All the sends a single copy of the first packet.

The receivers detect a lost packet since a different seq. no was expected

the source Packet Gets lost/corrupted at thethe number of receivers in the group The Number of NAKs equals first link. Source sends the of NAKs cause network congestion A large number next packet in the sequence. Packet reaches all the receivers in the group. This condition is known as NAK Implosion

Components of a PGM Network


Source: Transport Layer originator of Data Packets (A-PDU). Receiver:

Transport Layer consumers of Data Packets (A-PDU).

Network Elements: PGM entities present in the intervening network

Unlike other transport layer protocols which only deal with end-to-end (machine-to-machine) communication, PGM requires PGM compatible routers.

PGM in Network Elements


Traditional transport-layer protocols deal with end to end

communication.

The transport layer is NOT present in intermediate routers.


Network Data-Link Physical Network Data-Link Physical

Transport Network Data-Link Physical Source

Transport Network Data-Link Physical Receiver

Routers

In PGM, the routers (known as network elements) have to

have PGM code in the transport layer.


Transport Network Data-Link Physical Source

Transport Network Data-Link Physical

Transport Network Data-Link Physical

Transport Network Data-Link Physical Receiver

Network Elements

Operation
Normal Data Transfer (i.e. without loss)

PGM Network Element Non-PGM Router

Packets are multicast to the group. No reverse traffic to the source if the transmission was successful

Operation
Source Path Messages (SPMs)

If the data establishes a path for router. The router path repeated by each the particular source by process is changes, subsequent SPMs update the path duplicates the SPM. SPMs are multicast by the state in PGM network elements. They establish source pathsource at Address)intervals in frequent as shown. then replaces the path NLA in the first upstream noting the Path NLA (Network address of eachin the with the The router receivers simply note the Layer SPM SPM. exactly the same always contains the address of the (A-PDUs) way that data packets multicast. They provoke own outgoing interface. are always know the The of its prompt Hence the network detection of missing network element. addressPath NLA elements and receiverspackets nearest A the absence at the first transmit. in SPM arrives next upstream or source. of upstream network element network element/source. address of SPM isdata to router. Finally the the transmitted downstream.

Operation
Case 1: A single packet loss

NE forwardsSequence the (i) is last-hop to the Network Receiver NEthe retransmitted data (RDATA) togroup. Element Upstreamunicasts a NAK to themulticast PGMand multicasts a Packet with unicasts no NAK to the source only those NEs and along the exact reverse path from the (NE) to the downstream did not Elements original NCFgroup members thatNetworkreceivethe source. data. Packet with Sequence no. (i + 1) is now multicast. This is achieved by multicasting RDATA packets NCF the NE (+ve) acknowledges the immediately sends aaNCF to the NE Source, on receiving a NAK, NAK by multicasting only on packet. Receiver detects loss of packet with Sequence No. (i). interfaces lost packet NAK was received. NE also forwards the is retransmitted (multicast) to the Finally the on which a NAK to the upstream PGM NE. group.

Operation
Case 2: Multiple packet loss

NE forwardsSequence the (i) is last-hop to the only those NEs Receivers unicast NAKs toNAKmulticastPGM Network Upstream NEthe retransmitted data (RDATA) togroup. Elements Packet with unicasts no the to the source and multicasts a and along the exact reverse path from the (NE) to the downstream did not Elements original NCFgroup members thatNetworkreceivethe source. data. Packet with Sequence no. (i + 1) is now multicast. This is achieved by multicasting RDATA packets only on the NE (+ve) acknowledges the immediately sends a NCF packets. Source, on receiving a NAK, NAKs by multicasting NCF to the NE Receivers detect loss of packet with Sequence No. (i). interfaces lost packet NAK was received. NE also forwards a a is retransmitted (multicast) to the group. Finally the on which single NAK to the upstream PGM NE.

PGM Packet Types


PGM defines four basic packet types: Packets that travel downstream (from the source to the receivers)

SPM DATA NCF


NAK

Packets that travel upstream (from the receivers to the host)

SPMs have two functions: They establish source path state PGM network elements They provoke prompt detection of missing packets in the absence of data to transmit Data packets carry ODATA (original data) and RDATA

(repair data) NAKs are transmitted by receivers to request repairs. NCFs are used to acknowledge the receipt of NAKs

PGM Packet Formats


Source Path Messages (SPMs)

Sent by a source to establish source path state in network elements and to provide transmit window state to receivers. network header destination address of an SPM is The network-header source address of an SPM is the a unicast NLA of address. multicast groupthe entity that originates the SPM.
Source Port Type Options Global Source ID Global Source ID TSDU Length SPM Sequence Number Trailing Edge Sequence Number Leading Edge Sequence Number NLA AFI Path NLA Reserved Destination Port Checksum

Option Extension when present

PGM Packet Formats


Data packets Carry application data from a source to receivers. Network header source and destination addresses are the same as that for SPMs
Source Port Destination Port

Type

Options
Global Source ID

Checksum
TSDU Length

Global Source ID

Data Packet Sequence Number

Trailing Edge Sequence Number


Option Extension when present Data

PGM Packet Formats


Negative acknowledgements and confirmations

Source Port Type Options Global Source ID

Destination Port Checksum

Global Source ID
NLA AFI Source NLA

TSDU Length
Reserved

Requested Sequence Number

NLA AFI
Multicast Group NLA Option Extension when present

Reserved

References
T. Speakman, J. Crowcroft, J. Gemmell, D. Farinacci,

S. Lin, D. Leshchiner, M. Luby, T. Montgomery, L. Rizzo, A. Tweedly, N. Bhaskar, R. Edmonstone, R. Sumanasekera, L. Vicisano: RFC 3208: PGM: Reliable Transport Protocol Specification, (ftp://ftp.isi.edu/in-notes/rfc3208.txt)
Derek Chen-Becker and Manoj Singla: Implementation

and Evaluation of a Pragmatic General Multicast (Implementation), (http://students.cec.wustl.edu/~dwb2/work/pgm/)

Questions?

Você também pode gostar