SmartARP: Making Gigabit Networks Cheap
Andris Sidorovs, Riga Technical University Janis Lacis, Latnet Karlis Ogsts, Tieto Konts Financial Systems Ltd. Guntis Barzdins, Taide Network AS Janis Dzerins, University of Latvia
Ethernet
Most popular LAN technology nowadays 10Mb/s - 1Gb/s Each host has unique 48bit MAC address (factory assigned) Frames sent to MAC addresses Broadcasts widely used To find destination MAC address, ARP protocol is usedIP: 10.0.0.10
MAC: 00:00:aa:aa:aa:aa
IP: 10.0.0.13
MAC: 00:00:dd:dd:dd:dd
IP: 10.0.0.12
MAC: 00:00:cc:cc:cc:cc
IP: 10.0.0.11
MAC: 00:00:bb:bb:bb:bb
A
D
C
B
Dest
MAC
Source
MAC
Dest IP
Source IP
Data
Ethernet frame
IP packet
ARP: finding the MAC Address
Host A
Host B
ARP Query
ARP Response
Broadcast
Host B
MAC ?
Host B
IP
Host B
MAC
Host B
IP
Unicast
RFC 826: Address Resolution Protocol, 1982
Interconnecting Ethernet LANs
Departmental LANs in University Campus
Requirements
Interconnections must be fast Departmental Novell and MS Windows networks should be isolated Misconfiguration in one department should not disrupt network in another department Easy to configure?
?
?
?
Interconnecting by Routers
Departmental LANs in University Campus
Advantages
Contain broadcasts Filtering possible by protocolDisadvantages
Slow (each packet intensively processed) Complex Expensive (especially for 100Mbps and 1Gbps)Interconnecting by LAN Switches
Departmental LANs in University Campus
Advantages
Fast (wire speed) Cheap Simple to installDisadvantages
Do not scale, because broadcasts are not contained No filtering by protocolInterconnecting by VLANs
Advantages
Single powerful router interconnects many VLANs Cisco Netflow and Routing Switches shortcut trafficDisadvantages
Bottleneck is router Only expensive switches and routers support thatBottleneck
VLAN 1
VLAN 4
VLAN 3
VLAN 2
Interconnecting by SmartARP
Advantages
Contains Broadcasts Effectively stops all protocols Fast (wire speed) Cheap (standard switches used)Disadvantages
Nothing works ... ... unless smartARP usedMAC
Broadcast filter
SmartARP
Server based ARP Transparent to hosts Uses queries instead of broadcasts Easy to configure (stateless) Only one needed per broadcast domain Available for free (runs on Win95 & Linux) Supports 10Mb/s, 100Mb/s, 1Gb/s, ...SmartARP operation
MAC
Broadcast filter
SmartARP
Server
SmartARP
Server
SmartARP
Server
SmartARP
Server
X
Y
1
2
3
4
ARP Query
ARP Reply
Broadcast
Unicast
A
B
D
C
SmartARP configuration
MAC Broadcast filter
SmartARP Server B
SmartARP Server C
SmartARP Server A
SmartARP Server D
Whole network is one big IP subnet 10.1.0.0/16
Workgroups are
assigned smaller continuous ranges of IP addresses
10.1.1.0 -
10.1.1.255
10.1.4.0 -
10.1.4.255
10.1.3.0 -
10.1.3.255
10.1.2.0 -
10.1.2.255
A
C
D
B
SmartARP config file
10.1.1.0 255.255.255.0 local
10.1.2.0 255.255.255.0 forward 00:01:3a:4c:12
10.1.3.0 255.255.255.0 forward 00:73:18:a5:62
10.1.4.0 255.255.255.0 forward 00:0c:63:52:7a
Configuration file of SmartARP server A:
MAC address of smartARP server B
MAC address of smartARP server C
MAC address of smartARP server D
Ranges of IP addresses assigned to workgroups
SmartARP implementation Win95
SmartARP implementation Linux
Source code available Runs on multiple interfaces Can be used with Linux bridge Convenient pre-compiled version: boots from single 1.44MB FDD (no HDD needed) optionally acts as bridge with MAC broadcast filter supports up to six NE2000 PCI compatible 10/100Mbps Ethernet cards 00isco IOS like00interface for easy useAdvanced SmartARP features
10.1.1.0 255.255.255.0 LOCAL
10.1.2.0 255.255.255.0 FORWARD 00:00:00:11:11:11
10.1.7.2 255.255.255.255 CONST 00:00:22:d5:e6:f7
10.1.3.0 255.255.255.0 IP 00:11
10.1.3.1 255.255.255.255 SILENT
10.2.2.0 255.255.255.0 DNS mac.mydomain.com
10.3.3.0 255.255.255.0 PROXY 10.1.1.2
Action
Parameter
IP Address and Mask
Like in routing, IP network number with longest prefix is
preferred when selecting a SmartARP rule to be applied
How to filter broadcasts in switches?
None of configurable Cisco, Bay, 3Com switches has such option (!!!) Use Linux bridge code - modify one line in source code to filter Broadcasts Use any Cisco router as Ethernet bridge:no ip routing
bridge 1 protocol ieee
bridge 1 address ffff.ffff.ffff discard
interface Ethernet0
no ip address
bridge-group 1
interface Ethernet1
no ip address
bridge-group 1
Cheap Scaleable Ethernet: HANE
Hierarchically Addressed Non-broadcast Ethernet
Ethernet without MAC broadcasts 48bit MAC addresses are not factory assigned, but are configurable like IP addresses (32bit IP address can be part of 48bit MAC address) Ethernet switches use prefix based MAC switching tablesHANE is the way to go: it is cheap, fast, scales to global networks, and is compatible with existing networks.
How to change MAC address?
24 bits
24 bits
0000.3c12. 3456
Vendor Code
Serial Number
ROM
RAM
Factory assigned unique MAC address is burned into ROM, but the MAC address actually used by the card is stored in RAM MAC address is configurable in Win95, NT, UNIX, Cisco routers (instructions provided in Full Paper)Interface driver copies MAC address from ROM into RAM by default, if no explicit MAC address is supplied to the driver
Final
More details appear in Full Paper (TNNC009 Conference Proceedings) SmartARP software available at: http://www.ltn.lv/~guntis/smarp/ Contact authors for latest smartARP versions: guntis@taide.net, asid@lmt.lv, janis@latnet.lv, k.ogsts@konts.lv, jonis@mt.lv