IP: Addresses and Forwarding - ECSE

Download Report

Transcript IP: Addresses and Forwarding - ECSE

Routing II: Protocols (RIP,
EIGRP, OSPF, PNNI, IS-IS)
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
[email protected]
Based in part upon slides of Prof. Raj Jain (OSU), S. Keshav (Cornell), J. Kurose (U Mass)
Shivkumar Kalyanaraman
1
Overview








RIP, RIPv2, EIGRP
OSPF, PNNI, IS-IS: LS efficiency & robustness
 Link state distribution, DB synchronization, NBMAs etc
Refs: Chap 16,14
Books: “Interconnections” by Perlman, “OSPF” by John Moy, “Routing in
Internet” by Huitema.
Reference: RFC 2328: OSPF Version 2: In HTML
Reading: Notes for Protocol Design, E2e Principle, IP and Routing: In PDF
Reading: Routing 101: Notes on Routing: In PDF | In MS Word
Reference: Tsuchiya, "The Landmark Hierarchy: A New Hierarchy for Routing in Very
Large Networks"
Shivkumar Kalyanaraman
2
RIP: Routing Information Protocol



Uses hop count as metric (max: 16 is infinity)
Tables (vectors) “advertised” to neighbors every 30 s.
 Each advertisement: upto 25 entries
No advertisement for 180 sec: neighbor/link declared dead
 routes via neighbor invalidated
 new advertisements sent to neighbors (Triggered
updates)
 neighbors in turn send out new advertisements (if
tables changed)
 link failure info quickly propagates to entire net
 poison reverse used to prevent ping-pong loops (infinite
distance = 16 hops)
Shivkumar Kalyanaraman
3
RIPv1 Problems (Continued)
Split horizon/poison reverse does not guarantee
to solve count-to-infinity problem
 16 = infinity => RIP for small networks only!
 Slow convergence
 Broadcasts consume non-router resources
 RIPv1 does not support subnet masks (VLSMs)
 No authentication

Shivkumar Kalyanaraman
4
RIPv2
Why ? Installed base of RIP routers
 Provides:
 VLSM support
 Authentication
 Multicasting
 “Wire-sharing” by multiple routing domains,
 Tags to support EGP/BGP routes.
 Uses reserved fields in RIPv1 header.
 First route entry replaced by authentication info.

Shivkumar Kalyanaraman
5
E-IGRP (Interior Gateway Routing Protocol)




CISCO proprietary; successor of RIP (late 80s)
Several metrics (delay, bandwidth, reliability, load etc)
Uses TCP to exchange routing updates
Loop-free routing via Distributed Updating Alg. (DUAL)
based on diffused computation
 Freeze entry to particular destination
 Diffuse a request for updates
 Other nodes may freeze/propagate the diffusing
computation (tree formation)
 Unfreeze when updates received.
 Tradeoff: temporary un-reachability for some
destinations
Shivkumar Kalyanaraman
6
Link State vs. Distance Vector

Link State (LS) advantages:
 More stable (aka fewer routing loops)
 Faster convergence than distance vector
 Easier to discover network topology, troubleshoot
network.
 Can do better source-routing with link-state
 Type & Quality-of-service routing (multiple route
tables) possible

Caveat: With path-vector-type (paths instead of
distances) DV routing, these differences blur…
Shivkumar Kalyanaraman
7
Link State Protocols

Key: Create a network “map” at each node.

1. Node collects the state of its connected links and forms
a “Link State Packet” (LSP)
2. Flood LSP => reaches every other node in the network
and everyone now has a network map.
3. Given map, run Dijkstra’s shortest path algorithm
(SPF) => get paths to all destinations
4. Routing table = next-hops of these paths.
5. Hierarchical routing: organization of areas, and filtered
control plane information flooded.




Shivkumar Kalyanaraman
8
Link State Issues
Reliable Flooding: sequence #s, age
 LSA types, Neighbor discovery and maintainence
(hello)
 Efficiency in Broadcast LANs, NBMA, Pt-Mpt
subnets: designated router (DR) concept
 Areas and Hierarchy
 Area types: Normal, Stub, NSSA: filtering
 External Routes (from other ASs), interaction
with inter-domain routing.
 Advanced topics: incremental SPF algorithms

Shivkumar Kalyanaraman
9
Reliable Flooding…
Shivkumar Kalyanaraman
10
Topology Dissemination
A.k.a LSP distribution
 1. Flood LSPs on links except incoming link
 Require at most 2E transfers for n/w with E
