INF-3190: Switching and Routing - PowerPoint PPT Presentation

1 / 125
About This Presentation
Title:

INF-3190: Switching and Routing

Description:

Switching and Routing Foreleser: Carsten Griwodz Email: griff_at_ifi.uio.no – PowerPoint PPT presentation

Number of Views:172
Avg rating:3.0/5.0
Slides: 126
Provided by: PlS65
Category:
Tags: inf | layer | routing | switching

less

Transcript and Presenter's Notes

Title: INF-3190: Switching and Routing


1
Switching and Routing
  • Foreleser Carsten Griwodz
  • Email griff_at_ifi.uio.no

2
Motivation
  • 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
3
Connecting 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
4
Connecting 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

5
Layer 1 Physical Layer
6
Repeater 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

7
Layer 2 Data Link Layer
8
Bridges, 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

9
Bridge
  • 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

10
Bridge 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

11
802.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

12
802.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

13
802.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

14
SelfLearning 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

15
SelfLearning 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

16
SelfLearning 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

17
SelfLearning 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

18
Source 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

19
Connecting 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

20
Layer 3 Network Layer
21
Network 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

22
Network 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)

23
Inside 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

24
Circuit 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

25
Packet 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

26
Packet Switching
  • Packets of limited size
  • Dynamic route search (no connect phase)
  • No dedicated path from source to destination

27
Message Switching
  • All data to be sent are treated as a "message"
  • Store and forward" network
  • Accept
  • Treat of possible errors
  • Store
  • Forward

28
Comparison Temporal Performance
Circuit switching
Message switching
Packet switching Virtual circuit
29
Comparison 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

30
Comparison 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

31
Virtual Circuits and Datagrams
32
Virtual 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

33
Implementation 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

34
Implementation 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
35
Implementation 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

36
Datagram 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

37
Services of the Network Layer
38
Services 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

39
Connection 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

40
Connectless 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

41
Comparison 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

42
Routing
43
Routing 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)

44
Routing 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
45
Good 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

46
Routing 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

47
Classes 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

48
Optimality 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

49
Sink 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

50
Methodology 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
  • ...

51
Non-Adaptive Routing
  • Shortest Path Routing

52
Non-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

53
Non-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
54
Non-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.)

55
Non-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)

56
Non-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.)

57
Non-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),

58
Non-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 ...

59
Non-Adaptive Routing
  • Flooding

60
Flooding
  • 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

61
Selective 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

62
Flooding
  • 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

63
Adaptive Routing
64
Adaptive 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

65
Adaptive Routing
  • Centralized Routing

66
Adaptive 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

67
Adaptive 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

68
Adaptive Routing
  • Isolated Routing

69
Adaptive 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

70
Adaptive 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)

71
Adaptive 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
72
Adaptive 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

73
Adaptive Routing
  • Distributed Routing
  • Distance Vector

74
Distance 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

75
Distance 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

76
Distance 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

77
Distance 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

78
Distance 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

79
Distance 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)

80
Adaptive Routing
  • Distributed Routing
  • Link State Routing

81
Link 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

82
Link State Routing
  • 1. Phase gather information about the adjacent
    intermediate systems

83
Link 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

84
Link 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
85
Link 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

86
Link 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

87
Link 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

88
Adaptive Routing
  • Distributed Routing
  • Distance Vector

89
Distance 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
90
Distance 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

91
Distance 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

92
Distance 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

93
Adaptive Routing
  • Distributed Routing
  • Link State Routing

94
Link 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

95
Link 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

96
Link 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

97
Link 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

98
Other 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

99
Broadcast Routing
  • Controlled Flooding

100
Reverse 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

101
Multicast Routing
  • Shared Tree
  • Core-Based Tree

102
Core-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

103
Multicast Routing
  • Source-based Tree

104
Spanning 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

105
Multicast Routing
  • Spanning Tree
  • with Link State Routing

106
Spanning 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

107
Multicast Routing
  • Reverse Path Forwarding
  • with Pruning

108
Reverse 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

109
Reverse 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

110
Summary 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

111
Ad hoc Routing
112
Ad 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

113
Ad hoc Routing
  • Reactive Routing

114
Ad 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

115
Route 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
116
Route 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
117
Route 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
118
Reverse 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

119
Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
120
Reverse 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

121
Forward 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
122
AODV
  • 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

123
Ad hoc Routing
  • Proactive Routing

124
Destination-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

125
Reactive 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
Write a Comment
User Comments (0)
About PowerShow.com