Short answer: Duplicating allocated public addresses is a bad idea.
Slightly longer answer: Leaving aside the routing issues for the moment, it's not safe to assume that you will never need to reach this machine from some place other than a directly attached cable, or that public or private address allocations are static and will never change.
The remote-access issues are obvious: The global Internet thinks 143.166/16 is in one place, and you want it to be in another. Routers won't go to your machine.
And ownership could change. Even if this address weren't assigned to Dell, it could be allocated to them in the future. Dell does have this address today, but someone else might tomorrow, with a different route. Who knows? Your organization might even buy that address block, with even more routing adventures.
Bottom line: Don't assume duplicate IPs can safely be walled off forever.
As for the routing, your wired interface would prefer the local address over Dell's. Your wired interface would send an ARP request for that address and get it directly from the industrial machine, no gateway required. Thereafter, packets destined to that address would use the destination MAC address of the industrial machine.
That will work fine as you only use a cable for access, and as long as you never need to reach this machine from someplace else, and as long as the global routing table remains static.
That's a lot of ifs. You're better off avoiding the issue by using either a unique public address or something out of the private address pool.
It's likely that the subnet masks are throwing you off. As long as you keep in mind that the below rules no longer apply, you should be fine.
Ultimately classful addressing came down to the most significant (or "leading") bits in the address. Nothing more, nothing less.
- Class A: Most significant bits starts with
0
- Class B: Most significant bits start with
10
- Class C: Most significant bits start with
110
The "classes" came from the way they split up the address space for use between "host" and "network". Keep in mind that back then (way way back, from the days of ARPANET), subnet masks did not exist, and the network was intended to be inferred from the address itself. So, with the above in mind, this is what they came up with (this is intended to be binary representation - each N
or H
represents a single bit in the 32-bit address):
- Class A:
NNNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH
(less networks, more hosts)
- Class B:
NNNNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH
(more networks, less hosts)
- Class C:
NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
(even more networks, even less hosts)
Here the N
is representative of the network portion of the address, and the H
is representative of the host portion of the address, or as they called it back in the day, the "rest field."
Combining that with what was said earlier about the most-significant bits, we have the following:
- Class A: 0.0.0.0 - 127.255.255.255
- Class B: 128.0.0.0 - 191.255.255.255
- Class C: 192.0.0.0 - 223.255.255.255
Converting those ranges to binary may make this more clear:
Class A
0.0.0.0
-----------
[0]0000000.00000000.00000000.00000000
127.255.255.255
-----------
[0]1111111.11111111.11111111.11111111
^
most significant bit = 0
Class B
128.0.0.0
-----------
[10]000000.00000000.00000000.00000000
191.255.255.255
-----------
[10]111111.11111111.11111111.11111111
^
most significant bits = 10
Class C
192.0.0.0
-----------
[110]00000.00000000.00000000.00000000
223.255.255.255
-----------
[110]11111.11111111.11111111.11111111
^
most significant bits = 110
Every single address within those ranges will share a common leading bit(s). The moral of the story is, if you can remember what the leading bits are supposed to be (0 for class A, 10 for class B, 110 for class C) it's extremely simple to determine what "class" an address would have otherwise belonged in. Or, if decimal is easier:
- Class A: First octet in address is between 0 and 127, inclusive
- Class B: First octet in address is between 128 and 191, inclusive
- Class C: First octet in address is between 192 and 223, inclusive
The easiest way to mess someone up on "classful addressing" either on a test, or exam, or whatever, is to use misdirection by way of a subnet mask. Again, remember that the subnet mask does not apply for determining the class of an address. This is easy to forget because as others have said, classless addressing and routing have been around for over two decades now, and the subnet mask and CIDR notation have become ubiquitous in the industry.
Best Answer
The Internet Assigned Numbers Authority (IANA) is the authority for this. There are many pages maintained by it, including some that directly address what you want:
You can see things like: Address Block, Name, RFC, Allocation Date, Termination Date, Source, Destination, Forwardable, Globally Reachable, Reserved-by-Protocol.