TCP and UDP use the same network layer(IP),TCP provides a connection oriented,reliable,byte stream service.The term
connection-oriented means the two applications using TCP must establish a TCP sonnection with each other before they
can exchange data.
TCP provides realiability by doing the following:
(1):The application data is broken into what TCP considersthe best sized chunks to be send.The unit of information passed
by TCP to IP is called a segment.
This is totally different from UDP,where each write by the application generates a UDP datagram of that size.
(2):When TCP sends a segment it maintains a timer,waiting for the other end to acknoeledge reception of the segment.
If an acknowledgement isn't received in time,the segment is retransmitted.
(3):When TCP receives data from the other end of the connection,it sends an acknowledgement.This acknowledge
normally delayed a fraction of a second.
(4):TCP maintains a checksum on its header and data.If a segment arrives with an invalid checksum,TCP discard it and
doesn't acknowledge receiving it.
(5):Since TCP segments are transmitted as IP datagrams,and since IP datagrams can arrive out of order,TCP segment
can arrive out of order.
(6):Sinace IP datagrams can get duplicated,a receiving TCP must discard duplicate data.
TCP also provides flow control.Each end of a TCP connection has a finite amount of buffer sapce.
to be continue...