• No results found

Lecture #18: Principles Lecture #18: Principles of Network Routing of Network Routing

N/A
N/A
Protected

Academic year: 2021

Share "Lecture #18: Principles Lecture #18: Principles of Network Routing of Network Routing"

Copied!
36
0
0

Loading.... (view fulltext now)

Full text

(1)

1

Lecture #18: Principles Lecture #18: Principles

of Network Routing of Network Routing

C o n t e n t s C o n t e n t s

Basic Routing Concepts Basic Routing Concepts

 Routing Features and Elements Routing Features and Elements

 Static Routing Static Routing

 Adaptive Routing Adaptive Routing

 Distance Vector and Link State Routing Distance Vector and Link State Routing

 Hierarchical Routing Hierarchical Routing

 Broadcasting and Multicasting Broadcasting and Multicasting

 Routing in Internet Routing in Internet

5

3

10

18

17 16

2

12

(2)

2

Basic Routing Concepts Basic Routing Concepts

Network layer functions Network layer functions

Connection control Connection control : : ... ...

Routing Routing : considerations associated with : considerations associated with hop-by-hop services hop-by-hop services transparent to the underlying resources such as data link

transparent to the underlying resources such as data link connections.

connections.

Addressing Addressing : ... : ...

Basic Concepts Basic Concepts

• routing algorithms are main part of the NL routing algorithms are main part of the NL

• on local level routing consist of on local level routing consist of the decision the decision

• on which output line to transmit an arriving packet (by on which output line to transmit an arriving packet (by datagram datagram exchange model)

exchange model)

• which input/output pair to assign to a virtual circuit during its set up which input/output pair to assign to a virtual circuit during its set up (by VC model;

(by VC model; session routing session routing ) )

broadcasting broadcasting messages also require routing when the destination is messages also require routing when the destination is another network

another network

• formal goal of routing algorithms: finding the formal goal of routing algorithms: finding the sink tree for each router sink tree for each router

18/1

5/3

5/5

(3)

3

Routing Functions & Elements Routing Functions & Elements

Routing Functions Routing Functions

Correctness CorrectnessSimplicity Simplicity

Robustness Robustness vs. vs. Stability Stability

• too quick reflections of changed traffic conditions may cause too quick reflections of changed traffic conditions may cause instability

instability

Fairness Fairness vs. vs. Optimality Optimality

• the optimization criteria may favor specific part of the traffic (e.g. the optimization criteria may favor specific part of the traffic (e.g.

local traffic) local traffic)

Routing Elements Routing Elements

– Performance Performance optimization criteria optimization criteriaDecision time Decision time : :

• packet (datagram) or packet (datagram) or

• session (vc) session (vc)

Decision place Decision place

• Each node (distributed control) Each node (distributed control)

• Central node (centralized control) Central node (centralized control)

• Originating node (isolated control) Originating node (isolated control)

5/4

(4)

4

Routing Elements Routing Elements (cont.) (cont.)

Status information source Status information source - options: - options:

• no status information is used no status information is used

• local information local information

• adjacent nodes adjacent nodes

• nodes along the route nodes along the route

• all nodes all nodes

Routing strategy Routing strategy

• static routing static routing

– fixed fixed – flooding flooding – random random

• adaptive (dynamic) - update periods: adaptive (dynamic) - update periods:

– continuos continuos – periodic periodic

– considerable load change considerable load change

– architecture updates (topology, throughput, etc.) architecture updates (topology, throughput, etc.)

Routing Elements

Routing Elements

(5)

5

Features Features

– fixed routes: no use of status variables; DGs and VCs follow fixed routes: no use of status variables; DGs and VCs follow the same route

the same route

– all static routs are maintained in Central Routing Directory all static routs are maintained in Central Routing Directory (Routing Control Center)

(Routing Control Center)

– local part of the routes are stored at each node directory local part of the routes are stored at each node directory (consists of destinations and next node to them)

(consists of destinations and next node to them) – simple, smallest overload, no flexibility simple, smallest overload, no flexibility

– application for reliable networks with small variation of traffic application for reliable networks with small variation of traffic parameters

parameters

Examples Examples

– Generic fixed routing (see 18/2) Generic fixed routing (see 18/2) – Shortest path routing Shortest path routing

– Flooding Flooding

– Flow-based routing Flow-based routing

