1. Transport Layer Protocol:
Transmission Control Protocol
- Introduction to TCP
- Operation of TCP
- Characteristics of TCP
- TCP three-way handshake process
- Application of TCP
- Relationship between TCP and IP
- Standard TCP/IP services
- Port numbers and socket address
2. Introduction: Transport Layer Protocol
• The Transport layer is where sessions are established and data packets
are exchanged between hosts. Two core protocols are found at this
layer are, TCP, UDP
• A transport layer provides end-to-end or host-to-host communication
services.
• The transport layer provides services such as connection-oriented data
stream support, reliability, flow control, and multiplexing.
3. Introduction: TCP (Transmission Control Protocol)
• Second transport layer protocol, TCP.
• Connection oriented and reliable protocol.
• Creates virtual connection between two TCPs to send data.
• TCP uses flow control and error control mechanisms at the transport level.
• Heavy weight protocol, ensure that packet is delivered or not, if not TCP
resends that packet and packet must be delivered sequentially.
4. TCP Operations
• OPEN to open a connection
• CLOSE to close a connection
• SEND to send data to an open connection
• RECEIVE to receive data from an open connection
• STATUS to find information about a connection
5. TCP Message Format
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Source Port Destination Port
Sequence Number
Acknowledgement Number
Data
Offset Reserved
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
Window
Checksum Urgent Pointer
Options Padding
data
6. Source port: 16 bits The source port number
Destination port: 16 bits The destination port number
Sequence Number
(SEQ):
32 bits The sequence number of the first data octet in this segment (except when SYN is present) If
SYN is present the sequence number is the initial sequence number (ISN) and the first data
octet is ISN+1
Acknowledgement
Number (ACQ):
32 bits If the ACK control bit is set this field contains the value of the next sequence number the
sender of the segment is expecting to receive. Once a connection is established this is always
sent.
Data Offset: 4 bits The number of 32 bit words in the TCP header. This indicates where the data begins. The TCP
header (even one including options) is an integral number of 32 bits long.
Reserved: 6 bits Reserved for future use. Must be zero.
Control bits: 6 bits (from left to
right)
URG: Urgent Pointer field significant
ACK: Acknowledgement
PSH: Push function
RST: Reset the connection
SYN: Synchronize sequence numbers
FIN: No more data from sender
Window: 16 bits The number of data octets beginning with the one indicated in the acknowledgement field
which the sender of this segment is willing to accept.
Checksum: 16 bits Checksum field is calculated to verify the data correctness.
7. Characteristics of TCP
• Basic Data Transfer: Continuous transfer of octets in each direction
• Reliability: Must have to recover from data that is damaged, lost, duplicated or delivered or not.
• Flow Control: How much to send and how much to receive. (Acknowledgement)
• Multiplexing: Uses different ports and addresses to do simultaneously communication.
Processes)
(Many
• Connection: Reliability and Flow Control mechanism requires TCPs initialize or connection status.
• Security: The users of TCP may indicate the security and precedence of their communication
8. TCP three-way handshake process
• It is usually a process that takes place when a computer is about to communicate
with a foreign device to establish rules for communication.
• To establish a connection, each device must send a SYN and receive an ACK for it
from the other device. Thus, conceptually, we need to have four control messages
pass between the devices. However, it's inefficient to send a SYN and an ACK in
separate messages when one could communicate both simultaneously. Thus, in the
normal sequence of events in connection establishment, one of the SYNs and one
of the ACKs is sent together by setting both of the relevant bits (a message
sometimes called a SYN+ACK). This makes a total of three messages, and for this
reason the connection procedure is called a three-way handshake.
9. • E.g. : SYN: The active open is performed by the client sending a SYN
to the server. The client sets the segment's sequence number to a
random valueA.
• SYN-ACK: In response, the server replies with a SYN-ACK. The
acknowledgment number is set to one more than the received sequence
number i.e. A+1, and the sequence number that the server chooses for
the packet is another random number, B.
• ACK: Finally, the client sends an ACK back to the server. The
sequence number is set to the received acknowledgement value i.e.
A+1, and the acknowledgement number is set to one more than the
received sequence number i.e. B+1.
10. HostAsends a TCP SYNchronize packet to Host B
Host B receivesA's SYN
Host B sends a SYNchronize-ACKnowledgement
HostAreceives B's SYN-ACK
HostAsendsACKnowledge
Host B receivesACK.
TCP socket connection is ESTABLISHED
11. Applications of TCP
• Used to send large number of files.
• Used for traffic that you need all the data for. i.e. HTML,
pictures, etc.
• Reliable for use.
• In TCP the data will not be corrupted.
•
12. • TCP has a mechanism to control the errors.
• It is a connection oriented protocol, It establishes a path, or a virtual
connection all the way through switches routers proxies etc. and then
starts any communication.
• Used for security purposes.
E.g.: TCP is mailing a letter with a return receipt at the post office,
except that the post master will organize the letters in-order-of mailing
and only deliver them in-order.
13. Relationship between TCP and IP
• The Internet Protocol Suite (commonly known as TCP/IP) is the set
of communications protocols used for the Internet and other similar
networks.
• It is named from two of the most important protocols in it:
• the Transmission Control Protocol (TCP) and
• the Internet Protocol (IP), which were the first two networking
protocols defined in this standard.
15. Transmission Control Protocol (TCP)
• Transmission Control Protocol (TCP) is the core protocol of the Internet
Protocol Suite.
• TCP provides the delivery of a stream of bytes from a program from
one computer to another computer.
• TCP provides reliable, ordered, and error-checked delivery of a stream of
octets between applications running on hosts communicating over an IP
network.
• TCP is the connection-oriented protocol.
16. Internet Protocol (IP)
• IP has the task of delivering packets from the source host to the
destination host solely based on the IP addresses in the packet headers.
• Internet Protocol is connectionless protocol.
17. Summary
• Both TCP and IP are the connection protocols from Internet Protocol Suite or
TCP/IP model.
• TCP is a core operating on a relatively high level; IP operates at a lower level.
• TCP is the protocol from Transport Layer whereas IP is the primary protocol in the
Internet Layer.
• TCP provides communication services at an intermediate level between an
application program and the IP; IP encapsulates all data, and is connectionless.
20. Telnet:
- Telnet is a user command and an underlying TCP/IP protocol for
accessing remote computers.
- The Telnet protocol enables terminals and terminal-oriented
processes to communicate on a network running TCP/IP.
- Telnet provides a user interface through which two hosts can
communicate on a character-by-character or line-by-line basis.
- 23 is the port number.
21. Anonymous / File Transfer Protocol (FTP)
- The File Transfer Protocol (FTP) is a standard network protocol used
to transfer computer files from one host to another host over a TCP-
based network, such as the Internet.
- Anonymous FTP is a common way to get access to a server in order
to view or download files that are publicly available.
- 20/21 is the port number.
22. Trivial File Transfer Protocol (TFTP)
• Trivial File Transfer Protocol (TFTP) is a simple, lock-step, File Transfer
Protocol which allows a client to get from or put a file onto a remote host.
• Trivial File Transfer Protocol (TFTP) is an Internet software utility for
transferring files that is simpler to use than the File Transfer Protocol (FTP)
but less capable.
• It is used where user authentication and directory visibility are not required.
• 69 is the port number.
23. Port Numbers
• A port number is a way to identify a specific process to which an
Internet or other network message is to be forwarded when it arrives at
a server.
• For the Transmission Control Protocol, a port number is a 16-bit
integer that is put in the header appended to a message unit.
24. Socket Address
• A socket address is the combination of an IP address and a port
number, much like one end of a telephone connection is the
combination of a phone number and a particular extension.
• Based on this address, internet sockets deliver incoming data packets
to the appropriate application process or thread.