* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Slide 1
Wake-on-LAN wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Backpressure routing wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Computer security wikipedia , lookup
Computer network wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Peer-to-peer wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
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