Routing architecture and forwarding

Size: px
Start display at page:

Download "Routing architecture and forwarding"

Transcription

1 DD2490 p Routing architecture and forwarding & Intro to Homework 4 Olof Hagsand KTH /CSC 1

2 Connecting devices Connecting devices Networking devices Internetworking devices Hub/ Hub/ Repeater Bridge/ Switch Router Application gateway L1 L2 L3 L4-L7 2

3 IEEE 802 vs IPv4 addresses vendor code vendor assigned IEEE Group/ Individual bit Global/ Localbit 00:0E:35:64:E9:E7 netid hostid IPv4 addr IP addresses have an hierarchical structure: the netid is used to subnet. MAC addresses have a flat structure.

4 Routing vs bridging Bridging - forwarding on layer 2 A MAC address/id has a flat structure Many nodes -> large forwarding tables Broadcast reaches all nodes Simple to configure and manage, cheaper Loops detected by spanning tree protocol Routing forwarding on layer 3 The netid of the IP addresses can be aggregated Many nodes -> smaller forwarding tables than bridging Routers partition broadcast domains Routing is more difficult to configure Loops detected by routing protocols and TTL decrementation 4

5 What does a router do? Packet forwarding Not only IPv4: IPv6, MPLS, Bridging/VLAN, Tunneling,... Filter packets - Access lists Classification Metering/Policing/Shaping Compute routes: build forwarding table In the background: routing In real-time: forwarding Classifier Lookup Metering Shaping 5 ACL - Access Lists for dropping packets Metering - Measure traffic characteristics of a 'flow': rate in terms of packet-per-second and bits-per-second Policing - If the rate is higher than a threshold, drop packets. Alternatively, packets can be 'marked' as out-of-norm and potentially dropped at a later stage. For example, packets being marked as out-of-profile atthe edge may be dropped within a network if congestion is detected. Shaping - Actively changing the rate of traffic, making it comply to a specific rate. Often use token-bucket / leaky-bucket mechanisms or most simply a queue. Shaping is more complex to do than policing.

6 Inside a software-based router CPU RIB Buffer Memory Shared bus backplane Line Card Line Card Line Card This is a regular computer architecture (eg PC) Every packet goes twice over the shared bus Constrained by Bus and memory bandwidth (per byte cost) And CPU cycles (per packet cost) 6 First generation routers were in fact regular computers

7 Inside a hardware-based router Switched backplane Line Card Buffer Memory Line Card Buffer Memory CPU Card CPU Line Card Buffer Memory Line Card Buffer Memory forwarder forwarder forwarder forwarder RIB Multiple simultaneous transfers over the backplane Specialized hardware: ASICs (Application Specific IC) Wirespeed at 100 Gb/s and beyond 7

8 Fast path, slow path Control Processor CPU Memory Routing Table Slow path Line Card Line Card Fast path Fast path If line cards can determine outgoing port Slow path Line Card Control processor must determine outgoing port Line Card 8

9 Routing table lookup Longest prefix first Divide table in 32 buckets - one for each netmask length Match destination with longest prefixes first SW algorithms: tree, binary trees, tries (different data structures) HW support: TCAMs Content Addressable Memory Masklen 0 1 Netid Netid destination IP address 9 The shift to classless addressing led to changes to the routing table organization and routing algorithms since the netid length is variable. You may have several matches and you need to select the longest prefix. How much time can you spend on lookups? Example: 10 Gb/s line rate and 40 bytes packet size: ns to do sequential lookup (comparable with SRAM memory speed) The example above shows a 'bucket' approach to lookup. Organize the routing table in buckets based on prefix length and check in longer buckets first. This is only slightly better than a linear search.

10 Using a Trie for lookup Binary tree Nodes are prefixes Left branch represents 0 in the string Right branch represents 1 * a 0* 1* a * b 10* c 01* d 110* e 0010 f 0110 g * 01* c 10* b 11* 000* 011* 110* d 0010 e 0110 f g A much better algorithm is to organize the routing table into a binary trie. There are at most four lookups required in the example above.

11 Elimination of Internal Prefixes No overlapping prefixes Prefix expansion with leaf pushing Simplifies lookup at expense of larger memory * a * b 10* c 01* d 110* e 0010 f 0110 g * 01* 10* 11* a a e a c c f g b b b b d d a a 11 Tries are often modified for optimal lookup using compression and expansion. The above is one example. Only one lookup required.

12 Linear Search on Values TCAM Ternary Content-Addressable Memory Fully associative memory Three values for each bit 0, 1, and x (don t care) Compare input with all words in parallel First match gives the result Up to 100 million searches per second input = = = = = = = TCAM 0010 g 0110 f 0111 e 110x d 01xx c 10xx b xxxx a a * b 10* c 01* d 110* e 0010 f 0110 g Example of hardware supported lookups - not a software-based method.

13 Packet classification Map a packet to a class Class defined by filters, usually a 5-tuple: <source IP, destination IP, source port, destination port, protocol> For example, all packets: From subnet N To TCP port 80 on web-server S From subnet N to port 666 on subnet M Applications: Firewall & NAT Blocking Accounting Policy routing QoS metering, policing, DiffServ marking, This is called Forwarding Equivalence Class (FEC) in MPLS-speak.

