Bluetooth Network Service
Description
The Bluetooth network service provides an interface to setup Bluetooth Personal Area Networks (PAN) that support common networking protocols such as IPv4, IPv6, IPX, and other
existing or emerging networking protocols. Completely un-modified Ethernet payloads can be transmitted using the Bluetooth Network Encapsulation Protocol (BNEP) to exchange packets between Bluetooth devices.
Bluetooth Network API
The most up-to-date version of the currently implemented network service D-Bus API can be found in network/network-api.txt (bluez-utils source tree).
PAN user (PANU)
Client of a NAP or client-type member of a GN (see below)
Group ad-hoc Network (GN) controller
Forwarding node in a peer-to-peer style network (Bluetooth Piconet). Interconnects up to 7 (active) PANUs to a real peer-to-peer network.
Network Access Point (NAP)
Acts as proxy, router or bridge between an existing network infrastructure (typically LAN) and (up to 7 active) wireless clients (PANUs).
Topology
Infrastructured network normally has a NAP server that can router packages to another network.
(1)Be aware that the current implementation does not router when enabling a NAP server.
Ad hoc network also connects multiples PANU clients with GN server.
Both topologies made possible to interact with any node as in a LAN environment.
Network Objects
bluez/utils/network
manager.c -- contains the methods to create new Server/Connection objects. connection.c -- contains the functions to retrieve the NAP/GN properties and control the connections. server.c -- contains the functions to manage the server properties bridge.c -- contains the functions to enable routing between PANUs and from the NAP/GN to other network(Internet, Local, ...) common.c -- TBD
Service File
The service file defines some service properties. When the BlueZ daemon starts all services(.service) files under "/etc/bluetooth" are loaded.
Network service file(network.service) example:
[Bluetooth Service] Identifier=network Name=Network service Description=Bluetooth Personal Area Network service Autostart=false
Configuration File
Configuration file is normally installed in "/etc/bluetooth/network.conf", there it can disable interfaces and configure scripts to be run:
# Configuration file for the network service # This section contains options which are not specific to any # particular interface [General] # If we want to disable support for specific services # Defaults to supporting all implemented services #Disable=Connection,Server # Disable link encryption: default=false #DisableSecurity=true [PANU Role] # Network interface name for PANU for connections. default:bnep%d # (up to 16 characters) #Interface= # PAN user connection interface up script. default:none Script=avahi-autoipd [GN Role] # Network Interface name for Group Network server. default:pan0 #Interface= # Group Network connection interface up script. default:none Script=avahi-autoipd [NAP Role] # Network Interface name for Network Access Point server. default:pan1 #Interface= # Network Access Point connection interface up script. default:none Script=dhclient
Message flow: Connection Creation
Step 1: Device Discovery Procedure must be done before or after the service activation in order to have host information.
Step 2: ActivateService? activates the service and return its unique id.
Step 3: CreateConnection? attempt to create a network connection object if the given host support given uuid.
Step 4: Connect connects to host.
Related Documents
- HOWTO/NetworkConnections Network connections and servers examples
- HOWTO/DiscoveringDevices: Brief description/examples of discovery methods
- HOWTO/DiscoveringServices: Brief description/examples of search/retrieve remote service records
Attachments
- PAN_Topology.png (102.4 kB) -
Network Topology
, added by cktakahasi on 04/19/07 15:54:37. - Network-CreateConnection.png (39.4 kB) -
Network CreateConnection?
, added by cktakahasi on 04/19/07 19:36:43. - NetworkObjects.png (42.2 kB) -
Network Objects
, added by cktakahasi on 12/13/07 13:28:10.


