RAMP: A Reliable Adaptive Multicast Protocol

Size: px
Start display at page:

Download "RAMP: A Reliable Adaptive Multicast Protocol"

Transcription

1 RAMP: A Reliable Adaptive Multicast Protocol Alex Koifman akoifman@tasc.com Stephen Zabele gszabele@tasc.com TASC 55 Walkers Brook Drive Reading, MA 01867, USA Tel: ABSTRACT The specifications and performance of RAMP, a Reliable Adaptive Multicast Protocol, are presented. Initially described in IETF RFC 1458 [1], RAMP has been enhanced for use over an all-optical, circuit-switched, gigabit network under our ARPA-sponsored Testbed for Optical NEtworking (TBONE) project. RAMP uses immediate, receiver-initiated, NAK-based error notification combined with originator-based unicast retransmission. The approach is motivated by the loss characteristics of the TBONE network, where extremely low bit-error rates (10e-12 or better) and circuit switching make packet losses almost entirely a result of receiver buffer overflows. Hence, multicast retransmission would hinder performance through unnecessary receiver processing of redundant packets, and delayed NAKs would increase both latency and the likelihood of buffer overflow. Interestingly, TBONE loss characteristics resemble those of switched virtual circuit ATM networks and packet-switched networks employing reservation services. Hence, RAMP s design is also relevant for conventional networks. KEYWORDS NAK-based Control Reliable Multicast Transport Scalable Architecture INTRODUCTION Very high-speed communication networks and largeðscale image management systems are emerging as critical elements of global information systems for such diverse applications as defense and intelligence, supercomputing and education, environmental remote sensing, and medical imaging. Some of these applications are experiencing increasing requirements to store and manage thousands of terabytes of digital image data, to capture and disseminate images in realðtime, and to provide access to hundreds of users who will be geographically distributed. In the near future, users will browse through vast libraries of images and retrieve full sets of high resolution images for exploitation, receive images related to crisis tasks in realðtime, and "tune in" to broadcasts of information related to topics, geographic areas, or activities of interest. The high-speed networks needed to support these and related capabilities must scale effectively as the number of users, images, and image sources grow, as technology for higher data rates becomes available, and as the demand for network services supporting image access and

2 communication services becomes more sophisticated. When the same data must be delivered to two or more sites, repeatedly transmitting the data using unicast protocols unavoidably cuts throughput by the reciprocal of the number of sites. As an alternative, network efficiency can be maintained through the use of multicast protocols where data is transmitted once yet can be received by multiple clients. Multicast-based services using Deering s multicast extensions to IP [2] are already in use over the Multicast BackbONE (MBONE) overlay on the Internet, where applications such as Jacobson s vat audio tool, and nv video tool have met with considerable success. As end-to-end reliability is not needed for these applications (audio and video data is transient, and recovery is best effected by simply skipping over missing segments) the implementations are based on UDP. For other collaborative applications such as Jacobson s wb shared whiteboard tool, shared text editors, and other desktop conferencing components, the data sets are more static and some form of reliable delivery is needed to ensure consistent presentations across multiple views. As there is currently no standard for reliable multicast transport, implementations of several reliable and semi-reliable (best-effort) multicast transport protocols have recently arisen [3, 4, 5, 6, 7]. The approach taken by these protocols has generally focused on NAK-based, receiver initiated, retransmission approaches where dropped packets are both requested and retransmitted using multicast. This approach is largely motivated by the characteristics of the MBONE and MBONE-like networks having relatively low (1.544 megabits per second) data rates and packet-switched routers that provide no quality-of-service (QoS) guarantees. For these networks, end nodes are in general considerably faster than the network and the most likely sources of lost packets are the switches (routers). When packet loss occurs in a switch, the losses observed by the downstream receivers are necessarily correlated, and retransmission using multicast is entirely appropriate. As part of the ARPA-sponsored Testbed for Optical NEtworking (TBONE) project, TASC, MITRE, and Optivision are developing an all-optical, circuit-switched, gigabit network. The significantly higher data rates (initially 800 megabits per second), the extremely low bit-error rates (10e-12 or better), and the circuit-switched nature of the optical crossbar switches within the TBONE network have shifted the most likely source of packet loss from congestion in the switches to overflows in the receiver buffers. Coupled with the desire to minimize latency and eliminate unnecessary processing both at the sender and the receivers in order to maximize performance, this has led to a unicast-based rather than a multicast-based approach for error control. Interestingly, the characteristics of the TBONE network are quite similar to those of ATM networks providing switched virtual circuits as well as those of more conventional packet-switched networks providing resource reservation services. As such, this design is also relevant for use in more conventional networks. To provide high-performance transport services for TBONE, we have been incorporating the error control approach into our implementation of RAMP, a Reliable Adaptive Multicast Protocol. First described in our IETF RFC 1458, RAMP has evolved from an experimental prototype into a robust implementation that is in daily use in collaborative desktop conferencing applications. In the remainder of this paper, RAMP s design and characteristics are presented, followed by an analysis of measurements made of RAMP s performance as a multicast, a unicast, and a concast protocol over Ethernet. RAMP OVERVIEW

3 RAMP is a transport layer multicast protocol that operates over network layer multicast protocols such as IP/multicast, providing a standard method for reliable pointðtoðmultipoint transmission. RAMP guarantees reliable and orderly delivery to all multicast recipients using a negative acknowledgment approach to minimize return (control) traffic. RAMP can be described as a connectionðoriented, reliable stream service as message boundaries are preserved; however, both datagram and streamðstyle interfaces are supported. RAMP features include timely (at most a few seconds) notification of receiver failure to the sender, as well as timely notification of sender failure to all receivers. RAMP provides fast joining and leaving of groups, where participating receivers can leave a group or new receivers can join a group at any point in the session. MidÐsession dynamic modification of group membership allows individual instances of distributed applications, such as shared whiteboards, to be initiated and terminated at different times without requiring lengthy resynchronization. As RAMP maintains explicit group membership at the sender, transmission can be terminated immediately when the last receiver leaves the group rather than continuing to consume valuable network resources. Explicit maintenance of group membership within RAMP also provides TBONE with the information needed for circuit setup. Source knowledge of the destination set within TBONE is consistent with the ATM requirements for setting up multicast groups, and eliminates the need for an Internet Group Management Protocol (IGMP)Ðlike service to supply routing information. RAMP also supports mixed reliable and unreliable transport in that some of the receivers can elect not to set up control channels or send retransmission messages. This feature is useful for multicast transmission of hierarchically encoded data sets, where partial loss by some of the receivers still yields useful information to those receivers. For example, an image sent from a ground station to an archive must be performed reliably; however, other listeners can elect to receive reliably only the lower resolution levels. If partial information from the other levels becomes available to those receivers, it can be used to increase the quality of the imagery at the corresponding positions in the image. The protocol also provides senderðbased reliability, where the sender can elect to send data either reliably or unreliably. Sender-based unreliable transport under RAMP is similar to UDP transport, with RAMP providing the added functions of segmentation and reassembly of large messages. As shown in Figure 1, RAMP is a transport protocol layered on IP/multicast. Although the functional model for RAMP is somewhat similar to TCP, TCP establishes a fullðduplex reliable connection between two endpoints as shown in Figure 2a, whereas RAMP establishes a simplex (one way) reliable flow between the sender and the receiver group as shown in Figure 2b. Although RAMP does provide limited (single segment) data delivery from a receiver back to a sender in the form of piggyback messages, the reverse path is primarily intended for control information. Figure 1 Network layers A simplex model for multicast communications is well suited to the network topologies that can be

