Regarding the reference model (not OSI) used in the grandparent of all wide area computer networks, the ARPANET, and its successor, the worldwide Internet, when satellite and radio networks were added later, the existing protocols had trouble interworking with them. So a new reference architecture was needed. Thus, from nearly the beginning, the ability to connect multiple networks in a seamless way was one of the major design goals. This architecture later became known as the
TCP/IP Reference Model
, named after its two primary protocols.
The model has four layers and each layer is to be discussed below.
The Link Layer
Despite of connecting multiple networks seamlessly, another major design goal was that the network be able to survive loss of subset hardware, without existing conversations being broken off. All these requirements led to the choice of a packet-switching network based on a connectionless layer that runs across different networks. T
he lowest layer in the model, the
link layer
describes what links such as serial lines and classic Ethernet must do to meet the needs of this connectionless internet layer. It is not really a layer at all, in the normal sense of the term, but rather an interface between hosts and transmission links.
The Internet Layer
The internet layer is the linchpin that holds the whol
e architecture together. It is showed below as corresponding roughly to the OSI network layer. Its job is to permit hosts to inject packets into any network and have them travel independently to the destination (potentially on a different network).
The internet layer defines an official packet format and protocol called IP (Internet Protocol), plus a companion protocol called ICMP (Internet Control Message Protocol) that help it function. The job of the internet layer is to deliver IP packets where they are supposed to go. Packet routing is clearly a major issue here, as is congestion (though IP has not proven effective at avoiding congestion).
The Transport Layer
The layer above the internet layer in the TCP/IP model is now usually called the transport layer. It is designed to allow peer entities on the source and destination hosts to carry on a conversation, just as in the OSI transport layer. Two end-to-end transport protocols have been defined here. The first one, TCP (Transmission Control Protocol), is a reliable connection-oriented protocol that allows a byte stream originating on one machine to be delivered without error on any other machine in the internet. It segments the incoming byte stream into discrete messages and passes each one on to the internet layer. At the destination, the receiving TCP process reassembles the received messages into the output stream. TCP also handles flow control to make sure a fast sender cannot swamp a slow receiver with more messages than it can handle.
The second protocol in this layer, UDP (User Datagram Protocol), is an unreliable, connectionless protocol for applications that do not want TCP's sequencing or flow control and wish to provide their own. It is also widely used for one-shot, client-server-type request-reply queries and applications in which prompt delivery is more important than accurate delivery, such as transmitting speech or video. The relation of IP, TCP, and UDP is shown below.
The Application Layer
The TCP/IP model does not have session or presentation layers. These layers are of little use to most applications. Instead, applications simply include any session and presentation functions that they require.
On top of the transport layer is the
application layer
. It contains all the higher-level protocols.