In the case of Dial-up and DSL phone-line modems, as well as modems that use cell networks, all modems must have a phone number that is dialed, as if they are telephones. I can confim this by looking at the admin page of my cell modem when it has a SIM card in it. It shows the "phone number" of my modem.
My question is, (forgive me if I'm incorrect about any facts, feel free to call me out) how can an IP address be resolved to a phone number to connect to a (for example) dial-up modem?
Say, for example, I have a friend that still somehow has a dial-up internet connection. Suppose I have fiber optic internet, and I want to connect to a web server running on his computer, because he doesn't want to pay for cloud hosting. (I know that hosting a web server computer on a network with a dial-up connection is an extremely bad idea, but just go with it). My computer will be connected to my FO modem through an ethernet router, but my friend's computer will be directly connected via ethernet to the his DU modem (no router).
This should be the approximate path that my computer would use to connect to the web server (I'll be skipping over the details of the TCP protocol, just suppose all packets arrive perfectly):
- My computer (the web browser specifically) first creates a packet to 162.178.34.20 (my friend's IP address) port 80, from 162.127.98.70 (my IP address) port 29963 with the following content:
GET / HTTP/1.1
Host: 162.176.34.20
Accept: */*
The packet gets sent over an ethernet cable to my ethernet router, which detects that the destination IP address is not in this network, and sends it along another ethernet cable, to my FO modem.
My FO modem translates the packet data into beams of light that are sent super quickly to my ISP via a fiber optic cable.
Somehow (details not important), the packet data goes from router to router and eventually ends up at my friend's ISP.
The packet gets translated into telephone signals by a modem at my friend's ISP.
SOMEHOW (this part is my question) the ISP figures out that this IP address corrasponds to a certain phone number, and dials that phone number. My friend's modem picks up the line, and his ISP sends the packet data via a plain old phone line.
My friend's modem sends the data to my friend's computer over an ethernet line, NOT going through a router.
My friend's computer (specifically the web server), processes the recieved packet data and creates a new packet to 162.127.98.70 (my IP address) port 29963, from 162.178.34.20 (my friend's IP address) port 80 with the following content:
HTTP/1.1 200 OK
Content-Type: text/html
Server: friends-server
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Hello World!</title>
</head>
<body>
<h1>Welcome to My Website</h1>
<p>I'm a guy who's stuck in the past, and can't get new internet.</p>
</body>
</html>
The packet data is sent back to my friend's modem, it translates the data into telephone signals, and again, this is my question, the router SOMEHOW figures out the ISP's phone number, sends them the data, and the entire process happens in reverse.
Lastly, once my computer has recieved the data, my web browser begins parsing the HTTP, and gets the HTML from it. It then renders it to my screen, and I can see his web page. (YAAAAAY!)
Note: to simplify the process, I left out the DNS system. Just imagine that to browse to his website, I typed in http://162.178.34.20/ and that's it.
I sincerely appoligize for the extra long question, but let me remind you the main point: How are IP addresses resolved to phone numbers for Dial-Up modems? Also, let me note that there is ABSOLUTELY NO WIRELESS NETWORKING INVOLVED in this process. I hate WiFi.