CS402 Study Guide
Unit 2: The Basics of Protocols
2a. list and describe each of the layers in the Open Systems Interconnection (OSI) model and the TCP/IP model
- What layer in the TCP/IP model combines the application, presentation, and session layers from the OSI model?
- What layers of the TCP/IP model have the same function as the physical and data link layers in the OSI model?
When you look at the OSI model, you will see (from bottom to top) the physical, data link, network, transport, session, presentation, and application layers. The TCP/IP model includes the network access (link), internet, transport, and application layers.
As you can see, the application, presentation, and session layers are all combined into a single application layer in the TCP/IP model. Some elements of the OSI session layer are also included as part of the TCP transport layer. Similarly, the link layer of the TCP/IP model covers what the OSI model divides into the data link and physical layers. This diagram shows both models side-by-side and should help you visualize each model. Note that the internet and network layers in the two models have the same function.
All the functions offered by the physical layer and data link layer are covered by what the TCP/IP model refers to as the link layer, though note that some literature refers to the link layer as the network access layer or the host-to-network layer. TCP/IP was originally developed for the military, and it was used for their first network, called ARPANET. Because of that, TCP/IP is the dominant technology used in industry today.
Even so, elements of the original OSI data link layer are still in wide use. Ethernet frames are encapsulated in a frame that starts with a data link layer header that includes the data link layer address, otherwise known as the MAC address. Some authors consider a hybrid, 5-layer model that includes elements of both the OSI and TCP/IP models: Application-Transport-Internet-Data Link-Physical. Because this is a common way to refer to things, here is an overview of the function of each of the layers in this 5-layer model:
- Layer 5 – Application: Includes the high-level protocols to run applications such as Telnet, FTP, SMTP, DNS, HTTP, and SNMP. The TCP/IP model gets rid of the presentation and session layers from the OSI model and treats all three as a single layer.
- Layer 4 – Transport: Referred to as the "end-to-end" layer, and is where communication between a source process to a destination process occurs.
- Layer 3 – Internet: Referred to as the "Network" layer in the OSI model. This is the "routing" layer, where addressing information is carried by a header that allows packets to be routed all the way from the source to the destination, regardless of geographical location.
- Layer 2 – Data Link: Ensures error-free transmission of packets between two machines in the same physical network. The only way for two machines to talk is by exchanging data at the data link layer.
- Layer 1 – Physical: Defines how data bits are transmitted across the network. It deals with media type, connectors, voltage levels, and so on.
To review, see The Internetworking Problem.
2b. differentiate between all the protocols in the TCP/IP reference model
- What common features do the SIP, SMTP, TCP, and UDP protocols share?
- Internet Group Management Protocol is a multicast protocol used by TCP/IP systems. What protocol is used to carry IGMP data?
UDP and TCP are the two basic protocols of the TCP/IP model. UDP is the classical example of a connectionless, unreliable service and is used extensively by applications and other protocols. By itself, UDP does not have a handshaking phase, and it sends data as soon as it is available. Because of this, it is generally used for applications or protocols that are time-sensitive and where dropping packets is preferable to stopping to wait for a dropped packet to be retransmitted. An example of an application where this would be important is video streaming. In many cases, UDP depends on applications for error checking. However, this does not mean that UDP is error-prone – in fact, the UDP header has a checksum that guarantees data integrity. The header also contains port numbers to appropriately address the packet to the correct process.
TCP is the "reliable" counterpart of the TCP/IP model. TCP is connection-oriented and provides reliability for applications running over IP, which itself is a connectionless protocol by definition. In IP, packets are put into the network and expected to arrive. By itself, IP does not keep track of packets to request retransmissions in the event of packet loss. Since many applications cannot tolerate packet loss, those applications typically run over TCP. If a packet is lost by IP, the resulting TCP segment will not be complete, an error check will fail, and TCP will request retransmission.
It is important to distinguish protocols that run over UDP versus those that run over TCP. Typical protocols that run over UDP are SNMP, TFTP, BOOTP, and RIP. Other protocols, like FTP, BGP, Telnet, and HTTP, run over TCP. There are a few cases where these rules are broken. DNS can use UDP or TCP. Normal DNS queries are sent over UDP, but TCP is used in large queries like zone transfers. The ICMP, IGMP, and OSPF protocols run over IP, but they do not have a TCP or a UDP header as would be expected for any other protocol running over IP. Understanding how these protocols run directly over IP is covered in detail later in later units of this course.
To review, see The OSI Reference Model.
Unit 2 Vocabulary
This vocabulary list includes terms and acronyms that might help you with the review items above and some terms you should be familiar with to be successful in completing the final exam for the course. Although most of the protocols listed in the acronyms have not been covered yet, at this point, you need to understand what the acronyms stand for and where they fall in the TCP/IP protocol stack.
Try to think of the reason why each term is included.
- OSI
- UDP
- TCP
- SNMP
- TFTP
- BOOTP
- RIP
- ICMP
- IGMP
- OSPF
- UDP
- DNS
- Protocol Stack
- Application Layer
- Presentation Layer
- Session Layer
- Transport Layer
- Network Layer
- Internet Layer
- Data Link
- Link layer
- Network Access layer
- Host to Network Layer