15
Senior Project with Senior Project with the SPP the SPP Michael Williamson

Senior Project with the SPP

  • Upload
    jin

  • View
    23

  • Download
    1

Embed Size (px)

DESCRIPTION

Senior Project with the SPP. Michael Williamson. Communicating with a Slice. GPE. Slice Running in VM. Slice-RMP library using a Unix Domain Socket RPC-Like Slice application calls predefined functions. User Application. VM X. To System. RMP. RMP-Slice Library. GPE. vm x. - PowerPoint PPT Presentation

Citation preview

Page 1: Senior Project with the SPP

Senior Project with the Senior Project with the SPPSPPMichael Williamson

Page 2: Senior Project with the SPP

Communicating with a Communicating with a SliceSlice

Slice-RMP library using a Unix Domain Socket◦RPC-Like◦Slice application calls predefined

functions

RMPRMP-Slice

Library

User Application

Slice Running in

VM

VMX

GPE

To System

Page 3: Senior Project with the SPP

Communicating with a Slice Communicating with a Slice (cont.)(cont.)

Local Delivery and Exception Sockets◦Provides direct access to a fastpath◦Implemented using a Virtual LAN

GPE

planetlab OS

vmx

app

NPE

SRAM

TCAM

SCDcode option

FPx GPENPE

Internal Switch

Page 4: Senior Project with the SPP

What I’ve Worked OnWhat I’ve Worked OnUser Application, RMP, RMP-Slice

Library

RMPRMP-Slice

Library

User Application

Slice Running in

VM

VMX

GPE

Page 5: Senior Project with the SPP

Demonstration OverviewDemonstration Overview

Statistics GatheringLocal Delivery

Page 6: Senior Project with the SPP

Statistics InterfaceStatistics InterfaceCounters increment for certain router events

◦ Packet hitting a filterUser specifies an index and flags to return 1

of 4 counters

Packet Count

Byte Count

Packet Count

Byte CountPreQ

PostQ

Stats Array

Stats Index

Page 7: Senior Project with the SPP

Local Delivery TrafficLocal Delivery TrafficAllows the slice application to implement

custom packet processingPackets delivered via the local delivery

socket

GPE

planetlab OS

vmx

app

NPE

SRAM

TCAM

SCD

mux

FastPathx

Switch

Internet

SPP

LC

Page 8: Senior Project with the SPP

How Packets Get to the How Packets Get to the SliceSliceUser installs a local delivery filter on the

fastpathFastpath 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

Page 9: Senior Project with the SPP

What an Application SeesWhat 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

Page 10: Senior Project with the SPP

Sending Packets back to the Sending Packets back to the FastpathFastpath

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 VM Fastpath

Local Delivery Logical Interface = Meta-interface 0

Page 11: Senior Project with the SPP

Sending Packets back to the Sending Packets back to the Fastpath (cont.)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

Page 12: Senior Project with the SPP

Why Would You Ever Use a Why Would You Ever Use a Substrate-Only Filter?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

Page 13: Senior Project with the SPP

copt X

(10.1.1.1:40000)q1

q0 2MbpsMI1

q2

1Mbps

2Mbps

q4

q3 1MbpsMI2

4Mbps

q6

q5 1MbpsMI3

1Mbps

q7 3Mbps

BW: 5Mbps

(10.1.2.1:40001)

BW: 5Mbps

(10.1.3.1:40002)

BW: 5Mbps

q9 LDMI0

q8 Ex

Slice VM

172.16.10.2

172.16.10.1

LD and EX Tunnels

techx05

techx06

(10.1.1.2:50000)

(10.1.2.2:50001)

Share a commonphysical interface

(10.1.3.2: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

Key ResultImplied by

qidtype rxmi

Code Option Specific Keyaction

tunnel destinationqid

stats

indexdaddr saddr sport dport proto txdaddr txdport txmi

0 0 1 10.1.1.1 * * * * LD * * 9 0 01 1 * 10.1.1.2 * * * * fwd 10.1.1.2 50000 1 1 12 0 2 10.1.1.* * * * * fwd 10.1.1.2 50000 2 2 13 0 1 10.1.2.* * * * * fwd 10.1.2.2 50001 3 3 24 0 1 10.1.3.* * * * * fwd 10.1.3.2 50002 5 4 35 0 2 10.1.3.* * * * * fwd 10.1.3.2 50002 5 5 36 0 3 10.1.2.* * * * * fwd 10.1.2.2 5001 4 6 2

6 (mi 3 - 2)

Logical View of Demo Logical View of Demo Ping

TraceRoute

Page 14: Senior Project with the SPP

What I’ve Gained from this What I’ve Gained from this ExperienceExperienceTremendous skill set

◦Debugging ability◦Knowledge

Networking Linux Toolsets

Advanced Faster than my classmates

Page 15: Senior Project with the SPP

Thanks!Thanks!