Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr.

Slides:



Advertisements
Similar presentations
Router Internals CS 4251: Computer Networking II Nick Feamster Spring 2008.
Advertisements

Router Internals CS 4251: Computer Networking II Nick Feamster Fall 2008.
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Lecture 8 – IP Packets, Routers
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 High Speed Router Design Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
Router Architecture : Building high-performance routers Ian Pratt
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
CS 268: Lecture 10 Router Design and Packet Lookup Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University.
CS 268: Router Design Ion Stoica March 1, 2004.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
1 Architectural Results in the Optical Router Project Da Chuang, Isaac Keslassy, Nick McKeown High Performance Networking Group
15-744: Computer Networking L-5 Intra-Domain Routing.
1 Internet Routers Stochastics Network Seminar February 22 nd 2002 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University.
EE 122: Router Design Kevin Lai September 25, 2002.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Introduction.
CS 268: Lecture 12 (Router Design) Ion Stoica March 18, 2002.
Nick McKeown 1 Memory for High Performance Internet Routers Micron February 12 th 2003 Nick McKeown Professor of Electrical Engineering and Computer Science,
Router Design and Packet Scheduling
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering.
Data Center Networks and Basic Switching Technologies Hakim Weatherspoon Assistant Professor, Dept of Computer Science CS 5413: High Performance Systems.
15-744: Computer Networking
A 50-Gb/s IP Router Authors: Craig Partridge et al. IEEE/ACM TON June 1998 Presenter: Srinivas R. Avasarala CS Dept., Purdue University.
Router Architectures An overview of router architectures.
Router Architectures An overview of router architectures.
Router Design (Nick Feamster) February 11, Today’s Lecture The design of big, fast routers Partridge et al., A 50 Gb/s IP Router Design constraints.
Chapter 4 Queuing, Datagrams, and Addressing
Computer Networks Switching Professor Hui Zhang
Professor Yashar Ganjali Department of Computer Science University of Toronto
Univ. of TehranComputer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
A 50-Gb/s IP Router 참고논문 : Craig Partridge et al. [ IEEE/ACM ToN, June 1998 ]
TO p. 1 Spring 2006 EE 5304/EETS 7304 Internet Protocols Tom Oh Dept of Electrical Engineering Lecture 9 Routers, switches.
Router Architecture Overview
Advance Computer Networking L-8 Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan.
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Designing Packet Buffers for Internet Routers Friday, October 23, 2015 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford.
1 Performance Guarantees for Internet Routers ISL Affiliates Meeting April 4 th 2002 Nick McKeown Professor of Electrical Engineering and Computer Science,
Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr.
CS 4396 Computer Networks Lab Router Architectures.
Final Chapter Packet-Switching and Circuit Switching 7.3. Statistical Multiplexing and Packet Switching: Datagrams and Virtual Circuits 4. 4 Time Division.
Forwarding.
Winter 2006EE384x Handout 11 EE384x: Packet Switch Architectures Handout 1: Logistics and Introduction Professor Balaji Prabhakar
Univ. of TehranComputer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Lecture Note on Switch Architectures. Function of Switch.
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
1 How scalable is the capacity of (electronic) IP routers? Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr.
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai.
1 Building big router from lots of little routers Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Chapter 4 Network Layer All material copyright
CS 268: Lecture 10 Router Design and Packet Lookup
Weren’t routers supposed
CS 268: Router Design Ion Stoica February 27, 2003.
Addressing: Router Design
Chapter 4: Network Layer
What’s “Inside” a Router?
Advance Computer Networking
Network Core and QoS.
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Chapter 3 Part 3 Switching and Bridging
Network Layer: Control/data plane, addressing, routers
Project proposal: Questions to answer
Chapter 4: Network Layer
Network Core and QoS.
Presentation transcript:

Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Router Design Lecture 8: Router Design

Univ. of TehranComputer Network2 Routers How do you build a router How to forward packets Assigned reading [P+98] A 50 Gb/s IP Router Chapter 3 of the book

Univ. of TehranComputer Network3Outline What is a router? Router Architecture Different router Architectures The evolution of router architecture. A case Study

Univ. of TehranComputer Network4 What is Routing? R3 A B C R1 R2 R4D E F R5 F R3E D Next HopDestination D

Univ. of TehranComputer Network5 What is Routing? R3 A B C R1 R2 R4D E F R5 F R3E D Next HopDestination D Data Options (if any) Destination Address Source Address Header ChecksumProtocolTTL Fragment Offset Flags Fragment ID Total Packet LengthT.ServiceHLenVer 20 bytes

