Tdts21 Ip v00

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 70

TDTS21: Advanced

Networking
Lecture 7: IP and Intra Domain
Routing

Based on slides from P. Gill and D. Choffnes


Revised 2015 by N. Carlsson
Internet Routing
2

 Internet organized as a two level hierarchy


 First level – autonomous systems (AS’s)
 AS – region of network under a single administrative domain
 Examples: Comcast, AT&T, Verizon, Sprint, etc.
 AS’s use intra-domain routing protocols internally
 Distance Vector, e.g., Routing Information Protocol (RIP)
 Link State, e.g., Open Shortest Path First (OSPF)
 Connections between AS’s use inter-domain routing
protocols
 Border Gateway Routing (BGP)
 De facto standard today, BGP-4
AS Example
3

AS-1
AS-3

Interior
Routers
AS-2

BGP
Routers
Why Do We Need ASs?
4
 Routing algorithms are not efficient enough to execute
on the entire Internet topology
 Different organizations
• Easier may use
to compute routes different routing
policies
• Greater flexibility
 Allows organizations to hide their internal network
• More autonomy/independence
structure
 Allows organizations to choose how to route across
each other (BGP)
5
How to find a good path?
6
Routing on a Graph
7

 Goal: determine a “good” path through the network from


source to destination
 What is a good path? 5
 Usually means the shortest path 3
 Load balanced B C 5
2
 Lowest $$$ cost A 2 1 F
3
 Network modeled as a graph 1 2
D E
 Routers  nodes 1
 Link  edges
 Edge cost: delay, congestion level, etc.
Routing Problems
8

 Assume
 A network with N nodes
 Each node only knows 5
 Its immediate neighbors
3
 The cost to reach each neighbor B C 5
2
 How does each node learn the 2 1
A 3 F
shortest path to every other
node? 1 D E 2
1
9
Intra-domain Routing Protocols
10

 Distance vector
 Routing Information Protocol (RIP), based on Bellman-Ford
 Routers periodically exchange reachability information with
neighbors
 Link state
 Open Shortest Path First (OSPF), based on Dijkstra
 Each network periodically floods immediate reachability
information to all other routers
 Per router local computation to determine full routes

10
Distance Vector Routing
11
 What is a distance vector?
 Current best known cost to reach a destination
 Idea: exchange vectors among neighbors to learn about
lowest cost paths
Destination Cost  No entry for C

A 7  Initially, only has info for


DV Table B 1
immediate neighbors
at Node C D 2
E 5

Other destinations cost = ∞
F 1  Eventually, vector is filled
 Routing Information Protocol (RIP)
Distance Vector Routing Algorithm
12

1. Wait for change in local link cost or


message from neighbor

2. Recompute distance table

3. If least cost path to any destination has


changed, notify neighbors
Link State Routing
13
 Each node knows its connectivity and cost to direct
neighbors
 Each node tells every other node this information
 Each node learns complete network topology
 Use Dijkstra to compute shortest paths
Link State vs. Distance Vector
14

Link State Distance Vector


Message Complexity O(n2*e) O(d*n*k)
Time Complexity O(n*log n) O(n)
Convergence Time O(1) O(k)
Robustness • Nodes may advertise • Nodes may advertise incorrect
incorrect link costs path cost
• Each node computes their • Errors propagate due to sharing
own table of DV tables

• Which is best?
n = number of nodes in the graph
d = degree of a given node
• In practice,k it= number
depends.
of rounds

• In general, link state is more popular.


Additional organization in Large ASes
15

OSPF IS-IS
 Organized around overlapping  Organized as a 2-level
areas hierarchy
 Area 0 is the core network  Level 2 is the backbone

Level 1-2
Level 1

Level 2
Area 1 Area 2

Area 0

Area 4
Area 3
16
Possible Addressing Schemes
17
 Flat
 e.g. each host is identified by a 48-bit MAC address
 Router needs an entry for every host in the world
 Too big
 Too hard to maintain (hosts come and go all the time)
 Too slow (more later)

 Hierarchy
 Addresses broken down into segments
 Each segment has a different level of specificity
