Transcript Chapter 10
Protocol Layering
Chapter 10
Looked at:
Architectural foundations of internetworking
Forwarding of datagrams
Mapping IP addresses to physical addresses
This chapter:
Considers host and router software structure
Presents principle of layering
Shows layering makes IP software easier to
understand and build
Traces path of datagrams thru protocol software
Need for Multiple Protocols
Protocols Computer communication
Programming languages Computation
Lower level interact with physical
Higher level specify higher-level abstraction
Need protocol family or protocol suite to
perform complex data communication
tasks
Possible problems:
Hardware failure
Network congestion
Packet delay or loss
Data corruption
Data duplication or inverted arrival
Together, problems are overwhelming
Partitioning into subproblems allows us to
conquer the complexity
Conceptual Layers
Modules of protocol SW stacked as layers
Each layer handles a part of the problem
Sending message between applications
Transfer down layers on sending machine
Forward across network
Transfer up layers on receiving machine
More complex than simple layering model
suggests
Figure 10.1
Figure 10.2
Figure 10.3
Functionality of the Layers
What functionality goes in each layer?
Two main models dominate the field
ISO 7-layer reference model
By International Organization for Standardization
TCP/IP 5-layer reference model
Did not come from standards committee
Resulted from research that led to TCP/IP protocol
suite
TCP/IP and OSI
X.25 and ISO Model
ISO has been basis for several protocol
implementations
One is X.25 protocol suite
Has been adopted by public data networks
Especially popular in Europe
X.25 view:
Network much like telephone system
Net has complex packet switches with smarts to route
Physical layer
Specifies standard for physical interconnection
Procedures for transferring packets
Electrical characteristics of voltage and current
Data link layer
How data travels between host and packet switch
Uses frame as unit of data that is passed
Also specifies checksum and acknowledgements
One protocol: High Level Data Link Comm. (HDLC)
Network layer
Defines basic unit of transfer across network
Packets here may be larger than frames
Responds to congestion problems
Transport layer
Provides end-to-end reliability
Double checks lower level checks
Session layer
Handles remote terminal access
Special computer: PAD with dial-up access
Presentation layer
Includes functions application programs need
Text compression; graphics conversion
Application layer
Applications that use the network
Email; file transfer
TCP/IP 5-Layer Model
TCP/IP software organized into five
conceptual layers
Four software layers
Built on fifth layer of hardware
Layers and objects passed
Application
Messages or Streams
Transport
Transport Protocol Packets
Internet
IP Datagrams
Network
Interface
Network-specific Frames
Hardware
Application layer
Users invoke application programs that access
services available across a TCP/IP internet
Applications choose style of transport needed
Sequence of individual messages
Continuous stream of bytes
Transport layer
Provide end-to-end communication
Communication from one application to another
Provides the reliability
Divides data into packets to be passed down
Internet layer
Handles communication from one machine to
another
Encapsulates packet in IP datagram
Uses routing algorithm to route datagram
Handles incoming datagrams
Checks validity; routing functions
For local machine, deletes header and passes up using
appropriate transport protocol
Sends and receives ICMP error & control messages
Network interface layer
Accepts IP datagrams and transmits over a
specific network
Can be a device driver or a complex subsystem that
uses own data link protocol
Locus of Intelligence
ISO
Network is complex, independent system
Relatively simple hosts attach
TCP/IP
Hosts participate in most all network protocols
Implements end-to-end error detection and recovery
Choose routers
Handle ICMP control messages
Simple packet delivery with intelligent hosts
attached
Protocol Layering Principle
Layering Principle
Layered protocols are designed so that layer
n at the destination receives exactly the same
object sent my layer n at the source
Design one layer at a time
Figure other layers will perform their functions
Figure 10.6
TCP/IP layering
Two types of transfers
From source to ultimate destination
Across multiple networks
Higher layers
Layering principle applies across end-to-end transfers
Lowest layer
Applies to single machine transfers
Internet layer (?)
Since some things change (TTL counter), layering
principle only applies to single machine transfers
Figure 10.7
Layering in The Presence of
Network Substructure (10.8)
Skip….
Boundaries in the TCP/IP
Model
Two boundaries that may not be obvious
Protocol address boundary
Separates high-level and low-level addressing
Operating systems boundary
Separates the system from application programs
Conceptual
Layer
Application
Transport
Internet
Network Interface
Hardware
Boundary
Software outside the operating system
Software inside the operating system
Only IP addresses used
Physical addresses used
Protocol Address Boundary
Application programs and all protocol software
From Internet layer upward use only IP addresses
Network interface layer handles physical
addresses
Operating System Boundary
Software at the application layer is not part of the
operating system
Software at other layers generally is
Disadvantage of Layering
Strict layering can produce inefficient SW
Transport layer divides stream into packets
Can optimize transfer if knows largest packet size that
will fit in one frame
If strict layering is used, transport layer will not know
the datagram or frame formats, or number of header
octets
Most implementation relax strict layering
Allow info like route selection, MTU, etc. to propagate
upward
Multiplexing & Demultiplexing
Occurs throughout the layered hierarchy
Multiplexing:
When sending message, extra bits included that
encode message type, originating program, protocols
used
Demultiplexing:
At destination, extra information is used to guide
processing
IP Module
ARP Module
Demultiplexing
Based on Frame
Type
Frame Arrives
RARP
Module
ICMP Protocol
UDP Protocol
IP Module
Datagram Arrives
TCP Protocol
Summary
Protocols specify:
Data is represented when transferred
How the transfer occurs
How error are detected
How acknowledgements are passed
Each protocol solves one of the
communications subproblems
Layering provides a conceptual framework for protocol design
Each layer handles a part of the problem
Layering Principle:
Software implementing a layer at destination machine
receives exactly what the software implementing that
layer on the source machine sends
X.25 protocols
Follow ISO reference model
Example of reliable communications service
TCP/IP protocols use different layering
scheme
Multiplexing/demultiplexing are used to
distinguish among multiple protocols at a layer