– Multipath Multipath random routing random routing

Static Routing Static Routing

Single path

Single path static routing static routing

6 7

8

9

18/2

(6)

6

Shortest Path Routing Shortest Path Routing

 Features Features

– based on [weighted] graph representation of the subnet based on [weighted] graph representation of the subnet (node/router, arc/link)

(node/router, arc/link) – shortest path is based on shortest path is based on

• the number of arcs between two routers (i.e. number of hops) - uses the number of arcs between two routers (i.e. number of hops) - uses unmarked graph

unmarked graph

• the accumulated “length” of links (length is measured by the transmission the accumulated “length” of links (length is measured by the transmission time, transmission price, distance, etc.) - uses weighted graph (labeled arcs) time, transmission price, distance, etc.) - uses weighted graph (labeled arcs)

– algorithms for shortest path from given node to ALL other: algorithms for shortest path from given node to ALL other:

Dijkstra’s algorithm Dijkstra’s algorithm - developing path in order of increasing path length; - developing path in order of increasing path length;

each node is labeled with the couple (

each node is labeled with the couple ( S S

LL

, , N N

i-1i-1

), iterations follow the shortest ), iterations follow the shortest path to the next node

path to the next node

Bellman-Ford algorithm - iterative search for all the nodes that are Bellman-Ford algorithm - iterative search for all the nodes that are distanced by 0, 1, 2, … MAX hops

distanced by 0, 1, 2, … MAX hops

– Dijkstra vs. Bellman-Ford Dijkstra vs. Bellman-Ford

– Computational Complexity: Dijkstra’s O( Computational Complexity: Dijkstra’s O( N N

22

) computations, Bellman-Ford O( ) computations, Bellman-Ford O( N N

33

) ) – D’s algorithm requires knowledge of all costs - better suited to centralized D’s algorithm requires knowledge of all costs - better suited to centralized

routing decisions routing decisions

BF’s only requires knowledge of link costs to neighboring nodes - may be BF’s only requires knowledge of link costs to neighboring nodes - may be implemented in a distributed way

implemented in a distributed way

– Both can adapt to slowly changing link costs Both can adapt to slowly changing link costs

5/6

(7)

7

Flooding Flooding

Features Features

– based on propagation of every incoming packet to each based on propagation of every incoming packet to each output line excluding the delivery line

output line excluding the delivery line

– modification: propagation is pointed to some “proper” subset modification: propagation is pointed to some “proper” subset of output lines -

of output lines - selective flooding selective flooding

Effects Effects : :

 exponential growth of the number of packets exponential growth of the number of packets

 duplicate packets duplicate packets  hop limitation  hop limitation

 guaranteed finding of the shortest path guaranteed finding of the shortest path

 the flooding gives all the shortest paths in the graph the flooding gives all the shortest paths in the graph

Application Application : :

– trouble sensitive applications trouble sensitive applications

– concurrent updates in distributed databases concurrent updates in distributed databases

18 /3

(8)

8

Features Features

– considers both network topology (+ link capacity!) and some considers both network topology (+ link capacity!) and some statistical

statistical steady-state steady-state data (e.g. average flow, mean delay) data (e.g. average flow, mean delay) about the traffic between hops

about the traffic between hops

– the goal is minimization of the mean packet delay but not number the goal is minimization of the mean packet delay but not number of hops, kilometers, etc., i.e. minimization in time, not in space of hops, kilometers, etc., i.e. minimization in time, not in space – requisites: requisites:

• topology matrix topology matrix

• traffic matrix traffic matrix

• links’ capacity matrix links’ capacity matrix

• some static routing some static routing

– method: check of all [finite number] possible routes by calculation method: check of all [finite number] possible routes by calculation of mean residence time of the packets in the subnet

of mean residence time of the packets in the subnet

Effects and Application Effects and Application : :

– best static single-path routing best static single-path routing

– applicable always when requisite set is available and the temporary applicable always when requisite set is available and the temporary status of the network does not deviate substantially from a steady- status of the network does not deviate substantially from a steady- state

state

Flow-based Routing Flow-based Routing

5/9

5/8

(9)

9

Multipath Random Routing Multipath Random Routing

Features Features

– uses several paths when routing from source to destination uses several paths when routing from source to destination – splits the outgoing traffic under control of a splits the outgoing traffic under control of a probability probability