Example: Telephone Numbers
18
1-617-373-1234
3278

Very General

West Village
West Village G
H
Room1234
Room 256

Updates are Local Very Specific


IP Addressing and Forwarding
19
 Routing Table Requirements
 For every possible IP, give the next hop
 But for 32-bit addresses, 232 possibilities!
 Too slow: 48GE ports and 4x10GE needs 176Gbps bandwidth
DRAM: ~1-6 Gbps; TCAM is fast, but 400x cost of DRAM
 Hierarchical address scheme
 Separate the address into a network and a host
0 31
Pfx Network Host

Known by all Known by edge


routers (LAN) routers
Aggregation with CIDR
20
 Classless inter-domain routing (CIDR)
 Allow variable sized network parts (prefixes)
 One organization given contiguous IP ranges
 Example: Microsoft, 207.46.192.* – 207.46.255.*
 Specified as CIDR address 207.46.192.0/18
0 8 16 24 31
Decimal 207 46 192 0
Hex CF 2E C0 00
Binary 11001111 00101110 11xxxxxx xxxxxxxx

18 Bits Frozen By Netmask 14 Arbitrary Bits


Example CIDR Routing Table
21

Address Netmask Third Byte Byte Range


207.46.0.0 19 000xxxxx 0 – 31
207.46.32.0 19 001xxxxx 32 – 63
207.46.64.0 19 010xxxxx 64 – 95
207.46.128.0 18 10xxxxxx 128 – 191
207.46.192.0 18 11xxxxxx 192 – 255

Hole in the Routing Table: No coverage for 96 – 127


207.46.96.0/19
Size of CIDR Routing Tables
22

 From www.cidr-report.org
 CIDR has kept IP routing table sizes in check
 Currently ~500,000 entries for a complete IP routing table
 Only required by backbone routers
We had a special day this summer!
23
 512K day – August 12, 2014
 Default threshold size for IPv4 route data in older Cisco
routers  512K routes
 Some routers failed over to slower memory
 RAM vs. CAM (content addressable memory)
 Some routes dropped
 Cisco issues update in May anticipating this issue
 Reallocated some IPv6 space for IPv4 routes
 http://cacm.acm.org/news/178293-internet-routing-failures-bring-
architecture-changes-back-to-the-table/fulltext
How Do You Get IPs?
24
 IP address ranges controlled by IANA

 Internet Assigned Number Authority


 Roots go back to 1972, ARPANET, UCLA
 Today, part of ICANN
 IANA grants IPs to regional authorities (RIRs)
 E.g., RIPE (Europe, Middle East), ARIN (North America), APNIC
(Asia/Pacific), AfriNIC (Africa), and LACNIC (Latin America) may
grant you a range of IPs
 You may then advertise routes to your new IP range
 There are now secondary markets, auctions, …
The IPv4 Address Space Crisis
25
 Problem: the IPv4 address space is too small
 232 = 4,294,967,296 possible addresses
 Less than one IP per person
 Parts of the world have already run out of addresses
 IANA assigned the last /8 block of addresses in 2011
Regional Internet Registry
Region (RIR) Exhaustion Date
Asia/Pacific APNIC April 19, 2011
Europe/Middle East RIPE September 14, 2012
North America ARIN 13 Jan 2015 (Projected)
South America LACNIC 13 Jan 2015 (Projected)
Africa AFRINIC 17 Jan 2022(Projected)
IPv6
26
 IPv6, first introduced in 1998(!)
 128-bit addresses
 4.8 * 1028 addresses per person
 Address format
 8 groups of 16-bit values, separated by ‘:’
 Leading zeroes in each group may be omitted
 Groups of zeroes can be omitted using ‘::’

2001:0db8:0000:0000:0000:ff00:0042:8329
2001:0db8:0:0:0:ff00:42:8329
2001:0db8::ff00:42:8329
IPv4 Header
27
 IP Datagrams are like a letter
 Totally self-contained
 Include all necessary addressing information
 No advanced setup of connections or circuits
