chapter 2: protocols and architecture
DESCRIPTION
COE 341: Data & Computer Communications (Term 061) Dr. Radwan E. Abdel-Aal. Chapter 2: Protocols and Architecture. Agenda. Need for p rotocols and for a layered protocol architecture Key Elements of a Protocol Framework for Standardization Simplified File Transfer Architecture - PowerPoint PPT PresentationTRANSCRIPT
Chapter 2: Protocols and Architecture
COE 341: Data & Computer Communications (Term 061)Dr. Radwan E. Abdel-Aal
2
Agenda Need for protocols and for a layered protocol architecture Key Elements of a Protocol Framework for Standardization Simplified File Transfer Architecture
A Three-Layer Model Protocol Architectures and Networks: Addressing Primitives and Parameters Protocol operation: Protocol Data Units (PDUs)
Standard Protocol Architectures The OSI Protocol Architecture
The Model OSI Layers
The OSI versus the TCP/IP (the Internet) Protocol Architecture
3
What is a Protocol? A set of rules or conventions agreed upon and observed by
two communicating entities for successful exchange of data
4
Why we Need Protocols? Equipment come from different vendors and run
different operating systems… Need common standard procedures and language to communicate properly
Example: File transfer Source must:
Activate communications link Check if destination is prepared to receive data
Source file transfer application must: Check if destination file management system will accept and can
store file May need file format translation, etc…
5
Why we need Architecture (hierarchy) for Protocols?
A large task is better handled through splitting it into smaller subtasks (divide & Conquer)
Can be developed simultaneously by different teams using different platforms (hardware, software)
Hierarchical layered architecture: The subtasks are implemented separately in layers
forming a stack The stack is implemented in all communicating
end systems Higher layers handle higher-level tasks A layer provides/requests services to/from an
adjacent layer on a system Peer layers in the two communicating systems
interact with each other using a protocol
Examples from everyday life
High Level, e.g. Applications
Low Level, e.g. Signals, Bits
6
Guidelines for layering Each layer performs a subset of related subtasks Each layer provides services to the higher layer
and requests services from the lower layer Ideally, changes in one layer should not require
changes to other layers, e.g. changing the link from wire to optical fibreshould require changing only the physical layer
Information hiding: Each layer sees only what it needs to see
Not too few layers: Not enough splitting of functionality
Not too many layers: Difficult to manage Large communication overhead between them
Physical Link
7
Protocol Architecture: Layered Structure
Highest Level
Lowest Level
Physical Link
Services R
equ
ested
Ser
vice
s P
rovi
ded
Communication with peer layerson other entities
By exchanging formatted data blocks that obey a protocol:
(PDUs)
Most primitive functions
Communicating Entity High-level functions
Protocol stack on an end system
8
Framework for Standardization
Well-defined interfaces at layer boundaries
Standards/code for various layers can be developed Independently, Simultaneously,Using different platforms(Advantage)
Changes and upgrades in a layerneed not affect other layers
Requests
Services
WK 2
From/To
To/From
9
Scope for Standardization at the LayersService Definitions:
- State only as a functional description- not how to implement it (for flexibility)- For internal use only within this communicating entity (not a protocol)
Here we are dealing with
other (foreign) systems! Need a strict
protocol
3
2
1
Addressing within the same system: Services are requested from /provided by a layer through Service Access Points (SAPs) (or Ports). Use the SAP (port) number for addressing
SAP # 1 SAP # 2 …
(at the layer interfaces)
10
So, three standardization elements: Addressing within the same system
Referencing by SAP numbers: We name the entity in a layer requesting a service from a lower layer by the SAP used on that lower layer
Service definitions (vertically within a system) Only Functional description of what is required between layers
within the same system Protocol specification (Horizontally, more strict)
Operates between the same layer on the two communicating entities (peer layers)
May involve different operating systems So, protocol specifications must be defined precisely
Format of data units Semantics (meanings) of all fields
11
Example: Simplified Protocol Architecture
The task of file transfer is broken down into three modules (layers) that handle:
File transfer application Application layer (Top) Communication services Transport layer Network access Network access layer
12
Simplified Architecture for File Transfer
Peer layers on the two systems communicate
using Protocols
A Three-Layer Model
ServicesRequested/ProvidedOn the same system
End SystemEnd System
13
Network Access Layer Function: Exchange of data between a computer and the
network Depends on type of network used
(LAN, packet switched, etc.)(should be the only layer that worries about such details)
Should specify: Address of destination computer on the network Possibly the level of service required from the network, e.g.
priority, delay, etc.
14
Transport Layer (communication services) Function: Reliable exchange of data (error and flow etc.)
Independent of network used (significance) Independent of application
(serves all the higher-level applications- sharing of resources)
15
Application Layer
Function: Supports different user applications running on the communicating entity:
e.g. e-mail, file transfer, etc.
16
Protocol Architecture and Networks
3 computers communicating over a networkUsing a 3-layer protocol architecture
Applications Layer: contains modules, each supporting an application running on this computer
Each application accesses the services of
the transport layer through a SAP or a Port
(SAP)
17
Addressing Requirements Two levels of addressing:
Each computer on the network needs a unique computer address
Each application on a (multi-tasking) computer needs a unique application address within that computer
We identify the application on a computer by the SAP number it uses:
“Service access point or SAP” in OSI, e.g. SAP 3 “Port” in TCP/IP, e.g. Port 5
Each of the two addressing levels is handled only by the appropriate layer (information hiding): Computer address is handled by the Network Access layer Application address (SAP #) is handled by the Transport layer
Example: KFUPM mail bag
18
Protocol Data Units (PDU) Peer layers communicate (through the lower layers of course!)
by exchanging PDU data blocks
At source: Each layer adds its relevant control information (header) to the data it receives from a higher layer, thus forming its PDU, and pushes it down to the lower layer: Encapsulation
At destination: that PDU is handled by the corresponding peer layer: The relevant control header is removed, used, and the remaining part of the PDU is pushed up to the higher layer: Decapsulation
Example:
Transport layer may fragment user data into smaller packets A transport header is appended to each packet, which would include:
Destination SAP Sequence number of the data fragment Possibly, error detection/correction code
This makes the transport layer protocol data unit (PDU)
Example: The mail service
19
Protocol Data Units (PDUs)User Data Application
Layer
Transport Layer
Network Access Layer
• Address of destination computer on the network• Network facilities required, e.g. delay
• Address of destination application on the destination computer• Packet sequence #• Error detection code?
Network
What to include in the header?
20
Generating PDUs at Source layers Layer L generates its PDU by appending a control part to data received from the next higher layer (L+1)
Appended control part takes the form of a header
That header will be used by the peer layer L on the destination entity
Both the new PDU and header are labeled (identified) by the layer generating/using them, i.e.
Header (L) + PDU (L+1) PDU (L)
L+1
L
.
.
.
.
.
.
Lower Layers
SourceEnd System
21
Operation of a Protocol Architecture
(Network Access PDU)
TFER (record, DSAP, Dhost)
TFER (transport_PDU, Dhost)
Network
(Transport PDU)
PD
U E
ncap
sulatio
n
PD
U D
ecap
sula
tio
n
Destination SAP
Destination Host
User Data
Concept of “overhead”
22
Standardizing Vertical Communication: Service Primitives and Parameters Services between vertically adjacent layers
within the same system are expressed in terms of primitives and parameters
Primitives specify the action to be performed Parameters pass data and control information
required to perform the action
Services are requested by a service user layer … and performed by a service provider layer
TFER (record, DSAP, Dhost)
23
Types of Primitives
REQUEST A primitive issued by a service user to invoke some service and to pass the parameters needed to specify fully the requested service
INDICATION A primitive issued by a service provider, either to:
indicate that a procedure has been invoked by the peer service user on the connection and to provide the associated parameters, or
Notify the service user of a provider-initiated action
RESPONSE A primitive issued by a service user to acknowledge or complete some procedure previously invoked by an indication to that user
CONFIRM A primitive issued by a service provider to acknowledge or complete some procedure previously invoked by a request by the service user
A: Service User
B: Service Provider
1
2
3
4
1 4
D: Service User
C: Service Provider
Time Sequence:
2 3
Source (X) Destination (Y)
A to B: “Deliver this packet to Y”
C to D: “Here is a packet for you!”
D to C: “Thanks!”
B to A: “Done it!”
Which pair of primitives is more important?
24
Timing Sequence for Service PrimitivesSource System Destination System Source System Destination System
No Responseor Confirm(Assumed Done!)Saves time…
Provider Provider Provider ProviderA B C D
25
Standardized Protocol Architectures Required to allow devices from different manufacturers to
communicate (inter-operability) A win-win environment:
Helps different vendors market their products better Helps customers shop around for best deals from different
manufacturers (assured that equipment will work together) Main standard networking architectures:
OSI Reference model (X.200, 1977) A theoretical system delivered too late! Never lived up to
early promises TCP/IP protocol suite (Developed for early forms of the internet)
(The Internet protocol) Most widely used: A de facto Standard
26
OSI - The Model Developed by the International Standardization
Organization (ISO) in 1977 A 7-layer model Each layer:
performs a subset of the required communication functions relies on the next lower layer to perform more primitive
functions provides services to the next higher layer
Changes in one layer should not require changes in other layers
27
The OSI Seven Layers
The Physical Medium
Internetworking(network of networks)(Internet)
End to EndVirtual Connection
28
The OSI Environment
Note information hiding!e.g. DL layer does not “look inside” the N-DPU
TrailerMarking end of frame
Hardwareor software
Enc
apsu
latio
n Decapsulation
29
OSI Layers with examples (1) Physical Example: 10Base-T for Ethernet LAN
Physical interface between devices Mechanical: Connectors, etc. Electrical: Bit representation, V and I levels, Data rates,... Functional: Functions of individual interface circuits Procedural: Sequence of events for exchanging bit streams
Data Link Example: HDLC (High level data link control) (Ch 7) Activating, maintaining and deactivating the data link (link
management): Reliable data transfer across the link: synchronization, error
detection and control, flow control, so that higher layers may assume error free transmission over the link
30
OSI Layers with examples (2) Network Example: X.25 (Packet switching network)
Data transportation over a network Relieves higher layers from worrying about underlying network
details (routing, switching technology, etc) Only needs info on destination host address and required facilities Not needed (bypassed) on direct (point-to-point) connections
Transport Example: TCP (Transmission Control Protocol) Reliable exchange of data between end systems:
(possibly across multiple networks!) Without errors Without loss Without duplication
Allows different levels of Quality of Service (QoS): Regarding acceptable error rates, maximum delay, priority, and security
31
OSI Layers (3) Session Control of dialogues between applications running on end systems
Dialogue disciplines, e.g. full duplex or half duplex Grouping: Marking of data to indicate different groups Recovery: Use of data check points
Presentation Data formats and coding Data compression Data Encryption
Application Allows user applications running on a host to access the OSI
network environment Support for e-mail, file transfer, terminal access to remote
computers (telnet), etc.
32
Do we always need all the seven protocol layers?
Only hosts at end points need to have all 7 layers Point-to-Point on a single link:
- Network layer is bypassed Intermediate nodes in network are not interested in
user data!-
- Will have only the minimum number of required lower layers:
Within the same network: An intermediate node needs only the bottom 3 layers (3-layer switch)
Between multiple networks: A node linking two networks (router) needs only the bottom … layers
33
Layers for a Relay node in a network
(Network node)
(Intermediate Network node is not interested in the data content- so, only the lower layers)
Relay Node, Joins:-Different physical links-Different data links-In the same network
What about a routerthat connectstwo networks?
A 3-Layer node
?
34
TCP/IP Protocol Architecture
Developed by the US Defense Advanced Research Project Agency (DARPA) for its packet switched network ARPANET (ancestor of the present Internet, 1966)
Used today by the Internet Did not start as a formal model.. but as a working one Five Layers:
Application layer Host to host (end to end) Transport layer Internet layer (multiple interconnected networks) Network access layer (Data link/Network) Physical layer
= Same layer exists also in OSI
35
OSI vs. TCP/IP
36
Summary (Chapter 2) Need for protocols and for a layered protocol architecture Key Elements of a Protocol Framework for Standardization Simplified File Transfer Architecture
A Three-Layer Model Protocol Architectures and Networks: Addressing Primitives and Parameters Protocol operation: PDUs
Standard Protocol Architectures The OSI Protocol Architecture
The Model OSI Layers
The OSI versus the TCP/IP (the Internet) Protocol Architecture)