Routers : Computer Networking. Outline. Forwarding vs. Routing. Source Routing. Techniques for Forwarding Packets

Similar documents
Internet Layer. Routing Tables. Routing in the Internet. Routing Protocols

Lecture 13: Distance-vector Routing. Lecture 13 Overview. Bellman-Ford Algorithm. d u (z) = min{c(u,v) + d v (z), c(u,w) + d w (z)}

CS335 Sample Questions for Exam #2

Interconnection Networks. Interconnection Networks. Interconnection networks are used everywhere!

ECE 358: Computer Networks. Solutions to Homework #4. Chapter 4 - The Network Layer

Network layer: Overview. Network layer functions IP Routing and forwarding

Overview Computer Networking. IP Address Classes (Some are Obsolete) Outline. Lecture 9 IP Packets. CIDR IP addressing. Forwarding examples

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Infrastructure Components: Hub & Repeater. Network Infrastructure. Switch: Realization. Infrastructure Components: Switch

Introduction to LAN/WAN. Network Layer

Router Architectures

Router and Routing Basics

Talk Announcement CSC Lecture 5 Intra-Domain Routing Protocols. Administrivia. This Time

COMP 631: COMPUTER NETWORKS. Internet Routing. Jasleen Kaur. Fall Forwarding vs. Routing: Local vs. Distributed

Routing in packet-switching networks

CS 78 Computer Networks. Internet Protocol (IP) our focus. The Network Layer. Interplay between routing and forwarding

Network Layer. Introduction Datagrams and Virtual Circuits Routing Traffic Control. Data delivery from source to destination.

Route Discovery Protocols

Internet Packets. Forwarding Datagrams

Lecture 8: Routing I Distance-vector Algorithms. CSE 123: Computer Networks Stefan Savage

Chapter 5: Sample Questions, Problems and Solutions Bölüm 5: Örnek Sorular, Problemler ve Çözümleri Örnek Sorular (Sample Questions):

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

Final for ECE374 05/06/13 Solution!!

Multihoming and Multi-path Routing. CS 7260 Nick Feamster January

College 5, Routing, Internet. Host A. Host B. The Network Layer: functions

Lecture Computer Networks

28 Networks and Communication Protocols

MPLS. Packet switching vs. circuit switching Virtual circuits

8.2 The Internet Protocol

Instructor Notes for Lab 3

Cisco Configuring Basic MPLS Using OSPF

Exam 1 Review Questions

Chapter 10 Link-State Routing Protocols

1. How many unique network IDs are there in class A addresses? # of unique hosts?

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Computer Networks. Main Functions

Overview. Lecture 16: IP variations: IPv6, multicast, anycast. I think we have a problem. IPv6. IPv6 Key Features

Introduction to Routing and Packet Forwarding. Routing Protocols and Concepts Chapter 1

Table of Contents. Cisco How Does Load Balancing Work?

Transport and Network Layer

Internet Protocols Fall Lectures 7-8 Andreas Terzis

Dynamic Routing Protocols II OSPF. Distance Vector vs. Link State Routing

Protocols. Packets. What's in an IP packet

IP Multicasting. Applications with multiple receivers

IP addressing. Interface: Connection between host, router and physical link. IP address: 32-bit identifier for host, router interface

Internet Protocols Fall Outline

Introduction to TCP/IP

Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師

Lecture 12: Link-state Routing"

Network Layer: Network Layer and IP Protocol

MPLS is the enabling technology for the New Broadband (IP) Public Network

Ethernet (LAN switching)

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

Interconnection Networks Programmierung Paralleler und Verteilter Systeme (PPV)

IP Routing Configuring Static Routes

Inter-domain Routing Basics. Border Gateway Protocol. Inter-domain Routing Basics. Inter-domain Routing Basics. Exterior routing protocols created to:

ECE 578 Term Paper Network Security through IP packet Filtering

Answers to Sample Questions on Network Layer

Professor: Ian Foster TAs: Xuehai Zhang, Yong Zhao. Winter Quarter.

Lecture 18: Interconnection Networks. CMU : Parallel Computer Architecture and Programming (Spring 2012)

Multiprotocol Label Switching (MPLS)

