@caskd And what if two devices on the network use the same IP?
@caskd So the only thing that stops Comcast from using Verizon’s IPs is that they just don’t?
so the important thing to remember here about the protections about using multiple IPs and all that is the idea of subnets.
When you own a static IP, such as from verison you arent just given an IP and thats the end of it on some massive network.. You are given a subnet of public IPs, that is, you are given one or more IP addresses and the subnet which determines them.
A router has the local side NIC and the public side NIC. Lets assume this router is controlled by verizon (you can add more routers in between and run your own but your still behind one from verizon).
The local NIC of the router is on the same subnet as your own public static IP. What this means is that if you own 2 ip addresses your subnet mast would be 255.255.255.252 another way you could express that is 1.2.3.4/30.
This is important because the subnet mask tells the router what is yours and what is not yours, but it also tells every computer on the network automatically. No one needs to "tell" the router anything nor does a box with on of your ip addresses need to "tell" the other ip address it is local.
So if you tried to be mischievous and setup some local box with a static IP that you dont own it will inherently be out of the network mask of both the router and your other two computers. the router would effectively treat it like it isnt even part of the network its on.
As an added aside if you send a package to an ip from your computer your computer itself already knows if this needs to go to the router and out to the wider internet or if its local to the local subnet due to your subnet mask.. the internal NIC of the router simply ignores any local traffic that is from one ip to another in the same subnet anyway and the computer sending it wont attempt to do anything special.
But when you try to send a packet to a machine that isnt on your local subnet your local machine as well as the router is aware of that. Your local machine checks the gateway IP in that case (the ip of the router) and sends the packet there and asks it to forward it, since the destination isnt in the subnet the router will forward it to the correct destination. So even if you wanted to be naughty and setup a local static ip that wasn't one you owned, assuming you setup the subnet masks right the ip would still get to the correct destination.
Now the gateway IP i mentioned **is** set on your local computer along with your IP and netmask.. So in reality it isnt that you tell the router what IP your using with static IPs but the other way around, you tell your computer what IP the router is using. With DHCP the gateway IP is sent as a piece of data along side your assigned IP with the DHCP packet as well.
Another point to prove this out is that even though your used to the DHCP server existing on the router in fact it doesn't have to and even with the DHCP the router itself need not know anything about DHCP. It is perfectly fine to have your DHCP server running on an arbitrary computer on your network completely separate from, and not communicating with, your router. In fact in this setup it is quite common that the router gets its own IP from the DHCP server, not the other way around. At least the local side NIC anyway.