14 Examples of commercial routers Capacity: 80Gb/s Power: 2.6kW Capacity: 1.28 Tb/s Power: 4.7 kw 6ft 3ft 2ft Cisco ft Juniper M This slide is somewhat dated,...

15 Here is one of the SUNET core-routers in Stockholm, a Juniper T- router. 15

16 Juniper J-series J4300 Routers used in labs Emulates M/T series Full routing software 16

17 Open source routing Linux and BSD platforms Most routing protocols exist as open source projects (eg Quagga) But PC hardware has traditionally been a limiting factor But now up to 4x12 core CPUs, inter-processor buses (HT, QPI), non-uniform memory (numa), I/O buses (PCI-E), 10Gbps NICs enables 10s of gigabit forwarding speeds. Example: the Bifrost open source router (UU/KTH) 17 A router as the above routes all Uppsala University IPv4 and IPv6 traffic at 2x speed.

18 Example: PC routing architecture DDR3 DDR3 DDR3 CPU 0 CPU 1 CPU 2 CPU 3 QPI CPU 4 CPU 5 CPU 6 CPU 7 DDR3 DDR3 DDR3 PCI-E x16 x4 x16 QPI I/O Handler (North Bridge) QPI I/O Handler (North Bridge) PCI-E x16 x4 x16 Multi-core CPUs: (Intel Nehalem) 8 cores, 16 with 'Hyperthreading' Multi-channel: each network card has 8 DMA queues NUMA: Non-local memory (many memory banks) Inter-processor bus: QPI 2.4GHz ~76 GB/s Memory: 1066 DDR3 68 GB/s x3 channels I/O Bus: PCI-E gen2 x1 ~4GB/s: x16 ~64GB/s 18 New Intel (sandy bridge) and AMD (bulldozer) provides even more CPU cores.

19 Homework 4 Make a programming assignment in C Part 1: Print out IPv4 destination address Part 2: Make an IPv4 forwarding lookup Mandatory: 3 bonus points Part 3: Same as part-2 with non-trivial lookup (time limit) Optional: 2 bonus points 19

20 Homework 4: Part 1 You should read an Ethernet frame, identify it as an IPv4 packet, and print the IPv4 destination address. Input: Ethernet packet. Example: c d ff01 8ffc 0a a e802 c04b e89 339a 0786 d0ff 0009 Output: IPv4 address. Example: Errors: Error: packet too short: length of frame in bytes Error: Not ipv4 payload: payload type 20

21 Homework 4: Part 2 The program should read a forwarding table and an Ethernet packet and extract the destination IP address, make a lookup in the forwarding table, and write the outgoing interface name. The assignment is a step towards a full forwarding but lacks several sanity checks, MAC address lookups and ARP. It is intended to illustrate how to inspect packet header, the use of pointers, buffers, and IP longest prefix match. The program should do the following: Read a routing table from stdin. The routing table consists of a list of prefix, nexthop interface triples. Read a single Ethernet (RFC894) packet from stdin. Verify that the packet is long enough to contain an EThernet and IPv4 header Verify that the Ethernet payload type is 0x0800 (IPv4) Verify that the IP version field is 4 Extract the destination address from the IPv4 header and make a longest prefix match lookup and return the outgoing interface name. Example: Input fib /24 e1 fib /24 e2 fib /24 e3 fib /0 e1 Example Output: e2 input d ff01 8ffc 0a a e802 c04b e89 339a 0786 d0ff

22 Homework 4: Part 3 Same as part 1 with two changes: 1) Read not only one but several packets 2) Time-limit on lookup The time-limit is set so that you cannot just have a simple linear lookup. The test-case used Part 3 is optional 22

23 Homework 4: Kattis If you have registered, you will get a Kattis account Use the link on the homework page and login Submit by selecting language: C Select problem: forwarding (part 1), forwarding2 (part2), forwarding3 (part3) upload the file Submit You can see the status on the web-page Compile-error Runtime error Wrong output OK You will also get a mail Submit solution electronically, or on paper lab assistants or course leader before the deadline. Append a receipt that you passed both forwarding and forwarding2 (& forwarding 3) test of Kattis. 23 Read the instructions for the kattis assignment thoroughly. Kattis is a machine and is very picky about details: Extra spaces, capital letters, etc, are significant.

24 Extracting correct info The Ethernet header is 14 bytes payload type is in bytes IPv4 is 0x0800 The IP header is 20 bytes (without options) The destination IP address is in bytes struct ethhdr{ }; char uint16_t pt; struct iphdr{ }; da[6], sa[6]; unsigned int ip_v:4,ip_hl:4; /* version, header length uint8_t ip_tos; /* type of service */ uint16_t ip_len; /* total length */ uint16_t ip_id; /* identification */ uint16_t ip_off; /* fragment offset field */ uint8_t ip_ttl; /* time to live */ uint8_t ip_p; /* protocol */ uint16_t ip_sum; /* checksum */ uint32_t ip_src, ip_dst; /* source and dest address */ 24