distribution function

distribution function (PDF), which usually favors one/some of (PDF), which usually favors one/some of paths according some metrics (“shortest”, less delay, bigger paths according some metrics (“shortest”, less delay, bigger

capacity, lower price, etc.) capacity, lower price, etc.) – requisites: requisites:

• routing matrix for each node with one or more choice probabilities routing matrix for each node with one or more choice probabilities

Effects and Application Effects and Application : :

– higher reliability, better congestion control and performance higher reliability, better congestion control and performance – applicable by networks with bigger traffic variances and when applicable by networks with bigger traffic variances and when

priority services have to be implemented priority services have to be implemented

18/4

(10)

10

Dynamic [Adaptive] Routing Dynamic [Adaptive] Routing

• Dynamic routing Dynamic routing reflects reflects the changes the changes in traffic/network in traffic/network conditions (as stored in the status variables)

conditions (as stored in the status variables)

Effects Effects : :

• more complex more complex decision phase decision phase of the algorithms of the algorithms

• additional communication overhead due to additional communication overhead due to status status information information gathering

gathering [ [ and exchange and exchange ]: depends on range and responsiveness ]: depends on range and responsiveness

Information and control types Information and control types depending on status depending on status information gathering and connected decision making information gathering and connected decision making

isolated (closer to the static routing) isolated (closer to the static routing)

 local status information local status information

 independent local decision making independent local decision making

distributed distributed (best applicable for (best applicable for moderate communication load) moderate communication load)

 adjacent nodes status information (sometimes wider) adjacent nodes status information (sometimes wider)

 local decision making according common rules local decision making according common rules

centralized centralized (best applicable for heavy but stabile load) (best applicable for heavy but stabile load)

 global status gathering (i.e. subnet range or internet range) global status gathering (i.e. subnet range or internet range)

 decision making by devoted node decision making by devoted node

(11)

11

Dynamic Routing Methods Dynamic Routing Methods

Isolated routing Isolated routing

• “Hot-potato” “ Hot-potato” algorithms (synonym algorithms (synonym JSQ JSQ - join shortest queue). - join shortest queue).

Extensions: table of associated biases to the routes (the biases act as Extensions: table of associated biases to the routes (the biases act as delayed queue thresholds)

delayed queue thresholds)

• suitable for heavy/oscillating communication load at the routers suitable for heavy/oscillating communication load at the routers

Distributed routing Distributed routing

• local decision based on the neighbor/all routers’ status local decision based on the neighbor/all routers’ status

• Example methods: Example methods:

• distance vector routing distance vector routing

• link state routing link state routing

Centralized routing Centralized routing

• information and decision procedures are run by the network RCC information and decision procedures are run by the network RCC ( ( Routing Control Center Routing Control Center ), which updates local routing tables ), which updates local routing tables

• quasi-optimal routing decisions and simplified routers cost quasi-optimal routing decisions and simplified routers cost

communication overhead and fault/load-oscillation vulnerability communication overhead and fault/load-oscillation vulnerability

14

12

18/5

(12)

12

Distance Vector Routing Distance Vector Routing

• Each router maintains “vector”-table of the Each router maintains “vector”-table of the distances to the rest of distances to the rest of routers in its

routers in its AS AS ; distances are measured in # of hops, mean ; distances are measured in # of hops, mean

transmission time delay (measured by ECHO packets), local queue length transmission time delay (measured by ECHO packets), local queue length to the remote router, monetary cost, etc.

to the remote router, monetary cost, etc. Synonym Synonym : dynamic Bellman- : dynamic Bellman- Ford routing.

Ford routing.

• In first step distances are predefined (e.g. In first step distances are predefined (e.g.   ), estimated or assumed to be ), estimated or assumed to be known.

known.

• Each router Each router periodically periodically (i.e. (i.e. time-driven control! time-driven control! ) initiates transfer of ) initiates transfer of his vector table

his vector table to the to the immediate neighbor routers only immediate neighbor routers only . .

• Each recipient adds its own distance vector table and forwards it to its Each recipient adds its own distance vector table and forwards it to its neighbors

neighbors

• The step-by-step process continues until each node update its distance The step-by-step process continues until each node update its distance vector table; i.e.

