Thursday, April 12, 2012

Internet Protocol Suite

Machines on the internet use the Internet Protocol ( IP) to reach each other , even when separated by many intermediatery machines . There are a number of protocols that are run in conjunction with IP that provide features as critical to normal operations as IP itself . Every packet specifies a protocol number which identifies the packet as one of these protocols . The most commonly used protocols are the Transmission Control Protocol (TCP , number 6 ) , User Datagram Protocol (UDP, number 17 ) , and the Internet Control Message Protocol ( ICMP , number 1 ) . Taken as a group , these protocols ( and others ) are known as the Internet Protocol Suite , or simply TCP/IP for short.

The TCP and UDP protocols introduce the concept of port numbers . Port numbers allow multiple services to be run on the same IP address , abd still be distinguished from each other . Every packet has a source and destination port number. Some port numbers are well defined standards , used to reach well known services such as email and web servers . For example , web servers normally listen on TCP port 80 , and SMTP email servers listen on TCP port 25 . When we say that a service " listens" on a port ( such as port 80) , we mean that it will accept packets that use its IP as the destionation IP address , and 80 as the destination port . Servers usually do not care about the source IP or source port , although sometimes they will use them to establish the identity of the other side . When sending a response to such packets , the server will use its own IP as the source IP , and 80 as the source port .

WHen a vlient conects to a service , it may use any source port nuber on its side which is not already in use , but it must connect to the proper port on the server (e.g. 80 for web , 25 for email). TCP is a session oriented protocol with guaranteed delivery and transmisision control features ( such as detection and mitigation of network congestion , retries , packet reordering and reassemblu , etc.). UDP is designed for connectionless streams of information , and does not guarantee delivery at all , or in any particular oder .

The ICMP protocol is designed for debugging and maintenance on the Internet. Rather than port numbers , it has message types , which are also numbers . Different message types are used to request a simple response from another computer ( echo request ),notify the sender of another packet of a possible routing loop ( time exceeded ) , or inform the sender that a packet that could not be delivered due to firewall rules or other problems ( destination unreachable ) .

By now you should have a solid understanding of how computers on the network are addressed , and how information flows on the networks between them . Now let's take a brief look at the physical hardware that implements these network protocols .

No comments:

Post a Comment