Як маршрутизатор знає, на який пристрій надсилати пакети? [дублікат]


15

моє запитання стосується не того, як він рухається через Інтернет, а як переміщення через роутер до певного пристрою. Усі пристрої, підключені до маршрутизатора в домашній мережі, мають однаковий зовнішній IP. Скажімо, пристрій A завантажує сторінку, і пакети надсилаються від зовнішнього джерела до маршрутизатора, оскільки пакети знають зовнішній IP-пристрій пристрою A і вони можуть дістатися до маршрутизатора. Але тепер, як це дістатися до пристрою A? Як маршрутизатор знає надсилати його на пристрій А замість пристрою В?

Я думаю, що це стосується NAT, але я просто шукаю логічне пояснення того, що NAT робить для цього.


Я не можу дати вам дуже конкретної відповіді, але маршрутизатор відстежує, куди йде запит і хто його надіслав. Коли зовнішнє джерело відповідає, маршрутизатор просто перевіряє, який пристрій намагався спочатку зв’язатися із зовнішнім джерелом, і передає відповідь на цей пристрій. Якщо вам потрібна додаткова інформація, загляньте в NAT.
Джек Хамфріс

Це питання належить
Superuser.com

Відповіді:


11

Коли ви ініціюєте з'єднання із зовнішнім сайтом, роутер щоразу використовує інший номер вихідного порту ... він потім використовує цей номер вихідного порту (куди повертаються дані) як ключ для пошуку на якій машині. Ваша внутрішня мережа, з якої надходив запит. Це називається трансляція адрес PORT (на відміну від перекладу мережевих адрес, коли у вашого маршрутизатора доступно декілька мережевих адрес).


1
це пояснило б такі речі, як TCP-з'єднання, але деякі програми не пов'язані. Що з пакетами UDP? Що робити, якщо ви розміщуєте сервер на 1 пристрої, навіть якщо він використовує TCP для з’єднання, він не зможе ініціалізувати з'єднання, не знаючи маршрутизатор, на якому пристрої працює сервер.

1
Для підключення UDP зазвичай потрібно заздалегідь визначити порт на маршрутизаторі, який можна використовувати для маршрутизації до певного пристрою. Це особливість "переадресації портів" маршрутизаторів, і його можна використовувати як для вхідних пакетів UDP (як відповідь на вихідне повідомлення, так і для нового вхідного пакету), а також для вхідних пакетів TCP (наприклад, замість них ініційований віддаленим клієнтом вашого власного ПК.)
Майкл Брей

1

Зазвичай усі пристрої з домашньої мережі мають різну внутрішню адресу (приватна адреса, завжди 192.168.0.1 ~ 192.168.0.255).

Коли пакет надсилається з домашньої мережі (скажімо, пристрій A: 192.168.0.123), коли він проходить через маршрутизатор, маршрутизатор переведе приватну адресу на зовнішню адресу маршрутизатора (припустимо, це 140.191.2.5), і маршрутизатор також запише це відображення в ньому NAT.

Коли відповідь повертається, маршрутизатор, який відображає NAT, і знаходить оригінальне джерело - Пристрій А.

тому пристрій А зрештою отримує пакет.

Це лише концепція, для більш детальної інформації зверніться до wiki: NAT.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.