edges
 2. Sequence numbers to detect duplicates
 Why? Routers/links may go down/up
 Issue: wrap-around, larger sequence number
is not the most recent!

Shivkumar Kalyanaraman
11
Sequence Number Space Organization



Circular space: S1 > S2 > S3 > S1
 Accidental bit errors in switch memory caused this
problem in ARPANET
Lollipop sequence: Start with S0, increment till you
reach circle and then view it as a circular space
 No ambiguity in lollipop handle
Linear space: OSPFv2.
 If Smax reached, expicitly delete Smax LSA before
wrapping around
Shivkumar Kalyanaraman
12
Topology Dissemination (Continued)
Checksum field:
 Drop packet if in error, get retransmission from
neighbor
 Age field (similar to TTL)
 Number of seconds since LSA originated
 Periodically incremented after acceptance
 Originating router refreshes LSA after 30 min
 Delete if Age = MaxAge
 Low age field + large seq # => that LSA is
flapping or frequently changing …

Shivkumar Kalyanaraman
13
Recovering from a partition

On partition, LSP databases can get out of synch

Databases described by database descriptor records
Routers on each side of a newly restored link talk to each
other to update databases (determine missing and out-ofdate LSPs) => selective synchronization

Shivkumar Kalyanaraman
14
LSA-types, Neighbor & flooding
Adjacencies in Different Subnets
Shivkumar Kalyanaraman
15
OSPF Router-LSA: Scenario
Shivkumar Kalyanaraman
16
Neighbor Discovery & Relationship



Every OSPF router sends out 'hello' packets
Hello packets used to determine if neighbor is up
Hello packets sent periodically (short intervals)
HelloInterval = 10s (in example)
Assumes neighbor dead if no response within
 RouterDeadInterval = 40s (in example)



This is also called an “adjacency”
 Note that adjacency is a logical routing relationship
and is more than physical connection.
 It consumes bandwidth and computation resources

Becomes an issue if large number of adj need to be
maintained
Shivkumar Kalyanaraman
17
Neighbor …


Once an adjacency is established, trade information
 Neighbor relationship is bi-directional as a result of
OSPF hello packets
Local topology information is packaged in a "link state
announcement“ (LSA)
 Multiple types of LSAs: (detail later)
Initial DB synchronization
 New announcements are sent ONCE, and only
updated if there's a change


Or every 45mins...
Shivkumar Kalyanaraman
18
Hello:
Packet Format
Shivkumar Kalyanaraman
19
Router-LSA:
Shivkumar Kalyanaraman
20
Database Synchronization



LS Database (LSDB): collection of the Link State
Advertisements (LSAs) accepted at a node.
 This is the “map” for Dijkstra algorithm
When the connection between two neighbors comes up,
the routers must wait for their LS DBs to be synchronized.
 Else routing loops and black holes due to inconsistency
OSPF technique:
 Source sends only LSA headers, then
 Neighbor requests LSAs that are more recent.
 Those LSAs are sent over
 After sync, the neighbors are said to be “fully adjacent”
Shivkumar Kalyanaraman
21
Recap: IP Subnet Model




Each subnet assigned one
or more address prefixes.
Each address prefix is
called an IP subnet
IP routes to subnets, not to
individual hosts
Two hosts on different IP
subnets have to go through
one or more routers.
 Even if they are on the
same “physical” network
Shivkumar Kalyanaraman
22
IP Subnet Model (Contd)



Two hosts or routers on
a common subnet can
send packets “directly”
to one another
Two routers cannot
exchange routing
information directly
unless they have one or
more IP subnets in
common
All these issues will be
strained as we study
OSPF adjacency
operation over different
subnets
Shivkumar Kalyanaraman
23
Broadcast Media Issues

Multiple (N) OSPF routers attached to a common subnet
 Problems:
 One “physical link” vs N*(N-1) “adjacencies”
 How many “links” to be counted for Dijkstra algo?
Shivkumar Kalyanaraman
24
Broadcast net: # links for DIjkstra



Each router is assumed to be “linked” to every other
router for the purposes of Dijkstra.
Hello protocol optimization:
 Each node multicasts Hello to 224.0.0.5 (multicast
address “AllSPFRouters”)
 The Hello multicast message also indicates acks for
other routers’ Hellos by listing their RouterIDs
 “Link” relationship for purposes of Dijkstra maintained
by each node sending a single Hello packet, instead of
N packets.
What about “flooding adjacencies”, I.e.,
 Whom to send (flood) LSAs when a router generates