Univ. of TehranComputer Network6 What is Routing? A B C R1 R2 R3 R4D E F R5

Univ. of TehranComputer Network7 Points of Presence (POPs) A B C POP1 POP3 POP2 POP4 D E F POP5 POP6 POP7 POP8

Univ. of TehranComputer Network8 High Performance Routers Usage R10 R11 R4 R13 R9 R5 R2 R1 R6 R3 R7 R12 R16 R15 R14 R8 (2.5 Gb/s)

Univ. of TehranComputer Network9 What a Router Looks Like Cisco GSR 12416Juniper M160 6ft 19 ” 2ft Capacity: 160Gb/s Power: 4.2kW 3ft 2.5ft 19 ” Capacity: 80Gb/s Power: 2.6kW

Univ. of TehranComputer Network10 IP Router Router implements the following functionalities Forward packet to corresponding output interface, Forwarding engine. Manage routing/congestion......

Univ. of TehranComputer Network11 Components of an IP Router Control Plane Datapath per-packet processing Switching Forwarding Table Routing Table Routing Protocols Two distinguish functional planes Slow path or Control Plane Fast Path or Data Plane

Univ. of TehranComputer Network12 Per-packet processing 1. Accept packet arriving on an incoming link. 2. Lookup packet destination address in the forwarding table, to identify outgoing port(s). 3. Manipulate packet header: e.g., decrement TTL, update header checksum. 4. Send packet to the outgoing port(s). 5. Buffer packet in the queue. 6. Transmit packet onto outgoing link.

Univ. of TehranComputer Network13 Generic Router Architecture Lookup IP Address Update Header Header Processing DataHdrDataHdr ~1M prefixes Off-chip DRAM Address Table Address Table IP AddressNext Hop Queue Packet Buffer Memory Buffer Memory ~1M packets Off-chip DRAM Processing View

Univ. of TehranComputer Network14 Generic Router Architecture Lookup IP Address Update Header Header Processing Address Table Address Table Lookup IP Address Update Header Header Processing Address Table Address Table Lookup IP Address Update Header Header Processing Address Table Address Table DataHdrDataHdrDataHdr Buffer Manager Buffer Memory Buffer Memory Buffer Manager Buffer Memory Buffer Memory Buffer Manager Buffer Memory Buffer Memory DataHdrDataHdrDataHdr Switching Backplane Central Processor

Univ. of TehranComputer Network15 Function division Line cards Network interface cards Input interfaces: Must perform packet forwarding – Output port May enqueue packets and perform scheduling Output interfaces: May enqueue packets and perform scheduling Forwarding engine Fast path routing (hardware vs. software) Backplane Switch or bus interconnect Network controller or central unit Handles routing protocols, error conditions

Univ. of TehranComputer Network16 Router Architectures Where to queue incoming packets? Output queued Input queued Combined Input-Output queued It is the same as switch architecture

Univ. of TehranComputer Network17 Output Router Lookup IP Address Update Header Header Processing Address Table Address Table Lookup IP Address Update Header Header Processing Address Table Address Table Lookup IP Address Update Header Header Processing Address Table Address Table Queue Packet Buffer Memory Buffer Memory Queue Packet Buffer Memory Buffer Memory Queue Packet Buffer Memory Buffer Memory DataHdr DataHdr DataHdr 1 2 N 1 2 N N times line rate

Univ. of TehranComputer Network18 Output Queued (OQ) Routers Only output interfaces store packets Advantages Easy to design algorithms: only one congestion point Disadvantages Requires an output speedup of N, where N is the number of interfaces  not feasible input interfaceoutput interface Backplane C RORO

Univ. of TehranComputer Network19 Input Router Lookup IP Address Update Header Header Processing Address Table Address Table Lookup IP Address Update Header Header Processing Address Table Address Table Lookup IP Address Update Header Header Processing Address Table Address Table Queue Packet Buffer Memory Buffer Memory Queue Packet Buffer Memory Buffer Memory Queue Packet Buffer Memory Buffer Memory DataHdr DataHdr DataHdr 1 2 N 1 2 N DataHdr DataHdr DataHdr Scheduler

Univ. of TehranComputer Network20 A Router with Input Queues The best that any queueing system can achieve.

Univ. of TehranComputer Network21 A Router with Input Queues Head of Line Blocking The best that any queueing system can achieve.

