Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design of a Diversified Router: November 2006 Demonstration Plans

Similar presentations


Presentation on theme: "Design of a Diversified Router: November 2006 Demonstration Plans"— Presentation transcript:

1 Design of a Diversified Router: November 2006 Demonstration Plans
John DeHart

2 Three existing WU PlanetLab Nodes
Demo Configuration PLC myPLC CP (GP Blade) GPE (GP Blade) NPE (NP Blade) WU RTR ARL/ CSE Net Internet LC (NP Blade) 1 GE / Switch (Blade?) vn1 vn2 vn3 Three existing WU PlanetLab Nodes 5-Slot ATCA Chassis Acts as a single PlanetLab Node. One IP address Continue to assume that we will not have a switch blade Use external GE switch NPE and LC will connect to external GE switch via RTMs CP and GPE will connect to external GE switch via Front Panel GE interfaces. Then if/when we get a switch we will try to integrate it into the demo.

3 Operation CP PL NM glue MyPLC G P E N P E WU RTR ARL/ CSE Net Internet
Blade) 1 GE / Switch (Blade?) vn1 vn2 vn3 Initially, all external packets for this IP dst addr go to CP. A default route/filter is added to the LC that directs all traffic to CP. CP adds a Lookup entry in the LC to set up a path for ssh to the GPE We probably have ssh to the GPE be on the default port. CP would use a non-default ssh port. We are the only ones who will be ssh-ing in to the CP, right? User can then ssh in to GPE, configure their slice, run apps, etc.

4 Operation Packets: Node operates as a PlanetLab Node CP: GPE: NPE: LC:
All traffic arriving at LC will be IP All traffic within system will be IP There are no Substrate Headers. Node operates as a PlanetLab Node As close to the current definition of a PL Node as possible CP: Runs something along the lines of: PL Node Manager MyPLC Glue to inter-work between PL Node Mgr and MyPLC GPE: Runs PL Node Manager which utilizes MyPLC from CP Runs user PL slices NPE: Supports one NPE Slice on each NP We’ll run one MR in an each NPE Slice LC: Directs traffic based on IP Dst Address and IP Dst Port to the correct Blade: CP, GPE, NPE Only one Dst Address should be accepted? Dst Ports will be configured by CP as requested by user slices

5 User Slices Initiated on the GPE as a result of their definition in MyPLC database on the CP CP configures LC to direct an ssh port to the GPE To get an external port#: requests it from CP To use NPE: requests an NPE slice from CP Requests an external port# from GP Directed to NPE by LC Requests a local port# to GPE for exceptions Specify parse and hdr_format code Is provided an interface for add/remove routes and filters

6 VNET The PlanetLab Kernel uses a VNET module to provide virtualized network access. VNET relies on Linux’s Netfilter to associated pkts with connections. VNET supports the following protocols: TCP Connection bound to an interface and local port# UDP ICMP Connection bound to an interface and ICMP Echo ID Specifies ICMP Echo ID in the sin_port field of the struct sockaddr_in of the bind system call. GRE and PPTP Connection bound to an interface and GRE key or PPTP Call ID Specifies lower 16 bits of the GRE Key or the 16-bit PPTP Call ID in the sin_port field of the struct sockaddr_in of the bind system call. VNET also supports “safe raw sockets” (???) Lazy binding Stock ping and traceroute use unbound raw IP sockets to send packets using “random” ICMP Echo IDs. Proxy sockets

7 Packet Types Arriving at Ingress LC
UDP Packet with MN Packet as the UDP payload TCP Packet with MN Packet as the TCP payload IP-IP Tunnel with UDP Packet as its payload With MN Packet as the UDP payload