25 Byte ordering / Endianness CPU:s represent numbers they load/store from memory differently Most significant byte in first byte: Big-endian (Big end first) Most significant byte in last byte: Little-endian There is also middle-endian and bi-endian Intel PCs are little-endian. The Kattis machine is big-endian (Sun Sparc) Register 0A0B0C0D Memory Register 0A0B0C0D Little-Endian 0A 0B 0C 0D n n+1 n+2 n+3 0A 0B 0C 0D Big-Endian 25

26 Network byte order The way the CPU stores/loads numbers from memory is called host byte order But in communication system, we sometimes have to transfer numbers in binary format (character arrays is not a problem) We have to agree on a format to encode numbers This is called network-byte order In IP network-byte order is big-endian Therefore, in portable code, if you transfer binary numbers between nodes, always translate between host-byte order and network-byte order. BSD has the following help functions: htonl, ntohl (4-byte numbers) htons, ntohs (2-byte numbers) 26

27 Alignment Data structures must be aligned in memory when accessed as several bytes. In particular 2-byte, 4-byte, 8-byte numbers must be aligned on word boundaries Otherwise a bus error occurs (in serious cases, eg SPARC) Or a performance degradation (as in x86) Typically, 2-byte numbers must be 2-byte aligned 4-byte numbers must be 4-byte aligned Etc In Eth+IP, the Eth header is 14 bytes which makes the IP header misaligned (actually, the fields of the IP header) 27

28 Alignment example Memory A 0B 0C 0D 0A0B0C0D OK Memory A 0B 0C 0D 0A0B0C0D BUS ERROR! 28

29 More info See C-programming hints on course web Ask course instructor Or Lab assistants during labs There are many C-programming tutorials on the web 29

DD2490 p Routers and routing. Olof Hagsand KTHNOC/NADA

DD2490 p Routers and routing. Olof Hagsand KTHNOC/NADA DD2490 p4 2008 Routers and routing Olof Hagsand KTHNOC/NADA What is a router? Host (end system) One or many network interfaces Cannot forward packets between them Router Can forward packets between multiple

More information

Lecture 2: Basic routing, ARP, and basic IP

Lecture 2: Basic routing, ARP, and basic IP Internetworking Lecture 2: Basic routing, ARP, and basic IP Literature: Forouzan, TCP/IP Protocol Suite: Ch 6-8 Basic Routing Delivery, Forwarding, and Routing of IP packets Connection-oriented vs Connectionless

More information

Introduction to Routers and LAN Switches

Introduction to Routers and LAN Switches Introduction to Routers and LAN Switches Session 3048_05_2001_c1 2001, Cisco Systems, Inc. All rights reserved. 3 Prerequisites OSI Model Networking Fundamentals 3048_05_2001_c1 2001, Cisco Systems, Inc.

