protocol layering chapter 10. looked at: architectural foundations of internetworking architectural...

32
Protocol Layering Protocol Layering Chapter 10 Chapter 10

Upload: vernon-reynolds

Post on 28-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Protocol LayeringProtocol Layering

Chapter 10Chapter 10

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

Figure 10.1

Figure 10.2

Figure 10.3

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

TCP/IP and OSI

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

Figure 10.6

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

Figure 10.7

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

IP Module ARP Module RARP Module

Demultiplexing Based on Frame

Type

Frame Arrives

ICMP Protocol UDP Protocol TCP Protocol

IP Module

Datagram Arrives

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