Title: ROUTING IN BLUETOOTH SCATTERNET
1ROUTING IN BLUETOOTH SCATTERNET
- Supervisor Mr. Gil Zussman.
- Hadar Vorenshtein
- Amit Balderman
2Project Goals
- Establish a physical Bluetooth Scatternet.
- Implement a routing algorithm.
3Overview
- Bluetooth
- BT is a short range radio-technology using a
frequency hopping scheme in the ISM band. - Originally developed as a cable replacement
technology ,enabling people and machines to
interact at short range. And hence can be used to
form a close range wireless network (Personal
Area Network).
4Overview (cont.)
- PAN(Personal Area Network)
- We will divide it into a Piconet and a Scatternet
- Piconet
- Is a collection of up to seven slave devices
operating together with one common master. - All devices on the piconet follow the
frequency hopping sequence and timing of the
master.
5 Scatternet.
- When a number of piconets cover the same area and
reception space and there are some units that are
participating in inter- piconet connections a
Scatternet is formed.
6RIP protocol
- RIP is a distance vector protocol
- Each host that implements RIP is assumed to have
a routing table. - This table has one entry for every destination.
Each entry contains at least the following
information - The address of the destination
- A metric, which represents the total cost of
getting from the host to the destination. - The address of the next gateway
- Various timers
7Working Environment
- Ericsson Rok BT units
- Ericsson multi-point BT units
- Linux RedHat 7.2 (2.4.17 kernel)
- BlueZ 2.0
- Merlin Bluetooth Packet Analyzer.
8Achievements of Part A
- Learning the bluetooth and BlueZ topics
- Setting up the working environment and tools
- Using the L2CAP and HCI for communicating with
the BT units and between the BT units - Writing code for communicating within a piconet
- Transmitting messages from one unit to another
via an intermediate unit and thus establishing a
basic piconet.
9Achievements of Part B
- Learning how to pass any HCI command.
- Establishing a working Scatternet.
- Implementing a simple routing algorithm.
- Setting up a basic network initialization
protocol.
10Main Stages to Solution Part A
- Choosing the working environment
- Building the working environment .
- Establishing a connection between two Ericsson BT
units. - Establishing a connection between two Digianswer
BT units . - Establishing a connection between a Digianswer
unit and an Ericsson unit . - Writing the code.
- Experimenting with the network .
11Main Stages to Solution Part B
- Putting the units into HOLD- using built in
commands. - Putting the units into HOLD- using our own code.
- Analyzing the networks traffic.
- Network experiments.
- Converting Blue_net into a server like structure.
- Implementing a routing algorithm.
- Implementing an initialization mechanism.
12The Scatternet (cont.)
- Our first attempts to create a Scatternet were
based on the common concept that states that a
slave should be put in the HOLD mode in piconet
A, and during the time of the HOLD ,be active in
piconet B. In this way all messages that need to
pass from one piconet to the other would pass
through this slave. - It is commonly accepted that it should be a slave
unit that acts as a relay unit , since putting
a master in HOLD would disrupts the whole
piconets activity.
13The Scatternet (cont.)
- However we discovered that
- Our BT units cannot work properly in the hold
mode. - A multi-point unit can be simultaneously a master
of one piconet and a slave in another.
These discoveries led us to the tree like network
structure, as was described previously.
It is important to emphasize that although we
have a working Scatternet, we still do not
understand how it works, even after several
experiments and analysis (using the packet
analyzer).
14Piconet A
The Scatternet
15The Routing AlgorithmBlue_Net
- This application has three main functions
- Initializing and creating a network based on the
Scatternet implementation that was described in
the previous section. - Running a routing algorithm based on the RIP
protocol - Routing the traffic in the network.
16Blue_Net Structure-Block Diagram.
MAIN
STATION
LOOP
ROUTER_LOOP
ROUTER TIMER LOOP
DO CONNECT
TABLE LOOP
DO LISTEN
17Initialization of the Network.
An example of a start condition when initializing
a network. We assume all slaves have awakened
and master I awakens first (prompted with
gtblue_net m L).
18Initialization is begun ,by master, by first
performing an inquiry routine.
19Initialization of the Network.
Master I created a connection to one slave. Now
master II is prompted by gtblue_net m .
20Initialization of the Network.
Master II created a connection to two slaves and
to the master that is in the C state, master I.
21Initialization of the Network.
This figure shows the tree-like hierarchy that is
created after master III connects to the network.
It is easy to see that master III is the master
of its own piconet and a master of master II,
which is in turn a master of its own piconet and
also a master of master I.
22Routing Table Building Update
Master
Piconet
Inter piconet Communication.
23Routing Table
24 Data Messages
25Layer Model
Application (eg-ftp)
Blue_Net
Network Layer
L2CAP and HCI
Transport Layer Data Link Layer
BlueZ stack.
Bluetooth Hardware.
Physical Layer
26Summary
- A functional Scatternet and inter-piconet
communications have been achieved. - Weve learned a great deal about the Bluetooth
protocol, mechanisms and limitations and how to
interface with hardware in the Linux environment
using BlueZ. - We feel that greater achievements can be made
with better hardware.