1 / 90

Broadband Network Architectures

Broadband Network Architectures. Router Design. TEMangir Sp02. Outline. Introduction Router Fundamentals Routing Algorithms and Protocols Fast Forwarding Layer-3 Switching IP over WDM. Introduction. A Fine Distinction. Imprecision surrounds the terms “routing” and “forwarding”

oral
Download Presentation

Broadband Network Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Broadband Network Architectures Router Design TEMangir Sp02

  2. Outline • Introduction • Router Fundamentals • Routing Algorithms and Protocols • Fast Forwarding • Layer-3 Switching • IP over WDM

  3. Introduction

  4. A Fine Distinction • Imprecision surrounds the terms “routing” and “forwarding” • Forwarding is the act of transferring a packet from one interface of a router to another, after consulting a forwarding table • Routing is the act building routing tables by means of a routing algorithm • We frequently abuse this convention

  5. What is a Router? • A packet forwarder • Multiprotocol – IP, IPX, AppleTalk • A routing-protocol execution machine • Multiprotocol – IGRP, RIP, OSPF, IS-IS • A packet monitor • A general-purpose computer • A firewall • A switch

  6. Internet Forwarder Functions • Parse the datagram header • Checksum actions • Select the network protocol • Decrement the TTL field • Use the TOS field to prioritize the datagram • Process the options fields • Forward (route) the datagram to next hop • Fragment the datagram

  7. Internet Router Functions • Execute one or more routing protocols • Exchange state information with other routers • Use a transport protocol • Authentication • Collect network-management statistics • Packet counts, lengths, and types • Source-destination matrix • Configuration support • User interface • Tunnel management

  8. Internet Firewall Functions • Filtering of destinations • Source • Destination • Filtering of services • Block protocols • Block transport port numbers • Virtual private networks • Encrypted tunnels FTP HTTP X Port Nums UDP TCP Proto ID IP

  9. Control and Data Planes Control Plane Route Determination Function control packets to & from other control plane entities control packets to & from other control plane entities Data Forwarding Function data packets to & from other data plane entities data packets to & from other data plane entities Data Plane Router

  10. Router Fundamentals

  11. ARP • Address Resolution Protocol translates an IP address to a media (link) address • Simple request-response protocol • First host broadcasts a request packet containing desired IP address • Second host recognizes its IP address • Second host sends a response packet to first host containing its media (link) address • First host caches address mapping for later use

  12. ARP Header 0 15 31 Hardware Type Protocol Type HLen PLen Operation Source Hardware Address Source Protocol Address Target Hardware Address Target Protocol Address

  13. ARP Header Fields • Hardware type: e.g. Ethernet = 1 • Protocol type: e.g. IPv4 = 0080 • HLen: Hardware address length (e.g. Ethernet = 48 bits) • PLen: Protocol address length (e.g. IPv4 = 32 bits) • Operation: a query (0) or a reply (1) • Source: where packet came from • Target: system it is querying about

  14. ARP Operation (1) DNS FTP FTP (8) TCP TCP (8) (1) (2) ARP IP ARP IP ARP (3) (8) (7) (8) (6) (5) Ethernet Driver Ethernet Driver Ethernet Driver (4)

  15. ARP Operation (2) 1. IP datagram with destination address 2. Next-hop address is passed to ARP 3. ARP request passed to Ethernet driver 4. ARP request broadcast in Ethernet frame Routing ARP request recognized by next-hop node 6. ARP reply sent by next-hop node 7. ARP reply updates ARP cache 8. IP datagram sent through next-hop node

  16. Proxy ARP • Allows a router to answer ARP requests from one of its networks for a host on another of its networks • Router substitutes its link address for the responding host’s • Proxy gives the illusion that the host is connected to another network

  17. RARP • Reverse ARP translates a media (link) address to an IP address • Used by system without nonvolatile storage • Requires a network-wide RARP server • Similar to BOOTP (Bootstrap Protocol)

  18. Router Advertisement (1) • Routers announce presence by broadcasting ICMP router advertisements • All-hosts multicast address: 224.0.0.1 • Limited broadcast address: Routing Advertisements are periodic • 7-minute period • Advertisement becomes stale after 30 minutes

  19. Router Advertisement (2) • Advertisements contain a list of addresses • Router IP addresses • Preference level of each address • Higher values are preferred • Highest value is the normal router • Lower value is a backup router • Lowest values do not wish to receive default traffic

  20. Router Solicitation (1) • A host should not have to wait 7 minutes for the next ICMP router advertisement • ICMP router solicitation messages allow the host to request the identity of a router • The host broadcasts the solicitation • All-routers multicast address: 224.0.0.2 • Limited broadcast address: 255.255.255.255 • The host receives many advertisements • The host chooses the router on its subnet

  21. Router Solicitation (2) • Host bootstrap operation • Broadcasts 3 solicitations • Broadcasts 1 message every 3 seconds • Broadcasting stops as soon as a valid router advertisement is received

  22. Broadcast Storms • Mechanisms that rely on broadcasting messages within a LAN are vulnerable to broadcast storms, i.e. long, uncontrolled exchanges of broadcast packets. • Because everyone must process a broadcast, storms put a heavy load on uninvolved nodes. • Therefore, protocol exchanges – such as ARP, RARP, DHCP, Router Solicitation, and Router Announcement – must control broadcasts with timers and by limiting message counts.

  23. Redirect • ICMP redirect error is sent by a router to a host to indicate that the host should send its datagrams through another router 1. First Datagram 4. Successive Datagrams 2. Redirect 3. First Datagram Security concern!

  24. A Simple Router I/O Bus CPU NIC System Bus Fast Ethernet DMA Ctrl NIC FDDI DMA Xfer Main Memory 3 1 2 NIC ATM 1. Packet input 2. Header processing Routing table lookup DMA transaction 3. Packet output NIC = Network Interface Controller DMA = Direct Memory Access

  25. IP-Layer Processing Routing Algorithm Routing Table Mgmt UDP TCP IP Layer Yes Addressed Here? ICMP Data No Routing Table Forwarded Packet Control IP Output Calculate Next Hop Process IP Options Source Routed Packet IP Input Queue Network Input(s) Network Output(s)

  26. Routing Table Structure • Destination IPv4 address • Host address (32 bits) • Network address (<32 bits) • Next-hop router IP address • Router on a directly connected network • Flags • Network or host • Router or interface • Network interface

  27. Routing Table Host address U = route is up G = route is via gateway H = route is to a host D = route was redirected Multicast address Loopback address zap % netstat -rn Routing tables Destination Gateway Flags Refcnt Use Interface 128.9.192.24 128.9.112.24 UGH 0 0 myri0 128.9.192.72 128.9.112.72 UGH 9 54173 myri0 128.9.192.73 128.9.112.73 UGH 0 0 myri0 224.0.0.9 127.0.0.1 UH 1 118606 lo0 127.0.0.1 127.0.0.1 UH 8 3541986 lo0 128.9.192.146 128.9.112.146 UGH 0 0 myri0 128.9.192.100 128.9.112.100 UGH 0 0 myri0 128.9.192.69 128.9.112.69 UGH 0 0 myri0 128.9.192.126 128.9.112.126 UGH 0 0 myri0 default 128.9.112.72 UG 22 8601210 myri0 128.9.192.0 128.9.192.151 U 7 2109258 le0 128.9.112.0 128.9.112.151 U 0 51 myri0 Next-hop router Ethernet Network address Loopback Myrinet

  28. IP Output Processing • Search table for match of host address • If found, then send datagram to next-hop router or directly connected interface • Search table for match of network address • If found, then send datagram to next-hop router or directly connected interface • Use subnet mask, if necessary • Search table for default entry • If found, then send the datagram to next-hop router

  29. Routing • Assumptions • Router knows the addresses of all other routers • Router knows the “costs” to reach its neighbors • Network viewed as a collection of nodes and (bidirectional) links • From any given router find next hop on shortest path to any other router • Tolerance of failures

  30. Distance-Vector Routing • Based on the sharing of distance vectors • A router’s distance vector is a list of its “distances” to every other router in the routing domain • Router tells its neighbors its distance (cost) to every other router in the network • Cost = Distance • Usually we assume that cost = distance = hops • Other metrics: bandwidth, delay, charging

  31. Distance-Vector Algorithm • Router maintains a distance vector • List of <dest, cost> entries • Router periodically sends a copy of its distance vector to all neighboring routers • Upon receipt of a distance vector, the router determines its new distance vector • cost(v)  min {cost(v), costw(v)+cost(w)} • Converges to shortest-path routes • O(MN), M=num_links, N=num_nodes

  32. Distance-Vector Problems • Slow convergence • Packet bouncing after link failure • Counting to infinity • Race condition after network partition • Algorithm keeps adding to current cost, never reaching infinity • Solution: represent infinity by a large number • Large number is 16 in RIP • Caused by routers repeating information that was valid before failures

  33. Link-State Routing • Based on sharing of link state • Link-state packets: <ID, Nbr_ID, cost> • Link-state information is flooded throughout the network • Each router computes shortest paths independently • Router tells every other router its distance (cost) to its neighbors • Cost = distance = hops

  34. Link-State Algorithm • Router maintains a database of link-state packets that describe its links • Router floods a copy of every link-state packet throughout the network • Uses sequence numbers and duplicate elimination to control the flood • Router applies Dijkstra algorithm to find shortest path • Converges to shortest-path routes • O(M logM), M = num_links

  35. Two Routing Schemes DV LS Router Router LS All Other Routers Router’s Neighbors DV LS DV LS Distance Vector Routing Router sends a large amount of information to a few recipients Link State Routing Router sends a small amount of information to many recipients

  36. Link-State & Distance-Vector Routing • Link-state • Loopless routing • Fast convergence • Precise, multiple metrics (costs) • Distance-vector • Simplicity • Less memory required • Both in use in today’s Internet

  37. Internet Routing Hierarchy • Interior routing • Within an AS • Intradomain routing • Exterior routing • Between ASs • Interdomain routing

  38. Internet Routing Protocols • Interior Gateway Protocols (IGPs) • RIP • RIPv2 is the current standard • IGRP • EIGRP • OSPF • IS-IS • Exterior Gateway Protocol (EGP) • Border Gateway Protocol (BGP) • BGP-4 is the current standard

  39. Routing Protocol Comparison

  40. IGP Example 128.9.1.2 128.9.Routing2 Rtr A Rtr B 128.9.2.0/24 (2000) .2 s1 128.9.4.0/24 (60) 128.9.3.0/24 (60) s2 e0 Rtr C .2 128.9.1.0/24 (10) 128.9.Routing0/24 (10) 128.9.6.0/24 (10) RIP Routing Table at Rtr A OSPF Routing Table at Rtr A Destination Next Hop Hop Count Destination Next Hop Hop Count 129.9.1.0 e0 - 129.9.1.0 e0 - 128.9.6.2 128.9.2.0 s1 - 128.9.2.0 s1 - 128.9.3.0 s2 - 128.9.3.0 s2 - 128.9.4.0 128.9.2.2 (s1) 128.9.3.2 (s2) 1 1 128.9.4.0 128.9.3.2 (s2) 120 128.9.Routing0 128.9.2.2 (s1) 1 128.9.Routing0 128.9.2.2 (s1) 130 128.9.6.0 128.9.3.2 (s2) 1 128.9.6.0 128.9.3.2 (s2) 70

  41. Lollipop Sequence Space Problem: Sequence numbers of link-state packets wrap around or are restarted a If d<N/4 (half circumference) then b is the newer sequence number, otherwise a is newer -N/2 0 d N/2 - 1 b Sequence numbers start here (bootup) and circle around repeatedly Sequence numbers in this subspace are generated only after bootup, and recipients notify the booting router of last sequence number received

  42. Routing in the Internet • Autonomous System (AS) • Set of routers and hosts administered by a single entity • Customer network (e.g., 128.9.0.0) • ISP • Backbone provider • Assigned a unique 16-bit number • AS represents a routing domain

  43. Classification of ASs (1) • Stub AS • Single connection to another AS • All traffic is local (i.e., originates or terminates at the AS) • E.g., a typical corporation • Multihomed AS • Multiple connections to other ASs • Refuses to carry nonlocal (transit) traffic • E.g., a well-connected corporation

  44. Classification of ASs (2) • Transit AS • Multiple connections to other ASs • Accepts local and nonlocal (transit) traffic • E.g., ISP or backbone operator

  45. Types of ASs AS 4 (stub) AS 2 (transit) AS 1 (transit) AS 5 (stub) AS 6 (multihomed) AS 3 (transit)

  46. First 20 AS Numbers AS NumberNameHandle 1 GNTY-1 [CS15-ARIN] 2 DCN-AS [DW19-ARIN] 3 MIT-GATEWAYS [RH164-ARIN] 4 ISI-AS [JKR1-ARIN] 5 SYMBOLICS [SG52-ARIN] 6 BULL-HN [JLM23-ARIN] 7 UK-MOD [RNM1-ARIN] 8 RICE-AS [RUH-ORG-ARIN] 9 CMU-ROUTER [HC-ORG-ARIN] 10 CSNET-EXT-AS [CS15-ARIN] 11 HARVARD [WJO3-ARIN] 12 NYU-DOMAIN [ZN68-ARIN] 13 BRL-AS [RR33-ARIN] 14 COLUMBIA-GW [ZC26-ARIN] 15 NET-DYNAMICS-EXP [ZSU-ARIN] 16 LBL [CAL3-ARIN] 17 PURDUE [JRS8-ARIN] 18 UTEXAS [DLN12-ARIN] 19 CSS-DOMAIN [CR11-ARIN] 20 UR [LB16-ARIN] http://www.arin.net/library/internet_info/asn.txt

  47. CIDR — Problems • Classless Interdomain Routing (CIDR) • Class A IP addresses are too large (16M hosts) • Class C IP addresses are too small (256 hosts) • Class B addresses are just right (64K hosts), but we are running out of class B addresses • Routing table explosion • Core routers act upon network numbers • Routing tables grow as number of networks increases

  48. CIDR — Solutions • Allocate the class C address space among geographical regions • Europe, the Americas, Asia, Africa • Eases routing problems • Assign blocks of class C addresses to users • Can attach more than 256 hosts • Allows for the aggregation of routes

  49. CIDR — Rules • User may ask for 2n contiguous class C address blocks (0 n  5) • Yields 2n+8 host addresses • A block of class C addresses is listed in a core routing table by address prefix • Like a subnet mask • E.g., the prefix 192.4.16.0/20 specifies network numbers 192.4.16.0 through 192.4.31.255

  50. CIDR Aggregation Routing Table One routing prefix replaces 4096 entries 4096 Customer Addresses 192.4.16.0 - 192.4.31.255 192.4.16.0/20 Customer Backbone Provider ISP “192.4.16.0/20” is shorthand notation for “192.4.16.0 - 192.4.31.255”

More Related