Как веб-запрос определяет географическое местоположение

Как веб-запрос определяет географическое местоположение

Я довольно много читал о слоях интернета, но так и не нашел ответа. Допустим, вы находитесь в городе x, а сервер находится в городе y. Кто контролирует и как они контролируют, по каким путям идут данные на протяжении многих миль проводки? Кроме того, как только данные достигают города y, как они отправляют данные по правильному пути в дом или определенное место сервера.

У меня был очень похожий вопрос относительно мобильных телефонов, но если это не тот форум, то, пожалуйста, проигнорируйте эту часть вопроса и сосредоточьтесь на вопросе выше: когда звонок поступает на номер телефона xxx-xxxx, номер xxx-xxxy слышит запрос и просто игнорирует его?

решение1

На самом деле вы задаете два вопроса. Знание того, где вы физически находитесь в мире, отличается от фактического направления трафика к вам. Ирония в том, что веб-сайту вообще не нужно знать, где вы находитесь, и знание того, где вы находитесь, не помогает ему направлять трафик к вам.

Определение вашего географического положения:
В типичной домашней сетевой настройке ваш маршрутизатор имеет публичный IP-адрес, назначенный ему вашим интернет-провайдером, который виден всем остальным в мире. Вашему интернет-провайдеру был выделен блок адресов каким-то региональным органом, который отличается в зависимости от страны, но в конечном итоге получен от Internet Assigned Numbers Authority (IANA).

IANA ведет базу данных всех IP-блоков в Интернете, кому они были назначены и где они расположены. IANA также ведет сеть серверов по всему миру, которые также хранят списки всех доменных имен в Интернете. Эти базы данных являются общедоступными; любой пользователь Интернета может найти информацию, содержащуюся в них.

Когда вы делаете веб-запрос, ваш публичный IP-адрес становится известен этому серверу. Никакой магии или обратного отслеживания не требуется, чтобы узнать, где вы находитесь в мире. Поскольку блоки IP-адресов назначаются географическим регионам, веб-сайт может просто найти вас и узнать (по крайней мере, до города), где вы физически находитесь.

Как данные передаются вам:
В дополнение к публичному IP-адресу, который вам дал ваш провайдер, ваш маршрутизатор также имеет частный IP-адрес, который виден только компьютерам в вашей сети. Ваш маршрутизатор становится вашимшлюз по умолчанию.

Допустим, вы заходите на сайт Google, адрес которого 173.194.33.112. Ваш компьютер не знает, как достичь этого адреса, поэтому он отправляет запрос на ваш шлюз по умолчанию (ваш маршрутизатор) и верит, что знает, как туда попасть.

Проблема в том, что ваш маршрутизатор также не знает, как получить доступ к этому адресу, поэтому он пересылает запрос на свой шлюз по умолчанию (который является маршрутизатором, принадлежащим вашему интернет-провайдеру), полагая, чтоэтознает, как добраться до этого адреса.

Маршрутизатор интернет-провайдера, вероятно, также не знает, как добраться до этого адреса, поэтому он пересылает ваш запрос на еще один шлюз (который может быть маршрутизатором другого интернет-провайдера), полагая, что ИТ-отдел знает, как добраться до этого адреса.

Этот процесс повторяется снова и снова столько раз, сколько необходимо, пока, наконец, какой-то маршрутизатор в какой-то сети где-то в мире не узнает, как связаться с одним из маршрутизаторов Google, который сможет взяться за дело оттуда.

Каждый "прыжок" по пути не несет никакой информации о других прыжках. Единственное, что необходимо для передачи трафика из точки А в точку Б, — это адрес назначения (куда вы пытаетесь попасть) и исходный адрес вашего компьютера (чтобы пункт назначения мог вам ответить). Вот и все. Ответ проходит тот же многопрыжковый путь обратно к вам.

Это происходит с каждым пакетом. Миллионы раз в секунду. Честно говоря, удивительно, что это работает так хорошо. Ни один маршрутизатор в Интернете не имеет полной картины всего Интернета. Это просто невозможно; Интернет слишком большой.

Итак, как вы видите, зная,гдеты есть, и знаякаксвязаться с вами — это две совершенно разные вещи, и одно не обязательно для другого.

решение2

Короткий ответ заключается в том, что каждое устройство имеет столько информации, сколько ему нужно, чтобы понять, какому устройству передать информацию следующим. Эта информация либо включена в информацию, которую оно получает, либо хранится локально в этом устройстве (часто некоторая комбинация).

Например, у моего компьютера достаточно информации, чтобы определить, следует ли отправлять пакет на другой компьютер в моей локальной сети или на мой маршрутизатор. Это все, что ему нужно. Каждый пакет включает в себя IP-адрес назначения, компьютер знает, какие IP-адреса назначения входят в мою локальную сеть, и компьютер знает, как переслать пакет на мой маршрутизатор, если его IP-адрес находится за пределами этого диапазона.

Аналогично, мой маршрутизатор имеет достаточно информации, чтобы знать, следует ли передавать данные устройству в моей локальной сети или моему интернет-провайдеру. Это все, что ему нужно. Устройство, к которому подключен мой маршрутизатор, имеет достаточно информации, чтобы определить, следует ли передавать трафик одному из клиентов, напрямую подключенных к нему, или нет, и это все, что ему нужно.

В конце концов, вы получите "основные" маршрутизаторы, которые определяют, к какому провайдеру должен идти трафик, и находят маршрут "к" этому провайдеру. Они также применяют политику и гарантируют, что трафик из A в C проходит только через B, если B согласился передавать этот трафик. Глобальная структура маршрутизации Интернета поддерживается связью между основными маршрутизаторами с использованием протокола, называемогоБГП.

Ответ на ваш вопрос о мобильном телефоне зависит от конкретной используемой технологии. Это может быть так или нет, но практически во всех схемах трафик шифруется, и другие устройства не будут иметь ключа. Как правило, устройство получает некоторую часть трафика, отправленного на другие устройства, но редко весь.

Связанный контент