Date post: | 19-Dec-2015 |
Category: |
Documents |
View: | 227 times |
Download: | 5 times |
Chapter 2: Protocols and Architecture
COE 341: Data & Computer Communications (Term 061)Dr. Radwan E. Abdel-Aal
2
Agenda Need For Protocol Architecture Key Elements of a Protocol Simplified File Transfer Architecture
A Three-Layer Model Protocol Architectures and Networks Protocols in Simplified Architecture
Standard Protocol Architectures The OSI Protocol Architecture
The Model Standardization within the OSI Framework OSI Layers
The OSI versus the TCP/IP (the Internet) Protocol Architecture
3
What is a Protocol and Why we Need it? What’s a protocol? A set of rules or conventions agreed upon and observed by
two communicating entities for successful exchange of data between them (think of Human conversation)
Example: File transfer Source must activate communications path and inform
network of the destination address Source must 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
Why protocols? Equipment come from different vendors and run different
operating systems… Need a common standard language to communicate properly
4
Need for Architecture (hierarchy) for that Protocol Benefits of problem decomposition
Large task split into smaller subtasks (Careful splitting: logical, tradeoffs, effect of
changes) The subtasks are implemented separately in
layers forming a stack Can be developed simultaneously by different
teams Hierarchical nature:
A layer provides/requests services to/from an adjacent layer
Higher layers handle higher-level tasks Tasks are implemented in both communicating
systems Peer layers in the two systems communicate
with each other
Examples from everyday life
High Level, e.g. Applications
Low Level, e.g. Signals, Bits
5
Guidelines for layering Group functions logically: each layer performs
a set 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 link from wire to optical fibre
Information hiding: Each layer sees only what it needs
Not too few layers: Not enough splitting of functionality
Not too many layers: Difficult to manage Large communication overhead between them
6
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
Using formatted data blocks that obey a
protocol
Most primitive functions
Communicating Entity High-level functions
7
Key Aspects of a Protocol Syntax
Block formats Semantics
Actual control information for coordination and error handling
Timing Speed matching, Sequencing
8
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
9
Simplified Architecture for File Transfer
Peer layer communications
using the Protocol
A Three-Layer Model
10
Network Access Layer Exchange of data between the computer and the
network Depends on type of network used (LAN, packet
switched, etc.)(should be the only layer that worries about these details)
The sending computer should specify address of destination computer, and possibly level of service, e.g. priority, delay, etc.
11
Transport Layer (communication services) Reliable exchange of data Independent of network used (significance) Independent of application
(serves all higher-level applications- sharing of resources)
12
Application Layer
Supports different user applications running on the communicating entity:
e.g. e-mail, file transfer, etc.
13
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)
14
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 with the SAP 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 handled by the Network Access layer Application address (SAP #) handled by the Transport layer
15
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 data received from a higher layer to form its PDU
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 higher layers
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 code
This makes one transport protocol data unit (PDU)
16
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. priority
• Address of destination application on the destination computer• Packet sequence #• Error detection code?
Network
What to include in the header?
17
Rules for generating PDUs at layers Layer L generates its PDU by
appending 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 PDU and the header are labeled (identified) by the layer generating and using them
PDU (L+1) + Header (L) PDU (L)
L+1
L
.
.
.
.
.
.
Lower Layers
18
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
19
Framework for Standardization
Well-defined interfaces at layer boundaries
Standards/code for various layers can be developed independently and simultaneously(Advantage)
Changes and upgrades in a layerneed not affect other layers
Requests
Services
20
Layer-Specific StandardsService Definitions:
- Only as a functional description- not how to be implemented (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
1Addressingwithin the same system
SAP # 1 SAP # 2 …
21
So, three standardization elements: Addressing within the same system
Referencing by SAPs: 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
22
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
Primitive Types 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 vendors market their products better Customers can shop around for best deals from different
manufacturers as they are sure equipment will work together Main standards:
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)
Most widely used (The Internet protocol): 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 Each layer relies on the next lower layer to perform
more primitive functions Each layer 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 End
28
The OSI Environment
Note information hiding!e.g. DL layer does not look inside the N-DPU
TrailerMarking end of frame
Hardwareor software
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 (Chapter 7) Example: HDLC Activating, maintaining and deactivating a reliable data link
(link management): Synchronization, error detection and control, flow control, so
that higher layers may assume error free transmission over a direct link
30
OSI Layers with examples (2) Network Example: X.25 (packet switching)
Data transportation over a network Higher layers do not need to know about underlying
technology (transmission, routing, etc) Only needs info on destination address and required facilities Not needed (bypassed) on direct (point-to-point) connections
Transport Example: TCP (Transmission Control) 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 Means for applications to access the OSI environment Support for e-mail, file transfer, terminal access to remote
computers (telnet)
32
Do we always use/need all 7 layers? Only 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: Intermediate node needs
only the bottom 3 layers Between multiple networks: Intermediate node
between 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, the lower 3 layers only)
Relay Node, Joins:-Different physical links-Different data links-In the same network
Router
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 (mother of the 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 (similar to Data link) Physical layer
= Same layer exists also in OSI
35
OSI vs. TCP/IP