William Stallings Data and Computer Communications Chapter 2 Protocols and Architecture
Teaching Content z2.1 The Need For A Protocol Architecture z2.2 A Simple Protocol Architecture z2.3 OSI z2.4 The TCP/IP Protocol Architecture z2.5 Recommended Reading And Web Site
Protocol Hierarchies zThe philosopher-translator-secretary architecture.
2.1 The Need For A Protocol Architecture zUsed for communications between entities in a system zMust speak the same language zEntities yUser applications y facilities yterminals zSystems yComputer yTerminal yRemote sensor
Protocols zDirect or indirect zMonolithic or structured zSymmetric or asymmetric zStandard or nonstandard Characteristics
Direct or Indirect zDirect ySystems share a point to point link or ySystems share a multi-point link yData can pass without intervening active agent zIndirect ySwitched networks or yInternetworks or internets yData transfer depend on other entities
Monolithic or Structured zCommunications is a complex task zToo complex for single unit zStructured design breaks down problem into smaller units zLayered structure
Symmetric or Asymmetric zSymmetric yCommunication between peer entities zAsymmetric yClient/server yNormal response mode of HDLC
Standard or Nonstandard zNonstandard protocols built for specific computers and tasks zK sources and L receivers leads to K*L protocols and 2*K*L implementations zIf common protocol used, K + L implementations needed
Functions zEncapsulation zSegmentation and reassmebly zConnection control zOrdered delivery zFlow control zError control zAddressing zMultiplexing zTransmission services
Encapsulation zAddition of control information to data yAddress information yError-detecting code yProtocol control
Segmentation (Fragmentation) zData blocks are of bounded size zApplication layer messages may be large zNetwork packets may be smaller zSplitting larger blocks into smaller ones is segmentation (or fragmentation in TCP/IP) yATM blocks (cells) are 53 octets long yEthernet blocks (frames) are up to 1526 octets long zCheckpoints and restart/recovery
Why Fragment? zAdvantages yMore efficient error control yMore equitable access to network facilities yShorter delays ySmaller buffers needed zDisadvantages yOverheads yIncreased interrupts at receiver yMore processing time
Connection Oriented Data Transfer
Connection Control zConnection Establishment zData transfer zConnection termination zMay be connection interruption and recovery zSequence numbers used for yOrdered delivery yFlow control yError control
Ordered Delivery zPDUs may traverse different paths through network zPDUs may arrive out of order zSequentially number PDUs to allow for ordering
Flow Control zDone by receiving entity zLimit amount or rate of data zStop and wait zCredit systems ySliding window zNeeded at application as well as network layers
Error Control zGuard against loss or damage zError detection ySender inserts error detecting bits yReceiver checks these bits yIf OK, acknowledge yIf error, discard packet zRetransmission yIf no acknowledge in given time, re-transmit zPerformed at various levels
Connection-Oriented and Connectionless Services zSix different types of service.
Key Elements of a Protocol zSyntax yData formats ySignal levels zSemantics yControl information yError handling zTiming ySpeed matching ySequencing
2.2 A Simple Protocol Architecture zTask of communication broken up into modules zFor example file transfer could use three modules yFile transfer application yCommunication service module yNetwork access module
A Three Layer Model zNetwork 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.) zTransport Layer Reliable data exchange Independent of network being used Independent of application zApplication Layer Support for different user applications e.g. , file transfer
Addressing Requirements zTwo levels of addressing required zEach computer needs unique network address zEach application on a (multi-tasking) computer needs a unique address within the computer (The service access point or SAP)
Protocols in Simplified Architecture
Protocol Data Units (PDU) zAt each layer, protocols are used to communicate zControl information is added to user data at each layer zTransport layer may fragment user data zEach fragment has a transport header added yDestination SAP ySequence number yError detection code zThis gives a transport protocol data unit zNetwork PDU: Adds network header ynetwork address for destination computer yFacilities requests (such as priority)
Operation of a Protocol Architecture
2.3 OSI Model zOpen Systems Interconnection zDeveloped by the International Organization for Standardization (ISO) zSeven layers zA theoretical system delivered too late! zTCP/IP is the de facto standard
OSI - The Model zA layer model zEach layer performs a subset of the required communication functions zEach layer relies on the next lower layer to perform more primitive functions zEach layer provides services to the next higher layer zChanges in one layer should not require changes in other layers
OSI Layers zApplication zPresentation zSession zTransport zNetwork zData Link zPhysical
The OSI Environment
Elements of Standardization zProtocol specification yOperates between the same layer on two systems yMay involve different operating system yProtocol specification must be precise xFormat of data units xSemantics of all fields xallowable sequence of PCUs zService definition yFunctional description of what is provided zAddressing yReferenced by SAPs
Addressing zAddressing level zAddressing scope zConnection identifiers zAddressing mode
Addressing level zLevel in architecture at which entity is named zUnique address for each end system (computer) and router zNetwork level address yIP or internet address (TCP/IP) yNetwork service access point or NSAP (OSI) zProcess within the system yPort number (TCP/IP) yService access point or SAP (OSI)
Addressing Scope zGlobal nonambiguity yGlobal address identifies unique system yThere is only one system with address X zGlobal applicability yIt is possible at any system (any address) to identify any other system (address) by the global address of the other system yAddress X identifies that system from anywhere on the network ze.g. MAC address on IEEE 802 networks
Addressing Mode zUsually an address refers to a single system yUnicast address ySent to one machine or person zMay address all entities within a domain yBroadcast ySent to all machines or users zMay address a subset of the entities in a domain yMulticast ySent to some machines or a group of users
OSI as Framework for Standardization
Layer Specific Standards
Service Primitives zFive service primitives for implementing a simple connection-oriented service.
Service Primitives zPackets sent in a simple client-server interaction on a connection-oriented network.
OSI Layers (1) zPhysical yPhysical interface between devices xMechanical xElectrical xFunctional xProcedural zData Link yMeans of activating, maintaining and deactivating a reliable link yError detection and control yHigher layers may assume error free transmission
OSI Layers (2) zNetwork yTransport of information yHigher layers do not need to know about underlying technology yNot needed on direct links zTransport yExchange of data between end systems yError free yIn sequence yNo losses yNo duplicates yQuality of service
OSI Layers (3) zSession yControl of dialogues between applications yDialogue discipline yGrouping yRecovery zPresentation yData formats and coding yData compression yEncryption zApplication yMeans for applications to access OSI environment
Use of a Relay
2.4 The TCP/IP Protocol Architecture zDominant commercial protocol architecture zSpecified and extensively used before OSI zDeveloped by research funded US Department of Defense zUsed by the Internet
Reference Models zThe TCP/IP reference model.
Reference Models zProtocols and networks in the TCP/IP model initially.
TCP/IP Protocol Architecture(1) zApplication Layer yCommunication between processes or applications zEnd to end or transport layer (TCP/UDP/…) yEnd to end transfer of data yMay include reliability mechanism (TCP) yHides detail of underlying network zInternet Layer (IP) yRouting of data
TCP/IP Protocol Architecture(2) zNetwork access Layer yLogical interface between end system and network zPhysical Layer yTransmission medium ySignal rate and encoding
Operation of TCP and IP
PDUs in TCP/IP
Protocol Interfaces
Comparing OSI and TCP/IP Models zConcepts central to the OSI model zServices zInterfaces zProtocols
A Critique of the OSI Model and Protocols zWhy OSI did not take over the world zBad timing zBad technology zBad implementations zBad politics
Bad Timing zThe apocalypse of the two elephants.
A Critique of the TCP/IP Reference Model Problems: zService, interface, and protocol not distinguished zNot a general model zHost-to-network “layer” not really a layer zNo mention of physical and data link layers zMinor protocols deeply entrenched, hard to replace
The two-army problem