8 Packets DstAddr (6B) DstAddr (6B) SrcAddr (6B) SrcAddr (6B)
Type=IP (2B) PAD (nB) CRC (4B) UDP Payload (MN Packet) DstAddr (6B) SrcAddr (6B) Dst Addr (4B) Src Addr (4B) Ver/HLen/Tos/Len (4B) ID/Flags/FragOff (4B) TTL (1B) Protocol = UDP (1B) Hdr Cksum (2B) IP Options (0-40B) Src Port (2B) Dst Port (2B) UDP length (2B) UDP checksum (2B) Protocol = IP (1B) DstAddr (6B) DstAddr (6B) SrcAddr (6B) SrcAddr (6B) Type=IP (2B) Ver/HLen/Tos/Len (4B) Type=IP (2B) ID/Flags/FragOff (4B) Ver/HLen/Tos/Len (4B) TTL (1B) ID/Flags/FragOff (4B) Protocol = TCP (1B) TTL (1B) Hdr Cksum (2B) Protocol = UDP (1B) Dst Addr (4B) Hdr Cksum (2B) Dst Addr (4B) Src Addr (4B) Src Addr (4B) IP Options (0-40B) IP Options (0-40B) Src Port (2B) Dst Port (2B) Src Port (2B) TCP Sequence Num (4B) Dst Port (2B) UDP length (2B) TCP Acknowlegement Num (4B) UDP checksum (2B) UDP Payload (MN Packet) Hdr Len and TCP Flags (2B) Window Size (2B) TCP Checksum (2B) TCP Urgent Pointer (2B) TCP Options (0-40B) PAD (nB) CRC (4B) TCP Payload (MN Packet) PAD (nB) CRC (4B)

9 UDP Packets Ethernet Header IP Header UDP Header MR Packet
DstAddr (6B) Ethernet Header SrcAddr (6B) Type=IP (2B) Ver/HLen/Tos/Len (4B) ID/Flags/FragOff (4B) TTL (1B) Protocol = UDP (1B) Hdr Cksum (2B) Dst Addr (4B) IP Header Src Addr (4B) IP Options (0-40B) Src Port (2B) Dst Port (2B) UDP Header UDP length (2B) UDP checksum (2B) UDP Payload MR Packet PAD (nB) CRC (4B)

10 LC LC: New Substrate Link type: Routed IPv4
This is a configured SL Type. That is, the LC is told this is the one and only SL Type it supports Ingress Lookup Key: SL Type (4b): Routed IPv4 IP DstAddr (32b): make sure it is for us IP Protocol (8b): should be UDP UDP Port # (16b): directs traffic to CP, GPE or NPE Result: Ethernet DA(8b) VLAN (12b) QID (20b) Port(4b) Egress IP SrcAddr (32b): make sure it looks like it is from us UDP Port # (16b): traffic from CP, GPE or NPE Ethernet DA(48b): Next hop Ethernet Address (probably one of our routers?)

11 IPv4 MR Rx: No change Demux: Parse Lookup Process external IP Hdr
Hdr Checksum? Give IP SA and IP DPort to Parse as RxMI Consume external IP Hdr Parse Process internal IP Hdr Lookup Key: same as before? CP-to-MPE pkt format: Internal IP Pkt, Internal MN hdr wrapped in a UDP Packet. Local DPort used for Exception packets Lookup Lookup Result: IP Dst Addr: Next hop IP addr

12 IPv4 MR Hdr Format QM: Tx Configured with
Ethernet DA of LC Ethernet SA of self Ethertype fields are 802.1Q and IP VLAN for IPv4 MR Rewrite Ethernet Hdr to send pkt to LC Write External IP Hdr IP Dst Addr from Result IP Src Addr: configured with ours IP Protocol field from Result (UDP only?) Defaults for other fields Calculate Hdr Checksum Write External UDP Hdr UDP Port numbers. UDP Length UDP checksum? QM: No change unless we have the switch blade? Tx No change?

13 Extra The next set of slides are for templates or extra information if needed

14 Text Slide Template

15 Image Slide Template

16 OLD The rest of these are old slides that should be deleted at some point.


Download ppt "Design of a Diversified Router: November 2006 Demonstration Plans"

Similar presentations


Ads by Google