Understanding Protocols and Layering in Computer Networks - Prof. Edward Bosworth, Study notes of Computer Systems Networking and Telecommunications

A lecture note from cpsc 5157 computer networks course, focusing on chapter 16. It discusses the need for protocols, protocol design, and the iso 7-layer reference model. How protocols enable communication between applications and ensure data transfer reliability through services provided by lower-level protocols.

Typology: Study notes

Pre 2010

Uploaded on 08/04/2009

koofers-user-7jo
koofers-user-7jo 🇺🇸

10 documents

1 / 11

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CPSC 5157 Computer Networks
Lecture 13 Lecture for Thursday, June 29, 2006
Topics:
Chapter 16: Protocols and Layering
The Need for Protocols
Protocol Design
The ISO 7–Layer Reference Model
The Idea of a Protocol Stack
Services Provided by the Lower Level Protocols
Out–of–Order Delivery
Elimination of Duplicate Packets
Lost Packets
Handling Excessive Delay
Flow Control
Slide 1 of 11 Slides CPSC 5157 Lecture Revised July 2, 2006
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Understanding Protocols and Layering in Computer Networks - Prof. Edward Bosworth and more Study notes Computer Systems Networking and Telecommunications in PDF only on Docsity!

CPSC 5157 Computer Networks

Lecture 13 Lecture for Thursday, June 29, 2006

Topics: Chapter 16: Protocols and Layering The Need for Protocols Protocol Design The ISO 7–Layer Reference Model The Idea of a Protocol Stack Services Provided by the Lower Level Protocols Out–of–Order Delivery Elimination of Duplicate Packets Lost Packets Handling Excessive Delay Flow Control

The Need for Protocols

Messages and data on the network really are just a string of voltage pulses, separated by arbitrary intervals of inactivity. If a network is to be useful, it requires a number of protocols, or agreements between the communicating applications on the interpretation of these voltage pulses. At the lowest level, the protocols describe how the voltage pulses relate to the binary bits associated with the message. Other protocols describe how the binary bits are framed into packages, how they are routed correctly, and how they are to be interpreted and displayed. Early network applications were dedicated and proprietary, thus requiring fewer protocols. The desire to operate on a public Internet has made it advantageous to beak these applications into “levels” and describe a number of protocols for each layer. In this way, a new application can be based on existing software.

Two Views of Communicating Protocols

Traditionally, an N–level protocol suite has protocols labeled as levels 1 through N, with level 1 always being the Physical Layer. For 1 < K < N, software at level K can be designed as if it were communicating directly with other software at the same level, although it really communicates directly with software at level (K – 1) and (K + 1). Only level 1, the Physical Layer, directly communicates with another system at level 1. This is done through a physical network connection, either wire or fiber. Designing each layer to communicate at its level facilitates the software design.

The ISO 7–Layer Reference Model

The ISO 7–layer reference model was developed by the International Organization for Standards (ISO). It is also called the Open Systems Interconnection Model , or OSI Model. Your instructor recalls references to the OSI 7–layer model. While there are no current implementations of the model, it serves as a theoretical basis for all protocol suites. It also facilitates discussions of these suites. The layers in the model, from the “highest” to “lowest” are:

  1. Application,
  2. Presentation,
  3. Session,
  4. Transport,
  5. Network,
  6. Data Link,
  7. Physical. For convenience, the layers can be grouped into two categories: End–to–end services: Physical, Data Link, Network, and Transport Application services: Session, Presentation, and Application. Each protocol suite must implement the functionality of each of these seven layers, but not necessarily in distinct software levels.

Functionality of the Seven ISO Layers (part 2)

The Network Layer It establishes, maintains, and terminates logical connections among multiple connected networks. It translates logical addresses (such as IP addresses) into physical addresses. It provides network routing and flow–control functions. It provides the transport layer with a sequence of correctly addressed packets. The Transport Layer It ensures that data are successfully sent and received between two end nodes. It handles packet acknowledgement, retransmission of lost packets, and discarding of duplicate packets. It uses sequence numbers to handle packets that are received out of order. It provides the higher layers with reliable flow–controlled of data packets in the correct order.

Functionality of the Seven ISO Layers (part 3)

The Session Layer Recall that a session is defined to be a complete data exchange between two nodes, often a client and a server. The session layer starts the communication, manages it, and then terminates it. The Presentation Layer This performs code conversion and data reformatting, allowing each application to work with data in its preferred format. The Application Layer This is user software that makes use of network services provided by the lower layers. When we think of a Web Browser, we usually think about the application and its graphical user interface (GUI), not the underlying details as implemented by lower layers in the protocol suite. One will note that the upper layers are rather vaguely defined. Many network designs either do not implement them directly or roll them into one layer.

The Idea of a Protocol Stack

NOTE: This idea is not related to the LIFO data structure also called a “stack”. The idea of layered software originated in the study of software engineering and is intermittently applied to the design of operating systems. The division of software into modules with well–defined interfaces has been shown to facilitate greatly its testing and modification. All protocol stacks are based on and inspired by the ISO 7–Layer Model. Almost none have seven layers. The TCP/IP stack has five layers. Data are transmitted from the application layer down through the stack, with each layer adding a data header and possibly a trailer to facilitate processing. Figure 16.4 on page 248 of the textbook illustrates this concept. Each level receives a “data block” from the level above. For example, in Figure 16.4, layer 4 receives a “data block” that is the user data with the headers for layers 5, 6, and 7 already appended. It treats this block as a unit. When layer 4 delivers a “data block” to the above layer, it removes the layer 4 header and delivers the block, which happens to have other headers that are not interpreted by layer 4. Rather than discussing the headers in detail now, we shall specify them in detail when we discuss IP, TCP, and UDP.

Services Provided by the Lower Level Protocols

The application services layers in a protocol stack are designed with the assumption that data packets are reliably delivered in correct order, without errors. The end–to–end service layers are designed to use a number of techniques to insure that the application services layers function correctly. These include the use of packet sequence numbers to: Guarantee that packets are delivered in order Eliminate duplicate packets Cause lost packets to be retransmitted Acknowledge correct delivery of data packets Manage packet flow to avoid data overrun. Many of these functions are handled by the transport layer, which is the TCP layer in the TCP/IP protocol suite. The student should read the general discussion at this point. We shall return to a detailed discussion of these points when we discuss TCP.