More information

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, ydlin@cs.nctu.edu.tw Chapter 1: Introduction 1. How does Internet scale to billions of hosts? (Describe what structure

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2016 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Presentation 2 Security/Privacy Presentations Nov 3 rd, Nov 10 th, Nov 15 th Upload slides to Canvas by midnight

More information

Lecture 3: Packet Forwarding

Lecture 3: Packet Forwarding Lecture 3: Packet Forwarding CSE 222A: Computer Communication Networks Alex C. Snoeren Thanks: Mike Freedman & Amin Vahdat Lecture 3 Overview Paper reviews Packet Forwarding IP Addressing Subnetting/CIDR

More information

Where we are in the Course

Where we are in the Course Network Layer Where we are in the Course Moving on up to the Network Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Network Layer How to connect different link layer

More information

TOC: Switching & Forwarding

TOC: Switching & Forwarding TOC: Switching & Forwarding Why? Switching Techniques Switch Characteristics Switch Examples Switch Architectures Summary TOC Switching Why? Direct vs. Switched Networks: n links Single link Direct Network

More information

CS 5114 Network Programming Languages Data Plane. Nate Foster Cornell University Spring 2013

CS 5114 Network Programming Languages Data Plane. Nate Foster Cornell University Spring 2013 CS 5114 Network Programming Languages Data Plane http://www.flickr.com/photos/rofi/2097239111/ Nate Foster Cornell University Spring 2013 Based on lecture notes by Jennifer Rexford and Michael Freedman

More information

ECPE / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ECPE / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ECPE / COMP 177 Fall 2016 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Course Organization Top-Down! Starting with Applications / App programming Then Transport Layer (TCP/UDP) Then

More information

Lecture 16: Router Design

Lecture 16: Router Design Lecture 16: Router Design CSE 123: Computer Networks Alex C. Snoeren Eample courtesy Mike Freedman Lecture 16 Overview End-to-end lookup and forwarding example Router internals Buffering Scheduling 2 Example:

More information

Configuring QoS CHAPTER

Configuring QoS CHAPTER CHAPTER 34 This chapter describes how to use different methods to configure quality of service (QoS) on the Catalyst 3750 Metro switch. With QoS, you can provide preferential treatment to certain types

More information

Topics for Today. Network Layer. Readings. Introduction Addressing Address Resolution. Sections 5.1,

Topics for Today. Network Layer. Readings. Introduction Addressing Address Resolution. Sections 5.1, Topics for Today Network Layer Introduction Addressing Address Resolution Readings Sections 5.1, 5.6.1-5.6.2 1 Network Layer: Introduction A network-wide concern! Transport layer Between two end hosts

More information

DD2490 p Bridging, spanning tree and related issues. Olof Hagsand KTH/CSC

DD2490 p Bridging, spanning tree and related issues. Olof Hagsand KTH/CSC DD490 p4 009 Bridging, spanning tree and related issues Olof Hagsand KTH/CSC Literature Radia Pearlman Interconnections Section 3 (Handouts) Building a network: routing or bridging? Scaling differences:

More information

Chapter 06 IP Address

Chapter 06 IP Address Chapter 06 IP Address IP Address Internet address Identifier used at IP layer 32 bit binary address The address space of IPv4 is 2 32 or 4,294,967,296 Consists of netid and hosted IP Address Structure

More information

2D1490 p Bridging, spanning tree and related issues. Olof Hagsand KTHNOC/NADA

2D1490 p Bridging, spanning tree and related issues. Olof Hagsand KTHNOC/NADA D490 p4 007 Bridging, spanning tree and related issues Olof Hagsand KTHNOC/NADA Literature Radia Pearlman Interconnections Section 3 (Handouts) Building a network: routing or bridging? Scaling differences:

More information

Lecture 10: Addressing

Lecture 10: Addressing Lecture 10: Addressing CSE 123: Computer Networks Alex C. Snoeren HW 2 due WEDNESDAY Lecture 10 Overview ICMP The other network-layer protocol IP Addresses Class-based addressing Subnetting Classless addressing

More information

Vorlesung Kommunikationsnetze

Vorlesung Kommunikationsnetze Picture 15 13 Vorlesung Kommunikationsnetze Prof. Dr. H. P. Großmann mit B. Wiegel sowie A. Schmeiser und M. Rabel Sommersemester 2009 Institut für Organisation und Management von Informationssystemen

More information

NetFPGA Hardware Architecture

NetFPGA Hardware Architecture NetFPGA Hardware Architecture Jeffrey Shafer Some slides adapted from Stanford NetFPGA tutorials NetFPGA http://netfpga.org 2 NetFPGA Components Virtex-II Pro 5 FPGA 53,136 logic cells 4,176 Kbit block

More information

ECE 435 Network Engineering Lecture 12

ECE 435 Network Engineering Lecture 12 ECE 435 Network Engineering Lecture 12 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 17 October 2016 Announcements HW#5 will be posted soon 1 1. OSI Layers Midterm Review (a)

More information

Network Superhighway CSCD 330. Network Programming Winter Lecture 13 Network Layer. Reading: Chapter 4

Network Superhighway CSCD 330. Network Programming Winter Lecture 13 Network Layer. Reading: Chapter 4 CSCD 330 Network Superhighway Network Programming Winter 2015 Lecture 13 Network Layer Reading: Chapter 4 Some slides provided courtesy of J.F Kurose and K.W. Ross, All Rights Reserved, copyright 1996-2007

More information

ECPE / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ECPE / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ECPE / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Application Layer Transport Layer Network Layer Link Layer Physical Layer 2 Application Layer HTTP DNS IMAP

More information

7010INT Data Communications Lecture 7 The Network Layer

7010INT Data Communications Lecture 7 The Network Layer Introduction 7010INT Data Communications Lecture 7 The Layer Internetworking & Devices Connecting LANs Routing Backbone networks Virtual LANs Addressing Application Presentation Session Data Link Physical

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Network Layer Overview, Router Design, IP Sec 4.1. 4.2 and 4.3 Prof. Lina Battestilli Fall 2017 Chapter 4: Network Layer, Data Plane chapter goals: understand

More information

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview Chapter 4: chapter goals: understand principles behind services service models forwarding versus routing how a router works generalized forwarding instantiation, implementation in the Internet 4- Network

More information

cs144 Midterm Review Fall 2010

cs144 Midterm Review Fall 2010 cs144 Midterm Review Fall 2010 Administrivia Lab 3 in flight. Due: Thursday, Oct 28 Midterm is this Thursday, Oct 21 (during class) Remember Grading Policy: - Exam grade = max (final, (final + midterm)/2)

More information

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,

More information

TOC: Switching & Forwarding

TOC: Switching & Forwarding TOC: Switching & Forwarding Why? Switching Techniques Switch Characteristics Switch Examples Switch Architectures Summary Why? Direct vs. Switched Networks: Single link Switches Direct Network Limitations:

More information

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing Network layer: Overview Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing 1 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every

More information

Date: June 4 th a t 1 4:00 1 7:00

Date: June 4 th a t 1 4:00 1 7:00 Kommunika tionssyste m FK, Examina tion G 5 0 7 Date: June 4 th 0 0 3 a t 4:00 7:00 KTH/IMIT/LCN No help material is allowed. You may answer questions in English or Swedish. Please answer each question

More information

CS118 Discussion, Week 6. Taqi

CS118 Discussion, Week 6. Taqi CS118 Discussion, Week 6 Taqi 1 Outline Network Layer IP NAT DHCP Project 2 spec 2 Network layer: overview Basic functions for network layer Routing Forwarding Connection v.s. connection-less delivery

More information

Network layer: Overview. Network Layer Functions

Network layer: Overview. Network Layer Functions Network layer: Overview Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing 1 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every

More information

Extending the LAN. Context. Info 341 Networking and Distributed Applications. Building up the network. How to hook things together. Media NIC 10/18/10

Extending the LAN. Context. Info 341 Networking and Distributed Applications. Building up the network. How to hook things together. Media NIC 10/18/10 Extending the LAN Info 341 Networking and Distributed Applications Context Building up the network Media NIC Application How to hook things together Transport Internetwork Network Access Physical Internet

More information

High-Speed Network Processors. EZchip Presentation - 1

High-Speed Network Processors. EZchip Presentation - 1 High-Speed Network Processors EZchip Presentation - 1 NP-1c Interfaces Switch Fabric 10GE / N x1ge or Switch Fabric or Lookup Tables Counters SDRAM/FCRAM 64 x166/175mhz SRAM DDR NBT CSIX c XGMII HiGig

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks COMP/ELEC 429/556 Introduction to Computer Networks Let s Build a Scalable Global Network - IP Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene

More information

Lecture 16: Network Layer Overview, Internet Protocol

Lecture 16: Network Layer Overview, Internet Protocol Lecture 16: Network Layer Overview, Internet Protocol COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,

More information

Examination IP routning inom enkla datornät, DD2490 IP routing in simple networks, DD2490 KTH/CSC. Date: 20 May :00 19:00 SOLUTIONS

Examination IP routning inom enkla datornät, DD2490 IP routing in simple networks, DD2490 KTH/CSC. Date: 20 May :00 19:00 SOLUTIONS Examination IP routning inom enkla datornät, DD2490 IP routing in simple networks, DD2490 KTH/CSC Date: 20 May 2009 14:00 19:00 SOLUTIONS a) No help material is allowed - You are not allowed to use books

