Figure 2.2 shows details of TCP/IP Layers. Each layer stacks on top of each other to form the basic TCP/IP structure and functionality.
Figure 2.2: TCP/IP Layer
A) Application Layer
The top layer is an Application Layer. It is used by most applications for network communication such as Telnet, Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), Domain Name System (DNS), Routing Information Protocol (RIP) and Simple Network Management Protocol (SNMP). Figure 2.3 shows the interaction between user and HTTP Server. HTTP is used for viewing pages on the internet.
Figure 2.3: Hypertext Transfer Protocol (HTTP)
Figure 2.4 shows the outbound mail and inbound mail through SMTP. SMTP is used for mail transfer from a mail server to a client computer.
Figure 2.4: Simple Mail Transfer Protocol (SMTP)
DNS is a naming system for a computer that is connected to the internet. It finds the nearest DNS server and requests the IP address of the website before it is able to connect into that website. As an example; facebook.com turns into 184.108.40.206. This naming system used because facebook.com is far easier to remember than 220.127.116.11.
RIP is used by router to exchange routing information with each other. This gives computers network information as to where to route the packets through. This gives a simple easy path for the data to go through, instead of the computer sending the packet to every other computer on the internet. SNMP enables user to manage server remotely from other devices in a network.
B) Transport Layer
The second layer is Host-to-Host Transport layer. Application layer will inform this layer that it has some data to be sent. There are two protocols which are Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). TCP is a reliable one-to-one connection service. This connection oriented protocol ensures data transmitted accurately. This layer also manages errors such as packet loss, sequencing and acknowledgement of how many packets were sent. It negotiates and maintains a connection between two hosts. It uses the connection to ensure the receiver is ready to receive a packet. It acknowledges sender that it accepts the packet and retransmit a packet that is not acknowledged by the receiver. UDP is a one-to-one or one-to-many communication service. It is very unreliable and connectionless because UDP cannot guarantee delivery of packet data. UDP is used when the data want to be sent is very small (one packet) and do not a TCP connection or when the applications provide reliable delivery. It does not check if the receiver is ready when it sends a packet to a host. When it receives a packet, it does not acknowledge the delivery because it does not send a large number of messages. UDP required much less bandwidth than TCP. UDP is used by application layer protocol such as DNS to transmit short messages such as name query and response. UDP reject corrupted packet as much as TCP did. Streaming media also use UDP because it is low overhead. The media player will buffered enough of arriving data to be able to request a new copy of a bad packet from the sender and receive it before it was needed.
C) Network layer
The third layer is Network Layer or Internet Layer. This layer is accountable to handle addressing, packaging and routing functions. This layer has many protocols such as Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP) and Internet Group Management Protocol (IGMP). IP is a main protocol of the Internet Layer. This is an unreliable, connectionless protocol for routing between hosts. This protocol makes its best effort to get the data to receiving host. If a piece of data does not get through, this protocol does not attempt to recover that piece of data. It manages the movement of packet between sending and receiving host. It was responsible for routing packet to their destination. Dividing them into a size that would fit through the router among their route and addressing packet. An IP address is a series of number that is assigned to the physical hardware address of the host. ARP resolves the Media Access Control (MAC) address which is a unique number given to every network capable device. It helps to deliver the packets to the receiving host by giving the packets a path to go through. It looks up physical address that link to an IP address. ICMP is the protocol that makes sure that all of the packets go through the network. If a packet is not delivered, or is lost during transmission, this protocol sends another request to send the packet. It carries error messages and provides the simple diagnostic capability. IGMP is used by router to track group membership on the subnet and manages groups of hosts such as computers, routers etc.
D) Data Link Layer
The fourth layer is the Data Link Layer or Network Access layer. This layer handles packet transmission. This is designed to give the layers that stack on top of this to be able to function normally across any network medium such as Ethernet or wireless LAN. The data link layer is divided into two sub layers which is logical link control (LLC) and media access control (MAC). LLC is a function required to establish and control of logical links between local devices on a network to allow different technologies to work seamlessly with the higher layers. MAC is a procedure to control device access to the network medium. Usually networks sharing a medium such as a single network cable or a series of cables that are electrically connected into a single virtual medium. Rules are needed for managing the medium to avoid conflicts. Example of a MAC is ethernet uses the CSMA/CD method while Token Ring uses token passing. Data Link Layer also responsible for Data Framing, Addressing and Error Detection and Handling.
E) Physical Layer
The bottom layer is Physical Layer. The physical layer of the network involves of hardware elements such as network interface cards, cables and repeaters. Ethernet is the most common protocol used at the physical layer. Ethernet network such as 10BaseT or 100BaseTX specifies the configuration of the hardware elements such as type of cables that can be used, the optimal topology such as star topology, bus topology etc. and the maximum length of cables.