Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural...
-
Upload
vernon-reynolds -
Category
Documents
-
view
215 -
download
0
Transcript of Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural...
Looked at:Looked at: Architectural foundations of internetworkingArchitectural foundations of internetworking Forwarding of datagramsForwarding of datagrams Mapping IP addresses to physical addressesMapping IP addresses to physical addresses
This chapter:This chapter: Considers host and router software structureConsiders host and router software structure Presents principle of layeringPresents principle of layering Shows layering makes IP software easier to Shows layering makes IP software easier to
understand and buildunderstand and build Traces path of datagrams thru protocol softwareTraces path of datagrams thru protocol software
Need for Multiple ProtocolsNeed for Multiple Protocols
Protocols Protocols Computer communication Computer communication Programming languages Programming languages Computation Computation Lower level interact with physicalLower level interact with physical Higher level specify higher-level abstractionHigher level specify higher-level abstraction
Need protocol family or protocol suite to Need protocol family or protocol suite to perform complex data communication perform complex data communication taskstasks
Possible problems:Possible problems: Hardware failureHardware failure Network congestionNetwork congestion Packet delay or lossPacket delay or loss Data corruptionData corruption Data duplication or inverted arrivalData duplication or inverted arrival
Together, problems are overwhelmingTogether, problems are overwhelming Partitioning into subproblems allows us to Partitioning into subproblems allows us to
conquer the complexityconquer the complexity
Conceptual LayersConceptual Layers
Modules of protocol SW stacked as layersModules of protocol SW stacked as layers Each layer handles a part of the problemEach layer handles a part of the problem Sending message between applicationsSending message between applications
Transfer down layers on sending machineTransfer down layers on sending machine
Forward across networkForward across network
Transfer up layers on receiving machineTransfer up layers on receiving machine More complex than simple layering model More complex than simple layering model
suggestssuggests
Functionality of the LayersFunctionality of the Layers
What functionality goes in each layer?What functionality goes in each layer?
Two main models dominate the fieldTwo main models dominate the field ISO 7-layer reference modelISO 7-layer reference model
By International Organization for StandardizationBy International Organization for Standardization TCP/IP 5-layer reference modelTCP/IP 5-layer reference model
Did not come from standards committeeDid not come from standards committee
Resulted from research that led to TCP/IP protocol Resulted from research that led to TCP/IP protocol suitesuite
X.25 and ISO ModelX.25 and ISO ModelISO has been basis for several protocol ISO has been basis for several protocol implementationsimplementations
One is X.25 protocol suiteOne is X.25 protocol suite Has been adopted by public data networksHas been adopted by public data networks Especially popular in EuropeEspecially popular in Europe X.25 view:X.25 view:
Network much like telephone systemNetwork much like telephone system
Net has complex packet switches with smarts to routeNet has complex packet switches with smarts to route
Physical layerPhysical layer Specifies standard for physical interconnectionSpecifies standard for physical interconnection
Procedures for transferring packetsProcedures for transferring packetsElectrical characteristics of voltage and currentElectrical characteristics of voltage and current
Data link layerData link layer How data travels between host and packet switchHow data travels between host and packet switch
Uses frame as unit of data that is passedUses frame as unit of data that is passedAlso specifies checksum and acknowledgementsAlso specifies checksum and acknowledgementsOne protocol: High Level Data Link Comm. (HDLC)One protocol: High Level Data Link Comm. (HDLC)
Network layerNetwork layer Defines basic unit of transfer across networkDefines basic unit of transfer across network
Packets here may be larger than framesPackets here may be larger than framesResponds to congestion problemsResponds to congestion problems
Transport layerTransport layer Provides end-to-end reliabilityProvides end-to-end reliability
Double checks lower level checksDouble checks lower level checks
Session layerSession layer Handles remote terminal accessHandles remote terminal access
Special computer: PAD with dial-up accessSpecial computer: PAD with dial-up access
Presentation layerPresentation layer Includes functions application programs needIncludes functions application programs need
Text compression; graphics conversionText compression; graphics conversion
Application layerApplication layer Applications that use the networkApplications that use the network
Email; file transferEmail; file transfer
TCP/IP 5-Layer ModelTCP/IP 5-Layer Model
TCP/IP software organized into five TCP/IP software organized into five conceptual layersconceptual layers Four software layersFour software layers Built on fifth layer of hardwareBuilt on fifth layer of hardware
Layers and objects passedLayers and objects passed
Application
Transport
Internet
Network Interface
Hardware
Messages or Streams
Transport Protocol Packets
IP Datagrams
Network-specific Frames
Application layerApplication layer Users invoke application programs that access Users invoke application programs that access
services available across a TCP/IP internetservices available across a TCP/IP internet Applications choose style of transport neededApplications choose style of transport needed
Sequence of individual messagesSequence of individual messages
Continuous stream of bytesContinuous stream of bytes
Transport layerTransport layer Provide end-to-end communicationProvide end-to-end communication
Communication from one application to anotherCommunication from one application to another
Provides the reliabilityProvides the reliability
Divides data into packets to be passed downDivides data into packets to be passed down
Internet layerInternet layer Handles communication from one machine to Handles communication from one machine to
anotheranotherEncapsulates packet in IP datagramEncapsulates packet in IP datagramUses routing algorithm to route datagramUses routing algorithm to route datagramHandles incoming datagramsHandles incoming datagrams
Checks validity; routing functionsChecks validity; routing functions For local machine, deletes header and passes up using For local machine, deletes header and passes up using
appropriate transport protocolappropriate transport protocol
Sends and receives ICMP error & control messagesSends and receives ICMP error & control messages
Network interface layerNetwork interface layer Accepts IP datagrams and transmits over a Accepts IP datagrams and transmits over a
specific networkspecific networkCan be a device driver or a complex subsystem that Can be a device driver or a complex subsystem that uses own data link protocoluses own data link protocol
Locus of IntelligenceLocus of IntelligenceISOISO Network is complex, independent systemNetwork is complex, independent system Relatively simple hosts attachRelatively simple hosts attach
TCP/IPTCP/IP Hosts participate in most all network protocolsHosts participate in most all network protocols
Implements end-to-end error detection and recoveryImplements end-to-end error detection and recovery
Choose routersChoose routers
Handle ICMP control messagesHandle ICMP control messages Simple packet delivery with intelligent hosts Simple packet delivery with intelligent hosts
attachedattached
Protocol Layering PrincipleProtocol Layering Principle
Layering PrincipleLayering Principle Layered protocols are designed so that layer Layered protocols are designed so that layer nn at the destination receives exactly the same at the destination receives exactly the same object sent my layer object sent my layer nn at the source at the source
Design one layer at a timeDesign one layer at a time Figure other layers will perform their functionsFigure other layers will perform their functions
TCP/IP layeringTCP/IP layering Two types of transfersTwo types of transfers
From source to ultimate destinationFrom source to ultimate destination
Across multiple networksAcross multiple networks Higher layersHigher layers
Layering principle applies across end-to-end transfersLayering principle applies across end-to-end transfers Lowest layerLowest layer
Applies to single machine transfersApplies to single machine transfers Internet layer (?)Internet layer (?)
Since some things change (TTL counter), layering Since some things change (TTL counter), layering principle only applies to single machine transfersprinciple only applies to single machine transfers
Layering in The Presence of Layering in The Presence of Network Substructure (10.8)Network Substructure (10.8)
Skip….Skip….
Boundaries in the TCP/IP Boundaries in the TCP/IP ModelModel
Two boundaries that may not be obviousTwo boundaries that may not be obvious Protocol address boundaryProtocol address boundary
Separates high-level and low-level addressingSeparates high-level and low-level addressing Operating systems boundaryOperating systems boundary
Separates the system from application programsSeparates the system from application programs
Conceptual Conceptual LayerLayer BoundaryBoundary
ApplicationApplication Software outside the operating systemSoftware outside the operating system
TransportTransport Software inside the operating systemSoftware inside the operating system
InternetInternet Only IP addresses usedOnly IP addresses used
Network InterfaceNetwork Interface Physical addresses usedPhysical addresses used
HardwareHardware
Protocol Address BoundaryProtocol Address Boundary Application programs and all protocol softwareApplication programs and all protocol software
From Internet layer upward use only IP addressesFrom Internet layer upward use only IP addresses Network interface layer handles physical Network interface layer handles physical
addressesaddresses
Operating System BoundaryOperating System Boundary Software at the application layer is not part of the Software at the application layer is not part of the
operating systemoperating system Software at other layers generally isSoftware at other layers generally is
Disadvantage of LayeringDisadvantage of Layering
Strict layering can produce inefficient SWStrict layering can produce inefficient SW Transport layer divides stream into packetsTransport layer divides stream into packets
Can optimize transfer if knows largest packet size that Can optimize transfer if knows largest packet size that will fit in one framewill fit in one frameIf strict layering is used, transport layer will not know If strict layering is used, transport layer will not know the datagram or frame formats, or number of header the datagram or frame formats, or number of header octetsoctets
Most implementation relax strict layeringMost implementation relax strict layeringAllow info like route selection, MTU, etc. to propagate Allow info like route selection, MTU, etc. to propagate upwardupward
Multiplexing & DemultiplexingMultiplexing & Demultiplexing
Occurs throughout the layered hierarchyOccurs throughout the layered hierarchy Multiplexing:Multiplexing:
When sending message, extra bits included that When sending message, extra bits included that encode message type, originating program, protocols encode message type, originating program, protocols usedused
Demultiplexing:Demultiplexing:At destination, extra information is used to guide At destination, extra information is used to guide processingprocessing
SummarySummary
Protocols specify:Protocols specify: Data is represented when transferredData is represented when transferred How the transfer occursHow the transfer occurs How error are detectedHow error are detected How acknowledgements are passedHow acknowledgements are passed
Each protocol solves one of the Each protocol solves one of the communications subproblemscommunications subproblems
Layering provides a conceptual frame-Layering provides a conceptual frame-work for protocol designwork for protocol design Each layer handles a part of the problemEach layer handles a part of the problem Layering Principle:Layering Principle:
Software implementing a layer at destination machine Software implementing a layer at destination machine receives exactly what the software implementing that receives exactly what the software implementing that layer on the source machine sendslayer on the source machine sends
X.25 protocolsX.25 protocolsFollow ISO reference modelFollow ISO reference modelExample of reliable communications serviceExample of reliable communications service
TCP/IP protocols use different layering TCP/IP protocols use different layering schemescheme
Multiplexing/demultiplexing are used to Multiplexing/demultiplexing are used to distinguish among multiple protocols at a layerdistinguish among multiple protocols at a layer