Я пытаюсь выяснить, какой порт используется, когда мой компьютер связывается с моим маршрутизатором. Это тот же порт, который используется для службы, которую я использую, например, 80, когда я использую HTTP, или есть определенный порт для связи между компьютером и маршрутизатором?
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 и т.д. Они просто не делают этого при пересылке чужих пакетов.)
По обычному определению "порт" в данном случае оно относится конкретно к порту назначения TCP трафика, независимо от того, где в пути он находится. Это 80 Если вы определите "порт" как-то иначе, вы можете получить другой ответ для связи между компьютером и маршрутизатором. Люди используют слово "порт" для обозначения всевозможных вещей.
Нет трафика с вашего компьютера на маршрутизатор, а также трафика с вашего компьютера на веб-сайт. Те же самые пакеты, которые ваш компьютер отправляет непосредственно маршрутизатору, являются теми, которые приводят к отправке пакетов на веб-сайт. Считаете ли вы их одинаковыми пакетами или нет, это вопрос определения.