(Refer Slide Time: 02:17)

Transport Layer Protocols

Outline. Internet Routing. Alleviating the Problem. DV Algorithm. Routing Information Protocol (RIP) Link State Routing. Routing algorithms

Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "

Variable length subnetting

Broadband Networks. Prof. Karandikar. Department of Electrical Engineering. Indian Institute of Technology, Bombay. Lecture - 26

Introduction to LAN/WAN. Network Layer (part II)

CCNA R&S: Introduction to Networks. Chapter 5: Ethernet

IP Addressing Introductory material.

Module 15: Network Structures

Internet Protocol version 4 Part I

Chapter 14: Distributed Operating Systems

Internet Protocol (IP) IP - Network Layer. IP Routing. Advantages of Connectionless. CSCE 515: Computer Network Programming IP routing

Lecture 2.1 : The Distributed Bellman-Ford Algorithm. Lecture 2.2 : The Destination Sequenced Distance Vector (DSDV) protocol

Zarząd (7 osób) F inanse (13 osób) M arketing (7 osób) S przedaż (16 osób) K adry (15 osób)

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

The Network Layer Functions: Congestion Control

Border Gateway Protocol (BGP)

Internet Addresses (You should read Chapter 4 in Forouzan)

CHAPTER 5 FINITE STATE MACHINE FOR LOOKUP ENGINE

Tomás P. de Miguel DIT-UPM. dit UPM

Scaling 10Gb/s Clustering at Wire-Speed

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

IP Router Architectures: An Overview

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Configuring a Load-Balancing Scheme

Ethernet. Ethernet. Network Devices

Chapter 16: Distributed Operating Systems

Layer 3 Routing User s Manual

Internetworking II: MPLS, Security, and Traffic Engineering

First Midterm for ECE374 03/09/12 Solution!!

Configuring a Load-Balancing Scheme

How Subnets Work in Practice. Fred Marshall Coastal Computers & Networks

WAN Topologies MPLS. 2006, Cisco Systems, Inc. All rights reserved. Presentation_ID.scr Cisco Systems, Inc. All rights reserved.

04 Internet Protocol (IP)

How To Make A Network More Efficient

Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol

Introduction to Metropolitan Area Networks and Wide Area Networks

Based on Computer Networking, 4 th Edition by Kurose and Ross

Transcription:

Routers 5-: omputer Networking L- Routers How do routers process IP packets How do you build a router ssigned reading [P+9] 5 Gb/s IP Router [+9] Small Forwarding Tables for Fast Routing Lookups Forwarding vs. Routing Forwarding: the process of moving packets from input to output The forwarding table Information in the packet Routing: process by which the forwarding table is built and maintained One or more routing protocols Procedures (algorithms) to convert routing info to forwarding table. Outline lternative methods for packet forwarding IP packet routing Variable prefix match IP router design Routing protocols distance vector Techniques for Forwarding Packets Source routing Packet carries path Table of virtual circuits onnection routed through network to setup state Packets forwarded using connection state Table of global addresses (IP) Routers keep next hop for destination Packets carry destination address Source Routing List entire path in packet riving directions (north hops, east, etc..) Router processing xamine first step in directions Strip first step from packet Forward to step just stripped off 5 6

Source Routing xample Source Routing dvantages Packet,, Sender R, R R Receiver Switches can be very simple and fast isadvantages Variable (unbounded) header size Sources must know or discover topology (e.g., failures) Typical use d-hoc networks (SR) Machine room networks (Myrinet) Virtual ircuits/tag Switching Virtual ircuits xamples onnection setup phase Use other means to route setup request ach router allocates flow I on local link reates mapping of inbound flow I/port to outbound flow I/port ach packet carries connection I Sent from source with st hop connection I Router processing Lookup flow I simple table lookup Replace flow I with outgoing flow I Forward to output port Packet Sender 5 R,5, R R,,6,, 6 Receiver 9 Virtual ircuits dvantages More efficient lookup (simple table lookup) More flexible (different path for each flow) an reserve bandwidth at connection setup asier for hardware implementations isadvantages Still need to route connection setup request More complex failure recovery must recreate connection state Typical uses TM combined with fix sized cells MPLS tag switching for IP networks IP atagrams on Virtual ircuits hallenge when to setup connections t bootup time permanent virtual circuits (PV) Large number of circuits For every packet transmission onnection setup is expensive For every connection What is a connection? How to route connectionless traffic?