More information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Network Superhighway Spring 2018 Lecture 13 Network Layer Reading: Chapter 4 Some slides provided courtesy of J.F Kurose and K.W. Ross, All Rights Reserved, copyright 1996-2007

More information

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011 // Bottlenecks Memory, memory, 88 - Switch and Router Design Dr. David Hay Ross 8b dhay@cs.huji.ac.il Source: Nick Mckeown, Isaac Keslassy Packet Processing Examples Address Lookup (IP/Ethernet) Where

More information

Network Layer. Goals of This Lecture. Internet Reference Model. Outline of the Class

Network Layer. Goals of This Lecture. Internet Reference Model. Outline of the Class Goals of This Lecture Network Layer Kuang Chiu Huang TCM NCKU Through the lecture and in-class discussion, students are enabled to describe role and functions of the network layer, and compare different

More information

Lecture 5: Router Architecture. CS 598: Advanced Internetworking Matthew Caesar February 8, 2011

Lecture 5: Router Architecture. CS 598: Advanced Internetworking Matthew Caesar February 8, 2011 Lecture 5: Router Architecture CS 598: Advanced Internetworking Matthew Caesar February 8, 2011 1 IP Router... A router consists A set of input interfaces at which packets arrive A se of output interfaces

More information

Planning for Information Network

Planning for Information Network Planning for Information Network Lecture 7: Introduction to IPv6 Assistant Teacher Samraa Adnan Al-Asadi 1 IPv6 Features The ability to scale networks for future demands requires a limitless supply of

More information

Forwarding Architecture

Forwarding Architecture Forwarding Architecture Brighten Godfrey CS 538 February 14 2018 slides 2010-2018 by Brighten Godfrey unless otherwise noted Building a fast router Partridge: 50 Gb/sec router A fast IP router well, fast

More information

Network Processors. Nevin Heintze Agere Systems

Network Processors. Nevin Heintze Agere Systems Network Processors Nevin Heintze Agere Systems Network Processors What are the packaging challenges for NPs? Caveat: I know very little about packaging. Network Processors What are the packaging challenges

More information

Chapter 4: Network Layer

