4. Flow Chart
Point To Point
CSMA
WIFI Station
WIFI AP
NODE
Container
Point To Point
CSMA
WIFI Station
WIFI AP
NetDe`vice
Container
Point To Point
CSMA
WIFI Station
WIFI AP
SetAttributes
NetDevice
Point To Point
CSMA
Attach
NetDevice to
PHY
&CHANNEL
WIFI Station
WIFI AP
Configure
PHY & MAC
WIFI Station
WIFI AP
Attach
NetDevice to
PHY
&CHANNEL
Point To Point
CSMA
WIFI Station
WIFI AP
Install
ProtocolStack
Point To Point
CSMA
WIFI Station
WIFI AP
Assign IP
Address
Install Application
5. Topology Description
● Channels & Net Device
– Wireless
– Point to Point
– CSMA
● Node Container
– Access Point Node
– Station Nodes
– Point to Point Nodes
– CSMA Nodes
● Node P1 & P2 having two Net Device of different types
7. NODE
● We are having four different types of nodes.
● Create Four Different NodeContainer
– Point to Point
– Station Nodes
– Access Point
– CSMA NodeContainer n1,n2;
n1.Create(3);
[...]
N2.Create(1);
n2.Add(n1.Get(0));
void Create(uint32_t n);
Add()- used to add node in a node container
Create() - used to create node/s
8. NetDevice and Channel
● Three different NetDevice and Channel:-
– PointToPointHelper – NetDevice & Channel
– CsmaHelper – NetDevice & Channel
– YansWifiChannelHelper – Channel
– YansWifiPhyHelper – PHY
– WifiHelper – NetDevice
We use Install()method to attach NetDevice with Node
It will return an object to NetDeviceContainer
10. Configure WIFI NetDevice
● WifiChannel & WifiPhy abstract class
– YansWifiChannel
● We use Helper [YansWifiChannelHelper]
● Set Channel related attributes
– [channel switch delay, energy of received signal,etc]
– YansWifiPhy
● We use Helper [YansWifiPhyHelper]
● Set PHY Layer related attributes
– [propogation delay] Set CHANNEL to PHY
void SetChannel(Ptr<YansWifiChannel>)-
Class YansWifiPhy
11. Configure MAC
● WifiMac abstract class
– List of MAC Types
● AdhocWifiMac – Infrastructure less network
● ApWifiMac – Access point Node MAC
● StaWifiMac – Station Node MAC
● Etc.
– We use Helper Class
● NqosWifiMacHelper or WifiMacHelper
– Set the appropiate MAC from the list and Set Attributes
● void SetType(T,A,V....);
● T- Type of MAC
● A- Name of Attribute
● V –Value of Attribute
12. Mobility
● It is used to track and maintain the
– Current Cartesian position
– Speed of an object
– Placement of Node
– Setup Mobility Model
14. Mobility
● Assign Mobility to WIFI Nodes
– List of Mobility Model
● ConstantAccelerationMobilityModel
● ConstantPositionMobilityModel
● ConstantVelocityMobilityModel
● RandomDirection2dMobilityModel
● RandomWalk2dMobilityModel
● Etc
– List of Allocator Model (placement of Node)
● RandomDiscPositionAllocator
● RandomRectanglePositionAllocator
● GridPositionAllocator
● Etc.
15. Mobility Model
● RandomWalk2dMobilityModel
– 2D random walk mobility model
– Each instance moves with a speed and direction
choosen at random
– Nodes moves in Boundaries specified by Rectangle
– Rectangle(double xMin,double xMax,double yMin,double yMax)
x-axis
y-axis
xMin xMax
yMin
yMax
16. Allocator Model
● GridPositionAllocator
– Allocate position on a rectangular 2D grid
– List of Attributes
● MinX
● MinY
● DeltaX
● DeltaY
● GridWidth
● LayoutType
– ROW_FIRST
– COLUMN_FIRST
1 2 3
4
(MinX,MinY) DeltaX
DeltaY GridWidth
x-axis
y-axis
17. Mobility
● We use Helper Class
– MobilityHelper
● SetMobilityModel()-Set Mobility Model
● SetPositionAllocator() - Set Position Allocator
– Install the mobility on Nodes
– Mobility Model [Access Point & CSMA Nodes]
● ConstantPositionMobilityModel
18. Internet Stack & Ipv4Address
● Now its time to install Protocol Stack
– InternetStackHelper
● Install()
● Assign IP address to the NetDevice
– Ipv4InterfaceContainer
● Assign()
22. ● Modify the Mobility Pattern using
– RandomWalk2dMobilityModel
● Distance- Change current direction and
speed after moving for this distance.
● Speed – speed of node
● Bounds – Area