IP atagrams on Virtual ircuits Traffic pattern Few long lived flows Flow set of data packets from source to destination Large percentage of packet traffic Improving forwarding performance by using virtual circuits for these flows Other traffic uses normal IP forwarding Global ddresses (IP) ach packet has destination address ach switch has forwarding table of destination next hop t v and x: destination east t w and y: destination south t z: destination north istributed routing algorithm for calculating forwarding tables Global ddress xample Router Table Size One entry for every host on the Internet Packet Sender R R R R R R R R R R Receiver M entries,doubling every year One entry for every LN very host on LN shares prefix Still too many, doubling every year One entry for every organization very host in organization shares prefix Requires careful address allocation 5 6 Outline lternative methods for packet forwarding IP packet routing Variable prefix match IP router design Original IP Route Lookup ddress classes : bit network bit host (6M each) : bit network 6 bit host (6K) : bit network bit host (55) ddress would specify prefix for forwarding table Simple lookup Routing protocols distance vector

Original IP Route Lookup xample www.cmu.edu address... lass address class + network is. Lookup. in forwarding table Prefix part of address that really matters for routing Forwarding table contains List of class+network entries few fixed prefix lengths (/6/) Large tables Million class networks IR Revisited Supernets ssign adjacent net addresses to same org lassless routing (IR) How does this help routing table? ombine routing table entries whenever all nodes with same prefix share same hop 9 IR xample Network provide is allocated class chunks,... to...55 llocation uses bits of class space Remaining bits are network number, written as.../ Replaces class routing entries with combined entry Routing protocols carry prefix with destination network address Longest prefix match for forwarding IR Illustration Provider is given.../ Provider.../.../..5./..6./ IR Shortcomings Multi-homing ustomer selecting a new provider.../ Provider Provider Routing to the Network Packet to... arrives Path is R R H H Provider......... R......../... H H... H../.././6../ R........6. H....../.../..5./..6./ or Provider address

Routing Within the Subnet Routing Within the Subnet Packet to... Matches.../ Routing table at R estination Next Hop Interface...... lo efault or / provider..6..../........./........./............... R../... H H... H../.././6../ R........6....... H... Packet to... Matches.../ Longest prefix match Routing table at R estination Next Hop Interface...... lo efault or /........./........./........./............... R../... H H... H../.././6../ R........6....... H....../...... 5 6 Routing Within the Subnet Packet to... irect route Longest prefix match Routing table at H estination Next Hop Interface...... lo efault or /........./........./............... R../... H H... H../.././6../ R........6....... H... Global ddresses dvantages Stateless simple error recovery isadvantages very switch knows about every destination Potentially large tables ll packets to destination take same route omparison Source Routing Global ddresses Header Size Worst OK Large address Router Table Size None Number of hosts (prefixes) Forward Overhead est Prefix matching Virtual ircuits est Number of circuits Pretty Good How do we set up Routing Tables? Graph theory to compute shortest path Switches = nodes Links = edges elay, hops = cost Need to adapt to changes in topology Setup Overhead None None onnection Setup rror Recovery Tell all hosts Tell all routers Tell all routers and Tear down circuit and re-route 9 5

Outline lternative methods for packet forwarding IP packet routing Variable prefix match IP router design Routing protocols distance vector How To o Variable Prefix Match Traditional method Patricia Tree rrange route entries into a series of bit tests Worst case = bit tests Problem: memory speed is a bottleneck default /./6 it to test = left child, = right child./6 6 9../..5/ Speeding up Prefix Match (P+9) Prefix Tree ut prefix tree at 6 bit depth 6K bit mask it = if tree continues below cut (root head) it = if leaf at depth 6 or less (genuine head) it = if part of range covered by leaf 5 6 9 5 Port Port 5 Port Port Port 9 Port 5 Prefix Tree Speeding up Prefix Match (P+9) 5 6 9 5 Subtree Subtree Subtree ach corresponds to either a route or a subtree Keep array of routes/pointers to subtree Need index into array how to count # of s Keep running count to 6bit word in base index + code word (6 bits) Need to count s in last 6bit word lever tricks Subtrees are handled separately 5 6 6

