'ODTONE - Open Dot Twenty One'

PrevUpHomeNext

ODTONE-MIHF

Getting Started
MIHF Internal Architecture

MIHF is a logical entity that allows the optimization and facilitates handover decisions. MIH-Users make handover decisions based on inputs from the MIHF. It provides abstracted services to higher layers. The MIHF communicates with the lower layers of the mobility-management protocol stack through technology-specific interfaces. In other words, the MIHF is a management entity that obtains link-layer information from lower layers of different protocol stacks and also from other remote nodes and it provides them to the upper layers. The MIHF coordinates handover decision with other peer MIHF in the network.

The MIH Protocol provides capability for transferring MIH Messages between peer MIHF entities at L2 or at L3. These messages transfer information about different available networks and also provide network switching and handover capability across different networks. All exchanges between the MIHF and other functional entities occur through service primitives, grouped in service access points (SAPs).

The MIHF can be configured based on a set of parameters, which can be configured either using an configuration file or passing them directly in the command line. The available configurable parameters are presented next:

MIHF Configuration Options:
   --help                                Display configuration options
   --conf.file arg (=odtone.conf)        Configuration file
   --conf.recv_buff_len arg (=4096)      Receive buffer length
   --mihf.id arg (=mihf)                 MIHF ID
   --mihf.ip arg (=127.0.0.1)            MIHF IP
   --mihf.remote_port arg (=4551)        Remote MIHF communication port
   --mihf.local_port arg (=1025)         Local SAPs communication port
   --mihf.peers arg                      List of peer MIHFs
   --mihf.users arg                      List of local MIH-Users
   --mihf.links arg                      List of local Links SAPs
   --mihf.transport arg (=udp, tcp)      List of supported transport protocols
   --mihf.link_response_time arg (=3000) Link SAP response time (milliseconds)
   --mihf.link_delete arg (=2)           Link SAP response fails to forget
   --mihf.discover arg                   MIHF Discovery Mechanisms Order
   --enable_broadcast                    Allows broadcast messages
   --enable_unsolicited                  Allows unsolicited discovery
   --log arg (=1)                        Log level [0-4]

[Note] Note

All configurable parameters are self-explained and, therefore, we will only mention those that are more complex to configure.

List of peer MIHFs: Comma separated list of remote MIHF's.

Usage: mihf.peers = <mihf id> <ip> <port> <list of supported transport protocols>, ...

List of local MIH-Users: Comma separated list of local MIH User SAP.

Usage: mihf.users = <user sap id> <port> [<supported commands> <supported queries>], ...

List of local Link SAPs: Comma separated list of local MIH Link SAPs.

Usage: mihf.links = <link sap id> <port> <techonoly type> <interface>, ...

List of suppoted transport protocols: Comma separed list of the transport protocols available. For now UDP and TCP protocols are supported.

Usage: mihf.transport = <udp/tcp>, ...

Example

The ODTONE-MIHF allows you to statically configure the peer MIHFs by providing some information such as MIHF's IP addresses, port and supported transport protocols. Edit the ODTONE-MIHF configuration file and add an entry to peers MIHFs in the form:

<mihf_id> <ip> <port> <list of supported transport protocols>

The ODTONE-MIHF configuration file can look like:

[mihf]
id = mihf1
local_port = 1025
remote_port = 4551
peers = mihf2 192.168.0.1 4551 udp
transport = udp

The ODTONE-MIHF must be executed passing directly, in command line, the location of the configuration file.

E.g.: ./odtone-mihf --conf.file=./src/mihf/odtone.conf

Components

The ODTONE's MIHF implements the three core MIH services, each containing a set of logical components. The MIES module allows the MIHF to verify if the received event messages are formatted according to the standard, which MIH-Users have subscribed the events and, if applicable, to forward the message to the subscribed MIH-Users. These represent, respectively, the roles of the Event validator, Event subscriber and Event publisher modules. The MICS module also provides a way to validate the received message and to forward them to its destination, operations that are in charge of the Command validator and Command publisher modules. The definition of the IS is out of the scope of the standard. In ODTONE, the IS acts as a MIH-User and therefore, the MIIS module is responsible to forward the messages to the IS registered with the MIHF or, if is that the case, forward the response message to the requestor.

The previously mentioned modules allow the MIHF to provide the basic features of the MIH protocol. Additionally, the ODTONE's MIHF architecture has other components which allow not only to implement the remaining features of the MIH protocol but also to add robustness to the MIHF:

  • Service Manager: this module is responsible for the management of the MIH Capability Discover messages, which provide information about the services supported by an MIH peer.
  • Communication handler: collects the messages received from different SAPs or peer MIHFs entities and forwards them to the Service Access Controller module.
  • Service access controller: responsible for analyzing the header of the MIH messages and to forward them to the respective MIH service. The decision is based on the MIH message identifier and the registered callbacks.
  • Link manager: stores the information about the available Link SAPs.
  • MIH-User manager: provides the MIHF with information about the registered MIH-Users.
  • Peer MIHF manager: provides the MIHF with the transport information and the capabilities of the peer MIHFs.
  • Transaction state machine controller: keeps the state of each remote transaction with peer MIHF entities. It is responsible, if applicable, for sending the acknowledge messages and to detect the reception of duplicates messages.

PrevUpHomeNext