Jump to content

Shared IP address - multiple devices


rebrecs

Recommended Posts

Background

My ISP speed is clamped at 400 Mbps Down, though I have been routinely getting 430+ Mbps.

I have a 1 gig infrastructure in house. The direct-attach router ports are consumed by L2 switches and one Wintel computer.  I execute TMN tests (Loc 1=multithread, Loc 2= normal) from the Wintel box.

 

Reconfigure for new test plan

I am about to introduce two more locations (TMN Identifiers -Loc's 3/4) which will be a pair of laptops. When attached to available L2 switch ports, each of the laptops produce TMN download test results near identical to the Wintel box I have historically used. I intend to use the laptop pair to run concurrent TMN download tests. My goal is to see how the speed allocation is arbitrated. I believe theoretically the answer should be near 50/50, or approximately 200 Mbps results for each device.

 

The Questions

Questions are centered around how TMN is going to react to this.

  • Will TMN test controller (for lack of a better name) allow this?
  • If so, Will TMN think this is one test or two ? If two, will the Identifiers be preserved?
    • Each laptop browser will be initializing a test using different Identifiers. Will that cause two different Test IDs even though they share an IP address?
    • What happens if I push the "go" button very near the same instant? Would it be better to delay the start of the second system by a second or two?

Please advise on how I should proceed.

 

Thanks in advance

--john

 

Link to comment
Share on other sites

The problem with running two simultaneous speed tests is that when one test completes, the other will be skewed by getting the full bandwidth for the remainder of the test. 

 

The best way to run this type of test would be to run iPerf in server mode on one PC and then run simultaneous iPerf speed tests against the iPerf server from the other devices.  You can download iPerf here.  To use it, open two command prompts and run "iperf3 -s -p 5201" in one and "iperf3 -s -p 5202" in the second.  To run simultaneous tests on the other PCs against it, run "iperf3 -c -p 5201 -t 60" on one PC and "iperf3 -c -p 5202 - t 60" on the second PC. 

 

If there's a spare LAN port on the router, plug the PC running iPerf in server mode into it.

 

iPerf shows the current bandwidth every second, so you can monitor how the bandwidth is split over the 60 second test duration.

 

Post addition: I ran short on time earlier, but to answer the questions:

  1. You can run tests simultaneously on TestMy, however, if one runs faster than the other, the longer running test will be skewed due to getting the full bandwidth when the other completes.
  2. Yes, the identifiers will be preserved only if logged out.  When logged in, whichever identifier was last chosen will be used for both tests.
  3. The simultaneous tests will get different test IDs.
  4. You can start them at the same time. 

 

Whenever you use cellular data, public Wi-Fi, privacy VPN, etc. your public IP address is likely shared with several hundred other users.  So if one runs TestMy on one of these connections, there is a good chance that someone else could run TestMy at the same time on the same network,  I.e. it should have no problem running simultaneous tests from the same IP address, but with one test potentially skewing the other.

Link to comment
Share on other sites

11 hours ago, Sean said:

Whenever you use cellular data, public Wi-Fi, privacy VPN, etc. your public IP address is likely shared with several hundred other users.  So if one runs TestMy on one of these connections, there is a good chance that someone else could run TestMy at the same time on the same network,  I.e. it should have no problem running simultaneous tests from the same IP address, but with one test potentially skewing the other.

Sean, thanks, I really wish I understood what you have said here. Are you saying an ISP (via their DHCP server) will issue the same IP address to many different customers ?

Link to comment
Share on other sites

They use what's called a carrier-grade NAT, which is where their DHCP server issues an internal IP address to each customer, usually starting with 10.x.x.x or 100.x.x.x.  This is much like how your home router would issue IP addresses like 192.168.x.x to the internal devices.  This results in a single public facing IP address being shared with many users, much like how your router connects multiple devices on your network over the one public IP address.

 

You can test this somewhere that offers free Wi-Fi by connecting two devices to it and Google "My IP address".  Both will likely show the same public IP address.

Link to comment
Share on other sites

On 12/21/2019 at 7:10 AM, Sean said:

They use what's called a carrier-grade NAT, which is where their DHCP server issues an internal IP address to each customer, usually starting with 10.x.x.x or 100.x.x.x.  This is much like how your home router would issue IP addresses like 192.168.x.x to the internal devices.  This results in a single public facing IP address being shared with many users, much like how your router connects multiple devices on your network over the one public IP address.

 

You can test this somewhere that offers free Wi-Fi by connecting two devices to it and Google "My IP address".  Both will likely show the same public IP address.

 

FWIW the private IP ranges are:

 

10.0.0.0 - 10.255.255.255

127.16.0.0 - 172.31.255.255

192.168.0.0 - 192.168.255.255

 

If your "modem WAN" address is in one of those ranges, then your ISP is definitely using carrier-grade NAT. If the IP your modem says isn't in one of those ranges, it's not likely, but is still possible.

 

@rebrecs You can usually ask for a "single" / "pinned" IP address from your ISP, though TMN would still see that as a single source.

 

@CA3LE Does TMN support IPv6 fully? Does it track per IPv6 address? If so, @rebrecs you can probably switch to IPv6 and TMN could theoretically track every individual device in your house during testing, so you could literally track results per-device by IP address.

Link to comment
Share on other sites

4 hours ago, nanobot said:

@CA3LE Does TMN support IPv6 fully? Does it track per IPv6 address? If so, @rebrecs you can probably switch to IPv6 and TMN could theoretically track every individual device in your house during testing, so you could literally track results per-device by IP address.

 

Yes but I haven't personally tested it on a household that's being assigned IPv6 on a per device basis by the ISP.  This may be the deal with @pgoodwin1, where each device on his network is getting a specific TMN connectionID.

 

I really need to get my hands on a network that behaves that way to test it out properly.  But if each device has a separate public IP... TMN is going to use each unique public IP to generate unique TMN compID's to correspond.

 

@rebrecs - you can also keep track of each device by giving them each unique identifiers.  1, 2, 3, 4, living room, kitchen, etc... lasts until you clear cookies.

Link to comment
Share on other sites

10 hours ago, nanobot said:

If your "modem WAN" address is in one of those ranges, then your ISP is definitely using carrier-grade NAT. If the IP your modem says isn't in one of those ranges, it's not likely, but is still possible.

 

Here in Ireland, a few ISPs use IP ranges in 100.x.x.x for carrier grade NAT, which IANA reserved for this purpose:

Quote

In April 2012, IANA allocated the block 100.64.0.0/10 (100.64.0.0 to 100.127.255.255, netmask 255.192.0.0) for use in carrier-grade NAT scenarios.

https://en.wikipedia.org/wiki/Private_network#Dedicated_space_for_carrier-grade_NAT_deployment

Link to comment
Share on other sites

55 minutes ago, Sean said:

 

Here in Ireland, a few ISPs use IP ranges in 100.x.x.x for carrier grade NAT, which IANA reserved for this purpose:

https://en.wikipedia.org/wiki/Private_network#Dedicated_space_for_carrier-grade_NAT_deployment

Nice, post-dates my Tier-1 work, which explains it. TIL

 

7 hours ago, CA3LE said:

 

Yes but I haven't personally tested it on a household that's being assigned IPv6 on a per device basis by the ISP.  This may be the deal with @pgoodwin1, where each device on his network is getting a specific TMN connectionID.

 

I really need to get my hands on a network that behaves that way to test it out properly.  But if each device has a separate public IP... TMN is going to use each unique public IP to generate unique TMN compID's to correspond.

 

@rebrecs - you can also keep track of each device by giving them each unique identifiers.  1, 2, 3, 4, living room, kitchen, etc... lasts until you clear cookies.

I can run some testing from here as well, I'm running DHCP-PD, so the ISP assigns a /64 which is then assigned to each device.

Link to comment
Share on other sites

 

Ultimately, my purpose for testing, and the original reason I got involved with TestMy was/is in preparation for self-hosting one of my domains. My facility is combined residence/business. I pay the ISP the residential non-commercial rate. The domains are currently hosted at BlueHost.

After reading about NAT, it seems that it may cause issues for my self hosted domain, Rather than try to itemize all the ways NAT would interfere, I decided to that getting on IPv6 would be a good idea. My ISP, which is Suddenlink/Altice, is silent about IPv6 on their site. I am (time permitting, and it takes a LOT of time) attempting to contact a human being at Suddenlink to ask them about it. Some time ago I asked them about getting a static IPv4 address from them - they won't do it. When I am able to ask my question regarding IPv6 support, I anticipate their response to be - we don't have it.

If they cannot support IPv6 connections,

I could get an IPv4 address some other way, and just start using it. (whether they like it or not)

What would their NAT machinery do if a packet came in with an IPv4 address  outside of the 192, 10 , 100 etc range of NAT-able addresses? It would have to honor it (forward it) .. right ?

 

 

 

Link to comment
Share on other sites

On 12/20/2019 at 6:39 AM, Sean said:

The best way to run this type of test would be to run iPerf in server mode on one PC and then run simultaneous iPerf speed tests against the iPerf server from the other devices.  You can download iPerf here.  To use it, open two command prompts and run "iperf3 -s -p 5201" in one and "iperf3 -s -p 5202" in the second.  To run simultaneous tests on the other PCs against it, run "iperf3 -c -p 5201 -t 60" on one PC and "iperf3 -c -p 5202 - t 60" on the second PC. 

 

If there's a spare LAN port on the router, plug the PC running iPerf in server mode into it.

 

iPerf shows the current bandwidth every second, so you can monitor how the bandwidth is split over the 60 second test duration.

I don't know. I'm not certain that is going to reveal what I'm looking for, but it could still be interesting. I think it depends on what the so called router does with the traffic. If all of the traffic is sent to the ISP's routers to determine what to do with it, then the test result may be of interest. All of the hardwired ports on that box are bridged. It has one port named the modem port which is an actual gateway port. It should send local traffic to the local bridge but that is not a guarantee. I'm no routing expert, but the 192 addresses are assigned the local bridge interface, but the 129 address gateway is 0.0.0.0 which points to a suddenlink server. Which one wins ? I have been in situations before when suddenlink was down and things on the local net could not see each other. Other times they could. I might pitch this thing and get a real router. Who knows.

 

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
47.219.80.1     0.0.0.0         255.255.255.255 UH        0 0          0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 br0
47.219.80.0     0.0.0.0         255.255.252.0   U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         47.219.80.1     0.0.0.0         UG        0 0          0 eth0
 

Link to comment
Share on other sites

On 12/27/2019 at 10:53 AM, mudmanc4 said:

@rebrecs, Have you entertained the idea of using a 1:1 NAT for the website(s) using port forwarding for various web servers ?

Hi @mudmanc4,

I would have to read a couple of books or go take a course just to understand what you just asked me. So, no.

Time permitting, I may.

I have often read manuals where Port Forwarding settings are identified. They tell me what do do, were I to desire to forward a port. However, I have yet to find anything that tells me why I would want to do such a thing, or what the typical (or intended) use of it is.

 

Just curious, sidebar: off topic, what do you have on your head in that picture?

Link to comment
Share on other sites

  • 9 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...