Calculating the latency of nodes in a WiFi network - networking

I do already have an answer but am wondering if there's a any better way. The problem is: I have a set of clients on a relatively slow WiFi network. Each client has a distance to the access point (AP), which determines how fast that client-to-AP link will run. Shorter links run faster than longer links.
My goal is to have each node calculate the length of its own link (and that of all nodes in the network). Nodes can talk to each other, but always via the AP, of course. Knowing the distances between nodes and the AP lets us optimize the network simply by moving the worst nodes closer to the access point.

Use round trip time as http://www.tkn.tu-berlin.de/fileadmin/fg112/Papers/hoene_paper2.pdf suggest.
Read Wi-Fi signal strength and use formulas to calculate it as How to calculate distance from Wifi router using Signal Strength? suggest.

Related

Get Hop-count between 2 peers

I know I should be asking this question on Network Engineering section of Stack Exchange but it feels like it's a desert there.
I'm trying to build an application that requires the distance between 2 hosts (represented by IP).
I used many methods: one of them is to get the distance at the internet layer of the TCP/IP model; i.e: the hop count between the 2 networks or better to get the bandwidths of the path but I think this information can't be measured because it's a real time info.
I figured out that there should be a graph representing the internet graph which its nodes are the routers (or autonumus systems or sub-networks (I really don't know exactly what type of nodes it should be) and the edges of the graph should be the cables between the nodes which have the bandwidth to be the wieght of the edge.
My Question:
Where can I find this information; whether the full graph or parts of it or something like an API to get 2 IPs and return the shortest path between the 2 IPs.
There is a tool named "Tracert"
You could have it try.
It will represent the routines of peer to peer in internet.
Hope that it make

Simulation of LTE networks using Mininet

I am planning to do a project on WIFI offloading using Software Defined Networking. Basically to switch the signals from WIFI to LTE and vice-versa based on the signal strength. Could anybody let me know how i could simulate this and carry out certain experimental tests? I know there is a software called Mininet and i am not sure if we can create base-stations to simulate the experiments. Is it possible to simulate this using Mininet?
Thanks!
You can sett up some link parameters such as bandwidth and latency in mininiet to "emulate" an wireless base station (LTE/WIFI). However, I'm not quite sure how you should emulate signal strength. You could of course write a program with a "node" that moves around on a 3 axis graph where the x,y,z values could give some signal strength value based on output effect multiplied with the vector found in the graph, and when it reaches a threshold have it change to a node (mininet link) that is closer. I.e. change the forwarding tables so your "stream"/tunnel uses another link.
I did an undergraduate thesis on wireless network emulation in Mininet and used Mininet and Ns-3 together using this project. We primarily did validity testing on this platform to determine it's accuracy and limitations (especially at scale). The wireless model is very good until a very clear performance degradation when the CPU usage reaches (100/n)% - where n is the number of available cores on the machine (for a single threaded implementation).
It also has the functionality to set up multiple base stations, although I didn't delve deeply into this beyond initial testing that it works. The main benefits achieved through this tool is the accurate performance degradation due to distance from the source and interference.
A lot of time has past and it seems better ways are available:
ns-3 has LTE features (it seems it got it through LENA)
for mininet-wifi, here, here and here

Zigbee mesh networking

I'm making an application for a running competition on a fixed track. I'm investigating what systems could be used and tough of using a stick containing a GPS/DGPS module and a Zigbee enabled chip to communicate the location to a server.
I've researched the subject (on the internet) but I was wondering if anyone has some practical advice/experience with using a Zigbee mesh/star topology in a dynamic environment wich could apply to this use case. I'm also very interested in using a mesh topology where the data is transmitted (hopping) trough the different Zigbee modules to the server.
Runners are holding a stick; run around the track and than pass the stick on to the next team member.
I am not particularly clear about your goal. But I'd like to say a few things.
First, using GPS/DGPS to measure which team reaches the finish line is inaccurate. Raw GPS data is horrible in accuracy (varying in 1 - 10 meters, well, around that), also the sampling rate of a GPS module is low (say once a second?) How do you determine exactly which team reaches the finish line first?
Second, to use a mobile ZigBee chip to communicate in real-time is hard. I assume your stick has a ZigBee end device. When it is moving (which in your case is pretty fast), it must dynamically find and associate with new parent routers, which takes time and depending on the wireless environment, it might involve several retries. So you will imagine a packet is only successfully delivered to the other end after 100ms or even a second. This might not be a problem if your stick records the exact time when a team reaches the finish line. Since you have a GPS module in the stick so there is no problem in getting very accurate time.

Distance between two wireless mobile nodes

I am currently trying to find the method or mechanism for calculating the distance between two wireless mobile nodes.
Let's say, there are 2 nodes (node B and C) coming in communication with node A. How can node A knows whether node B or node C is nearer than the other?
Is it possible to find it out by using RSSI? or are there any other mechanisms to calculate the distance?
I would appreciate any of your answers or comments.
Thank you in advance.
How about using GPS? Most mobile devices have internal GPS support these days.
The RSSI will give you some indication of distance, but signal may have bounced around and penetrated several walls, so a stronger signal doesn't necessarily mean they are closer.
Another option is to use WiFi geolocation, which works pretty good assuming there are several other WiFi access points in the area. I use SkyHook and it works great:
http://www.skyhookwireless.com/location-technology/sdk.php

Is it possible that in a network,delay from router A to B is different from delay from router B to A

considering that metric is delay in distance vector routing algorithm,
is it possible that delay from router A to B is different from router B to A.
if yes, under which conditions??
thanks.
The algorithm assumes the graph is bidirectional. Of course, it's possible for the delays to be different in each direction in practice: for example, if B is transmitting heavily to A, then traffic from A to B is likely to be faster than from B to A, since traffic from B will have to get in line at the end of a queue.
Delay and metric are two different things.
Delay is the time it takes for a packet to traverse the network. If a link is heavily utilized in one direction and there is some kind of buffering device (such as a switch) on the link you might have different delays in the network traffic depending on direction.
Metrics are values associated with entries in a routing table that indicates "costs" of different routes. If A and B have static routing entries they can definitely be configured with different metrics for each direction of the same link.
Are you assuming both hypothetical circumstances run at the exact same time? If not I suppose there could be a spike on the traffic for one of the routers at any given time that bogs down your 'wanted' traffic.
Certainly this is possible, but to give you more details you probably need to be more specific with the question.
With regards to your specific question about Metrics and Distance Vector routing algorithms, yes, A can be configured to think that B is further away than B thinks A is, although as mentioned by one of the other answers, that doesn't necessarily mean the delay is different although it may in fact be.
In practice though, there are lots of questions to consider:
Is router A adjacent to router B? If not, then you certainly could have different delays because inbound packets may take a different path than outbound packets.
If they are adjacent, what kind of connectivity do they have? Are they the same kind of router? Imagine a router at the end of an aysymmetric DSL line. Of course the propagation delay wouldn't be aysymmetric, but delay could be higher in one direction as a result of traffic congestion. (This scenario also gives a concrete example of why you might want A to think the link to B has a higher cost than B thinks the link to A has.)
In practice, the definition of delay makes a big difference too. Are you thinking of just the computed cost? Or just propagation delay? Or just the link cost? If router B is sending more traffic than router A, it may take longer for responding packets from B to A to be processed by B than A takes when sending the packets (the same may apply for intermediary switches, especially in the case of things like multicast packets--some routers and/or switches take longer to process multicast and other "special" packets). So in this scenario the actual delay may be different, but the cost the DVP is using thinks it is the same.
Hope this answer helps. Good luck,
--jed

Resources