Download Slide 1

Document related concepts

Wake-on-LAN wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Backpressure routing wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Computer security wikipedia , lookup

Peering wikipedia , lookup

Computer network wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

IEEE 1355 wikipedia , lookup

Peer-to-peer wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Airborne Networking wikipedia , lookup

Routing wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
Multiplexing
Traditional Multiplexing
TRADITIONAL MULTIPLEXING TECHNIQUES
Frequency Division Multiplexing
Different frequency for each station (like full-duplex FSK)
ADSL divides phoneline bandwidth using FDM:
allocates channels according to conditions
Time Division Multiplexing.
One time slot/sender
SLOT1
SLOT2 SLOT3 SLOT4 SLOT5
Periodic SYNC slots maintain synchronisation
hi
Computer Systems (159.253)
hi?
~ 65 ~
Data Communications: © P.Lyons 2004
Multiplexing
Statistical Multiplexing
STATISTICAL MULTIPLEXING
FDM & TDM maintains sender-receiver correspondence by synch pulses
must always allocate same fraction of bandwidth for each channel
wastes bandwidth when sender has no data
Stat-mux includes id #s of sender and receiver with data
no need to maintain synchronisation
delivery relies on receiver’s id
100% of bandwidth available for data (less id overhead)
To benefit from this, sender links need to be high bandwith
Incoming data can overrun statmux
Need buffers to smooth out peaks
Statmux “chokes” sender, or discards data packets when buffer fills
Computer Systems (159.253)
~ 66 ~
Data Communications: © P.Lyons 2004
CLASSIFICATION
Networks
Network Classification
Wide area networks
ATM
“The” Internet
Networks
Ethernet
Local area networks
WiFi
Twisted pair
Token ring
Computer Systems (159.253)
~ 67 ~
Data Communications: © P.Lyons 2004
Networks
Tanenbaum 3 edition: 412-423, 521-542
The Internet
rd
THE INTERNET
Uses self-contained packets (datagrams - cf. telegrams)
travel independently through network
like letters in postal system
but called datagrams - cf. telegrams.
More robust than connection-oriented networks
If a node fails then subsequent packets will still get through.
Original connectionless system developed into TCP/IP
now forms the basis of the internet.
Computer Systems (159.253)
~ 68 ~
Data Communications: © P.Lyons 2004
Networks
The Internet Protocols
THE INTERNET PROTOCOLS
One protocol for delivering datagrams to a destination
IP - the Internet Protocol
Unreliable: discards, reorders, duplicates datagrams
Several alternative protocols for mapping between messages and datagrams
TCP - the Transmission Control Protocol
Used for messages that are spread across multiple datagrams
Combines IP and ARQ techniques to provide reliable, sequenced data delivery
UDP - the User Datagram Protocol
Sends single packets across the network
Packets sink or swim; no enhanced reliability
others
Computer Systems (159.253)
~ 69 ~
Data Communications: © P.Lyons 2004
Networks
IP
IP
Just a delivery mechanism
Specifically designed for internetworks
Transport layer (TCP) generates up to 64KB datagrams
Usually ≈ 1500 bytes
Subnets can handle different sized datagrams
Fragmentation may be necessary at subnet boundaries
IP provides unambiguous reassembly
Fragments identifiable by byte indexing
Computer Systems (159.253)
~ 70 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
4 bytes
version
Header
Fixed part
5 blocks
Fixed part: 20 bytes
Options: variable
Options
Version
Allows different versions of IP to run simultaneously: the internet is big
Computer Systems (159.253)
~ 71 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL
Header
Fixed part: 20 bytes
Options: variable
Options
IHL (IP Header Length)
Header has 5 to 15 32-bit words (20 – 60 bytes)
So options field is 0-40 bytes
Computer Systems (159.253)
~ 72 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
Header
Fixed part: 20 bytes
Options: variable
Options
Service type specifies QOS (Quality of Service)
3 bits for precedence (0  normal, 7  network control packet)
1 bit each for delay
Sender sets 1 of these bits; generally ignored!
1 bit each for throughput
1 bit each for reliability
Computer Systems (159.253)
~ 73 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
Total length
Header
Fixed part: 20 bytes
Options: variable
Options
Total Length
Datagram size 20-65536 bytes
Too small for efficient use of very high speed networks
Computer Systems (159.253)
~ 74 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
Total length
identification
Header
Fixed part: 20 bytes
Options: variable
Options
Identification
Unique to a datagram and its fragments
Computer Systems (159.253)
~ 75 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
identification
Total length
D
F
Header
Fixed part: 20 bytes
Options: variable
Options
DF
Don’t fragment (because receiver is unable to reassemble)
Computer Systems (159.253)
~ 76 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
identification
Total length
DM
F F
Fragment offset
Header
Fixed part: 20 bytes
Options: variable
Options
MF
More Fragements (of the current datagram after this one)
Set in all fragments of an original datagram except the last
Fragment Offset: Location of 1st byte of fragment within original datagram
Min fragment size is 8 bytes; location is actually byte index mod 8
Computer Systems (159.253)
~ 77 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
identification
Header
Total length
DM
F F
Fragment offset
TTL
Fixed part: 20 bytes
Options: variable
Options
TTL (Time To Live)
Theoretically units = seconds,
In practice, decremented by 1 at each hop
Computer Systems (159.253)
~ 78 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
identification
Header
TTL
Total length
DM
F F
Fragment offset
Protocol
Fixed part: 20 bytes
Options: variable
Options
Protocol
Protocol that should handle the packet in the receiving station
TCP, UDP, TPO-4, etc
Computer Systems (159.253)
~ 79 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
identification
Header
TTL
Protocol
Total length
DM
F F
Fragment offset
Header checksum
Fixed part: 20 bytes
Options: variable
Options
Header Checksum
Detects corruption in routers
Computer Systems (159.253)
~ 80 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
identification
Header
Fixed part: 20 bytes
Options: variable
TTL
Protocol
Total length
DM
F F
Fragment offset
Header checksum
Source address
Destination address
Options
Source Address & Destination Address
4-byte IP addresses (see later)
Computer Systems (159.253)
~ 81 ~
Data Communications: © P.Lyons 2004
Networks
IP Datagrams
IP DATAGRAMS
version IHL Service type
identification
Header
Fixed part: 20 bytes
Options: variable
TTL
Protocol
Total length
DM
F F
Fragment offset
Header checksum
Source address
Destination address
Options
Options
Security: if set, packet should avoid doubtful routes; not heeded
Strict source routing; defeats corrupt routing tables; allows route timing measurements
Loose source routing; route must include specified routers. For routing round enemies
Record route; when routing thought to be incorrect
Timestamp; as previous, including timestamp; also for debugging routing algorithms
Computer Systems (159.253)
~ 82 ~
Data Communications: © P.Lyons 2004
Networks
4-Byte IP Address
4-BYTE IP ADDRESS (*.*.*.*)
unique world-wide address of individual host
Class
network
host
A
0
1
127
0
255
0
255
0
255
126 networks
with 16 million hosts
B
1 0
128
191
0
255
0
255
0
255
16K networks
with 64K hosts
C
1 1 0
192
223
0
255
0
255
0
255
2 million networks
with 254 hosts
D
1 1 1 0
0
255
0
255
0
255
multicast
E
1 1 1 1 0
0
255
0
255
0
255
reserved
~ 83 ~
Data Communications: © P.Lyons 2004
224
239
240
247
Computer Systems (159.253)
Networks
IP Address
4-BYTE IP ADDRESS (*.*4-Byte
. *. *)
unique world-wide address of individual host
Class
network
host
A
0
1
127
0
255
0
255
0
255
126 networks
with 16 million hosts
B
1 0
128
191
0
255
0
255
0
255
16K networks
with 64K hosts
C
1 1 0
192
223
0
255
0
255
0
255
2 million networks
with 254 hosts
D
1 1 1 0
0
255
0
255
0
255
multicast
E
1 1 1 1 0
0
255
0
255
0
255
reserved
~ 84 ~
Data Communications: © P.Lyons 2004
224
239
240
247
Computer Systems (159.253)
Networks
IP Address
4-BYTE IP ADDRESS (*.*4-Byte
. *. *)
unique world-wide address of individual host
Class
network
host
A
0
1
127
0
255
0
255
0
255
126 networks
with 16 million hosts
B
1 0
128
191
0
255
0
255
0
255
16K networks
with 64K hosts
C
1 1 0
192
223
0
255
0
255
0
255
2 million networks
with 254 hosts
D
1 1 1 0
0
255
0
255
0
255
multicast
E
1 1 1 1 0
0
255
0
255
0
255
reserved
~ 85 ~
Data Communications: © P.Lyons 2004
224
239
240
247
Computer Systems (159.253)
Networks
4-Byte IP Address
4-BYTE IP ADDRESS (*.*.*.*)
unique world-wide address of individual host
Class
network
host
A
0
1
127
0
255
0
255
0
255
126 networks
with 16 million hosts
B
1 0
128
191
0
255
0
255
0
255
16K networks
with 64K hosts
C
1 1 0
192
223
0
255
0
255
0
255
2 million networks
with 254 hosts
D
1 1 1 0
0
255
0
255
0
255
multicast
E
1 1 1 1 0
0
255
0
255
0
255
reserved
~ 86 ~
Data Communications: © P.Lyons 2004
224
239
240
247
Computer Systems (159.253)
Networks
IP Address
4-BYTE IP ADDRESS (*.*4-Byte
. *. *)
unique world-wide address of individual host
Class
network
host
A
0
1
127
0
255
0
255
0
255
126 networks
with 16 million hosts
B
1 0
128
191
0
255
0
255
0
255
16K networks
with 64K hosts
C
1 1 0
192
223
0
255
0
255
0
255
2 million networks
with 254 hosts
D
1 1 1 0
0
255
0
255
0
255
multicast
E
1 1 1 1 0
0
255
0
255
0
255
reserved
~ 87 ~
Data Communications: © P.Lyons 2004
224
239
240
247
Computer Systems (159.253)
Networks
IP special addresses
IP SPECIAL ADDRESSES
Net
0
0
all 1s,
x
host
0
x
all 1s
all 1s
127.x.y.z
Computer Systems (159.253)
used by an IP host when booting
host x on local network
broadcast on local network
broadcast to distant network
deliver packet to own TSAP
~ 88 ~
Data Communications: © P.Lyons 2004
Networks
CIDR
CIDR
Class-based address allocation inefficient
Address blocks match organisations’ requirements poorly
Routing tables too big – max size 60000 networks
Solution
Make network field variable in size
Allocate networks hierarchically
Major ISP with 215 networks
Backbone routing
*.*.*.* /27
Small ISPs
Large organisations
Local routing
Computer Systems (159.253)
*.*.*.* /15
*.*.*.* /22
Individual organisations
~ 89 ~
*.*.*.* /19
*.*.*.* /28
*.*.*.* /22
Data Communications: © P.Lyons 2004
TCP
Networks
TCP
Reliable end-to-end communication over unreliable internetwork
Subnets may be incompatible
IP delivery is neither reliable, nor in-order
TCP must compensate
At sender
TCP entity generates ≤ 64Kbyte datagrams from applications
At receiver
TCP entity generates byte stream for applications from datagrams
Computer Systems (159.253)
~ 90 ~
Data Communications: © P.Lyons 2004
SOCKETS
Networks
Sockets
Applications using TCP communicate via sockets
To the application, sockets behave like files
Use read & write to input and output information via the comms link
Computer Systems (159.253)
~ 91 ~
Data Communications: © P.Lyons 2004
Networks
TCP CHARACTERISTICSTCP characteristics
full-duplex
point-to-point
no multicasting or broadcasting
byte stream
message boundaries are not preserved
receiver must detect boundaries for itself
Computer Systems (159.253)
~ 92 ~
Data Communications: © P.Lyons 2004
TCP PROTOCOL
Networks
TCP protocol
Fragmentation in TCP works at the byte level
Each byte has 32-bit seq no
not included with the byte
seq no of first byte in PDU included with PDU
TCP entities exchange segments
20-byte fixed header
≥0-bytes extension
≥0 data bytes
Computer Systems (159.253)
~ 93 ~
Data Communications: © P.Lyons 2004
TCP PROTOCOL
Networks
TCP protocol
TCP determines amount of data in payload
TCP segment must fit
within 64Kbyte IP payload
within subnet’s MTU (maximum transfer unit)
usually < 5000 bytes
may be fragmented when reaches subnet with smaller MTU
Sliding window acknowledgement scheme
byte sequence numbers allow for inconsistent fragmentation
Computer Systems (159.253)
~ 94 ~
Data Communications: © P.Lyons 2004
THE PROBLEM
Network Routing
Network Routing
Which o/p port leads to ultimate destination?
Considerations:
Network topology changes
Should we minimise packet delay or maximise throughput?
Try to achieve both by minimising Source-Destination hop count
Maximise throughput by giving Channel A 100% of bandwidth? Not fair to channel B
Computer Systems (159.253)
~ 95 ~
Data Communications: © P.Lyons 2004
Network Routing
CENTRALISED ROUTINGCentralised Routing
Routing tables held in RCC (Routing Control Centre)
IMPs send data to RCC at intervals
Queue lengths, traffic intensity, operating neighbours
RCC computes & distributes optimum routes for entire subnet
Characteristics
Adaptive
good routing decisions possible
low processing overhead on other nodes
frequent (slow) updates necesssary
losing even 1 link can be disastrous
tables differ through network
distributing routing tables is heavy load
Computer Systems (159.253)
~ 96 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 97 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance
Vector Algorithm
THE DISTANCE VECTOR
ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N
N:0
N:1
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 98 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:2
N
N:0
N:1
N:1
N:2
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 99 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:2
N
N:0
N:1
N:1
N:3
N:2
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 100 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:2
N
N:0
N:1
N:1
N:3
N:3
N:4
N:2
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 101 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:2
N:1
N:3
N
N:4
N:2
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 102 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:2
N:3
N:1
N:3
N
N:2
N:3
N:4
N:4
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 103 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:2
N:4
N:3
N:3
N
N:2
N:4
N:3
N:4
N:4
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 104 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:4
N:3
N:5
N:5
N:3
N
N:4
N:3
N:4
N:4
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 105 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:6
N:4
N:5
N:5
N
N:4
N:6
N:5
N:4
N:6
N:4
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 106 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:6
N:5
N:7
N:5
N:7
N
N:6
N:5
N:6
N:6
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 107 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:8
N:6
N:7
N:7
N
N:8
N:6
N:7
N:8
N:6
N:6
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 108 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:8
N:7
N:9
N:7
N:9
N
N:8
N:8
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 109 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance
Vector Algorithm
THE DISTANCE VECTOR
ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:8
N:10
N:9
N:9
N
N:8
N:10
N:8
N:10
etc. etc. etc.
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 110 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance
Vector Algorithm
THE DISTANCE VECTOR
ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:10
N:9
N:9
N
N:10
N:10
The “count to infinity” problem
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 111 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance
Vector Algorithm
THE DISTANCE VECTOR
ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:10
N:0
N:1
N:9
N:9
N
N:9
N:10
N:9
N:10
N:10
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 112 ~
Data Communications: © P.Lyons 2004
Network Routing
Distance Vector Algorithm
THE DISTANCE VECTOR ALGORITHM
Distributed version of Bellman-Ford
Each routing location maintains a routing table
Bellman?
Ford?
(destination, port, estimated cost) for all destinations
Routers
Regularly check costs to immediate neighbours
Share their routing tables
Regenerate tables using lowest cost routes
N:10
N:2
N:0
N:1
N:3
N:9
N
N:1
N:10
N:2
N:9
N:10
N:4
N:10
What’s the best route to N, the new node?
Computer Systems (159.253)
~ 113 ~
Data Communications: © P.Lyons 2004
Network Routing
DIJKSTRA’S ALGORITHMDijsktra’s algorithm
establishes a “sink tree” - tree of minimum paths - for each node in the network
must be run for each node in the network
was originally designed to find optimum distribution path for information
Originally root node was called the “source” of information
In current use, interested in path to root node - “source” actually means destination
Routing table in each node records the port closest to “source”
Send datagrams for “source” out this port
Algorithm
starts building tree from the source node
repeatedly adds the leaf node with lowest (cumulative) cost
Computer Systems (159.253)
~ 114 ~
Data Communications: © P.Lyons 2004
Network Routing
DIJKSTRA’S ALGORITHMDijsktra’s algorithm
Edsger
W.
Dijkstra
2
2
1
1
Find all candidates - Neighbours of current leaf nodes
Root sends IdentifyCandidates message down the tree
Candidates send Cost message back up the tree
Add lowest cost candidate to tree
Each node accepts lowest cost candidate, rejects others
Computer Systems (159.253)
~ 115 ~
Data Communications: © P.Lyons 2004
Network Routing
Dijsktra’s algorithm
DIJKSTRA’S ALGORITHM
Edsger
W.
Dijkstra
2
1
Find all candidates - Neighbours of current leaf nodes
Root sends IdentifyCandidates message down the tree
Candidates send Cost message back up the tree
Add lowest cost candidate to tree
Each node accepts lowest cost candidate, rejects others
Computer Systems (159.253)
~ 116 ~
Data Communications: © P.Lyons 2004
Network Routing
Dijsktra’s algorithm
DIJKSTRA’S ALGORITHM
Edsger
W.
Dijkstra
2
4
1
3
4
Find all candidates - Neighbours of current leaf nodes
Root sends IdentifyCandidates message down the tree
Candidates send Cost message back up the tree
Add lowest cost candidate to tree
Each node accepts lowest cost candidate, rejects others
Computer Systems (159.253)
~ 117 ~
Data Communications: © P.Lyons 2004
Network Routing
DIJKSTRA’S ALGORITHMDijsktra’s algorithm
2
Edsger
W.
Dijkstra
2
4 5
34
1
1
45
Find all candidates - Neighbours of current leaf nodes
Root sends IdentifyCandidates message down the tree
Candidates send Cost message back up the tree
Add lowest cost candidate to tree
Each node accepts lowest cost candidate, rejects others
Computer Systems (159.253)
~ 118 ~
Data Communications: © P.Lyons 2004
Network Routing
Dijsktra’s algorithm
DIJKSTRA’S ALGORITHM
2
Edsger
W.
Dijkstra
2 5
4
1
4
3
5
4
Find all candidates - Neighbours of current leaf nodes
Root sends IdentifyCandidates message down the tree
Candidates send Cost message back up the tree
Add lowest cost candidate to tree
Each node accepts lowest cost candidate, rejects others
Computer Systems (159.253)
~ 119 ~
Data Communications: © P.Lyons 2004
Network Routing
Dijsktra’s algorithm
DIJKSTRA’S ALGORITHM
46
2
2
Edsger
W.
Dijkstra
46
5 4 6
1
43
1
45
Find all candidates - Neighbours of current leaf nodes
Root sends IdentifyCandidates message down the tree
Candidates send Cost message back up the tree
Add lowest cost candidate to tree
Each node accepts lowest cost candidate, rejects others
Computer Systems (159.253)
~ 120 ~
Data Communications: © P.Lyons 2004
Network Routing
Dijsktra’s algorithm
DIJKSTRA’S ALGORITHM
6
4
2
5
4
6
4
1
6
Edsger
W.
Dijkstra
4
3
4
5
Find all candidates - Neighbours of current leaf nodes
Root sends IdentifyCandidates message down the tree
Candidates send Cost message back up the tree
Add lowest cost candidate to tree
Each node accepts lowest cost candidate, rejects others
Computer Systems (159.253)
~ 121 ~
Data Communications: © P.Lyons 2004
Network Routing
Dijsktra’s algorithm
DIJKSTRA’S ALGORITHM
4
4
2
4
1
2
Edsger
W.
Dijkstra
4
3
2
4
Find all candidates - Neighbours of current leaf nodes
Root sends IdentifyCandidates message down the tree
Candidates send Cost message back up the tree
Add lowest cost candidate to tree
Each node accepts lowest cost candidate, rejects others
Computer Systems (159.253)
~ 122 ~
Data Communications: © P.Lyons 2004