Я изучаю Интернет (с заглавной буквой I, отличной от Интернета), и есть кое-что очень странное, чего я не до конца понимаю.
Насколько я понимаю, каждый компьютер в Интернете должен иметь IP-адрес, поэтому, если я захочу выполнить поиск в Google, мне нужно будет узнать адрес Google, чтобы спросить его. Конечно, мне не нужно помнить реальный адрес Google, я могу спросить мой локальный сервер имен через распознаватели, и он сам определит адрес. Но это означает, что мой компьютер также должен иметь уникальный IP-адрес, что очень странно, поскольку существует множество других компьютеров от других людей, а количество устройств намного превышает 4 миллиарда адресов, разрешенных IPv4. Прогресс развертывания IPv6 в настоящее время составляет 30%, поэтому это не может быть объяснением.
Позже я узнал, что большинство устройств подключены к Интернету через интернет-провайдера. В моем понимании интернет-провайдер имеет уникальный адрес, присваивает моему устройству номер (отличный от IP-адреса), а затем отправляет запросы (с флагами, которые определяют, что запрос поступил от меня) на компьютеры в Google. Когда он (провайдер) получает ответ, он читает флаг и знает, что должен дать ответ мне, а не кому-то другому. Так ли это на самом деле работает? Что у каждого провайдера в мире есть статический IP-адрес.
Также очень странно, что на прошлой неделе я пытался возиться с DigitalOcean и его каплями. Мне удалось настроить простой веб-сервер. Я работал с сайтами раньше, но вся моя работа была через cPanel, и я ничего не понимаю под этим. Затем DigitalOcean дал мне один простой уникальный IP-адрес (IPv4), по которому я могу перейти на веб-сайт. Я проверил со своими друзьями, чтобы увидеть, видят ли они то же самое или нет, и они сделали. Как это возможно? Я, конечно, не единственный клиент DigitalOcean, и этот простой проект, безусловно, не единственный проект, который они обслуживают, так как они могут назначить моему веб-сайту уникальный IP-адрес?
И в дополнение к этому, почему исчерпание IPv4 является проблемой, когда вы можете делать такие вещи? Я слышал о способах, которыми серверы могут задержать эту проблему. Может кто-нибудь объяснить, как они могут это сделать?