vector table; i.e. information range is neighborhood; information range is neighborhood; decision range decision range is is local

local

Applicable Applicable for smaller networks and the results are suboptimal at best but for smaller networks and the results are suboptimal at best but often problematical

often problematical

5/ 10

(13)

13

Distance Vector Convergence Distance Vector Convergence

• Distance vector routing (the information gathering Distance vector routing (the information gathering

procedure) is vulnerable during the convergence process by procedure) is vulnerable during the convergence process by

failures/changes

failures/changes in the network - inconsistent routing in the network - inconsistent routing and infinite loops (

and infinite loops ( “ “ Count-to-infinity Count-to-infinity ” ” ). ).

• Modifications - split horizon - forwarding to neighbors in Modifications - split horizon - forwarding to neighbors in unidirectional manner (the way back is reported infinity) unidirectional manner (the way back is reported infinity)

• Performance and implementations Performance and implementations

• status propagation in status propagation in D D steps where steps where D D is the “diameter” i.e. the longest is the “diameter” i.e. the longest distance in the connectivity graph

distance in the connectivity graph

 delay metric is distance but not the bandwidth delay metric is distance but not the bandwidth

• simple application but suitable for small networks with not more than few simple application but suitable for small networks with not more than few redundant paths

redundant paths

• RIP RIP

5/11

(14)

14

Link State Routing Link State Routing

Synonym SPF Synonym SPF : shortest path first : shortest path first

Decision range Decision range is local and is local and information range information range covers all the AS routers covers all the AS routers

• Distance metrics considers the link bandwidth Distance metrics considers the link bandwidth

• Consists in development and maintaining of the extensive knowledge of the Consists in development and maintaining of the extensive knowledge of the network routers via exchange of

network routers via exchange of LSA LSA (Link State Advertisement) (Link State Advertisement)

• Phases: Phases:

link metrics link metrics in neighborhood range (round trip ECHO packets with or without in neighborhood range (round trip ECHO packets with or without load consideration

load consideration depending on stability depending on stability requirements) requirements)

AS wide AS wide propagation propagation of the results of of the results of  in link state packets (  in link state packets ( forward forward flooding

flooding method controlled by the 16b sequence number of current packet and method controlled by the 16b sequence number of current packet and its age)

its age)

local SPF computation local SPF computation to any of AS routers: to any of AS routers:

 reconstruction of the weighted net topology graph with averaged throughput arc reconstruction of the weighted net topology graph with averaged throughput arc labels according to the both ends’ states packets

labels according to the both ends’ states packets

 Dijkstra’s SPF over the current topology Dijkstra’s SPF over the current topology

5/ 15

(15)

15

Link State and Hybrid Routing Link State and Hybrid Routing

Link State Routing Performance: Link State Routing Performance:

complex complex link-, memory- and processor-intensive algorithm. Internal link-, memory- and processor-intensive algorithm. Internal link data presentation is of

link data presentation is of R R * * L L

ii

