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 Pragmatic general multicast Services offered Example applications Requirements for achieving reliability Components of a PGM network Operation PGM–PDU types PGM–PDU formats 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: Multiple Unicasting: The source transmits a The source transmits single packet which is duplicated by the routers. Destination address is the same for all the duplicates. Only one copy of a packet travels between any two routers. multiple packets. Each packet is intended for a particular destination. Each packet has a different unicast destination address. Multiple copies may travel between any two routers. Pros of Multicasting • Bandwidth: 0.8 Graph from Pg. 8, Williamson: Developing IP Multicast Networks, Vol.1 0.7 0.6 0.5 Bandwidth 0.4 Mbps Multiple Unicast Multicast 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 In the Case of Loss the non-receipt of data. 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. What type of acknowledgement should be used? Sender No fixed answer: Depends on the application. Certain criteria can be used for deciding on the type of acknowledgement. Receiver Positive vs. Negative Acknowledgements Positive ACKs: Negative ACKs: Frequency is a function of Frequency is a function of the number of packets transmitted. Primarily determine transmit buffer management. the reliability of the N/W. Primarily determine repairs 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 sends a single copy of the first a packet. All the receivers in the group send NAK to the source Packet Gets lost/corrupted at thethe firstnumber link. The Number of NAKs equals of receivers in the group Source the of next packet in thenetwork sequence. A largesends number NAKs cause congestion Packet reaches all the receivers in the group. This condition is known as NAK Implosion The receivers detect a lost packet since a different seq. no was expected 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. Transport Network Data-Link Physical Network Data-Link Physical Source Network Data-Link Physical Routers Transport Network Data-Link Physical Receiver 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 Network Elements Transport Network Data-Link Physical Receiver 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 theprocess The router data path establishes duplicates is repeated changes, the a by path subsequent SPM. each for the router. particular SPMs update source thebypath They SPMs establish are source by path the source state inatPGM frequent network intervals elements. in noting as the multicast Path NLA (Network Layer Address) in the SPM. Theshown. router receivers then simply replaces notethe thepath address NLA of in each the first SPM upstream with the exactly the same way that data packets are multicast. They provoke prompt detection ofthe missing packets The Path always contains address of the (A-PDUs) nearest address network Hence the element. of network itsNLA own outgoing elements interface. and receivers always know the in A SPM the absence arrives at of the data first to transmit. router. upstream network element or source.element/source. address of SPM the next upstream network Finally the is transmitted downstream. Operation Case 1: A single packet loss Receiver NE forwards unicasts the retransmitted a NAK the last-hop (RDATA) PGM Network only those Element NEs Upstream NE unicasts the NAK to the source and multicasts a Packet with Sequence no to (i) is data multicast to theto group. (NE)group and along the exact that reverse did not path receive from the thesource. original data. NCF to themembers downstream Network Elements Packet with Sequence no. (i + 1) is now multicast. NE (+ve) This is achieved acknowledges by multicasting the NAK RDATA by multicasting packets aNCF NCF ontopacket. the Source, on receiving a NAK, immediately sends aonly the NE Receiver detects loss of packet with Sequence No. (i). interfaces on NAK was NE alsothe forwards thea NAK to thereceived. upstream PGM NE. Finally lostwhich packet is retransmitted (multicast) to the group. Operation Case 2: Multiple packet loss Receivers NE forwards unicast the retransmitted NAKs the last-hop (RDATA) PGM Network only those Elements NEs Upstream NE unicasts the NAK to the source and multicasts a Packet with Sequence noto(i) is data multicast to theto group. (NE)group and along the exact that reverse did not path receive from the thesource. original data. NCF to themembers downstream Network Elements Packet with Sequence no. (i + 1) is now multicast. NE (+ve) This is achieved acknowledges by multicasting the NAKs RDATA by multicasting packets NCF onto packets. the Source, on receiving a NAK, immediately sends aonly NCF the NE Receivers detect loss of packet with Sequence No. (i). interfaces on a NAK was to received. NE alsothe forwards a single NAK the upstream NE. Finally lostwhich packet is retransmitted (multicast)PGM to the group. PGM Packet Types PGM defines four basic packet types: Packets that travel downstream (from the source to the receivers) SPM DATA NCF Packets that travel upstream (from the receivers to the host) NAK 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 source address of anofSPM is the The network-header destination address an SPM is a unicast NLA of the entity that originates the SPM. multicast group address. Source Port Type Destination Port Options Checksum Global Source ID Global Source ID TSDU Length SPM Sequence Number Trailing Edge Sequence Number Leading Edge Sequence Number NLA AFI Reserved Path NLA 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 Type Destination Port Options Checksum Global Source ID Global Source ID TSDU Length Data Packet Sequence Number Trailing Edge Sequence Number Option Extension when present … Data…… PGM Packet Formats Negative acknowledgements and confirmations Source Port Type Destination Port Options Checksum Global Source ID Global Source ID TSDU Length Requested Sequence Number NLA AFI Reserved Source NLA NLA AFI Reserved Multicast Group NLA Option Extension when present … 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?