Univ. of TehranComputer Network22 Input Queueing (IQ) Routers Only input store packets Advantages Easy to built Store packets at inputs if contention at outputs Relatively easy algorithm Only one congestion point, but not output… need to implement backpressure input interfaceoutput interface Backplane C RORO Disadvantages Hard to achieve utilization  1 (due to output contention, head-of-line blocking) However, theoretical and simulation results show that for realistic traffic an input/output speedup of 2 is enough to achieve utilizations close to 1

Univ. of TehranComputer Network23 Head of Line Blocking

Univ. of TehranComputer Network24 Virtual Output Queues

Univ. of TehranComputer Network25 A Router with Virtual Output Queues The best that any queueing system can achieve.

Univ. of TehranComputer Network26 Maximum Weight Matching A 1 (n) N N L NN (n) A 1N (n) A 11 (n) L 11 (n) 11 A N (n) A NN (n) A N1 (n) D 1 (n) D N (n) L 11 (n) L N1 (n) “Request” Graph Bipartite Match S*(n) Maximum Weight Match

Univ. of TehranComputer Network27 Combined Input-Output Queueing (CIOQ) Routers Both input and output interfaces store packets Advantages Easy to achieve higher performance Utilization 1 can be achieved with limited input/output speedup (<= 2) Disadvantages Harder to design algorithms Two congestion points Need to design flow control Note: recent results show that with a input/output speedup of 2, a CIOQ can emulate any work- conserving OQ [G+98,SZ98] input interfaceoutput interface Backplane C RORO

Univ. of TehranComputer Network28 Generic Architecture of a High Speed Router Today Combined Input-Output Queued Architecture Input/output speedup <= 2 Input interface Perform packet forwarding (and classification) Output interface Perform packet (classification and) scheduling Backplane Point-to-point (switched) bus; speedup N Schedule packet transfer from input to output

Univ. of TehranComputer Network29 Backplane Point-to-point switch allows to simultaneously transfer a packet between any two disjoint pairs of input-output interfaces Goal: come-up with a schedule that Meet flow QoS requirements Maximize router throughput Challenges: Address head-of-line blocking at inputs Resolve input/output speedups contention Avoid packet dropping at output if possible Note: packets are fragmented in fix sized cells (why?) at inputs and reassembled at outputs In Partridge et al, a cell is 64 B (what are the trade-offs?)

Univ. of TehranComputer Network30 Cell transfer Schedule: Ideally: find the maximum number of input-output pairs: Resolve input/output contentions Avoid packet drops at outputs Packets meet their time constraints (e.g., deadlines), if any Example Assign cell preferences at inputs, e.g., their position in the input queue Assign cell preferences at outputs, e.g., based on packet deadlines, or the order in which cells would depart in a OQ Match inputs and outputs based on their preferences Problem: Achieving a high quality matching complex, i.e., hard to do in constant time

Univ. of TehranComputer Network31 Route Table CPU Buffer Memory Line Interface MAC Line Interface MAC Line Interface MAC Typically <0.5Gb/s aggregate capacity First Generation Routers Shared Backplane Line Interface CPU Memory

Univ. of TehranComputer Network32 Second Generation Routers Route Table CPU Line Card Buffer Memory Line Card MAC Buffer Memory Line Card MAC Buffer Memory Fwding Cache Fwding Cache Fwding Cache MAC Buffer Memory Typically <5Gb/s aggregate capacity

Univ. of TehranComputer Network33 Third Generation Routers Line Card MAC Local Buffer Memory CPU Card Line Card MAC Local Buffer Memory Switched Backplane Line Interface CPU Memory Fwding Table Routing Table Fwding Table Typically <50Gb/s aggregate capacity

Univ. of TehranComputer Network34 Fourth Generation Routers/Switches Optics inside a router for the first time Switch Core Linecards Optical links 100s of metres Tb/s routers in development

Univ. of TehranComputer Network35 A Case Study [Partridge et al ’98] Goal: show that routers can keep pace with improvements of transmission link bandwidths Architecture A CIOQ router 15 (input/output) line cards: C = 2.4 Gbps Each input card can handle up to 16 (input/output) interfaces Separate forward engines (FEs) to perform routing Backplane: Point-to-point (switched) bus, capacity B = 50 Gbps (32 MPPS) B/C = 20, but 25% of B lost to overhead (control) traffic

Univ. of TehranComputer Network36 Router Architecture packet header

Univ. of TehranComputer Network37 Architecture input interfaceoutput interfaces Backplane forward engines Network processor Network processor Data in Data out Control data (e.g., routing) Update routing tables Set scheduling (QoS) state