or learns a new LSA?
 Does it need to synchronize DBs with all nodes ?
Shivkumar Kalyanaraman
25
Flooding Adjacencies : option 1

Using Router-LSAs …
 O(N) Router-LSAs, with O(N2) adjacency info
 Multicast of Router-LSAs does not solve O(N2) DB
synchronization issue
Shivkumar Kalyanaraman
26
Flooding Adjacencies: option 2

New LSA-type: Network-LSA …
 O(N) Router-LSAs + 1 network-LSA+ O(N) adjacencies
 Converted O(N2) adjacency problem into O(N) problem
Shivkumar Kalyanaraman
27
Recap: O(N2) model  O(N) model

Question: Who creates the network-LSA?
Shivkumar Kalyanaraman
28
Designated Router (DR)

One router elected as a designated router (DR)
 Each router maintains flooding adjacency with the DR,
I.e., sends acks of LSAs to DR
 DR informs each router of other routers on LAN
 DR generates the network-LSA on subnet’s behalf
after synchronizing with all routers
Shivkumar Kalyanaraman
29
DR, BDR … continued
Backup DR (BDR) also syncs with all routers, and
takes over if DR dies (typically 5 s wait)
 Total: 2N – 1 adjacencies
 Multicast-based optimization:
 New LSAs, Hellos sent to AllSPFRouters avoids
DR re-advertising new information
 LSA acks sent to AllDRRouters avoids separate
copies to be sent to DR and BDR
 DR election:
 First router on net = DR, second = BDR
 RouterPriority: [0, 127] indicated in Hello packet=>
highest priority router becomes DR
 If network is partitioned and healed, the two DRs
are reduced to one by looking at RouterPriority

Shivkumar Kalyanaraman
30
Network-LSA Example: Summary
DR
Shivkumar Kalyanaraman
31
What if subnet does not support
broadcast?


Non-Broadcast Multiple Access (NBMA) media
NBMA segments may support more than 2 routers, and
allow any two routers to communicate directly, but do not
support data-link broadcast/mcast capability
 Eg:X.25, SMDS, Frame-Relay, ATM etc
 Connection-oriented (VC-based) communication
 Each VC is costly => setting up full mesh for Hellos is
prohibitively expensive

Two flooding adjacency models in OSPF:
 Non-Broadcast Multiple Access (NBMA) model
 Point-to-Multipoint (pt-mpt) Model

Different tradeoffs…
Shivkumar Kalyanaraman
32
NBMA Subnet Model






Neighbor discovery: manually configured
Dijkstra SPF views NBMA as a full mesh!
Most routers assigned a RouterPriority = 0
Other routers: eligible to become DRs =>
 ID of all routers in the NBMA configured
 Maintains VCs and Hellos with all routers eligible to
become DRs (RouterPriority > 0)
 Enables election of new DR if current one fails
DR and BDR only maintain VCs and Hellos with all
routers on NBMA
 DB synchronization works same as broadcast subnet
 Flooding in NBMA always goes through DR
 Multicast not available to optimize LSA flooding.
DR generates network-LSA just like broadcast subnet
Shivkumar Kalyanaraman
33
NBMA vs Pt-Mpt Subnet Model


Key assumption in NBMA model:
 Each router on the subnet can communicate with
every other (same as IP model)
 But this requires a “full mesh” of expensive PVCs at
the lower layer!
 Many organizations have a hub-and-spoke PVC
setup, a.k.a. “partial mesh”
 Conversion into NBMA model requires multiple IP
subnets, and complex configuration (see fig on next
slide)
OSPF’s pt-mpt subnet model breaks the rule that two
routers on the same network must be able to talk directly
 Can turn partial PVC mesh into a single IP subnet
Shivkumar Kalyanaraman
34
Partial Mesh F-Relay: NBMA model
Shivkumar Kalyanaraman
35
Partial Mesh F-Relay: pt-mpt model
Shivkumar Kalyanaraman
36
Pt-Mpt Subnet Model






Each router: single OSPF interface, but multiple neighbor
relationships
Note that neighbor relationships not formed to nodes to
which direct PVC does not exist.
Key differences:
 No DRs or BDRs! Just hellos over the PVCs. Make
sure that the communication is bi-directional.
 I.e. Partial mesh is viewed in Dijkstra as a partial
