370 likes | 527 Views
Computer Networks. Chapter 14 – Specific Routing Protocols. Routing Protocols. Distance Vector RIP (IP, IPX) (Routing Information Protocol) RTMP (AppleTalk) (Routing Table Maintenance Prot.) DECnet Phases 3 and 4 EGP (IP interdomain) (Exterior Gateway Protocol)
E N D
Computer Networks Chapter 14 – Specific Routing Protocols CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Routing Protocols • Distance Vector • RIP (IP, IPX) (Routing Information Protocol) • RTMP (AppleTalk) (Routing Table Maintenance Prot.) • DECnet Phases 3 and 4 • EGP (IP interdomain) (Exterior Gateway Protocol) • BGP (IP interdomain) (Border Gateway Protocol) • Link State • IS-IS (IP, CLNP) (Intermediate System-to-IS) • NLSP (IPX) (NetWare Link Services Protocol) • OSPF (IP) (Open Shortest Path First) • PNNI (ATM) (Private Network-to-Network Interface) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
History • DV – earliest routing protocols: • DECnet, “old” ARPANET, RIP • LS followed • ARPANET “new” (ca. 1980) • DECnet Phase V (ca. 1985) • IS-IS (based on DECnet V, ca. 1988) • OSPF (NIH syndrome at IETF, ca. ’89,’91,…) • Interdomain (DV): • GGP (manual configuration!, ca. 1979) • EGP (ca. 1982) • BGP (ca. 1989,1990, BGP-3 1991, BGP-4 1995) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Interior vs. Exterior Gateways • Interior Gateways (routers) • Under same administration (same AS) • Run single interior gateway protocol • Typically RIP, OSPF, IS-IS, etc. • Exterior Gateways (border routers) • Connect Autonomous Systems (AS) • Run exterior gateway protocol with other EGs • Run IGP with IGs in same AS • Typically BGP-4 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
RIP • Routing Information Protocol • For Interior Gateways (routers) • DV protocol • Specified in RFC 1058 after deployment! • RIP-2 • Added authentication • Added masks, ability to advertise by proxy • Aging • Report distances at least every 30 sec. • Discard after 180 seconds of age CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
RIP v1 Command (1) Command (1) Version (1) Version (1) Reserved (2) Reserved (2) Addr Fam ID (2) 0x0002 Address (14) Reserved (2) IP Address (4) Repeated Repeated Reserved (8) Metric (4) Metric (4) RIP v1 RIP v1 as used with IP Up to 25 DV entries Slow to converge (long timeouts) High overhead (Tx all routing info every 30 sec.) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
RIP v2 with Authentication Command (1) RFC 2453 Command – 1=request 2=response Address Family=0xFFFF indicates authentication Authentication Type and Info for security use Hash Type and Hash Value Route Tag … watch this space… Mask for CIDR Next Hop used for proxy adverts = 0 if info for self, or not 0 for another router on LAN Version=2 (1) Reserved (2) Addr Fam=0xFFFF Auth Type (2) Auth Info (16) Addr Fam Ind=0x0002 Route Tag (2) IP Address (4) Repeated Mask (4) Next Hop (4) Metric (4) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
RTMP, IPX-RIP, DECnet • RTMP, IPX-RIP • Similar to RIP • RTMP – report 10 sec/discard 20 sec! • Mandate split horizon • IPX-RIP requires triggered updates, PR • Dual Metrics used by IPX-RIP and DECnet • DECnet • Specific information sent reliably (not periodic) • Separate Hello messages for liveness • Store DVs from all nbors – fast recompute CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
IS-IS, OSPF, NLSP, PNNI • Mostly the same • Self-stabilized flooding, LAN use from IS-IS • Hierarchical • OSPF allows 2 levels • IS-IS is multilevel tree hierarchy • Both now allow tradeoffs for route optimality vs. routing information quantity • NLSP, PNNI allow arbitrary meshes CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
NLSP Area Connection p2 Area A p1 R Area B p3 LSP from A Only sent to A LSP from B Only sent to B Summary from A injected into LSPs for B; Summary from B injected into LSPs for A • Filtering – decides addr import/export • Summarization – addr prefixes, distances CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
OSPF Hierarchy D C Area A Area B Backbone E F G • Strict 2-level hierarchy • Inter-area traffic must go through backbone CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
OSPF Reporting D2 D3 D1 AS (domain) R3 area R1 R4 R2 D4 R5 D5 • Filtering – decides addr import/export • Summarization – addr prefixes, distances CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
PNNI Hierarchy • Area = Peer Group (hierarchy) • Arbitrary PG interconnection • Hierarchical • Lowest level, node = router • Higher up, node = peer group • Each PG elects “leader” • Leader advertises for PG • PG name is string, prefix = ancestor CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
PNNI Connections Peer Group B Peer Group C Peer Group A CG AB AD CF BC ABX ADG CGH ADX CGHV CGHF • Higher level connectivity determined by lower level connections CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
PNNI Routing • LSP (unlike NLSP) • Router in a PG knows link state info for all routers in PG and for all ancestors • Routes at higher levels are PG sequences • Unlike NLSP, can’t restrict use of inter-PG links by limiting information propagation • External link info given without metrics • Could cause loops • Can only flow down, not up (same as IS-IS) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
IS-IS Area Addresses • variable length • Prefix of CLNP address in CLNP • Area name in IP (level 1 routers don’t talk to different area level 1 routers) • Area may have multiple addresses (allows address migration, area merging, splitting) EX: R1, R3 in A and R2, R4 in B Add B to R1, R3 and Add A to R2, R4 R1, R2, R3, R4 are in {A,B} Now delete A from each router’s area addr set When last router has only B, then all in B CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Area Addresses • OSPF • Single ID, 4 bytes • 0.0.0.0 means level 2 • NLSP • Similar to IS-IS, except IPX prefixes for addrs • Used for default address summary export • PNNI • Variable length string, 0-13 bytes long • PG node name = PG name.Leader ID (6 bytes) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
LANs and Designated Routers • DR allows LAN to be treated as a node • N+1 nodes w/N links vs. N nodes w/N2 links • DR issues link state info for LAN, names LAN • IS-IS – determinisitic election • 6-byte ID and 1-byte priority in Hello • Highest (Priority,ID) wins • OSPF – sticky (no preemption of leader) • DR fails, then elect like IS-IS • “Better” – less disruptive CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
LANs and Designated Routers • NLSP • Similar to IS-IS, except • priority += 20 for leader after one min. • Adjust priorities to get IS-IS or sticky behavior • PNNI – doesn’t need (pt-pt links only) • Peer Group leader elections • Like NLSP, but += 50 after election CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable LSP Propagation on LANs • Easiest way: unicast with ACKs • But high overhead • IS-IS – multicast, no ACKs • Assume all went well… • Periodically send Complete Seq # Packet • CSNP gives IDs and seq #’s of LSPs it has • If R sees R’ doesn’t have its latest LSP, resend • If R sees that R’ has more recent LSP for R’’, ask • Request is via Partial Seq # Pkt (like CSNP) • PSNP used to request or to acknowledge CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable LSP Propagation on LANs • OSPF • DR collects explicit ACKs for each LSA (LSP) • DR has lots of state information, backup DR • BDR also listens for LS Advertisement ACKs • R mcasts LSA to AllDRouters (DR and BDR) • DR mcasts the LSA to AllSPFRouters • R’ acks LSA to AllDRouters • If DR lacks enough ACKs, unicast LSA p.r.n. CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable LSP Propagation on LANs • Comparing OSPF and IS-IS • OSPF • Extra latency • IS-IS • If no updates, constant CSNP overhead • If lots of routing info and many routers, frequent updates, IS-IS has lower overhead (no ACKs) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Parameter Synchronization • Local Parameters and Global Parameters • Parameters local to link • Can be set using neighbor messages (Hello) • Allow variation across network and even node • E.g. hello frequency, holding time, etc. • Global parameters • Must be uniform over whole network • Can be set using LSPs, or centrally • E.g., field lengths, packet formats, etc. CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
IS-IS Parameters • Locals • Holding time (officially = 10 x report interval!) • Report interval not exchanged, so OK to vary • Globals • Max # area addresses • Originally 3 • ID field size in LSPs • Originally 6 bytes • Later made variable • Value “0” means original value (was rsvd) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
OSPF Parameters • Locals • Hello Interval • RouterDeadInterval • These must match exactly for all routers! CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Destinations per Packet • How many destinations can be reported in an LSP/LSA? • IS-IS: Many • Smaller DB (single age for whole) • Must send entire fragment on changes • OSPF: One • Each LSA has own seq#, age => DB is 3x size • Only links that change need to be sent • PNNI: Many • Classes of info, each with own seq #, age CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
LSP Database Overload • Static • Underconfigured • Growth • Temporary • E.g., when DR for a LAN changes • Traditional “Solutions” • Crash • Can’t manage remotely if down! • Work with subset • Likely to cause global disruptions CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
LSP Database Overloads • IS-IS • If LSP doesn’t fit, then don’t ACK • Sender will retry – if temporary, then will fix • Overloaded R will flag itself, other avoid it • Clear flag when no LSP refused for ReTx time CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
LSP Database Overloads • OSPF • Overflow more likely (external LSAs) • Traditionally ignored excess LSAs • Disruptive! • Optional capability (RFC 1765) • Deals only with externally generated LSAs • Parameter to set max on such info (and supposed to be identical but never exchanged…) • Routers should all overflow at same time (vide supra) • If overflow, then purge all external LSAs! • Leads to “Binge and Purge” behavior CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
LSP Database Overloads • PNNI • Designed for ATM, source chooses path • Hence DB overflow less of a problem • Only need to know how to reach neighbors • Restrictions placed on overloaded router • Can’t be PG leader • Can’t be border node • Sets overloaded flag like IS-IS CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Authentication • Initially, none in RIP, IS-IS • OSPF initial version • had plaintext password as “authentication” • single PW per link • PR caused IS-IS to follow suit • Now • Both have cryptographic authentication • OSPF – set by forwarding router (local - easier) • IS-IS – set by source (more fragile, more secure) • Multiple keys per link • allows migration, more secure CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Interdomain Routing Protocols • Domains • Separate funding, administration, policies • Can select own routing protocol, NW protocol • Interdomain routing protocol • Must be only one! (Why?) • Static Routing • EGP • BGP CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Static Interdomain Routing • Manual configuration of routes • Advantages: • No routing protocol overhead • “Secure” (routers can’t lie to you) • Even routing protocol requires some config • Can handle very complex policies • No possibility of global disruption from faulty interdomain router in another domain • Disadvantages • No adaptation to changes • Takes a lot of work, may be inconsistent CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
EGP • First interdomain routing protocol • Three aspects • Neighbor acquisition • Neighbor reachability • Routing information • Neighbor acquisition • Interior nbor – IG with which EGP info is exchg • Exterior nbor – EG to exchange EGP info with • Nbor acquisition request + reply/refusal • Nbor cease + cease ACK CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
EGP • Neighbor reachability • Hello + I heard you • Status: none, you appear reachable, you appear unreachable (NW info or my NIC) • Seq# • Minimum polling interval (hellos) • Last poll ID number (routing info) • Routing information • DV, but no distance, only reachable!!!! • No loops allowed! CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
BGP • Path-vector protocol • Given dest and path • Neighbors • E-BGP • I-BGP • Four message types • Open – acquire nbor • Update – routing info • Notification – link will die • Keepalive - hello CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman