2. 4/4/2011
Virtual circuits Virtual circuits: signaling protocols
• The source‐to‐destination path tries to behave like a physical • used to setup, maintain, and teardown VC
circuit • used in ATM (Asynchronous Transfer Mode), frame‐
relay, X.25
• The network layer maintains the illusion of a circuit:
• not used in today’s Internet
– call setup for each call before data can flow (teardown
after)
– each packet carries VC identifier (instead of the destination application
host ID) 5. Data flow begins 6. Receive data application
transport
4. Call connected transport
– every router on source‐destination path maintains “state” network 3. Accept call
1. Initiate call network
data link 2. incoming call
for each passing connection physical
data link
– link, router resources (bandwidth, buffers) may be physical
allocated to VC
7 8
Datagram networks: The Internet
Routing in a datagram model
model
• no call setup at network layer
• routers: no state about end‐to‐end connections • Moving packets to their destination is done as a series of
• packets typically routed using destination host ID local routing decisions at each switch
– packets between same source‐dest pair may take different • Each switch maintains a forwarding or routing table that says
paths!
which way packets have to go to reach a particular
destination
• The information in the routing table is gathered using a
application routing protocol
application
transport
transport
network Dest Port
data link 1. Send data 2. Receive data network 1
data link A 2
physical
physical 2
B 3 3
C 1
9 10
Network layer service models Datagram vs. VC network
Guarantees ?
Network Service Congestion Internet (IP) ATM
Architecture Model Bandwidth Loss Order Timing feedback
• data exchange among computers • evolved from telephony
Internet best effort none no no no no (inferred – “elastic” service, no strict timing • human conversation
via loss) req. – strict timing, reliability
ATM CBR constant yes yes yes no • “smart” end systems (computers) requirements
rate congestion – can adapt, perform control, – need for guaranteed service
ATM VBR guaranteed yes yes yes no error recovery • “dumb” end systems
rate congestion – telephones
– simple inside network,
ATM ABR guaranteed no yes no yes – complexity inside network
complexity at “edge”
minimum • Today not really used and being
ATM UBR none no yes no no • many link types
phased out
– different characteristics
Recommended reading:
CBR = Constant Bit Rate VBR = Variable Bit Rate ABR = Average Bit Rate – uniform service difficult http://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode
UBR = Unspecified Bit Rate
Recommended reading => http://en.wikipedia.org/wiki/Traffic_contract
11 12
2
3. 4/4/2011
Internetworking (IP)
Internet Protocol (IP)
Source:http://en.wikipedia.org/wiki/Internet_Protocol
13 14
Internetworking (IP) Packet format
0 4 8 16 19 31
Type of
• The Internet Protocol Version Hdr length service Length
– Datagram based Identifier Flags Offset
• Best effort, unreliable Upper Layer
Time To Live Header Checksum
Protocol
• Simple routers Source Address
• Packet fragmentation and reassembly
Destination Address
Options (optional)
– Addressing schema
• IP Addresses
DATA
– Routing protocols
15 16 http://en.wikipedia.org/wiki/IPv4#Packet_structure
Fragmentation and reassembly IP Fragmentation and Reassembly
length ID fragflag offset
• IP needs to work over many different physical networks =4000 =x =0 =0
– Networks have different maximum packet sizes
One large datagram becomes
– IP needs to fragment and reassemble packets to make several smaller datagrams
them fit in the frames of the next layer
• Every network has a Maximum Transmission Unit: the largest length ID fragflag offset
=1500 =x =1 =0
IP datagram it can carry in the payload of a frame
length ID
• Fragment when needed, reassemble only at destination fragflag offset
=1500 =x =1 =1480
• The fields “identifier”, “flag”, and “offset” are used to mark
the fragments and reassemble them as needed. length ID fragflag offset
=1040 =x =0 =2960
17 18
3
4. 4/4/2011
IP addressing
• The Internet Protocol is meant as a protocol to communicate
across networks: Internetworking
– There is not a single network but a hierarchy of networks
– Routing happens within networks and across networks
IP Addresses – Addresses are designed to reflect the hierarchical
organization of the networks comprising the Internet
19 20
IP Addresses Initial Internet design
Up to 126 class A (wide area) networks
“class‐full” addressing: 3 types of networks plus some
reserved addresses (http://en.wikipedia.org/wiki/IP_address)
Class A Class A Class A
class
1.0.0.0 to
A 0 network host 127.255.255.255
class B (campus area) networks (64x256)
B network 128.0.0.0 to
10 host
191.255.255.255
Class B Class B Class B Class B Class B Class B
192.0.0.0 to
C 110 network host
223.255.255.255
224.0.0.0 to
D 1110 multicast address
239.255.255.255 class C (local area) networks (32x256x256)
32 bits
Class C Class C Class C Class C Class C Class C Class C
8 bits
21 http://en.wikipedia.org/wiki/IP_address 22
IP Addressing IP Addressing
223.1.1.1
223.1.1.1
223.1.2.1
• IP address: 32‐bit identifier for • IP address 223.1.1.2
223.1.2.1
host or router interface 223.1.1.2 – network part (high order 223.1.1.4 223.1.2.9
223.1.1.4 223.1.2.9 bits)
• Interface: connection to a 223.1.2.2
physical link 223.1.2.2 – host part (low order bits) 223.1.1.3 223.1.3.27
223.1.1.3 223.1.3.27
– routers typically have • What’s a (local) network? (from
LAN
multiple interfaces IP address perspective)
– host may have multiple – device interfaces with same 223.1.3.1 223.1.3.2
interfaces 223.1.3.1 223.1.3.2 network part of IP address
– IP addresses associated with – can physically reach each
interface, not host or router other without intervening
network consisting of 3 IP networks
router (for IP addresses starting with 223,
223.1.1.1 = 11011111 00000001 00000001 00000001 the first 24 bits are network address)
223 1 1 1
23 24
4
5. 4/4/2011
IP addressing: CIDR IP addresses: how to get one?
• class‐full addressing:
– inefficient use of address space, address space exhaustion How do hosts get one? (host portion)
– e.g., class B net allocated enough addresses for 65K hosts, even if • Either hard‐coded by system admin in a file
only 2K hosts in that network
• CIDR: Classless InterDomain Routing – Wintel: control‐panelnetworkconfiguration
– An improvement over basic IP addressing for more efficient use of tcp/ipproperties
addresses – UNIX: /etc/rc.config
– network portion of address of arbitrary length • Or DHCP: Dynamic Host Configuration Protocol
– address format: a.b.c.d/x, where x is number of bits defining the – dynamically get address: “plug‐and‐play”
network portion of address
– host broadcasts “DHCP discover” message
network host – DHCP server responds with “DHCP offer” message
part part – host requests IP address: “DHCP request” message
11001000 00010111 00010000 00000000 – DHCP server sends address: “DHCP ack” message
200.23.16.0/23
25 http://en.wikipedia.org/wiki/Classless_Inter‐Domain_Routing 26
Hierarchical addressing: route
IP addresses: how to get one? aggregation
Network (network portion) Hierarchical addressing allows efficient advertisement of
• get allocated portion of ISP’s address space routing information:
Organization 0
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 200.23.16.0/23
Organization 1
“Send me anything
Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 200.23.18.0/23 with addresses
Organization 2 beginning
Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 200.23.20.0/23 . Fly‐By‐Night‐ISP 200.23.16.0/20”
.
. . Internet
.
Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23
Organization 7 .
200.23.30.0/23
... ….. …. ….
“Send me anything
ISPs‐R‐Us
with addresses
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 beginning
199.31.0.0/16”
27 28
Hierarchical addressing: more
IP addressing: the last word...
specific routes
What if Organization 1 wants to change the provider?
ISPs‐R‐Us has a more specific route to Organization 1 • How does an ISP get a block of addresses?
Organization 0
– from another (bigger) ISP or
200.23.16.0/23
– with ICANN: Internet Corporation for Assigned
“Send me anything Names and Numbers
with addresses
Organization 2 beginning • allocates addresses
200.23.20.0/23 . Fly‐By‐Night‐ISP 200.23.16.0/20”
• manages DNS
.
. . Internet
. • assigns domain names, resolves disputes
Organization 7 .
200.23.30.0/23
ISPs‐R‐Us
“Send me anything • Will there be enough IP addresses, ever?
with addresses
Organization 1 beginning 199.31.0.0/16 – No, there are some hacks around the corner (later)
or 200.23.18.0/23”
200.23.18.0/23
29 30
5
6. 4/4/2011
Getting a datagram from source to
destination Getting a datagram from source to destination
routing table in A
Dest. Net. next router #hops
misc Dest. Net. next router #hops
data
Known as “forwarding” 223.1.1 1 fields 223.1.1.1 223.1.1.3
223.1.1 1
223.1.2 223.1.1.4 2
Starting at A, given IP datagram 223.1.2 223.1.1.4 2
223.1.3 223.1.1.4 2
misc source dest addressed to B: 223.1.3 223.1.1.4 2
IP datagram: data
fields IP addr IP addr
A look up net. address of B
datagram remains unchanged, as
223.1.1.1 A 223.1.1.1
find B is on same net. as A
it travels from source to 223.1.2.1
destination 223.1.1.2 link layer will send datagram directly to 223.1.2.1
223.1.1.2
223.1.1.4 223.1.2.9 B inside link‐layer frame
addr fields of interest here B A and B are directly connected
223.1.1.4 223.1.2.9
223.1.2.2 B
223.1.1.3 223.1.3.27 E 223.1.2.2
E
223.1.1.3 223.1.3.27
223.1.3.1 223.1.3.2
223.1.3.1 223.1.3.2
31 32
Getting a datagram from source to destination Getting a datagram from source to destination
Dest. next
misc Dest. Net. next router #hops misc network router #hops interface
data
fields 223.1.1.1 223.1.2.2
data fields 223.1.1.1 223.1.2.2
223.1.1 1 223.1.1 ‐ 1 223.1.1.4
Starting at A with destination E 223.1.2 223.1.1.4 2 Arriving at 223.1.1.4, destined for 223.1.2 ‐ 1 223.1.2.9
223.1.3 223.1.1.4 2 223.1.2.2 223.1.3 ‐ 1 223.1.3.27
look up network address of E
look up network address of E
E on different network A
A 223.1.1.1 E on same network as router’s 223.1.1.1
A, E not directly attached
interface 223.1.2.9 223.1.2.1
routing table: next hop router to E is 223.1.2.1
223.1.1.2 router, E directly attached 223.1.1.2
223.1.1.4 223.1.2.9 223.1.1.4 223.1.2.9
223.1.1.4
link layer sends datagram to 223.1.2.2
link layer sends datagram to router B B
inside link‐layer frame via interface 223.1.2.2
223.1.1.4 inside link‐layer frame
223.1.1.3 223.1.3.27
223.1.2.2
E 223.1.2.9 223.1.1.3 223.1.3.27 E
datagram arrives at 223.1.1.4
datagram arrives at 223.1.2.2 223.1.3.1 223.1.3.2
223.1.3.2
… 223.1.3.1
33 34
ICMP: Internet Control Message
Protocol
• used by hosts, routers, gateways Some typical types/codes
to communication network‐level Type Code description
information 0 0 echo reply (ping)
– error reporting: unreachable 3 0 dest. network unreachable
3 1 dest host unreachable
Additional protocols dealing with host, network, port, protocol
– echo request/reply (used by
3 2 dest protocol unreachable
3 3 dest port unreachable
Network Layer information ping)
• network‐layer “above” IP:
3 6 dest network unknown
3 7 dest host unknown
– ICMP msgs carried in IP 4 0 source quench (congestion
datagrams control ‐ not used)
• ICMP message: type, code plus 8 0 echo request (ping)
first 8 bytes of IP datagram 9 0 route advertisement
causing error 10 0 router discovery
11 0 TTL expired
35 36 12 0 bad IP header
6
7. 4/4/2011
DHCP: Dynamic Host
DHCP client‐server scenario
Configuration Protocol
Goals
• allow host to dynamically obtain its IP address from network server A 223.1.1.1 DHCP 223.1.2.1
when it joins network server
• Can renew its lease on address in use 223.1.1.2
• Allows reuse of addresses 223.1.1.4 223.1.2.9
(only hold address while connected and “on”) B
223.1.2.2 arriving DHCP
• Support for mobile users who want to join network (more shortly) 223.1.1.3 223.1.3.27 E client needs
DHCP review address in this
223.1.3.1 223.1.3.2
network
• host broadcasts “DHCP discover” message
• DHCP server responds with “DHCP offer” message
• host requests IP address: “DHCP request” message
• DHCP server sends address: “DHCP ack” message
37 38
DHCP client‐server scenario
DHCP server: 223.1.2.5 arriving
NAT: Network Address Translation
DHCP discover
client
src : 0.0.0.0, 68
dest.: 255.255.255.255,67 rest of local network
yiaddr: 0.0.0.0 Internet (e.g., home network)
transaction ID: 654 10.0.0.1
10.0.0/24
DHCP offer
src: 223.1.2.5, 67 10.0.0.4
dest: 255.255.255.255, 68 10.0.0.2
yiaddr: 223.1.2.4
transaction ID: 654 138.76.29.7
Lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
10.0.0.3
dest:: 255.255.255.255, 67
yiaddr: 223.1.2.4
transaction ID: 655 All datagrams leaving local Datagrams with source or
Lifetime: 3600 secs
time
network have same single source NAT IP destination in this network
DHCP ACK address: 138.76.29.7, have 10.0.0/24 address for
src: 223.1.2.5, 67 different source port numbers source, destination (as usual)
dest: 255.255.255.255, 68
yiaddr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
39 40
NAT: Network Address Translation NAT: Network Address Translation
Implementation: NAT router must
• Motivation
– local network uses just one IP address as far as outside • outgoing datagrams: replace (source IP address, port #) of every outgoing
world is concerned datagram to (NAT IP address, new port #)
– remote clients/servers will respond using
– no need to be allocated range of addresses from ISP (NAT IP address, new port #) as destination addr.
– just one IP address is used for all devices
– can change addresses of devices in local network without • remember (in NAT translation table) every (source IP address, port #) to (NAT
IP address, new port #) translation pair
notifying outside world
– can change ISP without changing addresses of devices in local • incoming datagrams: replace (NAT IP address, new port #) in dest fields of
network every incoming datagram with corresponding (source IP address, port #)
stored in NAT table
– devices inside local net not explicitly addressable, visible by
outside world (a security plus).
– BUT: machines cannot be servers!
41 42
7
8. 4/4/2011
NAT: Network Address Translation NAT: Network Address Translation
NAT translation table
2: NAT router 1: host 10.0.0.1
WAN side addr LAN side addr
changes datagram sends datagram to
source addr from
138.76.29.7, 5001 10.0.0.1, 3345 128.119.40, 80 • 16‐bit port‐number field
…… ……
10.0.0.1, 3345 to – 60,000 simultaneous connections with a single LAN‐side address!
138.76.29.7, 5001, S: 10.0.0.1, 3345
updates table D: 128.119.40.186, 80
10.0.0.1 • NAT is controversial
1
S: 138.76.29.7, 5001 – routers should only process up to layer 3
2 D: 128.119.40.186, 80 10.0.0.4
10.0.0.2 – violates end‐to‐end argument
138.76.29.7 S: 128.119.40.186, 80 • NAT possibility must be taken into account
4
S: 128.119.40.186, 80
D: 10.0.0.1, 3345 by app designers, e.g., P2P applications
3 10.0.0.3
D: 138.76.29.7, 5001
4: NAT router – address shortage should instead be solved by IPv6
3: Reply arrives changes datagram
dest. address: • delays deployment of IPv6
dest addr from
138.76.29.7, 5001 138.76.29.7, 5001 to 10.0.0.1, 3345
43 44
Routing
5
Routing protocol
B 3 C
Goal: determine “good” path 2 5
(sequence of routers) through A 2 1 F
network from source to dest. 3
1 2
D E
1
Routing
Graph abstraction for routing
“good” path:
• graph nodes are routers
• graph edges are physical links typically means
minimum cost path
– link cost: delay, $ cost, or
congestion level other definitions
possible
45 46
Routing protocol classes Important properties of routing protocols
• Distance vector protocols • Information needed
– Nodes know only distance (cost) to neighbors – Messages involved
– Exchange distance to all nodes with neighbors – Storage necessary to keep the information
– Update local information based on received information • Convergence
– How fast until it stabilizes
• Link state protocols – How fast it reacts to changes
– All nodes know network topology and cost of each link
(propagated through the network by flooding)
– Run protocol to find shortest path to each destination
47 48
8
9. 4/4/2011
Distance Vector Routing: Intuition
Geneva Zurich
a b c
Distance Vector Protocols
RIP (Routing Information Protocol) Routing Table of b
Destination Dir
Geneva a
Zurich c
49
50
Distance Vector Routing Distance Vector Routing Algorithm
Algorithm is iterative
Distance Zurich: 7 Zurich? Distance Zurich: 3
• continues until no nodes Routing Table with distance info
exchange info • each node has one
a b c • self‐terminating: no “signal” • a node x has for each neighbor z an entry
to stop for each destination y (as in example
asynchronous before); Dx(y,z) = distance from x to y
• nodes need not to iterate in through z
Distance Zurich: 4 lock‐step • the best route for a given destination is
distributed marked
• each node communicates
Destination Dir Dst only with direct neighbors
Distance Zurich: 5!
Geneva a 10
Zurich c 4
52
51
Distance Vector Algorithm Distance table gives routing table
cost to destination via
E Outgoing link
D () A B D to use, cost
Y
2 1 A 1 14 5 A A, 1
X Z
7 1
B 7 8 5 B D, 5 B C
7
A 8 2
C 6 9 4 C D, 4 1
E D
2
D 4 11 2 D D, 2
Distance table Routing table
53 54
9
10. 4/4/2011
Count to Infinity Problem when
Distance Vector Routing
links break
Each node executes a loop: c: 2 c: 1
Local iteration caused by
• local link cost change wait for (change in local link a b c
• Neighbor sends a message saying cost or msg from neighbor)
that (at least) one of its least cost
paths changed
Algorithm is distributed
c: 3
recompute distance table
• each node notifies neighbors only c: 4
when its least cost path to any c: 5
destination changes
if least cost path to any dest has c: 6
– neighbors then notify their
neighbors if necessary, etc. changed, notify all neighbors c: 7
c: 8
55 56
Distance Vector: link cost changes Distance Vector: link cost changes
Link cost changes
1 • What if the cost of a link grows? 60
node detects local link cost change
Y • Compare with the count to infinity problem Y
updates distance table 4 1 4 1
if cost change in least cost path, notify X Z (More on this later) X Z
50 50
neighbors
algorithm
algorithm
terminates
“good continues
on!
news
travel
fast”
57 58
RIP (Routing Information Protocol) RIP (Routing Information Protocol)
z
• Distance vector algorithm
• Included in BSD‐UNIX Distribution in 1982 w x y …
• Distance metric: number of hops (max = 15 hops) A D B
• Distance vectors: exchanged every 30 sec via
Response Message (also called “advertisement”) C
• Each advertisement: route to up to 25 destination networks Routing table in D
Destination Network Next Router Num. of hops to dest.
w A 2
y B 2
z B 7
x ‐‐ 1
…. …. ....
59 60
10
11. 4/4/2011
RIP: Link Failure and Recovery Distance Vector: poisoned reverse
If no advertisement heard after 180 sec then neighbor/link declared dead If Z routes through Y to get to X :
60
– routes via neighbor invalidated Z tells Y its (Z’s) distance to X is infinite (so Y Y
won’t route to X via Z) 4 1
– new advertisements sent to neighbors
X Z
– neighbors in turn send out new advertisements (if tables changed) Avoids the loop between 2 nodes 50
– link failure info quickly propagates to entire net algorithm
terminates
– poison reverse (next slide) used to prevent ping‐pong loops
(infinite distance = 16 hops)
61 62
[E]IGRP: [Enhanced] Interior
RIP Table processing
Gateway Routing Protocol
• RIP routing tables managed by application‐level process called route‐d
(daemon) • CISCO proprietary; successor of RIP (mid 80s)
• advertisements sent in UDP packets, periodically repeated • Distance Vector, like RIP
• several cost metrics (delay, bandwidth, reliability, load etc)
• uses TCP to exchange routing updates
• Loop‐free routing via Distributed Updating Algorithm (DUAL)
based on diffused computation
63 64
Link state routing (intuition)
• Every node knows the topology and cost of every link
– Achieved through flooding
• Nodes send the information on their links and neighbors to all
neighbors
Link state routing protocols • Nodes forward information about other nodes to their neighbors
• ACKs used to prevent message loss
OSPF (Open Shortest Path First) • Sequence numbers used to compare versions
• With the information on topology and cost
– Calculate the shortest path to every possible destination
• Dijkstra’s algorithm
65 66
11
12. 4/4/2011
Link state routing algorithm:
Algorithm idea
Dijkstra
• There are 3 groups of nodes in the network
– To the green nodes we know the shortest path Notation
– The blue nodes are directly reachable from the green nodes Dijkstra’s algorithm • c(i,j): link cost from node i to j.
– All other nodes are black Can be infinite if not direct
• net topology, link costs known to
neighbors, costs define
all nodes adjacency matrix.
• Basic algorithm: v
– accomplished via “link state
w • v.distance: current value of cost
– Start with broadcast”
source s as the of path from source s to
only green node u – all nodes have same info destination v.
x • v.visited: boolean variable that
– Color the • computes single‐source shortest
best* blue path tree determines if optimal path to v
s was found.
node green,
– gives routing table for source
one after another, • v.pred: the predecessor node of
until all nodes are green v in the routing tree.
(*best = minimum distance from source s of all blue nodes) • B: the set of blue nodes.
67 68
Dijkstra’s Algorithm (for source s
Dijkstra’s algorithm: example
and edge costs c)
Step visited Set of blue nodes B (with distance)
s.visited := true; s.distance := 0; s.pred := s; // init source s 0 A D (1), B (2), C (5)
for all nodes v in V except s do // init all other nodes 1 A, D (1) E (2), B (2), C (4)
v.visited := false; v.distance := 1; v.pred := undefined;
2 AD, E (2) B (2), C (3), F(4)
B := {} // B is the set of blue nodes, initially all neighbors of s 3 ADE, B (2) C (3), F(4)
for all nodes v in V that are direct neighbors of s 4 ADEB, C (3) F(4)
B := B + {v}; v.distance := c(s,v); v.pred := s; 5 ADEBC, F (4) ‐
while B not empty do // always choose the best blue node v
v := node in B with minimum v.distance; 5
B := B – {v}; 3
v.visited := true; // turns the node green B C 5
for all neighbors w of v with w.visited = false; // update neighbors of v
2
if w not in B then A 2 1 F
3
B := B + {w}; w.distance := v.distance+c(v,w); w.pred := v; 1 2
if w in B then D E
if (v.distance+c(v,w) < w.distance) then 1
w.distance := v.distance+c(v,w); w.pred := v;
69 endwhile 70
Dijkstra’s algorithm, correctness OSPF (Open Shortest Path First)
• “open”: publicly available
Oscillations possible
• Uses Link State algorithm
• For example if link costs depend on the amount of carried traffic.
– LS packet dissemination
Example: three flows to node A, with traffic 1, 1, and e (<1)
– Topology map at each node
A – Route computation using Dijkstra’s algorithm
1 1+e 2+e
A A A
0 0 2+e 2+e 0
D 0 0 B D B D B D B
1+e 1 0 0 1+e 1 • OSPF advertisement carries one entry per neighbor router
0 e 0 0 1 1+e 0 e
1
C C C C • Advertisements disseminated via flooding
1
e
B and C have D, C, B have etc.
initially
better routes better routes
• Dijkstra’s algorithm is optimal for constant (and positive!) link costs
71 72
12
13. 4/4/2011
OSPF “advanced” features
Hierarchical OSPF
(not in RIP)
• Security
– all OSPF messages authenticated
– therefore no malicious intrusion
– TCP connections used
• Multiple same‐cost paths allowed (only one path in RIP)
• For each link, multiple cost metrics for different TOS (Type of Service)
– e.g., satellite link cost set “low” for best effort; high for real time
• Integrated uni‐ and multicast support:
– Multicast OSPF (MOSPF) uses same topology data base as OSPF
• Hierarchical OSPF in large domains
73 74
Hierarchical OSPF
• Two‐level hierarchy: local area or backbone
– Link‐state advertisements only in area
– each node has detailed area topology but only knows direction
(shortest path) to networks in other areas.
• Area border routers
– “summarize” distances to networks in own area Comparing routing algorithms
– advertise to other area border routers.
• Backbone routers
– run OSPF routing limited to backbone.
• Boundary routers
– connect to other autonomous systems.
75 76
Link‐State vs. Distance‐Vector
Distance vector vs link state
Routing
• Distance vector: Message complexity Robustness
• LS: with n nodes, m links, • what happens if router
Each node talks only to its directly connected neighbors but network flooded with O(nm) malfunctions?
tells them all it has learned (distance to all nodes) messages LS:
• DV: exchange between neighbors – node can advertise incorrect
only link cost
– convergence time varies – each node computes only its
• Link state own table
Speed of Convergence
Each node talks to all other nodes but tells them only about DV:
• LS: O(m + n log n)
the state of its directly connected links – DV node can advertise
– may have oscillations
incorrect path cost
• DV: convergence time varies
– each node’s table used by
– count‐to‐infinity problem
others: errors propagate
through the network
77 78
13