 number of 80, while SIP uses the well-known port number of 5060 or 5061. Other port numbers can be used for any protocol, and they are assigned dynamically from a pool of available numbers. These so-called "ephemeral" port numbers are usu- ally in the range 49152 to 65535. There are three commonly used transport layer protocols, Transmission Control Protocol, Transmission Layer Security, and User Datagram Protocol, which are described in the following sections. SIP: Understanding the Session Initiation Protocol 1.4.3.1 TCP TCP [9] provides reliable, connection-oriented transport over IP. TCP uses sequence numbers and positive acknowledgments to ensure that each block of data, called a segment, has been received. Lost segments are retransmitted until they are successfully received. Figure 1.2 shows the message exchange to estab- lish and tear down a TCP connection. A TCP server "listens" on a well-known port for a TCP request. The TCP client sends a SYN (synchronization) message to open the connection. The SYN message contains the initial sequence number the client will use during the connection. The server responds with a SYN mes- sage containing its own initial sequence number, and an acknowledgment number, indicating that it received the SYN from the client. The client com- pletes the three-way handshake with an ACK or a DATA packet with the AK flag set to the server acknowledging the server's sequence number. Now that the connection is open, either client or server can send data in DATA packets called segments. Each time a sender transmits a segment, it starts a timer. If a segment is lost in transmission, this timer will expire. Deducing a lost segment, the sender will resend the segment until it receives the acknowledgment. The FIN message closes the TCP connection. The sequence of four messages shown in Figure 1.2 closes the connection. The ephemeral port numbers used in the connection are then free to be used in establishing other connections. TCP also has built-in mechanisms for flow control. During the 