shivkumar kalyanaraman 1 routing ii: protocols (rip, eigrp, ospf, pnni, is-is) shivkumar...
Post on 20-Dec-2015
217 views
TRANSCRIPT
Shivkumar Kalyanaraman
1
Routing II: Protocols (RIP, EIGRP, OSPF, PNNI, IS-IS)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
Based in part upon slides of Prof. Raj Jain (OSU), S. Keshav (Cornell), J. Kurose (U Mass)
Shivkumar Kalyanaraman
2
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"
Overview
Shivkumar Kalyanaraman
3
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
4
RIPv1 Problems (Continued)
Split horizon/poison reverse does not guarantee to solve count-to-infinity problem16 = infinity => RIP for small networks only!Slow convergence
Broadcasts consume non-router resources RIPv1 does not support subnet masks (VLSMs)
No authentication
Shivkumar Kalyanaraman
5
RIPv2 Why ? Installed base of RIP routers Provides:
VLSM supportAuthenticationMulticasting “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
6
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
7
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
8
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
9
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: filteringExternal Routes (from other ASs), interaction
with inter-domain routing. Advanced topics: incremental SPF algorithms
Shivkumar Kalyanaraman
10
Reliable Flooding…
Shivkumar Kalyanaraman
11
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 duplicatesWhy? Routers/links may go down/up Issue: wrap-around, larger sequence number
is not the most recent!
Shivkumar Kalyanaraman
12
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
13
Topology Dissemination (Continued)
Checksum field: Drop packet if in error, get retransmission from
neighbor Age field (similar to TTL)
Number of seconds since LSA originatedPeriodically incremented after acceptanceOriginating router refreshes LSA after 30 minDelete if Age = MaxAgeLow age field + large seq # => that LSA is
flapping or frequently changing …
Shivkumar Kalyanaraman
14
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-of-date LSPs) => selective synchronization
Shivkumar Kalyanaraman
15
LSA-types, Neighbor & flooding Adjacencies in Different Subnets
Shivkumar Kalyanaraman
16
OSPF Router-LSA: Scenario
Shivkumar Kalyanaraman
17
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
18
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
19
Hello: Packet Format
Shivkumar Kalyanaraman
20
Router-LSA:
Shivkumar Kalyanaraman
21
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
22
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
23
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
24
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
25
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
26
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
27
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
28
Recap: O(N2) model O(N) model
Question: Who creates the network-LSA?
Shivkumar Kalyanaraman
29
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
30
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 = BDRRouterPriority: [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
31
Network-LSA Example: Summary
DR
Shivkumar Kalyanaraman
32
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
33
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
34
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
35
Partial Mesh F-Relay: NBMA model
Shivkumar Kalyanaraman
36
Partial Mesh F-Relay: pt-mpt model
Shivkumar Kalyanaraman
37
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 NBMA
Shivkumar Kalyanaraman
38
Hierarchical Routing
Shivkumar Kalyanaraman
39
Why Hierarchy? Information hiding (filtered) => computation,
bandwidth, storage saved => efficiency => scalability Address abstraction vs Topology Abstraction
Multiple paths possible between two areas
Shivkumar Kalyanaraman
40
Hierarchical OSPF
Shivkumar Kalyanaraman
41
Area
Configured area ID A set of address prefixes
Do not have to be contiguousSo a prefix can be in only one area
A set of router IDsRouter functions may be interior, inter-area, or
external
Shivkumar Kalyanaraman
42
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
43
Sample Area Configuration
10.2.0.0/24
Shivkumar Kalyanaraman
44
Summary-LSA Example
Shivkumar Kalyanaraman
45
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
46
Externals & Aggregation 2
In an enterpriseLimit 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
47
Type 1 and Type 2 externals
Type 2: Default type for routes distributed into OSPFEGP costs very different from IGP costsExit based on external (EGP) cost only
Type 1Needs to be set explicitly: not default IGP costs can be compared and summedSelects exit based on internal + external costs
Shivkumar Kalyanaraman
48
Stubbiness: A Means of Controlling Externals
Shivkumar Kalyanaraman
49
Normal Areas
Flood AS-external-LSAs (type 5) across area-boundaries (AS flooding scope)
ASBR-summary-LSAs (type 4) advertises location of ASBR (area flooding scope)
Shivkumar Kalyanaraman
50
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 stub areas
Shivkumar Kalyanaraman
51
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
52
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
53
IS-IS Terminology
Intermediate system (IS) - RouterDesignated Intermediate System (DIS) - Designated RouterPseudonode - Broadcast link emulated as virtual node by DISEnd System (ES) - Network Host or workstationNetwork Service Access Point (NSAP) - Network Layer AddressSubnetwork Point of attachment (SNPA) - Datalink interfacePacket data Unit (PDU) - Analogous to IP PacketLink State PDU (LSP) - Routing information packetLevel 1 and Level 2 – Area 0 and lower areas
Shivkumar Kalyanaraman
54
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
55
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 pt-
mpt 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
56
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
57
IS-IS LS Database: Generic Packet Format
Intra-domain Routing Protocol Discriminator
Length Indicator
TLV Fields
Version/Protocol ID Extension
ID Length
R R R PDU Type
Version
Reserved
Maximum Area Addresses
Packet-Specific Header Fields
No. of Octets
1
1
1
1
1
1
1
1
Shivkumar Kalyanaraman
58
More detailed comparison provided as a reference (not covered in class)
…
Shivkumar Kalyanaraman
59
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
60
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
61
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
62
PNNI Terminology
Shivkumar Kalyanaraman
63
Hierarchical Routing: PNNI
Shivkumar Kalyanaraman
64
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 hierarchyEntry switch of each peer group specifies
complete route through that groupSet of DTLs and manipulations implemented
as a stack DTL example: next slide
Shivkumar Kalyanaraman
65
DTL Example
Shivkumar Kalyanaraman
66
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
67
Summary
DV Protocols: RIP, EIGRP LS Protocols: OSPF, IS-IS, PNNI