mesh. Full mesh view not forced like in NBMA model.
Sometimes auto-configuration is possible.
Loss in efficiency because the DB synchronization has to
be done between every peer.
O(n^2) if full mesh. So, in true full PVC mesh situations,
it is better to operate subnet as an NBMAShivkumar Kalyanaraman
37
Hierarchical Routing
Shivkumar Kalyanaraman
38
Why Hierarchy?


Information hiding (filtered) => computation,
bandwidth, storage saved => efficiency => scalability
Address abstraction vs Topology Abstraction
 Multiple paths possible between two areas

Shivkumar Kalyanaraman
39
Hierarchical OSPF
Shivkumar Kalyanaraman
40
Area
Configured area ID
 A set of address prefixes
 Do not have to be contiguous
 So a prefix can be in only one area
 A set of router IDs
 Router functions may be interior, inter-area, or
external

Shivkumar Kalyanaraman
41
Hierarchical OSPF




Two-level hierarchy: local area, backbone.
 Link-state advertisements only in area
 each nodes has detailed area topology; only know
direction (shortest path) to nets in other areas.
 Two-level restriction avoids count-to-infinity issues in
backbone routing.
Area border routers (ABR): “summarize” distances to
nets in own area, advertise to other Area Border routers.
Backbone routers: uses a DV-style routing between
backbone routers
Boundary routers (AS-BRs): connect to other ASs
(generate “external” records)
Shivkumar Kalyanaraman
42
Sample Area Configuration
10.2.0.0/24
Shivkumar Kalyanaraman
43
Summary-LSA Example
Shivkumar Kalyanaraman
44
Externals and Aggregation 1
A full ISP routing table has approximately 100K
routes!
 But will you do anything differently if you know
all of them and have a single ISP?
 Multiple ISP situations call for complex OSPF
and BGP design
 Never redistribute IGPs into BGP! (later…)
 Redistribute BGP into IGPs with extreme care

Shivkumar Kalyanaraman
45
Externals & Aggregation 2

In an enterprise
 Limit externals from subordinate domains
(e.g., RIP) to be within area (area-scope)
 Flood only in area 0 and in area with ASBR
 Allow
externals from Internet, peer domains to
go outside Area 0…
 Only when there will be significant path
differences
 Do things with defaults where possible
Shivkumar Kalyanaraman
46
Type 1 and Type 2 externals

Type 2:
 Default type for routes distributed into OSPF
 EGP costs very different from IGP costs
 Exit based on external (EGP) cost only

Type 1
 Needs to be set explicitly: not default
 IGP costs can be compared and summed
 Selects exit based on internal + external costs
Shivkumar Kalyanaraman
47
Stubbiness: A Means of
Controlling Externals
Shivkumar Kalyanaraman
48
Normal Areas
Flood AS-external-LSAs (type 5) across areaboundaries (AS flooding scope)
 ASBR-summary-LSAs (type 4) advertises location of
ASBR (area flooding scope)
Shivkumar Kalyanaraman

49
Stub Areas
AS-external-LSAs (type 5) not flooded into stub areas
 Summary-LSA flooded only optionally
 Default route to ABR for all non-area prefixes
 Paths may be inefficient, cannot place an ASBR in
Shivkumar Kalyanaraman
stub areas

50
Not-So-Stubby-Areas (NSSA)
A subset of external LSAs may be flooded
 Use Type-7 LSAs for such external routes
 Used to import RIP domain routes and flood it
externally, but keep default route for BGP routes

Shivkumar Kalyanaraman
51
IS-IS Overview
 The
Intermediate Systems to Intermediate System
Routing Protocol (IS-IS) was originally designed to
route the ISO Connectionless Network Protocol (CLNP) .
(ISO10589 or RFC 1142)
 Adapted for routing IP in addition to CLNP (RFC1195) as
Integrated or Dual IS-IS (1990)
 IS-IS is a Link State Protocol similar to the Open Shortest
Path First (OSPF). OSPF supports only IP
 IS-IS competed neck-to-neck with OSPF.
 OSPF deployed in large enterprise networks
 IS-IS deployed in several large ISPs
Shivkumar Kalyanaraman
52
IS-IS Terminology
Intermediate system (IS) - Router
Designated Intermediate System (DIS) - Designated Router
Pseudonode - Broadcast link emulated as virtual node by DIS
End System (ES) - Network Host or workstation
Network Service Access Point (NSAP) - Network Layer Address
Subnetwork Point of attachment (SNPA) - Datalink interface
Packet data Unit (PDU) - Analogous to IP Packet
Link State PDU (LSP) - Routing information packet
Level 1 and Level 2 – Area 0 and lower areas
Shivkumar Kalyanaraman
53
Functional Comparison








