-1

Я пытаюсь выяснить, какой порт используется, когда мой компьютер связывается с моим маршрутизатором. Это тот же порт, который используется для службы, которую я использую, например, 80, когда я использую HTTP, или есть определенный порт для связи между компьютером и маршрутизатором?

2 ответа2

2

Там нет ни одного.

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

Например, ваш компьютер хочет отправить пакет DNS-запроса на 192.0.1.2 через UDP.

IPv4: source=1.0.0.1, dest=192.0.1.2,
 └ UDP: source_port=79846, dest_port=53,
    └ DNS: ...

Он добавляет соответствующий заголовок канального уровня (Ethernet, 802.3, Wi-Fi):

Ethernet: source=[computer's MAC], dest=[your router's MAC], type=IPv4, ├ liiink layerrr
 └ IPv4: source=1.0.0.1, dest=192.0.1.2,                                ├ internet layer
    └ UDP: source_port=79846, dest_port=53,                             ├ transport l-r.
       └ DNS: ...                                                       ├ application l.

Затем ваш маршрутизатор пересылает IP-пакет без изменений на следующий маршрутизатор:

Ethernet: source=[this router's MAC], dest=[next router's MAC], type=IPv4,
 └ IPv4: source=1.0.0.1, dest=192.0.1.2,
    └ UDP: source_port=79846, dest_port=53,
       └ DNS: ...

И так далее. Особых портов нет - единственное, что меняется между прыжками, - это адрес канального уровня (MAC-адрес для Ethernet и Wi-Fi).


Это относится даже к маршрутизаторам, выполняющим NAT (например, ваш домашний шлюз). Хотя они заглядывают в TCP/UDP и перезаписывают определенные номера портов (обычно это порт источника, а не порт назначения), они все равно ничего не меняют в том, что порты TCP являются сквозными. Что касается вашего компьютера , этот процесс NAT невидим, поэтому не имеет отношения к этому вопросу.


( За исключением: Маршрутизаторы понимают TCP и UDP, и может принимать и инициировать соединения TCP. Если вы отправляете пакеты на собственный IP-адрес маршрутизатора , он будет использовать обычный HTTP по TCP: 80, SSH по TCP: 22 и т.д. Они просто не делают этого при пересылке чужих пакетов.)

1

По обычному определению "порт" в данном случае оно относится конкретно к порту назначения TCP трафика, независимо от того, где в пути он находится. Это 80 Если вы определите "порт" как-то иначе, вы можете получить другой ответ для связи между компьютером и маршрутизатором. Люди используют слово "порт" для обозначения всевозможных вещей.

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

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