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 Ethernet and ARP specifications – General standards – ATM AAL5 and Ethernet Frame Formats – Ethernet Addressing – The Address Resolution Protocol • Routing in the MSR • GigE Interface protocol processing requirements – packet processing – ARP Washington Fred Kuhns - 6/19/2002 2 WASHINGTON UNIVERSITY IN ST LOUIS
Ethernet Forwarding Scenario 1 Packet arrives with IP: 192.163.204.2 IP: 192.163.204.3 IP: 192.163.150.3 destination host on local Destination Addr: MAC: 08:00:20:7C:E3:25 MAC: 08:00:20:7C:F2:45 MAC: 08:00:20:54:6C:4A network. Output port must 192.168.204.2 Host Host Host IP hdr map destination IP address P3 data to MAC address. Ethernet Ethernet MSR P1 Switch Switch Port 1: P0 Use the Address Resolution IP: 192.163.204.2 P1 Router Host MAC: 00:00:5E:04:00:01 Protocol to Map 192.168.204.2 Port 0: IP: 192.163.150.2 to 08:00:20:7C:E3:25. IP: 192.163.204.4 MAC: 00:40:33:A3:4C:04 MAC: 00:01:03:7C:23:03 Encapsulation datagram in Port 1: IP: 192.163.150.1 Ethernet frame and send. MAC: 00:01:03:7C:56:34 Washington Fred Kuhns - 6/19/2002 3 WASHINGTON UNIVERSITY IN ST LOUIS
Ethernet Forwarding Scenario 2 Next hop router IP address Packet arrives with must be used in the ARP IP: 192.163.204.2 IP: 192.163.204.3 IP: 192.163.150.3 destination host NOT on Destination Addr: MAC: 08:00:20:7C:E3:25 MAC: 08:00:20:7C:F2:45 MAC: 08:00:20:54:6C:4A request: Map 192.168.204.4 to locally attached network. 192.168.150.2 Host Host Host IP hdr 00:01:03:7C:23:03. Output port must send to P3 Forwards to final data Encapsulate datagram in the next hop router. destination host Ethernet frame and send. Ethernet Ethernet MSR P1 Switch Switch Port 1: P0 IP: 192.163.204.2 P1 Router Host MAC: 00:00:5E:04:00:01 Port 0: IP: 192.163.150.2 IP: 192.163.204.4 MAC: 00:40:33:A3:4C:04 MAC: 00:01:03:7C:23:03 Port 1: IP: 192.163.150.1 MAC: 00:01:03:7C:56:34 Washington Fred Kuhns - 6/19/2002 4 WASHINGTON UNIVERSITY IN ST LOUIS
What is required? • To simplify the overall system design, Ethernet specific processing confined to Link Interface • Interface must: – Bridge between ATM and Ethernet networks – Map IP addresses to corresponding Ethernet Addresses: • send ARP requests and maintain an ARP cache – Respond to ARP requests from other hosts • send ARP replies in response to requests • We are not supporting – IEEE 802.1P/Q: VLANS, priorities etc. Washington Fred Kuhns - 6/19/2002 5 WASHINGTON UNIVERSITY IN ST LOUIS
Related Specifications • RFC 1122 - Requirements for Internet Hosts – Must send and receive using RFC-894 - compliant – Should receive RFC-1042 mixed with RFC-894 - we do not – May send using RFC-1042 - we do not – Must use ARP - compliant – Must flush out-of-date ARP cache entries - not compliant – Must prevent ARP floods - we only try once – Should have configurable ARP cache timeout - no – Should save at least one (latest) unresolved (by ARP) packet - no – Must report broadcasts to IP layer - compliant – IP layer Must pass TOS to link layer - via the header – Must Not report no ARP entry as “ destination unreachable ” - compliant Washington Fred Kuhns - 6/19/2002 6 WASHINGTON UNIVERSITY IN ST LOUIS
Related Specifications - continued • RFC-826 : Address Resolution Protocol – Maps <protocol, address> to Ethernet address – Minor differences in suggested algorithm • RFC 1700 : Assigned Numbers - Now an online database – Managed by the Internet Assigned Numbers Authority (IANA) – Ethertype values and IP to ethernet multicast address mapping • RFC-1812 : Requirements for IPv4 Routers – Must not believe ARP reply if contains multicast or broadcast address - not compliant – Must be compliant with RFC 1122 - Partial • Support Ethernet V2 only – RFC 894: IP encapsulation in Ethernet V2 - Supported – RFC 1042: IP encapsulation in 802.3 frames - Not Supported Washington Fred Kuhns - 6/19/2002 7 WASHINGTON UNIVERSITY IN ST LOUIS
IP over ATM (rfc 791 and 2684) Version H- length TOS Total length I P Header I dentif ication f lags Fragment of f set TTL protocol Header checksum Source Address Datagram Destination Address I P Options ?? I P data (transport header and transport data) AAL5 Trailer AAL5 padding (0 - 40 byt es) CPCS- UU (0) CPCS- UU (0) Length (I P packet + LLC/ SNAP) CRC Washington Fred Kuhns - 6/19/2002 8 WASHINGTON UNIVERSITY IN ST LOUIS
Ethernet Frame Format Destination (6 B) Ethernet Header Destination Address cont. Source Address - (6 B) Source Address cont. Ether Type (2 B) Version H- length TOS Total length I dentif ication Flags Fragment of f set Header IP TTL Protocol I P Header checksum I P Source Address I P Destination Address Datagram Transport Header IP Washington Fred Kuhns - 6/19/2002 9 WASHINGTON UNIVERSITY IN ST LOUIS
IP Encapsulation in Ethernet Frames • Ethernet frame size: 64 - 1518 Bytes • if type ≤ 1500, then IEEE frame, otherwise Ethernet V2. Ethernet Encapsulation, RFC 894 - Support Pad type dst address (6) src address (6) Data (46-1500) FCS (4) (0-46) 0800 IEEE 803.2/802.2 encapsulation, RFC 1042 - Do Not Support 802.2 LLC/SNAP len Pad dst address (6) src address (6) Data (38 - 1492) FCS (4) (2) (0-46) 0 ≤ ≤ len ≤ ≤ 1500 ≤ ≤ ≤ ≤ 802.2 LLC 802.2 SNAP DSAP SSAP ctl Org Code type AA AA 03 00 0800 Washington Fred Kuhns - 6/19/2002 10 WASHINGTON UNIVERSITY IN ST LOUIS
Ethernet Assigned Numbers • RFC1700 obsoleted by online database at IANA: – http://www.iana.org/assignments/ethernet-numbers • Ethernet Address - 6 octets: – 3 high-order octets = Organizationally Unique Identifier ( OUI ) – 3 low-order octets = the interface number • Multicast bit = lsb of the MSB (xxxx xxx1) – first byte odd => multicast or broadcast – first byte even => unicast address – multicast address = (( OUI | 0x0100) << 24) & Group_ID • Ethernet Broadcast: FF:FF:FF:FF:FF:FF Washington Fred Kuhns - 6/19/2002 11 WASHINGTON UNIVERSITY IN ST LOUIS
IP and Ethernet Multicast • IANA has allocated address block with OUI = 00:00:5E – Used for unicast addresses for ” IETF standard track protocols “ – Half of Multicast addresses reserved for IP, remaining for “ special use ”. Leaves 23 bits for multicast addresses: • 01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF – Could use this block for our interface, see ethernet numbers • IP Multicast – Class D address, 0xE0000000 + 28 Bit Group ID – 224.0.0.0 to 239.255.255.255 (0xE0000000 - 0xEFFFFFFF) • IP to Ethernet Mapping – RFC1112 - Host Extensions for IP Multicasting – Non-unique mapping: 28 bit IP group to 23 bit Ethernet group • 32 IP multicast groups per mapped ethernet multicast address. Washington Fred Kuhns - 6/19/2002 12 WASHINGTON UNIVERSITY IN ST LOUIS
Multicast: IP to Ethernet Mappings • Network Byte Ordering, Internet Standard Bit order: ( Big-Endian ) Multicast Bit Internet Bit 0 24 47 MSB LSB 0000 0001 0000 0000 0101 1110 0xxx xxxx xxxx xxxx xxxx xxxx Block of Ethernet Multicast Address 23 bits 0 8 1110 xxxx xxxx xxxx xxxx xxxx xxxx xxxx msb lsb Class D (Multicast) LSB Not Used in IP-to-Ethernet Mapping Washington Fred Kuhns - 6/19/2002 13 WASHINGTON UNIVERSITY IN ST LOUIS
IP Broadcast • No Direct Impact on GigE Interface • IP Broadcast : default, we will not forward directed broadcasts. – limited versus: • {-1, -1}. Must not be forwarded, Destination address only – Directed broadcast: • {Network-Number, -1}, destination address only. – Subnet Directed Broadcast: • {Network-Number, Subnet-Number, -1} – Directed Broadcast to all subnets: • {Network-Number, -1, -1} Washington Fred Kuhns - 6/19/2002 14 WASHINGTON UNIVERSITY IN ST LOUIS
Unicast - We can use the IANA Block Multicast Bit set to 0 0 23 47 MSB LSB 0000 0000 0000 0000 0101 1110 0000 0100 xxxx xxxx xxxx xxxx IANA Block of Ethernet Addresses 16 bits ARL Interface Number WUARL MAC: 00:00:5E:04:XX:XX Washington Fred Kuhns - 6/19/2002 15 WASHINGTON UNIVERSITY IN ST LOUIS
ARP Frame Destination Address (6B) Source Address (6B) Ether Type (2B) Hardware Address Space (2B) Protocol Address Space (2B) Byte length of Hardware address = 6 (1B) Byte length of Protocol address = 4 (1B) Operation Code 1|2(2B) Hardware Address of Sender (6 B) Protocol Address of Sender (4 B) Hardware Address of Destination (6 B) Protocol Address of Destination (4 B) Washington Fred Kuhns - 6/19/2002 16 WASHINGTON UNIVERSITY IN ST LOUIS
Recommend
More recommend