Title: Chapter 16' Protocols And Layering
1Chapter 16. Protocols And Layering
- Jing Wang
- Towson University
2Protocols
- Communication protocol
- An agreement that specifies the format and
meaning of messages computers exchange - An application interacts with protocol software
that follows the rules of a given protocol. - Suites (families)
- Protocols are designed and developed in complete,
cooperate sets
3A Plan For Protocol Design
- 7-layer Reference Model
- Defined by International Organization for
Standardization (ISO) - Replaced by Internet Reference Model
4- Figure 16.1. The historic ISO 7-Layer Reference
Model. A layering model is a tool to help
protocol designers construct a suite of protocols
that solves all communication problems.
5The Seven Layers
- Layer 1 Physical
- Basic network hardware.
- e.g. specification of RS232, detailed
specification of LAN hardware - Layer 2 Data Link
- How to organize data into frames, how to transmit
frames over a network - e.g. frame format, bit or byte stuffing, checksum
computation - Layer 3 Network
- Specify how addresses are assigned, how packets
are forwarded from one end of the network to
another - e.g. specification of addressing, details of
forwarding - Layer 4 Transport
- Specify how to handle details of reliable transfer
6The Seven Layers
- Layer 5 Session
- Specify how to establish a communication session
with a remote system - e.g. how to login to a remote timesharing
computer - e.g. specification for security details such as
authentication using passwords - Layer 6 Presentation
- Specify how to represent data. (because different
brands of computers use different internal
representations for integers and characters) - Layer 7 Application
- Specifies how one particular application uses a
network - e.g. specification for an application that
transfers files
7Stacks Layered Software
- Figure 16.2. The conceptual path of data as it
travels from an application on computer 1 across
a network to an application on computer 2.
8Multiple, Nested Headers
- Figure 16.4. The nested protocol headers that
appear in a frame as the frame travels across a
network if the full ISO stack is used. Each layer
of protocol software adds a header to an outgoing
frame.
9The Scientific Basis For Layering
- Layer N software on the destination computer must
receive the exact message sent by layer N
software on the sending computer
10- Figure 16.5. The layering principle applied at
each layer of the old ISO model. If protocol
software on the sending computer changes the
message, the change must be reversed by the
corresponding protocol software on the receiver.
11Techniques Protocols Use
- Techniques that data link protocol use to detect
bits corruption during transmission - Parity bit, frame checksum, CRC
- Techniques protocols use
- Sequencing for out-of-order delivery
- Sequencing to eliminate duplicate packets
- Retransmitting lost packets
- Avoiding replay caused by excessive delay
- Flow control to prevent data overrun
- Mechanism to avoid network congestion
12Techniques Protocols Use
- Retransmitting lost packets
- To guarantee reliable transfer (i.e., transfer
without loss), protocols use positive
acknowledgement with retransmission - Acknowledgement (ACK)
- timer
13Techniques Protocols Use
- Avoiding replay caused by excessive delay
- Packets from different conversation
14Techniques Protocols Use
- Flow control to prevent data overrun
- Stop-and-go
- Sliding window
- A fixed window
- Maximum amount of data that can be sent before an
acknowledgement arrives - Tw Tg x W
- Tw throughput of sliding window protocol
- Tg throughput of stop-and-go protocol
- W window size
- Tw min(B, Tg x W)
- B underlying hardware bandwidth
15- Figure 16.6. A 4-packet window sliding through
outgoing data. The window is shown (a) when
transmission begins, (b) after two packets have
been acknowledged, and (c) after eight packets
have been acknowledged. The sender can transmit
all packets in the window.
16- Figure 16.7. Messages required to send a sequence
of four packets using (a) stop-and-go flow
control, and (b) a 4-packet sliding window. Time
proceeds down the page, and each arrow shows one
message sent from one computer to the other.
17Reliable Transmission
- Two fundamental mechanisms
- Acknowledgements (ACK)
- Timeouts
- General strategy to implement
- Automatic repeat request (ARQ)
- ARQ algorithms
- Stop-and wait
- Sliding window
- Reliable delivery Reliably deliver frames across
an unreliable link - Ordered delivery Preserve the order in which
frames are transmitted - Flow control Support flow control (keep the send
from overrunning the receiver) - Bandwidth x delay product
- Represents the amount of data that could be in
transit - Principle keeping the pipe full
18Figure 2.21. Timeline for the sliding window
algorithm
19The sliding window algorithm
20LFS LAR SWS SWS send window size LAR last
acknowledgement received LFS last frame sent
Figure 2.22. Sliding window on sender
21LAF-LFR RWS RWS receive window size LAF
largest acceptable frame LFR last frame received
Figure 2.23. Sliding window on receiver
22TCPs variant of the sliding window
- Purposes
- Guarantees the reliable delivery of data
- Ensures that data is delivered in order
- Enforces flow control between the sender and the
receiver - Difference in flow control
- Receiver advertises a window size to the sender
- AdvertisedWindow field in the TCP header
- Based on the amount of memory allocated to the
connection for the purpose of buffering data
23Figure 5.8. Relationship between TCP send buffer
(a) and receive buffer (b)
24Techniques Protocols Use
- Mechanism to avoid network congestion
- Congestion
- More packets arrive than can be sent, the queue
grows and the effective delay increases. - Congestion collapse
- The situation persists, the entire network become
unusable - Avoid congestion collapse
- Arrange for packet switches to inform senders
when congestion occurs - Use packet loss as an estimate of congestion
- Modern network hardware works well most packet
loss results from congestion, not hardware
failure - Packet loss can be measured if the sends uses a
timeout and retransmission strategy - Rate reduction
2516.12. Summary
- Protocol software
- Layering principle
- Protocol stack
- Techniques protocols use
- Sequencing to handle out-of-order and duplicate
packets - Acknowledgement and retransmission to handle
packet loss - Unique session IDs to prevent replay
- A stop-and-go or sliding window mechanism to
control the flow of data - Rate reduction to handle network congestion