Univ. of TehranComputer Network38 Data Plane Line cards Input processing: can handle input links up to 2.4 Gbps (3.3 Gbps including overhead) Output processing: use a 52 MHz FPGA; implements QoS Forward engine: 415-MHz DEC Alpha processor, three level cache to store recent routes Up to 12,000 routes in second level cache (96 kB); ~ 95% hit rate Entire routing table in tertiary cache (16 MB divided in two banks)

Univ. of TehranComputer Network39 Control Plane Network processor: 233-MHz Alpha running NetBSD 1.1 Update routing Manage link status Implement reservation Backplane Allocator: implemented by an FPGA Schedule transfers between input/output interfaces

Univ. of TehranComputer Network40 Checksum Takes too much time to verify checksum Requires 17 instructions with min of 14 cycles, Increases forwarding time by 21% Take an optimistic approach: just incrementally update it Safe operation: if checksum was correct it remain correct If checksum bad, it will be anyway caught by end- host Note: IPv6 does not include a header checksum anyway!

Univ. of TehranComputer Network41 Slow Path Processing 1. Headers whose destination misses in the cache 2. Headers with errors 3. Headers with IP options 4. Datagrams that require fragmentation 5. Multicast datagrams  Requires multicast routing which is based on source address and inbound link as well  Requires multiple copies of header to be sent to different line cards

Univ. of TehranComputer Network42 Backplane Allocator Time divided in epochs An epoch consists of 16 ticks of data clock (8 allocation clocks) Transfer unit: 64 B (8 data click ticks) During one epoch, up to 15 simultaneous transfers in an epoch One transfer: two transfer units (128 B of data auxiliary bits) Minimum of 4 epochs to schedule and complete a transfer but scheduling is pipelined. 1. Source card signals that it has data to send to the destination card 2. Switch allocator schedules transfer 3. Source and destination cards are notified and told to configure themselves 4. Transfer takes place Flow control through inhibit pins

Univ. of TehranComputer Network43 The Switch Allocator Card Takes connection requests from function cards Takes inhibit requests from destination cards Computes a transfer configuration for each epoch 15X15 = 225 possible pairings with 15! Patterns

Univ. of TehranComputer Network44 Allocator Algorithm

Univ. of TehranComputer Network45 The Switch Allocator Disadvantages of the simple allocator Unfair: there is a preference for low-numbered sources Requires evaluating 225 positions per epoch, which is too fast for an FPGA Solution to unfairness problem: Random shuffling of sources and destinations Solution to timing problem: Parallel evaluation of multiple locations Priority to requests from forwarding engines over line cards to avoid header contention on line cards

Univ. of TehranComputer Network46 But… Remember that if you want per flow processing the performance need to increase at a faster rate than the link capacity! If link capacity increases by n, two effects: The time to process a packet decreases by n The number of flows increase (by n?), thus the per packet processing also increases

Univ. of TehranComputer Network47 Challenges Build an optimal allocator that makes decisions in constant time Packet classification. Packet scheduling.

Univ. of TehranComputer Network48 Fast path of the code Stage 1: 1. Basic error checking to see if header is from a IP datagram 2. Confirm packet/header lengths are reasonable 3. Confirm that IP header has no options 4. Compute hash offset into route cache and load the route 5. Start loading of next header

Univ. of TehranComputer Network49 Fast path of the code Stage 2 1. Check if cached route matches destination of the datagram 2. If not then do an extended lookup in the route table in Bcache 3. Update TTL and CHECKSUM fields Stage 3 1. Put updated TTL, checksum and the route information into IP hdr along with link layer info from the forwarding table

Univ. of TehranComputer Network50 Some datagrams not handled in fast path 1. Headers whose destination misses in the cache 2. Headers with errors 3. Headers with IP options 4. Datagrams that require fragmentation 5. Multicast datagrams  Requires multicast routing which is based on source address and inbound link as well  Requires multiple copies of header to be sent to different line cards

Univ. of TehranComputer Network51 Instruction set 27% of them do bit, byte or word manipulation due to extraction of various fields from headers The above instructions can only be done in E0, resulting in contention (checksum verifying) Floating point instructions account for 12% but do not have any impact on performance as they only set SNMP values and can be interleaved There is a minimum of loads(6) and stores(4)

Univ. of TehranComputer Network52 Issues in forwarding design Why not use an ASIC in place of the engine ? Since IP protocol is stable, why not do it ? Answer depends on where the router will be deployed: corporate LAN or ISP’s backbone? How effective is a route cache ? A full route lookup is 5 times more expensive than a cache hit. So we need modest hit rates. And modest hit rates seem to be assured because of packet trains