4 established with the TBONE network, as the optical cross bar impedes set up of fully multiplexed pointðtoðmultipoint connections where each group member can act both as a sender and a receiver simultaneously. Although busðbased networks such as Ethernet do in fact support full-duplex interconnectivity, the RAMP architecture in no way precludes an application from establishing a full-duplex flow. An application that requires a full-duplex data flow need only create two RAMP flows: a forward flow and a reverse flow. Each flow functions independently and can provide a different QoS. Achieving a full-duplex data flows on the TBONE network requires high-speed, on demand switching between independent simplex flows. RAMP flow consists of segments, where each consecutive segment has an increasing sequence number. Reliability is achieved using a negative acknowledgment scheme where a receiver notifies a sender immediately upon detecting a gap within the received sequence. Explicit acknowledgments are only required during the initiation and termination of connections. Unreliable Delivery Under RAMP In addition to reliable delivery, RAMP also provides two types of unreliable data delivery to support applications where unreliable delivery is acceptable and appropriate. The first type is the more familiar unreliable connectionless delivery model where the sender and all receivers operate unreliably, and is appropriate for voice and video applications. Here unreliable data delivery is similar to UDP, with the addition that RAMP supports larger messages through segmentation and reassembly. The receivers do not send acknowledgments or retransmission requests to the sender, and the sender does not accept or process acknowledgments or retransmission requests from the receivers. The second type of unreliable delivery involves a somewhat unique model where the sender supports reliable delivery, yet some (or all) of the receivers operate in an unreliable mode. This is appropriate, for example, for image delivery services where certain receivers (such as image archive servers) require reliable delivery of all image data, yet other receivers can accept some data loss, such as the loss of higher resolution data in hierarchically encoded images. The second type of reliable delivery allows a single multicast server to simultaneously support both reliable and unreliable receivers with a single data feed. In RAMP, both the sender and receivers can freely switch between reliability modes. The sender moves between reliability modes by toggling the reliability flag (bit) in its messages, indicating whether or not receivers are allowed to issue control messages to the sender. Receivers switch between reliable and unreliable modes by simply processing or ignoring lost messages. Passive And Active Opens Figure 2 (a) TCP model and (b) RAMP model RAMP allows connection origination either by a sender or a receiver. A connection originated by

5 issuing a Connect request is referred to as an active open, whereas a connection originated by issuing an Accept response is referred to as a passive open. To understand the need for the two types of opens, consider the case when a receiver group consists of a number of receivers, where one of the receivers is the connection originator, while the others wait in passive mode. In the purely passive mode all receivers wait for a Connect and upon the receipt, respond with Accept thereby joining the group. Once the connection with at least one receiver is established data can be passed from a sender to a receiver(s) and from a receiver to a sender. For collaborative applications involving interactive image retrieval, this connection model has proved quite useful. RAMP permits a receiver to have a connection with multiple senders. In this case the connection with each sender is maintained independently. This model is well suited for a multipoint-to-multipoint communications typically required for collaborative whiteboards and similar types of applications. Data Flow An example data flow from sender to receiver(s) for IP/multicast is shown (Figure 3). Each block indicates transmission of datagrams, with the size of the block proportional to the length of the datagram. Spaces between the blocks indicate intervals where no datagrams are being transmitted; spacing between blocks is not to scale. Figure 3 IP/multicast data flow In comparison, a RAMP data flow from sender to receiver(s) contains both the above packet groups and additional messages providing state information. For example, the state information allows a RAMP sender to inform receivers when there is currently no data to send, so that the receivers do not perceive data loss. The sender can elect to operate either in Burst or Idle mode, and is allowed to transition between the two modes as the number of receivers varies. Burst mode minimizes the network traffic at the expense of the control traffic, and better for smaller receiver groups (nominally, less than one hundred receivers). Idle mode introduces extra messages in the data flow, but minimizes the control flow transfers and is therefore better for larger receiver groups. RAMP logically breaks the data flow into bursts, with a burst defined as a series of messages where the interval between any two consecutive messages is less than some time T (e.g., 0.5 seconds). When the time between two consecutive messages is greater than T, the first of the two messages defines the last message in the current burst, and the second of the two messages defines the first message in the subsequent burst. The duration of a burst can be arbitrarily long: for example, if the interval between any two successive message is always less than T, then the entire transmission is considered one burst. When the sender has not transmitted data for a time interval T, the end of a burst is declared and the sender is required to send one or more Idle messages. The sender selects the mode in which the connection operates. RAMP messages use both a mode flag

6 (Burst or Idle) and an ACK flag to synchronize mode selection between the sender and receivers. When the sender sets the ACK flag, it expects all reliable receivers to acknowledge the message. In Burst mode (Figure 4), the sender marks the start of the burst by setting the ACK flag. When the sender determines the end of a burst, it sends a single Idle message indicating that the sender will remain silent until the beginning of the next burst. Whenever a reliable receiver observes an ACK flag, the receiver is required to acknowledge receipt of the message by sending an ACK message containing the segment number back to the sender. Receipt of a Data message containing an ACK flag confirms that the forward (data) connection to the receiver has not deteriorated during the sender s quiet interval, and receipt of the ACK response by the sender confirms that the return (control) connection to the sender has not deteriorated. When the sender does not receive an ACK from one of the known reliable receivers, the sender knows that data (and possibly a connection to the receiver) has been lost. The sender can then begin preemptive retransmission leading to a possible closing of the connection for that receiver. Figure 4 RAMP data flow in Burst mode In Idle mode (Figure 5), a series of Idle messages is sent rather than a single Idle message. The Idle messages inform the receiver(s) that no additional data is available, yet the sender will not become silent for a period longer than T. The Idle scheme essentially keeps resetting the timeout(s) at the receiver(s) until there is more data to transmit, so that explicit acknowledgments are not required at the beginning of the next burst. By avoiding ACKs, the number of messages that the sender must process is reduced. Figure 5 illustrates the changes made to the IP multicast data flow by RAMP operating in Idle mode. Figure 5 RAMP data flow in Idle mode In Idle mode, when a receiver does not receive either an Idle message or a Data message within a period of time T, the receiver assumes that data is lost and begins the usual retransmission processing. Whereas the sender is responsible for identifying and acting on a failed connection in Burst mode, the receivers are responsible for identifying and acting on failed connections in Idle mode.

