Documente Academic
Documente Profesional
Documente Cultură
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
UoC, 2014
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Outline
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Goals:
Understand the reasons for creating networks
Know major design issues
Understand basic operation modes of networks
This module is based on [9, Chap. 10, 11] and [6]
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Outline
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals of Networks
So far we have mostly studied communication between two
of users increases
Key question
How to build and operate large-scale networks?
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Question
What are desirable additional objectives for such a graph and
what are important constraints?
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Disadvantage: costs!!
Disadvantage: poor scalability!!
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
N(N1)
2
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
A First Conclusion
Conclusion
By carefully designing partially meshed networks we can
achieve a good balance between costs (# of links, # of
switching elements) and network properties like resilience
against link failures or switching element failures
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Unicast
Broadcast
Multicast
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
receivers
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Important point
The design of a network is strongly influenced by the traffic it is
supposed to carry!
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Outline
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Voice/CBR Traffic
measurements, . . .
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Circuit Switching
A good way to support voice / CBR traffic is to set up a
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Connection setup takes time, it does not pay off when only
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Switches Signaling
Signaling: control information exchanged to set up or tear
down a circuit
and the next office / switch (e.g. off-hook, dialing) use the
same channel as the speech data would use
Definition
In in-band signaling user-data and signaling data share the
same communications channel, in out-of-band signaling
user-data and signaling data are transmitted on different
channels / networks.
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Definition
A switch is non-blocking when at all times a free output port
can be reached from any input port. A switch is blocking when
it does not have this property.
The (full) space switch is non-blocking
The three-stage space switch is blocking
Find an example!!
What would happen if we remove the middle stage?
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Outline
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Data Traffic
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Conclusion
A more flexible networking mechanism is needed for data
traffic!!!
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Packet Switching
Data flows are segmented into packets
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
source-destination-pair a flow
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Important Point
Routers in packet-switched networks perform more complex
processing during information transfer than switching fabrics in
circuit-switched networks!
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Outline
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
State of Affairs
Circuit-switching:
Can give guaranteed bandwidths
No statistical multiplexing, no re-use of resources
Data forwarding is low-complexity operation for switches
Routing is done only once
Packet-switching:
Cannot (easily) give any guarantees
Allows statistical multiplexing
Data forwarding is higher-complexity operation for routers
Routing is done for every packet
Can we marry these approaches and have their benefits
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
No!!
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Virtual-Circuit-Switching
Virtual circuit switching is a combination of packet- and
circuit-switching
Major characteristics:
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
established
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
VC Connection Usage
Suppose S wants to transmit a packet to D
Key point
The switches perform a very simple operation, often much
simpler than what routers have to do!!!
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Developed in the 80s and 90s of the last century [7], [4]
It is defined in ITU-T standards, e.g. I.150, I.432
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
ATM Cell
This is an ATM cell at boundary
No payload checksum??
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Packet- or Cell-Switches
(like in ATM)
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Cell-Switches
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Cell-Switches (2)
Assumption: switch is
non-blocking
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
In each time slot at most one cell can arrive per input link
cells can be destined for the same output during one slot
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Conclusion
Output-queued switches have limited scalability!!
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
lim TN = 2 2 0.586
N
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Outline
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
An Unspoken Assumption
Assumption
Switching elements / routers do not modify the user data
either the data is forwarded as it is or it is thrown away entirely!!
The relatively new field of network coding modifies this
assumption by letting routers compute new packets out of two
or more other packets [1], [11], [12]
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Rudolf Ahlswede, Ning Cai, Shuo-Yen Robert Li, and Raymond W. Yeung.
Network information flow.
IEEE Transactions on Information Theory, 46(4):12041216, July 2000.
John C. Bellamy.
Digital Telephony.
John Wiley and Sons, Chichester, UK, third edition, 2000.
Jon C. R. Bennett, Craig Partridge, and Nicholas Shectman.
Packet Reordering is Not Pathological Network Behaviour.
IEEE/ACM Transactions on Networking, 7(6):789798, December 1999.
Martin DePrycker.
Asynchronous Transfer Mode - The solution for Broadband-ISDN.
Prentice Hall, New York , London, second edition, 1994.
Olivier Hersent, David Gurle, and Jean-Pierre Petit.
IP Telephony Packet-based multimedia communications systems.
Addison-Wesley, Harlow / England, London, 2000.
Anurag Kumar, D. Manjunath, and Joy Kuri.
Communication Networking An Analytical Approach.
Morgan Kaufmann Publishers, San Francisco, 2004.
Raif O. Onvural.
Asynchronous Transfer Mode Networks - Performance Issues.
Artech House, Boston, London, second edition, 1995.
Mike Sexton and Andy Reid.
Broadband Networking ATM, SDH and SONET.
Bibliography
Fundamentals
Circuit-Switching
Packet-Switching
Virtual-Circuit-Switching
Excursion
Bibliography
Protocol Layering
UoC, 2014
Bibliography
Protocol Layering
Outline
Protocol Layering
The Concept of Layering
The OSI Reference Model
The TCP/IP Reference Model
Elements of Service and Protocol Design
Service Primitives
A few Standard Protocol Mechanisms
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Outline
Protocol Layering
Elements of Service and Protocol Design
Bibliography
Protocol Layering
Bibliography
Networking Software
The Internet and POTS are among the most complex
Layering
A key structuring principle for networking software is layering:
the functionality is decomposed into a chain of layers so that
layer N offers services (through an interface) to layer N + 1
and itself is only allowed to use services offered by layer N 1.
Protocol Layering
Outline
Protocol Layering
The Concept of Layering
The OSI Reference Model
The TCP/IP Reference Model
Elements of Service and Protocol Design
Bibliography
Protocol Layering
Layering Concepts
Bibliography
Protocol Layering
Bibliography
Example: POTS offers voice and fax services, uses telephone sockets as SAPs
Protocol Layering
Bibliography
Protocol Layering
Bibliography
The sending N-protocol entity adds an N-protocol header which carries control
information (e.g. sequence numbers, addresses, flags) important for the
N-protocol but not the receiving N + 1 layer
Protocol Layering
Bibliography
Protocol Layering
Bibliography
About Interfaces
Interfaces specify a service that a certain layer offers
Example:
The socket interface offers reliable, in-sequence and
byte-oriented data transfer through an interface somewhat
resembling a file system interface
The TCP/IP protocol stack implements this service
Applications just use the socket interface and are not
concerned with the operation of the TCP protocol
Important Point
Standardized interfaces allow higher layers to ignore the
operation and properties of lower layers
Several (not only networking) standard documents tend to
Protocol Layering
Bibliography
Cross-Layer Approaches
Protocol Layering
Outline
Protocol Layering
The Concept of Layering
The OSI Reference Model
The TCP/IP Reference Model
Elements of Service and Protocol Design
Bibliography
Protocol Layering
Bibliography
See [9]
The model was not commercially
successful, but helped greatly to clarify
networking architectures and
discussion
Protocol Layering
Bibliography
This already hints at a network architecture where end nodes are interconnected
through routers!
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Concerned with:
Providing a link technology-independent abstraction of
entire network to higher layers
Addressing and routing
End-to-end delivery of messages
Network- and higher-layer messages are called packets
Often involves specification of:
Addressing formats
Exchange of routing information and route computation
Depending on technology: establishment, maintenance and
teardown of connections
Protocol Layering
Bibliography
Concerned with:
(reliable, in-sequence, transparent) end-to-end data transfer
programming abstractions (interface) to higher layers
Often involves specification of:
Error-control procedures (Question: why again?)
Flow control procedures
Congestion control procedures
Protect network against overloading
Can also be considered a network-layer issue
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Outline
Protocol Layering
The Concept of Layering
The OSI Reference Model
The TCP/IP Reference Model
Elements of Service and Protocol Design
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Bibliography
This reference model also uses a network architecture where end nodes (called
hosts) are interconnected through routers!
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Protocol Layering
End-to-End Principle
Bibliography
Protocol Layering
Outline
Protocol Layering
Elements of Service and Protocol Design
Bibliography
Protocol Layering
Bibliography
Important Point
A protocol implements a service. Higher layers only use the
service and are not exposed to the internals of the protocol!
Protocol Layering
Bibliography
Loss of messages
Failure of network links
Crash of entities
Large differences in processing speeds among entities
Incompatible data representations
Equipment from different vendors
Random delays in message transmission
Errors induced into messages (e.g. by the channel)
...
computer!
Protocol Layering
Protocol Engineering
Major steps in protocol engineering
Design of service and protocol
Initial performance evaluation
Formal specification of service and protocol design
Often as finite state automata, e.g. in SDL language
Validation: is the (formal) design doing the right things?
Does it fulfill the service?
Presence of deadlocks? Liveness?
Can undesirable situations occur?
Protocol implementation
Verification and testing: does the implementation
Bibliography
Protocol Layering
Outline
Protocol Layering
Elements of Service and Protocol Design
Service Primitives
A few Standard Protocol Mechanisms
Bibliography
Protocol Layering
Bibliography
S.request
S.indication
S.response
S.confirmation
Protocol Layering
Bibliography
Confirmed Service
Service user at A issues an
S.request service primitive,
possibly carrying user data
Protocol Layering
Bibliography
Unconfirmed Service
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Outline
Protocol Layering
Elements of Service and Protocol Design
Service Primitives
A few Standard Protocol Mechanisms
Bibliography
Protocol Layering
Bibliography
Multiplexing
Multiplexing allows to transmit
data from several N SAPs over a
single N 1 SAP
Protocol Layering
Bibliography
Splitting
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Protocol Layering
Bibliography
Sequence Numbers
An N-entity can maintain a sequence number
For each newly constructed PDU the sequence number is
from sender)
Put N-PDUs back in the right order when network has
reordered them
Implementation issues:
Sequence number space is finite, wrapovers need to be
handled
Choice of initial sequence number
Protocol Layering
Bibliography
Protocol Layering
William Stallings.
Data and Computer Communications.
Prentice Hall, Englewood Cliffs, New Jersey, fourth edition, 2006.
Hubert Zimmermann.
OSI Reference ModelThe ISO Model of Architecture for Open Systems
Interconnection.
IEEE Transactions on Communications, 28(4):425432, April 1980.
Bibliography
LANs
MAC
Bridges, Switches
UoC, 2014
Bibliography
LANs
MAC
Bridges, Switches
Outline
LANs
Introduction
LAN Protocol Architecture
Topologies
MAC
Fundamentals
Orthogonal Schemes: FDMA, TMDA, SDMA, CDMA
Random Access Protocols
Other Schemes
Bridges, Switches
Repeaters and Hubs
Bridges and Switches
Bibliography
LANs
MAC
Bridges, Switches
Outline
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Preliminaries
LANs
MAC
Bridges, Switches
Outline
LANs
Introduction
LAN Protocol Architecture
Topologies
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
wide-area networks
Some application areas:
Connect desktop computers to share files, emails, . . .
Allow several computers to share printers, file servers, . . .
Interactive video or telephony between local users
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Outline
LANs
Introduction
LAN Protocol Architecture
Topologies
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
The PHY
The physical layer is responsible for:
Encoding / modulation and demodulation / decoding
Preamble generation and removal
Determination of frame boundaries
Preambles:
allow receiver to acquire carrier- and bit-/symbol
synchronization
Use a well-known symbol pattern
Some mechanisms for frame-boundary determination:
Surrounding idle times on the medium
Unique start- and end-delimiters in frames
Length fields
Coding violations
PHY specification in IEEE standards includes transmission
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
supported in Ethernet
Baseband coaxial cable (e.g. in classical Ethernet)
Broadband coaxial cable (e.g. cable TV)
Optical fibers, commercially available dense WDM systems
LANs
MAC
Bridges, Switches
The MAC
Bibliography
LANs
MAC
Bridges, Switches
standards
LLC focuses on frame transmission to direct, single-hop
neighbours
Major responsibilities:
Error control
Flow control
Framing
Service provisioning to higher layers
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Outline
LANs
Introduction
LAN Protocol Architecture
Topologies
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Bus Topology
LANs
MAC
Bridges, Switches
Bibliography
Ring Topology
Network consists of stations, relays
and point-to-point links between
relays
LANs
MAC
Bridges, Switches
Bibliography
Star Topology
LANs
MAC
Bridges, Switches
Bibliography
Wireless Topologies
Important Property
Wireless transmission channels are time-varying, the links are
volatile and unpredictable, there is usually no static wireless
topology
LANs
MAC
Bridges, Switches
Outline
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Outline
LANs
MAC
Fundamentals
Orthogonal Schemes: FDMA, TMDA, SDMA, CDMA
Random Access Protocols
Other Schemes
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
the tip of the iceberg!) are: [14], [41], [34], [10], [53], [47],
[2], [26], [28], [11], [48], [25], [49], [50] [4], [6], [3], [12]
The MAC layer is often regarded as a separate sub-layer
LANs
MAC
Bridges, Switches
Bibliography
MAC Definition
We are given:
A number of users / stations wishing to communicate
A shared communications channel / resource that can only
be used by one station at a time
No other means for information exchange between stations
Definition
MAC protocols are rules by which distributed stations
coordinate access to a common channel to share it efficiently
and in a manner satisfying given performance requirements
Example: 100 blind persons in a room how to distribute the
right to talk?
LANs
MAC
Bridges, Switches
Bibliography
Important Assumptions
LANs
MAC
Bridges, Switches
Bibliography
Note: you usually do not get all of these at the same time . . .
LANs
MAC
Bridges, Switches
Bibliography
MAC vs Duplexing
duplexing
LANs
MAC
Bridges, Switches
Outline
LANs
MAC
Fundamentals
Orthogonal Schemes: FDMA, TMDA, SDMA, CDMA
Random Access Protocols
Other Schemes
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Orthogonal Schemes
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
FDMA (2)
The given channel bandwidth is subdivided into N
sub-channels
Between the sub-channels and at the fringe of the channel
there are guard bands:
Reduction of adjacent-channel interference
LANs
MAC
Bridges, Switches
Bibliography
FDMA (3)
If totally available bandwidth is Bb s,station iisassigned N1 of
Transmission Delay = 1
where transmission delay is the time until transmission of a
frame completes (measured after arrival to empty station)
LANs
MAC
Bridges, Switches
Bibliography
FDMA Advantages
transmitters
LANs
MAC
Bridges, Switches
FDMA Disadvantages
system complexity
Frequency synchronization required
There is no re-use, i.e. channels unused by one station
Conclusion
FDMA is good for CBR but bad for VBR traffic
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
TDMA (2)
LANs
MAC
Bridges, Switches
Bibliography
slot starts
Access Delay =
TSF
= 0.5s
2
LANs
MAC
Bridges, Switches
Bibliography
1
s
N
1
s 1s
N
Conclusion
In this example in TDMA we start later and finish sooner than
with FDMA!!
LANs
MAC
Bridges, Switches
Bibliography
Conclusion
TDMA is good for CBR but bad for VBR traffic
LANs
MAC
Bridges, Switches
Bibliography
Conclusion
In orthogonal schemes resource (de)allocation is considered a
rare event, in demand-assignment (DA) schemes not. DA
schemes must be much more efficient in signaling resource
(de)allocation.
LANs
MAC
Bridges, Switches
Outline
LANs
MAC
Fundamentals
Orthogonal Schemes: FDMA, TMDA, SDMA, CDMA
Random Access Protocols
Other Schemes
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Important Point
Random access protocols accept risk of collisions to save
coordination overhead and have overall improved efficiency!
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
frame is dropped
The precise choice of random distribution for backoff times
is critical for delay, throughput and stability! [13], [27]
Often the random distribution depends on the number of
LANs
MAC
Bridges, Switches
Bibliography
Conclusion
For low network loads most packets can have the minimum
possible transmission delay
LANs
MAC
Bridges, Switches
Bibliography
When B starts its frame during the (two frame times long)
LANs
MAC
Bridges, Switches
Bibliography
Throughput
Suppose all packets have the same length, packet transmission time is
Define througput as the (average) number of successfully received packets
during time in the absence of channel errors
Which of these (idealized) curves is the throughput of ALOHA? And which one
the throughput of FDMA? How about the other curves?
LANs
MAC
Bridges, Switches
Bibliography
Slotted ALOHA
Conclusion
The vulnerability period is reduced to one time-slot, slotted ALOHA
has better throughput
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Nonpersistent CSMA
If a station senses a busy medium, it:
draws a backoff time from a given random distribution
defers from channel activities during backoff time, and
then senses the medium again and starts over
If the station detects an idle medium, it starts transmitting
immediately
In case of a collision again a backoff time is chosen and
process starts over
Question: how to diagnose collisions?
LANs
MAC
Bridges, Switches
Bibliography
p-persistent CSMA
Be p (0, 1) a parameter known to all stations
If a station senses a busy medium, it defers until the end of
LANs
MAC
Bridges, Switches
Bibliography
ongoing transmission
When medium becomes idle, station sends unconditionally
This avoids idle times after previous transmission
But if two or more stations start, we surely have collision
LANs
MAC
Bridges, Switches
Outline
LANs
MAC
Fundamentals
Orthogonal Schemes: FDMA, TMDA, SDMA, CDMA
Random Access Protocols
Other Schemes
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Polling Protocols
Abstract view on polling systems:
One central station / base station / hub
N clients / stations, each having a packet queue
The hub has two basic tasks:
Query state of packet queues (e.g. # backlogged packets)
Grant bandwidth to stations based on results
Querying a station should be less costly than data
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
stations queried?
LANs
MAC
Bridges, Switches
Bibliography
circular fashion
= fair to all stations
Table-driven polling: hub has an arbitrary list specifying
polling sequence; if the end of the list is reached, the hub
starts over
Allows uneven bandwidth distributions
Inflexible when traffic demands change
Often used in hard real-time systems
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Separate polling:
the hub sends short poll packet to one station i
if station has nonempty queue, it starts transmitting
if station has empty queue, it remains quiet or returns extra
NULL packet to hub
Separate polling has significant but constant overhead,
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
important properties:
Querying is initiated by the base station (except
piggybacking)
They are deterministic: for each station there is an upper
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Token-Passing Protocols
Assumption: stations are attached to a broadcast medium
The right to initiate data transmissions is passed between
LANs
MAC
Bridges, Switches
Bibliography
[23], [55]
Token-passing protocols tend to be very complex
LANs
MAC
Bridges, Switches
Outline
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Coupling LANs
Bibliography
LANs
MAC
Bridges, Switches
Outline
LANs
MAC
Bridges, Switches
Repeaters and Hubs
Bridges and Switches
Bibliography
LANs
MAC
Bridges, Switches
Repeaters
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Regenerating Repeaters
LANs
MAC
Bridges, Switches
Bibliography
Hubs
LANs
MAC
Bridges, Switches
Outline
LANs
MAC
Bridges, Switches
Repeaters and Hubs
Bridges and Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Bridges
Bridges interconnect LANs on the MAC layer
Important Point
Bridges understand and interpret fields related to the MAC
protocol (e.g. address fields), repeaters / hubs do not!
Nowadays they mostly connect LANs of the same type (i.e.
LANs
MAC
Bridges, Switches
Bibliography
Basic Operation
Same in direction B A
Bridge does not modify any frame,
nor does it encapsulate them
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
informations:
A forwarding table
A flag indicating if port is in blocking or forwarding state
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Layer-2 Switches
A switch is a centralized element,
forwarding frames only to the
correct output port
LANs
MAC
Bridges, Switches
Bibliography
Important Point
Switches remove the shared medium assumption and the
need for a MAC, but now the stations contend for the resources
of the switch (switching capacity, buffer memory)!
LANs
MAC
Bridges, Switches
Bibliography
technique as bridges
LANs
MAC
Bridges, Switches
Bibliography
Norman Abramson.
Development of the ALOHANET.
IEEE Transactions on Information Theory, 31(2):119123, March 1985.
Norman Abramson, editor.
Multiple Access Communications Foundations for Emerging Technologies.
IEEE Press, New York, 1993.
Norman Abramson.
Multiple Access in Wireless Digital Networks.
Proceedings of the IEEE, 82(9):13601370, September 1994.
Ian F. Akyildiz, Janise McNair, Loren Carrasco, and Ramon Puigjaner.
Medium access control protocols for multimedia traffic in wireless networks.
IEEE Network Magazine, 13(4):3947, 1999.
Mostafa H. Ammar and George N. Rouskas.
On the performance of protocols for collecting responses over a multiple-access
channel.
IEEE Transactions on Communications, 43(2):412420, February 1995.
Guiseppe Anastasi, Luciano Lenzini, Enzo Mingozzi, Andreas Hettich, and
Andreas Krmling.
Mac protocols for wideband wireless local access: Evolution towards wireless
atm.
IEEE Personal Communications, 5(5):5364, October 1998.
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
802.1D IEEE Standard for Local and Metropolitan Area Networks Media
Access Control (MAC) Bridges, June 2004.
IEEE Computer Society.
IEEE Standard for Information technology Telecommunications and information
exchange between systems Local and metropolitan area networks Specific
requirements Part 3: Carrier sense multiple access with collision detection
(CSMA/CD) access method and physical layer specifications, December 2005.
IEEE Computer Society Sponsored by the LAN/MAN Standards Committee.
IEEE Standard for Information technology Telecommunications and information
exchange between systems Local and metropolitan area networks Specific
requirements Part 15.1: Wireless Medium Access Control (MAC) and Physical
Layer (PHY) Specifications for wireless personal area networks (WPANs), June
2005.
IEEE Computer Society, sponsored by the LAN/MAN Standards Committee.
IEEE Standard for Information technology Telecommunications and Information
Exchange between Systems Local and Metropolitan Area Networks Specific
Requirements Part 11: Wireless LAN Medium Access Control (MAC) and
Physical Layer (PHY) Specifications, 2007.
Hong ju Moon, Hong Seong Park, Sang Chul Ahn, and Wook Hyun Kwon.
Performance Degradation of the IEEE 802.4 Token Bus Network in a Noisy
Environment.
Computer Communications, 21:547557, 1998.
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Layer (PHY) Specifications for Low Rate Wireless Personal Area Networks
(LR-WPANs), September 2006.
revision of 2006.
Shu Lin and Daniel J. Costello.
Error Control Coding.
Prentice-Hall, Englewood Cliffs, New Jersey, second edition, 2004.
Shu Lin, Daniel J. Costello, and Michael J. Miller.
Automatic-Repeat-Request Error-Control Schemes.
IEEE Communications Magazine, 22(12):517, December 1984.
Hang Liu, Hairuo Ma, Magda El Zarki, and Sanjay Gupta.
Error control schemes for networks: An overview.
MONET Mobile Networks and Applications, 2(2):167182, 1997.
Biswanath Mukherjee.
Optical WDM Networks.
Optical Networks Series. Springer, New York, 2006.
Andrew D. Myers and Stefano Basagni.
Wireless media access control.
In Ivan Stojmenovic, editor, Handbook of Wireless Networks and Mobile
Computing, pages 119143. John Wiley & Sons, New York, 2002.
The Editors of IEEE 802.
IEEE 802.2, ISO/IEC 8802-2: Local Area Networks: Logical Link Control, 1989.
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
LANs
MAC
Bridges, Switches
Bibliography
Introduction
PHY
Half-Duplex Ethernet
UoC, 2014
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Outline
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Outline
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Ethernet
Ethernet is a packet-switched LAN technology
Ethernet became the dominating wired LAN technology,
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Frame format
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Ethernet Addresses
Address fields are 48 bits long
Each Ethernet adapter has its own address, typically
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Type field
0x0800
0x0806
0x809B
0x86DD
0x8863
0x8864
Protocol
IPv4
ARP
AppleTalk
IPv6
PPPoE Discovery
PPPoE Session
Introduction
PHY
Half-Duplex Ethernet
Outline
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Ethernet PHYs
The Ethernet standard specifies several different physical
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Topologies
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Broadcast Topologies
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Switched Topologies
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Bibliography
code
There are also other channel codes in use
Introduction
PHY
Half-Duplex Ethernet
Ethernet
There is a great selection of media types and speeds to
choose from
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Outline
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Bibliography
MAC Protocol
1. Suppose a new packet arrives at the MAC of a station, set
coll to zero
2. Station performs a carrier-sense operation
3. When the medium is idle, transmission starts immediately
4. When medium is busy:
4.1 listen until channel becomes idle again
4.2 start transmitting
Introduction
PHY
Half-Duplex Ethernet
Bibliography
i
0, 1, . . . , 2min 10,coll 1
Important Point
The backoff window size and therefore the average backoff time
doubles after each collision, until 10 collisions have been
observed! This is called the (truncated) binary exponential
backoff algorithm!
Question: why this algorithm?
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Important Point
Smaller slot times / minimal frame sizes can be achieved by
restricting the maximum length of an Ethernet segment!
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Introduction
PHY
Half-Duplex Ethernet
Bibliography
rate increases
Rule of thumb: Ethernet should not be operated beyond 50
- 60% load!
Important problem: the capture effect [2]
Introduction
PHY
Half-Duplex Ethernet
Bibliography
both set nA = nB = 1
Station A draws a backoff slot of zero, B draws one
As a result:
A wins contention and starts transmitting
A sets nA = 0, whereas nB = 1
Now A has another packet, both stations transmit after A
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Question
Can you imagine a protocol modification that circumvents this
problem?
Introduction
PHY
Half-Duplex Ethernet
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
UoC, 2014
Bibliography
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Introduction
Arithmetic in GF(2)
CRC Checksums
Error-Correcting Codes
Fundamental Considerations
Block Codes
Further Comments
ARQ Methods
Alternating Bit Protocol
Goback-N
Selective Repeat
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Goals:
Understand that bit- and packet-errors are a fact of life in
virtually all networks
Know the two fundamental types of error-control strategies
Literature:
Books on coding: [13], [17], [18], [4], [20], [16]
Interesting papers on coding: [5], [7], [23], [28]
ARQ and general error control: [15], [12], [11], [14]
This module is in parts based on [13]
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
receiver
Important Point
Transmission errors are a fact of life and present a significant
design challenge for a network and a distributed application!
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
1. Correct them:
Requires ability to detect presence of errors
This is the domain of open- and closed-loop error control
2. Ignore them:
A few wrong pixels in a JPEG image wont hurt very often
3. Conceal them:
. . . or you replace them by average of neighbored pixels
Error concealment works only for certain types of user data
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Types of Errors
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Question
Suppose in a wide-area multihop network we have error-control
on every link. Is this sufficient or do we additionally need
end-to-end error control mechanisms?
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
correction (FEC)
Often applied in situations where feedback is infeasible:
Real-time voice (POTS!) and video applications
When very long links are involved (Space probes)!
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Error Characteristics
The error model used before (bits are independent and
transmission medium
Fibre-optical cables have BERs in the order 1015 and less
With wireless links BERs in the order of 103 . . . 102 can
be frequently observed
Error modeling is a vast field (e.g. [1], [10], [8], [27])
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Introduction
Arithmetic in GF(2)
CRC Checksums
Error-Correcting Codes
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
With error-detection coding redundancy is added to a
packet so that:
Certain error patterns can be detected reliably
Other error patterns can be detected with high probability
No information about the position of errors in a packet can
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
in the header
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Parity Check
Data stream is subdivided into small blocks, e.g. bytes
Even parity: one additional bit is appended to a byte so
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Introduction
Arithmetic in GF(2)
CRC Checksums
Error-Correcting Codes
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Introduction
Bibliography
Introduction
Error-Correcting Codes
Field Axioms
Definition
We are given a non-empty set F and two operations
+
F F 7 F
F F 7 F
(x + y ) + z
x (y z)
(x y ) z
x +y
y +x
x y
y x
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Additive identity: there exists an element 0 F , called identity, such that for each x F we have
x +0=0+x =x
Multiplicative identity: there exists an element 1 F , called identity, such that for each x F we have
x 1=1x =x
Multiplicative inverse: for every x F with x 6= 0 there exists an element y F such that
x y =1
This element is denoted as x 1 . This element is unique.
Introduction
Error-Correcting Codes
Definition
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Examples of Fields
Infinite fields:
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
y
0
1
0
1
x+y
0
1
1
0
y
0
1
0
1
xy
0
0
0
1
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
n
X
fk X k
k =0
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Example:
1 X5 + 0 X4 + 1 X3 + 1 X2 + 0 X + 1
+
=
1 X5 + 1 X4 + 0 X3 + 1 X2 + 0 X + 1
0 X5 + 1 X4 + 1 X3 + 0 X2 + 0 X + 0
110101
011000
Under GF(2) addition and subtraction of polynomials are really the same!!
Introduction
Error-Correcting Codes
ARQ Methods
We have
f (X ) g(X ) = c0 + c1 X + c2 X 2 + . . . + cn+m X n+m
with
c0
f0 g0
c1
f0 g1 + f1 g0
c2
f0 g2 + f1 g1 + f2 g0
f0 gk + f1 gk 1 + . . . + fk g0
fn gm
...
ck
...
cn+m
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
Introduction
Error-Correcting Codes
ARQ Methods
g(X ) + f (X )
f (X ) g(X )
g(X ) f (X )
[f (X ) + g(X )] + h(X )
f (X ) [g(X ) h(X )]
[f (X ) g(X )] h(X )
[f (X ) g(X )] + [f (X ) h(X )]
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Be f (X ) and g(X ) two polynomials, deg g(X ) > 0 and deg f (X ) deg g(X )
When f (X ) is divided by g(X ) then we get a unique pair of polynomials, say:
q(X ) and r (X ) such that
f (X ) = q(X ) g(X ) + r (X )
where r (X ) is called the remainder and q(X ) is called the quotient, and
furthermore deg r (X ) < deg g(X ) holds
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
One example:
X6
X6
(
+X 5
X5
X5
+X 3
+X 3
+X 3
+X
+1
+X
)
+X
+1
X3
+X
+1
)
+X 2
+X 2
+1
+X 4
+X 4
1
1
0
(
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0)
1
0)
1
= 1100
= X3 + X2
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Introduction
Arithmetic in GF(2)
CRC Checksums
Error-Correcting Codes
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
X nk k (X )
= q(X ) g(X ) + r (X )
g(X )
Transmit the message m(X ) = X nk k (X ) + r (X )
Crucial property: m(X ) is evenly divisible by g(X )!!
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
)
transmitted m(X ) to received m(X
The receiver:
) by g(X )
Divides received m(X
If the remainder is zero, the message is accepted as correct
Otherwise, the message is rejected as erroneous
Some comments:
Errors are not detected when their bit pattern (taken as a
polynomial) is evenly divisible by g(X )
All odd numbers of errors can be detected when g(X ) can
be evenly divided by X + 1
All error bursts of length less than n k are detected
As an approximation, error bursts of length r n k are
not detected with probability 1/2r
Introduction
Error-Correcting Codes
ARQ Methods
A Justification
The procedure rests on the fact that
m(X )
g(X )
X nk k (X ) + r (X )
g(X )
r (X )
g(X )
= g(X ) q(X ) + r (X ) + r (X )
= g(X ) q(X ) + r (X ) +
= g(X ) q(X )
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Name
CRC-12
CRC-16
CRC-CCITT
CRC-32
Specification
X 12 + X 11 + X 3 + X 2 + X + 1
X 16 + X 15 + X 2 + 1
X 16 + X 12 + X 5 + 1
X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Important Point
There is always a residual error rate, i.e. some probability that
errors are not detected by a CRC checksum!!
Intuitive justification: when the number of checkbits is smaller than the number of
message bits, several messages are mapped to the same checksum. An error
pattern turning one of these messages into another one cannot be detected
In many cases the residual error probability (especially for 32 bit CRCs) is pretty
small and errors can be neglected
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
Fundamental Considerations
Block Codes
Further Comments
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Code Rate
Suppose that:
the binary representation of source message requires k bits
the coder produces n > k channel bits
Definition
The ratio kn is called the code rate. It expresses the amount of
redundancy added by code to the user data.
This is not the most general definition, see [6]
Introduction
Error-Correcting Codes
ARQ Methods
Important Point
You have to pay for reliability with overhead!
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
0 7 000 . . . 00
,n times 0
1 7 111 . . . 11
,n times 1
Introduction
Error-Correcting Codes
ARQ Methods
01011
What is the most likely source message? 0 or 1?
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
=1
2
X
n
i=0
pi (1 p)ni
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
Fundamental Considerations
Block Codes
Further Comments
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Basic Operation
In a block code:
The user data stream is segmented into blocks of k bits
Each k -bit block is encoded independently of other
blocks to an n-bit codeword (n > k )
The code rate is k /n
The set of all possible source words has size 2k
The set of all possible words in the code space has size 2n
Out of these the code uses only 2k out of 2n elements
These are called valid codewords
In many practical codes the set of codewords has some
algebraic structure, it could be a group or a vector space
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
detect?
How can we define closest? What notion of distance do
we use?
Why do we choose the closest?
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Decoding Rule
Given the notion of Hamming distance we can formulate
Decoding Rule
Let x1 , x2 , . . . , x2k denote the set of valid codewords. After
receiving a codeword y , the decoder outputs the xi that has the
smallest Hamming distance to y (ties are broken randomly), i.e.
we have:
x =xi x1 ,x2 ,...,x2k d(y , xi )
The adoption of an algebraic structure (groups, vector
Introduction
Error-Correcting Codes
ARQ Methods
Some Observations
detected reliably
Why?
corrected reliably
Why?
dH 1
2
errors can be
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
exist
Most popular classes:
Reed-Solomon (RS) codes
Bose-Chaudhuri-Hocquenghem (BCH) codes
Bibliography
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
Fundamental Considerations
Block Codes
Further Comments
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Importance-based Coding
The approach is quite simple: for many data types (e.g.
speech) not all source data bits have the same importance
= no need to encode all data bits in the same way
Approach: Apply powerful coding (more redundancy) to
coding are:
Speech and audio
Video
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
transmission
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
ARQ Methods
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
ARQ Protocols
Important Point
ARQ schemes are feedback-based or closed loop schemes.
They provide redundancy (retransmissions) only upon negative
feedback, on excellent channels they do not have significant
overhead
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Assumptions
In the following we assume one transmitter, one receiver
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Assumptions (2)
Packet header includes
Source address
Destination address
Error-control information (depends on protocol)
Packet also contains a checksum, which is perfect
Upon receiving a packet the receiver:
verifies checksum and drops it silently in case of failure
checks destination address, drops it when not destined to
him (address filtering)
ARQ protocols also use acknowledgement packets,
Introduction
Error-Correcting Codes
ARQ Methods
number of retransmissions
Protocols restricting the number of retransmissions are
called semi-reliable
Almost all practical link- or transport-layer protocols are
semi-reliable
Bibliography
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
ARQ Methods
Alternating Bit Protocol
Goback-N
Selective Repeat
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Alternating-Bit Protocol
The alternating bit protocol (ABP) [2] is the simplest of the
Introduction
Error-Correcting Codes
ABP Transmitter
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
message transmission
tx-request is accepted when transmitter is idle
tx-request is declined when transmitter is busy
a multi-hop network
Why?
Introduction
Error-Correcting Codes
ABP Receiver
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
ABP Properties
Consider a packet of 1000 bits length, sent without gaps
Medium bitrate is 100 Mbps
Speed of light is 200,000 km/s in a cable
Conclusion: packet has a geographical length of 2000 m
Assume a link between Berlin/Germany and Christchurch
Important Point
ABP is inefficient over long fat pipes, i.e. links with a large
bandwidth-delay product!!
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
ARQ Methods
Alternating Bit Protocol
Goback-N
Selective Repeat
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Goback-N protocol
Goback-N combats the inefficiency of ABP by allowing N
outstanding frames
N is also called window size
outstanding = not yet acknowledged
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
GBN Operation
The transmitter has a buffer for N packets as long as this
zero
Receiver maintains variable expected_seqno, initialized
to zero
If the receiver receives a packet with a seqno equal to
expected_seqno:
expected_seqno is incremented modulo max_seqno + 1
The packet is delivered to higher layers
An acknowledgement is sent with expected_seqno
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
next_seqno
next_seqno is incremented modulo max_seqno + 1
The packet is transmitted asap (after any other not yet
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
number ack_seqno:
All packets in the window with sequence number smaller
Introduction
Error-Correcting Codes
GBN Example
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
window size N
To see this, we use a counterexample where the size of
0 to max_seqno
The receiver receives all of them and sends
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
GBN Properties
GB-N can fill up a long fat pipe if N is chosen large enough
The transmitter needs N buffers, the receiver only a single
Important Point
If the packet error rate (PER) is small, Goback-N is reasonably
efficient, but for higher PERs the protocol retransmits many
correctly received packets and becomes inefficient
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
expected_seqno
old ack packets when their seqno fit into transmitters
current window
Remark
Protocols running over a large network use a large sequence
number space TCP has 32-bit seqnos and IP has additionally
a mechanism to kill too old packets (TTL field)
Introduction
Error-Correcting Codes
Outline
Introduction
Error-Detecting Codes, Checksums
Error-Correcting Codes
ARQ Methods
Alternating Bit Protocol
Goback-N
Selective Repeat
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
2N
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Acknowledgement Variations
Positive acknowledgements:
Receiver receives packet with seqno s
Receiver sends ACK packet with seqno s
Semantics: i have successfully received this packet s
Modified semantics for cumulative positive
acknowledgments: i have successfully received this packet
s and all previous packets
Negative acknowledgement (Example):
Receiver receives packet with seqno s, previous received
packet had seqno s 2
Receiver sends NACK packet with seqno s 1
Semantics: i have not received packet s 1
More generally, a NACK is issued when receiver notices
that some packet has not been successfully received
Can you imagine other methods to detect a failure when
there is no gap in the sequence numbers?
NACKs can also be coupled with cumulative ACKs
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Dilip V. Sarwate.
Computation of Cyclic Redundandy Checks via Table Look-Up.
Communications of the ACM, 31(8):10081013, August 1988.
Claude E. Shannon.
A mathematical theory of communication.
Bell Systems Technical Journal, 27:379423, 623656, July, October 1948.
Bernard Sklar.
A primer on turbo code concepts.
IEEE Communications Magazine, 35(12):94102, December 1997.
William Stallings.
Data and Computer Communications.
Prentice Hall, Englewood Cliffs, New Jersey, fourth edition, 2006.
Jonathan Stone, Michael Greenwald, Craig Partridge, and James Hughes.
Performance of checksums and crcs over real data.
IEEE/ACM Transactions on Networking, 6(5):529543, 1998.
Andrew S. Tanenbaum.
Computer Networks.
Prentice-Hall, Englewood Cliffs, New Jersey, third edition, 1997.
H.S. Wang and N. Moayeri.
Finite State Markov Channel - A Useful Model for Radio Communication
Channels.
IEEE Transactions on Vehicular Technology, 44(1):163171, February 1995.
Bibliography
Introduction
Error-Correcting Codes
ARQ Methods
Bibliography
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
UoC, 2014
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Fundamentals
Some Unusual Routing Protocols
Shortest-Path Algorithms
Bellman-Ford Algorithm
Dijkstra Algorithm
Distance-Vector Protocols
Protocol Operation
Problems
Link-State Protocols
Protocol Operation
Discussion and Further Topics
Discussion of DV and LS Protocols
Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
On this Module
Goals:
Understand distinction between routing algorithms and
protocols
Understand distance-vector (DV) and link-state (LS) routing
protocols and their issues
We explain the basic concepts of DV and LS routing, not
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Fundamentals
Some Unusual Routing Protocols
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
An Example Network
We model a network as a graph
G = (V , E)
Vertices v V correspond to
stations / routers
E V V
Edges e E correspond to
direct links, we write (i, j) or i j
for a link between i V and
jV
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Major task
For each source-destination pair in a network identify one or
more paths that are optimal (or at least of reasonable quality) in
some pre-defined sense.
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Shortest-Path Routing
Goal
The goal of shortest-path routing algorithms is to select the
path that has the smallest total cost. To compute the total cost
of a path the costs of all its links are added.
Routing in the Internet uses shortest-path routing
But this is more complicated, though . . .
Special case: minimum-hop routing is obtained when all
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Widest-Path Routing
a non-additive property
Example: dynamic call routing in POTS:
Assume that for each network link we maintain the residual
capacity available on this link
The residual capacity of a path is defined as the minimum
residual capacity of all the links on it
The goal is then to find the path with the maximum residual
capacity, since routing a new phone call on this path does
least likely create a bottleneck for future calls
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Judgement Criteria
Effectiveness: when a route between two nodes exists,
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
networking context:
It operates in a distributed environment
It incorporates explicit information exchange among nodes
Information exchange takes time and might fail, the protocol
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Forwarding Table
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Fundamentals
Some Unusual Routing Protocols
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Hot-Potato Routing
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Randomized Routing
outgoing interface
Benefits:
Computationally simple
no exchange of routing information required
In a finite connected network this algorithm is guaranteed to
hit the destination node with probability one in absence of
link errors, congestion, etc.
Drawbacks:
Actual paths taken can be very long
Delays can be very long
Many hops give many opportunities for loosing packet
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Flooding
Rule: a router transmits a packet on all interfaces, except
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Some Notations
Given a network G = (V , E) with N = |V | stations
i V and j V refer to some generic nodes / stations in
the network
di,j is the direct link cost / metric between i and j, with:
0 di,j < when i and j are adjacent nodes
di,j = when i and j are non-adjacent nodes
i,j represents the total cost of the minimum cost path from
D
i to j in the Bellman-Ford algorithm, over one or multiple
hops, according to is current knowledge
D i,j represents the same thing for Dijkstras algorithm
Ni represents the set of nodes adjacent to node i, i.e.
Ni = k V (i, k ) E
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
4,6 = D = 2
d4,6 = 15, but D
4,6
(by choosing the path 4 3 6)
We have N5 = 3, 4, 6
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Bellman-Ford Algorithm
Dijkstra Algorithm
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Basic Idea
B-F follows the dynamic programming principle [1], [2]
We want to find a shortest route from s V to d V
The following equations must be satisfied:
Ds,s = 0
s,k + dk ,d ,
Ds,d = min D
k Nd
for s 6= d
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Approach
can take
(h)
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
s,k
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
A Second Version
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Comments
Question
What is pred good for? What can you read off from it?
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Bellman-Ford Algorithm
Dijkstra Algorithm
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Basic Idea
Dijkstras algorithm is restricted to graphs with
non-negative weights
It is greedy: in every situation it makes the choice that is
been considered
In each step it removes k S to which the source s has
V = 1, . . . , N
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Comments
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Protocol Operation
Problems
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Basic Approach
Previously we stated that the costs for the least cost routes
for s 6= d
Ds,s = 0
k ,d ,
Ds,d = min ds,k + D
k Ns
for s 6= d
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
DV Protocol Details
s (t) be the minimum cost from node
In the following, let D
k ,d
k to node d, as it is available to s at time t
Rationale for time dependency: it may take time for node k
Here:
Id= i indicates that i is the sender
a record Dst=d,Cost=c indicates that node is current
currently aware of
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
// Initialization
/ / Node i s c o n f i g u r e d w i t h unique node i d , e . g . s
s,s = 0
D
foreach k Ns do
s,k = ds,k
D
nexthop [ k ] = k
/ / p e r i o d i c t r a n s m i s s i o n o f own t a b l e t o n e i g h b o r s (DV messages )
on r e c e i v i n g t r a n s m i t t i m e r do
t r a n s m i t towards each k Ns t h e l i s t o f c u r r e n t l y \
known d e s t i n a t i o n s and t h e i r most r e c e n t l e a s t c o s t s
r e s t a r t t r a n s m i t t i m e r
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
s (t)
Ds,d = ds,m + D
m,d
nexthop [ d ] = m
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
/ / s p e c i a l cases
/ / a l i n k t o a n e i g h b o r goes down / changes c o s t
on l i n k c o s t change towards n e i g h b o r k do :
ds,k = / / l i n k f a i l u r e , c o s t change a l s o p o s s i b l e
foreach d e s t i n a t i o n d do
when nexthop [ d ] = k then
s,d = / / a l t e r n a t i v e l y : f r e s h r o u t e computation
D
t r a n s m i t towards each m Ns t h e l i s t o f c u r r e n t l y \
known d e s t i n a t i o n s and t h e i r most r e c e n t l e a s t c o s t s
/ / a l i n k t o a n e i g h b o r comes up
on l i n k c r e a t i o n towards n e i g h b o r k do :
update ds,k
t r a n s m i t towards each m Ns t h e l i s t o f c u r r e n t l y \
known d e s t i n a t i o n s and t h e i r most r e c e n t l e a s t c o s t s
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Comments
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Protocol Operation
Problems
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Convergence Time
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Cost
0
1
Outg
1-2
Nd 2
Dst
1
2
3
Cost
1
0
2
Outg
2-1
2-3
Nd 3
Dst
2
3
6
Cost
2
0
1
Outg
3-2
3-6
Cost
3
2
0
1
Outg
3-2
3-2
3-6
Cost
3
2
0
1
Outg
3-2
3-2
3-6
Nd 6
Dst
3
6
Cost
1
0
Outg
6-3
Nd 6
Dst
2
3
6
Cost
3
1
0
Outg
6-3
6-3
Nd 6
Dst
1
2
3
6
Cost
4
3
1
0
Outg
6-3
6-3
6-3
Cost
0
1
3
Outg
1-2
1-2
Nd 2
Dst
1
2
3
6
Cost
1
0
2
3
Outg
2-1
2-3
2-3
Nd 3
Dst
1
2
3
6
Cost
0
1
3
4
Outg
1-2
1-2
1-2
Nd 2
Dst
1
2
3
6
Cost
1
0
2
3
Outg
2-1
2-3
2-3
Nd 3
Dst
1
2
3
6
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
network!!
If we take any DV transmission operation as the beginning
to converge
Cure:
You cannot avoid to have K rounds
You can shorten a round by shortening transmission period
Problem: more DV messages, more overhead
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Cost
3
Outg
2-3
Node 3
Dst
6
Cost
1
Outg
3-6
Cost
3
Outg
2-3
Node 3
Dst
6
Cost
Outg
3-6
Time t4 : routing tables after both node 2 and 3 performed routing computation:
Node 2
Dst
6
Cost
3
Outg
2-3
Node 3
Dst
6
Cost
5
Outg
3-2
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Count-to-Infinity Example
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Cost
0
4
5
Outg
A-B
A-B
Node B
Dst
A
B
C
Cost
4
0
1
Outg
B-A
B-C
Node C
Dst
A
B
C
Cost
5
1
0
Outg
C-B
C-B
Time t1 : node B detects link cost change, and computes new path to A (taking into
account his knowledge that C can offer a path of length 5 to A), giving:
Node A
Dst
A
B
C
Cost
0
4
5
Outg
A-B
A-B
Node B
Dst
A
B
C
Cost
6
0
1
Outg
B-C
B-C
Node C
Dst
A
B
C
Cost
5
1
0
Outg
C-B
C-B
Cost
0
4
5
Outg
A-B
A-B
Node B
Dst
A
B
C
Cost
6
0
1
Outg
B-C
B-C
Node C
Dst
A
B
C
Cost
7
1
0
Outg
C-B
C-B
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Protocol Operation
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Basic Idea
The Dijkstra algorithm needs the di,j as its main input
Stated differently the Dijkstra algorithm must know:
the links (i.e. their start and end node)
and their costs / their state (up, down)
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Some Assumptions
assumed to be reliable
Means: each node in the network eventually gets the
information
But no guarantees are given as to when this happens
(Efficient) Implementation of reliable flooding is challenging
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
LSA messages are generated by each node for each of its outgoing links, these
are flooded reliably
An example:
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Problem
How can node 4 tell which LSA is correct?
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
hello exchanges
Period can be significantly smaller than maximum TTL
The initial query of a neighbors link-state database is also
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Discussion / Comments
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Discussion of DV and LS Protocols
Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Outline
Introduction
Shortest-Path Algorithms
Distance-Vector Protocols
Link-State Protocols
Discussion and Further Topics
Discussion of DV and LS Protocols
Further Topics
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
k Shortest-Path Algorithms
It is sometimes useful to have not only a single (the best!)
You typically do not want some k paths, but the k best ones
One heuristic approach for finding link-disjoint paths:
Start w/ full network G0 , identify best path P1 (e.g. Dijkstra)
Compute network G1 by removing links of P1 from G0
Identify best path P2 in G1 , and so on . . .
Variations:
Remove one link of P1 at a time from G0
Remove all intermediate nodes of P1 (and their direct links)
from G0 , this creates node-disjoint paths
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Max-Flow Problems
Given a source node S and a destination node T , link labels denote capacity
S wishes to transmit a continuous flow of constant rate to T
Assume that source can use all links it wishes
Assume that flows on a link can be split arbitrarily, e.g. a router can split a flow of
rate x to two outputs with rate x/2 each
What is the maximum rate at which S can transmit data?
Read about the Ford-Fulkerson algorithm, implement it and use it to solve this
problem!!
Introduction Shortest-Path Algorithms Distance-Vector Protocols Link-State Protocols Discussion and Further Topics Bibliograp
Dimitri P. Bertsekas.
Dynamic Programming and Optimal Control Volume 1.
Athena Scientific, Belmont, Massachusetts, 3rd edition, 2005.
Dimitri P. Bertsekas.
Dynamic Programming and Optimal Control Volume 2.
Athena Scientific, Belmont, Massachusetts, 3rd edition, 2007.
J. J. Garcia-Luna-Aceves.
Loop-free routing using diffusing computation.
IEEE/ACM Transactions on Networking, 1(1):130141, February 1993.
Bernhard Korte and Jens Vygen.
Combinatorial Optimization Theory and Algorithms.
Springer, Berlin, third edition, 1005.
James F. Kurose and Keith W. Ross.
Computer Networking A Top-Down Approach Featuring the Internet.
Addison-Wesley, Boston, fourth edition, 2001.
Deepankar Medhi and Karthikeyan Ramasamy.
Network Routing Algorithms, Protocols, and Architectures.
Morgan Kaufmann, San Francicso, California, 2007.
William Stallings.
Data and Computer Communications.
Prentice Hall, Englewood Cliffs, New Jersey, fourth edition, 2006.
The Internet
IPv4
IP Helper Protocols
UoC, 2014
Bibliography
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
Packet Format
IP Addressing
IP Forwarding and Routing
Fragmentation and Reassembly
IP Helper Protocols
ARP
ICMP
DNS
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
The Internet is a packet-switched network
It is a network of networks:
It consists of many different networks, connected by routers
The networks or links can be of any technology:
Ethernet
Optical point-to-point links
Wireless LAN
...
Carrier pigeons (RFC 1149)
It is really large:
The Internet Systems Consortium estimates about 900
million stations (called hosts) as of July 2012
See http://www.isc.org/solutions/survey
It has a fairly complex topology [1]
The Internet
IPv4
IP Helper Protocols
Bibliography
called RFCs
IETF = Internet Engineering Task Force (www.ietf.org)
RFC = Request For Comment
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Introduction
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
Packet Format
IP Addressing
IP Forwarding and Routing
Fragmentation and Reassembly
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Packet Format
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Protocol
ICMP
IGMP
IP-in-IP Encapsulation
TCP
UDP
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
Packet Format
IP Addressing
IP Forwarding and Routing
Fragmentation and Reassembly
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
IP Address Representation
IP addresses have a width of 32 bits
They are supposed to be worldwide unique
This is not really true anymore with NAT . . .
IP addresses are written in dotted-decimal notation, e.g.:
130.149.49.77
where decimal (!) numbers are separated by dots
They have an internal structure:
<network-id> <host-id>
where:
<network-id> denotes a network (e.g. an Ethernet)
<host-id> refers to a host within this network
The Internet
IPv4
IP Helper Protocols
Bibliography
Important Points
Important Point
A host address is tied to its location in the network, i.e. it is
coupled to network topology. When a host switches to another
network, it obtains another address and ongoing connections
(TCP!) are disrupted IP therefore has no direct support for
mobility!!
Important Point
IP Routing is mostly concerned with networks, i.e. forwarding
tables in routers mostly store <network-id>s it is the
responsibility of the last router on a path to deliver an IP
datagram to a directly connected host.
The Internet
IPv4
IP Helper Protocols
Bibliography
Classful Addressing
Initially so-called classful addressing has been used
IP-addresses are subdivided into four classes:
Class-A addresses: 7 bit network-id, 24 bits host-id, i.e. 128
class-A networks with maximum 224 2 16.7 million
hosts in each network
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Subnetting
Suppose that an organization:
has a class-B network address, say 130.149.0.0
has its network internally divided into several LANs,
and wants to couple these by routers
First option: allocate a class C address for each LAN
requires additional addresses
increases size of routing tables in core routers
Second option: use class-B address externally, subdivide
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
CIDR Netmask
Shorthand
/12
/16
/19
/23
The Internet
IPv4
IP Helper Protocols
Bibliography
and the netmask /24, then the hosts network address can
be computed as:
AND
11000000.10101000.00101000.00000011
11111111.11111111.11111111.00000000
11000000.10101000.00101000.00000000
192.168.40.3
/24
192.168.40.0
11000000.10101000.00101000.00000011
11111111.11111111.11111000.00000000
11000000.10101000.00101000.00000000
192.168.40.3
/21
192.168.40.0
The Internet
IPv4
IP Helper Protocols
Bibliography
addresses available:
The netmask leaves four bits for the host-id, i.e. 16 values
The value 0000 is part of the network-id
The value 1111 is the broadcast address for this network
The Internet
IPv4
IP Helper Protocols
Bibliography
Supernetting
Suppose an organization has allocated 16 networks of size
130.149.64.0/24
130.149.65.0/24
...
130.149.79.0/24
With supernetting:
these networks are summarized under the network address
130.149.64.0/20
Routers outside any of these networks only have an entry
for 130.149.64.0/20 instead of 16 entries
Can you figure out the formal conditions under which
supernetting is allowed?
The Internet
IPv4
IP Helper Protocols
Bibliography
Current Usage
Private-use IP networks
Host loopback network
Link-local for point-to-point links (e.g. dialup)
Private-use IP networks
Private-use IP networks
(from: [8])
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
Packet Format
IP Addressing
IP Forwarding and Routing
Fragmentation and Reassembly
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
or to broadcast address
If so, protocol demultiplexing is carried out
The protocol field in IP header is checked for its value
Packet payload is delivered to the software entity
implementing the indicated higher-layer protocol
Packet is not processed any further!
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Forwarding
From forwarding table structure it is clear that a host /
router does not know the full path, but only next hop
Forwarding table lookup for a packet with destination IP
address dst proceeds in three stages:
First look for an entry that is a full-host address matching
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
systems (AS):
An AS is administered by one authority
An AS has a unique 16-bit identifier
Examples: a University campus, a corporation
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
considerations
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
Packet Format
IP Addressing
IP Forwarding and Routing
Fragmentation and Reassembly
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Question
Would it be useful to have intermediate IP routers perform
reassembly?
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Some Details
Every message handed over to IP from higher layers has
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Question
How could you use this for the sender to determine the path
MTU, defined as the smallest MTU of all links along a path
between source and destination?
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
IP Helper Protocols
ARP
ICMP
DNS
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Important Question
How do other stations know to which MAC address a given IP
address refers, i.e. to which station an IP packet must be sent
(encapsulated in Ethernet packet)?
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Station A
11:11:11:11:11:11
130.149.49.11
Station B
22:22:22:22:22:22
130.149.49.22
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
command:
/usr/sbin/arp -a
The path to the arp command can vary between systems
The Internet
IPv4
IP Helper Protocols
Bibliography
HardType determines the type of MAC addresses used, 0x0001 for Ethernet
48-bit addresses
HardSize and ProtSize specify the size (in bytes) of the hardware and and
protocol addresses they are 6 and 4 for Ethernet and IP
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
IP Helper Protocols
ARP
ICMP
DNS
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Introduction
ICMP = Internet Control Message Protocol
Specified in RFC 792
This protocol:
Accompanies IP by allowing routers or destination hosts to
inform sender about unusual situations, including:
There is no route to the destination
Destination host exists, but is not reachable
Fragmentation required but DF set
Operates on top of IP, i.e. ICMP messages are
to the IP service
IP sending host must not rely on ICMP messages
The Internet
IPv4
IP Helper Protocols
Bibliography
Message Format
type and code specify actual ICMP message type and sub-type
checksum covers ICMP header and data, with checksum assumed as zero
The Internet
IPv4
IP Helper Protocols
code
0
0
1
2
3
4
6
7
0
0
0
1
Meaning
Echo reply
Destination network unreachable
Destination host unreachable
Destination protocol unreachable
Destination port unreachable
Fragmentation required, but DF bit set
Destination network unknown
Destination host unknown
Source quench (Congestion control)
Echo request
TTL expired in transit
Fragment reassembly time exceeded
There are many more, e.g. for router advertisements, information about
malformed IP packets, etc.
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Outline
The Internet
IPv4
IP Helper Protocols
ARP
ICMP
DNS
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
132.181.2.23
See [9, 7] for more about names and addresses
The Internet
IPv4
IP Helper Protocols
Bibliography
functions:
It allows to return an email server address for a given host
It allows to manage alias names for hosts
IP addresses to names
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
www.canterbury.ac.nz
Here:
www is the host name
canterbury.ac.nz is its domain name
The Internet
IPv4
IP Helper Protocols
Bibliography
DNS Zones
administered separately
Example: ac.nz
A zone can be sub-divided into further zones, e.g. there
could be zones:
canterbury.ac.nz
massey.ac.nz
The Internet
IPv4
IP Helper Protocols
Bibliography
DNS Nameservers
A nameserver keeps a table of all name 7 IP-address
mappings in a zone
When new host is added, administrator allocates name and
nameservers:
These are independent and redundant servers
Reason: fault tolerance
A primary nameserver reads the mapping table from a file
A secondary nameserver reads mappings from primary
nameserver (zone transfer)
Secondary nameservers update their tables regularly
against a primary nameserver
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography
Continuation:
It next connects to the nameserver for zone nz, which
returns name and address of the nameserver for zone
ac.nz
It next connects to the nameserver for zone ac.nz which
returns name and address of the nameserver for zone
canterbury.ac.nz
It next connects to the nameserver for zone
canterbury.ac.nz which then returns the IP address for
host www.canterbury.ac.nz
The Internet
IPv4
IP Helper Protocols
Bibliography
DNS Caching
The Internet
IPv4
IP Helper Protocols
Bibliography
The Internet
IPv4
IP Helper Protocols
Bibliography