ose Hypertext Transfer Protocol (HTTP) [RFC 2068] to surf the Internet and Internet Message Access Protocol (IMAP) [RFC 2060] for downloading e-mail from a server. Both run on top of the Transmission Control Protocol (TCP) [RFC 793], which is, of course, a trans- port layer protocol (Figure 3-2). The Internet Multimedia Conferencing Architecture Figure 3-1 Application layer Four layers of the TCP/IP protocol suite. Transport layer Network layer Data-link layer Physical layer Figure 3-2 Tailored services Combined Web browser and e-mail client Building services for the users on top of a layered architecture. Application layer Transport layer Network layer Transport Layer Protocols Applications must make use of application layer protocols in order to pro- vide any service whatsoever. Application layer protocols must in turn make use of transport layer protocols, and transport layer protocols run on top of Chapter 3 IP. Currently, two transport layer protocols are widely available: TCP [RFC 793] and User Datagram Protocol (UDP) [RFC 768]. Transmission Control Protocol (TCP) TCP provides reliable, in-sequence transport of byte-streams between hosts. It contains mecha- nisms such as time-outs, retransmissions, and sequence numbers that let the protocol deliver data to the receiver exactly as generated by the sender. TCP also performs flow control and error correction. Thus, if Bob sends Laura the message "Laura, how are you doing?" over a TCP connection, TCP will ensure that Laura receives the message "Laura, how are you doing?" Because TCP is an end-to-end protocol, it deduces the state of the network by observing the dynamic behavior of the end-to-end traffic. Receivers send acknowledgement messages to senders to provide enough information SO that error detection and flow control can be performed. TCP enables the end user to demultiplex incoming IP packets to differ- ent applications. Because all of the packets arriving at a host contain the same destination IP address, a further identifier is needed to associate eac