Speeding up Prefix Match (P+9) Scaling issues How would it handle IPv6 Other possiblities Why were the cuts done at 6// bits? Improve data structure by shuffling bits Speeding up Prefix Match - lternatives Route caches Temporal locality Many packets to same destination Other algorithms Waldvogel Sigcomm 9 inary search on hash tables Works well for larger adresses remler-arr Sigcomm 99 lue = prefix length matched at previous hop Why is this useful? Speeding up Prefix Match - lternatives ontent addressable memory (M) Hardware based route lookup Input = tag, output = value associated with tag Requires exact match with tag Multiple cycles ( per prefix searched) with single M Multiple Ms ( per prefix) searched in parallel Ternary M,,don t care values in tag match Priority (I.e. longest prefix) by order of entries in M Outline lternative methods for packet forwarding IP packet routing Variable prefix match IP router design Routing protocols distance vector 9 What oes a Router Look Like? Line cards Network interface cards Forwarding engine Fast path routing (hardware vs. software) ackplane Switch or bus interconnect Network controller Handles routing protocols, error conditions Router Processing (P+) Packet arrives arrives at inbound line card Header transferred to forwarding engine /56 bytes of packet + link layer info Forwarding engine transmits result to line card Packet copied to outbound line card

Forwarding ngine (P+) General purpose processor + software K L Icache Holds full forwarding code 96K L cache Forwarding table cache 6M L cache Full forwarding table x - double buffered for updates Forwarding ngine (P+) hecksum updated but not checked Options handled by network proc Fragmentation handed by network processor Multicast packets are copied on input line card Packet trains help route hit rate Packet train = sequence of packets for same/similar flows 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 IMP error messages Handles IP option processing Switch esign Issues Have N inputs and M outputs Multiple packets for same output output contention Switch contention switch cannot support arbitrary set of transfers rossbar us High clock/transfer rate needed for bus anyan net omplex scheduling needed to avoid switch contention Solution buffer packets where needed 5 6 Switch uffering 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 mount of buffering needed Line ard Interconnect (P+) Virtual output buffering Maintain per output buffer at input Solves head of line blocking problem ach of MxN input buffer places bid for output rossbar connect hallenge: map of bids to schedule for crossbar

Switch Scheduling (P+) Schedule for byte slots Greedy mapping of inputs to outputs Fairness Order of greedy matching permuted randomly Priority given to forwarding engine in schedule (why?) Parallelized heck independent paths simultaneously Outline lternative methods for packet forwarding IP packet routing Variable prefix match IP router design Routing protocols distance vector 9 5 Factors ffecting Routing Two Main pproaches Routing algorithms view the network as a graph Problem: find lowest cost path between two nodes Factors Static topology ynamic load Policy 9 6 F istance-vector (V) protocols Link state (LS) protocols 5 5 istance Vector Protocols mployed in the early rpanet istributed next hop computation Unit of information exchange Vector of distances to destinations istributed ellman-ford lgorithm istributed ellman-ford Start onditions: ach router starts with a vector of (zero) distances to all directly attached networks Send step: ach router advertises its current vector to all neighboring routers Receive step: Upon receiving vectors from each of its neighbors, router computes its own distance to each neighbor Then, for every network X, router finds that neighbor who is closer to X than to any other neighbor Router updates its cost to X fter doing this for all X, router goes to send step 5 5 9

xample - Initial istances Receives s Routes; Updates ost istance to istance to 55 56 receives s; Updates ost receives s routes; Updates osts istance to istance to 5 5 5 Final istances View From a istance to 6 5 s routing table Next hop dest 6 5 5 5 5 5 6 9 59 6

Final istances fter Link Failure X istance to 9 9 Next Lecture: Intra-omain Routing Routing algorithms istance vector routing challenges Link state routing How to make routing adapt to load How to make routing scale ssigned reading [KZ9] The revised RPNT routing metric 6 6