dimension (#routers by #links). dimension (#routers by #links).

performance degradation performance degradation during during initial initial flooding flooding of routing of routing state packets, esp. in large networks with small bandwidth links state packets, esp. in large networks with small bandwidth links

event driven event driven control: convergence process begins and proceeds control: convergence process begins and proceeds quickly after the change event without waiting timeouts; no

quickly after the change event without waiting timeouts; no overhead due to periodical routines

overhead due to periodical routines

best best scalability scalability algorithm algorithm

Hybrid versions Hybrid versions of distributed protocols (Distance Vector of distributed protocols (Distance Vector and Link State) family of protocols that use extended version and Link State) family of protocols that use extended version

of DV metrics, event driven control like LS of DV metrics, event driven control like LS

• implementations: Cisco firmware EIGRP (Enhanced Interior Gateway implementations: Cisco firmware EIGRP (Enhanced Interior Gateway Routing Protocol)

Routing Protocol)

• performance: performance: better information convergence than DV and better better information convergence than DV and better bulk overhead than LS

bulk overhead than LS

(16)

16

Hierarchical Routing Hierarchical Routing

• Routing algorithms’ Routing algorithms’ scalability limits the range of effective scalability limits the range of effective (or tolerably ineffective) routing

(or tolerably ineffective) routing

• Hierarchical approach divides the network in Hierarchical approach divides the network in regions regions that that are ranges of the network graph i.e. in related subsets of are ranges of the network graph i.e. in related subsets of

routers routers

• Each local routing table includes: Each local routing table includes:

• all the links to the routers in the region all the links to the routers in the region

• one or few links to node[s] in the neighbor regions one or few links to node[s] in the neighbor regions

• Multilevel hierarchy possible Multilevel hierarchy possible

• Iterregion routing may be distributed or centralized Iterregion routing may be distributed or centralized

• Hierarchy optimization (Kleinrock) for Hierarchy optimization (Kleinrock) for N N -router network: -router network:

• optimal # of levels optimal # of levels L L = ln = ln N N

• required # of table entries required # of table entries t t = = e e ln ln N N = = e e L L

• for 5/17 example for 5/17 example L = L = ln17 = 2.83 ln17 = 2.83 , t = , t = 7.701 7.701

5/17

(17)

17

Broadcasting and Broadcasting and

Multicasting Multicasting

Broadcast Broadcast routing methods: routing methods:

Separate packets to all destinations Separate packets to all destinations

Flooding Flooding

Multi- Multi- or omni-destination routing or omni-destination routing : :

• Packets contain enumeration of addresses or address mask over the multi-destination Packets contain enumeration of addresses or address mask over the multi-destination field

field

• The router propagates such packet to each output line locally known as best route The router propagates such packet to each output line locally known as best route for some subset of the destinations; the destination enumeration/mask is reduced to for some subset of the destinations; the destination enumeration/mask is reduced to the destinations reachable on that line

the destinations reachable on that line

• Splitting continues until each packet has single destination Splitting continues until each packet has single destination

Spanning tree Spanning tree broadcasting: moderated flooding to all routers without loops. broadcasting: moderated flooding to all routers without loops.

Applicable by LSR but not by DVR Applicable by LSR but not by DVR

Reverse path forwarding Reverse path forwarding . Topology information of . Topology information of   is replaced by keeping is replaced by keeping history track of routers’

history track of routers’ receiving link with exclusive propagation or discarding. receiving link with exclusive propagation or discarding.

Multicast Routing: Multicast Routing:

Groups’ spanning tree Groups’ spanning tree method: method:

• each router maintains and propagate dynamically list of groups’ members among each router maintains and propagate dynamically list of groups’ members among adjacent hosts

adjacent hosts

• a pruned spanning tree a pruned spanning tree is calculated for each group and the traffic is rerouted to is calculated for each group and the traffic is rerouted to and by the root node of the tree

and by the root node of the tree

5/21

(18)

18

TCP/IP Routing Protocols TCP/IP Routing Protocols

• Internet routing concepts Internet routing concepts

• Autonomous systems (AS) Autonomous systems (AS)

• internal and external routing - standardization and code reusability: interior internal and external routing - standardization and code reusability: interior and exterior gateway routing protocols

and exterior gateway routing protocols

• Internet IGRPs Internet IGRPs

RIP RIP (obsolete) - Bellman-Ford DVRP, time-driven: updates in 30 sec (obsolete) - Bellman-Ford DVRP, time-driven: updates in 30 sec

OSPF OSPF (Open SPF) - multimetric, adaptive, LS method, event-driven: (Open SPF) - multimetric, adaptive, LS method, event-driven:

• service oriented (consider real-time and priority of the IP datagrames) service oriented (consider real-time and priority of the IP datagrames)

• congestion control (load balancing) considerations congestion control (load balancing) considerations

conservative: frequent alternative events are ignored! conservative : frequent alternative events are ignored!

• support of hierarchical routing: splitting of AS in areas and backbones support of hierarchical routing: splitting of AS in areas and backbones

• security: routing table protection security: routing table protection

• tunneling and transparent service to the outside network requests tunneling and transparent service to the outside network requests

• OSPF application: OSPF application:

• Point-to-point networks Point-to-point networks

• multiaccess networks with broadcasting (LANs) and packet-switching multiaccess networks with broadcasting (LANs) and packet-switching

• 2 modes of OSPF application: 2 modes of OSPF application:

• intra-area routing intra-area routing

• inter-area routing inter-area routing

• backbone routers backbone routers

• inter-AS routing - interfacing some EGRP inter-AS routing - interfacing some EGRP

5/52 18/6

5/53

(19)

19

TCP/IP Routing Protocols TCP/IP Routing Protocols

OSPF (cont.): OSPF (cont.):

• message exchange in local range (between adjacent designated message exchange in local range (between adjacent designated routers - one in a LAN if more presented)

routers - one in a LAN if more presented)

EGRP EGRP s: Border Gateway Protocol ( s: Border Gateway Protocol ( BGP) BGP )

• extends the principle of hierarchical routing in Internet extends the principle of hierarchical routing in Internet

• applies different kind of routing considerations on inter-AS level applies different kind of routing considerations on inter-AS level

• any pair of BGPs is interfaced via TCP connection by at least one any pair of BGPs is interfaced via TCP connection by at least one common network that can be

common network that can be

• common multiconnected network common multiconnected network

• devoted transit network devoted transit network

• stub networks have single connection to some BGP router stub networks have single connection to some BGP router

• hybrid algorithm: applies DV information/propagation strategy but hybrid algorithm: applies DV information/propagation strategy but keeping and propagating the exact route to each destination.

keeping and propagating the exact route to each destination.

5/79

(20)

20

18/1 18/1

ping,

traceroute

(21)

21

5/3 5/3

(22)

22

5/4 5/4

5/5 5/5

Resource conflict

Sink tree

(23)

23

1 2 3 4 5 6 1 * 2 3 4 4 3 2 1 * 3 4 4 4 3 1 2 * 4 5 6 4 1 2 5 * 5 5 5 4 4 3 4 * 6 6 3 5 3 5 5 * Central Routing Directory

Node 6 Directory Node 5 Directory

Node 4 Directory Node 3 Directory

Node 2 Directory Node 1 Directory

2 3 4 5 6 1 2 3 4 4 3

18/2 18/2 18/3 18/3

(24)

24

5/6 5/6

Shortest Path Routing

(25)

25

5/8 5/8

(26)

26

5/9 5/9

(27)

27

JG new route calculation

via J  via via G comul.

A 8 18 26

I 10 31 41

H 12 6 18

K 6 31 37

5/10 5/10

(28)

28

5/11 5/11

(29)

29

18/4/5 18/4/5

Routing probability matrix for node 4.

Dest. via q

4i

bias q+b 1. 1. q

41

0 q

41

+0

3. q

43

2 q

43

+2 2. 2. q

42

0 q

42

+0 1. q

41

4 q

41

+4

… … … …

6. 5. q

43

0 q

43

+0 3. q

45

2 q

45

+2 1. q

41

5 q

43

+5

 JSQ biased matrix for node 4.

Dest. I

st

choice II

nd

choice III

rd

choice 1. 1. 0.63 2. 0.37

2. 2. 0.63 1. 0.20 3. 0.17

3. 3. 0.50 1. 0.30 2. 0.20

5. 5. 0.70 3. 0.30

6. 3. 0.66 5. 0.22 1. 0.12

(30)

30

5/15 5/15

Link states table

(31)

31

5/17 5/17

Hierarchical routing

(32)

32

5/21 5/21

(33)

33

18/6 18/6

(34)

34

5/52 5/52

(35)

35

5/53 5/53

(36)

36

BGP BGP

(a) A set of BGP routers. (b) Information sent to F.

(a) A set of BGP routers. (b) Information sent to F.

5/79 5/79

References

Related documents

The ability of immune detectors to evolve by exploring of new malicious material al- low to intelligent detection system adapt to new malware and provide effective defense

Abuse – Abusive partner lashes out with aggressive, belittling, or violent behavior. He’s more worried about the possibility of being caught and facing consequences for his

With different routing protocols such as Destination Sequenced Distance Vector Protocol (DSDV) and Ad hoc On Demand Distance Vector (AODV), the network performance was examined

Abstract: This paper offers a new algebra, which is called the Liu algebra (which is named after author), because of its origin in BCL ⁺ algebras, and connections between BCL

  Home > C++ > C++ Project on Railway Ticket Reservation C++ Project on Railway Ticket Reservation Railway Ticket Reservation C++ Project

(c) Topologically trivial error cycle. This does not affect the logical state of the surface code or the states of data qubits on boundaries. Four X errors occur in the center of

This paper is a review of the relevant studies conducted on schistosomiasis in Malawi with special focus on morbidity, prevalence and determinants (risk.. factors, and