7 Protocol Transfers All data flows from a sender to the receivers over the data channel using a combination of multicast and unicast, and all control traffic flows from the receivers to the sender over a unicast control channel. All initial data transmissions are multicast by the sender to the receiver group, and (currently) all retransmissions resulting from lost data are unicast by the sender to the individual receiver. Receivers receive both the initially transmitted data and any retransmitted data over the same socket due to the intrinsic capabilities of IP/multicast. When the sender issues a Connect message to an IP multicast address, each receiver listening on this address responds with an Accept message. Once at least one Accept has been received, the sender is allowed to start sending Data messages. Each Data message includes a sequence number which monotonically increases with each new message. When a receiver detects a gap in the message sequence, the receiver sends a Resend message over the control channel to the sender. The Resend message contains the sequence number of the undelivered message(s). In Burst mode (Figure 6), Data messages are (logically) grouped into bursts. Each burst followed by the Idle message. The Idle message(s) has the same sequence number as the preceding Data message. The first Data message in each burst has the ACK flag set. When the ACK flag is set, each receiver must respond with the ACK message. If the ACK message from a receiver times out (the sender resends the Data message a few times, e.g., 3 times), the sender considers the receiver to be unreachable and closes the control channel to it. This in turn terminates the flow, allowing the sender and the receiver to learn that the connection is broken. Broken connections can be reestablished at a later time.

8 Figure 6 RAMP transfers in Burst mode In Idle mode (Figure 7), the sender multicasts Idle messages immediately after it receives the first Accept message. When Data messages are being sent, no Idle messages are issued. The sender resumes sending Idle messages after a period time T from the last multicast Data message. Resend messages are unicast to the individual receivers and do not reset the timeout period at the receivers. If a receiver does not receive an Idle message or a Data message within the timeðout interval (e.g., 0.5 sec) from the last Data message, the receiver issues the Resend message with the next sequence number (one greater than the one last received). If after a timeðout, the receiver does not receive the missing message, the receiver closes the control channel with the sender and this closes the RAMP flow to the sender. Receivers periodically (e.g., 2 sec) unicast Idle messages to the sender. Any receiver s message to the sender resets the receiver Idle time-out period. If the sender does not receive an Idle message from a receiver, the sender closes the connection to the receiver. Figure 7 RAMP transfers in Idle mode Receivers that begin listening on the multicast address after the sender is started (late joiners) will not receive the Connect message, however the receivers can still join the reliable multicast session through passive accept. If the first message that a late joining receiver receives from the sender is a Data message, then the receiver considers itself a late join and sends the Accept message. Upon receipt of the Accept message, the sender simply adds the late joining receiver to its receiver list. The late receiver uses the first received Data message s sequence number as the initial sequence number, and is prohibited

9 from requesting retransmission of messages with earlier sequence numbers. If a receiver receives a Connect message or a Data message from a sender for which it has no control channel, the receiver assumes that this is a new sender and responds with an Accept message. This allows a receiver to listen to multiple senders transmitting to the same multicast group on the same socket. RAMP allows a receiver to unicast data reliably to the sender(s). This piggyback mechanism allows to send up to a segment of data at a time. The sender acknowledges each segment. A pair of Pdata/ACK messages is used for piggyback delivery. Message Format There are two types of simplex flows for each RAMP connection (Figure 8). The first type is the data flow from the sender to the receiver group using IP/multicast (except for unicast retransmission of lost Data segments and explicit ACK messages). The second type is the control flow from a receiver to the sender using unicast. As control flows use unicast, there must be one control flow for each receiver in the receiver group. In contrast, as data flows use multicast, only one is needed for each RAMP connection. Figure 8 RAMP data and control flows Data and control message headers and message types are nearly identical, although the asymmetric nature of RAMP induces minor differences. The first 8 bytes of the RAMP message headers are intentionally identical to the UDP message header so that completely RAMP-compatible messages can be constructed using UDP yet avoid kernel programming during development. Data flow message types include Connect, Accept, ACK, Idle, Close and Data. Control flow message types are Connect, Accept, ACK, Idle, Close, Pdata and Resend. RAMP allows applications to send and receive large messages by breaking the messages into basic transfers units, or segments. Messages that do not fit within a single segment are fragmented by the sender and reassembled at the receiver s end. Every data flow segment has the fixed 16 byte header, followed by options (if any), followed by data. As it is difficult to negotiate the segment size when dealing with multiple receivers, RAMP s segment length is set to 8000 octets. Multiple segments may comprise one message, up to the maximum of 216-1, allowing maximum message size of 8*64 Kbytes (actual message size is slightly less as the header takes up to 60 bytes in each segment, reducing the total data portion). Control messages are sent from an individual receiver to the sender using unicast. Every control message has a fixed header portion of 16 octets, the rest may be a list of pairs of sequence numbers (sequence number, length of sequence) or a return multicast address. Control flow is used only by receivers subscribing to reliable delivery.

10 Resend messages can combine multiple sequence numbers into one message, such that when a receiver detects a gap in the received sequence numbers, the receiver can request multiple messages in a single Resend request. For other control messages, e.g., ACK, waiting until multiple segments are acknowledged is discouraged as it may cause a timeðout at the sender side. When combining multiple sequence numbers in one message, messages are listed in increasing order -the lower sequence number first and the higher one last. Interim Flow Control Approach Flow control for the TBONE allðoptical network currently relies on HiPPI hardware flow control, however we have implemented a simple, interim flow control mechanism to allow use of RAMP over packetðswitched networks. The interim flow control approach calculates a transmission delay factor for each receiver based on the number of negative acknowledgments received from that receiver during normal retransmission processing. The delay factor is given by the formula: Delay = LostSeg * Weight / SentSeg where: Delay represents the amount of delay between the transmission of individual segments, and is measured in 10 millisecond units. A delay resolution of 10 milliseconds is used as it represents the minimal delay resolution for most UNIX interval timers. LostSeg is equal to the number of segments lost during a sample interval (we use a sliding window sample interval length of 5 seconds). SentSeg is a count of segments sent during the sample interval. Weight is a scaling constant that provides finer grained control over the delay value, with 0 <= Weight <= 1. A weight value of 0 provides no flow control, whereas a weight value of 1 provides maximum delay. Currently, we use a weight value of 1. As we are maintaining full reliability, the delay value used by the sender is the greatest of all delay values across the set of receivers, such that rate at which a sender sends packets is determined by the slowest receiver in the group. Even with the above flow control, it is still possible that a sender can still overflow a receive buffer. This occurs when a sender sends faster than the receiving application retrieves data from the receive buffer, such that the receiver s queue becomes full: as no segments are lost, the sender does not get an