0 4 8 12 16 19 24 31
Version HLen DSCP/ECN Datagram Length
Identifier Flags Offset
TTL Protocol Checksum
Source IP Address
Destination IP Address
Options (if any, usually not)
Data
IPv4 Header
28
 IP Datagrams are like a letter
 Totally self-contained
 Include all necessary addressing information
 No advanced setup of connections or circuits
0 4 8 12 16 19 24 31
Version HLen DSCP/ECN Datagram Length
Identifier Flags Offset
TTL Protocol Checksum
Source IP Address
Destination IP Address
Options (if any, usually not)
Data
IPv6 Header
29
 Double the size of IPv4 (320 bits vs. 160 bits)
0 4 8 12 16 19 24 31
Version DSCP/ECN Flow Label
Datagram Length Next Header Hop Limit
Version Same
= 6 as IPv4 Groups
Same as IPv4 Same as into Same as TTL in
packets
Source IP Address
Protocol in for
flows, used IPv4
IPv4QoS

Destination IP Address
Deployment Challenges
30

HTTP, FTP, SMTP, RTP, IMAP, …


TCP, UDP, ICMP
IPv4
Ethernet, 802.11x, DOCSIS, …
Fiber, Coax, Twisted Pair, Radio, …

 Switching to IPv6 is a whole-Internet upgrade


 All routers, all hosts
 ICMPv6, DHCPv6, DNSv6
 2013: 0.94% of Google traffic was IPv6, 2.5% today
Transitioning to IPv6
31
 How do we ease the transition from IPv4 to IPv6?
 Today, most client devices are IPv6 ready
 Windows/OSX/iOS/Android all support IPv6
 Your wireless access point probably supports IPv6
 The end-to-end network is harder to upgrade
 … but a IPv4 core cannot route IPv6 traffic
