OMNET++ Mixnet Framework Yuping Dong 12/14/10 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: 802.11NIC and mobility 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 Prerequisites • inet4mixnet http://github.com/mixim/inet4mixnet • MiXiM-2.0.1 sourceforge.net/projects/mixim Mixnet Modules • MixnetBridge – Connects INET network layer with MiXiM NIC • MixnetWorldUtility – Mapping between INET and MiXiM MAC addresses – Blackboard 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 Mixnet WorldUtility • Extends blackboard functionality – Cross-layer info exchange – publisher -publish(BBItem)-> Blackboard notify(BBItem)--> subscriber – Playground size, shape, dimension, etc. – Check connection manager Mixnet Nodes • IEEE802.11 nodes • IEEE802.15.4 nodes IEEE 802.11 Nodes IEEE 802.15.4 Nodes 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 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: • IEEE802.11 hosts 4-Stage Initialization • Stage 0 – WorldUtility: get pg size – Register interfaces in InterfaceTable – MixnetBridge: • Map input output gates • Register MAC address pair – RoutingTable: • NF status 4-Stage Initialization • Stage 1 – RoutingTable: • Create per-interface IPv4 data structures • Read RoutingTable file & interface configuration • Set RouterId – WorldUtility: check connection manager 4-Stage Initialization • Stage 2 – 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 4-Stage Initialization • Stage 3 – RoutingTable: • Configure RouterId • Update routes Interface Table • Table of network interfaces • Protocol-independent properties only RoutingTable • RouterId empty for hosts • Loopback address as RouterId for routers Research Robots • SumoBot • iRobot 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 iRobot Create • USB communication • Can store 100 open interface commands • 30 built-in sensors • 25 pin expansion port • C++ programming • $219.99 each • Possible to wire the previous RF transceiver to iRobot Create • Can add parts to the slot