Network Emulator
Программа Network Emulator была задумана в начале 1997 года. Проект превратился, по сути, в программу, обучающую ее пользователя всем тонкостям технологии на разных уровнях: от базовых понятий до особенностей обработки отдельных полей сетевых пакетов. Программа прошла путь от простейшего «роутера пакетов» до интеллектуального организатора виртуальных машин: на любом из компьютеров можно запустить несколько программ-аналогов настоящих приложений. Все они будут исполняться одновременно.
В дальнейшем появилось и другое «призвание» Network Emulator: обучение студентов принципу администрирования IP-сетей. Данное направление использования было с успехом реализовано в процессе проведения лабораторных работ по предмету "Сети ЭВМ" в Ульяновском Государственном Техническом Университете.
Данный симулятор включает в себя следующие возможности и технологии:
· маршрутизация, система моделирования каналов, IP-фильтрация;
· типы пакетов: ICMP, UDP, TCP, а так же низкоуровневые ARP-запросы;
· концепция интерфейсов и сокетов (простой, дейтаграммный и потоковый);
· эмуляция хостов, коммутаторов второго уровня и концентраторов;
· установка уровня помех на канале;
· связывание нескольких Network Emulator через реальную сеть TCP/IP [10].
В рамках курса лабораторные работы будут выполняться на Cisco Packet Tracer 4.0.
Cisco Packet Tracer 4.0 специально разработан для начала изучения современных телекоммуникационных систем, и больше других симуляторов соответствует данной задаче.
2 Cisco Packet Tracer
Данный симулятор позволяет студентам проектировать свои собственные сети, создавая и отправляя различные пакеты данных, сохранять и комментировать свою работу. Студенты могут изучать и использовать такие сетевые устройства, как коммутаторы второго и третьего уровней, рабочие станции, определять типы связей между ними и соединять их. После того, как сеть спроектирована, студенты могут приступать к конфигурированию выбранных устройств посредством терминального доступа или командной строки (см. рис.2.1).
Рис.2.1 Cisco Packet Tracer 4.0
Отличительной особенностью данного симулятора является наличие в нем «Режима симуляции» (рис.2.2). В данном режиме все пакеты, пересылаемые внутри сети, отображаются графически. Эта возможность позволяет студентам наглядно продемонстрировать, по какому интерфейсу в данные момент перемещается пакет, какой протокол используется и т.д.
Рис.2.2 Режим «Симуляции» в Cisco Packet Tracer 4.0
Однако, это не все преимущества Packet Tracer: в «Режиме симуляции» студент может не только отслеживать используемые протоколы, но и видеть, на каком из семи уровней модели OSI данный протокол задействован (см.рис.2.3).
Рис.2.3 Анализ семиуровневой модели OSI в Cisco Packet Tracer 4.0
Такая кажущаяся на первый взгляд простота и наглядность делает практические занятия чрезвычайно полезными, совмещая в них как получение, так и закрепление полученного материала.
Packet Tracer способен моделировать большое количество устройств различного назначения, а так же немало различных типов связей, что позволяет проектировать сети любого размера на высоком уровне сложности:
моделируемые устройства:
· коммутаторы третьего уровня:
o Router 2620 XM;
o Router 2621 XM;
o Router-PT.
· Коммутаторы второго уровня:
o Switch 2950-24;
o Switch 2950T;
o Switch-PT;
o соединение типа «мост» Bridge-PT.
· Сетевые концентраторы:
o Hub-PT;
o повторитель Repeater-PT.
· Оконечные устройства:
o рабочая станция PC-PT;
o сервер Server-PT;
o принтер Printer-PT.
· Беспроводные устройства:
o точка доступа AccessPoint-PT.
· Глобальная сеть WAN.
Типы связей:
o консоль;
o медный кабель без перекрещивания (прямой кабель);
o медный кабель с перекрещиванием (кросс-кабель);
o волоконно-оптический кабель;
o телефонная линия;
o Serial DCE;
o Serial DTE.
Так же целесообразно привести те протоколы, которые студент может отслеживать:
· ARP;
· CDP;
· DHCP;
· EIGRP;
· ICMP;
· RIP;
· TCP;
· UDP.
3 Описание терминального режима
Маршрутизатор конфигурируется в командной строке операционной системы Cisco IOS. Подсоединение к маршрутизатору осуществляется через Telnet на IP-адрес любого из его интерфейсов или с помощью любой терминальной программы через последовательный порт компьютера, связанный с консольным портом маршрутизатора. Последний способ предпочтительнее, потому что процесс конфигурирования маршрутизатора может изменять параметры IP-интерфейсов, что приведет к потере соединения, установленного через Telnet. Кроме того, по соображениям безопасности доступ к маршрутизатору через Telnet следует запретить [8].
В рамках данного курса конфигурация маршрутизаторов будет осуществляться посредством терминала.
При работе в командной строке Cisco IOS существует несколько контекстов (режимов ввода команд).
Контекст пользователяоткрывается при подсоединении к маршрутизатору; обычно при подключении через сеть требуется пароль, а при подключении через консольный порт пароль не нужен. В этот же контекст командная строка автоматически переходит при продолжительном отсутствии ввода в контексте администратора. В контексте пользователя доступны только простые команды (некоторые базовые операции для мониторинга), не влияющие на конфигурацию маршрутизатора. Вид приглашения командной строки:
router> |
Вместо слова router выводится имя маршрутизатора, если оно установлено.
Контекст администратора (контекст "exec") открывается командой enable, поданной в контексте пользователя; при этом обычно требуется пароль администратора. В контексте администратора доступны команды, позволяющие получить полную информацию о конфигурации маршрутизатора и его состоянии, команды перехода в режим конфигурирования, команды сохранения и загрузки конфигурации. Вид приглашения командной строки:
router# |
Обратный переход в контекст пользователя производится по команде disable или по истечении установленного времени неактивности. Завершение сеанса работы - команда exit.
Глобальный контекст конфигурированияоткрывается командой config terminal ("конфигурировать через терминал"), поданной в контексте администратора. Глобальный контекст конфигурирования содержит как непосредственно команды конфигурирования маршрутизатора, так и команды перехода в контексты конфигурирования подсистем маршрутизатора, например:
контекст конфигурирования интерфейса
открывается командой interface имя_интерфейса (например interface serial0), поданной в глобальном контексте конфигурирования;
контекст конфигурирования процесса динамической маршрутизации
открывается командой router протокол номер_процесса (например, router ospf 1, поданной в глобальном контексте конфигурирования.
Существует множество других контекстов конфигурирования. Некоторые контексты конфигурирования находятся внутри других контекстов конфигурирования.
Вид приглашения командной строки в контекстах конфигурирования, которые будут встречаться наиболее часто:
router(config)# /глобальный/
router(config-if)# /интерфейса/
rounter(config-router)# /динамической маршрутизации/
rounter(config-line)# /терминальной линии/
ВАЖНО! Студенты должны запомнить вид приглашений командой строки во всех вышеуказанных контекстах и правила перехода из контекста в контекст. В дальнейшем примеры команд всегда будут даваться вместе с приглашениями, из которых студенты должны определять контекст, в котором подается команда. Примеры не будут содержать указаний, как попасть в необходимый контекст.
Выход из глобального контекста конфигурирования в контекст администратора, а также выход из любого подконтекста конфигурирования в контекст верхнего уровня производится командой exit или Ctrl-Z. Кроме того, команда end, поданная в любом из контекстов конфигурирования немедленно завершает процесс конфигурирования и возвращает оператора в контекст администратора.
ВАЖНО! Любая команда конфигурации вступает в действие немедленно после ввода, а не после возврата в контекст администратора.
Упрощенная схема контекстов представлена на рис.3.1.
Рис.3.1. Схема контекстов Cisco IOS
Все команды и параметры могут быть сокращены (например, "enable" - "en", "configure terminal" - "conf t"); если сокращение окажется неоднозначным, маршрутизатор сообщит об этом, а по нажатию табуляции выдаст варианты, соответствующие введенному фрагменту [2].
В любом месте командной строки для получения помощи может быть использован вопросительный знак:
router#? /список всех команд данного контекста с
комментариями/
router#co? /список всех слов в этом контексте ввода,
начинающихся на "co" - нет пробела перед "?"/
router#conf ? /список всех параметров, которые могут
следовать за командой config - перед "?" есть пробел/
Подробнее о конфигурировании устройств можно узнать из [1], [2], [8].
4 Список команд
Данный список команд сгруппирован в соответствии с контекстами, в котором они [команды] применяются. В данном списке собраны те команды конфигурирования, которые необходимы для выполнения всех лабораторных работ.