IPv6 IPv4 IPv6
Ready Only :( Ready
IPv6 Packets
Home Core Business
Network Internet Network
Transition Technologies
32
 How do you route IPv6 packets over an IPv4 Internet?
 Transition Technologies
 Use tunnels to encapsulate and route IPv6 packets over the
IPv4 Internet
 Several different implementations
 6to4
 IPv6 Rapid Deployment (6rd)
 Teredo
 … etc.
Tunneling
33
A B E F
Logical view: tunnel

IPv6 IPv6 IPv6 IPv6

A B C D E F
Physical view:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6

Flow: X Src:B Src:B Flow: X


Src: A Dest: E Dest: E Src: A
Dest: F Dest: F
Flow: X Flow: X
Src: A Src: A
data Dest: F Dest: F data

data data

A-to-B: E-to-F:
B-to-C: B-to-C:
IPv6 IPv6
IPv6 inside IPv6 inside
IPv4 IPv4
34
35
More slides …
36
37
Differences from IPv4 Header
38
 Several header fields are missing in IPv6
 Header length – rolled into Next Header field
 Checksum – was useless, so why keep it
 Identifier, Flags, Offset
 IPv6 routers do not support fragmentation
 Hosts are expected to use path MTU discovery

 Reflects changing Internet priorities


 Today’s networks are more homogeneous
 Instead, routing cost and complexity dominate
Performance Improvements
39
 No checksums to verify
 No need for routers to handle fragmentation
 Simplified routing table design
 Address space is huge
 No need for CIDR (but need for aggregation)
 Standard subnet size is 264 addresses
 Simplified auto-configuration
Additional IPv6 Features
40
 Source Routing
 Host specifies the route to wants packet to take
 Mobile IP
 Hosts can take their IP with them to other networks
 Use source routing to direct packets
 Privacy Extensions
 Randomly generate host identifiers
 Make it difficult to associate one IP to a host
 Jumbograms
 Support for 4Gb datagrams
Consequences of IPv6
41
 Beware unintended consequences of IPv6
 Example: IP blacklists
 Currently, blacklists track IPs of spammers/bots
 Few IPv4 addresses mean list sizes are reasonable
 Hard for spammers/bots to acquire new IPs
 Blacklists will not work with IPv6
 Address space is enormous
 Acquiring new IP addresses is trivial
42
6to4 Basics
43
 Problem: you’ve been assigned an IPv4 address, but
you want an IPv6 address
 Your ISP can’t or won’t give you an IPv6 address
 You can’t just arbitrarily choose an IPv6 address
 Solution: construct a 6to4 address
 6to4 addresses always start with 2002::
 Embed the 32-bit IPv4 inside the 128-bit IPv6 address
IPv4: 207. 46. 192. 0

IPv6: 20 02: CF 2E: C0 00: 0000


Routing from 6to4 to 6to4
44
 How does a host using 6to4 send a packet to another
host using 6to4?

Dest: 2002:104F:0800::

Dest: 16.79.8.0

IPv4
Internet

IPv4 – 207.46.192.0 IPv4 – 16.79.8.0


IPv6 – 2002:CF2E:C000:: IPv6 – 2002:104F:0800::
Routing from 6to4 to Native IPv6
45 Special, anycasted
IPv4 address for
Dest: 1893:92:13:99:: 6to4 Relay Routers

Dest: 192. 88.99.1

IPv4
Internet
IPv4 – 192.88.99.1
IPv6 – 2002:: /16
IPv4 – 207.46.192.0
IPv6 – 2002:CF2E:C000::
IPv6
Many ISPs Internet
provide 6to4
relay routers

IPv6 – 1893:92:13:99::
Routing from Native IPv6 to 6to4
46

IPv4
Internet
IPv4 – 192.88.99.1
IPv6 – 2002:: /16
IPv4 – 207.46.192.0
IPv6 – 2002:CF2E:C000::
Dest: 207.46.192.0
IPv6
Use normal IPv6 Dest: 2002:CF2E:C000::
Internet
routing to reach a
6to4 relay router

IPv6 – 1893:92:13:99::
Problems with 6to4
47
 Uniformity
 Not all ISPs have deployed 6to4 relays
 Quality of service
 Third-party 6to4 relays are available
 …but, they may be overloaded or unreliable
 Reachability
 6to4 doesn’t work if you are behind a NAT
 Possible solutions
 IPv6 Rapid Deployment (6rd)
 Each ISP sets up relays for its customers
 Does not leverage the 2002:: address space
 Teredo
 Tunnels IPv6 packets through UDP/IPv4 tunnels
Network Layer, Control Plane
48
 Function:
 Set up routes within a single network
 Key challenges:
Data Plane
 Distributing and updating routes
 Convergence time
Application  Avoiding loops
Transport
Network RIP OSPF BGP Control Plane
Data Link
Physical
Internet Routing
49

 Internet organized as a two level hierarchy


 First level – autonomous systems (AS’s)
 AS – region of network under a single administrative domain
 Examples: Comcast, AT&T, Verizon, Sprint, etc.
 AS’s use intra-domain routing protocols internally
 Distance Vector, e.g., Routing Information Protocol (RIP)
 Link State, e.g., Open Shortest Path First (OSPF)
 Connections between AS’s use inter-domain routing
protocols
 Border Gateway Routing (BGP)
 De facto standard today, BGP-4
AS Example
50

AS-1
AS-3

Interior
Routers
AS-2

BGP
Routers
Why Do We Need ASs?
51
 Routing algorithms are not efficient enough to execute
on the entire Internet topology
 Different organizations
• Easier may use
to compute routes different routing
policies
• Greater flexibility
 Allows organizations to hide their internal network
• More autonomy/independence
structure
 Allows organizations to choose how to route across
each other (BGP)
Routing on a Graph
52

 Goal: determine a “good” path through the network from


source to destination
 What is a good path? 5
 Usually means the shortest path 3
 Load balanced B C 5
2
 Lowest $$$ cost A 2 1 F
3
 Network modeled as a graph 1 2
D E
 Routers  nodes 1
 Link  edges
 Edge cost: delay, congestion level, etc.
Routing Problems
53

 Assume
 A network with N nodes
 Each node only knows 5
 Its immediate neighbors
3
 The cost to reach each neighbor B C 5
2
 How does each node learn the 2 1
A 3 F
shortest path to every other
node? 1 D E 2
1
Intra-domain Routing Protocols
54

 Distance vector
 Routing Information Protocol (RIP), based on Bellman-Ford
 Routers periodically exchange reachability information with
neighbors
 Link state
 Open Shortest Path First (OSPF), based on Dijkstra
 Each network periodically floods immediate reachability
information to all other routers
 Per router local computation to determine full routes

54
55 Outline

 Distance Vector Routing


 RIP
 Link State Routing
 OSPF
 IS-IS
Distance Vector Routing
56
 What is a distance vector?
 Current best known cost to reach a destination
 Idea: exchange vectors among neighbors to learn about
lowest cost paths
Destination Cost  No entry for C

A 7  Initially, only has info for


DV Table B 1
immediate neighbors
at Node C D 2
E 5

Other destinations cost = ∞
F 1  Eventually, vector is filled
 Routing Information Protocol (RIP)
Distance Vector Routing Algorithm
57

1. Wait for change in local link cost or


message from neighbor

2. Recompute distance table

3. If least cost path to any destination has


changed, notify neighbors
Distance Vector Initialization
58
Node A Node B
3 Dest. Cost Next Dest. Cost Next
B D
2 1 B 2 B A 2 A
1 C 7 C C 1 C
A 7 C ∞
D D 3 D

1. Initialization:
2. for all neighbors V do Node C Node D
3. if V adjacent to A Dest. Cost Next Dest. Cost Next
4. D(A, V) = c(A,V); A 7 A A ∞
5. else
6. D(A, V) = ∞; B 1 B B 3 B
… D 1 D C 1 C
Distance Vector: 1st Iteration
59
Node A Node B
3 Dest. Cost Next Dest. Cost Next
B D
2 1 B 2 B A 2 A
1 C 73 CB C 1 C
A 7 C ∞58
D C
B D 32 D
C

7. loop:

12. else if (update D(V, Y) received from V)
13. for all destinations Y do
14. D(A,C) = min(D(A,C), D(A,B)+D(B,C))
if (destination Y through V) Node D
Node C
15.
16. else
= min(7,
Dest. 2Cost
D(A,Y) = D(A,V) + D(V, Y);
D(A,D) = min(D(A,D), + 1) =3
D(A,B)+D(B,D))
D(A,C)+D(C,D))
Next Dest. Cost Next
17. D(A, Y) = ∞4
min(D(A, Y), = min(8,
min(∞,
A 2773 + 3)
1)AB= 58 A B
D(A, V) + D(V, Y)); B 1 B B 3 B
18. if (there is a new min. for dest. Y) D 1 D C 1 C
19. send D(A, Y) to all neighbors
20. forever
Distance Vector: End of 3rd Iteration
60
Node A Node B
3 Dest. Cost Next Dest. Cost Next
B D
2 1 B 2 B A 2 A
1 C 3 B C 1 C
A 7 C 4
D B D 2 C

