When an application communicates across the network it has
to make a choice between TCP and UDP. It is actually choice between reliable
and unreliable communication.
TCP: is reliable,
it builds the connection with the device it is communicating with.
UDP: connectionless world, device do not introduce itself to the
device it is sending the data to, I just say here is the data and send it to
the destination address, destination may not be ready for that packet and can
drop it. It is just best effort delivery, it send the packet and hope that it
will reach the destination. It makes UDP an unreliable protocol. But this is
great for real-time traffic such as VoIP that need speed, when I am speaking on
the phone there is no need to resend the dropped data as the conversation is
progressing, in case of online games if any movement is dropped there is no
reason to backup or resend that as the game is progressing.
TCP: use sequence number, means all the packets that it sends are
tagged with a number, for example this is the 5th packet, this is
the 6th packet. With this number the packets which are received at
the destination out of order can be rearranged with the original or proper
order. Everything send via TCP is acknowledged.
TCP uses Three-Way-Handshake. TCP
communication is like a phone call.
TCP is
1) Reliable.
2) Session
based.
3) Uses
sequence numbers.
After the three-way handshake is completed the computer
start sending or receiving data from the server it is communicating with.
TCP Windowing
Every time an application
communicates across the network it’s not only going to chose UDP, TCP but also
selects the source and destination Port numbers.
HTTP uses TCP port 80,,,,,,,,,,,, the source/destination address along
with TCP/UDP port number is called SOCKET address.
Now, what if you wanted to run an FTP
server, which is a server that allows you to transfer and receive files from
remote computers, on the same web server. FTP servers use TCP ports 20 and 21
to send and receive information, so you won't have any conflicts with the web
server running on TCP port 80. Therefore, the FTP server application when it
starts will bind itself to TCP ports 20 and 21, and wait for connections in
order to send and receive data.
People that govern IP addresses and maintain well-known port numbers
are IANA. Port number tells the receiver that what application the sender is
trying to access.
There are total of
65,535 TCP Ports and another 65,535 UDP ports. A port number 900 on TCP may or
may not be same as port 900 on UDP.
If you have made any online game then you cannot use 0 to 1023 port
numbers as they are reserved for other well known services that you cannot
touch. So you have to choose one of the other (1024-49151) or (49152-65535) port
numbers.
POP3 is post office protocol that is used when we receive
email by opening outlook email client and download it from a server.
HTTPS secure web surfing. 443 port TCP.
TCP applications are far more common than UDP. As most
people want reliable communication for their services.
No comments:
Post a Comment