Design of a Diversified Router November 2006 Demonstration
Design of a Diversified Router: November 2006 Demonstration Plans John De. Hart jdd@arl. wustl. edu http: //www. arl. wustl. edu/arl
Demo Configuration PLC my. PLC Interne t WU RTR ARL/ CSE Net CP (GP Blade) / vn 1 vn 2 vn 3 n LC (NP Blade) 1 GE GPE (GP Blade) NPE (NP Blade) Switch (Blade? ) Three existing WU Planet. Lab Nodes 5 -Slot ATCA Chassis » Acts as a single Planet. Lab Node. n One IP address » Continue to assume that we will not have a switch blade n n n 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. 2 - JST/JDD/FK - 1/12/2022
Operation PLC CP my. PLC Interne t WU RTR ARL/ CSE Net PL glue My. PLC NM 1 GE / LC (NP Blade) G N P P E E Switch (Blade? ) vn 1 vn 2 vn 3 n 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. n 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. n n 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. 3 - JST/JDD/FK - 1/12/2022
Operation n Packets: n Node operates as a Planet. Lab Node n CP: » All traffic arriving at LC will be IP » All traffic within system will be IP » There are no Substrate Headers. » As close to the current definition of a PL Node as possible » Runs something along the lines of: n n GPE: n NPE: n LC: PL Node Manager My. PLC Glue to inter-work between PL Node Mgr and My. PLC » Runs PL Node Manager which utilizes My. PLC from CP » Runs user PL slices » Supports one NPE Slice on each NP » We’ll run one MR in an each NPE Slice » Directs traffic based on IP Dst Address and IP Dst Port to the correct Blade: CP, GPE, NPE n n Only one Dst Address should be accepted? Dst Ports will be configured by CP as requested by user slices 4 - JST/JDD/FK - 1/12/2022
User Slices n Initiated on the GPE as a result of their definition in My. PLC database on the CP » CP configures LC to direct an ssh port to the GPE n To get an external port#: » requests it from CP n To use NPE: » requests an NPE slice from CP » Requests an external port# from GP n 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 5 - JST/JDD/FK - 1/12/2022
VNET n The Planet. Lab Kernel uses a VNET module to provide virtualized network access. » VNET relies on Linux’s Netfilter to associated pkts with connections. n VNET supports the following protocols: » TCP n Connection bound to an interface and local port# » UDP n Connection bound to an interface and local port# » ICMP n n 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 n n n 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 n Stock ping and traceroute use unbound raw IP sockets to send packets using “random” ICMP Echo IDs. » Proxy sockets 6 - JST/JDD/FK - 1/12/2022
Packet Types Arriving at Ingress LC n UDP Packet with MN Packet as the UDP payload n TCP Packet with MN Packet as the TCP payload n IP-IP Tunnel with UDP Packet as its payload » With MN Packet as the UDP payload 7 - JST/JDD/FK - 1/12/2022
Packets Dst. Addr (6 B) Src. Addr (6 B) Type=IP (2 B) Ver/HLen/Tos/Len (4 B) ID/Flags/Frag. Off (4 B) TTL (1 B) Protocol = UDP (1 B) Hdr Cksum (2 B) Dst Addr (4 B) Src Addr (4 B) IP Options (0 -40 B) Src Port (2 B) Dst Port (2 B) UDP length (2 B) UDP checksum (2 B) UDP Payload (MN Packet) PAD (n. B) CRC (4 B) Src. Addr (6 B) Type=IP (2 B) Ver/HLen/Tos/Len (4 B) ID/Flags/Frag. Off (4 B) TTL (1 B) Protocol = TCP (1 B) Hdr Cksum (2 B) Dst Addr (4 B) Src Addr (4 B) IP Options (0 -40 B) Src Port (2 B) Dst Port (2 B) TCP Sequence Num (4 B) TCP Acknowlegement Num (4 B) Hdr Len and TCP Flags (2 B) Window Size (2 B) TCP Checksum (2 B) TCP Urgent Pointer (2 B) TCP Options (0 -40 B) TCP Payload (MN Packet) PAD (n. B) CRC (4 B) 8 - JST/JDD/FK - 1/12/2022 Dst. Addr (6 B) Src. Addr (6 B) Type=IP (2 B) Ver/HLen/Tos/Len (4 B) ID/Flags/Frag. Off (4 B) TTL (1 B) Protocol = IP (1 B) Hdr Cksum (2 B) Dst Addr (4 B) Src Addr (4 B) IP Options (0 -40 B) Ver/HLen/Tos/Len (4 B) ID/Flags/Frag. Off (4 B) TTL (1 B) Protocol = UDP (1 B) Hdr Cksum (2 B) Dst Addr (4 B) Src Addr (4 B) IP Options (0 -40 B) Src Port (2 B) Dst Port (2 B) UDP length (2 B) UDP checksum (2 B) UDP Payload (MN Packet) PAD (n. B) CRC (4 B)
UDP Packets Dst. Addr (6 B) Src. Addr (6 B) Type=IP (2 B) Ver/HLen/Tos/Len (4 B) ID/Flags/Frag. Off (4 B) TTL (1 B) Protocol = UDP (1 B) Hdr Cksum (2 B) Dst Addr (4 B) Ethernet Header IP Header Src Addr (4 B) IP Options (0 -40 B) Src Port (2 B) Dst Port (2 B) UDP length (2 B) UDP checksum (2 B) UDP Payload PAD (n. B) CRC (4 B) 9 - JST/JDD/FK - 1/12/2022 UDP Header MR Packet
LC n LC: » New Substrate Link type: Routed IPv 4 n This is a configured SL Type. Ø n Ingress Ø Ø n That is, the LC is told this is the one and only SL Type it supports Lookup Key: – SL Type (4 b): Routed IPv 4 – IP Dst. Addr (32 b): make sure it is for us – IP Protocol (8 b): should be UDP – UDP Port # (16 b): directs traffic to CP, GPE or NPE Result: – Ethernet DA(8 b) – VLAN (12 b) – QID (20 b) – Port(4 b) Egress Ø Ø Lookup Key: – IP Src. Addr (32 b): make sure it looks like it is from us – IP Protocol (8 b): should be UDP – UDP Port # (16 b): traffic from CP, GPE or NPE Result: – Ethernet DA(48 b): Next hop Ethernet Address (probably one of our routers? ) – QID (20 b) – Port(4 b) 10 - JST/JDD/FK - 1/12/2022
IPv 4 MR n Rx: No change n Demux: » Process external IP Hdr n Hdr Checksum? » Give IP SA and IP DPort to Parse as Rx. MI » Consume external IP Hdr n 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. n Local DPort used for Exception packets n n Lookup » Lookup Key: same as before? » Lookup Result: n IP Dst Addr: Next hop IP addr 11 - JST/JDD/FK - 1/12/2022
IPv 4 MR n Hdr Format » Configured with n n Ethernet DA of LC Ethernet SA of self Ethertype fields are 802. 1 Q and IP VLAN for IPv 4 MR » Rewrite Ethernet Hdr to send pkt to LC » Write External IP Hdr n n n 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 n n QM: n Tx UDP Port numbers. UDP Length UDP checksum? » No change unless we have the switch blade? » No change? 12 - JST/JDD/FK - 1/12/2022
Extra n The next set of slides are for templates or extra information if needed 13 - JST/JDD/FK - 1/12/2022
Text Slide Template 14 - JST/JDD/FK - 1/12/2022
Image Slide Template 15 - JST/JDD/FK - 1/12/2022
OLD n The rest of these are old slides that should be deleted at some point. 16 - JST/JDD/FK - 1/12/2022
- Slides: 16