The ARPANET Reference Model (ARM)
The model adopted by TCP/IP suite and it has 5 layers.
The “unofficial” layer. Several protocols operate here but the most important is called the Address Resolution Protocol (ARP) which converts between the addresses used by the IP layer and the addresses used by the link layer.
The main network-layer protocol for the TCP/IP suite.
It utilizes a PDU called an IP datagram or simply a packet which is 64KB in size for IPv4 and 4GB for IPv6.
Each packet contain address of the layer 3 sender and recipient, which is called IP addresses and are 32-bits long for IPv4 and 128-bits long for IPv6. There are 3 types of IP addresses:
- unicast – destined for a single host
- broadcast – destined for all hosts
- multicast – destined for a set of hosts that belong to a multicast group
Network “unofficial” layer. Helps accomplish setup, management and security for the network layer. Some of the protocols here are the following.
Internet Control Message Protocol (ICMP) – used by the IP layer to exchange error messages and other vital information with the IP layer in another host or router. It also functions as address auto-configuration and neighbor discovery for IPv6 . Popular tools that utilizes ICMP are ping and traceroute
Internet Group Management Protocol (IGMP) – used with multicast addressing and delivery to manage which hosts are members of a multicast group.
Called the transport layer. The 2 most widely used transport protocols are TCP and UDP which are described below.
Transmission Control Protocol (TCP) – deals with problems such as packet loss, duplication and re-ordering that are not repaired by the IP layer.
User Datagram Protocol (UDP) – imposes no rate control or error control
Worth mentioning are the 2 relatively new transport protocols.
Datagram Congestion Control Protocol (DCCP) – provides type of service midway between TCP and UDP. Connection-oriented exchange of unreliable datagrams but with congestion control.
Stream Control Transmission Protocol (SCTP) – provides reliable delivery like TCP but does not require the sequencing of data to be strictly maintained.
Called the application layer. Concerned with the details of the application and not with the movement of data across the network.
Multiplexing, demultiplexing and encapsulation in TCP/IP
At each layer there is an identifier that allows a receiving system to determine which protocol or data streams belongs together.
16-bit non-negative no. (0-65535), it doesn’t refer to anything physical. Each IP address has 65,536 associated port no.
Standard port no. are assigned by the Internet Assigned Numbers Authority (IANA). It is divided into special ranges below.
- Well-known port no. (0-1023)
- Registered port no. (1024-45151)
- Dynamic/private port no. (49152-65535)
Names, Addresses and DNS
It provides mapping between host names and IP addresses (vice-versa)