how/network
Как пакет долетает от твоего ноута до Google за 10-15 хопов? Каждый роутер знает только «куда передать дальше» - и этого хватает.
Когда ты пингуешь 8.8.8.8 - пакет проходит через 5-15
роутеров прежде чем добраться до Google. Странно: интернет
гигантский, как роутеры умудряются «знать дорогу»?
Простой ответ: никто не знает «всю карту интернета». Каждый роутер знает только свой маленький кусочек: «сеть X у меня на интерфейсе Y, а всё остальное - отдай вон тому соседу». Эта hop-by-hop-логика и делает интернет масштабируемым.
Нажми ▶ - посмотрим как один пакет проходит через 3 роутера, как каждый из них принимает решение, и почему TTL обязан декрементироваться.
Клиент с IP 10.0.0.5 хочет отправить пакет на
203.0.113.45. Стек смотрит в routing-table:
10.0.0.0/24 dev eth0 - наша сетьdefault via 10.0.0.1 - всё остальное идёт через шлюз R1Адрес 203.0.113.45 под наш /24 не подпадает → используем
default-gateway. Пакет уходит на R1 со стартовым TTL=64
(дефолт Linux).
итого
Что важно запомнить:
/24 бьёт /16, /16 бьёт /0ip route. Поиграться с маршрутами можно
без перезагрузки: добавил ip route add, удалил ip route delЕсли хочешь покрутить руками - есть lab где собирается топология из 3 нод и пакет идёт через них с tcpdump-наблюдением.