Title: Routing Protocol Implementation
1Routing Protocol Implementation
2Background
- Many different protocols proposed
- Just few demonstrated in practice
- Reasons
- are too complex
- need the computation of parameters that are not
readily available in practical systems
3ABR (Associativity Based Routing)
- Self-organizing
- On-demand
- Source-initiated routing protocol
- Can be implemented using COS hardware and new
innovative software
4System Components
- IBM, Compaq laptops running Linux
- Lucent Technologies WaveLAN Wireless PCMCIA
adapters - TCP/IP/Ethernet protocol suite on Linux, enhanced
with the ABR protocol to support ad hoc wireless
networking
5Linux
- A variant of UNIX for x86 PC
- Capable of multi-tasking and multi-user operation
- Allows many users to have access to the same
machine, running multiple processes at the same
time - Includes
- Most of the required development softwares
(compilers, libraries, tools, etc.) - A convenient UNIX and X window system
environment - A full suite of TCP/IP networking software
- Open architecture allows easy incorporation of
the ABR protocol into TCP/IP - Its widespread use has resulted in easy
availability of audio, video and network device
drivers for use in various experiments
6Laptops
- An Intel Mobile Pentium II processors
- 32 MB of memory
- 2.5 inch 5.1 GB of hard disk drive
- An active 13.3 inch TFT color display with 1024
by 768 resolution - A standard I/O interfaces (serial, parallel, USB,
diskette, keyboard/mouse, docking interface,
audio I/O, external monitor connector) - An internal 56K modem
- Two Type I/II PCMCIA card slots
7Radio Adapters
- 2.4 GHz WaveLAN PCMCIA cards by Lucent
Technologies - Implements CSMA/CA media access protocol
- A fast and reliable solution for wireless
last-hop access to services residing in the wired
networks - Only wireless adapters are used to provide
point-to-point and multihop wireless
connectivity, without using base stations
8Data Specification for WaveLAN PCMCIA Adapter
- Data Communications Performance
- Data rate 2 Mbps
- Media Access Ethernet CSMA/CA
- Bit Error Rate Better than 10-8
9RF Specification of WaveLAN PCMCIA adapter
DQPSK Differential Quadrature Phase Shift Keying
10ABR Protocol Implementation on Linux
- Software Layering Architecture
- Implementing ABR Packet Headers and Beaconing
- Implementing ABR Outflow and Inflow
- Implementing ABR Routing Functions
11Software Layering Architecture
- ABR is a sublayer between the IP and Ethernet MAC
layers - Packets are able to bypass the ABR module
- Ability to handle both non-ABR and ABR traffic,
both wired and wireless
12The Software Architecture of TCP/UDP/IP/ABR
protocol Implementation
13The Principles of Packet Relaying in ABR Protocol
14Implementing ABR Packet Headers
- ABR packet headers can be divided into two
components - The base header (the common header)
- The type-specific header
- Every packet has the same base header but a
different type-specific header - The types are BQ, LQ, RD or RN
15ABR Base Header Format
16Implementing ABR Packet Beaconing
- Supporting the associativity ticks within the ABR
sublayer - Processed separately from the regular ABR traffic
flow of control and data packets - Each node will transmit a beacon periodically
- Whenever a node receives a beacon, the
associativity tick counter corresponding to that
neighbor is incremented
17Implementing ABR Outflow
- Outflow source sends data to a receiver
- ABR needs to trap output from the IP to the
device driver to process packets - ABR software checks to see if destination is an
ABR host - If it isnt, packet proceeds as normal
- If it is, software redoes the MAC header and
inserts an ABR header between the Ethernet MAC
and IP headers
18Implementing ABR Inflow
- Inflow packet arrives at an ABR host
- Each packet is registered with an ABR packet type
- When these packets arrive, they are passed up the
protocol stack - ABR control packets are processed in the ABR
sublayer - Data packets have the ABR header stripped and
passed up to the IP layer for further processing - ABR sublayer appears transparent to IP and higher
layers for data packets - Enables ABR to support TCP/IPbased applications
19The ABR Route Discovery Protocol State Machine
20The ABR Route Reconstruction Protocol State
Machine
21The ABR Route Delete Protocol State Machine
22Experimentation and Protocol Performance
- Experimental setup of an ad hoc mobile network in
office - Control Packet Overhead
- Route Discovery Time
- End-to-End Delay
- Data Throughput
- Effects of Beaconing on Battery Life
23Experimental setup of an ad hoc mobile network
in office
24Control Packet Overhead
- An IP header is 20 bytes (assuming no IP options)
- An ABR data packet is 24 bytes
- Ethernet maximum transfer unit (MTU), minus MAC
header, is 1500 bytes - The packet overhead of ABR is (2420)/1500 2.9
- The packet overhead of IP is 20/1500 1.3
- ABR basically replaces IP to support ad hoc
routing gt the IP header is not necessary - IP header is replaced with ABR gt total overhead
is 24/15001.6 - IP is retained so that ad hoc routing is
transparent to existing TCP/UDP/IP based
applications
25Route Discovery Time
- Three different test scenarios in an indoor
environment - Hop count ranged from one to three
- The Ping application was used to initiate sending
data from one ABR host to another - From the time when a BQ packet is sent by the SRC
until the time when a route is added to the
routing table - In each case, the route discovery process is
performed 100 times - Route discovery time accounts for the entire
round-trip time (RTT) from SRC to DEST
26Route Discovery Time
27End-to-End Delay
- Data sent 100 times, RTTs are recorded
- The ping packet size is gradually increased,
default is 64 bytes - For every ping packet received at the DEST, a
ping status packet was returned to the SRC,
revealing the RTT - The end-to-end delay is one-half the RTT
28Data Throughput
- The average throughput is calculated by dividing
the packet size by the average end-to-end delay - The actual throughput is calculated by dividing
the total number of bytes received by the total
end-to-end delay
29Effects of Beaconing on Battery Life
- Periodic beaconing of mobile hosts is used to
gather associativity information - Laptops used had several power management
features - Standby mode
- Suspend mode
- Hibernation mode
- The beaconing interval on the mobile hosts was
varied and their battery life was noted at
regular periods - Increasing the beaconing frequency did not result
in the significant reduction of battery life
30Conclusions (1)
- Route discovery occurs at the ABR sublayer
- Data packets originate up at the application
layer - A few milliseconds of processing time as the
packets traverse the protocol stack - Route discovery is order of a few milliseconds,
shorter than the data round trip time - The throughput performance for multi-hop routes
is satisfactory can support many existing
applications
31Conclusions (2)
- The RRC times indicate partial RRC can be
established quickly - ABR is scalable
- The route discovery time for one hop is about 6.5
ms gt discovering a 10-hop route takes less than
a second - Increasing the beaconing interval does not
significantly change the battery life when power
management is turned on - Implementing ABR to support multi-hop networking
is both feasible and practical
32Summary
- Implementation is straightforward with
- COS hardware
- communication software
- Only minor modifications has to be made to
TCP/UDP/IP/Ethernet stack - to accommodate the ABR sublayer to support ad
hoc wireless networking - Software architecture is capable of supporting
existing UDP/TCP/IP based applications - The real challenges are
- to decide where the ABR sublayer should be
- how to interface it with the existing IP and
Ethernet layers
33Questions(1)
- Toh ?? ?7??? ??? SPEC? ????, 3-hop ?? ??? 100 MB
??? ???? ??? ?? ?? ???? - ?? SPEC? ???? ????
- ??
- NOTE ???? SRC?? DEST? ???? ??.
34Questions(2)
- ????? ??? ??? ?? ??? ??? ? ? ?? ??? ????.