Protocol Architecture
Layered Protocol Architectures OSI Reference Model TCP/IP Protocol Stack
Jrg Liebeherr, 1998,1999
CS457
Need for Protocols
The task of exchanging information between devices requires a high degree of cooperation between the involved parties can be quite complex Protocols are a set of rules and conventions. By enforcing that communicating parties adhere to a common protocol, communication is made possible. The complexity of the communication task is reduced by dividing it into subtasks: Each subtask is implemented independently. Each subtask provides a service to another subtask.
Jrg Liebeherr, 1998,1999
CS457
Example: Subtasks of Communications
Example: The purchasing director of the Italian company Vendetta located in Milan, Italy, wants to ask the Sales , Director of the US company Crash with headquarters in , Mobile, AL, about the price of the Ultimo 6000 Supercomputer which is produced by Crash. When we divide the described communication task into subtasks we see that: Separate entities in a company perform certain subtasks Company entities provide services to other entities An entity responsible for a certain subtask performs the task by following a protocol
Jrg Liebeherr, 1998,1999
CS457
Example: Subtasks of Communications
Purchasing Director
Quanta costa l Ultimo 6000?
Administrative Assistant: Translates message and prepares a letter Shipping Manager: Packs shipment Assigns shipping number Shipping Clerk: Determines route of the shipment Mailroom Worker Attaches label Loads mailbag
Jrg Liebeherr, 1998,1999
Milan
Mobile
Sales Director How much for the Ultimo 6000?
Administrative Assistant: no action
Geneva
Shipping Clerk: Determines route of the shipment Mailroom Worker Attaches label Loads mailbag CS457
New Orleans
Shipping Clerk: Determines route of the shipment Mailroom Worker Attaches label Loads mailbag
Shipping Manager: Call Italy to confirm arrival of letter Shipping Clerk: Determines route of the shipment Mailroom Worker Attaches label Loads mailbag
Network Architecture
Protocol: A set of rules and conventions used for communication of entities in different systems System: Object that contains several entities
(e.g., the company).
Entity:
Anything capable of sending or receiving information
(e.g, the secretary in a company)
A Network Architecture is a structured set of protocols that implement the exchange of information between computers
Jrg Liebeherr, 1998,1999
CS457
Layered Network Architecture
In a Layered Network Architecture, the services are grouped in a hierarchy of layers. An entity of layer N uses only services of layer N-1. An entity of layer N provides services only to layer N+1. Example: Network Architecture
not layered layered
A C E
Jrg Liebeherr, 1998,1999
A C
layer 3 layer 2
E
CS457
layer 1
Layered Communications
Each entity of a system is assigned to a layer An entity of a particular layer can only communicate with: 1. adjacent layer entities via Service Interfaces above - to provide service below - to receive services 2. peer layer entity using a common protocol (Peer Protocol)
Jrg Liebeherr, 1998,1999
CS457
Layered Communications
A communication layer is completely defined by (a) The peer protocol between peer entities at the same layer (b) The service interface used to offer/provide services between adjacent layers Note: When talking about two adjacent layers, (a) the higher layer is a service user, and (b) the lower layer is a service provider
Jrg Liebeherr, 1998,1999
CS457
Layered Communications
N+1 Layer layer N+1/N interface N Layer layer N/N-1 interface N-1 Layer N-1 Layer Entity N-1 Layer Protocol N-1 Layer Entity N Layer Entity N Layer Protocol N Layer Entity N+1 Layer Entity N+1 Layer Protocol N+1 Layer Entity
Note: Layer interfaces define physical data flow. Peer protocols describe exchange of logical messages between peer layer entities
Jrg Liebeherr, 1998,1999
CS457
Service Access Points
A service user accesses services of the service provider at Service Access Points (SAPs) A SAP has an address that uniquely identifies where the service can be accessed
N Layer
layer N/N-1 service interface
Layer-N Entity Layer N-1 SAP Layer- N-1 Entity
CS457
N-1 Layer
Jrg Liebeherr, 1998,1999
Exchange of Data
Assume a layer-N entity at A wants to send data to a layer-N peer entity to B.
The unit of data send between peer entities is called a Protocol Data Unit (PDU) For now, let us think of a PDU as a single packet
N Layer Entity
PDU
(at layer N)
N Layer Entity
What actually happens: Layer N passes the PDU to one of A SAPs at s layer N-1. The layer N-1 entity (at A) then constructs its own PDU which it sends to the layer N-1 entity at B. Liebeherr, 1998,1999 at layer N-1 = Header + PDU at layer N Jrg Note: PDU CS457
Exchange of Data
A
Layer-N Entity
control When passed to the SAP, the PDU is called a Service Data Unit (SDU) (Layer-N PDU = Layer- N-1 SDU) SAPs
B
Layer-N Entity
N PDU
Layer- N-1 Entity
Header control
(of layer N-1)
Layer- N-1 Entity N PDU
N PDU
PDU of Layer-N-1
Jrg Liebeherr, 1998,1999
CS457
Service Primitives
Communication between adjacent layers is done via function calls. The functions are called service primitives Almost all communication is done with only four types of service primitives: nREQUEST: entity wants service provider to do work nINDICATION: service provider informs entity about an event nRESPONSE: entity wants to respond to an event nCONFIRM: response to an earlier request has come back
Jrg Liebeherr, 1998,1999
CS457
Service Primitives
Assume the name of a service is called X.
N+1 Layer Entity
N+1 Layer Protocol
N+1 Layer Entity
X. Request
X. Confirm
X. Indication
X. Response
N Layer Entity
N Layer Entity
Jrg Liebeherr, 1998,1999
CS457
Service Primitives
Recall: A layer N+1 entity sees the lower layers only as a service provider
N+1 Layer Entity
N+1 Layer Protocol
N+1 Layer Entity
X. Request
X. Confirm
X. Indication
X. Response
Service Provider
Jrg Liebeherr, 1998,1999
CS457
Example: Sending a Letter
Bob sends a letter to Alice Bob
Logical flow of information
Alice
Bob s mailbox
Alice s mailbox
Postman
Jrg Liebeherr, 1998,1999
CS457
Putting the Example into our Context
Identify the entities? Identify layers? What is the service? Who is a service user? Who is a service provider? What are the SAPs? What are the PDUs? Describe the peer protocol between Bob and Alice? Bob, Alice, Postman Layer 2: Bob, Alice Layer 1: Postman Deliver_Letter ( ) L Bob and Alice Postman Mailboxes Letter (at Layer 2)
The protocol is actually complicated:
When Bob sends a letter to Alice, the letter must identify Alice as the recipient. The letter must be written in a language that Alice can read. Bob must be able to write, and Alice must be able to read. Both need to know where their respective mailboxes are, and they must be able to operate a mailbox, etc.
Which service primitives are invoked ?
Letter is dropped off by Bob (L.Request); Letter is delivered to Alice mailbox s (L.Indicate)
Jrg Liebeherr, 1998,1999
CS457
(Un-)Acknowledged Service
The example showed only two service primitives: L.Request , L.Indicate
A service which uses these two primitives is called unconfirmed service
US Mail
L.Request L.Indicate
If Bob asks for a certificate of deliverywe would need: L.Request, L.Indicate, L.Response, L.Confirm
The resulting service is called acknowledged service L.Request L.Indicate
US Mail
L.Confirm
Jrg Liebeherr, 1998,1999
L.Indicate
CS457
Protocol Architectures
There are only few protocol architectures that are relevant today: OSI Reference Model
Defined as a big effort in the 1970 by ISO to specify a s comprehensive set of protocols for networking. The effort failed, in that the defined protocols are not widely used. However, the concepts and terminology defined in the OSI model are the lingua franca of many networkers
TCP/IP Protocols Suite
The Internet protocol architecture is not the result of a design effort, but has evolved over several decades
ATM Protocol Stack
An example that protocols can be designed by a committee. Future relevance will depend on the success of ATM
Jrg Liebeherr, 1998,1999
CS457
OSI Reference Model
In 1977 the International Standardization Organization (ISO) developed a model for a layered network architecture This effort was completed in 1983 and is known as the Open Systems Interconnection (OSI) Reference Model The OSI model defines seven layers: Layer 7: Application Layer Layer 6: Presentation Layer Layer 5: Session Layer Layer 4: Transport Layer Layer 3: Network Layer Layer 2: Data Link Layer Layer 1: Physical Layer (Layer 0: Interconnection Media)
Jrg Liebeherr, 1998,1999
CS457
10
OSI Layers
HOST
Application
HOST
Application
Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer
Application Layer Presentation Layer Session Layer
NODE
Network Layer Data Link Layer Physical Layer
NODE
Network Layer Data Link Layer Physical Layer
Transport Layer Network Layer Data Link Layer Physical Layer
Jrg Liebeherr, 1998,1999
CS457
OSI Layers and Encapsulation
Application Data Header of Application Layer PH SH TH NH DH NH TH TH SH SH SH PH PH PH PH Bits
Application
Data
Application
Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer
AH AH AH AH AH AH
Data Data Data Data Data Data
Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer
Jrg Liebeherr, 1998,1999
CS457
11
OSI Model in a Switched Communication Network
Node (Router) Network Data Link Physical Application
Presentation
Application
Presentation
Network Data Link Physical
Session Transport Network Data Link Physical
Network Data Link Physical
Session Transport Network Data Link Physical
Network Data Link Physical
Station (Host)
Jrg Liebeherr, 1998,1999
CS457
A Tour of the OSI Layers
Physical Layer (Layer 1):
Service: Functions: Examples:
Transmission of a raw bit stream over a communication channel Conversion of bits into electrical or optical signals X.21, RS-232-C
Data Link Layer (Layer 2):
Service: Functions: Examples:
Reliable transfer of frames over a link synchronization, error Control, flow control HDLC, CCITT LAP-D
Jrg Liebeherr, 1998,1999
CS457
12
A Tour of the OSI Layers
Network Layer (Layer 3):
Service: Functions: Examples:
Moves packets inside the network. Routing, Addressing, Switching, Congestion Control. IP, X.25, CLNP.
Transport Layer (Layer 4):
Service: Functions: Examples:
Controls delivery of data between hosts. Connection establishment/management/termination, Error Control, Flow Control, Multiplexing. TCP, UDP, ISO TP0 - TP4.
Jrg Liebeherr, 1998,1999
CS457
A Tour of the OSI Layers
Session Layer (Layer 5):
Service: Support the dialog between cooperating application programs Functions: Session establishment/management/termination, Synchronization, Recovery Examples: ISO session protocol, RPC
Presentation Layer (Layer 6):
Service: Provides freedom from compatibility problems Functions: Virtual device support, syntax conversion, encryption Examples: ISO presentation protocol
Application Layer (Layer 7):
Service: Provides network access to application programs Functions: Everything is application specific Examples: File Transfer, Electronic Mail
Jrg Liebeherr, 1998,1999
CS457
13
TCP/IP Protocol Suite
The TCP/IP protocol suite was first defined in 1974 The TCP/IP protocol suite is the protocol architecture of the Internet The TCP/IP suite has four layers: Application, Transport, Internet, and Network Interface Layer
Application Layer Transport Layer Internet Network Interface
telnet, ftp, email
TCP, UDP
IP, ICMP, IGMP
Device Drivers
Jrg Liebeherr, 1998,1999
CS457
Example: File Transfer
Host A
Router
Host B
FTP program
FTP protocol
FTP program
TCP
TCP protocol
TCP
IP
IP protocol
IP
IP protocol
IP
Ethernet Driver
Ethernet protocol
Ethernet Driver
Ethernet Driver
Ethernet protocol
Ethernet Driver
Jrg Liebeherr, 1998,1999
CS457
14
Encapsulation in the TCP/IP Suite
As data is moving down the protocol stack, each protocol is adding layer-specific control information.
User data Application
Application Header
User data
TCP
TCP Header
Application data
TCP segment
IP
IP Header TCP Header
Application data
Ethernet Driver
Ethernet Header IP Header
IP datagram
TCP Header
Application data
Ethernet Trailer
Ethernet frame
Jrg Liebeherr, 1998,1999
CS457
TCP/IP Protocol Suite
The complete TCP/IP protocol suite contains many protocols. The following graph is far from complete
User Process User Process User Process User Process Application Layer
TCP
UDP
Transport Layer
ICMP
IP
IGMP
Network Layer
ARP
Hardware Interface
RARP
Link Layer
Media
Jrg Liebeherr, 1998,1999
CS457
15
Comparison of OSI Model and TCP/IP Suite
OSI
Application Presentation Session Transport Network Data Link Physical
TCP/IP
Application
Transport Internetwork
Network Access
Physical
Jrg Liebeherr, 1998,1999
CS457
The B-ISDN ATM Reference Model
ATM technology has its own protocol architecture
Control Plane
User Plane
Upper Layer
Upper Layer End-to-end layer Transfer of Cells Same as in OSI
ATM Adaptation Layer (AAL) ATM Layer Physical Layer
Jrg Liebeherr, 1998,1999
CS457
16
Layers of ATM
ATM Switch
Host A
Host B
Upper Layers
Upper Layer Protocol
Upper Layers
AAL
AAL Protocol
AAL
ATM Layer
ATM Layer
ATM Layer
Physical Layer
Physical Layer
Physical Layer
Physical Layer
Jrg Liebeherr, 1998,1999
CS457
ATM Layer
The ATM Layer is responsible for the transport of 53 cells across an ATM network The ATM Layer can provide a variety of services for cells from an ATM virtual connection:
Constant Bit Rate (CBR)
guarantees a fixed capacity, similar to circuit switching guarantees a maximum delay for cells
Variable Bit Rate (VBR)
guarantees an average throughput can guarantee maximum delay
Available Bit Rate (ABR)
guarantees fairness with respect to other traffic
Unspecified Bit Rate (UBR)
service is on a best effort basis
Jrg Liebeherr, 1998,1999
CS457
17
ATM Adaptation Layer (AAL)
AAL provides services which are between upper layers and ATM layers. An important service is the segmenation and reassembly of upper layer data Data AAL segmentation Data AAL reassembly
Cells
Jrg Liebeherr, 1998,1999
Cells
ATM Network
CS457
AAL Service Classification
AAL has 4 different protocols: AAL 1, AAL 2, AAL 3/4, AAL 5 Each protocol provides a different service Class A
Timing information in data ? Bit rate of data: Mode of connection AAL protocol to be used
Class B
Class C
Class D
Required Constant
Connection-oriented
Not required Variable
Connectionless
AAL 1
AAL 2
CS457
AAL 3/4 AAL 5
Jrg Liebeherr, 1998,1999
18
ATM Services and AAL Protocols
CBR
rt-VBR
nrt-VBR
ABR
UBR
AAL 1
AAL 2
AAL 3/4
AAL 5
Jrg Liebeherr, 1998,1999
CS457
19