Title: Chapter 7
1Chapter 7 Transport Layer Protocols
2TCP Characteristics
- TCP is the acronym for Transmission Control
Protocol. - TCP is
- Connection oriented
- Reliable
- It is used to carry large amounts of data.
- It provides services that Internet Protocol (IP)
lacks. - TCP is defined in Request for Comments (RFC) 793.
(www.ietf.org)
3TCP Functions
- Guaranteed delivery
- Packet acknowledgment
- Flow control
- Error detection
- Error correction
4Segmentation
- Occurs when the Application layer Protocol passes
more data to TCP than can fit in a single packet. - TCP splits application layer messages into
datagram-sized segments and encapsulates each
segment with its own header. - The collection of segments is called a sequence.
5Segmentation (Continue)
- The destination system reassembles the segments
into the original sequence. - The segmentation process is completely separate
from the network layer fragmentation process.
6The TCP Message Format
7Port Numbers and Sockets
- A port number refers to a specific application or
process running on a computer. - A socket is a combination of a port number and an
IP address. - The Internet Assigned Numbers Authority (IANA)
assigns well-known port numbers to common
Internet applications.
8Port Numbers and Sockets
- The most commonly used port numbers are listed in
the Services file on computers running TCP/IP.
(page 184-185, table 7.1) - Clients choose ephemeral (momentary) port numbers
at random.
9Control Bits
Control Bit Function
URG Indicates that the segment contains urgent data
ACK Indicates that the message acknowledges a previously transmitted segment
PSH Indicates that the receiving system should forward the message immediately rather than wait for the rest of the sequence
RST Resets the TCP connection and discards the segments received so far
SYN Synchronizes the Sequence Number values for both systems
FIN Terminates a TCP connection
10Three-Way Handshake Functions (Establishing a
Connection)
- Verify that both computers are operating and
ready to receive data - Exchange initial sequence numbers (ISNs)
- Exchange maximum segment sizes (MSSs)
- Exchange port numbers
11Three-Way Handshake Messages
12Transmitting Data
- Information needed to transmit data
- Port number
- Sequence number
- MSS
13Packet Acknowledgment
- TCP implements packet acknowledgment by using the
Sequence Number and Acknowledgment Number fields. - The Sequence Number field specifies the number of
bytes transmitted. - The Acknowledgment Number field specifies the
number of bytes received.
14Delayed Acknowledgments
- TCP systems do not have to individually
acknowledge every packet they receive. - The frequency of acknowledgment is left up to the
individual TCP implementation.
15Positive and Negative Acknowledgments
- With positive acknowledgment with retransmission,
TCP systems acknowledge only the number of bytes
they have received correctly. - With negative acknowledgment, the computer
specifies the information that it has not
received correctly. - All data beginning with the failed segment is
retransmitted. - Messages that are not acknowledged are
retransmitted.
16TCP Error Detection
- TCP provides the only end-to-end error detection
for the application layer data. - TCP computes a checksum based on
- The TCP header
- The application layer information in the TCP Data
field - A pseudo-header created from some of the fields
in the IP header (pseudo-header ensures datagrams
are delivered to the correct computer and correct
transport layer)
17TCP Checksum Value
18Flow Control
- Flow control allows a receiving system to control
the transmission rate of the sending system. - Each computer has a buffer for storing incoming
packets. - When a computer transmits too quickly, the buffer
on the receiving system can fill up, causing
packets to be dropped. - TCP uses the Window field in its acknowledgment
messages to implement flow control. - The Window value indicates how much buffer space
the receiving system has available. - The sending system is permitted to transmit only
the number of bytes specified in the Window
field.
19Sliding Window Technique
20Terminating the Connection
21UDP Characteristics
- UDP is the acronym for User Datagram Protocol.
- UDP is defined in RFC 768.
- It is a connectionless protocol.
- It is used primarily for brief request/reply
transactions.
22The UDP Message Format
23SPX Characteristics
- SPX is the acronym for Sequenced Packet Exchange.
- SPX is a connection-oriented protocol.
- It provides packet acknowledgment and flow
control. - It is used infrequently by NetWare.
- Messages are carried in Internet Packet Exchange
(IPX) datagrams.
24The SPX Message Format
25NCP Characteristics
- NCP is the acronym for NetWare Core Protocol.
- NCP is used for NetWare file sharing traffic.
- It is much more frequently used than SPX.
- Messages are carried in IPX datagrams.
- NCP requires an acknowledgment for each
transmitted message.
26The NCP Request Message Format
27The NCP Reply Message Format
28Chapter Summary
- TCP
- Connection-oriented protocol
- Used to carry relatively large amounts of data
- Provides guaranteed delivery, packet
acknowledgment, flow control, error detection,
and error correction - UDP
- Connectionless protocol
- Essentially a subset of TCP
- Generates less overhead than TCP does
- Used primarily for brief transactions consisting
of a single request and a single reply
29Chapter Summary (Cont.)
- SPX
- Connection-oriented protocol
- Provides packet acknowledgment and flow control,
much like TCP - NCP
- Used for NetWare file sharing traffic, among many
other functions - Used much more frequently than SPX
- Requires an acknowledgment for each message
transmitted