11 indication to slow down. To avoid overflowing the receive buffer, we employ a mechanism whereby the receiver intentionally drops segments when the queue becomes greater than 80% full. This triggers a Resend request by the receiver, providing the sender with the needed throttling information. The simplicity of RAMP flow control is necessitated by the minimal amount of traffic that is sent from receivers to a sender. Unlike TCP where each packet (or a group of packets) is acknowledged, RAMP tries to minimize the reverse channel traffic. The lack of data makes rate estimation considerably less reliable, precluding more sophisticated approaches. Nonetheless, RAMP s flow control mechanism works reasonably well, and while simple, alleviates the overflow problem at no additional cost. PERFORMANCE OVER ETHERNET In order to evaluate the performance of our RAMP implementation while the TBONE HiPPIÐbased infrastructure is being completed, RAMP performance measurements have been made over TASC s internal twisted-pair Ethernet LAN. The results are presented and analyzed in this section. Where appropriate, RAMP performance is compared with the measured performance of TCP over the same test network. All tests were performed using identically configured Silicon Graphics Indigo (R3000) UNIX workstations. The extent of testing was limited by the physical number of machines (6) available. Reliable Multicast -For reliable multicast transport, RAMP s effective throughput (sum of the throughputs to each receiver) increases nearly linearly with the number of receivers, as shown in Figure 9. RAMP s base unicast performance (one sender and one receiver) was measured to be approximately 6.5 mbps. In the ideal case, the effective throughput from one sender to n receivers should be n times the unicast rate of 6.5 mbps. The measured effective throughput of 32 mbps for 5 receivers corresponds exceptionally well to the theoretically expected value of 32.5 mbps. By intentionally introducing random packet losses at the receivers, we were able to gauge RAMP s performance over congested multihop networks. For a drop rate of 5% where each receiver intentionally drops 5% of the received packets at random, shows that RAMP s performance continues to increase nearly linearly with the number of receivers. The change in slope between the previous case where there is no intentional loss and the case where there is an intentional 5% loss is primarily caused by each receiver s independent requests for retransmission. With the sender providing 5% more packets to each of n receivers, the sender output traffic is increased by n times 5%. For example, 5 receivers require that the sender transmit 25% more packets. For a given sender rate, the added overhead due to retransmission reduces the throughput by a factor equal to the reciprocal of one plus the overhead; consequently the effective throughput for the 5 receiver, 5% loss case can be at most 80% of that for the 5 receiver, no loss case. As shown in Figure 9, the measured performance of 24 mbps for the 5 receiver, 5% loss case is very close to the expected maximum performance of 25.6 mbps. The small difference can be accounted for by the additional traffic generated by the retransmission requests themselves, and by experimental measurement error. A similar set of measurements made using a drop rate of 10% reveals that RAMP s performance continues to increase nearly linearly with the number of receivers. Similarly, with the sender providing an additional 10% more packets to each of n receiver, the total traffic is increased by n times 10%. For the 5 receiver, 10% loss case, 50% more packets are sent, which effectively reduces the throughput to 66% of that for the no loss case. As shown in Figure 9, the measured performance of 17 mbps compares reasonably with the expected maximum performance of 21 mbps.

12 Even when loss rates are quite low, the probability that a retransmission request for any given packet will be made by more than one receiver approaches unity as the number of receivers becomes large. For example, if each of 21 receivers drops 5%, then at least 5% of the requests are guaranteed to be duplicates, with the expected number of duplicates at a much higher level (~30%). Clearly a more optima method for servicing duplicate requests is to retransmit using multicast, rather than unicast as is currently done within RAMP. The disadvantage of using multicast for retransmission is that for extremely low loss networks with moderate number of receivers, (such as our dark fiber, circuit switched, TBONE network), use of multicast needlessly consumes receiver resources to receive, process, and discard redundant packets. For example, with a bit error rate of 10e-12, the expected packet error rate using a 1 MByte packet size is approximately 10e-5. As the bit error rate is dominated by receiver noise rather than network noise in an optical network, bit error events at individual receivers will tend to be independent. Then, even for a multicast group with 10,000 receivers, the probability that the sender will receive a duplicate retransmission request for any given packet is approximately 0.5%. Reliable Unicast -RAMP performance as a reliable unicast protocol was measured as a function of the number of independent senderðreceiver pairs on the same network. As shown in Figure 10, the aggregate throughput to receivers remains nearly constant as the number of receivers is increased. Although the number of senderðreceiver pairs used in this experiment is quite limited, the results indicate that multiple independent RAMP sessions can effectively divide the available network bandwidth equitably when competition for resources occurs. Equitable sharing of network resources is directly determined by the ability of flow control to throttle each sender to an appropriate rate. The interpretation is that although the prescribed flow control algorithm is relatively simple, it is reasonably effective at least for a limited number of sessions in a LAN environment. Figure 9 Multicast over Ethernet

13 Figure 10 Unicast over Ethernet Experiments with intentional packet losses at the receivers were repeated for the multiple competing sessions experiment. For an intentional 5% loss rate at each receiver, the aggregate throughput was reduced from the nominal 6.5 mbps level to a level of about 5.8 mbps; an effective reduction to 90% of the noðloss level. For an intentional 10% loss rate at each receiver, the aggregate throughput was reduced from the nominal 6.5 mbps level to a level of 4.8 mbps; and effective reduction to 74% of the no loss level. Clearly the performance of the flow control algorithm degrades faster than can be justified by the loss of data alone, and investigations into a more enhanced flow control algorithm are warranted for IP networks. As the TBONE network will initially use hardware flow control and flow control aggregation, however, an enhanced flow control algorithm is not needed at this time. Reliable Concast -In contrast to distribution types of multicast services where there is one sender and multiple receivers (such as the transmission of audio or video over the MBONE), collaborative applications require the capability for each instance of a collaborative application to act both as a sender and as a receiver on the same multicast channel. As this data generally contains state information, it must be exchanged using reliable delivery. Consequently RAMP s performance in a manyðtoðone, or concast, environment is an important measure of RAMP s suitability for a variety of collaborative applications. RAMP performance as a reliable concast protocol was measured as a function of the number of senders. As shown in Figure 11, the aggregate throughput to the receiver was observed to degrade minimally as the number of senders increased. From RAMP s base throughput of 6.5 mbps for 1 sender, throughput degraded nearly linearly to 6.1 mbps for 5 senders. Again, equitable sharing of network resources is directly determined by the ability of flow control. Since RAMP uses NAKs as the sole basis for estimating sender rates, the receiver in this experiment is required to send an increasing number of NAKs to each sender as the number of senders increases. This implies a total NAK requirement proportional to N2 for N senders. Although RAMP s performance as the number of senders increases is excellent (only a 6% reduction for 5 senders over the 1 sender case), clearly a more scalable flow control approach will be necessary for high volume concast communications with larger numbers of senders. A simple approach is for the receiver to provide a weight in each NAK that acts as a NAK multiplier for the senders rate calculation. This will reduce the total NAK requirement to a value proportional to N rather than N2. We are currently evaluating this approach. Experiments with intentional packet loss at the receiver were repeated for the concast experiment. For an intentional 5% loss rate at the receiver, the aggregate throughput was reduced nearly linearly from the nominal 5.4 mbps level with one sender to a level of about 5.1 mbps with 5 senders; a effective

