William Stallings Data and Computer Communications 7th Edition
Chapter 2 Protocols and Architecture
Need For Protocol Architecture
E.g. File transfer
Source must activate comms. Path or inform network of destination Source must check destination is prepared to receive File transfer application on source must check destination file management system will accept and store file for his user May need file format translation
Task broken into subtasks Implemented separately in layers in stack Functions needed in both systems Peer layers communicate
Key Elements of a Protocol
Syntax
Data formats Signal levels
Semantics
Control information Error handling
Timing
Speed matching Sequencing
Protocol Architecture
Task of communication broken up into modules For example file transfer could use three modules
File transfer application Communication service module Network access module
Simplified File Transfer Architecture
A Three Layer Model
Network Access Layer Transport Layer Application Layer
Network Access Layer
Exchange of data between the computer and the network Sending computer provides address of destination May invoke levels of service Dependent on type of network used (LAN, packet switched etc.)
Transport Layer
Reliable data exchange Independent of network being used Independent of application
Application Layer
Support for different user applications e.g. e-mail, file transfer
Protocol Architectures and Networks
Addressing Requirements
Two levels of addressing required Each computer needs unique network address Each application on a (multi-tasking) computer needs a unique address within the computer
The service access point or SAP The port on TCP/IP stacks
Protocols in Simplified Architecture
Protocol Data Units (PDU)
At each layer, protocols are used to communicate Control information is added to user data at each layer Transport layer may fragment user data Each fragment has a transport header added
Destination SAP Sequence number Error detection code
This gives a transport protocol data unit
Protocol Data Units
Network PDU
Adds network header
network address for destination computer Facilities requests
Operation of a Protocol Architecture
Standardized Protocol Architectures
Required for devices to communicate Vendors have more marketable products Customers can insist on standards based equipment Two standards:
OSI Reference model
Never lived up to early promises
TCP/IP protocol suite
Most widely used
Also: IBM Systems Network Architecture (SNA)
OSI
Open Systems Interconnection Developed by the International Organization for Standardization (ISO) Seven layers A theoretical system delivered too late! TCP/IP is the de facto standard
OSI - The Model
A 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
OSI Layers
The OSI Environment
OSI as Framework for Standardization
Layer Specific Standards
Elements of Standardization
Protocol specification
Operates between the same layer on two systems May involve different operating system Protocol specification must be precise
Format of data units Semantics of all fields allowable sequence of PCUs
Service definition
Functional description of what is provided
Addressing
Referenced by SAPs
Service Primitives and Parameters
Services between adjacent layers expressed in terms of primitives and parameters Primitives specify function to be performed Parameters pass data and control info
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 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 A primitive issued by a service user to acknowledge or complete some procedure previously invoked by an indication to that user A primitive issued by a service provider to acknowledge or complete some procedure previously invoked by a request by the service user
INDICATION
RESPONSE
CONFIRM
Timing Sequence for Service Primitives
OSI Layers (1)
Physical
Physical interface between devices
Mechanical Electrical Functional Procedural
Data Link
Means of activating, maintaining and deactivating a reliable link Error detection and control Higher layers may assume error free transmission
OSI Layers (2)
Network
Transport of information Higher layers do not need to know about underlying technology Not needed on direct links
Transport
Exchange of data between end systems Error free In sequence No losses No duplicates Quality of service
OSI Layers (3)
Session
Control of dialogues between applications Dialogue discipline Grouping Recovery
Presentation
Data formats and coding Data compression Encryption
Application
Means for applications to access OSI environment
Use of a Relay
TCP/IP Protocol Architecture
Developed by the US Defense Advanced Research Project Agency (DARPA) for its packet switched network (ARPANET) Used by the global Internet No official model but a working one.
Application layer Host to host or transport layer Internet layer Network access layer Physical layer
Physical Layer
Physical interface between data transmission device (e.g. computer) and transmission medium or network Characteristics of transmission medium Signal levels Data rates etc.
Network Access Layer
Exchange of data between end system and network Destination address provision Invoking services like priority
Internet Layer (IP)
Systems may be attached to different networks Routing functions across multiple networks Implemented in end systems and routers
Transport Layer (TCP)
Reliable delivery of data Ordering of delivery
Application Layer
Support for user applications e.g. http, SMPT
OSI v TCP/IP
TCP
Usual transport layer is Transmission Control Protocol
Reliable connection
Connection
Temporary logical association between entities in different systems
TCP PDU
Called TCP segment Includes source and destination port (c.f. SAP)
Identify respective users (applications) Connection refers to pair of ports
TCP tracks segments between entities on each connection
UDP
Alternative to TCP is User Datagram Protocol Not guaranteed delivery No preservation of sequence No protection against duplication Minimum overhead Adds port addressing to IP
TCP/IP Concepts
Addressing level
Level in architecture at which entity is named Unique address for each end system (computer) and router Network level address
IP or internet address (TCP/IP) Network service access point or NSAP (OSI)
Process within the system
Port number (TCP/IP) Service access point or SAP (OSI)
Trace of Simple Operation
Process associated with port 1 in host A sends message to port 2 in host B Process at A hands down message to TCP to send to port 2 TCP hands down to IP to send to host B IP hands down to network layer (e.g. Ethernet) to send to router J Generates a set of encapsulated PDUs
PDUs in TCP/IP
Example Header Information
Destination port Sequence number Checksum
Some Protocols in TCP/IP Suite
Required Reading
Stallings chapter 2 Comer,D. Internetworking with TCP/IP volume I Comer,D. and Stevens,D. Internetworking with TCP/IP volume II and volume III, Prentice Hall Halsall, F. Data Communications, Computer Networks and Open Systems, Addison Wesley RFCs