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