Post on 14-Apr-2018
transcript
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
1/264
11
CS716
Advanced Computer Networks
By Dr. Amir Qayyum
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
2/264
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
3/264
Review Lecture
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
4/264
4
Switched Networks
Two or more nodesconnected by a link
Circular nodes(switches) implementthe network
Squared nodes (hosts)usethe network
A network can be defined recursively as...
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
5/264
5
Switched Networks
Two or more networks
connected by one or more
nodes: internetworks
Circular nodes (router or
gateway) interconnectsthe
networks
A clouddenotes any type of
independent network
A network can be defined recursively as...
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
6/264
6
Switching Strategies
Circuit switching:Carry bit streams
a. establishes a dedicated
circuitb. links reserved for use
by communicationchannel
c. send/receive bit streamat constant rate
d. example: originaltelephone network
Packet switching:
Store-and-forwardmessages
a. operates on discreteblocks of data
b. utilizes resourcesdynamically according
to traffic demandc. send/receive messages
at variable rate
d. example: Internet
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
7/264
7
Multiplexing
Physical links/switches must be shared among users
(Synchronous) Time-Division Multiplexing (TDM)
Frequency-Division Multiplexing (FDM)
L1
L2
L3
R1
R2
R3Switch 1 Switch 2
Multiple flows
on a single link
Do you see any problem with TDM / FDM ?
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
8/264
8
Statistical Multiplexing
On-demand time-division, possibly synchronous (ATM)
Schedule link on a per-packet basis
Buffer packets in switches that are contendingfor the link
Packets from different sources interleaved on link
Do you see any problem ?
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
9/264
9
Inter-Process Communication
Turn host-to-host connectivity into process-to-processcommunication, making the communication meaningful.
Fill gap between what applications expect and what theunderlying technology provides.
Abstraction for
application-level
communication
Host
Host
Application
Host
Application
Host Host
Channel
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
10/264
10
Abstract Channel Functionality
What functionality does a channel provide ?
Smallest set of abstract channel types adequate
for largest number of applications Where the functionality is implemented ?
Network as a simple bit-pipe with all high-level
communication semantics at the hosts
More intelligent switches allowing hosts to bedumb devices (telephone network)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
11/264
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
12/264
12
Performance Metrics
Latency / Delay Time to send message from point A to point B
One-way versus Round-Trip Time (RTT)
Components
Latency = Propagation + Transmit + Queue
Propagation = Distance / c
Transmit = Size / Bandwidth
Note:
No queuing delay in direct (point-to-point) link Bandwidth irrelevant if size = 1 bit
Process-to-process latency includes software processing overhead(dominates over shorter distances)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
13/264
13
Delay x Bandwidth Product
Amount of data in flight or in the pipe
Example: 100ms RTT x 45Mbps BW = 560KB
This much data must be buffered before the senderresponds to slowdown the request
Delay
Bandwidth
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
14/264
14
Network Architecture
The challenge is to fill the gap between hardware
capabilities and application expectations, and to do
so while delivering good performance
Designers cope with this complex task by
developing a network archi tectureas a guideline
Layering, protocols, standards
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
15/264
15
Layering
Alternative abstractions at each layer
Manageable network components
Modify layers independently
Hardware
Host-to-host connectivity
Application programs
Request/replychannel
Message streamchannel
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
16/264
16
Protocols
Building blocks of a network architecture
Each protocol object has two different interfaces
service interface: operations on this protocolpeer-to-peer interface: messages exchanged with peer
Term protocol is overloaded
Specification of peer-to-peer interface
Module that implements this interface
Peer modules are interoperable if both accuratelyfollow the specifications
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
17/264
17
Host1 Host2
Service
interface
Peer-to-peer
interface
Protocol Interfaces
High-levelobject
High-levelobject
ProtocolProtocol
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
18/264
18
Protocol GraphNetwork Architecture
Collection of protocols and their dependencies Most peer-to-peer communication is indirect
Peer-to-Peer is direct only at hardware level
Host 1 Host 2
File
application
Digitallibrary
application
Video
application
Fileapplication
Digitallibrary
application
Video
application
RRP RRPMSP MSP
HHP HHP
RRP: Request
Reply Protocol
MSP: Message
Stream Protocol
HHP: Host-to-
Host Protocol
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
19/264
19
Protocol Machinery
Multiplexing and Demultiplexing (demux key)
Encapsulation (header/body) in peer-to-peerinterfaces
Indirect communication (except at hardware level)
Each protocol adds a header
Part of header includes demultiplexing field (e.g., passup to request/reply or to message stream?)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
20/264
20
Encapsulation
Host 1 Host 2
Applicationprogram
Applicationprogram
Data Data
RRP RRP
RRP Data
HHP HHP
RRP DataHHP
RRP Data
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
21/264
21
Standard Architectures
Open System Interconnect (OSI) Architecture
International Standards Organization (ISO)
International Telecommunications Union (ITU),formerly CCITT
X dot series: X.25, X.400, X.500
Primarily a reference model
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
22/264
22
OSI Architecture
Application
Presentation
Session
Transport
End host
One or more nodes
within the network
Network
Data link
Physical
Network
Data link
Physical
Network
Data link
Physical
Application
Presentation
Session
Transport
End host
Network
Data link
Physical
Application
Data formatting
Connection management
Process-to-process
communication channel
Host-to-host packet
delivery
Framing of data bits
Transmission of raw bits
User
level
OS
kernel
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
23/264
23
Internet Architecture
TCP/IP Architecture
Developed with ARPANET and NSFNET
Internet Engineering Task Force (IETF) Culture: implement, then standardize
OSI culture: standardize, then implement
Became popular with release of Berkeley Software
Distribution (BSD) Unix; i.e. free software Standard suggestions traditionally debated publically
through Request For Comments (RFCs)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
24/264
24
Internet Architecture
Implementation and design done together
Hourglass Design (bottleneck is IP)
Application vs Application Protocol (FTP, HTTP)
NETnNET2NET1
IP
TCP UDP
FTP HTTP NV TFTP
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
25/264
25
Internet Architecture
Layering is not very strict
Application
TCP UDP
IP
Network
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
26/264
26
Networking in the Internet Age
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
27/264
27
Network Application Programming
Interface (API) Interface that the OS provides to its networking
subsystem
Most network protocols are implemented in software All systems implement network protocols as part of the OS
Each OS is free to define its own network API
Applications can be ported from one OS to another if APIs
are similar *IF* application program does not interact with other
parts of the OS other than the network (file system, fork
processes, display )
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
28/264
28
Protocols and API
Protocols provide a certain set of
services API provides a syntaxby which
those services can be invoked
Implementation is responsible for
mapping API syntax onto protocol
services
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
29/264
29
Socket API
Use sockets as abstract endpoints ofcommunication
Issues
Creating & identifying sockets Sending & receiving data
Mechanisms
UNIX system calls and library routines
socket
process
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
30/264
30
Protocol-to-Protocol Interface
A protocol interacts with a lower levelprotocol like an application interacts with
underlying network
Why not using available network APIs forPPI ?
Inefficiencies built into the socket interface
Application programmer tolerate them to
simplify their task
inefficiency at one level
Protocol implementers do not tolerate them
inefficiencies at several layers of protocols
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
31/264
31
Protocol-to-Protocol Interface Issues
Configure Multiple Layers
Static vs Extensible
Process Model
Avoid context switches
Buffer Model
Avoid data copies
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
32/264
32
Process Model
(a) (b)Process-per-Protocol Process-per-Message
inter-process
communication
procedure
call
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
33/264
33
Buffer Model
Buffer Copy Buffer Copy
Application Process
Topmost Protocol
send() deliver()
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
34/264
34
Network Programming
Things to Learn
Internet protocols (IP, TCP, UDP, )
Sockets API (Application Programming Interface)
Why IP and Sockets
Allows a common name space across most of
Internet
IP (Internet Protocol) is standard Reduces number of translations, which incur
overhead
Sockets: reasonably simple and elegant Unix
interface (most servers run Unix)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
35/264
35
Socket Programming
Reading: Stevens 2nd edition, Chapter 1-6
Sockets API: A transport layer service interface
Introduced in 1981 by BSD 4.1
Implemented as library and/orsystem calls
Similar interfaces to TCP and UDP
Can also serve as interface to IP (for super-user)
known as raw sockets Linux also provides interface to MAC layer (for super-
user) known as data-link sockets
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
36/264
36
Client-Server Model
Asymmetric relationship
Server/Daemon
Well-known name Waits for contact
Process requests, sends
replies
Client Initiates contact
Waits for response
Server
Client Client
Client
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
37/264
37
Client-Server Model
Bidirectional communication channel
Service models
Sequential: server processes only one clients requests at
a time Concurrent: server processes multiple clients requests
simultaneously
Hybrid: server maintains multiple connections, butprocesses requests sequentially
Server and client categories not disjoint
Server can be client of another server
Server as client of its own client (peer-to-peerarchitecture)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
38/264
38
TCP Connections
TCP connection setup via 3-way handshake
J and K are sequence numbers for messages
Client Server
SYN J
SYN K
ACK J+1
ACK K+1 Hmmm
RTT is
important!
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
39/264
39
TCP Connections
TCP connection teardown (4 steps) (either client
or server can initiate connection teardown)
Client Server
FIN J
FIN K
ACK K+1
ACK J+1
active close
passive close
closes connection
Hmmm
Latency
matters!
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
40/264
40
UDP - Aspects of Services
Unit of transfer is a datagram (variable
length packet)
Unreliable, drops packets silently
No ordering guarantees
No flow control
16-bit port space (distinct from TCP ports)
allows multiple recipients on a single host
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
41/264
41
Addresses and Data
Internet domain names: human readable
Mnemonic
Variable Length
e.g. www.case.edu.pk, www.carepvtltd.com
(FQDN)
IP addresses: easily handled by routers/computers
Fixed Length
Tied (loosely) to geography
e.g. 131.126.143.82 or 212.0.0.1
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
42/264
42
Endianness
Machines on Internet have different
endianness
Little-endian (Intel, DEC): leastsignificant byte of word stored in lowest
memory address
Big-endian (Sun, SGI, HP): mostsignificant byte...
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
43/264
43
Socket Address Structures
Socket address structures (all fields in network byte orderexcept sin_family)
IP address
struct in_addr {in_addr_t s_addr; /* 32-bit IP address */
};
TCP or UDP address
struct sockaddr_in {
short sin_family; /* e.g., AF_INET */
ushort sin_port; /* TCP / UDP port */
struct in_addr; /* IP address */
};
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
44/264
44
Address Conversion
All binary values used and returned by these functionsare network byte ordered
struct hostent* gethostbyname (const char* hostname);
translates English host name to IP address (uses DNS)
struct hostent* gethostbyaddr (const char* addr, size_tlen, int family);
translates IP address to English host name (not secure)
int gethostname (char* name, size_t namelen);
reads hosts name (use with gethostbyname to find localIP)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
45/264
45
Address Conversion
in_addr_t inet_addr (const char* strptr);
translate dotted-decimal notation to IP address; returns -1on failure, thus cannot handle broadcast value255.255.255.255
int inet_aton (const char* strptr, struct in_addr inaddr);
translate dotted-decimal notation to IP address; returns 1 onsuccess, 0 on failure
char* inet_ntoa (struct in_addr inaddr);
translate IP address to ASCII dotted-decimal notation (e.g.,128.32.36.37); not thread-safe
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
46/264
46
Socket API
Creating a socket
int socket(int domain, int type, int
protocol)
domain (family) = AF_INET, PF_UNIX,
AF_OSI
type = SOCK_STREAM, SOCK_DGRAMprotocol = TCP, UDP, UNSPEC
return value is a handlefor the newly
created socket
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
47/264
47
Sockets (cont)
Passive Open (on server)
int bind(int socket, struct sockaddr *addr, intaddr_len)
int listen(int socket, int backlog)
int accept(int socket, struct sockaddr *addr, intaddr_len)
Active Open (on client)
int connect(int socket, struct sockaddr *addr,
int addr_len)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
48/264
48
Sockets (cont)
Sending Messages
int send(int socket, char *msg, int mlen, int flags)
Receiving Messages
int recv(int socket, char *buf, int blen, int flags)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
49/264
49
Point-to-Point Links
Reading: Peterson and Davie, Ch. 2
OutlineHardware building blocksEncoding
Framing
Error Detection
Reliable transmission Sliding Window Algorithm
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
50/264
50
Direct Link Issues in the OSI and
Hardware/Software Contexts
Transport
Network
Data Link
Physical
Session
Presentation
Application
user-level software
kernel software
(device drivers)
reliability
framing, error detection, MAC
encodinghardware
(network adapter)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
51/264
51
Hardware Building Blocks
Nodes
Hosts: general-purpose computers
Switches: typically special-purpose hardwareRouters (connecting networks): varies
Links
Copperwire with electronic signalingGlass fiber with optical signaling
Wireless with electromagnetic (radio, infrared,
microwave) signaling
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
52/264
52
Links
Physical Media
Twisted pair cable
Coaxial cable
Optical fiber
Space
Media is used to propagate signals Signals are electromagnetic waves of certain
frequency, traveling at speed of light
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
53/264
53
Signals Over a Link
Signal is modulated for transmission
Varying frequency/amplitude/phase to
receive distinguishable signals
Binary data (0s and 1s) is encoded in
a signal
Make it understandable by the receiving
host
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
54/264
54
Bits Over a Link
Bit streams may be transmitted both
ways at a time on a point-to-point link
Full Duplex
Sometimes two nodes must alternate
link usage
Half Duplex
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
55/264
55
Encoding
Signals propagate over a physical medium
Modulate electromagnetic waves
e.g. vary voltage Encode binary data onto signals that propagate
Signalling component
Signal
Bits
Node NodeAdaptor Adaptor
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
56/264
56
Encoding
Problems with signal transmission
Attenuation: signal power absorbed by medium
Dispersion: a discrete signal spreads in space
Noise: random background signals
modulator demodulatora string
of signals
Digital data
(a string of
symbols)
Digital data
(a string of
symbols)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
57/264
57
RS-232(-C)
Communication between computer and
modem
Uses two voltage levels (+15V, -15V), abinary voltage encoding
Data rate limited to 19.2 kbps (RS-232-C)
raised in later standards
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
58/264
58
Binary Voltage Encoding
NRZ (Non-Return to Zero)
NRZI (NRZ Inverted) Manchester (used by IEEE 802.3,
10 Mbps Ethernet)
4B/5B (8B/10B) in Fast Ethernet
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
59/264
59
Non-Return to Zero (NRZ)
Encode binary data onto signals
e.g. 0 as low signal and 1 as high signal
Voltage does not return to zero between bits
Known as Non-Return to Zero (NRZ)
Bits
NRZ
0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
60/264
60
Problem: Consecutive 1s or 0s
Low signal (0) may be interpreted as no signal
High signal (1) leads to baseline wander
Unable to recover clock Senders and receivers clock have to be precisely
synchronized
Receiver resynchronizes on each signal transition
Clock Drift in long periods without transition
Senders clock
Receivers clock
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
61/264
61
Alternative Encodings
Non-Return to Zero Inverted (NRZI)
Make a transition from current signal
(switch voltage level) to encode/transmit a
one
Stay at current signal (maintain voltage
level) to encode/transmit a zero
Solves the problem of consecutive ones
(shifts to 0s)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
62/264
62
Alternative Encodings
Manchester (in IEEE 802.310 Mbps
Ethernet)
Split cycle into two parts
Send high--lowfor 1, low--highfor 0
Transmit XOR of NRZ encoded data and the
clock
Only 50% efficient (1/2 bit per transition)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
63/264
63
4B/5B Encoding
Every 4 consecutive bits of data encoded in a 5-bitcode (symbol)
4-bit pattern is translated to a 5-bit pattern (not addition)
5-bit codes selected to have no more than oneleading 0 and no more than two trailing 0s
00xxx (8 symbols) and xx000 (4 symbols) are illegal
5 free symbols (non-data)
Thus, never gets more than three consecutive 0s Resulting 5-bit codes are transmitted using NRZI
Achieves 80% efficiency
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
64/264
64
Binary Voltage Encoding
Problem: wide frequency range required, implying
Significant dispersion
Uneven attenuation
Prefer to use narrow frequency band (carrierfrequency)
Types of modulation
Amplitude Modulation (AM)
Frequency Modulation (FM)
Phase/Phase Shift
Combination of these (e.g. QAM)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
65/264
65
Phase Modulation Algorithm
Send carrier frequency for one period
Perform phase shift
Shift value encodes symbol Value in range [0, 360] Multiple values for multiple symbols
Represent as circle1350 450
2250 3150
1800 00
900
2700
8-symbol
example
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
66/264
66
Constellation Pattern for V.32 QAM
For a given symbol:
1. Perform phase shift
2. Change to new
amplitude 450
150
Points in constellation
diagram
Chosen to maximize errordetection
Process called trellis coding
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
67/264
67
Bit Rate and Baud Rate
Bit rate is bits per second
Baud rate is symbols per second
If each symbol contains 4 bits then
data rate is 4 times the baud rate
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
68/264
68
What Limits Baud Rate ?
Baud rates are typically limited by
electrical signaling properties
No matter how small the voltage or how
short the wire, changing voltages takes
time
Electronics are slow as compared to optics
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
69/264
69
Summary of Encoding
Problems: attenuation, dispersion, noise
Digital transmission allows periodic regeneration
Variety of binary voltage encodingsHigh frequency components limit to short range
More voltage levels provide higher data rate
Carrier frequency and modulationAmplitude, frequency, phase, and combination (QAM)
Nyquist (noiseless) and Shannon (noisy) limits on
data rates
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
70/264
70
Framing
Breaks continuous stream/sequence of bits into a
frame and demarcates units of transfer
Typically implemented by network adaptor
Adaptor fetches/deposits frames out of or into host memory
Frames
BitsAdaptor Adaptor Node BNode A
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
71/264
71
Advantages of Framing
Synchronization recovery
Consider continuous stream of unframed bytes
Recall RS-232 start and stop bits Multiplexing of link
Multiple hosts on shared medium
Simplifies multiplexing of logical channels
Efficient error detection
Frame serves as unit of detection (valid or invalid)
Error detection overhead scales as log N
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
72/264
72
Approaches
Organized by end of frame detectionmethod
Approaches to framingSentinel (marker, like C strings)
Length-based (like Pascal strings)
Clock-based
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
73/264
73
Approaches
Other aspects of a particularapproach
Bit-oriented or byte-oriented
Fixed or variable length
Data-dependent or data-independentlength
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
74/264
74
Framing with Sentinels
End of frame: special byte or bit pattern
Choice of end of frame marker
Valid data byte or bit sequence e.g. 01111110
Physical signal not used by valid data symbol
8 16 16 8
Beginning
sequenceHeader Body CRC
Ending
sequence
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
75/264
75
Sentinel Based Approach
Problem: equal size frames are not possible
Frame length is data-dependent
Sentinel based framing examples
High-Level Data Link Control (HDLC)
protocol
Point-to-Point Protocol (PPP)ARPANET IMP-IMP protocol
IEEE 802.4 (token bus)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
76/264
76
Length-based Framing
Include payload length in header
e.g., DDCMP (byte-oriented, variable-length)
e.g. RS-232 (bit-oriented, implicit fixed length)
Problem: count field corrupted
Solution: catch when CRC fails
8 148
SYN SYN Class Length
8 42
Header
16
Body CRC
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
77/264
77
Clock-based Framing
Continuous stream offixed-length frames
Each frame is 125s long (all STS formats) (why?)
Clocks must remain synchronized
e.g. SONET: Synchronous Optical NETwork
Dominated standard for long distance transmission
Multiplexing of low-speed links onto one high-speed link
Byte-interleaved multiplexing
Payload bytes are scrambled (data XOR 127 bit-pattern)
STS-n (STS1 = 51.84 Mbps)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
78/264
78
SONET Frame Format (STS-1)
Overhead Pay load
90 columns
9 rows
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
79/264
79
Clock-based Framing
Problem: how to recover frame
synchronization
2-byte synchronization pattern starts eachframe (unlikely to occur in data)
Wait until pattern appears in same place
repeatedly
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
80/264
80
Clock-based Framing
Problem: how to maintain clock
synchronization
NRZ encoding, data scrambled (XORd)with 127-bit pattern
Creates transitions
Also reduces chance of finding false sync
pattern
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
81/264
81
Error Detection
Validates correctness of each frame
Errors checked at many levels
Demodulation of signals into symbols(analog)
Bit error detection/correction (digital)
our main focusWithin network adapter (CRC check)
Within IP layer (IP checksum)
Possibly within application as well
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
82/264
82
Error Detection and Correction
Possible binary voltage
encoding symbol
Neighborhoods and erasure
region
+15
-15
voltage
0
1
? (erasure)
Possible QAM symbol
Neighborhoods in green
All other space results in erasure
Input to digital level: valid symbols or erasures
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
83/264
83
Error Detection: How ?
How to detect error ?
Add redundant information to a
frame to determine errors Transmit two complete copies of
data
n redundant bits forn-bitmessage
Error at the same position in two
copies go undetected
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
84/264
84
Error Detection: How ?
We want only kredundant bits for an
n-bitmessage, where k < < n
In Ethernet, 32-bit CRC for 12,000 bits(1500 bytes)
kbits are derived from the original
message
Both the sender and receiver know the
algorithm
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
85/264
85
Hamming Distance (1950 Paper)
Minimum number of bit flips betweencode words
2 flips for parity3 flips for voting
n-bit error detection
No code word changed into another codeword
Requires Hamming distance of n+1
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
86/264
86
Hamming Distance (1950 Paper)
n-bit error correction
N-bit neighborhood: all code words
within n bit flipsNo overlap between n-bit
neighborhoods
Requires Hamming distance of 2n+1
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
87/264
87
Digital Error Detection Techniques
Two-dimensional parity
Detects up to 3-bit errors
Good for burst errors
Internet checksum (used as backup to CRC)Simple addition
Simple in software
Cyclic redundancy check (CRC)Powerful mathematics
Tricky in software, simple in hardware
Used in network adapter
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
88/264
88
Two-Dimensional Parity
Adding one extra bit to a 7-bit
code to balance 1s
extra parity byte for the entire
frame
Catches all 1, 2 and 3 bit errors
and most 4 bit errors
14 redundant bits for a 42-bit
message, in the example
1011110 1
1101001 0
0101001 1
1011111 0
0110100 1
0001110 1
1111011 0
Parity
bits
Parity
byte
Data
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
89/264
89
Internet Checksum Algorithm
Not used at the link level but provides same sort offunctionality as CRC and parity
Idea:
Add up all words (16-bit integers) that are transmitted Transmit the result (checksum) of that sum
Receiver performs the same calculation on received dataand compares the result with the received checksum
If the results do not match, an error is detected 16 redundant bits for a message of any length
Weak protection, accepted as a last line of defense
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
90/264
90
Cyclic Redundancy Check
Theory
Based on finite-field (binary-valued)
arithmetic
Bit string represented as polynomial
Coefficients are binary-valued
Divide bit string polynomial by generatorpolynomial to generate CRC
Practice
Bitwise XORs
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
91/264
91
Cyclic Redundancy Check
Add kbits of redundant data to an n-bit message
Want k
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
92/264
92
Cyclic Redundancy Check
Transmit polynomialP(x) that is evenly divisibleby C(x)
Shift left kbits, i.e.M(x)xk
Add remainder ofM(x)xk
/ C(x) intoM(x)xk
Receiver receives polynomial P(x) + E(x)
E(x) = 0 implies no errors
Receiver divides (P(x) +E(x)) by C(x); remainder
will be zero ONLY if:E(x) was zero (no error), or
E(x) is exactly divisible by C(x)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
93/264
93
Reliable Transmission
Error-correcting codes are not advanced
enough to handle the range of bit and burst
errors
Corrupt frames generally must be discarded
A reliable link-level protocol must recover
from discarded frames
Goals for reliable transmissionMake channel appear reliable
Maintain packet order (usually)
Impose low overhead / allow full use of link
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
94/264
94
Reliable Transmission
Reliability accomplished using
acknowledgments and timeouts
ACK is a small control frame
confirming reception of an earlier frame
Having no ACK, sender retransmits after
a timeout
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
95/264
95
Reliable Transmission
Automatic Repeat reQuest (ARQ)
algorithms
Stop-and-wait
Concurrent logical channels
Sliding window
Go-back-n, or selective repeat Alternative: Forward Error Correction
(FEC)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
96/264
96
Automatic Repeat reQuest
Acknowledgement (ACK)Receiver tells sender when frame received
Cumulative ACK(used by TCP): have
received specified frame and all previous
Selective ACK (SACK): specifies set of
frames received
Negative ACK (NACKor NAK): receiverrefuses to accept frame now, e. g. when
out of buffer space
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
97/264
97
Automatic Repeat reQuest
Timeout: sender decides that frame waslost and tries again
ARQ also called
Positive Acknowledgement with
Retransmission (PAR)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
98/264
98
Stop-and-Wait
Send a single frame
Wait for ACK or timeout
If ACK received, continue with next frame
If timeout occurred, send again (and wait) Frame lost in transit; or corrupted and discarded
Sender Receiver
Frame 0
Frame1
ACK0
ACK1
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
99/264
99
Stop-and-Wait
Frames delivered reliably and in order Is that enough ?
No, we need performance, too.
Problem: keeping the pipe full ?
Example
1.5Mbps linkx 45ms RTT = 67.5Kb (~8KB)
1KB frames implies 182 Kbps (1/8th link utilization)
Want the sender to transmit 8 frames before waitingfor ACK
Throughput remains 182 Kbps regardless of the linkbandwidth !!
Concurrent Logical Channels
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
100/264
100
g
Multiplex several logical channels over a single p-to-p
physical link (include channel ID in header) Use stop-and-wait for each logical channel
Maintain three bits ofstate for each logical channel:
Boolean saying whether channel is currently busySequence number for frames sent on this channel
Next sequence number to expect on this channel
ARPANET IMP-IMP supported 8 logical channels
over each ground link (16 over each satellite link)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
101/264
101
Concurrent Logical Channels
Header for each frame include 3-bit
channel number and 1-bit sequence
number
Same number of bits (4) as the sliding
window requires to support up to 8
outstanding frames on the link
Slidi Wi d
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
102/264
102
Sliding Window
Allow sender to transmit multiple frames beforereceiving an ACK, thereby keeping the pipe full
Upper bound on outstanding un-ACKed frames
Also used at the transport layer (by TCP)
Sender Receiver
Time
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
103/264
103
Sliding Window Concepts
Considerordered stream of data
Broken into frames
Stop-and-Wait
Window of one frame
Slides along stream over time
Sliding window algorithms generalize this notion
Multiple-frame send window
Multiple-frame receive window
time
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
104/264
104
Sliding Window - Sender
Assign sequence number to each frame (SeqNum) Maintain three state variables:
Send Window Size (SWS)
Last Acknowledgment Received (LAR)
Last Frame Sent (LFS) Maintain invariant: LFSLARSWS
Advance LARwhen ACK arrives
Buffer up to SWS frames and associate timeouts
time
14 1512 1311 19 2017 1816
LAR=13 LFS=18 SWS
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
105/264
105
Sliding Window - Receiver
Maintain three state variables Receive Window Size (RWS)
Largest Frame Acceptable (LFA)
Next Frame Expected (NFE)
Maintain invariant: LFANFE+1RWS
Frame SeqNumarrives: IfNFESeqNumLFA accept
IfSeqNumNFE orSeqNum> LFA discarded
Send cumulative ACKs
time
14 1512 1311 19 2017 1816
NFE=13 LFA=17 RWS
Sliding Window Issues
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
106/264
106
When a timeout occurs, data in transit decreases
Pipe is no longer full when packet losses occur
Problem aggravates with delay in packet loss
detection
Early detection of packet losses improvesperformance:
Negative Acknowledgements (NACKs)
Duplicate AcknowledgementsSelective Acknowledgements (SACKs)
Adds complexity but helps keeping the pipe full
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
107/264
107
Sliding Window Classification
Stop-and-wait: SWS=1, RWS=1
Go-back-N: SWS=N, RWS=1
Selective repeat: SWS=N, RWS=M
(usually M = N)
Selective Repeat
Go-back-NStop-and-Wait
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
108/264
108
Sequence Number Space
SeqNumfield is finite; sequence numbers wraparound
Sequence number space must be larger thannumber of outstanding frames (SWS)
SWS
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
109/264
109
Required Sequence Number Space ?
Assume SWS=RWS (simplest, and typical)
Sender transmits full SWS
Two extreme cases at receiver
None received (waiting for 0SWS 1) All received (waiting for SWS2 SWS1)
All possible packets must have unique SeqNum
SWS < (MaxSeqNum+1)/2 or
SWS+RWS
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
110/264
110
Shared Media: Problems
Problem: demands can conflict, e. g.two hosts send simultaneously
STDM does not address this problem -
centralizedSolution is a medium access control
(MAC) algorithm
Sh d M di S l ti
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
111/264
111
Shared Media: Solutions
Three solutions (out of many)Carrier Sense Multiple Access with
Collision Detection (CSMA / CD)
Send only if medium is idle Stop sending immediately if collision
detected
Token Ring/FDDI pass a token around aring; only token holder sends
Radio / wireless (IEEE 802.11)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
112/264
112
History of Ethernet
Developed by Xerox PARC in mid-1970s
Roots in Aloha packet-radio network
Standardized by Xerox/DEC/Intel in 1978 Similar to IEEE 802.3 standard
IEEE 802.3u standard defines Fast
Ethernet (100 Mbps)
New switched Ethernet now popular
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
113/264
113
EthernetAlternative Technologies
Can be constructed from a thinner cable (10Base2)
rather than 50-ohm coax cable (10Base5)
Newer technology uses 10BaseT (twisted pair)
Several point-to-point segments coming out of amultiway repeater called hub
HubHub
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
114/264
114
EthernetMultiple Segments
Repeaters forward thebroadcast signal on all out
going segments (10Base5)
Maximum of 4 repeaters (2500m), 1024 hosts
Repeater
Host
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
115/264
115
Ethernet Packet Frame
Preamble allows the receiver to synchronize withsignal
Frame must contain at least 46 bytes to detect
collision 802.3 standard substitutes length with type field
Type field (demux key) is the first thing in data portion
A device can accept both frames: type > 1500
Destaddr
64 48 32
CRCPreambleSrcaddr
Type Body
1648
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
116/264
116
Ethernet MACCSMA/CD
Multiple access
Nodes send and receive frames over a
shared link Carrier sense
Nodes can distinguish between an idle
and busy link Collision detection
A node listens as it transmits to detectcollision
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
117/264
117
CSMA/CD MAC Algorithm
If line is idle (no carrier sensed)
Send immediately
Upper bound message size of ~1500
bytes
Must wait 9.6s between back-to-back frames
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
118/264
118
CSMA/CD MAC Algorithm
If line is busy (carrier sensed)
Wait until the line becomes idle and
then transmit immediatelyCalled 1-persistent (special case ofp-
persistent)
Ifcollision detectedStop sending data and jam signal
Try again later
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
119/264
119
Constraints on Collision Detection
In our example, consider
my-machines message reaches your-machine
at Tyour-machines message reaches my-machine
at 2T
Thus, my-machine must still betransmitting at 2T
h i i
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
120/264
120
Ethernet Min. Frame Size
RTT on a maximally configured Ethernet of
2500m, with 4 repeaters is about 51.2 s
2500m / 2 x 108 m/s = 12.5 s
2 x 12.5 = 25 us + repeater delays
51.2 s on 10 Mbps corresponds to 512 bits
(64 bytes)
Therefore, the minimum frame length for
Ethernet is 64 bytes (header + 46 bytes data)
R t Aft th C lli i
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
121/264
121
Retry After the Collision
How long should a host wait toretry after a collision ?Binary exponential backoff
Maximum backoff doubles witheach failure (exponential)
After N failures, pick an N-bit
number 2N discrete possibilities from 0 tomaximum
E h F R i
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
122/264
122
Ethernet Frame Reception
Sender handles all access control
Receiver simply pulls frames from
network
Ethernet controller/card
Sees all framesSelectively passes frames to host
processor
Experience With Ethernet
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
123/264
123
Experience With Ethernet
Number ofhosts limited to 200 inpractice, standard allows 1024
Range much shorter than 2.5 kmlimit in standard
Round-trip time is typically 5 or 10
s, not 50s
T k Ri O i
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
124/264
124
Token Ring Overview
Token Ring network was a candidate to replace
Ethernet; used in some MAN backbones
16Mbps IEEE 802.5 (based on earlier 4Mbps IBM ring)
100Mbps Fiber Distributed Data Interface (FDDI)
IBM T k Ri IEEE 802 5
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
125/264
125
IBM Token RingIEEE 802.5
Ring is viewed as a single sharedmedium
Each node is allowed to transmit accordingto some distributed algorithm for mediumaccess
All nodes see all frames; destination saves
a copy of frame as it flows past
The term token indicates the way theaccess to shared channel is managed
T k i T k Ri
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
126/264
126
Token in a Token Ring
Token is a special bit pattern that rotates
around the ring
A node must capture token before
transmitting
A node releases token after done transmitting
Immediate release-token follows last frame(FDDI)
Delayed releaseafter last frame returns
to sender
T k i T k Ri
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
127/264
127
Token in a Token Ring
Remove your frame when it comes
back around
Transmit another frame or re-insert
the token
Stations get round-robin serviceas the token circulates around the
ring
Ph i l P ti
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
128/264
128
Physical Properties
Data rate can be 4 Mbps or16 Mbps
Encoding of bits uses differential
Manchester
Ring may have up to 250 (802.5) or
260 (IBM) nodes
Physical medium is twisted pair (IBM
Token Ring)
T k Ri MAC
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
129/264
129
Token Ring MAC
Network adaptor contains receiver, transmitter
and some storage of bits between them
Token circulates if no station has anything to
send
Ring must have enough capacity to store entire
token
At least 24 stations with 1-bit storage for 24-bitlong token (if propagation delay is negligible)
This situation is avoided by designating a
monitor
T k Ri MAC
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
130/264
130
Token Ring MAC
Any station that has a data to send can
seize token
In 802.5, simply 1 bit in second byte
token is modified
First two bytes ofmodified tokenbecome preamble for the next frame
F F t
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
131/264
131
Frame Format
Illegal Manchester codes in the start andend delimiters
Frame priority and reservation bits in
access control byte Demux key in frame control byte
A and C bits for reliable delivery, in statusbyte
Body CRCSrcaddr
Variable48
Destaddr
48 32
Enddelimiter
8
Framestatus
8
Framecontrol
8
Accesscontrol
8
Startdelimiter
8
Ti d T k Al ith
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
132/264
132
Timed Token Algorithm
Token Holding Time (THT)
Upper limit on how long a station can
hold the tokenA node checks before putting each frameon ring that its transmit time would notcause THT to exceed
Long THT achieves better utilizationwith few senders
Short THT helps when multiple nodes
have data to send
R li bl D li
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
133/264
133
Reliable Delivery
The A and C bit in the packet
trailer for reliability
Both bits are initially set to 0
Destination sets A bit if it sees
the frame and sets C bit if it
copies the frame into its adaptor
Token Ring Packet Priorities
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
134/264
134
Token Ring Packet Priorities
A station willing to send priority n
packet can set reservation bits to n, if
this makes it lower in valueIt captures the token when the current
sender releases it with priority set to n
Strictpriority scheme: no lower-priority packets get sent when higher
priority packets are waiting
Token Maintenance
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
135/264
135
Token Maintenance
Token rings have a designated
monitor node
Any station can become the monitoraccording to a well defined procedure
Monitor is elected when the ring is
first connected, or when the current
monitor fails
Token Maintenance
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
136/264
136
Monitor periodically announces itspresence
Claim token sent by a station seeing
no monitor
If the sender receives back the claim
token, it becomes monitor
If another station is also contending for
monitor, some rule defines the monitor
Fiber Distributed Data Interface
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
137/264
137
Fiber Distributed Data Interface
Similar to 802.5/IBM token rings but runs on fiber Consists of a dual ring: two independent rings that
transmit data in opposite directions at 100Mbps
Tolerates a single link break or node failure (self-
healing ring)
(a) (b)
FDDI Physical Properties
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
138/264
138
FDDIPhysical Properties
Variable size buffer (980 bits)
between input and output
interfaces (10ns bit time)Not required to fill buffer before
starting transmission
Maximum 500 stations, maximum
2 km distance between any pair of
stations
FDDI Physical Properties
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
139/264
139
FDDIPhysical Properties
Total 200 km fiber: dual nature
implies 100 km cable
connecting all stations
Physical media can be coax or
twisted pair cable
Uses 4B/5B encoding
Timed Token Algorithm
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
140/264
140
Timed Token Algorithm
Token Holding Time (THT)
Upper limit on how long a station can hold
the token
Configured to some suitable value
Token Rotation Time (TRT)
How long it takes the token to traverse thering (time since a host released the token)
TRT
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
141/264
141
Timed Token Algorithm
Target Token Rotation Time
(TTRT)
agreed-upon or negotiated
upper bound on TRT
MAC Algorithm
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
142/264
142
MAC Algorithm
Each node measures TRT
between successive token
arrivals
Ifmeasured-TRT > TTRT
Token is late
Can not send data
FDDI Traffic Classes
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
143/264
143
FDDI Traffic Classes
Synchronous traffic
Latency sensitiveGets higher priority
Can always send data
Bounded Priority Traffic
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
144/264
144
Bounded Priority Traffic
If a node has large amount of
synchronous data
It will send regardless of measured TRTTTRT will become meaningless !!!
Therefore, total synchronous data
during one token rotation is bounded
by TTRT
Token Maintenance
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
145/264
145
The procedure when a nodeJoins the ring (startup)
Suspects a failure
Claim frame is used in order toGenerate a new Token
Agree on TTRT (so that an application
can meet its timing constraints) A node can send a claim frame without
holding the token
Frame Format
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
146/264
146
4B/5B control symbols for start and end of frame
Control Field
1st bit: asynchronous (0) versus synchronous (1) data
2nd bit: 16-bit (0) versus 48-bit (1) addresses
Last 6 bits: demux key (includes reserved patterns fortoken and claim frame)
Status Field
From receiver back to sender; error in frame
Recognized address; accepted frame (flow control)
Body CRCSrcaddr
Variable48
Destaddr
48 32
End offrame
8
Status
24
Control
8
Start offrame
8
Wireless LANs
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
147/264
147
IEEE 802.11 standard
Designed for use in a small area (offices,
campuses)
Bandwidth: 1, 2 or 11 MbpsUp to 56Mbps in newer 802.11a standard
Targets three physical media
Two spread spectrum radio (2.4GHz freq)One diffused infrared (10m range, 850 nm
band)
802.11 MAC: CSMA/CA
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
148/264
148
802.11 MAC: CSMA/CA
Similar to Ethernet
Defer the transmission until the link
becomes idleTake back offif collision occurs
Is it sufficient ?
All nodes are not always within
reach of (to hear) each other
Hidden and Exposed Nodes
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
149/264
149
p
Hidden nodes
Sender thinks its OK to send when its not (false +ve)
A-C and B-D are hidden nodes in the figure below
Exposed nodes
Sender does not send when its OK to send (falseve) B and C are exposed nodes in the figure below
A B C D
Multiple Access with Collision
A id (MACA)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
150/264
150
Avoidance (MACA)
Sender transmits RequestToSend
(RTS) frame
Contains intended time to hold the
medium
Receiver replies withClearToSend(CTS) frame
MACA for Wireless (MACAW)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
151/264
151
MACA for Wireless (MACAW)
Collision detection
No active collision detection
Known only if CTS or ACK is
not received
Binary exponential back off(BEB) is used in case of
collision, like in Ethernet
802.11 - Distribution System
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
152/264
152
y
Nodes roam freely but operatewithin a structure
Tethered by wired network
infrastructure (Ethernet ?)
Each Access Point (AP) services
nodes in some regionEach mobile node associates itself
with an AP
Managing Connectivity/Roaming
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
153/264
153
Managing Connectivity/Roaming
How wireless nodes select Access Point ?
Scanning (active search for an AP)
Node sends Probe frame All APs within reach reply with Probe
Response frame
Node selects one AP; sends itAssociate
Request frame
AP replies withAssociation Response
New AP informs old AP via wired backbone
Managing Connectivity
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
154/264
154
Managing Connectivity
Active scanning: when a node join or move Passive scanning: AP periodically sendsBeacon frame, advertising its capabilities
B
H
A
F
G
D
AP-2
AP-3AP-1
EC
C
Distribution sy stem
Frame Format
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
155/264
155
Frame Format
Control field contains three subfields:
6-bit Type field (data, RTS, CTS, scanning);
1-bit ToDS; and
1-bit FromDS
A single frame contains up to 2312 bytes of data
Addr4 Pay loadSeqCtrlAddr3Addr2Addr1 CRC
0 18,4964816 32484848
Duration
16
Control
16
ToDS=0, FromDS=0 C A
ToDS=1, FromDS=1 E AP-3 AP-1 A
Overview
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
156/264
156
Overview
Also called network interface card (NIC)
Components (high-level overview)
Options for use
Data motion
Event notification
Potential performance bottlenecks
Programming device drivers
Typical Workstation Architecture
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
157/264
157
Typical Workstation Architecture
CPU
Cache $
MemoryI/O bus
Network
Adaptormemory
bus
Communication ?
To
Network
Typically where data linkfunctionality is implemented
Components of a Network Adaptor
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
158/264
158
Components of a Network Adaptor
Bus interface communicates with a specific host Bus defines protocol for CPU-adaptor communication
Link interface speaks correct protocol on network
Implemented by a chip set, in software or on FPGA
Buffering between different speed bus and link
Host
I/Ob
us
Network Adaptor
Bus
Interface
Link
Interface network
Host Perspective
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
159/264
159
Host Perspective
Adaptor is ultimately
programmed by CPU
Adaptor exports a Control
Status Register (CSR)
CSR is readable and writablefrom CPU at some memory
address
Data Motion Options for Network
Ad U
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
160/264
160
Adaptor Use
Transfer frames between adaptorand host memory
Programmed input/output (PIO)Processor manages itself each
access (loads/stores)
Faster than DMA forsmall amountsof data
Data Motion Options for Network
Ad t U
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
161/264
161
Adaptor Use
Direct memory access (DMA)
Adaptor gets buffer descriptor lists
by host for read/writeProcessor is not involved: free to do
other things
Can be faster than memory copythrough CPU
Start-up cost
Data Motion
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
162/264
162
CPU
Cache $
MemoryI/O bus
Network
Adaptormemory
bus
To
Network
Data movement
path using PIO
Data movement
path using DMA
Network Adaptor: Event Notification
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
163/264
163
Hardware interruptsProcessor free to do other things
Events delivered immediatelyState (register) save/restore
expensive
Context switches more
expensive
Network Adaptor: Event Notification
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
164/264
164
p
Event polling
Processor must periodically
check
Events wait until next check
No extra state changes
Device Drivers
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
165/264
165
Operating system routines anchoring
protocol stack to network hardware
Initialize device, transmit frames,field interrupts
Code contains device specific detailsDifficult to read but simple in logic
Performance Bottlenecks
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
166/264
166
Link capacity
Processor computing power I/O bus bandwidth
Overhead involved in each bustransfer
Performance Bottlenecks
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
167/264
167
Memory bus bandwidth
Memory hierarchy with cachelevels
Memory accesses results in
multiple memory copies in
different buffers
Packet Switches
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
168/264
168
A multi-input multi-outputdevice
Local star topology
Performance independent of
connectivity (e.g. adding new host) if switch is
designed with enough aggregatecapacity
Maximumdegree < physical network limit
Forwarding
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
169/264
169
g
Packets arrive at one of the several inputs and
have to be forwarded/switchedto one of the
available outputs
Connectionless and connection-oriented approach todetermine the correct output
Which way should it go ?
First challenge:forwarding
Routing
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
170/264
170
g
Forwarding requires information
Second
challenge:
routing
How to maintain forwarding information ?
Contention and Congestion
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
171/264
171
g
If arrival rate for a certain output is greater than
the output capacity, then contention occurs
If arrival rate of packets is too high to cause buffer
overflow, then congestion occurs
Who
goesfirst ?
Any one is
dropped ?
Network Layers and Switches
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
172/264
172
One or more nodes
within the network
User
level
OS
kernel
host
switch
switch
betweendifferent
physical
layers
Transport
Network
Data Link
Physical
Session
Presentation
Application
Network
Data Link
Physical
Packet Switching / Forwarding
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
173/264
173
Three approaches
Datagram or connectionless
approachVirtual circuit or connection-oriented
approach
Source routing
Important notion: unique global
dd h t
Datagram Switching / Forwarding
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
174/264
174
Every packet contains enough
information
Enables switch to decide how to forward it
Switch translates global address to
output port
Maintains forwarding table for translations Each packet forwarded and travels
independently
Datagram Switching
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
175/264
175
Managing tables in large, complex networks withdynamically changing topologies is a realchallenge for the routingprotocol
01
3
2
0
1
3
2
0
13
2
Switch 3
Host B
Switch 2
Host A
Switch 1
Host C
Host D
Host E
Host F
Host G
Host H
At switch 1:Dest Port#/Interface
A 2
B 1
C 3
D 0
E 1
Datagram Model
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
176/264
176
No round trip time delay waiting forconnection setup
Host can send data anywhere, anytime as soon as it
is readySource has no way of knowing if the network is
capable of delivering a packet or if the destination
host is even up
Packets are treated independently
Possible to route around link and node failures
dynamically
Virtual Circuit Switching
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
177/264
177
Explicit connection setup (and tear-
down) phase from source to destination:
connection-orientedmodelSubsequence packets follow established
circuit
Supporting connections in networklayer may be useful for service notions
VC Tables in VC Switching
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
178/264
178
Setup message in signaling process(to create VC table) is forwarded
like a datagram Acknowledgment of connection
setup to downstream neighbors to
complete signalingData transfer phase can start after
ACK is received
Signaling in VC Switching
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
179/264
179
Setup message isforwarded fromHost A to Host B
On connectionrequest, eachswitch creates anentry in VC tablewith a VCI for theconnection
0
13
2
2
1
3
0
0
13
2
Switch 3
Host B
Switch 2
Switch 1
Host A
I/F VCI I/F VCI
in in out out
setup B
setup B
setup B
setup B
2 5 1
I/F VCI I/F VCI
in in out out
2 7 3
I/F VCI I/F VCI
in in out out
3 9 0
Virtual Circuit Model
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
180/264
180
Typically wait full RTT forconnection setup before sending
first data packetCan not avoid failures dynamically,
must re-establish connection (old
one is torn down to free storagespace)
Source Routing
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
181/264
181
Packet header contains sequence
of address/ports on path from
source to destinationOne direction per switch: port, next
switch (absolute)
Switches read, use, and then discard
directions
Data Transfer in Source Routing
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
182/264
182
Analogous to
following
directions0
13
2
2
1
3
0
0
13
2
Switch 3
Host B
Switch 2
Switch 1
Host A
data 0 1 3
data 3 0 1
data 1 3 0
data 3 0 1
data 1 0 3
data 2 3 0 1
Source Routing Model
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
183/264
183
Source host needs to know the
correct and complete topology of
the networkChanges must propagate to all hosts
Packet headers may be large and
variable in size: the length is
unpredictable
Implementation and Performance
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
184/264
184
Packet arriving at interface 1 has to go on interface 2
Point of contention for packets: I/O and memory bus
CPU
Main memory
I/O bus
Interface 1
Interface 2
Interface 3
Building Extended LANs
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
185/264
185
Traditional LANShared medium (e.g. Ethernet)
Cheap, easy to administer
Supports broadcast traffic Problem
Want to scale LAN concept
Larger geographic area (Greater than O(1 km))
More hosts (Greater than O(100))
But retain LAN-like functionality
Solution: bridges
Bridges
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
186/264
186
Connect two or more LANs with a bridgeTransparently extends a LAN over multiple
networks
Accept & forward strategy (in promiscuous
mode)Level 2 connection (does not add packet header)
A
Bridge
B C
X Y Z
Port 1
Port 2
Learning Bridges
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
187/264
187
Learn table entries based on source addressTimeout entries to allow movement of hosts
Table is an optimization need not be complete
Always forward broadcast frames Uses datagram or connectionless forwarding
A
Bridge
B C
X Y Z
Port 1
Port 2
Host Port
A 1
B 1C 1
X 2
Y 2
Z 2
Learning BridgesA
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
188/264
188
Problem
Redundancy (desirable to handle failures, but )
Makes extended LAN structure cyclicFrames may cycle forever
Solution: spanning tree
B3
A
C
E
DB2
B5
B
B7 K
F
H
B4
J
B1
B6
G
I
Spanning Tree
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
189/264
189
Subset of forwarding possibilities All LANs reachable, but
Acyclic
Bridges run a distributed algorithm tocalculate the spanning tree
Select which bridge actively forward
Developed by Radia Perlman of DEC
Now IEEE 802.1 specification
Reconfigurable algorithm
Spanning Tree Algorithm
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
190/264
190
All designated bridges forward frames
On all designated ports
On preferred port (path leading to root)
B3
A
C
E
DB2
B5
B
B7 K
F
H
B4
J
B1
B6
G
I
B2
LAN
Designated port
Preferred port
Designated bridge
Distributed Spanning Tree Algorithm
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
191/264
191
Bridges exchange configuration
messages
ID for bridge sending the message
ID for what the sending bridge
believes to be root bridge
Distance (hops) from sending bridge
to root bridge
Limitations of Bridges
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
192/264
192
Do not scale
Spanning tree algorithm does not
scaleBroadcast does not scale
Do not accommodate heterogeneityOnly supports networks with same
address formats
ATM (Asynchronous Transfer Mode)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
193/264
193
Common in WANs, can also be usedin LANs
Competing technology with Ethernet, but
areas of application only partially overlap
Connection-oriented packet-
switched network
Virtual-circuit routing
Typically implemented on SONET
( th h i l l ibl )
ATM Signaling
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
194/264
194
Connection setup called signaling(standard Q.2931)
Route discovery, resource resv, QoS, ...
Send through networkRequest setup circuit
Send setup frame on setup circuit
Establish locally
No intermediate switch involvement
Requires pre-established virtual path
Cell Switching (ATM)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
195/264
195
Fixed length (53 bytes) frames arecalled cells
5-byte (header + 1byte CRC8) +
48-byte payload
Standard defines 3 layers (5 sublayers)
Layers interface to physical media andto higher layers (e.g. encapsulating
variable-length frames)
Cell Switching (ATM)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
196/264
196
2-level connection hierarchyVirtual circuits
Virtual pathsBundles of virtual circuits
Travel along common route
Reduces forwarding
information
ATM Cell Format
User Network Interface (UNI)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
197/264
197
User-Network Interface (UNI)
Host-to-switch format
GFC: Generic Flow Control (still being defined)
VCI/VPI: Virtual Circuit/Path Identifier Type: management, congestion control, AAL5 (later)
CLP: Cell Loss Priority
HEC: Header Error Check (CRC-8)
Network-Network Interface (NNI) Switch-to-switch format
GFC becomes part of VPI field
GFC VPI VCI Type CLP HEC(CRC-8) payload
4 16 3 18 384 (48 bytes)8
Segmentation and Reassembly
ATM Adaptation Layer (AAL)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
198/264
198
ATM Adaptation Layer (AAL) Application to ATM cell mapping
AAL header contains information for reassembly
AAL1, AAL2 for applications needing guaranteed rate
AAL3/4 designed for variable-length packet data
AAL5 is an alternative standard for packet data
AAL
ATM
AAL
ATM
ATM Layers ATM Adaptation Layer (AAL)
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
199/264
199
Convergence Sublayer (CS) supportsdifferent application service models
Segmentation and Reassembly (SAR)supports variable-length frames
ATM Layer
Handles virtual circuits, cell headergeneration, flow control
Physical layer
Transmission Convergence (TC)handles error detection, framing
Physical medium dependent (PMD)sublayer handles encoding
ATM
AALCS
SAR
PHY
TC
PMD
AAL 3/4
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
200/264
200
Provides information to allow variable size packetsto be sent in fixed-size ATM cells
Convergence Sublayer Protocol Data Unit (CS-PDU)
CPI: Common Part Indicator (version field)
Btag/Etag:beginning and ending tags (same)
BAsize: hint on reassembly buffer space to allocate Length: size of whole PDU
Segmented into cells: header/trailer + 44-byte data
CPI Btag BAsize payload Pad 0 Etag Length
8 16 0-24 88 < 64 KB 8 16
ATM Cell Format for AAL 3/440 4 352 (44 bytes) 62 10 16
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
201/264
201
Type (is-start? and is-end? bits)
BOM (10): Beginning Of Message
COM (00): Continuation Of Message EOM (01): End Of message
SSM (11): Single-Segment Message
SEQ: Sequence Number (forcell loss/reordering)
MID: multiplexing ID (mux onto virtual circuits)
Length: number of bytes of PDU in this cell
ATM header type seq MID payload length CRC-10
Encapsulation and Segmentation for
AAL3/4
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
202/264
202
44 bytes 44 bytes 44 bytes
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
203/264
203
CS-PDU Format
Pad so trailer always falls at the end of ATM cell
Length: size of PDU (data only)
CRC-32 (detects missing or misordered cells)
Cell Format
End-of-PDU bit in Type field of ATM header
0 - 47 2< 64 KB 2 32
data pad reserved length CRC-32
Encapsulation and Segmentation for
AAL 5
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
204/264
204
User data
48 bytes 48 bytes 48 bytes
ATM header Cell payload
Padding
CS-PDUtrailer
Virtual Paths with ATM
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
205/264
205
Two level hierarchy of virtual connection: 8-bitVPI and 16-bit VCI
Switches in the public network use 8-bit VPI
Corporate sites use full 24-bit address (VPI + VCI)
Much less connection-state info in switches
Virtual path: fat pipe with bundle of virtual circuits
Public network
Network BNetwork A
ATM as a LAN Backbone
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
206/264
206
Different from traditional LANs, no native supportfor broadcast or multicast
E1
H5
H6
H7
H1E3
H2
H4
H3E2
ATM linksEthernet link
Ethernet switch
ATM switchATM-attachedhost
Shared Ethernet Emulation with LANE
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
207/264
207
All hosts think they are on the same Ethernet
LANE / Ethernet
Adaptor Card
H
H
H
HH
Ethernet
Switch
ATM Switch
LANE / EthernetAdaptor Card
H
H
H
H
H
EthernetSwitch
ATM Switch
ATM / LANE Protocol Layers
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
208/264
208
Higher-layer
protocols
(IP, ARP, . . .)
Signalling
+ LANE
AAL5
ATM
PHY
ATM
PHY PHY
Higher-layer
protocols
(IP, ARP, . . .)
Signalling
+ LANE
AAL5
ATM
Host Switch Host
PHY
Ethernet-like
interface
Clients and Servers in LANE
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
209/264
209
LAN Emulation Client (LEC)
Host, bridge, router or switch
LAN Emulation Server (LES)
Maintains clients MAC and
ATM addressesMaintains ATM address of BUS
Clients and Servers in LANE
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
210/264
210
LAN Emulation Configuration
Server (LECS)
High-level network managementwhen LEC starts up
Reachable by preset VC (recall
known server port#)Maintains mapping of ATM address
to LANE type
Clients and Servers in LANE
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
211/264
211
Broadcast and Unknown Server (BUS) Emulates broadcast and multicast; critical to LANE
Uses point-to-multipoint VC with all clients
Servers physically located in one or more devices
H2H1
BUSLESATM network
Point-to-point VC
Point-to-multipoint VCLECS
LANE Registration
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
212/264
212
1. Client contacts LECS on predefinedVC, and sends ATM address to it
2. LECS returns LAN type, MTU andATM address of LES
3. Client signals connection to LES, andregisters MAC and ATM addresseswith LES
4. LES returns ATM address of BUS
5. Client signals connection to BUS
6. Bus adds client to point-to-multipointVC
ATM Network
LECS
LES BUS
H1 H2
H3
LANE Circuit Setup
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
213/264
213
1. Client (H1) knows destinationMAC address of receiver (H2)
2. Client (H1) sends 1st packet toBUS
3. BUS sends address resolutionrequest to LES
4. LES returns ATM address toclient (H1)
5. Client (H1) signals connectionto H2 for subsequent packets
ATM Network
LECS
LES BUS
H1 H2
H3
Contention in Switches Some packets destined for same output
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
214/264
214
Some packets destined forsame output
One goes first
Others delayed or dropped
Delaying packets requires buffering
Finite capacity, some packets must still drop
At inputs
Increases/adds false contention
Sometimes necessary
At outputs
Can also exert backpressure
Output BufferingCustomer
7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25
215/264
215
1x6 Switch
x
a
Standard check-in lines
Customer
service
trying to check-inyou Mr. X
writing
complaintletter
Mr. A
waiting to
claim refund
of Rs.100
Input Buffering: Head-of-line