7. loop:

12. • Nothing changes, algorithm terminates
else if (update D(V, Y) received from V)
13. for all destinations Y do
14. • Until something changes…
if (destination Y through V)
Node C Node D
15. D(A,Y) = D(A,V) + D(V, Y);
16. else Dest. Cost Next Dest. Cost Next
17. D(A, Y) = A 3 B A 4 C
min(D(A, Y),
D(A, V) + D(V, Y)); B 1 B B 2 C
18. if (there is a new min. for dest. Y) D 1 D C 1 C
19. send D(A, Y) to all neighbors
20. forever
7. loop:
8. wait (link cost update or update message)
9. if (c(A,V) changes by d)
10. for all destinations Y through V do
61
11. D(A,Y) = D(A,Y) + d B
12. else if (update D(V, Y) received from V) 4
1 1
13. for all destinations Y do
14. if (destination Y through V)
15. D(A,Y) = D(A,V) + D(V, Y); A 50 C
16. else
17. D(A, Y) = min(D(A, Y), D(A, V) + D(V, Y));
18.
Link Cost Changes,
if (there is a new minimum for destination Y)
Algorithm
19. Good news travels fast
send D(A, Y) to all neighbors
20. Algorithm Starts
forever Terminates
D C N D C N D C N D C N
Node B A 4 A A 1 A A 1 A A 1 A
C 1 B C 1 B C 1 B C 1 B

