Washington
WASHINGTON UNIVERSITY IN ST LOUIS
fredk@arl.wustl.edu
Gigabit Ethernet Interface for the MSR
Fred Kuhns Applied Research Laboratory Washington University
- St. Louis Mo.
Gigabit Ethernet Interface for the MSR Fred Kuhns Applied Research - - PowerPoint PPT Presentation
Gigabit Ethernet Interface for the MSR Fred Kuhns Applied Research Laboratory Washington University St. Louis Mo. Washington fredk@arl.wustl.edu WASHINGTON UNIVERSITY IN ST LOUIS Overview Two Example Ethernet Scenarios Relevant
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
fredk@arl.wustl.edu
2
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
3
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
Ethernet Switch Host
IP: 192.163.204.2 MAC: 08:00:20:7C:E3:25
Host
IP: 192.163.204.3 MAC: 08:00:20:7C:F2:45
Router
Port 0: IP: 192.163.204.4 MAC: 00:01:03:7C:23:03 Port 1: IP: 192.163.150.1 MAC: 00:01:03:7C:56:34
Ethernet Switch
Port 1: IP: 192.163.204.2 MAC: 00:00:5E:04:00:01
MSR
P1
Host
IP: 192.163.150.2 MAC: 00:40:33:A3:4C:04
P0 P1
Host
IP: 192.163.150.3 MAC: 08:00:20:54:6C:4A
P3
Destination Addr: 192.168.204.2 IP hdr data
4
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
Ethernet Switch Host
IP: 192.163.204.2 MAC: 08:00:20:7C:E3:25
Host
IP: 192.163.204.3 MAC: 08:00:20:7C:F2:45
Router
Port 0: IP: 192.163.204.4 MAC: 00:01:03:7C:23:03 Port 1: IP: 192.163.150.1 MAC: 00:01:03:7C:56:34
Ethernet Switch
Port 1: IP: 192.163.204.2 MAC: 00:00:5E:04:00:01
MSR
P1
Host
IP: 192.163.150.2 MAC: 00:40:33:A3:4C:04
P0 P1
Host
IP: 192.163.150.3 MAC: 08:00:20:54:6C:4A
P3
Destination Addr: 192.168.150.2 IP hdr data
5
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
6
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
7
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
8
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
I P Header AAL5 Trailer I P Datagram
Fragment of f set Version H- length TOS Total length I dentif ication f lags TTL protocol Header checksum Source Address Destination Address Options ?? I P data (transport header and transport data) AAL5 padding (0 - 40 byt es) CPCS- UU (0) CPCS- UU (0) Length (I P packet + LLC/ SNAP) CRC
9
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
Transport Header Fragment of f set Version H- length TOS Total length I dentif ication Flags TTL Protocol I P Header checksum I P Source Address I P Destination Address Destination Address cont. Destination (6 B) Source Address cont. Source Address - (6 B) Ether Type (2 B) IP Header Ethernet Header IP Datagram
10
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
FCS (4) Data (46-1500) type 0800 src address (6) dst address (6) len (2) src address (6) dst address (6) FCS (4) Data (38 - 1492) DSAP AA SSAP AA ctl 03 Org Code 00 type 0800 802.2 LLC 802.2 SNAP 802.2 LLC/SNAP
0 ≤ ≤ ≤ ≤ len ≤ ≤ ≤ ≤ 1500
Pad (0-46) Pad (0-46)
11
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
12
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
13
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
47 24
Multicast Bit Internet Bit
MSB LSB lsb msb
Class D (Multicast) Not Used in IP-to-Ethernet Mapping Block of Ethernet Multicast Address
8 LSB 23 bits
14
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
15
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
47 23
MSB LSB
IANA Block of Ethernet Addresses
16
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
17
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
type 806 src address <eth-A> dst address ff:ff:ff:ff:ff:ff FCS xx has 1 pas 0800 hl 6 pl 4
01 sha <eth-A> spa <ip-A> tha <??> tpa <ip-B> type 806 src address <eth-B> dst address <eth-A> FCS xx has 1 pas 800 hl 6 pl 4
02 sha <eth-B> spa <ip-B> tha <eth-A> tpa <ip-A>
Host B Eth <eth-B> Reply (02) Request (01) Host A Eth <eth-B> Host A IP <ip-A> Host B IP <ip-A>
Ethernet Header (14 B)
pad pad
ARP Message (28 Bytes for Request or Reply) Ethernet Data - Pad with zeros to 46 Bytes FCS (4B) Ethernet Frame with ARP Request/Reply - 64 Bytes
18 Byte Pad
18
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
SPC
shim update shim demux
40 ... 47 (out port +40)
40 ... 47 (in port + 40)
From previous hop router
add shim rem shim FIPL shim proc.
FPX FPX SPC
shim demux shim update
Outbound VC = SPI + 50 0 <= SPI<= 3
Link Interface Link Interface
IP eval: IP processing for FPX.
destination address
Current VCI Support: 1) 8 Ports (PN) 2) 4 sub-ports (SP)
FIPL IP proc plugins
GiGE interface will use all four Sub-Port identifier (i.e. four VCI values) GiGE Interface will
value (currently = 50)
FPX_VCI FPX_VCI
FIPL IP proc plugins
19
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
20
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
Control Processor Switch Fabric
Output Port Proc. Flow/Route Lookup
Flow Lookup Input Port Proc. Flow/Route Lookup
Flow Lookup
SPC SPC
IP hdr data
IP hdr data (4, 0)
IP hdr data
IP hdr data IP hdr data (4, 0)
21
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
22
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
ARP Table (Simplified)
MAC IP IP1 MAC1 IPM MACM ... ...
Pkt VC = 50 Endsystem, Broadcast
if VC != 50, Lookup VC in VIN table returns IP used for ARP lookup Send to pkt->dst if bcast or mcast map to eaddr else unicast resolve w/ARP
IP Header data
AAL5 trailer
IP Header data Ethernet
Add Ethernet header using the derived destination address and our corresponding source address. Software creates VIN table at boot time by writing to interface.
To a next hop router NH #0 = Base + 1 = 51 NH #1 = Base + 2 = 52 NH #2 = Base + 3 = 53
VIN Table (Simplified) Map multicast
ethernet address If ARP table lookup fails, send ARP request to broadcast address, drop packet. No retries are made. No ARP entry aging!
2 NhIP2 Entry NhIP 1 NhIP1 NhIP0
23
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
Base VC
if ( An ARP packet) update Mapping in ARP table if not for us then drop if (ARP Request) swap source and target info set operation to Reply set ether header send reply else if (An IPv4 packet) remove ethernet “stuff” add AAL5 trailer/padding send on default Base VC else drop packet
IP Header data
AAL5 trailer
IP Header data Ethernet ARP Ethernet
ARP Table (Simplified)
MAC IP IP1 MAC1 IPM MACM ... ...
24
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
For example, packet received on VCI = 53, Index = 53 - 50 - 1 = 2
25
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
– Assume a prefix length of at least 24 bits, leaves 8 bits for the host – An interface can have at most 3 unique IP addresses
Prefix Mask Local IP Address Next Hop IP Address Mask0 MyIP0 NH0 Mask1 MyIP1 NH1 Mask2 MyIP2 NH2 Entry Number 1 2 Ethernet IP IP0,0 ... ... IP0,255 Ether0,255 Ether0,0 IP1,0 ... ... IP1,255 Ether1,255 Ether1,0 IP2,0 ... ... IP2,255 Ether2,255 Ether2,0
Net 0 = Mask0 & MyIP0 Net 1 = Mask1 & MyIP1 Net 2 = Mask2 & MyIP2
26
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
‘get next packet’: // received frame from ATM interface if (RX_VC == Base_VC) ipdst = ip->dst_addr; else ipdst = VIN_Table[RX_VC- Base_VC - 1].NextHop // ipdst == IP Address of host we must send packet to // determine network, Using the VIN table for (i = 0; i < 3; i++) { // i corresponds to the Network Number (0 - 2) if ((ipdst & Maski) == (MyIPi & Maski)) { index = (i << 8) | ((ipdst & ~Maski) & 0xffffff00) break; } if i == 3 ; drop packet, goto get next packet // lookup in ARP table if (ArpTable[index].EtherAddress != 00:00:00:00:00:00) { construct ethernet frame send packet goto ‘get next packet’ } else { send ARP Request for ipdst drop packet, goto ‘get next packet’}
VIN Table
Ethernet IP IP0,0 ... ... IP0,255 Ether0,255 Ether0,0 IP1,0 ... ... IP1,255 Ether1,255 Ether1,0 IP2,0 ... ... IP2,255 Ether2,255 Ether2,0
index
Prefix Mask Local IP Address Next Hop IP Address Mask0 MyIP0 NH0 Mask1 MyIP1 NH1 Mask2 MyIP2 NH2 Entry Number 1 2 don’t need to store IP address
27
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002
28
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Fred Kuhns - 6/19/2002