CSE677: Lecture “Router Architecture and Configuration Basics” Prasad Calyam, Senior Systems Developer/Engineer OARnet, A Division of Ohio Super Computer Center [email protected] 21st May 2007 Topics of Discussion What kinds of Routers are on the Internet? Introduction to Router Architecture Switching Fabrics Input and Output Port Queuing Look-up Requirements and Techniques How to access Router’s features? Introduction to Cisco IOS Configuring OSPF and BGP on a Cisco router Conclusion What kinds of Routers are on the Internet? Router is a physical device in a network that directs packets to their intended destinations Routers are used at Three levels in the Internet Access Level • Ex. Cisco 700 to 2500 Series Enterprise/Distribution Level • Ex. Cisco 2600 to 3600 Series Core/Backbone Level • Ex. Cisco 12000 GSR Series Types and Sizes of Routers Home Networking or Access Router 10s of $$ Router for Large Backbone Networks Routers for Small/Medium sized Enterprise Networks 100s-1000s of $$ > 10,000s of $$ IP Network View: ISPs (E.g. Internet2 - USA, DANTE - Europe, CANARIE - Canada,…) (E.g. OARnet - Ohio, MERIT - Michigan,…) (E.g. Time Warner, SBC Yahoo, WOW,…) Point of Presence (PoP) PoP (Point of Presence) is a term used to reference a physical location where network equipment such as routers, switches, etc. are deployed. It is also where telecommunication lines meet An ISP hands-off traffic to another ISP In-class Problem “What is the approximate diameter of the Internet?” Diameter definition: Maximum number of routers between two extreme hosts on the Internet. You can discuss with your neighbors HINT: Imagine how IP handles packets that may indefinitely circulate on the Internet and ultimately cause flooding. Router Architecture Overiew Router’s Primary Functions Orchestrate routing algorithms/protocol (RIP, OSPF, BGP) Switching datagrams from incoming to outgoing link at line speed Router Interface Router Internal Functions Input and Output Port Queuing Input Queue Line speed > switching fabric speed Data link processing Output Queue Line speed < switching fabric speed involves the Frame Check Sequence calculation to confirm whether a frame is corrupted - before passing it to a switch fabric Queueing (delay) and loss occurs due to input or output port buffer overflow! Scheduling discipline performs contention management by choosing among queued datagrams for transmission; FIFO, QoS – TOS based, … Switching Fabrics Switching fabric transfers datagrams from input port memory to appropriate output port memory (avoids contention) Switching via Shared memory Speed is limited by memory access speed (i.e., Read/Write speed) Switching via Shared Bus Single frame at a time – Serial; Buffering allows Parallel frame handling Speed is limited by bus capacitance 1 Gbps bus, Cisco 1900: sufficient speed for access and enterprise routers (not regional or backbone) Switching via Space division (crossbar) Each input interface has access to the matrix that directly connects to the multiple output interfaces Speed is limited by the scheduler Look-up Requirements Line speed switching versus forwarding decision making IP lookup algorithm decides which output interface needs to be selected for packet forwarding Requirements Speed: Number of memory accesses Storage requirements: Amount of memory Scalability • With length of prefix – IPv4 unicast (32b), IPv6 unicast (128b) • With size of routing table • Number and Types of QoS options Flexibility in implementation (allows customization for different protocols) In-class Problem “If you are a router architect, how would you design a router to handle routing decisions?” Consider the different lookup requirements You can discuss with your neighbors HINT: Recall the data search and retrieval tricks used in your database course Look-up Techniques Networking Protocol MPLS, Ethernet IPv4, IPv6 Lookup Mechanism Techniques Used Exact match search –Direct lookup Longest-prefix match search -Radix trie and variants Not suitable for large tables, ex. > 1012 –Hashing using Hash Functions –Binary/Multi-way Search Trie/Tree –Associative lookup using Content Addressable Memory (CAM) –Compares all entries in parallel against incoming data – -Compressed trie -Binary search on prefix intervals Content Addressable Memory CAM is a special type of computer memory used in certain very high speed searching applications It utilizes a hardware-based search-table concept to provide a higher performance alternative to softwarebased searching algorithms CAM can be compared to the inverse of the RAM. When read, RAM produces the data for a given address. Conversely, CAM produces an address for a given data word (if data word is found in memory) CAM is much faster than RAM – entire memory search in one clock cycle CAM is very expensive compared to RAM – because additional comparison circuitry is required for every bit to match stored bits with input bits How to access Router’s features? Cisco Internetwork Operating System (IOS) It’s the kernel of all Cisco routers and switches It controls hardware to allow for configuring, monitoring and troubleshooting various router functions. Ex.: • Setup of various network protocols • Add security to control access and stop unauthorized network use Memory in a Cisco Router Cisco IOS resides in the Flash Memory Startup configurations reside in NVRAM All other temporary tables/buffers are created in RAM Cisco IOS had 3 command modes of operation Router> “User Mode” to generally view statistics and stepping-stone to logging into privileged mode Router# “Privileged Mode” to view the router’s configuration, restart system, logon to config mode, … Router(config)# “Configuration Mode” to change the router’s configuration, configure interfaces, … Router# ? Gives a list of all features available Router# ? Configuring OSPF on a router OSPF Link-state routing protocol that utilizes Dijkstra’s Shortest Path First Algorithm which allows for faster network convergence Configuration Steps • • • • • • Configure IP addresses on Router Interfaces – R1 and R2 Create loopback (logical/virtual interface) on R1 and R2 Create OSPF on R1 with Area0 Create OSPF on R2 with Area0 Establish OSPF on R1 and R2 “Ping” both logical interfaces! #sh ip route ospf Configuring BGP on a router BGP Internet routing protocol that allows sharing of routing information between different autonomous systems Configuration Steps for eBGP • Configure IP addresses on Router Interfaces – R1 and R2 • Create loopback (logical/virtual interface) on R1 and R2 • Create BGP on R1 by creating AS 100 (Ex. OSU) domain • Create BGP on R2 by creating AS 200 (Ex. UC) domain • Establish BGP between R1 and R2 • “Ping” both logical interfaces! #sh ip route bgp Questions?