14 reduction to 94% of the one sender level. For an intentional 10% loss rate at each receiver, the aggregate throughput was reduced nearly linearly from the nominal 4.9 mbps level with one sender to a level of 4.5 mbps for 5 senders; and effective reduction to 92% of the one sender level. The reduction in throughput from the one sender case to the 5 senders case appears relatively consistent (~94%) across all loss levels. Figure 11 Concast over Ethernet Comparison with TCP -Measurements were made of TCP performance over the same testbed to provide an absolute evaluation of RAMP s performance. As shown in Figure 12, when TCP is used to provide a reliable multicastðlike service using repeated transmissions, the throughput to each receiver is reduced by 1 over n, where n is the number of receivers. This expected result occurs as the total bandwidth for the network is fixed and must be shared by each of the n receivers. In contrast, the throughput to each receiver remains relatively constant when reliable multicast is used, also as expected. Figure 12 primarily illustrates that RAMP is at least as good as TCP as a unicast protocol, and that RAMP behaves properly as a reliable multicast protocol. Figure 12 RAMP vs. TCP throughput over Ethernet An alternate presentation of the results is given in Figure 13, where the effective throughput (sum of throughputs to each receiver) is given as a function of the number of receivers for both TCP and RAMP. Clearly there is a substantial advantage to using RAMP over TCP even for a receiver group as small as two, with the advantages increasing quickly as the number of receivers grows. For example, to achieve the same effective throughput as RAMP with 5 receivers (32 mbps), TCP would need to be running over a 50 mbps LAN rather than the 10 mbps Ethernet used here.

15 Figure 13 RAMP vs. TCP effective throughput over Ethernet A surprising result illustrated by this graph is that the effective throughput for repeated unicast using TCP actually rises (slightly) with the number of receivers. This indicates that the communication process is actually receiver bound, such that the sender can actually provide data faster than an individual receiver can accept it. With multiple independent receivers, the rate to each receiver is reduced from the single receiver case such that each receiver can more easily keep up with the sender. This allows the sender to transmit at a higher aggregate rate yet not overrun any given receiver. ENHANCED FLOW CONTROL Although unnecessary for TBONE s current network configuration, additional work is warranted on RAMP s flow control approach for use with packet-switched networks that provide no reservation capabilities. To this end, we have begun investigating the use of what can be described as proactive flow control. With this approach, as a receiver s buffer approaches critical occupancy, the receiver estimates a reduced transmission rate and rate duration for which the receiver can reasonably be expected to recover. The receiver transmits the information to the sender in the form of a "throttle" message, which the sender then uses to reduce its transmission rate below the flow specification for the specified duration. Upon expiration of the time period, the sender returns to the full rate allowed by the flow. If the sender receives a second throttling message during a reduced rate period, processing is straight forward: if the second rate is larger and the time period is shorter, simply ignore the message. Otherwise reduce to the smaller new rate for the new period, then return either to the previously reduced rate or the original flow rate, as appropriate. Interestingly, an extreme end of this protocol is a type of stop-and-wait approach (rate of zero for some time). An advantage of the approach is that the sender treats throttle messages "anonymously", such that the computational burden on the sender is low. For illustration, consider RAMP s current approach whereby the sender derives rate information by counting received NAKs. NAK counting places a considerable computational burden on the sender, as the NAK accounting procedure must keep a separate count for each receiver in order to produce a meaningful interpretation. For example, receipt of 100 NAKs, 50 from each of two receivers may indicate that the sender must slow considerably, whereas receipt of 1000 NAKs, one from each of 1000 receivers may indicate that the sender need only slow minimally. For large receiver groups, this is inordinately expensive. As the proposed proactive flow control approach uses a simple aggregation scheme that requires no explicit receiver accounting, it is intrinsically much more lightweight and scalable.

16 SUMMARY We have presented the design and the performance of RAMP, a reliable adaptive multicast protocol being developed under the ARPA-sponsored TBONE project. The performance assessment reveals that RAMP is an effective protocol for reliable transmission even when used as a unicast protocol, that RAMP scales linearly for reliable multicast operations, and that RAMP provides quite reasonable performance as a concast protocol making it suitable for collaborative applications. Although designed for an all-optical, circuit-switched, gigabit networks, RAMP performs well over packet-switched networks. RAMP has been implemented for IP/Unix workstations and has been tested over both Ethernet and ATM. RAMP is currently being used in various multimedia collaborative applications where it has proven to be fast and reliable. ACKNOWLEDGMENTS This work was sponsored in part by the Advanced Research Projects Agency, under contract number F C-0086 and contract number F C REFERENCES [1] R. Braudes, S. Zabele, "Requirements for Multicast Protocols", RFC 1458, May [2] S. Deering, "Host Extensions for IP Multicasting", RFC 1112, August [3] V. Jacobson, "A new architecture for real-time applications and protocols", Proc ARPA Networking PI Meeting, Sept [4] V. Jacobson, "Multimedia Conferencing on the Internet", Tutorial Notes - ACM Sigcomm94, (London, Sept. 1994). [5] L. Padmanabhan, "Design and Implementation of a Shared White-Board", M.S. Project, Dept. of Computer Science, UMass, Amherst, MA 01003, May [6] S. Paul, K. Sabnani, D. Kristol, "Multicast Transport Protocols for High-Speed Networks", Proc IEEE Int. Conf. Network Protocols, (Boston, Oct. 1994). [7] S. Pingali, D. Towsley, J. Kurose, "A Comparison of Sender-Initiated and Receiver-Initiated Reliable Multicast Protocols", Proc ACM SIGMETRICS Conf.

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 Network Working Group Request for Comments: 969 David D. Clark Mark L. Lambert Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 1. STATUS OF THIS MEMO This RFC suggests a proposed protocol

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

