aug 20 th, 2002 sigcomm education workshop 1 teaching tools for a network infrastructure teaching...

17
1 Sigcomm Education Workshop Aug 20 th , 2002 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education Workshop August 20 th , 2002 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University [email protected] www.stanford.edu/~nickm

Upload: lily-evans

Post on 26-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

1Sigcomm Education WorkshopAug 20th, 2002

High PerformanceSwitching and RoutingTelecom Center Workshop: Sept 4, 1997.

Teaching tools for a network infrastructure teaching lab

The Virtual Router and NetFPGA

Sigcomm Education WorkshopAugust 20th, 2002

Nick McKeownProfessor of Electrical Engineering and Computer Science, Stanford University

[email protected]/~nickm

Page 2: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop2

Outline

Why have a network infrastructure teaching lab

Hardware Platform: NetFPGA Software Platform: Virtual Router Demo of Virtual Router (hopefully)

Page 3: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop3

Why have a network infrastructure teaching lab

Many of our students go to networking companies: Software engineers implement network protocols, and Hardware engineers architect and design switches and routers. More likely to design a router than a computer.

We had classes on digital system design, computer programming, networking and on packet switch architectures. No lab classes in networking.

Want students to design, implement, deploy and debug their own infrastructure elements: IP routers, Ethernet switches, and elements of their own creation.

Page 4: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop4

Platform #1: Hardware Platform

NetFPGA

Page 5: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop5

Hardware Platform: NetFPGA

What: Circuit board with 8 Ethernet interfaces and user-programmable FPGAs.

How used: Students architect, design and deploy their own hardware in an operational network.

Canonical assignment: Ethernet switch Other assignments: IP router, firewall, packet

mis-sequencer, data transcoder, … Design flow: Industry standard flow

Verilog -> simulation/verification -> synthesis -> download

Page 6: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop6

Hardware Platform: NetFPGA

Ethernet Interface #1

Ethernet Interface #2

Ethernet Interface #8

UserFPGAUserFPGA

Controller

User memory

User program

Packet buffers1

2

8

No CPU Only interface is

via Ethernet Program FPGA

via Ethernet Reset board

remotely

Page 7: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop7

Hardware Platform: NetFPGAEthernet

Interface #1

Ethernet Interface #2

Ethernet Interface #8

UserFPGA

UserFPGA

User memory

Ethernet Interface #1

Ethernet Interface #2

Ethernet Interface #8

UserFPGA

UserFPGA

User memory

Firewall

CampusNetwork

Controller Web/ftp Analyzer

Page 8: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop8

Hardware Platform: NetFPGAStatus

Prototype: Summer 2002 First classroom use: April 2003 Boards available: Early 2004

Looking for sponsors and alpha-users…

Page 9: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop9

Platform #2: Software Platform

Virtual Router

Page 10: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop10

Software Platform: Virtual Router

Problem: How to have 200 students each build and deploy their own router, without kernel hacking and without their own dedicated machine?

What: PC/Linux-based “Virtual Router Server”; students write user-space “Virtual Router Clients” in C, C++, Java, Perl, …

How used: Students architect, design and deploy their own router in an operational network with their own arbitrary topology.

Canonical assignment: Internet router. Other assignments: QoS router, lookup algorithms,

routing protocols, Firewall, …

Page 11: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop11

Software Platform: Virtual Router

Student’s view

Student’s user-space

router

Ethernet frames

Ethernet frames

Ethernet frames

Ethernet framesEthernet frames

Web/ftp servers

CampusNetwork “Virtual Router Client”

1. Packet arrives destined for web

server ‘C’.

2. Student’s code (in C, C++, Java,

perl) receives Ethernet packet

and must route it to correct interface.

A

B

C

D

Page 12: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop12

Example assignmentMarch 2002, ~100 BS/MS students

Implement a fully functional IP router, including: Address lookup (static routing table) TTL check and decrement IP checksum check and update ARP request/reply ICMP: enough for traceroute and ping to work

Environment: Students receive/send raw Ethernet packets Four network interfaces Written in ANSI C

Page 13: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop13

Software Platform: Virtual Router

The Virtual Router Server

Web/ftp servers

CampusNetwork

Firewall

PCLinux

Instructional machines

“Virtual Router Server”

VRClient

Socket

Page 14: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop14

Software Platform: Virtual Router

Student’s view

VRClient

VRClient

VRClient

VRClient

VRClient

Arbitrary topology

CampusNetwork

Web/ftp servers

Each interface has locally

unique Ethernet and IP address.

Page 15: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop15

Software Platform: Virtual Router

Student’s view

Topology per student

CampusNetwork

Web/ftp servers

Page 16: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop16

Software Platform: Virtual Router

The Virtual Router Server

Web/ftp servers

Firewall/Load-balancer

Instructional machines

“Virtual Router Server”

Classifies incoming packet to determine which student should

route the packet. Picks next hop

Ethernet DA to reach VR Client.

Intercepts specific Ethernet addresses

on behalf of VR Clients

Page 17: Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education

Aug 20th, 2002 Sigcomm Education Workshop17

Software Platform: Virtual Router

Status Prototype V1.0: Summer 2001 First classroom use: March 2002

CS244a at Stanford, Assignment #3, ~100 students

V2.0: Summer 2002 Next classroom use: March 2003 First planned release: Summer 2003

Looking for sponsors and alpha-users…