24
IEEE 802.11 and wireless simulations in ns2 Jani Hautakorpi

IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

  • Upload
    lelien

  • View
    245

  • Download
    6

Embed Size (px)

Citation preview

Page 1: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

IEEE 802.11 and wireless simulations in ns2

Jani Hautakorpi

Page 2: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 2 / 24

Contents

• Mobile nodes in ns2• IEEE 802.11 in ns2• Wireless simulations in ns2:

– Mobile IP– Hierarchical routing

• Tracing wireless simulations• Summary

Page 3: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 3 / 24

Split nature of mobile nodes in ns2

• Features in C++:– Ability to move (periodic position updates)– Ability to receive and transmit signals to/from wireless

channel

• Features in Otcl:– LL– MAC– Channel– …

Node

MobileNode

Page 4: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 4 / 24

Mobile node implementation in ns2

• C++ files:– ~/ns-2.28/common/mobilenode.cc [605 loc]– ~/ns-2.28/common/mobilenode.h [254 loc]

• Otcl file:– ~/ns-2.28/tcl/lib/ns-mobilenode.tcl [858 loc]

# I don't care about address classifier; it's not my business# All I do is to setup port classifier so we can do broadcast,# and to set up interface stuff.

// XXX Must supply the first parameter in the macro otherwise // msvc is unhappy.

Page 5: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 5 / 24

Schematic of a mobile node

MAC

NetIF

Channel

IFq

LL ARP

RPM

Upper layers(routing protocols etc.)

Page 6: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 6 / 24

Creating a mobile nodeset opt(ahr) DSDV ;# Routing protocolset opt(ll) LL ;# Link layer typeset opt(mac) Mac/802_11 ;# MAC typeset opt(ifq) Queue/Droptail/PriQueue ;# Interface queue typeset opt(phy) Phy/WirelessPhy ;# Network interface typeset opt(ant) Antenna/OmniAntenna ;# Antenna modelset opt(cha) Channel/WirelessChannel ;# Channel type# ...

$ns node-config –adhocRouting $opt(ahr) \-llType $opt(ll) \-macType $opt(mac) \-ifqType $opt(ifq) \-antType $opt(ant) \-phyType $opt(phy) \-channel $opt(cha) \# ...

set foonode [$ns node] ;# Hierarchy info can also be added

Page 7: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 7 / 24

Contents, revisited

• Mobile nodes in ns2• IEEE 802.11 in ns2• Wireless simulations in ns2:

– Mobile IP– Hierarchical routing

• Tracing wireless simulations• Summary

Page 8: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 8 / 24

802.11 in ns2

• 802.11 is a MAC layer protocol in ns2• It’s implemented in:

– ~/ns-2.28/mac/mac-802_11.cc [1596 loc]– ~/ns-2.28/mac/mac-802_11.h [410 loc]

• Only the DCF is implemented• No extensions (e.g. 802.1x and 802.11i)

implemented• 802.11 implementation in ns2 is poorly documented• There is also an alternative, which is TDMA

Page 9: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 9 / 24

Class hierarchy of 802.11

Mac802_11

Mac

BiConnector

NsObject

TclObject Handler

ns-2.28/mac/mac-802_11.h

ns-2.28/mac/mac.h

ns-2.28/common/bi-connector.h

ns-2.28/common/object.h

ns-2.28/common/scheduler.htclcl-1.16/tclcl.h

Page 10: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 10 / 24

Overview of Mac802_11 classMac802_11

# phymib_ : class PHY_MIB# macmib_ : class MAC_MIB- rx_state : MacState- tx_state : MacState…+ recv(p : Packet*, h : Handler*)- backoffHandler()- recvHandler()- sendRTS(dst : int)- sendDATA(p : Packet*)- recvRTS(p : Packet*)…

Page 11: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 11 / 24

Functions in Mac802_11 class

Mac802_11

recv(p, h)

recv(p, h)

IFq LL

NetIF

send(p, h)

sendDATA(p)

recvDATA(p)

LL

NetIF

pktTx_pktRx_

Page 12: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 12 / 24

