Данил молодец, хорошо рисуешь
принцип очень прос - любой хост имеет путь по умолчанию (ну, можно и не иметь,в общем-то) и таблицу маршрутизации - через какой хост слать к какой сети
в самом простом случае эта таблица содержит одну строку - родную сеть (ну и вторую - локалхост)
дальше хост в любом пакете смотрит - адрес целевой сети относится к кому-то в таблице ? если нет -выкидывает его на узел по умолчанию, на том узле - все повторяется и т.д. пока не дойдет до целевого
угу, при крывых руках может ходить по кругу, для этого есть ttl (или хз как , забыл) с прохождением каждого узла уменьшаюшийся , кто ловит ttl 1 - дропает пакет