Chapter 4: Network Layer Chapter 4: Introduction (forwarding and routing) Review of queueing theory Routing algorithms Link state, Distance Vector Router design and operation IP: Internet Protocol IPv4 (datagram format, addressing,

More information

COMP211 Chapter 4 Network Layer: The Data Plane

COMP211 Chapter 4 Network Layer: The Data Plane COMP211 Chapter 4 Network Layer: The Data Plane All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross

More information

Router Architecture Overview

Router Architecture Overview Router Architecture Overview What s inside a router? Philipp S. Tiesel philipp@inet.tu-berlin.de Slides credits to James Kempf & Anja Feldmann What does a Router Look Like? Ericsson SSR 8020 BNG/BRAS/PGW

More information

ECE 158A: Lecture 7. Fall 2015

ECE 158A: Lecture 7. Fall 2015 ECE 158A: Lecture 7 Fall 2015 Outline We have discussed IP shortest path routing Now we have a closer look at the IP addressing mechanism We are still at the networking layer, we will examine: IP Headers

More information

MPLS MULTI PROTOCOL LABEL SWITCHING OVERVIEW OF MPLS, A TECHNOLOGY THAT COMBINES LAYER 3 ROUTING WITH LAYER 2 SWITCHING FOR OPTIMIZED NETWORK USAGE

MPLS MULTI PROTOCOL LABEL SWITCHING OVERVIEW OF MPLS, A TECHNOLOGY THAT COMBINES LAYER 3 ROUTING WITH LAYER 2 SWITCHING FOR OPTIMIZED NETWORK USAGE MPLS Multiprotocol MPLS Label Switching MULTI PROTOCOL LABEL SWITCHING OVERVIEW OF MPLS, A TECHNOLOGY THAT COMBINES LAYER 3 ROUTING WITH LAYER 2 SWITCHING FOR OPTIMIZED NETWORK USAGE Peter R. Egli 1/21

More information

ICS 451: Today's plan

ICS 451: Today's plan ICS 451: Today's plan ICMP ping traceroute ARP DHCP summary of IP processing ICMP Internet Control Message Protocol, 2 functions: error reporting (never sent in response to ICMP error packets) network

More information

Lecture 8. Basic Internetworking (IP) Outline. Basic Internetworking (IP) Basic Internetworking (IP) Service Model

Lecture 8. Basic Internetworking (IP) Outline. Basic Internetworking (IP) Basic Internetworking (IP) Service Model Lecture 8 Basic Internetworking (IP) Reminder: Homework 3, Programming Project 2 due on Tuesday. An example internet is shown at right. Routers or gateways are used to connect different physical networks.

More information

OSI Data Link & Network Layer

OSI Data Link & Network Layer OSI Data Link & Network Layer Erkki Kukk 1 Layers with TCP/IP and OSI Model Compare OSI and TCP/IP model 2 Layers with TCP/IP and OSI Model Explain protocol data units (PDU) and encapsulation 3 Addressing

More information

Addressing and Routing

Addressing and Routing Addressing and Routing Andrew Scott a.scott@lancaster.ac.uk Physical/ Hardware Addresses Aka MAC* or link(-layer) address Can only talk to things on same link Unique ID given to every network interface

More information

Computer Networks CS 552

Computer Networks CS 552 Computer Networks CS 552 Routers Badri Nath Rutgers University badri@cs.rutgers.edu. High Speed Routers 2. Route lookups Cisco 26: 8 Gbps Cisco 246: 32 Gbps Cisco 286: 28 Gbps Power: 4.2 KW Cost: $5K Juniper

More information

Configuring QoS CHAPTER

Configuring QoS CHAPTER CHAPTER 37 This chapter describes how to configure quality of service (QoS) by using automatic QoS (auto-qos) commands or by using standard QoS commands on the Catalyst 3750-E or 3560-E switch. With QoS,

More information

Lecture 20: Link Layer

Lecture 20: Link Layer Lecture 20: Link Layer COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose and K.W. Ross, All Rights

More information

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture Generic Architecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California,

More information

CS419: Computer Networks. Lecture 6: March 7, 2005 Fast Address Lookup:

CS419: Computer Networks. Lecture 6: March 7, 2005 Fast Address Lookup: : Computer Networks Lecture 6: March 7, 2005 Fast Address Lookup: Forwarding/Routing Revisited Best-match Longest-prefix forwarding table lookup We looked at the semantics of bestmatch longest-prefix address

More information

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1 Lecture 8 Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1 Outline Chapter 3 - Internetworking 3.1 Switching and Bridging 3.2

More information

CSE 123A Computer Networks

CSE 123A Computer Networks CSE 123A Computer Networks Winter 2005 Lecture 8: IP Router Design Many portions courtesy Nick McKeown Overview Router basics Interconnection architecture Input Queuing Output Queuing Virtual output Queuing

More information

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst EITF25 Internet Techniques and Applications L7: Internet Stefan Höst What is Internet? Internet consists of a number of networks that exchange data according to traffic agreements. All networks in Internet

More information

Quality of Service. Understanding Quality of Service

Quality of Service. Understanding Quality of Service The following sections describe support for features on the Cisco ASR 920 Series Router. Understanding, page 1 Configuring, page 2 Global QoS Limitations, page 2 Classification, page 3 Marking, page 6

More information

Introduction to Internetworking

Introduction to Internetworking Introduction to Internetworking Stefano Vissicchio UCL Computer Science COMP0023 Internetworking Goal: Connect many networks together into one Internet. Any computer can send to any other computer on any

More information

The Internet Protocol. IP Addresses Address Resolution Protocol: IP datagram format and forwarding: IP fragmentation and reassembly

The Internet Protocol. IP Addresses Address Resolution Protocol: IP datagram format and forwarding: IP fragmentation and reassembly The Internet Protocol IP Addresses Address Resolution Protocol: IP datagram format and forwarding: IP fragmentation and reassembly IP Addresses IP Addresses are 32 bit. Written in dotted decimal format:

More information

EEC-484/584 Computer Networks

EEC-484/584 Computer Networks EEC-484/584 Computer Networks Lecture 13 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review of lecture 12 Routing Congestion

More information

Chapter 6: Network Layer. Introduction to Networks v5.1

Chapter 6: Network Layer. Introduction to Networks v5.1 Chapter 6: Network Layer Introduction to Networks v5.1 6.0 Introduction 6.1 Network Layer Protocols 6.2 Routing 6.3 Routers 6.4 Configure a Cisco Router 6.5 Summary 2013 Cisco and/or its affiliates. All

More information

CSC 4900 Computer Networks: Network Layer

CSC 4900 Computer Networks: Network Layer CSC 4900 Computer Networks: Network Layer Professor Henry Carter Fall 2017 Chapter 4: Network Layer 4. 1 Introduction 4.2 What s inside a router 4.3 IP: Internet Protocol Datagram format 4.4 Generalized

More information

Router Architecture Overview

Router Architecture Overview Chapter 4: r Introduction (forwarding and routing) r Review of queueing theory r Router design and operation r IP: Internet Protocol m IPv4 (datagram format, addressing, ICMP, NAT) m Ipv6 r Generalized

More information

Chapter 6: Network Layer

Chapter 6: Network Layer Chapter 6: Network Layer Introduction to Networks v5.1 6.0 Introduction 6.1 Network Layer Protocols 6.2 Routing 6.3 Routers 6.4 Configure a Cisco Router 6.5 Summary 2 Upon completion of this section, you

More information

Network Layer: Control/data plane, addressing, routers

Network Layer: Control/data plane, addressing, routers Network Layer: Control/data plane, addressing, routers CS 352, Lecture 10 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana (heavily adapted from slides by Prof. Badri Nath and the textbook authors)

More information

EP2120 Internetworking/Internetteknik IK2218 Internets Protokoll och Principer

EP2120 Internetworking/Internetteknik IK2218 Internets Protokoll och Principer EP2120 Internetworking/Internetteknik IK2218 Internets Protokoll och Principer Homework Assignment 1 (Solutions due 20:00, Mon., 10 Sept. 2018) (Review due 20:00, Wed., 12 Sept. 2018) 1. IPv4 Addressing

More information

Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer: The Data Plane Chapter 4 Network Layer: The Data Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see

More information

University of Toronto Faculty of Applied Science and Engineering. Final Exam, December ECE 461: Internetworking Examiner: J.

University of Toronto Faculty of Applied Science and Engineering. Final Exam, December ECE 461: Internetworking Examiner: J. University of Toronto Faculty of Applied Science and Engineering Final Exam, December 2009 ECE 461: Internetworking Examiner: J. Liebeherr Exam Type: A Calculator: Type 2 There are a total of 10 problems.

More information

IP Addresses. IP Addresses

IP Addresses. IP Addresses IP Addresses Introductory material. IP Addressing Structure of an IP address Classful IP addresses Limitations and problems with classful IP addresses ting CIDR IP Version 6 addresses An entire module

More information

Antonio Cianfrani. Fundamentals of IP Networking

Antonio Cianfrani. Fundamentals of IP Networking Antonio Cianfrani Fundamentals of IP Networking The Internet network routers networks Hosts Network devices TCP/IP protocol stack Application Transport (TCP/UDP) Network (IP) Data Link Applications (HTTP,

More information

Lecture 12: Addressing. CSE 123: Computer Networks Alex C. Snoeren

Lecture 12: Addressing. CSE 123: Computer Networks Alex C. Snoeren Lecture 12: Addressing CSE 123: Computer Networks Alex C. Snoeren Lecture 12 Overview IP Addresses Class-based addressing Subnetting Classless addressing Route aggregation 2 Addressing Considerations Fixed

More information

Lecture 12: Aggregation. CSE 123: Computer Networks Alex C. Snoeren

Lecture 12: Aggregation. CSE 123: Computer Networks Alex C. Snoeren Lecture 12: Aggregation CSE 123: Computer Networks Alex C. Snoeren Lecture 12 Overview Subnetting Classless addressing Route aggregation 2 Class-based Addressing Most significant bits determines class

More information

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 4 The Network Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Network layer functions Transport packet from sending to receiving hosts Network layer protocols in every

More information

2/22/2008. Outline Computer Networking Lecture 9 IP Protocol. Hop-by-Hop Packet Forwarding in the Internet. Internetworking.

2/22/2008. Outline Computer Networking Lecture 9 IP Protocol. Hop-by-Hop Packet Forwarding in the Internet. Internetworking. Outline 5-44 Computer Networking Lecture 9 Protocol Traditional addressing CIDR addressing Peter Steenkiste Departments of Computer Science and Electrical and Computer Engineering Forwarding examples 5-44

More information

Overview. Implementing Gigabit Routers with NetFPGA. Basic Architectural Components of an IP Router. Per-packet processing in an IP Router

Overview. Implementing Gigabit Routers with NetFPGA. Basic Architectural Components of an IP Router. Per-packet processing in an IP Router Overview Implementing Gigabit Routers with NetFPGA Prof. Sasu Tarkoma The NetFPGA is a low-cost platform for teaching networking hardware and router design, and a tool for networking researchers. The NetFPGA

More information

Last Lecture: Network Layer

Last Lecture: Network Layer Last Lecture: Network Layer 1. Design goals and issues 2. Basic Routing Algorithms & Protocols 3. Addressing, Fragmentation and reassembly 4. Internet Routing Protocols and Inter-networking 5. Router design

More information

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11 1 Midterm exam Midterm this Thursday Close book but one-side 8.5"x11" note is allowed (must

More information

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Janno< Administrivia IP out today. Your job: Find partners and tell us Implement

More information

Lecture Computer Networks

Lecture Computer Networks Prof. Dr. Hans Peter Großmann mit M. Rabel sowie H. Hutschenreiter und T. Nau Sommersemester 2012 Institut für Organisation und Management von Informationssystemen Lecture Computer Networks Internet Protocol

More information

Configuring QoS CHAPTER

Configuring QoS CHAPTER CHAPTER 36 This chapter describes how to configure quality of service (QoS) by using automatic QoS (auto-qos) commands or by using standard QoS commands on the Catalyst 3750 switch. With QoS, you can provide

More information

Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer: The Data Plane Chapter 4 Network Layer: The Data Plane Chapter 4: outline 4.1 Overview of Network layer data plane control plane 4.2 What s inside a router 4.3 IP: Internet Protocol datagram format fragmentation IPv4

More information

ECE697AA Lecture 20. Forwarding Tables

ECE697AA Lecture 20. Forwarding Tables ECE697AA Lecture 20 Routers: Prefix Lookup Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/14/08 Forwarding Tables Routing protocols involve a lot of information Path choices,

More information

Routers Technologies & Evolution for High-Speed Networks

Routers Technologies & Evolution for High-Speed Networks Routers Technologies & Evolution for High-Speed Networks C. Pham Université de Pau et des Pays de l Adour http://www.univ-pau.fr/~cpham Congduc.Pham@univ-pau.fr Router Evolution slides from Nick McKeown,

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Thursday, Nov 1 st Homework #4 Due Tuesday, Nov 6 th Project #2 Due 2 IPv4 addresses are usually displayed

More information

To contain/reduce broadcast traffic, we need to reduce the size of the network (i.e., LAN).

To contain/reduce broadcast traffic, we need to reduce the size of the network (i.e., LAN). 2.3.3 Routers 2.3.3.1 Motivation Bridges do not stop broadcast traffic. This can lead to broadcast storms (e.g., more than 100 nonunicast frames/sec) which can be catastrophic. This can bring the network

More information

McGraw-Hill The McGraw-Hill Companies, Inc., 2000

McGraw-Hill The McGraw-Hill Companies, Inc., 2000 !! McGraw-Hill The McGraw-Hill Companies, Inc., 2000 "#$% & '$# )1 ) ) )6 ) )* )- ). )0 )1! )11 )1 )1 )16 )1 3'' 4", ( ( $ ( $ $$+, $$, /+ & 23,4 )/+ &4 $ 53" Network Layer Position of network layer Figure

More information

CS 348 Computer Networks. IP and Routing. Indian Institute of Technology, Bombay

CS 348 Computer Networks. IP and Routing. Indian Institute of Technology, Bombay Computer Networks IP and Routing Network Interconnections Data Link Layer Delivery of frames on the same LAN Extend reach using switches/bridges and hubs Limitations Solution? Cannot address heterogeniety

More information

Quality of Service. Ib Hansen TECRST-2500_c Cisco Systems, Inc. All rights reserved. Cisco Public 1

Quality of Service. Ib Hansen TECRST-2500_c Cisco Systems, Inc. All rights reserved. Cisco Public 1 Quality of Service Ib Hansen ibhansen@cisco.com 1 Why Enable QoS? Security Quality of Service High Availability QoS: Enables UC and other collaborative applications Drives productivity by enhancing service

More information

CSC358 Week 6. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

CSC358 Week 6. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved CSC358 Week 6 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Logistics Assignment 2 posted, due Feb 24, 10pm Next week

More information

PUSHING THE LIMITS, A PERSPECTIVE ON ROUTER ARCHITECTURE CHALLENGES

PUSHING THE LIMITS, A PERSPECTIVE ON ROUTER ARCHITECTURE CHALLENGES PUSHING THE LIMITS, A PERSPECTIVE ON ROUTER ARCHITECTURE CHALLENGES Greg Hankins APRICOT 2012 2012 Brocade Communications Systems, Inc. 2012/02/28 Lookup Capacity and Forwarding

More information

Router Architectures

Router Architectures Router Architectures Venkat Padmanabhan Microsoft Research 13 April 2001 Venkat Padmanabhan 1 Outline Router architecture overview 50 Gbps multi-gigabit router (Partridge et al.) Technology trends Venkat

More information

Configuring QoS. Understanding QoS CHAPTER

Configuring QoS. Understanding QoS CHAPTER 29 CHAPTER This chapter describes how to configure quality of service (QoS) by using automatic QoS (auto-qos) commands or by using standard QoS commands on the Catalyst 3750 switch. With QoS, you can provide

More information

Routers. Session 12 INST 346 Technologies, Infrastructure and Architecture

Routers. Session 12 INST 346 Technologies, Infrastructure and Architecture Routers Session 12 INST 346 Technologies, Infrastructure and Architecture Goals for Today Finish up TCP Flow control, timeout selection, close connection Network layer overview Structure of a router Getahead:

More information

Chapter 4: network layer

Chapter 4: network layer Chapter 4: network layer chapter goals: understand principles behind network layer services: network layer service models forwarding versus routing how a router works routing (path selection) broadcast,

More information

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6 RMIT University Data Communication and Net-Centric Computing COSC 1111/2061 Internetworking IPv4, IPv6 Technology Slide 1 Lecture Overview During this lecture, we will understand The principles of Internetworking

More information