Title: INF-3190: Switching and Routing
1Switching and Routing
- Foreleser Carsten Griwodz
- Email griff_at_ifi.uio.no
2Motivation
- It is desirable to connect networks (instead of
using a single large one) - Limits in physical size and number of nodes per
network - Limits in amount of concurrent traffic per
network - Different kinds of network for different needs
- Separate networks for increased availability
- Administrative boundaries
one frame at a time, Min 512 bits
wireless network
Max 500m
3Connecting Networks by Relays
End system
End system
Intermediate system
5
5
Application layer
Gateway
4
4
Transport layer
3
3
Network layer
Router
2
2
Data link layer
Bridge
1
1
Physical layer
Repeater
4Connecting Networks by Relays
- Layer 1 Repeater / Hub
- copies all bits between cable segments
- works solely as a repeater
- does not influence the traffic between networks
- Layer 2 Bridge / Switch
- relays frames between LANs (MAC level)
- minor frame modifications, increases the number
of stations
- Layer 3 Router (or Layer 3 Gateway)
- relays packets between different networks
- modifies the packets
- converts different addressing concepts
- Layer 4 - 5 Gateway (or Protocol Converter)
- converts one protocol into another
- usually no 1-to-1 mapping of functions
- Note
- names (in products) are often confused
- e. g. bridge and switch
5Layer 1 Physical Layer
6Repeater and Hub
Hub ex. IEEE 802.3 Twisted Pair
Repeater ex. IEEE 802.3 Thinwire
- Function
- To amplify the electrical signals
- To increase the range
- Limitation
- Extends the broadcast medium every bit is copied
- One collision domain
7Layer 2 Data Link Layer
8Bridges, Switches
- Bridges
- Connects two or more LANs (potentially different
types) - Each line is its own collision domain
- Traditionally store-and-forward and CPU-based
- Switches
- Typically connects two or more computers
- Each port / line is its own collision domain (no
collisions) - Typically cut-through switching devices
- begin forwarding as soon as possible
- when destination header has been detected, before
rest of frame arrived - Hardware-based
- Bridges vs. Switches
- Sometimes difference seems to be more a marketing
issue than technical one
9Bridge
- Tasks
- Coupling of different LANs
- Scalability of networks
- To increase capacity
- To increase reliability
- To improve security
- To cover large distances
- To offer independence from protocols
- IP ? OSI layer 2 protocols
- Ethernet versions
- Important goal to achieve transparency
- Change attachment point without changes to HW,
SW, configuration - Hide different types of LAN to communicating
machines
10Bridge Connecting 2 Different Networks
Example Bridge between IEEE 802.3 (CSMA/CD)
and IEEE 802.4 (Token Bus)
- Approach
- LLC as common layer
- Frames are routed to the respective MAC
- Bridge contains
- Its own implementation for each MAC
- For each to it belonging physical layer the
corresponding implementation
11802.x ? 802.y Bridging
- Some different 802.x frame formats
- There are even more different frame formats ...
- Some fields are technically necessary in one case
but useless in another - e.g. duration of 802.11
12802.x ? 802.y Bridging
- Different transmission rates (4/10/11/16/100/1000/
... Mbps) - Bridge between fast LAN and slow LAN (or several
LANs to one) - Buffering frames which cannot be transmitted
immediately - Potentially many frames must be buffered within
bridge - If bridge is out of memory, frames are dropped
- Different frame lengths
- 802.3 1518 bytes, 802.4 8191 bytes, 802.5
unlimited, 802.11 2346 bytes - 802.x protocols do not support reassembly
- Bridge must not segment frames that are too large
- Frames that are too long are dropped
- Implies a loss of transparency
- Special case 802.6 DQDB transmits each frame in
several cells - Different features
- Priorities
- Supported (in various forms) from both 802.4 and
802.5 - Not supported by 802.3
13802.x ? 802.y Bridging
- Different checksum calculations
- Means conversion, delay, buffering
- Security
- 802.11 provides some data link layer encryption
- 802.3 does not
- Quality of Service / Priorities
- Supported (in various forms) by both 802.4 and
802.5 - Not supported by 802.3
- Kind of in 802.11 (PCF / DCF)
- Acknowledgements
- Supported by 802.4 (temporary token handoff)
- Supported by 802.5 (CA bits)
- Not supported by 802.3
14SelfLearning Bridges
- Also called Transparent Bridges
- Transparency
- Bridges not visible for the other components of
the network? simplifies other components
- Transparent bridge
- Bridge works in promiscuous mode(receives every
frame of each connected LAN) - Bridge manages table station ? LAN(output line)
- Decision procedure
- Destination unknown flooding
- Source and destination LANs identical frame
dropped - Source and destination LANs differ frame
rerouted to destination LAN
15SelfLearning Bridges
- Learning procedure
- Bridge table initially empty
- Use flooding for unknown destination
- Backward learning
- Bridge works in promiscuous mode
- Receives any frame on any of its LANs
- Bridge receives frames from source address Q on
LAN L - Q can be reached over L
- Create table entry accordingly
- Adaptation to changes in topology
- Entry associated with timestamp (last frame
arrival time) - Timestamp of an entry (Z, LAN, TS) is updated
when frame received from Z - Entries that are not updated are purged
16SelfLearning Bridges Spanning Tree
- Increase reliability
- Connect LANs via various bridges in parallel
- Problem
- This creates a loop in the topology
- Frames with unknown destination are flooded
- Frame is copied again and again
- Solution
- Communication among bridges
- Overlay actual topology by spanning tree reaching
every LAN - Exactly one path from any LAN to every other LAN
17SelfLearning Bridges Spanning Tree
- Algorithm
- Choose a bridge as root of tree
- All bridges broadcast their serial number, lowest
wins - Generation of spanning tree
- Configured with bridges representing the edges
within the tree - Thereby avoiding loops
- Adaptation if configuration is changed
- Drawback
- Ignores some potential connections between
LANsi.e., not all bridges are necessarily
present in the tree
18Source Routing Bridges
- Alternative to self-learning bridges
- Principle
- The frames sender defines path
- Bridge routes the frame
- Prerequisite
- LAN has a unique address
- Bridge at the respective LAN is also unique
- Then
- Sender flags the frame (top bit of its own
address 1),if destination address is not
reachable in LAN - Bridge routes only frames that have been flagged
in such a way - Determining Path
- Sender sends discovery frames as broadcast
- Each bridge forwards on all attached LANs
- Each bridge on the path adds own address to
return packet - Problem high traffic
19Connecting Equal Networks Encapsulation
Example remote bridge
- Principle
- Incoming data unit is packaged as payload,
- Transmitted and
- Then fed into the destination network
- Properties
- Certain protocol on connecting route
- e.g. PPPi.e. MAC frames encapsulated in PPP
- Only bridge at the destination network can be
reached - Simple
20Layer 3 Network Layer
21Network Layer
- Goal
- Enable data transfer fromend system to end
system - Several hops, (heterogeneous) subnetworks
- Compensate for differences between end systems
during transmission - The provided services are
- Standardized for end systems
- Independent from network technology
- Independent from number, type and topology of the
subnetworks - Subnetworks (ISO definition)
- A multiple of one or several intermediary systems
that provide switching functionalities and
through which open end systems can establish
network connections - Routers are such Intermediate Systems
22Network Layer
- Primary task from a layer model perspective
- To provide service to the transport layer
- Connectionless or connection-oriented service
- Uniform addressing
- Internetworking provide transitions between
networks - Routing
- Congestion control
- Quality of Service (QoS)
23Inside Types of Switching
- Circuit switching
- Switching a physical connection
- Packet switching
- Store-and-forward, but transmissions packets
limited in size
- Message switching
- Message is stored and passed one by one hop
24Circuit Switching
- Connection exists physically for the duration of
the conversation - Refers to
- Switching centers
- Connections between switching centers(frequency
spectrum, dedicated ports) - Implementation examples
- Historically on switching boards
- Mechanical positioning of the dialers
- Setting coupling points in circuits
25Packet Switching
Layer Data entity
Transport
Network Packet
Data link Frame
Physical Bit/byte (bit stream)
- Datagrams
- Every packet chooses its path
- Virtual circuits
- Packets (or cells) over a pre-defined path
26Packet Switching
- Packets of limited size
- Dynamic route search (no connect phase)
- No dedicated path from source to destination
27Message Switching
- All data to be sent are treated as a "message"
- Store and forward" network
- Accept
- Treat of possible errors
- Store
- Forward
28Comparison Temporal Performance
Circuit switching
Message switching
Packet switching Virtual circuit
29Comparison Properties
- Circuit switching
- Connection has to occur before transmission
- Establishing a connection takes time
- Resource allocation too rigid (possibly waste of
resources) - Once connection is established it cannot be
blocked anymore - Packet switching
- Possibly only reservation of average bandwidth
(static reservation) - Possibility of congestion
- High utilization of resources
- Message switching
- High memory requirements at the node (switching
centers) - Node may be used to its full capacity over a
longer period of time by one message
30Comparison Circuit and Packet Switching
- Circuit switching
- Connection establishment can take a long time
- Bandwidth is reserved
- No danger of congestion
- Possibly poor bandwidth utilization (burst
traffic) - Continuous transmission time
- all data is transmitted over the same path
- Packet switching
- Connect phase not absolutely necessary
- Dynamic allocation of bandwidth
- Danger of congestion
- Optimized bandwidth utilization
- Varying transmission time
- packets between same end systems may use
different paths
31Virtual Circuits and Datagrams
32Virtual Circuits
- Connection set-up phase
- Select a path
- Intermediate systems store path information
- Network reserves all resources required for the
connection - Data transfer phase
- All packets follow the selected path
- Packet contains VCs number
- Identification of connection, no address
information - IS uses the stored path information to determine
the successor - Disconnect phase
- Network forgets the path
- Releases reserved resources
33Implementation Virtual Circuit
End systems ES allocate VC-numbers
independently Problem the same VC-identifiers
may be allocated to different paths
- Solution allocate VC-numbers for virtual circuit
segments - IS differentiates between incoming and outgoing
VC-number - IS receives incoming VC-number when connect
request arrives - IS creates outgoing VC-number (unique between IS
and successor(IS)) - IS sends outgoing VC-number in connect request
34Implementation Virtual Circuit
B
C
A
IN
OUT
D
8 Simplex virtual circuits
Originating at A Originating at B
E
F
0 - ABCD
0 - BCD
1 - AEFD
1 - BAE
2 - ABFD
2 - BF
3 - AEC
4 - AECDFB
35Implementation Datagram
- Datagram passes through the network as an
isolated unit - Has complete source and destination addresses
- Individual route selection for each datagram
- Generally no resource reservation
- Correct sequence not guaranteed
36Datagram vs. Virtual Circuit
- Datagram IS routing table specifies possible
path(s) - No connection setup delay
- Less sensible to IS and link failures
- Route selection for each datagram quick reaction
to failures - but
- Each packet contains the full destination and
source address - Route selection for each datagram overhead
- QoS guarantees hardly possible
- Virtual Circuit destination address defined by
connection - Packets contain short VC-number only
- Low overhead during transfer phase
- Perfect" channel throughout the net
- Resource reservation "Quality of Service"
guarantees possible - but
- Overhead for connection setup
- Memory for VC tables and state information needed
in every IS - Sensible to IS and link failures
- Resource reservation potentially poor
utilization
37Services of the Network Layer
38Services of the Network Layer
- Concepts
- Connection oriented vs. connectionless
communication - Connection oriented
- Error free communication channel
- Usually error control, flow control, ...
- Usually duplex communication
- More favorable for real-time communications
- Favored by telephone and telecommunication
companies - Connectionless
- Unreliable communication
- Hardly any error control left to layer 4 or
higher - Simplex communication
- More favorable for simple data communication
- Favored by Internet community
39Connection Oriented Communication
- Connection Oriented Communication
- 3-phase interaction
- Connect
- Data transfer
- Disconnect
- (allows for) Quality of Service Negotiation
- (typically) Reliable Communication in both
directions - Flow Control
- Relatively complex protocols
- Connection-Oriented Service
- Service provider offers
- Queues in both directions
- Ordered transmission of objects
- Delivery of objects at most once
40Connectless communication
- Connectionless Communication
- Network transmits packets as isolated Units
(datagram) - Unreliable Communication
- loss, duplication, modification, sequence errors
possible - No flow control
- Comparatively simple protocols
- Connectionless Service
- Service provider can
- Delete objects in a queue
- Duplicate objects in a queue
- Change the object sequence within a queue
41Comparison of Concepts
- Arguments pro a connection oriented service
- Simple, powerful paradigm
- Simplification of the higher layers
- Relieves end systems
- For some applications efficiency in time is more
important than error-free transmission - e. g. real-time applications, digital voice
transmission) - suitable for a wide range of applications
- Arguments pro a connectionless service
- High flexibility and low complexity
- Costs for connects and disconnects are high for
transaction oriented applications - Easier to optimize the network load
- Compatibility and costs
- IP common, cant change now
- End-to-End Arguments
- secure communication requires error control
within the application but error control in one
layer can replace the error control in the layer
underneath it
42Routing
43Routing Foundations
- Task
- To define the route of packets through the
network - From the source
- To the destination system
- Routing algorithm
- Defines on which outgoing line an incoming packet
will be transmitted - Route determination
- Datagram
- Routing algorithm makes individual decision for
each packet - Virtual circuit
- Routing algorithm runs only during connect
(session routing)
44Routing Routing and Forwarding
- Distinction can be made
- Routing makes decision which route to use
- Forwarding what happens when a packet arrives
Topology, link utilization, etc. information
Router
Routing Process
Routing table
Fills Updates
Uses Looks up
Forwarding Process
45Good Properties for Routing Algorithms
- Correctness
- Simplicity
- Minimize load of routers
- Robustness
- Compensation for IS and link failures
- Handling of topology and traffic changes
- Stability
- Consistent results
- No volatile adaptations to new conditions
- Fairness
- Among different sources compared to each other
- Optimality
46Routing Algorithms Conflicting Properties
- Often conflicting fairness and optimization
- Some different optimization criteria
- Average packet delay
- Total throughput
- Individual delay
- Conflict
- Example
- Communication among A ? A, B ? B, C ? C uses
full capacity of horizontal line - Optimized throughput, but
- No fairness for X and X
- Tradeoff between fairness and optimization
- Therefore often
- Hop minimization per packet
- It tends to reduce delays and decreases required
bandwidth - Also tends to increase throughput
47Classes of Routing Algorithms
- Class Non-adaptive Algorithms
- Current network state not taken into
consideration - Assume average values
- All routes are defined off-line before the
network is put into operation - No change during operation (static routing)
- With knowledge of the overall topology
- Spanning tree
- Flow-based routing
- Without knowledge of the overall topology
- Flooding
- Class Adaptive Algorithms
- Decisions are based on current network state
- Measurements / estimates of the topology and the
traffic volume - Further sub-classification into
- Centralized algorithms
- Isolated algorithms
- Distributed algorithms
48Optimality Principle and Sink Tree
- General statement about optimal routes
- If router J is on optimal path from router I to
router K - Then the optimal path from router J to router K
uses the same route - Example
- r1 route from I to J
- r2 route from J to K
- If better route r2 from J to Kwould exist
- Then
- Concatenation of r1 and r2 would improve route
from I to K - Set of optimal routes
- From all sources
- To a given destination
- form a tree rooted at the destination Sink Tree
49Sink Tree
Sink Tree for Destination B
Subnet
- Comments
- Tree no loops
- Each optimal route is finite with bounded number
of hops - Not necessarily unique
- Other trees with same path lengths may exist
- Goal of all routing algorithms
- Discover and use the sink trees for all routers
- Not realistic to use Sink Trees as real-life
routing algorithm - Need complete information about topology
- Sink Tree is only a benchmark for routing
algorithms
50Methodology Metrics
- Networks represented as graphs
- Node represents a router
- Edge represents a communication line (link)
- Compute the shortest path between a given pair of
routers - Different metrics for path lengths can be used
- Can lead to different results
- Sometime even combined (but this leads to
computational problems) - Metrics for the "ideal" route, e.g., a "short"
route - Number of hops
- Geographical distance
- Bandwidth
- Average data volume
- Cost of communication
- Delay in queues
- ...
51Non-Adaptive Routing
52Non-Adaptive Shortest Path Routing
- Static Procedure
- Network operator generates tables
- Tables
- Are loaded when IS operation is initiated and
- Will not be changed any more
- Characteristics
- Simple
- Good results with relatively consistent topology
and traffic - But
- Poor performance if traffic volume or topologies
change over time
53Non-Adaptive Shortest Path Routing
- Spanning Tree and Optimized Route
- Information about the entire network has to be
available - i. e. application actually as a benchmark
comparison - Example
- Link is labeled with distance / weight
- Node is labeled with distance from source node
along best known path (in parentheses) - Find the shortest path from A to D
B (?,-)
C (?,-)
E (?,-)
A
D (?,-)
F (?,-)
G (?,-)
H (?,-)
2
54Non-Adaptive Shortest Path Routing
- Procedure e. g. according to Dijkstra
- Find the shortest path from A to D
- Labels may be permanent or tentative
- Initially, no paths are known
- All nodes are labeled with infinity (tentative)
- Discover the labels that represent shortest
possible path from source to any node - Make those labels permanent
- 1. Node A labeled as permanent (filled-in circle)
- 2. Relabel all directly adjacent nodes with the
distance to A(path length, nodes adjacent to
source) - 3. Examine all tentatively labeled nodes, make
the node with the smallest label permanent - 4. This node will be the new working node for the
iterative procedure(i.e., continue with step 2.)
55Non-Adaptive Shortest Path Routing
B (?,-)
C (?,-)
B (2,A)
E (?,-)
A
D (?,-)
F (?,-)
G (?,-)
H (?,-)
G (6,A)
- Procedure e. g. according to Dijkstra
- Find the shortest path from A to D
- A flagged as permanent (filled-in circle)
- Relabel all directly adjacent nodes with the
distance to A - (path length, IS adjacent to the source)
56Non-Adaptive Shortest Path Routing
C (?,-)
B (2,A)
E (?,-)
A
D (?,-)
F (?,-)
H (?,-)
G (6,A)
- Procedure e. g. according Dijkstra
- Find the shortest path from A to D
- ...
- Compare all recent, not firmly flagged IS
- flag the one with the lowest number as fixed
- This IS is the origin of the iterative procedure
- (i. e. continue with item 2.)
57Non-Adaptive Shortest Path Routing
C (?,-)
B (2,A)
C (9,B)
E (4,B)
E (?,-)
A
D (?,-)
F (?,-)
H (?,-)
G (6,A)
- Procedure e.g., according to Dijkstra
- Find the shortest path from A to D
- Node B has been labeled as permanent (filled-in
circle) - relabel all directly adjacent nodes with the
distance to B(path length, nodes adjacent to
source) - A (does not apply, because it is the origin),
58Non-Adaptive Shortest Path Routing
B (2,A)
C (9,B)
E (4,B)
A
D (?,-)
D (10,H)
F (?,-)
F (6,E)
H (?,-)
G (6,A)
H (9,G)
G (5,E)
H (8,F)
- Procedure e.g., according to Dijkstra
- find the shortest path from A to D
-
-
- examine all tentatively labeled nodes
- make the node with the smallest label permanent
- this node will be the new working node for the
iterative procedure ...
59Non-Adaptive Routing
60Flooding
- Principle
- IS transmits the received packet to all adjacent
IS - But generates "an infinite amount" of packets
- Flood limitations
- Hop counter in the packet header
- Initialize to destinations distance, or subnet
diameter is unknown - Decrement per hop, discard packet at 0
- Keeping history of transferred packets in ISs,
delete copies - Source router inserts sequence number into each
packet - ISs keeps per-router history of sequence numbers
- Old packets are dropped
61Selective Flooding
- Approach
- Do not send out on every line
- IS transmits received packet to adjacent
stations,located in the Direction of the
Destination - With regular topologies this makes sense and is
an optimization - But some topologies do not fit well to this
approach - Comment
- Geographically-oriented routing got recent
interest for mobile scenarios
62Flooding
- Evaluation and use
- In most scenarios impractical because of overhead
- Extremely robust
- Reaches all ISs
- Does not need topology information, no bootstrap
- Always finds the shortest path
63Adaptive Routing
64Adaptive Routing
- Class Adaptive Algorithms
- Decisions are based on current network state
- Measurements / estimates of the topology and the
traffic volume - Further sub-classification into
- Centralized algorithms
- Isolated algorithms
- Distributed algorithms
65Adaptive Routing
66Adaptive Centralized Routing
- Principle
- One routing control center (RCC) exists in the
network - Each IS sends periodically status updates to the
RCC - Available neighbors
- Current queue length
- Line utilization
-
- RCC
- Collects information
- Computes the optimal path each IS pair
- Forms routing tables
- Distributes tables to ISs
67Adaptive Centralized Routing
- Characteristics
- RCC has complete information
- IS is free of routing calculations
- But
- Re-calculations quite often necessary (approx.
once/min or more often) - Low robustness
- No correct decisions if network is partitioned
- ISs receive tables at different times
- Traffic concentration in RCC proximity
68Adaptive Routing
69Adaptive Isolated Routingthrough Backward
Learning
- Isolated routing
- Every IS makes decision based on locally gathered
information only - No exchange of routing information among nodes
- Only limited adaptation possibility to changed
traffic or topology - IS learns from received packets
- Source IS
- Distance estimate by hop count
70Adaptive Isolated Routingthrough Backward
Learning
- Packet
- From source S
- received on line L
- after C hops
- ? S is reachable on L within C hops
- Routing table in IS
- L - table (destination - IS, outgoing line, Cmin)
- Update of the routing table
- IS receives packet ( ..., S, C, ... ) on L
- if not (S in L-Table)
- then Add(S,L,C)
- else if C lt Cmin
- then Update(S,L,C)
71Adaptive Isolated Routingthrough Backward
Learning
- Example D learns about A
- packet ( ..., source - IS, section counter, ...)
- P1 ( ..., A, 4, ... ) ? Add ( A, l1, 4 )
- P2 ( ..., A, 3, ... ) ? Update ( A, l2, 3 )
I1
A
D
I2
72Adaptive Isolated Routingthrough Backward
Learning
- Problem
- Packets use a different route, e. g. because of
failures, high load - Algorithm retains only the old value (because it
was "better"), - i. e. algorithm does not react to deteriorations
- Solution
- Periodic deletion of routing tables(new learning
period) - Table deletion
- Too often mainly during the learning phase
- Not often enough reaction to deteriorations too
slow
73Adaptive Routing
- Distributed Routing
- Distance Vector
74Distance Vector Routing
- Distance-Vector Routing
- Group of Distance Vector Routing Algorithms
- Also known as
- Distributed Bellman-Ford algorithm,
Ford-Fulkerson algorithm - Use
- Was the original ARPANET routing algorithm
- Has been used in the Internet as RIP (Routing
Information Protocol) - Basic principle
- IS maintains table (i.e., vector) stating
- Best known distance to destinations
- And line to be used
- ISs update tables
- By exchanging routing information with their
neighbors
75Distance Vector Routing
- Each IS
- maintains routing table with one entry per router
in the subnet - is assumed to know the distances to each
neighbor - IS sends list with estimated distances to each
destination periodically to its neighbors - X receives list E(Z) from neighbor Y
- Distance X to Y e
- Distance Y to Z E(Z)
- Distance X to Z via Y E(Z)e
- IS computes new routing table from the received
listscontaining - Destination IS
- Preferred outgoing path
- Distance
76Distance Vector Routing
line
A
B
C
D
G
28
I
E
H
F
20
H
17
I
30
I
I
J
K
L
18
H
0
-
15
K
JA 8
JI 10
JH 12
JK 6
delay
- Previous routing table will not be taken into
account - Reaction to deteriorations
77Distance Vector Routing
- Fast route improvement
- Fast distribution of information about new short
paths (with few hops)
- Example
- initially A unknown
- later A connected with distance 1 to B, this
will be announced - Distribution proportional to topological spread
- Synchronous (stepwise) update is a simplification
78Distance Vector Routing
- Slow distribution of information about new long
paths (with many hops) - Count to Infinity problem of DVR
- Example deterioration
- Here connection destroyed
- A previously known, but now detached
- The values are derived from (incorrect)
connections of distant IS - Comment
- Limit "infinite" to a finite value, depending on
the metrics, e.g. - infinite maximum path length1
79Distance Vector Routing
- Variant Split Horizon Algorithm
- Objective improve the "count to infinity"
problem - Principle
- In general, to publicize the "distance" to each
neighbour - If neighbor Y exists on the reported route, X
reports the response "false" to Y - distance X (via Y) according to arbitrary i ?
- Example deterioration (connection destroyed)
- B to C A ? (real),C to B A ? (because A is
on path), ... - But still poor, depending on topology, example
- Connection CD is removed
- A receives "false information" via B
- B receives "false information" via A
- Slow distribution (just as before)
80Adaptive Routing
- Distributed Routing
- Link State Routing
81Link State Routing
- Basic principle
- IS measures the "distance" to the directly
adjacent IS - Distributes information
- Calculates the ideal route
- Procedure
- Determine the address of adjacent IS
- Measure the "distance" (delay, ...) to
neighbouring IS - Organize the local link state information in a
packet - Distribute the information to all IS
- Calculate the route based on the information of
all IS - Use
- Introduced into the ARPANET in 1979, nowadays
most prevalent - IS-IS (Intermediate System-Intermediate System)
- developed by DECNET
- also used as ISO CLNP in NSFNET
- Novell Netware developed its own variation from
this (NLSP) - OSPF (Open Shortest Path First)
- since 1990 Internet RFC 1247
82Link State Routing
- 1. Phase gather information about the adjacent
intermediate systems
83Link State Routing
- 1. Phase gather information about the adjacent
intermediate systems
- Initialization procedure
- New IS
- Sends a HELLO message over each L2 channel
- Adjacent IS
- Responds with its own address, unique within the
network
84Link State Routing
- 2. Phase measure the "distance"
- Definition of distance needed
- Usually delay
- Where to measure?
Router
When to start timer?
Uses Looks up
Data packets
Queues
Forwarding Process
Incoming lines
Outgoing lines
85Link State Routing
- 2. Phase measure the "distance
- Queuing delay
- Measuring without does not take load into account
- Measuring with does ? usually better
- But
- Possibility for oscillations (route flapping)
- Once per routing table update
86Link State Routing
- 3. Phase organizing the information as link
state packet - Including own address, sequence number, age,
"distance" - Timing problems validity and time of sending
- Periodically
- In case of major changes
87Link State Routing
- 4. Distributing the local information to all IS
- By applying the flooding procedure (very robust)
- Therefore sequence number in packets
- Problem inconsistency
- Varying states simultaneously available in the
network - Indicate and limit the age of packet,i. e. IS
removes packets that are too old - 5. Computing new routes
- Each IS for itself
- Possibly larger amount of data available
88Adaptive Routing
- Distributed Routing
- Distance Vector
89Distance Vector Routing
A
B
C
D
G
E
H
- Each node
- Maintains own routing table
- knows distances to every neighbor
- sends its estimated distances to the neighbors
periodically - Node X estimates distance to node Z through
neighbor Y - Add estimated distance to Y and Ys estimated
distance to Y - Node computes new routing table from the received
listscontaining - Destination node
- Preferred outgoing path
- Distance
F
I
J
K
L
line
28
I
20
H
17
I
30
I
18
H
0
-
15
K
JA 8
JI 10
JH 12
JK 6
delay
90Distance Vector Routing
- Fast route improvement
- Fast distribution of information about new short
paths (with few hops)
- Example
- initially A unknown
- later A connected with distance 1 to B, this
will be announced - Distribution proportional to topological spread
- Synchronous (stepwise) update is a simplification
91Distance Vector Routing
- Slow distribution of information about new long
paths (with many hops) - Count to Infinity problem of DVR
- Deterioration
- Connection destroyed
- A previously known
- New estimates derived from old estimates of
distant nodes - Comment
- Limit "infinite" to a finite value
92Distance Vector Routing
- Split Horizon Algorithm
- Objective to improve the "count to infinity"
problem - In general, as before
- Report ? to best route neighbor (poisoned
reverse)
- Deterioration
- B to C A ? (real),C to B A ? (because A is
on path), ... - Still poor, depending on topology
- Connection CD is removed
- A receives "false information" via B
- B receives "false information" via A
93Adaptive Routing
- Distributed Routing
- Link State Routing
94Link State Routing
- Node measures the "distance" to the directly
adjacent node - Distributes information
- Calculates the ideal route
- Procedure
- Determine the address of adjacent node
- Measure the "distance" (delay, ...) to
neighboring node - Organize the local link state information in a
packet - Distribute the information to all nodes
- Calculate the route based on the information of
all nods
95Link State Routing
- Gather information about the adjacent nodes
- New node
- Sends a HELLO message over each L2 channel
- Adjacent node
- Responds with its own address, unique within the
network - Measure the distance
- Definition of distance needed
- Often delay
- Two approaches to measuring the delay
96Link State Routing
- 2. Phase measure the "distance"
Router
When to start timer?
Uses Looks up
Data packets
Queues
Forwarding Process
Incoming lines
Outgoing lines
- Queuing delay
- Measuring without does not take load into account
- Measuring with does
- often better performance
- possibility for oscillations (route
flapping)once per routing table update
97Link State Routing
- Organizing the information as a link state packet
- Including own address, sequence number, age,
"distance - Send periodically and in case of major changes
- Timing problems validity and time of sending
- Distributing the local information to all nodes
- By applying the flooding procedure
- Problem inconsistency
- Varying states simultaneously available in the
network - Indicate and limit the age of packet,i. e. node
removes packets that are too old - Computing new routes
- Each node for itself
- Possibly larger amount of data available
98Other routing approaches
- Snapshot
- DVR and LSR are basic routing algorithms
- Unicast communication
- No node mobility
- Flat structure
- Why is that insufficient?
- Increasing number of applicationshave use for
- Multi-homing
- Multicast
- Anycast
- More and more mobile nodes
- Too many nodes
- Continuation
- Multicast routing
- Routing in mobile and ad hoc networks
- The Internet protocols (IPv4 and IPv6) and
routing in the Internet
- Courses that go deeper into routing
- INF5050
- INF5070
- INF5090
- UNIK4200
- UNIK4290
99Broadcast Routing
100Reverse Path Forwarding
- When a multicast packet arrives at a node
- from origin S
- on an interface I
- Test whether it would send unicast packets to S
via I - Yes
- Deliver multicast packet to all connected end
systems - Forward multicast packet on all interfaces to
other routers except I - No
- It does not arrive on the shortest path from S
- Assume its a duplicate
- Drop packet
101Multicast Routing
- Shared Tree
- Core-Based Tree
102Core-Based Tree
Core node
Non-Core node
- Also known as "Trees with Rendezvous Points
- Principle
- Select a core node (a node which is central to
the group) - Determine spanning tree of the core node
- Sender transmits a packet to core node
- Core node transmits packet via the spanning tree
- Properties
- Simple central calculation
- One tree common to all n senders (instead of n
trees) - Route to the core node may not be optimized
103Multicast Routing
104Spanning Tree
Multicast source node
Spanning tree for group 1
Spanning tree for group 2
Spanning tree for source node
- Principle
- Every node maintains a spanning tree to all other
nodes in the network their spanning tree - A subset of all nodes is a multicast group
- Node does initially not know about groups of
receivers - Distribution of this information depends on the
underlying routing protocol - Prune the spanning tree to include only group
nodes
105Multicast Routing
- Spanning Tree
- with Link State Routing
106Spanning Tree with LSR
- All nodes send link state packets periodically
- Containing information
- Distance to neighbors
- End-systems connected to a node and belonging to
a group - Broadcast to all other nodes
- Each node calculates a multicast tree
- From the current locally available and complete
state information - Decide locally whether neighboring node needs a
packet - Based on the information about the multicast tree
- Node determines the outgoing lineson which
packets have to be transmitted
107Multicast Routing
- Reverse Path Forwarding
- with Pruning
108Reverse Path Forwarding with Pruning
- Used together with DVR as unicast routing
protocol - Use DVR routing tables to determine whether
packet arrives on shortest path from direct
neighbor - Principle
- Sender sends first multicast packet to everybody
- Use Reverse Path Forwarding
- Then prune the tree
109Reverse Path Forwarding with Pruning
- Pruning
- When a multicast packet arrives from S on
interface I - If
- No directly connected end system is registered,
or - Non-Membership-Reports are received from all
nodes reachable via interfaces other than I - Then
- Send a Non-Membership-Report to the previous node
that forwarded the packet - Do not forward messages for the group any more
- Flooding and pruning must be repeated after some
time - To find end-systems that have joined
- Benefit
- Pruning only trees that are actually used
- Unused trees are cut coarsely
- Optimized for many receivers
110Summary Multicast Routing
- Save network resources send same data to many
hosts with fewer packets - Pay with router resources Routers need to know
group members - All algorithms aim at maintaining a spanning tree
from the sending node - Can rely on unicast routing or on broadcast
- A bit more multicast in conjunction with IP
multicast
111Ad hoc Routing
112Ad hoc Routing Protocols
- Outside the Internet world
- Infrastructure-less networks, often with mobile
nodes - Reactive protocols
- Determine route if and when needed
- Source initiates route discovery
- Proactive protocols
- Traditional distributed shortest-path protocols
- Maintain routes between every host pair at all
times - Based on periodic updates
- High routing overhead
113Ad hoc Routing
114Ad Hoc On-Demand Distance Vector Routing (AODV)
- AODV assumes symmetric (bi-directional) links
- Every node maintains a routing table
- When source S wants to send to D, but route to D
is not known - S initiates a route discovery
- S floods Route Request (RREQ)
- When a node re-broadcasts a RREQ
- Adds the reverse path to its routing table
- Local routing table grows
- When D receives RREQ
- D replies with Route Reply (RREP)
- RREP travels along the reverse path
- Using routing table
115Route Requests in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Represents a node that has received RREQ for D
from S
116Route Requests in AODV
Y
Broadcast transmission
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Represents transmission of RREQ
117Route Requests in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Represents links on Reverse Path
118Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
- Node C receives RREQ from G and H, but does not
forward - it again, because node C has already forwarded
RREQ once
119Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
120Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
- Node D does not forward RREQ, because node D
- is the intended target of the RREQ
121Forward Path Setup in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Forward links are setup when RREP travels
along the reverse path Represents a link on the
forward path
122AODV
- Only last node must be included in RREQ packets
- Nodes maintain routing tables containing entries
only for routes that are in active use - At most one next-hop per destination maintained
at each node - Sequence numbers are used to avoid old/broken
routes - Sequence numbers prevent formation of routing
loops - Unused routes expire even if topology does not
change
123Ad hoc Routing
124Destination-Sequenced Distance Vector Routing
(DSDV)
- Each node maintains a routing table which stores
- Next hop for each destination
- Cost metric towards each destination
- A sequence number that is created by the
destination itself - Each node periodically forwards routing table to
neighbors - Increases sequence number each time
- Includes it in routing table update
- A node that receives a routing table for a
destination - Overwrites the old table when the sequence number
is higher - When a node decides that a route is broken
- It increments the sequence number of the route
- Advertises it with infinite metric
- Destination advertises new sequence number
125Reactive vs. Proactive Routing
- Reactive protocols
- Lower overhead since routes are determined on
demand - Significant delay in route determination
- Employ flooding (global search)
- Control traffic may be bursty
- Proactive protocols
- Always maintain routes
- Little or no delay for route determination
- Consume bandwidth to keep routes up-to-date
- Maintain routes which may never be used
- Which approach achieves a better trade-off
depends on the traffic and mobility patterns