Unix and the suite of TCP/IP protocols go hand in hand: it is not possible to separate the two. TCP/IP refers to a suite of protocols, not just the TCP and IP protocols. TCP/IP is the network portion of Unix. The following figure relates the Dept. of Defense (DoD) model of TCP/IP with the OSI model. The DoD model is also called the ARPA model (Advanced Research Projects Agency).
OSI Model and the DoD Model of TCP/IP
It is not a perfect match between the OSI Model and the DoD model. However, it is close enough in principle. Note: Only a few of the major Application layer protocols are displayed; a complete listing is presented in Appendix I: TCP/IP well-known Ports.
Network Devices are network interface cards (NIC) and their software drivers. Typically, they are Ethernet cards, Token Ring cards, and WAN links (such as ISDN or Frame Relay), and they can also be modems and serial ports. The most common protocol used is Ethernet. It uses an address burned into the NIC to identify itself to the local network. A typical Ethernet MAC (media access control) address is a 48 bit number, and would look like 00-02-AF-97-F2-03. Note: the MAC address is always represented by hexadecimal numbers.
IP stands for Internet Protocol. Its main job is to find the best route--through the Internet--to the destination. IP uses IP addresses to identify the host machine and the network. A typical IP address is a 32 bit number, and looks like 142.110.237.1. In this case, 142.110.237.0 identifies the network address, and 0.0.0.1 identifies the host machine. IP addresses are always represented by decimal numbers. IP protocol data units (PDUs) are called datagrams, and provide a connectionless service (send and pray).
ARP stands for Address Resolution Protocol and it is used to map IP addresses to MAC addresses. This is needed because the Network layer is not aware of the Data Link layer's addresses (and vice versa).
ICMP stands for Internet Control Message Protocol, and is used mainly for troubleshooting TCP/IP network connections. Two common programs, ping and traceroute, are part of ICMP.
TCP stands for Transmission Control Protocol, and is used to guarantee end to end delivery of segments of data, to put out of order segments in order, and to check for transmission errors. TCP is a connection-oriented service.
UDP stands for User Datagram Protocol, and is a connectionless service. This results in a low overhead and fast transfer service (relies on the upper layer protocols to provide error checking and delivery of data).
In the Application layer lies many hundreds of network-aware programs and services such as the following:
HTTP (80) - HyperText Transport Protocol, which is used for transferring web pages.
SNMP (161/162)- Simple Network Management Protocol, which is used for managing network devices.
FTP (20/21)- File Transfer Protocol, which is used for transferring files across the network.
TFTP (69)- Trivial File Transfer Protocol, which is a low overhead fast transfer FTP protocol.
SMTP (25)- Simple Mail Tranfer Protocol, which is used for transferring email across the Internet.
Telnet (23)- An application for remotely logging into a server across the network.
NNTP (119)- Network News Transfer Protocol, which is used for transferring news.
The numbers, shown in brackets next to the protocols, are called the well-known Port Numbers. TCP and UDP use these port numbers to indicate where the segments should be sent. For example, web servers use Port 80 to indicate that the HTTP protocol is used. A Socket is another name for a well-known Port. A complete listing of the ports is presented in Appendix I: TCP/IP well-known Ports.
If this section was helpful, why not donate to further development?