Ну ты спраштвай, если что...
Хотя тут, вроде, все просто:
TNetPacket - это пакет, который "путешествует" по сети
TRouter - классс, представляющий из себя маршрутизатор. Кстати, можно там сделать переключатель типа hub/router. В первом случае он просто копирует пакет всем клиентам, во втором - только тому, у кого совпадает MAC-адрес (ну тут надо почитать как устроены Ethernet сети)
TComputer - класс, представляющий сетевого клиента (копмьютер/принтер/etc).
Ну а танцы с функцией GetRouter и переменной _Router - это просто обеспечить, что роутер будет всего один. Т.е. тут вопрос того, как точно надо съэмулировать реальную сетку. В реальной сетке процесс включения устройства в сеть происходит довольно сложно. Сначала клиент посылает AR-запрос, который передается всем доступным сетевым устройствам. Контроллер(ы) сети (DHCP) отвечают на этот запрос (остальные его иггорируют). по получению ответа, клиент посылает запрос на IP-адрес, DHCP выдает адрес клиенту, после чего клиент фактически готов работать в сети.
И это упрощенная схема, там есть еще куча нюансов (типа если DHCP в другой подседке, есть еще инициализация сетей более высокого уровня, типа AD или LDAP).Не думаю, что тебе все это надо. Соотсветсвенно, просто роутер будет только один... и без UpLink'а (т.е. выхода во внешнюю сеть).
|