D C N D C N D C N D C N
Node C A 5 B A 5 B A 2 B A 2 B
B 1 B B 1 B B 1 B B 1 B

Time
Count to Infinity Problem
62

• Node B knows D(C, A) = 5 B


• However, B does not know the 4
60 1
path is C  B  A A 50 C
Bad news
• Thus, D(B,A) = 6 ! travels slowly
D C N D C N D C N D C N
Node B A 4 A A 6 C A 6 C A 8 C
C 1 B C 1 B C 1 B C 1 B

D C N D C N D C N D C N
Node C A 5 B A 5 B A 7 B A 7 B
B 1 B B 1 B B 1 B B 1 B

Time
Poisoned Reverse
63
 If C routes through B to get to A
B
 C tells B that D(C, A) = ∞ 4
60 1
 Thus, B won’t route to A via C
Does this completely solve this count A to50 C
infinity problem?
D C N D C N NO D C N D C N
Node B A 4 A A 60 A A 60 A A 51 C
Multipath
C 1 B loops C can
1 B still trigger
C 1 B the issue
C 1 B

D C N D C N D C N D C N
Node C A 5 B A 5 B A 50 A A 50 A
B 1 B B 1 B B 1 B B 1 B

Time
64 Outline

 Distance Vector Routing


 RIP
 Link State Routing
 OSPF
 IS-IS
Link State Routing
65
 Each node knows its connectivity and cost to direct
neighbors
 Each node tells every other node this information
 Each node learns complete network topology
 Use Dijkstra to compute shortest paths
Flooding Details
66
 Each node periodically generates Link State Packet
 ID of node generating the LSP
 List of direct neighbors and costs
 Sequence number (64-bit, assumed to never wrap)
 Time to live
 Flood is reliable (ack + retransmission)
 Sequence number “versions” each LSP
 Receivers flood LSPs to their own neighbors
 Except whoever originated the LSP
 LSPs also generated when link states change
Dijkstra’s Algorithm
67
Step Start S B C D E F
0 A 2, A 5, A 1, A ∞ ∞
1 AD 4, D 2, D ∞
2 ADE 3, E 4, E
3 ADEB
4 ADEBC
5 ADEBCF
5 …
3 8. Loop1. Initialization:
B C 5 9. find2.w notSin=S{A};
s.t. D(w) is a minimum;
2
10. add 3.w to S;for all nodes v
A 2 1 F 11. update4. D(v)iffor
v adjacent to A
all v adjacent
3 5.to w andthen
not D(v)
in S: = c(A,v);
1 D E 2 12. 6. = min(
D(v) else D(v)
D(v), = ∞;+ c(w,v) );
D(w)
1 13. until …
all nodes in S;
OSPF vs. IS-IS
68

 Two different implementations of link-state routing

OSPF IS-IS
 Favored by companies,  Favored by ISPs
datacenters
 More optional features
 Less “chatty”
 Less network overhead
 Supports more devices
 Not tied to IP
 Built on top of IPv4  Works with IPv4 or IPv6
 LSAs are sent via IPv4
 OSPFv3 needed for IPv6
Different Organizational Structure
69

OSPF IS-IS
 Organized around overlapping  Organized as a 2-level
areas hierarchy
 Area 0 is the core network  Level 2 is the backbone

Level 1-2
Level 1

Level 2
Area 1 Area 2

Area 0

Area 4
Area 3
Link State vs. Distance Vector
70

Link State Distance Vector


Message Complexity O(n2*e) O(d*n*k)
Time Complexity O(n*log n) O(n)
Convergence Time O(1) O(k)
Robustness • Nodes may advertise • Nodes may advertise incorrect
incorrect link costs path cost
• Each node computes their • Errors propagate due to sharing
own table of DV tables

• Which is best?
n = number of nodes in the graph
d = degree of a given node
• In practice,k it= number
depends.
of rounds

• In general, link state is more popular.

You might also like