Impact of transmission errors on TCP performance. Outline. Random Errors

Impact of transmission errors on TCP performance. Outline. Random Errors Impact of transmission errors on TCP performance 1 Outline Impact of transmission errors on TCP performance Approaches to improve TCP performance Classification Discussion of selected approaches 2 Random

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

Introduction to Networks and the Internet

Introduction to Networks and the Internet Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments Stream Control Transmission Protocol (SCTP) uses the 32-bit checksum in the common header, by which a corrupted

More information

Introduction to Protocols

Introduction to Protocols Chapter 6 Introduction to Protocols 1 Chapter 6 Introduction to Protocols What is a Network Protocol? A protocol is a set of rules that governs the communications between computers on a network. These

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

Objectives. Chapter 10. Upon completion you will be able to:

Objectives. Chapter 10. Upon completion you will be able to: Chapter 10 Figure 10.1 Position of IGMP in the network layer Objectives Upon completion you will be able to: Know the purpose of IGMP Know the types of IGMP messages Understand how a member joins a group

More information

Different Layers Lecture 20

Different Layers Lecture 20 Different Layers Lecture 20 10/15/2003 Jian Ren 1 The Network Layer 10/15/2003 Jian Ren 2 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every host,

More information

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures. Transport Protocols! Type A: ISO Defined Types of Network Service: Network connection with acceptable residual error rate and acceptable rate of signaled failures. - Reliable, sequencing network service

More information

Internetwork Protocols

Internetwork Protocols Internetwork Protocols Background to IP IP, and related protocols Internetworking Terms (1) Communications Network Facility that provides data transfer service An internet Collection of communications

More information

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

CHAPTER-2 IP CONCEPTS

CHAPTER-2 IP CONCEPTS CHAPTER-2 IP CONCEPTS Page: 1 IP Concepts IP is a very important protocol in modern internetworking; you can't really comprehend modern networking without a good understanding of IP. Unfortunately, IP

More information

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print, ANNEX B - Communications Protocol Overheads The OSI Model is a conceptual model that standardizes the functions of a telecommunication or computing system without regard of their underlying internal structure

More information

05 Transmission Control Protocol (TCP)

05 Transmission Control Protocol (TCP) SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided

More information

Managing Caching Performance and Differentiated Services

Managing Caching Performance and Differentiated Services CHAPTER 10 Managing Caching Performance and Differentiated Services This chapter explains how to configure TCP stack parameters for increased performance ant throughput and how to configure Type of Service

More information

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser

More information

ET4254 Communications and Networking 1

ET4254 Communications and Networking 1 Topic 9 Internet Protocols Aims:- basic protocol functions internetworking principles connectionless internetworking IP IPv6 IPSec 1 Protocol Functions have a small set of functions that form basis of

More information

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Fast Retransmit Problem: coarsegrain TCP timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Sender Receiver

More information

Intro to LAN/WAN. Transport Layer

Intro to LAN/WAN. Transport Layer Intro to LAN/WAN Transport Layer Transport Layer Topics Introduction (6.1) Elements of Transport Protocols (6.2) Internet Transport Protocols: TDP (6.5) Internet Transport Protocols: UDP (6.4) socket interface

More information

An Empirical Study of Reliable Multicast Protocols over Ethernet Connected Networks

An Empirical Study of Reliable Multicast Protocols over Ethernet Connected Networks An Empirical Study of Reliable Multicast Protocols over Ethernet Connected Networks Ryan G. Lane Daniels Scott Xin Yuan Department of Computer Science Florida State University Tallahassee, FL 32306 {ryanlane,sdaniels,xyuan}@cs.fsu.edu

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master

More information

Internetworking Models The OSI Reference Model

Internetworking Models The OSI Reference Model Internetworking Models When networks first came into being, computers could typically communicate only with computers from the same manufacturer. In the late 1970s, the Open Systems Interconnection (OSI)

More information

Stream Control Transmission Protocol (SCTP)

Stream Control Transmission Protocol (SCTP) Stream Control Transmission Protocol (SCTP) Definition Stream control transmission protocol (SCTP) is an end-to-end, connectionoriented protocol that transports data in independent sequenced streams. SCTP

More information

Networking Technologies and Applications

Networking Technologies and Applications Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used

More information

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided. 223 Chapter 19 Inter mediate TCP The Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols was developed as part of the research that the Defense Advanced Research Projects Agency

More information

Reliable File Transfer in the Multicast Domain

Reliable File Transfer in the Multicast Domain Reliable File Transfer in the Multicast Domain Winston Dang August 1993 Abstract This paper describes a broadcast file transfer protocol that is suitable for widespread distribution of files from several

More information

Lecture 11. Transport Layer (cont d) Transport Layer 1

Lecture 11. Transport Layer (cont d) Transport Layer 1 Lecture 11 Transport Layer (cont d) Transport Layer 1 Agenda The Transport Layer (continue) Connection-oriented Transport (TCP) Flow Control Connection Management Congestion Control Introduction to the

More information

Multicast Transport Protocol Analysis: Self-Similar Sources *

Multicast Transport Protocol Analysis: Self-Similar Sources * Multicast Transport Protocol Analysis: Self-Similar Sources * Mine Çağlar 1 Öznur Özkasap 2 1 Koç University, Department of Mathematics, Istanbul, Turkey 2 Koç University, Department of Computer Engineering,

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START MIDTERM EXAMINATION #2 NETWORKING CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R - S c h o o l o f C o m p u t e r S c i e n c e Fall 2011 Question Paper NOTE: Students may take this question

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

CMPE 257: Wireless and Mobile Networking

CMPE 257: Wireless and Mobile Networking CMPE 257: Wireless and Mobile Networking Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 257 Spring'15 1 Student Presentations Schedule May 21: Sam and Anuj May 26: Larissa

More information

Continuous Real Time Data Transfer with UDP/IP

Continuous Real Time Data Transfer with UDP/IP Continuous Real Time Data Transfer with UDP/IP 1 Emil Farkas and 2 Iuliu Szekely 1 Wiener Strasse 27 Leopoldsdorf I. M., A-2285, Austria, farkas_emil@yahoo.com 2 Transilvania University of Brasov, Eroilor

More information

ECE697AA Lecture 3. Today s lecture

ECE697AA Lecture 3. Today s lecture ECE697AA Lecture 3 Transport Layer: TCP and UDP Tilman Wolf Department of Electrical and Computer Engineering 09/09/08 Today s lecture Transport layer User datagram protocol (UDP) Reliable data transfer

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

Request for Comments: 938 February 1985

Request for Comments: 938 February 1985 Network Working Group Request for Comments: 938 Trudy Miller ACC February 1985 Functional and Interface Specification STATUS OF THIS MEMO This RFC is being distributed to members of the DARPA research