Contents, revisited

• Mobile nodes in ns2• IEEE 802.11 in ns2• Wireless simulations in ns2:

– Mobile IP– Hierarchical routing

• Tracing wireless simulations• Summary

Page 13: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 13 / 24

Wireless simulations in ns2

• Original CMU wireless model:– Basic WLAN simulations– Only wireless nodes

• Extensions to the previous:– Wireless/wired simulations– Integration of Sun’s Mobile IP

Page 14: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 14 / 24

Mobile IP for wireless (1/3)

• Three entities: HA, FA and MH• HA and FA:

– These are base-station nodes– Send beacons, and ads to mobile nodes– Includes encapsulator and decapsulator

• MH:– These are mobile nodes– Sends solicitations and reg_requests

Page 15: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 15 / 24

Mobile IP for wireless (2/3)MH FA

Moves towardsFA’s hearing range

beacon

solicitationad

[FA’s address]

reg_requestAm I the HA of MH?If not, setup decapsulatortowards HA.

Use FA’s addressas a COA

HAforwarded reg_requestIf I’m HA, but the

COA doesn’t match,setup encapsulator

Page 16: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 16 / 24

Mobile IP for wireless (3/3)

Decap.Encap.

MH

FAHA

CH

COA

Triangular routing

Page 17: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 17 / 24

Hierarchical routing in ns2 (1/3)

• No hier. routing: Every node in the simulation knows all the other nodes

• Hier. routing: Nodes in the simulation know only nodes that are in the same level– A lot smaller routing tables– Max. 3 hierarchy levels (domain.cluster.node)– Less memory and computational power required

during simulations

Page 18: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 18 / 24

Hierarchical routing in ns2 (2/3)# Take the hierarchical routing in use$ns node-config –addressType hierarchical

# Create a hierarchical frameworkAddrParams set domain_num_ 2 ;# number of domainslappend cluster_num 2 1 ;# number of clusters domainsAddrParams set cluster_num_ $cluster_numlappend nodes_num 1 3 2 ;# number of nodes in clustersAddrParams set nodes_num_ $nodes_num

# Create a nodeset some_node [$ns node 1.0.1]

Page 19: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 19 / 24

Nodes that route hierarchically (3/3)

LL

L1

L2

Lndmux decapsulator

routingagent

reg_agentencapsulator

Upper layers

Page 20: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 20 / 24

Contents, revisited

• Mobile nodes in ns2• IEEE 802.11 in ns2• Wireless simulations in ns2:

– Mobile IP– Hierarchical routing

• Tracing wireless simulations• Summary

Page 21: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 21 / 24

Tracing wireless simulations

• Traditional trace file format:

• There is a new trace file format for wireless traces:

• New trace file format can’t be used with wired nodes

r 160.093884945 _6_ RTR --- 5 tcp 1492 [a2 4 6 800] ------- [65536:0 16777984:0 31 16777984] [1 0] 2 0

s -t 10.000000000 -Hs 0 -Hd -2 -Ni 0 -Nx 5.00 -Ny 2.00 -Nz 0.00-Ne -1.000000 -Nl AGT -Nw --- -Ma 0 -Md 0 -Ms 0 -Mt 0-Is 0.0 -Id 1.0 -It tcp -Il 1000 -If

Page 22: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 22 / 24

Contents, revisited

• Mobile nodes in ns2• IEEE 802.11 in ns2• Wireless simulations in ns2:

– Mobile IP– Hierarchical routing

• Tracing wireless simulations• Summary

Page 23: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

802.11 in ns2 23 / 24

Summary

• Basic IEEE 802.11 is implemented to ns2 without extensions

• There are extensions to wireless model:– Mixed wireless/wired simulations are possible– Integrated Mobile IP(v4)

• There are two (old & new) trace file formats

Page 24: IEEE 802.11 and wireless simulations in ns2 · 802.11 in ns2 2 / 24 Contents • Mobile nodes in ns2 • IEEE 802.11 in ns2 • Wireless simulations in ns2: – Mobile IP – Hierarchical

Questions, comments?