Ваше запитання стосується серця Інтернету та самого визначення маршруту. У вашому прикладі маршрутизатор D надсилає дані на комп'ютер A на основі двох приміщень:
- Повідомлено надсилати дані на комп’ютер А.
- Це вже оброблені дані з комп’ютера А.
Здається, ваш сценарій передбачає перший варіант - Маршрутизатор D хоче відправити на Комп'ютер А. Але як це дістатися? Це відбувається завдяки використанню таблиць маршрутизації, які спільно використовуються маршрутизаторами.
Маршрутизатор C регулярно надсилає оновлення всім маршрутизаторам, про які знає - включаючи маршрутизатор D - про те, що він "знає" мережу "192.168. ігноруйте це.) Отже, маршрутизатор D вже знає, що маршрутизатор C знає цю мережу.
Отже, коли дані призначені для комп’ютера A, він спочатку адресується мережею. Отже, маршрутизатор D запитує: "Мені потрібно знайти мережу 192.168. * Я це знаю? Ні. Чи я знаю когось іншого, хто це робить? Так. Маршрутизатор C робить. Як дістатися до маршрутизатора C? Через свій 2.2. 2.2 інтерфейс. "
Потім маршрутизатор D надсилає дані до маршрутизатора C. Маршрутизатор C отримує їх і каже: "О, у мене є дані маршрутизатора D, але це для мережі 192.168. Чи знаю я цю мережу? Так, через мою мережу 192.168.1.1" І тоді пересилає його.
Існує ще якась робота для вирішення IP-адреси та MAC-адреси, але я висвітлюю маршрутизацію, як не, а не ARP та локальні мережі.
Ви помітите своє перше припущення - віддалений маршрутизатор повинен знати механізм маршрутизації - тут не грає. Маршрутизатор D не хвилює, чи маршрутизатор C використовує EIGRP, RIP, RIPv2, OSPF або інше. Важливо лише те, що він отримав оновлення. (Звичайно, важливо , як вони отримали оновлення, щоб забезпечити підтримку обох в синхроні. Але знову ж таки, це інша проблема.)
Ваше друге припущення - що номер порту є фактором маршрутизації - також є невірним. Маршрутизаторам (як правило) не потрібна інформація про порт для прийняття маршрутизаційних рішень. (Це дещо змінилося, завдяки деяким новим мережевим технологіям і стосується переважно брандмауерів та проксі-серверів, але все ж більш широке припущення все ще стосується "справжніх" маршрутизаторів.)
Продовжуючи ваш приклад, маршрутизатор C передасть дані по порту 1000 (за вашим сценарієм), тому що можливо, на комп'ютері A очікуються дані на цьому конкретному порту. Але це знає лише тому, що маршрутизатор D надіслав його на порт 1000. А маршрутизатор D надсилає його лише на той порт, тому що джерело даних передав його маршрутизатору D на цьому порту.
Я не розумію, що ваше включення програм bittorrent або P2P відображає питання, яке ви задаєте. Ті ж пояснення застосовувалися б. Маршрутизатори також можуть бути налаштовані за допомогою запуску порту, який асоціює певний пристрій (або IP) з певним портом. Такий, що, коли трафік надходить у порт 1234, маршрутизатори знають надсилати дані на пристрій ABCD. Зазвичай це пов'язано з вихідним портом TCP. тобто якщо я надішлю трафік через порт 7890, маршрутизатор знає, що надходить трафік буде на порт 1234 і надішле мені його.
Але запуск порту не пов'язаний з (віддаленими) рішеннями про маршрутизацію - натомість це стосується внутрішньої таблиці MAC / IP, яку маршрутизатор використовує для локальної мережі.
Оновлення / редагування : для подальшої відповіді та уточнення після коментаря. Маршрутизатор D знає комп'ютер A лише за його IP-адресою (192.168.2.2). Але маршрутизатор C знає комп'ютер A за його IP-адресою та за MAC-адресою. MAC (Media Access Control) - це унікальний (зазвичай ...) 48-розрядний ідентифікатор, який визначається міжнародним стандартом. Кожен пристрій, підключений до локальної мережі (дротовий та бездротовий), повинен мати унікальну MAC-адресу.
Маршрутизатор (маршрутизатор C) асоціює IP-адресу та MAC-адресу разом у таблиці (таблиця MAC-адреси). Отже, коли трафік надходить у маршрутизатор C, і маршрутизатор усвідомлює свою "локальну" для нього, він здійснює пошук таблиці MAC-адрес. Потім маршрутизатор буквально змінює інформацію про адресацію кадру.
Він реконструює (переписує) інформацію про місце 2 рівня, щоб мати MAC-адресу призначення комп’ютера A, але зберігає інформацію про IP-адресу (рівень 3) такою ж.
Якщо маршрут НЕ знає MAC-адресу. Або не має зв’язку IP-MAC у своїй таблиці, він робить щось, що називається ARP (протокол вирішення адреси), щоб запитати "ВОЙ, всі в цій мережі. У вас є ця MAC-адреса?" Або іноді - «Усі, яка ваша MAC-адреса?»). Відповідний пристрій / пристрої реагують і маршрутизатор створює свою таблицю IP-MAC.