Содержание:
Техническое задание | 2 |
Введение | 3 |
Глава 1. Теоретическая часть | |
Выбор языка программирования | 4 |
Понятие протокола канального уровня | 5 |
Обзор протокола HDLC | 6 |
Глава 2. Программная часть | |
Описание алгоритма работы программы | 13 |
Описание интерфейса | 15 |
Заключение. | 17 |
Список используемой литературы. | 18 |
Приложение. | 19 |
Техническое задание
Разработать программу имитации передачи информации через протокол канального уровня HDLC.
Введение
HDLC - протокол высокоуровнего управления каналом передачи данных, является опубликованным ISO стандартом и базовым для построения других протоколов канального уровня (SDLC, LAP, LAPB, LAPD, LAPX и LLC). Он реализует механизм управления потоком посредством непрерывного ARQ (скользящее окно) и имеет необязательные возможности (опции), поддерживающие полудуплексную и полнодуплексную передачу, одноточечную и многоточечную конфигурации, а так же коммутируемые и некоммутируемые каналы.
Выбор языка программирования
Потребность в разработке и применении эффективных и адекватных реальной действительности компьютерных программ и технологий сегодня возрастает. Компьютерная технология незаменима, поскольку она даёт возможность оптимизировать и рационализировать управленческую функцию за счет применения новых средств сбора, передачи и преобразования информации.
Выпускная работа написана в программной среде Delphi. Это наводит на вопрос, а почему выбран именно этот язык программирования?
Delphi обладает широким набором возможностей, начиная от проектировщика форм и кончая поддержкой всех форматов популярных баз данных. Среда устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели. Работая в Windows , вы неоднократно видели одинаковые «объекты» во многих разнообразных приложениях. Диалоговые панели (например, Choose File и Save File) являются примерами многократно используемых компонентов, встроенных непосредственно в Delphi, который позволяет приспособить эти компоненты к имеющийся задаче, чтобы они работали именно так, как требуется создаваемому приложению. Также здесь имеются предварительно определенные визуальные и не визуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно, например, обеспечить ввод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию. Та часть, которая непосредственно связана с программированием интерфейса пользователя системой, получила название визуальное программирование.
Визуальное программирование как бы добавляет новое измерение при создании приложений, давая возможность изображать эти объекты на экране монитора до выполнения самой программы. Без визуального программирования процесс отображения требует написания фрагмента кода, создающего и настрающего объект «по месту». Увидеть закодированные объекты было возможно только в ходе исполнения программы. При таком подходе достижение того, чтобы объекты выглядели и вели себя заданным образом, становится утомительным процессом, который требует неоднократных исправлений программного кода с последующей прогонкой программы и наблюдения за тем, что в итоге получилось.
Благодаря средствам визуальной разработки можно работать с объектами, держа их перед глазами и получая результаты практически сразу. Способность видеть объекты такими, какими они появляются в ходе исполнения программы, снимает необходимость проведения множества операций вручную, что характерно для работы в среде, не обладающей визуальными средствами — вне зависимости от того, является она объектно-ориентированной или нет. После того, как объект помещен в форму среды визуального программирования, все его атрибуты сразу отображаются в виде кода, который соответствует объекту как единице, исполняемой в ходе работы программы.
Размещение объектов в Delphi связано с более тесными отношениями между объектами и реальным программным кодом. Объекты помещаются в вашу форму, при этом код, отвечающий объектам, автоматически записывается в исходный файл. Этот код компилируется, обеспечивая существенно более высокую производительность, чем визуальная среда, которая интерпретирует информацию лишь в ходе исполнения программы.
Понятие протокола канального уровня.
Для создания надежного механизма передачи данных между двумя станциями необходимо определить протокол, который позволит принимать и передавать различные данные по каналам связи. Протоколы представляют собой просто набор условий (пра- вил), которые регламентируют формат и процедуры обмена информацией между двумя или несколькими независимыми устройствами или процессами. Протокол имеет три важнейших элемента: синтаксис, семантику и синхронизацию. Синтаксис протокола определяет поля; например, может быть 16-байтовое поле для адресов, 32-байтовое поле для контрольных сумм и 512 байт на пакет. Семантика протокола придает этим полям значение: например, если адресное поле состоит из всех адресов, это "широковещательный" пакет. Синхронизация - количество битов в секунду - это скорость передачи данных. Она важна не только на самых низких уровнях протокола, но и на высших.
Протокол канального обеспечивает следующие функции :
· управление передачей данных через физический канал организованный на первом уровне;
· проверка информационного канала;
· формирование кадра т.е. окаймление передаваемых данных служебными символами данного уровня;
· контроль данных;
· обеспечение прозрачности информационного канала;
· управление каналом передачи данных;
Данный протокол занимает второй уровень в многоуровневой организации управления сетью.
Обзор протокола HDLC
Типы, логические состояния и режимы работы станций. Способы конфигурирования канала связи
Существует три типа станций HDLC:
Первичная станция (ведущая) управляет звеном передачи данных (каналом). Несет ответственность за организацию потоков передаваемых данных и восстановление работоспособности звена передачи данных. Эта станция передает кадры команд вторичным станциям, подключенным к каналу. В свою очередь она получает кадры ответа от этих станций. Если канал является многоточечным, главная станция отвечает за поддержку отдельного сеанса связи с каждой станцией, подключенной к каналу.
Вторичная станция (ведомая) работает как зависимая по отношению к первичной станции (ведущей). Она реагирует на команды, получаемые от первичной станции, в виде ответов. Поддерживает только один сеанс, а именно только с первичной станцией. Вторичная станция не отвечает за управление каналом.
Комбинированная станция сочетает в себе одновременно функции первичной и вторичной станции. Передает как команды, так и ответы и получает команды и ответы от другой комбинированной станции, с которой поддерживает сеанс.
Три логических состояния , в которых могут находиться станции в процессе взаимодействия друг с другом.
Состояние логического разъединения (LDS) . В этом состоянии станция не может вести передачу или принимать информацию. Если вторичная станция находится в нормальном режиме разъединения (NDM - Normal Disconnection Mode), она может принять кадр только после получения явного разрешения на это от первичной станции. Если станция находится в асинхронном режиме разъединения (ADM - Asynchronous Disconnection Mode), вторичная станция может инициировать передачу без получения на это явного разрешения, но кадр должен быть единственным кадром, который указывает статус первичной станции. Условиями перехода в состояние LDS могут быть начальное или повторное (после кратковременного отключения) включение источника питания; ручное управление установлением в исходное состояние логических цепей различных устройств станции и определяется на основе принятых системных соглашений.
Состояние инициализации (IS) . Это состояние используется для передачи управления на удаленную вторичную/комбинированную станцию, ее коррекции в случае необходимости, а также для обмена параметрами между удаленными станциями в звене передачи данных, используемыми в состоянии передачи информации.
Состояние передачи информации (ITS) . Вторичной, первичной и комбинированным станциям разрешается вести передачу и принимать информацию пользователя. В этом состоянии станция может находится в режимах NRM, ARM и ABM, которые описаны ниже.
Три режима работы станции в состоянии передачи информации, которые могут устанавливаться и отменяться в любой момент.
Режим нормального ответа (NRM - Normal Response Mode) требует, чтобы прежде, чем начать передачу, вторичная станция получила явное разрешение от первичной. После получения разрешения вторичная станция начинает передачу ответа, который может содержать данные. Пока канал используется вторичной станцией, может передаваться один или более кадров. После последнего кадра вторичная станция должна снова ждать явного разрешения, прежде чем снова начать передачу. Как правило, этот режим используется вторичными станциями в многоточечных конфигурациях звена передачи данных.
Режим асинхронного ответа (ARM - Asynchronous Response Mode) позволяет вторичной станции инициировать передачу без получения явного разрешения от первичной станции (обычно, когда канал свободен, - в состоянии покоя). Этот режим придает большую гибкость работы вторичной станции. Могут передаваться один или несколько кадров данных или управляющая информация, отражающая изменение статуса вторичной станции. ARM может уменьшить накладные расходы, поскольку вторичная станция, чтобы передать данные, не нуждается в последовательности опроса. Как правило, такой режим используется для управления соединенными в кольцо станциями или же в многоточечных соединениях с опросом по цепочке. В обоих случаях вторичная станция может получить разрешение от другой вторичной станции и в ответ на него начать передачу. Таким образом разрешение на работу продвигается по кольцу или вдоль соединения.