Protocols are recognizably similar in function and
mechanism (common heritage)
Link state algorithms
Two level hierarchies
Designated Router on LANs
Widely deployed (ISPs vs enterprises)
Multiple interoperable implementations
OSPF more “optimized” by design (and therefore
significantly more complex)
IS-IS not designed from the start as an IP routing protocol
(and is therefore a bit clunky in places)
Shivkumar Kalyanaraman
54
Sample comparison points


Encapsulation
 OSPF runs on top of IP=> Relies on IP fragmentation
for large LSAs
 IS-IS runs directly over L2 (next to IP) =>
fragmentation done by IS-IS
Media support
 Both protocols support LANs and point-to-point links in
similar ways
 IS-IS supports NBMA in a manner similar to OSPF ptmpt model: as a set of point-to-point links
 OSPF NBMA mode is configuration-heavy and risky
(all routers must be able to reach DR; bad news if VC
fails)
Shivkumar Kalyanaraman
55
Packet Encoding

OSPF is “efficiently” encoded
 Positional fields, 32-bit alignment
 Only LSAs are extensible (not Hellos, etc.)
 Unrecognized types not flooded. Opaque-LSAs
recently introduced.

IS-IS is mostly Type-Length-Value (TLV) encoded
 No particular alignment
 Extensible from the start (unknown types ignored but
still flooded)
 All packet types are extensible
 Nested TLVs provide structure for more granular
extension
Shivkumar Kalyanaraman
56
IS-IS LS Database: Generic Packet Format
No. of Octets
R
Intra-domain Routing Protocol Discriminator
1
Length Indicator
1
Version/Protocol ID Extension
1
ID Length
1
R
R
PDU Type
1
Version
1
Reserved
1
Maximum Area Addresses
1
Packet-Specific Header Fields
TLV Fields
Shivkumar Kalyanaraman
57
More detailed comparison provided
as a reference (not covered in
class)…
Shivkumar Kalyanaraman
58
Private Network to Node Interface (PNNI)

Link State Routing Protocol for ATM Networks

“A hierarchy mechanism ensures that this
protocol scales well for large world-wide ATM
networks. A key feature of the PNNI hierarchy
mechanism is its ability to automatically configure
itself in networks in which the address structure
reflects the topology…”
Shivkumar Kalyanaraman
59
PNNI Features










Scales to very large networks.
Supports hierarchical routing.
Supports QoS.
Supports multiple routing metrics and attributes.
Uses source routed connection setup.
Operates in the presence of partitioned areas.
Provides dynamic routing, responsive to changes in
resource availability.
Separates the routing protocol used within a peer group
from that used among peer groups.
Interoperates with external routing domains, not
necessarily using PNNI.
Supports both physical links and tunneling over VPCs.
Shivkumar Kalyanaraman
60
PNNI Terminology (partial)








Peer group: A group of nodes at the same hierarchy
Border node: one link crosses the boundary
Logical group node: Representation of a group as a single point
Child node: Any node at the next lower hierarchy level
Parent node: LGN at the next higher hierarchy level
Logical links: links between logical nodes
Peer group leader (PGL): Represents a group at the next higher
level.
 Node with the highest "leadership priority" and highest
ATM address is elected as a leader.
 PGL acts as a logical group node.
 Uses same ATM address with a different selector value.
Peer group ID: Address prefixes up to 13 bytes
Shivkumar Kalyanaraman
61
PNNI Terminology
Shivkumar Kalyanaraman
62
Hierarchical Routing: PNNI
Shivkumar Kalyanaraman
63
Source Routing
Source specifies route as a list of all intermediate
systems in the route. Abstracts out area hops.
 Designated Transit List (DTL) Source route
across each level of hierarchy
 Entry switch of each peer group specifies
complete route through that group
 Set of DTLs and manipulations implemented
as a stack
 DTL example: next slide

Shivkumar Kalyanaraman
64
DTL Example
Shivkumar Kalyanaraman
65
Crank back and Alternate Path Routing

If a call fails along a particular route:
 It is cranked back to the originator of the top DTL
 The originator finds another route or
 Cranks back to the generator of the higher level
source route
Shivkumar Kalyanaraman
66
Summary
DV Protocols: RIP, EIGRP
 LS Protocols: OSPF, IS-IS, PNNI

Shivkumar Kalyanaraman
67