Senior Project with the SPP Michael Williamson. Communicating with a Slice Slice-RMP library using a Unix Domain Socket ◦ RPC-Like ◦ Slice application.

Slides:



Advertisements
Similar presentations
Florida State UniversityCOP Advanced Unix Programming Raw Sockets Datalink Access Chapters 25, 26.
Advertisements

Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Router Implementation Project-2
Engineering Patrick Crowley, John DeHart, Mart Haitjema, Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Jon Turner, Charlie Wiseman, Mike Wilson, Ken Wong,
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
ISO/OSI Model Layers Application: applications that use the network. This is were mail, browsers, ftp, etc reside Presentation: data formats, character.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Internet Control Message Protocol (ICMP)
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Connecting Networks © 2004 Cisco Systems, Inc. All rights reserved. Defining the IP Packet Delivery Process INTRO v2.0—4-1.
Module 10. Internet Protocol (IP) is the routed protocol of the Internet. IP addressing enables packets to be routed from source to destination using.
John DeHart Computer Science & Engineering Washington University GEC7: SPP Tutorial Hands On Exercises.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Network Layer ICMP and fragmentation.
Chapter 4: Managing LAN Traffic
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
Managing SPP Resources: System Resource Manager (SRM) Fred Kuhns Applied Research Laboratory Washington University in St. Louis.
IP Forwarding.
John DeHart and Mike Wilson SPP V2 Router Design.
Patrick Crowley and Jon Turner and John DeHart, Mart Haitjema Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Charlie Wiseman, Mike Wilson, Ken Wong, Dave.
© Jörg Liebeherr (modified by M. Veeraraghavan) 1 ICMP: A helper protocol to IP The Internet Control Message Protocol (ICMP) is the protocol used for error.
Chapter 22 Q and A Victor Norman CS 332 Spring 2014.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
1 Internet Control Message Protocol (ICMP) Used to send error and control messages. It is a necessary part of the TCP/IP suite. It is above the IP module.
1 Network Layer Lecture 16 Imran Ahmed University of Management & Technology.
1 - Charlie Wiseman - 05/11/07 Design Review: XScale Charlie Wiseman ONL NP Router.
Lecture 22 Network Security CS 450/650 Fundamentals of Integrated Computer Security Slides are modified from Hesham El-Rewini.
Michael Wilson Block Design Review: Line Card Key Extract (Ingress and Egress)
Washington WASHINGTON UNIVERSITY IN ST LOUIS Substrate Control: Overview Fred Kuhns Applied Research Laboratory.
Substrate Control: Resource Manager Proxy (See Types.ppt for a description of data types used in this presentation) Fred Kuhns Applied.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 25 November 16, 2004.
Brandon Heller Block Design Review: Substrate Decap and IPv4 Parse.
© Jörg Liebeherr (modified by M. Veeraraghavan) 1 ICMP The PING Tool Traceroute program IGMP.
Washington WASHINGTON UNIVERSITY IN ST LOUIS LC/NPE Substrate Control: Substrate Control Daemon Fred Kuhns Applied.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Slice Interface to SPP Fred Kuhns Applied Research Laboratory Washington.
1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 3/15/2016 Allocate and free code option instance, NPE resources and interface bandwidth. Manage.
Lecture 21: Network Primer 7/9/2003 CSCE 590 Summer 2003.
Cisco Router Technology. Overview Topics :- Overview of cisco Overview of cisco Introduction of Router Introduction of Router How Router Works How Router.
Substrate Control: Common Type Definitions Fred Kuhns Applied Research Laboratory Washington University in St. Louis.
Supercharged PlanetLab Platform, Control Overview
A quick intro to networking
Design of a High Performance PlanetLab Node
Internet Control Message Protocol (ICMP)
Design of a Diversified Router: Packet Formats
SPP Version 1 Router NAT John DeHart.
IP Forwarding Relates to Lab 3.
ONL NP Router Plugins Shakir James, Charlie Wiseman, Ken Wong, John DeHart {scj1, cgw1, kenw,
techX and ONL Summer 2008 Plans
Internet Control Message Protocol (ICMP)
Design of a Diversified Router: Packet Formats
SPP V2 Router Plans and Design
An NP-Based Router for the Open Network Lab Overview by JST
Supercharged PlanetLab Platform, Control Overview
Next steps for SPP & ONL 2/6/2007
Network Core and QoS.
SPP Version 1 Router Traffic Examples
Design of a Diversified Router: November 2006 Demonstration Plans
Code Review for IPv4 Metarouter Header Format
Code Review for IPv4 Metarouter Header Format
A High Performance PlanetLab Node
SPP Router Plans and Design
Design of a High Performance PlanetLab Node: Line Card
Networking and Network Protocols (Part2)
Internet Control Message Protocol
Network Core and QoS.
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Senior Project with the SPP Michael Williamson

Communicating with a Slice Slice-RMP library using a Unix Domain Socket ◦ RPC-Like ◦ Slice application calls predefined functions RMP RMP-Slice Library User Application Slice Running in VM VM X GPE To System

Communicating with a Slice (cont.) Local Delivery and Exception Sockets ◦ Provides direct access to a fastpath ◦ Implemented using a Virtual LAN GPE planetlab OS vm x app NPE SRAM TCAM SCD code option FP x GPENPE Internal Switch

What I’ve Worked On User Application, RMP, RMP-Slice Library RMP RMP-Slice Library User Application Slice Running in VM VM X GPE

Demonstration Overview Statistics Gathering Local Delivery

Statistics Interface Counters increment for certain router events ◦ Packet hitting a filter User specifies an index and flags to return 1 of 4 counters Packet Count Byte Count Packet Count Byte Count PreQ PostQ Stats Array Stats Index

Local Delivery Traffic Allows the slice application to implement custom packet processing Packets delivered via the local delivery socket GPE planetlab OS vm x app NPE SRAM TCAM SCD mux FastPath x Switch Internet SPP LC

How Packets Get to the Slice User installs a local delivery filter on the fastpath Fastpath wraps all matching packets in a “meta-net header” and forwards them to the slice Fastpath automatically sends exception traffic to the slice’s exception socket Type (16b) Header Length (12b) Rx UDP DPort (2B) 0000 Rx UDP SPort (2B) Rx IP Saddr (4B) Rx IP Daddr (4B) Original Datagram meta-net header

What an Application Sees Applications must write code to handle the meta-net header Type (16b) Header Length (12b) Rx UDP DPort (2B) 0000 Rx UDP SPort (2B) Rx IP Saddr (4B) Rx IP Daddr (4B) Original Datagram meta-net header

Sending Packets back to the Fastpath First of Two Options: ◦ User installs a regular filter that matches packets received on meta- interface zero ◦ Application wraps packets in a meta-net header that reflects coming from the GPE and transmits them into the LD socket ◦ Packets match meta-interface zero filter and are forwarded appropriately Slice VMFastpath Local Delivery Logical Interface = Meta-interface 0

Sending Packets back to the Fastpath (cont.) Second Option: ◦ User installs a “substrate-only” filter ◦ Application adds a forwarding key onto the meta-net header and transmits packets into the LD socket ◦ Fastpath does a substrate-only lookup on the forwarding key and matches the installed filter Type (16b) Int. Hdr Length (12b) Rx UDP DPort (2B) Tx UDP SPort (2B) Tx UDP DPort (2B) Tx IP DAddr (4B) 0000 Rx UDP SPort (2B) Rx IP Saddr (4B) Rx IP Daddr (4B) meta-net header forwarding key Original Datagram

Why Would You Ever Use a Substrate-Only Filter? Allows an application to send arbitrary packets within a flow to any location ◦ Necessary to handle ICMP error messages that must be transmitted on whatever interface the offending packet came in on Slice VM Fastpath Regular Filter Substrate- Only Filter Dest. A Dest. B

copt X ( :40000) q1q1 q0q0 2Mbps MI 1 q2q2 1Mbps 2Mbps q4q4 q3q3 1Mbps MI 2 4Mbps q6q6 q5q5 1Mbps MI 3 1Mbps q7q7 3Mbps BW: 5Mbps ( :40001) BW: 5Mbps ( :40002) BW: 5Mbps q9q9 LD MI 0 q8q8 Ex Slice VM LD and EX Tunnels techx05 techx06 ( :50000) ( :50001) Share a common physical interface ( :50002) TCAM (Filters) 0 (mi 1 -0) 1 (mi 0 - 1) 2 (mi 2 - 1) 3 (mi 1- 2) 4 (mi 1 - 3) 5 (mi 2 - 3) Filter ID KeyResult Implied by qid typerxmi Code Option Specific Key action tunnel destination qid stats index daddrsaddrsportdportprototxdaddrtxdporttxmi ****LD**900 11* ****fwd *****fwd *****fwd *****fwd *****fwd *****fwd (mi 3 - 2) Logical View of Demo Ping TraceRoute

What I’ve Gained from this Experience Tremendous skill set ◦ Debugging ability ◦ Knowledge  Networking  Linux  Toolsets Advanced Faster than my classmates

Thanks!