TCP
|
UDP
|
|
Acronym for:
|
Transmission Control Protocol
|
User Datagram Protocol or
Universal Datagram Protocol
|
Function:
|
As a message makes its way across
the internet from one computer to another. This is connection based.
|
UDP is also a protocol used in
message transport or transfer. This is not connection based which means that
one program can send a load of packets to another and that would be the end
of the relationship.
|
Usage:
|
TCP is used in case of non-time
critical applications.
|
UDP is used for games or
applications that require fast transmission of data. UDP's stateless nature
is also useful for servers that answer small queries from huge numbers of
clients.
|
Examples:
|
HTTP, HTTPs, FTP, SMTP Telnet
etc...
|
DNS, DHCP, TFTP, SNMP, RIP, VOIP
etc...
|
Ordering of data packets:
|
TCP rearranges data packets in the
order specified.
|
UDP has no inherent order as all
packets are independent of each other. If ordering is required, it has to be
managed by the application layer.
|
Speed of transfer:
|
The speed for TCP is slower than
UDP.
|
UDP is faster because there is no
error-checking for packets.
|
Reliability:
|
There is absolute guarantee that
the data transferred remains intact and arrives in the same order in which it
was sent.
|
There is no guarantee that the
messages or packets sent would reach at all.
|
Header Size:
|
TCP header size is 20 bytes
|
UDP Header size is 8 bytes.
|
Common Header Fields:
|
Source port, Destination port,
Check Sum
|
Source port, Destination port,
Check Sum
|
Streaming of data:
|
Data is read as a byte stream, no
distinguishing indications are transmitted to signal message (segment)
boundaries.
|
Packets are sent individually and
are checked for integrity only if they arrive. Packets have definite
boundaries which are honored upon receipt, meaning a read operation at the
receiver socket will yield an entire message as it was originally sent.
|
Weight:
|
TCP requires three packets to set
up a socket connection, before any user data can be sent. TCP handles
reliability and congestion control.
|
UDP is lightweight. There is no
ordering of messages, no tracking connections, etc. It is a small transport
layer designed on top of IP.
|
Data Flow Control:
|
TCP does Flow Control. TCP
requires three packets to set up a socket connection, before any user data
can be sent. TCP handles reliability and congestion control.
|
UDP does not have an option for
flow control
|
Error Checking:
|
TCP does error checking
|
UDP does error checking, but no
recovery options.
|
Fields:
|
1. Sequence Number, 2. AcK number,
3. Data offset, 4. Reserved, 5. Control bit, 6. Window, 7. Urgent Pointer 8.
Options, 9. Padding, 10. Check Sum, 11. Source port, 12. Destination port
|
1. Length, 2. Source port, 3.
Destination port, 4. Check Sum
|
Acknowledgement:
|
Acknowledgement segments
|
No Acknowledgment
|
10 Mar 2013
TCP vs UDP
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment