From the starting itself the major goal of the design issues were to connect the multiple networks in a seamless way and this was later known to be “TCP/IP Reference Model”. The internet protocol suite came from work done by DARPA in the early 1970s. Kahn and Cerf had soon worked out a fundamental reformulation, where the differences between network protocols were hidden by using a common internetwork protocol, and instead of the network being responsible for reliability, as in the ARPANET, the hosts became responsible. DARPA then contracted with BBN, Stanford, and The University College London to develop operational versions of the protocol on different hardware platforms. Four versions were developed — TCP v1, TCP v2, a split into TCP v3 and IP v3 in the spring of 1978, and then stability with TCP/IP v4 — the standard protocol still in use on the Internet today.
Now we will have a look into the layers that our reference model consists of. Derived from the OSI structure we have only four layers in the TCP/IP reference model. We can consider the layers in the OSI are merged together to form the layers in TCP/IP. The IP suite uses encapsulation to provide abstraction of protocols and services. Generally a protocol at a higher level uses a protocol at a lower level to help accomplish its aims. The layers near the top are logically closer to the user while those near the bottom are logically closer to the physical transmission of the data. Each layer has an upper layer protocol and a lower layer protocol (except the top/bottom protocols, of course) that either use said layer's service or provide a service, respectively. Viewing layers as providing or consuming a service is a method of abstraction to isolate upper layer protocols from the nitty gritty detail of transmitting bits over, say, ethernet and collision detection while the lower layers avoid having to know the details of each and every application and its protocol.
This abstraction also allows upper layers to provide services that the lower layers cannot, or choose not, to provide. For example, IP is designed to not be reliable and is a best effort delivery protocol. This means that all transport layer must address whether or not to provide reliability and to what degree. UDP provides data integrity (via a checksum) but does not guarantee delivery; TCP provides both data integrity and delivery guarantee (by retransmitting until the receiver receives the packet).This model is in some ways lacking.
- For multipoint links with their own addressing systems (e.g. ethernet) an address mapping protocol is needed. Such protocols can be considered to be below IP but above the existing link system.
- ICMP & IGMP operate on top of IP but does not transport data like UDP or TCP.
- The SSL/TLS library operates above the transport layer (utilizes TCP) but below application protocols.
- The link is treated like a black box here. This is fine for discussing ip (since the whole point of IP is it will run over virtually anything) but is less helpful when considering the network as a whole.
Note: The upper layer protocol (ULP) refers to the more abstract protocol when performing encapsulation whereas the lower layer protocol (LLP) refers to the more specific protocol when performing encapsulation. For example In the internet protocol suite, IP is the lower layer protocol to UDP and TCP; likewise UDP and TCP are two upper layer protocols for IP.