More information

Comparison Study of Transmission Control Protocol and User Datagram Protocol Behavior over Multi-Protocol Label Switching Networks in Case of Failures

Comparison Study of Transmission Control Protocol and User Datagram Protocol Behavior over Multi-Protocol Label Switching Networks in Case of Failures Journal of Computer Science 5 (12): 1042-1047, 2009 ISSN 1549-3636 2009 Science Publications Comparison Study of Transmission Control Protocol and User Datagram Protocol Behavior over Multi-Protocol Label

More information

Chapter 6. (Week 12) The Transport Layer (CONTINUATION) ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP

Chapter 6. (Week 12) The Transport Layer (CONTINUATION) ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP Chapter 6 (Week 12) The Transport Layer (CONTINUATION) ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP. 524-574 1 THE TRANSPORT LAYER S TASK IS TO PROVIDE RELIABLE, COST- EFFECTIVE DATA TRANSPORT

More information

Data & Computer Communication

Data & Computer Communication Basic Networking Concepts A network is a system of computers and other devices (such as printers and modems) that are connected in such a way that they can exchange data. A bridge is a device that connects

More information

Transport Protocols and TCP

Transport Protocols and TCP Transport Protocols and TCP Functions Connection establishment and termination Breaking message into packets Error recovery ARQ Flow control Multiplexing, de-multiplexing Transport service is end to end

More information

Implementation of a Reliable Multicast Transport Protocol (RMTP)

Implementation of a Reliable Multicast Transport Protocol (RMTP) Implementation of a Reliable Multicast Transport Protocol (RMTP) Greg Nilsen University of Pittsburgh Pittsburgh, PA nilsen@cs.pitt.edu April 22, 2003 Abstract While many network applications can be created

More information

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,

More information

IMPLOSION CONTROL FOR MULTIPOINT APPLICATIONS 1

IMPLOSION CONTROL FOR MULTIPOINT APPLICATIONS 1 Appeared in the proceedings of the Tenth Annual IEEE Workshop on Computer Communications, Sept. 1995 Page 1 IMPLOSION CONTROL FOR MULTIPOINT APPLICATIONS 1 ABSTRACT: Christos Papadopoulos christos@dworkin.wustl.edu

More information

CS 4390 Computer Networks. Transport Services and Protocols

CS 4390 Computer Networks. Transport Services and Protocols CS 4390 Computer Networks UT D data Session 07 Transport Layer Overview and UDP Adapted from Computer Networking a Top-Down Approach 1996-2012 by J.F Kurose and K.W. Ross, All Rights Reserved Transport

More information

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission

More information

Networking interview questions

Networking interview questions Networking interview questions What is LAN? LAN is a computer network that spans a relatively small area. Most LANs are confined to a single building or group of buildings. However, one LAN can be connected

More information

RD-TCP: Reorder Detecting TCP

RD-TCP: Reorder Detecting TCP RD-TCP: Reorder Detecting TCP Arjuna Sathiaseelan and Tomasz Radzik Department of Computer Science, King s College London, Strand, London WC2R 2LS {arjuna,radzik}@dcs.kcl.ac.uk Abstract. Numerous studies

More information

An analysis of retransmission strategies for reliable multicast protocols

An analysis of retransmission strategies for reliable multicast protocols An analysis of retransmission strategies for reliable multicast protocols M. Schuba, P. Reichl Informatik 4, Aachen University of Technology 52056 Aachen, Germany email: marko peter@i4.informatik.rwth-aachen.de

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

A Distributed Interactive Simulation Intranet Using RAMP, a Reliable Adaptive Multicast Protocol

A Distributed Interactive Simulation Intranet Using RAMP, a Reliable Adaptive Multicast Protocol A Distributed Interactive Simulation Intranet Using RAMP, a Reliable Adaptive Multicast Protocol W. Garth Smith, Alex Koifman ABSTRACT A dynamic, heterogeneous, multicast environment has been fielded as

More information

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols Week 2 / Paper 1 The Design Philosophy of the DARPA Internet Protocols David D. Clark ACM CCR, Vol. 18, No. 4, August 1988 Main point Many papers describe how the Internet Protocols work But why do they

More information

Networks. Distributed Systems. Philipp Kupferschmied. Universität Karlsruhe, System Architecture Group. May 6th, 2009

Networks. Distributed Systems. Philipp Kupferschmied. Universität Karlsruhe, System Architecture Group. May 6th, 2009 Networks Distributed Systems Philipp Kupferschmied Universität Karlsruhe, System Architecture Group May 6th, 2009 Philipp Kupferschmied Networks 1/ 41 1 Communication Basics Introduction Layered Communication

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern

More information

4 rd class Department of Network College of IT- University of Babylon

4 rd class Department of Network College of IT- University of Babylon 1. INTRODUCTION We can divide audio and video services into three broad categories: streaming stored audio/video, streaming live audio/video, and interactive audio/video. Streaming means a user can listen

More information

Introduction to Open System Interconnection Reference Model

Introduction to Open System Interconnection Reference Model Chapter 5 Introduction to OSI Reference Model 1 Chapter 5 Introduction to Open System Interconnection Reference Model Introduction The Open Systems Interconnection (OSI) model is a reference tool for understanding

More information

Multimedia in the Internet

Multimedia in the Internet Protocols for multimedia in the Internet Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.it/ > 4 4 3 < 2 Applications and protocol stack DNS Telnet

More information

Stream Control Transmission Protocol

Stream Control Transmission Protocol Chapter 13 Stream Control Transmission Protocol Objectives Upon completion you will be able to: Be able to name and understand the services offered by SCTP Understand SCTP s flow and error control and

More information

Chapter III: Transport Layer

Chapter III: Transport Layer Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross Principles of congestion control

More information

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP What is a transport protocol? Choosing to use a transport protocol Ports and Addresses Datagrams UDP What is a

More information

The Transmission Control Protocol (TCP)

The Transmission Control Protocol (TCP) The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals

More information

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science Advanced Computer Networks Rab Nawaz Jadoon Department of Computer Science DCS COMSATS Institute of Information Technology Assistant Professor COMSATS University, Lahore Pakistan Advanced Computer Networks

More information

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/IP Networking. Part 4: Network and Transport Layer Protocols TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access

More information

University of Delaware. Ucl London. Rutgers. ICSI, Berkeley. Purdue. Mannheim Germany. Wash U. T_ack T_ack T_ack T_ack T_ack. Time. Stage 1.

University of Delaware. Ucl London. Rutgers. ICSI, Berkeley. Purdue. Mannheim Germany. Wash U. T_ack T_ack T_ack T_ack T_ack. Time. Stage 1. Reliable Dissemination for Large-Scale Wide-Area Information Systems Rajendra Yavatkar James Grioen Department of Computer Science University of Kentucky Abstract This paper describes a reliable multicast

