Presentation is loading. Please wait.

Presentation is loading. Please wait.

OMNET++ Mixnet Framework

Similar presentations


Presentation on theme: "OMNET++ Mixnet Framework"— Presentation transcript:

1 OMNET++ Mixnet Framework
Yuping Dong 12/14/10

2 What is Mixnet and Why? INET: wired and wireless protocols
MiXiM: mobile and fixed wireless networks Mixnet: using both MiXiM and INET INET: Network layer and above MiXiM: NIC and mobility The INET Framework contains models for several wired and wireless networking protocols, including UDP, TCP, IP, IPv6, Ethernet, , and many others. MiXiM is created for mobile and fixed wireless networks (wireless sensor networks, body area networks, ad-hoc networks, etc.). It offers detailed models of radio wave propagation, interference estimation, radio transceiver power consumption and wireless MAC protocols (e.g. Zigbee). Since MiXiM concentrates on providing very detailed models of wireless network interface cards it does not provide very sophisticated upper layers (network layer, application layer, etc.). Fortunately these are the layers for which the INET framework provides a lot of very detailed modules. So the idea of Mixnet is to bring INET and MiXiM together to be able to use the wireless NICs from MiXiM together with the upper network stack from INET.

3 What Mixnet can(not) do?
MiXiM NIC with INET IP stack INET APP MiXiM mobility modules INET non-wireless NICs Both blackboard modules INET wireless modules Exchange info between both blackboards INET calls it NotificationBoard. Much simpler than blackboard. It only relays events, not storing anything on the blackboard. you can NOT yet exchange information between the blackboard modules of both frameworks

4 Prerequisites inet4mixnet http://github.com/mixim/inet4mixnet
MiXiM sourceforge.net/projects/mixim Inet4mixnet is just a branch of INET framework. It gets rid of INET’s wireless related modules.

5 Mixnet Modules MixnetBridge MixnetWorldUtility
Connects INET network layer with MiXiM NIC MixnetWorldUtility Mapping between INET and MiXiM MAC addresses Blackboard Both are INET<->MiXiM compatible classes. Mapping an INET’s MAC address for a NIC with a MiXiM’s MAC address for the same NIC.

6 MixnetBridge Registers NIC in INET’s ift
Converts INET control info to MiXiM control info Forwards lower msg Converts MAC addresses between INET and MiXiM Stores MAC address pairs to MixnetWorldUtility MixnetBridge’s lower gates connect to MiXiM NICs, and its upper gates are connected to INET network layer. It registers the NIC connected to its lowerGateOut in INETs interface table. It removes control info from INET network layer and converts it to MiXiM control info. It adds INET MiXiM MAC address pairs to MixnetWorldUtility (blackboard). It can convert INET destination address to MiXiM destination address.

7 Mixnet WorldUtility Extends blackboard functionality
Cross-layer info exchange publisher -publish(BBItem)-> Blackboard -notify(BBItem)--> subscriber Playground size, shape, dimension, etc. Check connection manager

8 Mixnet Nodes IEEE802.11 nodes IEEE802.15.4 nodes
These hosts are examples on how a host with INET network stack can be equipped with mobility- and wireless-modules from MiXiM.

9 IEEE Nodes It contains an INET network stack and a MiXiM NIC (connected by the MixnetBridge module) as well as a mobility-module from MiXiM. Modules notify each other about event changing by using NotificationBoard. Routing table changes, interface status changes, wireless handovers, etc. NotificationBoard for INET Utility which uses BlackBoard for MiXiM Cannot exchange info between each other.

10 IEEE Nodes a MiXiM NIC, a battery module from MiXiM which is used by the NIC.

11 Network Layer IP: Implements IP protocol ICMP:
Relies on IP to send error msg, query msg. ping tool, traceroute. IGMP: Establish multicast group memebership ARP: Converts IP address to MAC address ErrorHandling: Error notification from other modules To send packets over IP, the module should attach an IPControlInfo to the packet, then send it. IP maps different protocols to its gate indice when delivering packets to higher layer. Internet Control Message Protocol sends error msgs, can also be used to relay query msgs. Internet Group Management Protocol, used by hosts and adjacent routers to establish multicast group membership. ICMP for unicast communication, IGMP for multicast. Address Resolution Protocol for IPv4 and IEEE byte MAC address. ARP used over broadcast interfaces only. Check interface table isBroadcast() flag. Error handling handles error notifications that arrive from other protocol modules.

12 Mixnet Example: Ad Hoc Network
ConnectionManager: Coordinates connection between all nodes. Calculates max interference distance. World: Map INET MiXiM MAC address Get PG size Check connection manager Configurator: Configure IP addresses and routing tables. Host: IEEE hosts Configurator only run once at initialization Assign IP addresses to hosts and routers. All hosts and routers in the same network. Assign same address to all interfaces of a router. Discover network topology and calculate shortest paths. Add shortest paths to the routing tables.

13 4-Stage Initialization
WorldUtility: get pg size Register interfaces in InterfaceTable MixnetBridge: Map input output gates Register MAC address pair RoutingTable: NF status Input gates to upper layer modules. Output gates to lower layer modules. Register INET<->MiXiM MAC address pairs with MixnetWorldUtility module.

14 4-Stage Initialization
RoutingTable: Create per-interface IPv4 data structures Read RoutingTable file & interface configuration Set RouterId WorldUtility: check connection manager Set data rate, IP address, Netmask, etc.

15 4-Stage Initialization
Configurator: Configures IP addresses and routing tables for a flat network Assign IP addresses to hosts & routers Calculate shortest paths Add routes to routing tables "flat" means that all hosts and routers will have the same network address. Configurator runs only once at the beginning of simulation. Same address for all interfaces of a router. Discover network topology and calculate shortest paths for each node and add routes to routing tables.

16 4-Stage Initialization
RoutingTable: Configure RouterId Update routes Choose highest interface address as routerId.

17 Interface Table Table of network interfaces
Protocol-independent properties only Keeps the table of network interfaces, modules are registered with interfaces in initialization stage 0. This table only contains protocol-independent properties of interfaces. IP or IPv6 specific per-interface data (address etc) are kept in routing table and routing table6.

18 RoutingTable RouterId empty for hosts
Loopback address as RouterId for routers For hosts, routerId should be empty. For routers, which have a routerId set, the loopback address be set to routerId. When RouterId is set to “auto”, the highest interface address will be chosen as routerId.

19 Research Robots SumoBot iRobot

20 SumoBot Two SumoBot Robots wrestling. BASIC Stamp microcontroller
Line sensors detect border IR sensors detect opponent’s position Breadboard on top, can extend apps RS232 to communicate with host Compatible RF transceiver, plug to breadboard $239.99/set + $39.99/transceiver

21 iRobot Create USB communication Can store 100 open interface commands
30 built-in sensors 25 pin expansion port C++ programming $ each Possible to wire the previous RF transceiver to iRobot Create Can add parts to the slot


Download ppt "OMNET++ Mixnet Framework"

Similar presentations


Ads by Google