Univ. of TehranComputer Network53 Abstract link layer header Designed to keep the forwarding engine and its code simple

Univ. of TehranComputer Network54 Forwarding Engine (P+88) General purpose processor + software 8KB L1 Icache Holds full forwarding code 96KB L2 cache Forwarding table cache 16MB L3 cache Full forwarding table x 2 - double buffered for updates

Univ. of TehranComputer Network55 Network Processor Runs routing protocol and downloads forwarding table to forwarding engines Two forwarding tables per engine to allow easy switchover Performs “slow” path processing Handles ICMP error messages Handles IP option processing

Univ. of TehranComputer Network56 Switch Design Issues Have N inputs and M outputs Multiple packets for same output – output contention Switch contention – switch cannot support arbitrary set of transfers Crossbar Bus High clock/transfer rate needed for bus Banyan net Complex scheduling needed to avoid switch contention Solution – buffer packets where needed

Univ. of TehranComputer Network57 Switch Buffering Input buffering Which inputs are processed each slot – schedule? Head of line packets destined for busy output blocks other packets Output buffering Output may receive multiple packets per slot Need speedup proportional to # inputs Internal buffering Head of line blocking Amount of buffering needed

Univ. of TehranComputer Network58 Line Card Interconnect (P+88) Virtual output buffering Maintain per output buffer at input Solves head of line blocking problem Each of MxN input buffer places bid for output Crossbar connect Challenge: map of bids to schedule for crossbar

Univ. of TehranComputer Network59 Switch Scheduling (P+88) Schedule for 128 byte slots Greedy mapping of inputs to outputs Fairness Order of greedy matching permuted randomly Priority given to forwarding engine in schedule (why?) Parallelized Check independent paths simultaneously

Univ. of TehranComputer Network60 Summary: Design Decisions (Innovations) 1. Each FE has a complete set of the routing tables 2. A switched fabric is used instead of the traditional shared bus 3. FEs are on boards distinct from the line cards 4. Use of an abstract link layer header 5. Include QoS processing in the router

Univ. of TehranComputer Network61 Why Faster Routers? 1. To prevent routers becoming the bottleneck in the Internet. 2. To increase POP capacity, and to reduce cost, size and power.

Univ. of TehranComputer Network62 Why Faster Routers? 1: To prevent routers from being the bottleneck 0, Fiber Capacity (Gbit/s) TDMDWDM Packet processing PowerLink Speed 2x / 18 months2x / 7 months Source: SPEC95Int & David Miller, Stanford.

Univ. of TehranComputer Network63 POP with smaller routers Why Faster Routers? 2: To reduce cost, power & complexity of POPs POP with large routers  Ports: Price >$100k, Power > 400W.  It is common for 50-60% of ports to be for interconnection.

Univ. of TehranComputer Network64 Fast Routers Difficulties? 1. It’s hard to keep up with Moore’s Law: The bottleneck is memory speed. Memory speed is not keeping up with Moore’s Law. 1.1x / 18 months

Univ. of TehranComputer Network65 Fast Routers Difficulties? Speed of Commercial DRAM Moore’s Law 2x / 18 months

Univ. of TehranComputer Network66 Fast Routers Difficulties? 1. It’s hard to keep up with Moore’s Law: The bottleneck is memory speed. Memory speed is not keeping up with Moore’s Law. 2. Moore’s Law is too slow: Routers need to improve faster than Moore’s Law.

Univ. of TehranComputer Network67 Router Performance Exceeds Moore’s Law Growth in capacity of commercial routers: Capacity 1992 ~ 2Gb/s Capacity 1995 ~ 10Gb/s Capacity 1998 ~ 40Gb/s Capacity 2001 ~ 160Gb/s Capacity 2003 ~ 640Gb/s Average growth rate: 2x / 18 months.

Univ. of TehranComputer Network68 Conclusions It is feasible to implement IP routers at very high speeds Today: Input link: 20 Gbps (x 8) Backplane: 1 Tbps (x 20)

Univ. of TehranComputer Network69 Next-lecture: Intra-Domain Routing Routing algorithms- two main approaches Distance vector protocols Link state protocols How to make routing adapt to load How to make routing scale Assigned reading [KZ89] The revised ARPANET routing metric [Tsu88] The Landmark Hierarchy: A New Hierarchy for Routing in Very Large Networks