More information

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ Networking for Data Acquisition Systems Fabrice Le Goff - 14/02/2018 - ISOTDAQ Outline Generalities The OSI Model Ethernet and Local Area Networks IP and Routing TCP, UDP and Transport Efficiency Networking

More information

Need For Protocol Architecture

Need For Protocol Architecture Chapter 2 CS420/520 Axel Krings Page 1 Need For Protocol Architecture E.g. File transfer Source must activate communications path or inform network of destination Source must check destination is prepared

More information

Outline: Connecting Many Computers

Outline: Connecting Many Computers Outline: Connecting Many Computers Last lecture: sending data between two computers This lecture: link-level network protocols (from last lecture) sending data among many computers 1 Review: A simple point-to-point

More information

Need For Protocol Architecture

Need For Protocol Architecture Chapter 2 CS420/520 Axel Krings Page 1 Need For Protocol Architecture E.g. File transfer Source must activate communications path or inform network of destination Source must check destination is prepared

More information

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods 1 Timeout freezing of transmission (TFT) Used in situations where

More information

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay CS 716: Introduction to communication networks - 18 th class; 7 th Oct 2011 Instructor: Sridhar Iyer IIT Bombay Reliable Transport We have already designed a reliable communication protocol for an analogy

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

SIMPLE MODEL FOR TRANSMISSION CONTROL PROTOCOL (TCP) Irma Aslanishvili, Tariel Khvedelidze

SIMPLE MODEL FOR TRANSMISSION CONTROL PROTOCOL (TCP) Irma Aslanishvili, Tariel Khvedelidze 80 SIMPLE MODEL FOR TRANSMISSION CONTROL PROTOCOL (TCP) Irma Aslanishvili, Tariel Khvedelidze Abstract: Ad hoc Networks are complex distributed systems that consist of wireless mobile or static nodes that

More information

A Two-level Threshold Recovery Mechanism for SCTP

A Two-level Threshold Recovery Mechanism for SCTP A Two-level Threshold Recovery Mechanism for SCTP Armando L. Caro Jr., Janardhan R. Iyengar, Paul D. Amer, Gerard J. Heinz Computer and Information Sciences University of Delaware acaro, iyengar, amer,

More information

Data Link Control Protocols

Data Link Control Protocols Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,

More information

UDP: Datagram Transport Service

UDP: Datagram Transport Service UDP: Datagram Transport Service 1 Topics Covered Introduction Transport Protocols and End-to-End Communication The User Datagram Protocol The Connectionless Paradigm Message-Oriented Interface UDP Communication

More information

Transport Protocols & TCP TCP

Transport Protocols & TCP TCP Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC

More information

CS321: Computer Networks Congestion Control in TCP

CS321: Computer Networks Congestion Control in TCP CS321: Computer Networks Congestion Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Causes and Cost of Congestion Scenario-1: Two Senders, a

More information

Performance Consequences of Partial RED Deployment

Performance Consequences of Partial RED Deployment Performance Consequences of Partial RED Deployment Brian Bowers and Nathan C. Burnett CS740 - Advanced Networks University of Wisconsin - Madison ABSTRACT The Internet is slowly adopting routers utilizing

More information

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING UNIT-2 2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS 2.2.1 Pure ALOHA 2.2.2 Slotted ALOHA 2.2.3 Carrier Sense Multiple Access 2.2.4 CSMA with Collision Detection 2.2.5 Collision Free Protocols 2.2.5.1

More information

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area Sally Floyd March 2, 2000 IAB Workshop on Wireless Internetworking 1 Observations: Transport protocols

More information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia IP - The Internet Protocol Based on the slides of Dr. Jorg Liebeherr, University of Virginia Orientation IP (Internet Protocol) is a Network Layer Protocol. IP: The waist of the hourglass IP is the waist

More information

TCP/IP Performance ITL

TCP/IP Performance ITL TCP/IP Performance ITL Protocol Overview E-Mail HTTP (WWW) Remote Login File Transfer TCP UDP IP ICMP ARP RARP (Auxiliary Services) Ethernet, X.25, HDLC etc. ATM 4/30/2002 Hans Kruse & Shawn Ostermann,

More information

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks Dr. Vinod Vokkarane Assistant Professor, Computer and Information Science Co-Director, Advanced Computer Networks Lab University

More information

Network Control and Signalling

Network Control and Signalling Network Control and Signalling 1. Introduction 2. Fundamentals and design principles 3. Network architecture and topology 4. Network control and signalling 5. Network components 5.1 links 5.2 switches

More information

CS457 Transport Protocols. CS 457 Fall 2014

CS457 Transport Protocols. CS 457 Fall 2014 CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram

More information

4.0.1 CHAPTER INTRODUCTION

4.0.1 CHAPTER INTRODUCTION 4.0.1 CHAPTER INTRODUCTION Data networks and the Internet support the human network by supplying seamless, reliable communication between people - both locally and around the globe. On a single device,

More information

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964 The requirements for a future all-digital-data distributed network which provides common user service for a wide range of users having different requirements is considered. The use of a standard format

More information

Data Transport over IP Networks

Data Transport over IP Networks Data Transport over IP Networks Derek Konigsberg octo@logicprobe.org AITP University of Central Florida Data Transport over IP Networks p.1/24 Introduction The TCP/IP protocol suite was created by DARPA

More information

NWEN 243. Networked Applications. Layer 4 TCP and UDP

NWEN 243. Networked Applications. Layer 4 TCP and UDP NWEN 243 Networked Applications Layer 4 TCP and UDP 1 About the second lecturer Aaron Chen Office: AM405 Phone: 463 5114 Email: aaron.chen@ecs.vuw.ac.nz Transport layer and application layer protocols

More information

Transport layer issues

Transport layer issues Transport layer issues Dmitrij Lagutin, dlagutin@cc.hut.fi T-79.5401 Special Course in Mobility Management: Ad hoc networks, 28.3.2007 Contents Issues in designing a transport layer protocol for ad hoc

More information

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations

More information

Computer Networks and Data Systems

Computer Networks and Data Systems Computer Networks and Data Systems Transport Layer TDC463 Winter 2011/12 John Kristoff - DePaul University 1 Why a transport layer? IP gives us end-to-end connectivity doesn't it? Why, or why not, more

More information

Outline. CS5984 Mobile Computing

Outline. CS5984 Mobile Computing CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,

More information

Configuring RTP Header Compression

Configuring RTP Header Compression Header compression is a mechanism that compresses the IP header in a packet before the packet is transmitted. Header compression reduces network overhead and speeds up the transmission of either Real-Time

More information