2

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

И это

  • типичная домашняя сеть состоит из множества устройств с уникально выданными IP-адресами, например, 192.168.1.1 , 192.168.1.2 т. д.
  • Эта же сеть подключается к Интернету через один "публичный" IP-адрес

Мне интересно знать, когда удаленный сервер отправляет ответ на запрос домашнего компьютера, как пакеты ответа могут однозначно идентифицировать компьютер пользователя, когда - и я делаю предположение, что здесь может быть неправильно - что удаленный сервер способен только "видеть" общий публичный IP-адрес сети?

1 ответ1

3

IP-адрес - не единственное, что видит удаленный сервер. Он также видит порт. Порт является 16-разрядным целым числом.

Думайте о компьютере как о жилом доме. IP похож на уличный адрес. Порт определяет, какая квартира. Таким образом, браузер, почтовый клиент и т.д. Все работают на одном IP-адресе, принадлежащем компьютеру, но каждому из них предоставляется ОС один или несколько уникальных портов для использования.

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

Когда общедоступный сервер отвечает, он отправляет пакет обратно общедоступному IP-адресу и номеру порта, который ему был присвоен. Брандмауэр получает этот пакет и отправляет его на тот компьютер, который инициировал подключение к этому порту.

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

Некоторые общие номера портов

Когда ваш браузер отправляет запрос на некоторый удаленный сервер, этот запрос, скорее всего, отправляется на порт 80 удаленного сервера.

  • 22 = сш
  • 25 = smtp (почта)
  • 53 = DNS (сервер доменных имен)
  • 80 = http
  • 194 = IRC
  • 220 = IMAP
  • 993 = POP (почта)

Обычно порты с небольшим числом, до 1024, зарезервированы для использования операционной системой. Порты с большими номерами, возможно от 32000 до 65535, используются пользовательскими приложениями, такими как браузеры.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .