2012-04-21 3 views
0

Для одного из моих курсов я пишу Java-апплет, который имитирует сетевую активность. У меня есть хост-машина, которая хранит таблицу ARP MAC-адреса на IP-адрес, а затем у меня есть переключатель, который отслеживает, какой MAC-адрес подключен к физическому порту. (интерфейс)Моделирование маршрутизатора

Вопрос в том, как имитировать маршрутизатор. По моему мнению, хост выполнит вычисление исходящего IP-адреса, чтобы определить, находится ли этот IP-адрес в сети, если он не является, хост отправляет пакет на шлюз по умолчанию (путем поиска MAC-адреса IP-адреса шлюз по умолчанию), в этом случае маршрутизатор. Теперь маршрутизатор будет иметь по меньшей мере два интерфейса в двух разных сетях.

Итак, моя теория заключается в том, что маршрутизатор будет смотреть на IP-адрес получателя и передавать пакет по правому интерфейсу, на котором есть эта сеть. Но тогда маршрутизаторы имеют «шлюзы по умолчанию», где, если ни один из этих интерфейсов не находится в целевой сети, может ли маршрутизатор просто передать его другому маршрутизатору?

ответ

1

Не совсем. Маршрутизаторы имеют таблицы маршрутизации. Они берут адрес назначения пакета и находят маршрут к этому месту назначения. Алгоритм, который они используют, в основном, «самый длинный матч» (или «наиболее конкретный матч»).

Чтобы реализовать эквивалент шлюза по умолчанию, вы размещаете маршрут по умолчанию, то есть маршрут с пунктом назначения 0.0.0.0/0. Это будет соответствовать каждому пакету (поскольку каждый пакет находится в этой сети), но он всегда будет худшим.

Вот анонимная таблица маршрутизации от одного из моих маршрутизаторов:

C x.y.z.104/29 is directly connected, FastEthernet0/0 
S 10.0.0.0/8 is directly connected, Null0 
S 192.168.0.0/24 [1/0] is directory connected, FastEthernet 1/0 
S* 0.0.0.0/0 [1/0] via x.y.z.1 
S 192.168.0.0/16 is directly connected, Null0 

Первый маршрутом является публичной LAN. Третий маршрут - частная локальная сеть. Обратите внимание на два маршрута «Null0», чтобы остановить трафик на неиспользуемые частные IP-адреса, чтобы не отправлять маршрут по умолчанию моему провайдеру. Маршрут по умолчанию - маршрут по умолчанию.

Обратите внимание, что большинство устройств, которые мы обычно считаем конечными системами, в действительности являются маршрутизаторами. Типичные операционные системы для ПК и сервера также имеют возможности маршрутизатора, поэтому они внутренне используют таблицы маршрутизации, показатели и самое длинное совпадение.

0

Маршрутизаторы могут иметь маршруты по умолчанию. В самом длинном префиксном совпадении, запись/0 будет указывать на маршрут по умолчанию.