INTRODUCTION
The structural layout of a network is referred to as network topology. A network’s topological structure can be represented physically or intellectually. To create a graphical representation, network devices are represented as nodes and connections between devices as lines. In other words, network topology refers to how a network is organized, namely how nodes are configured and linked to one another.
The necessity to comprehend network topologies arises as a result of their presence in your local area network (LAN). Your network may be configured in a variety of ways, each with its own set of advantages and disadvantages. The selection of a topology for your business network is determined by a variety of criteria, the most important of which are network size and scale, as well as cost.
TASK 1:
NETWORK TOPOLOGY
The way network links and nodes are structured is referred to as network topology. Virtual network topologies include star, mesh, tree, ring, point-to-point, circle, hybrid, and bus topologies, each encompassing a distinct set of nodes and links.
MAC ADDRESS
The media access control address (MAC address) is a unique identification issued to a network connection control (NIC) to be used as a network address for communication inside a network segment. Most IEEE 802 network technologies, including Ethernet, Wi-Fi, and Bluetooth, are used in this way.
SSID
SSID is an acronym for Service Set Identifier. This is a one-of-a-kind identifier for a wireless network. The data packet is transmitted in the package header. This identification is used by Wi-Fi network devices to communicate over a network.
NODE IN NETWORK
A supernode is a node in a peer-to-peer network that serves as both a normal node and a proxy server, as well as the device that distributes information to other users in the P2P system. As a result, supernodes necessitate more CPU and bandwidth than conventional nodes.
PYTHON SCRIPT TO DESIGN THE TOPOLOGY
from mininet.net import Mininet from mininet.link import TCLink from mininet.cli import CLI
from mininet .log import setloglevel
from mininet.node import Controller, RemoteController, OVSKernelAP, OVSSwitch
def topology ():
net= Mininet (controller= Remote Controller, link= TCLink, accessPoint=OVSKernelAP)
print”Start a new node “
sta1 = net.addStation( ‘STA1′, mac=’00:00:00:10:11:08’, ip=’147.192. 10.2/ 24 ‘, position =’50, 75,0 passwd=’studentlD’, encrypt=’wpa2′, range=30)
sta2 = net.addStation( ‘STA2′, mac=’00:00:00:10:11:09′, ip=’147.192.10.3/24’,
position=’50,125,0 passwd=’studentlD’, encrypt=’wpa2′, range=30)
sta3=net addstation( ‘STA3’, mac=’00:00:00:10:11:10′, ip=’147.192.10.4/24, position=’50, 25, 0
passwd=’studentID’, encrypt =’wpa2’, range=30)
udps =net.addStation(‘UDPS’, mac=’00:00:00:10:01:01’, ip=’147.192.10.1/24, position=’50, 140, 0 passwd= ‘studentID’, encrypt= wpa2, range=30)
ap1= net.addAccessPoint( ‘AP1’, ssid= ‘apf, mac-00:00:00:00:10:02, passwd=’studentID’, encrypt wpa2, channel= ‘1’, position=’s0, 50,0″, range=25)
ap2=net.addAccessPoint(“AP2’, ssid=”ap2, mac-00:00:00:00:10:03, passwd=’studentID’,
encrypt=wpa2, channel=”6″, position-100,50.0′, range=25)
ap3=net.addAccessPoint (AP3, ssid= ‘ap3, mac-00:00:00 00:10:04, passwd student ID, encrypt=wpa2, channel=’2, postion-100,50,0, range=25)
ap4=net.addAccessPoint(‘AP4, ssid=”ap4, mac-00:00 00:00:10:05, passwd-student ID’, encrypt=wpa2, channel=”3, position=”50,90,0, range=25)
ap5=net.addAccessPoint(‘AP5, ssid=”ap4, mac-00:00 00:00:10:05, passwd-student ID’, encrypt=wpa2, channel=”3, position=”50,90,0, range=25)
ap6=net.addAccessPoint(‘AP6, ssid=”ap4, mac-00:00 00:00:10:05, passwd-student ID’, encrypt=wpa2, channel=”3, position=”50,90,0, range=25)
net.addlink(ap2,sta2)
net.addlink(ap3,sta3) net.addlink(ap3,sta4)
net.addlink(apl,ap2) net.addlink(ap2,ap3) net.addlink(ap2,ap4) net.build()
c0.start() apl.start( (c0])
ap2.start( [c0] )
ap3.start( [c0] )
ap4.start( [c0] ) CLI( net) net.stop()
if name == ‘main’: setloglevel( ‘info ‘ )
topology()
topology()
co= net.addController(‘c0′, controller=RemoteController, ip=’127.0.0.1’, port=1309)
#net.runAlternative ModuIe(‘../module/mac80211_hwsim.ko’) net.addlink(ap1, sta1)
Their topology may be built with the use of such scripts. This might be an indication of a developing process. This project also necessitates its use. The engineer uses a little net to complete the task. These researchers would be unable to progress their study if they were unable to prepare for it. The movement of such nodes is critical for this reason. The system cannot provide its services until such measures are taken.
The import function is used in the python text above to import various packages into python so that their features may be used in applications. More channels and access points are required to complete the remaining work. net.addStation() and net.addAccessPoint() add to the topology, whereas net.addLink`() improves and connects the entrance point and channel.
TASK 2:
Devices are linked in the Wireless Ad hoc network topology without the usage of any extra network infrastructure devices such as wireless Access Points (AP). Network devices in a Wireless Ad hoc network architecture are primarily connected to a wireless channel, with no network infrastructure equipment, such as a wireless Access Point, required (AP).
The Ad hoc wireless network topology is similar to that of a peer-to-peer LAN network. Wireless devices connect directly without the usage of a wireless Access Point in a Wireless Ad hoc network design (AP).
The Ad hoc wireless network architecture is used to construct a tiny wireless network comprised of a limited number of powerful wireless devices.
MOBILITY OF AD-HOC
Ad hoc networks are also known as IBSS (Independent Basic Service Set) configurations.
Wireless mobile ad networks are self-contained, adaptable networks with nodes that may move freely. Because each device in a MANET is free to travel in any direction, it will always modify its linkages to other devices. Each must send traffic that is unrelated to its intended use and hence be a nuisance.
PYTHON SCRIPT FOR CONFIGURATION OF MININET WI FI
People are attempting to progress the work of the initial project in this part. Topology is created, and the fourth design adds elements that assist it perform its duty. Three new phases have been introduced to the Ad Hoc programs and the M ESH programs. This can help to inspire workers in the proper direction. Appropriate codes have been inserted to finish the assignment.
from mininet.net import Mininet from mininet.link import TCLink from mininet.cli import CLI
from mininet.log import setloglevel
from mininet .node import Controller, RemoteController, OVSKernelAP, OVSSwitch
def topology():
“Start a Node.”
net = Mininet(controller =RemoteController, Iink=TCLink, accessPoint=OVSKerne IAP)
print”*** Start nodes”
sta1 = net.addStation( ‘STAl’, mac=’00:00 :00:10:11:08′, ip=’147.92.10.2/24′, position=’50,25,0′, pass wd=’studentlD’, encrypt =’w pa2′, range=50)
sta2 = net.addStation( ‘STA2′, mac =’00:00:00:10:11:09′, ip=’147.92.10.3/24′, position =’50, 25,0′ pass wd=’studentlD’, encrypt= ‘wpa2’, range=50)
sta3 = net.addStation( ‘STA3’ ,mac=’00:00:00:10:11:10’, ip=‘147.92.10.4/24 ‘,
position= ‘50,25,0‘ passwd=‘studentlD‘, encrypt=‘wpa2′, range=50)
udps = net.addStation( ‘UDPS’, mac=‘00:00:00:10:01:01′, ip=‘147.92.10.1/24‘,
position= ‘50,140,0’passwd= ‘studentID’, encrypt=‘wpa2‘, range=50 )
ap1 = net.addAccessPoint( ‘AP1‘, ssid= ‘ap1‘, mac=‘00:00:00:00:10:02′,
passwd=’studentID’, encrypt=’wpa2′, channel= ‘1‘, position=‘50,75,0‘,range=‘25‘ )
ap2 = net.addAccessPoint( ‘AP2′, ssid= ‘ap2‘, mac=‘00:00:00:00:10:03‘, passwd=‘studentID’,
encrypt= ‘wpa2‘, channel=‘6‘ , position=‘50,125,0‘,range=‘25‘)
ap3 = net.addAccessPoint( ‘AP3‘, ssid= ‘ap3‘, mac=‘00:00:00:00:10:04‘, passwd=‘studentID’,
encrypt=’wpa2’, channel= ‘2‘, position=’100,125,0’, range=‘25‘ )
ap4 = net.addAccessPoint( ‘AP4‘, ssid= ‘ap4‘, mac=’00:00:00:00:10:05‘, passwd=’studentID’,
encrypt=’wpa2′, channel= ‘3‘, position=‘150,125,0‘,range=‘25‘ )
sta4adhoc = net.addAccessPoint( ‘AP4′, ssid= ‘ap4‘,mac=‘00:00:00:00:00:05’,
passwd= ‘studentID’, encrypt=‘wpa2’, channel=‘3‘ position=‘125,150,0‘,range=‘40’ )
sta5adhoc = net.addAccessPoint( ‘AP4′, ssid= ‘ap4’,mac=‘00:00:00:00:00:06’,
passwd= ‘studentID’, encrypt=’wpa2′, channel=’3’, position=‘150,150,0‘,range=‘40‘ )
sta6adhoc = net.addAccessPoint( ‘AP4′, ssid= ‘ap4’,mac=‘00:00:00:00:00:07’,
passwd= ‘studentID’, encrypt=’wpa2′, channel=’3’, position=‘175,150,0‘,range=‘40‘ )
sta7ad = net. addAccessPoint (‘AP4′, ss id = ‘a p4′, mac =’ 00:00:00:00:00:09′, passwd =’studentID’, encrypt =’wpa2 ‘, channel= ‘3’, position=’150,90,0 ‘, range=’30’)
sta8ad = net.addAccessPoint (‘AP4 ‘, ssid= ‘ap4′, mac= ’00:00:00:00:00:10′, passwd = ‘studentID’, encrypt =’ wpa2 ‘, channel = ‘ 3 ‘, position=’150,90 ,0′, range =’30’ )
sta9ad = net.addAccessPoint (‘AP4′, ss id = ‘a p4′, mac =’ 00:00:00:00:00:11′, passwd = ‘studentID’, encrypt =’wpa2 ‘, channel= ‘3’, position=’150,90,0 ‘, range=’30’)
c0= net.addController(‘c0’ , controller= RemoteController, i p=’127.0.0.l ‘, port=4639)
#net.runAlternativeModule ( ‘ . ./module/mac80211_hwsim.ko’)
net.addlink(ap1, sta1)
net.addlink(ap2,sta2) net.addlink(ap3,sta3) net.addlink(ap3, sta4)
net.addlink(apl, ap2)
net.addlink(ap2,ap3) net.addlink(ap2, ap4)
net.build() c0.st art ()
ap1.start( [c0] )
ap2 .start( [c0] )
ap3 .start( [c0] )
ap4 .start( [c0] ) CLI( net)
net. stop()
if name == ‘main’: setLogLevel( ‘info’ ) topology(
TASK 3:
SDN Controller is a software program that provides strategic control over a software-defined network. For smart networks, the SDN controller manages the flow controls on the “bottom” switches (with APIs facing south) and the applications and business thinking “above” (with APIs facing north).
CASE TO DESIGN TOPOLOGY USING SDN CONTROLLER IN PYTHON
from mininet.net import Mininet
from mininet.topo import Topo
from mininet.cli import CLI #So we can rate limit
from mininet. link import TCLink #So we can bring up the Mininet CLI
topo = Topo() # Create an empty topology
topo.addSwitch(“s l “) # Add switches and hosts to the topology
topo.addSwitch(“s 2”)
topo.addSwit ch(“s3”)
topo.addSw it ch(“s4”)
topo.addSw it ch(“s S”)
topo.addSw it ch(“s6”)
topo.addSwit ch(“s7”)
topo.add Switch( “s8” )
topo.addSwitch(“s9” )
topo.addSwitch(“s10” )
topo.addSwitch(“s11”)
topo.addHost(‘h1′, mac=’ 00:00 00:00:00:01′, ip=’ 147.197.29.1/24′ VLAN=’ 300′ )
topo.addHost(‘h2′, mac=’00:00:00:00:00:02′, ip=’ 147.197.29.2/24′ VLAN=’ 400′ )
topo.addHost(‘h3′, mac=’00:00:00:00:00:03′, ip=’ 147.197.29.3/24′ , VLAN=’ 300′ )
topo.addHost(‘h4′, mac = ’00:00:00:00:00:04′, ip=’ 147.197.29.4/24′ , VLAN=’ 400′ )
topo.addHost( ‘hS’, mac=’00:00:00: 0:00:05′ ip=’ 147.197.29.5/24′ ,VLAN=’ 300′ )
topo.addHost(‘h6′, mac=’00:00:00:00:00:06′, ip=’ 147.197.29.6/24′ VLAN=’ 400′ )
topo.addHost( ‘ h7′ , mac=’ 0 :00:00:00:00:07, ip=’ 14′ 197.29.7/24′ VLAN=’ 300′ )
topo.addHost (‘ h8′ mac=’ 00:00:00 0:00:08′ ,ip=’ 147.197.29.8/24′ ,VLAN=’ 400′
topo.addLink(“h1”, “s1”, bw=20.0, delay=’ 10ms’ , use_htb=True)
topo.addLink k(”h2”, ” s1” , bw=25.0,delay=’ 10ms’ , htb=True)
topo.addlink(“s1”, “s2”, bw = l l.0, delay=’ 4 0ms’, use_htb =True )
topo.addlink(“h3”, “s2”, bw=15.0, delay=’7ms ‘, use_htb =True )
topo.addlink(“s1”, “hl”, bw=l000.0, delay=’0ms’, use_htb =True, loss =’0′ )
topo.addlink(“s1”, “s2”, bw = l000.0, delay =’lms’, use_htb =True, loss =’0.5′)
topo.addlink(“s1”, “s9”, bw = l000.0, delay =’lms’, use_htb =True, loss =’ 0.5′)
topo.addl i nk( “s2”, “h2”, bw=l000.0, delay =’0ms’, use_htb =T rue , loss =’0′ )
topo.addlink(“s2”, “s5”, bw= l0000.0, delay =’lms’, use_htb =True, loss=’0.5′)
topo.addlink(“s2”, “s9”, bw = l000.0, delay=’lms’, use_htb =True, loss =’0.5′)
opo.addlink(“s2”, “s10”, bw=l000.0, delay =’1ms’, use_htb =True, loss =’0.5′)
topo.addlink(“s5”, “hS”, bw=l000.0, delay =’0ms’, use_ htb=True, loss =’0′) to po.addli nk(“s5”, “s6”, bw = l000.0, delay =’ lms’, use_ htb=True, l oss=’0.5′ )
topo.addLink(“s5”, “s11”, bw=1000.0, delay=’1ms’, use_htb=True, loss=’0.5′)
topo.addLink(“s5”, “s10″, bw=1000.0, delay=’1ms’, use_htb=True, loss=’0.5”)
topo.addLink(“s6”, “h6”, bw=1000.0, delay=’Oms’, use_htb=True, loss=’0′)
topo.addLink(“s6”, “s11”, bw-1000.0, delay=’1ms’, use_htb-True, loss=’0.5′)
topo.addLink(“s3”, “h3”, bw-1000.0, delay=’Oms’, use_htb=True, loss=’0′)
topo.addLink(“s3″,”s4″, bw-1000.0, delay=”1ms’, use_htb=True, loss=’0.5”)
topo.addlink(“s3”, “$9”, bw=1000.0, delay=’1ms’, use_htb=True, loss=’0.5′)
topo.addLink(“s4”, “h4”, bw=1000.0, delay=’0ms’, use_htb=True, loss=’0′)
topo.addLink(“s4”, “s7”, bw-1000.0, delay=’1ms, use_htb=True, loss=’0.5′)
topo.addLink(“54”, “$9”, bw-1000.0, delay=’1ms’, use_htb=True, loss=’0.5′)
topo.addlink(“s4”, “s10”, bw=l 000.0, delay =’l ms’, use_htb =True, loss=’0.5′)
topo.addlink(“s7”, “h7”, bw=lO00.0, delay=’0ms’, use_htb =True, loss =’0′ )
topo.addlink(“s7”, “s10”, bw=lO00.0, delay =’l ms’, use_htb =True , loss=’0.5′)
topo.addlink(“s7”, “s11”, bw=l 000.0, delay =’l ms’ , use_htb =True, loss=’0.5′ )
topo.addlink(“s7”, “s8”, bw = l 000.0, delay =’0ms’, use_htb =True, loss =’ 0′)
topo.addlink(“s8”, “h8”, bw=l 000.0, delay =’ 0ms’, use_htb =True, loss=’0′)
topo.addlink(“s8”, “s11”, bw =l 000.0, delay =’l ms’, use_htb =True, loss=’0.5′ )
net= Mininet(topo =topo, link =TCLink)
net.start()
CLl(net) # Bring up the mininet CU
net .stop()
RESULT:
THROUGHPUT
Communication network transfer is a structure that specifies the number of data carriers that go through the network in the communication channel between the end sites (Ali et al. 2019). In networking, throughput is defined as the pace at which data is processed or the degree of output. Determines the rate at which messages are delivered via a certain network communication channel.
CALCULATION OF TCP SUCCESS RATE.
TCP basically means transmission control protocol and it is a standard that has been set in order to establish and maintain a conversation in the network utilizing which the application programs generally exchange their data. A network communication protocol that is quite similar to the internet protocol in terms of how data packets are exchanged between computers is the Transmission Control Protocol (TCP). In network communications, a packet is a unit of data delivered over a network, and in the TCP/IP connection, a packet is the unit of data transferred across the network. When utilizing TCP to transfer data, the size of the TCP window and the round-trip latency are the two most significant factors to take into consideration (Akpinar & Ozcelik, 2018). Following a variety of techniques and methodologies is required in order to calculate the TCP success rate.
There is 1Gig of data that needs to be transferred over a round trip latency of 30 milliseconds and the TCP rate needs to be calculated. Firstly, the TCP window size needs to be converted from bytes to bits. Ifs standard TCP window size of 64Kb is used then in bits the window size is:
64 kB= 65536 bytes
65536* 8= 524288 bits
This TCP window size is in bits and it needs to be divided by a round trip latency of 30 milliseconds. So accordingly,
524288/0.030 = 17476266 bits per second throughput which equals 17.4 Mbps of maximum possible output.
ANALYSIS
This is the most important part for any researchers to find out the outputs of the developed systems. In this section, one can discuss the results of each step of this program. The developer has to follow the rate of performances that could fulfill the requirements of the clients or not. In the case of task one, the developed topology of the software shows the performance and creates a relationship between different access points {Darabkh, and Zomot, 2018, p.65). Such points can perform connectivity of different networking systems. The range of nodes in the case of mobility is higher in each case. This shows the accuracy rate of the networking systems.
Task two can add more features to this topological model. Various types of subsystems of networks are included in it. Those are divided int o two types like Ad Hoc system and the MESH ne t work. Each has four parts. They also share a relationship. That can help to modify the services of this developed network system.
Under task three the developers are perfectly able to put more features in the new network. With the help of a mininet environment, this can be performed. Many users will be added in this particular case. They all can perform the job properly. In the last phase of development, all previous stages are tested to check their performance. In this particular case, it can be done perfectly and also able to develop a completely new and unique type of network model.
CONCLUSION
At the end of this project, one can attain their development program’s target. Various settings are used to service the job at various stages of the project. That can flawlessly drive the task’s success. This networking system demonstrates the connectivity with the other sections and also establishes a relationship between the features. Every attribute has a role that aids in determining its strengths and shortcomings. This can be used by several users at the same time. This program’s distinct characteristics can preserve its ethnicity in comparison to another. Various variables are pushed in order to complete the task correctly.
Otherwise, such a novel design would be impossible to develop. This has the potential to be significant in the market for mobile network systems.