CS244a: An Introduction to Computer Networks - PowerPoint PPT Presentation

About This Presentation
Title:

CS244a: An Introduction to Computer Networks

Description:

Hardware engineers architect and design switches and routers. ... Other assignments: IP router, firewall, packet mis-sequencer, data transcoder, ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 18
Provided by: nickmc
Category:

less

Transcript and Presenter's Notes

Title: CS244a: An Introduction to Computer Networks


1
Teaching tools for a network infrastructure
teaching lab The Virtual Router and NetFPGA
Sigcomm Education Workshop August 20th, 2002
Nick McKeown Professor of Electrical Engineering
and Computer Science, Stanford
University nickm_at_stanford.edu www.stanford.edu/ni
ckm
2
Outline
  • Why have a network infrastructure teaching lab
  • Hardware Platform NetFPGA
  • Software Platform Virtual Router
  • Demo of Virtual Router (hopefully)

3
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.

4
Platform 1 Hardware Platform
  • NetFPGA

5
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 -gt simulation/verification -gt synthesis
    -gt download

6
Hardware Platform NetFPGA
Packet buffers
1
Ethernet Interface 1
User FPGA
User memory
2
Ethernet Interface 2
  • No CPU
  • Only interface is via Ethernet
  • Program FPGA via Ethernet
  • Reset board remotely

8
Ethernet Interface 8
Controller
7
Hardware Platform NetFPGA
Campus Network
Ethernet Interface 1
User FPGA
Ethernet Interface 2
Ethernet Interface 8
User memory
Firewall
Ethernet Interface 1
User FPGA
Ethernet Interface 2
Ethernet Interface 8
User memory
Controller
Web/ftp
Analyzer
8
Hardware Platform NetFPGAStatus
  • Prototype Summer 2002
  • First classroom use April 2003
  • Boards available Early 2004
  • Looking for sponsors and alpha-users

9
Platform 2 Software Platform
  • Virtual Router

10
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,

11
Software Platform Virtual RouterStudents view
A
Ethernet frames
B
Ethernet frames
Students user-space router
Ethernet frames
Ethernet frames
C
Campus Network
Ethernet frames
Virtual Router Client
D
Web/ftp servers
12
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

13
Software Platform Virtual RouterThe Virtual
Router Server
VR Client
Instructional machines
PCLinux
Firewall
Campus Network
Virtual Router Server
Web/ftp servers
14
Software Platform Virtual RouterStudents view
Each interface has locally unique Ethernet and IP
address.
Arbitrary topology
VR Client
VR Client
VR Client
VR Client
VR Client
Campus Network
Web/ftp servers
15
Software Platform Virtual RouterStudents view
Topology per student
Campus Network
Web/ftp servers
16
Software Platform Virtual RouterThe 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
Instructional machines
Firewall/Load-balancer
Virtual Router Server
Web/ftp servers
17
Software Platform Virtual RouterStatus
  • 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
Write a Comment
User Comments (0)
About PowerShow.com