Thursday, May 31, 2007

Day 31: The TCP/IP Model

The Internet and most modern networks use the TCP/IP protocol suite to communicate. Whereas, the OSI protocol suite and its corresponding model came about in committee rooms; TCP/IP grew up along side the ARPANet which then became the Internet. TCP/IP development was the result of watching how the ARPANet was growing and coming up with services to provide more functionally to the network.

Therefore, unlike my last post which focused primary on how information theoretically gets from point A to point B I will be talking about actual services.

What does TCP/IP mean?
TCP/IP actually is an abbreviation of two different protocols as indicated by the slash. TCP stands for Transmission Control Protocol and IP is the abbreviation for Internet Protocol.

What does the TCP/IP model look like?
TCP/IP's model only has four layers and is typically shown it relation to the OSI
model.

Its layers have nearly the functions and responsibilities and the model operates the same way. However, TCP/IP looks at the network a bit differently.

For example, in the TCP/IP model there is no Physical layer and as you can see the application layer for the model blurs the top three OSI model layers.

Instead of describing each layer in detail I will only note exceptions from the OSI model in addition to the protocols that work at any given layer and how it is used.

Network Access - Even though the picture shows that this TCP/IP layer includes the OSI model's Physical layer that's a lie meant to confuse you, because it is pure data link layer all the way. So, what runs here? Not all networks use Ethernet or Token Ring and for those scenarios when TCP/IP must operate over a network - phone line, for example - TCP/IP defines protocols to allow communications. There are only two protocols which fit this bill and those are: SLIP and PPP. If I discuss those, it will be for another time.

Internet - Two routed protocols at this layer are IPv4 and IPv6. Internet Control Message Protocol (ICMP) handles the error handling. IP Security happens at this layer. In IPv6 a new protocol called Neighbor Discovery Protocol (NDP) happens at this layer as well. NDP replaces two standards that exist in the current version of IP called Address Resolution Protocol (ARP) and Reverse Address Resolution Protocol (RARP). Finally, this layer has at least nine different routing protocols, they are:

  1. Gateway-to-Gateway Protocol (GGP)
  2. HELLO Protocol (HELLO)
  3. Exterior Gateway Protocol (EGP)
  4. Routing Information Protocol (RIP)
  5. Interior Gateway Routing Protocol (IGRP)
  6. Enhanced Interior Gateway Router Protocol (EIGRP)
  7. Open Shortest Path First (OSPF)
  8. Border Gateway Protocol (BGP)
  9. Intermediate system to Intermediate system (IS-IS)

Some of the protocols on this list are long dead and gone (mostly the top three, but number 5 is in the process of being phased out). The rest either have or will have an IPv6 equivalent. Why so many? Part of the answer is that there exist many differently sized networks and different protocols work (or not) based on the size. The other part is that some of these protocols have been around since the Internet was four networks on the west coast, so as a result of growth new issues arose and some of these protocols were the sum of those Growing Pains.

Transport - Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are two main protocols that operate at this layer. UDP is basically the small and efficient protocol, but it does not provide any reliability or flow-control features for data. It is used when overhead is not desired like with streaming video. TCP provides all the features of UDP and the reliability and flow-control.

Application -

  1. One network application you rely on every day you get on the Internet and type in www.google.com is Domain Name System (DNS), if this did not work you would need to know IP addresses like 64.233.167.99
  2. The Network File System (NFS) protocol is used more often with the UNIX operating system, but Microsoft do support its use
  3. Bootstrap Protocol (BOOTP) and Dynamic Host Configuration Protocol (DHCP) are similar in function - they are both ways to get IP addresses without needing to type them in every single time the computer starts up - but BOOTP is older and requires more administrative overhead and you are not able to configure as much compared to DHCP
  4. Simple Network Management Protocol (SNMP) allows for remote management of networks devices
  5. File Transfer Protocol (FTP) and Trivial File Transfer Protocol (TFTP) do exactly what their names say, just that one uses TCP and the other UDP
  6. Multipurpose Internet Mail Extensions (MIME), Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP), and Internet Message Access Protocol (IMAP) all define different parts that make e-mail work
  7. Network News Transfer Protocol (NNTP) transfers Usenet news messages between hosts
  8. Hypertext Transfer Protocol (HTTP) probably the most recognizable of the bunch because web browsers do not hide the HTTP
  9. The Gopher Protocol is a preceded the World Wide Web by providing document retrieval - it is nearly dead if not all dead
  10. The Telnet Protocol allows one machine to establish a remote terminal session on another machine
  11. Internet Relay Chat (IRC) allows real-time chatting between TCP/IP users

There are more protocols, but as you can see most of them are transparent to you.

I hope some connections are being made about how communications go on in networks. A lot of material has been covered between this post and the last about how networks conceptually work and next time I will apply how they actually work.

No comments: