Розробка програмного забезпечення канального рівня інформаційної корпоративної мережі

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    457,44 Кб
  • Опубликовано:
    2015-06-24
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Розробка програмного забезпечення канального рівня інформаційної корпоративної мережі

ЗМІСТ

ВСТУП

. АНАЛІЗ ІНФОРМАЦІЙНИХ МЕРЕЖ

.1 Види мереж

.2 Особливості та призначення корпоративних мереж, історія розвитку

.3 Опис корпоративної мережі, що досліджується

. ДОСЛІДЖЕННЯ КАНАЛЬНОГО РІВНЯ МЕРЕЖІ

.1 Обгрунтування стандартизації функцій інформаційних мереж міжнародною спілкою електрозв’язку

.2 Передача даних на канальному рівні

2.2.1 Протоколи канального рівня

.2.2 Система опитування/вибір

.2.3 Двійкове синхронне керування

.2.4 Режими каналу

.2.5 Високорівневе керування каналом (HDLC)

3. ФУНКЦІОНАЛЬНА СХЕМА РОБОТИ КІНЦЕВОГО І ЦЕНТРАЛЬНОГО ВУЗЛІВ МЕРЕЖІ

.1 Склад та функції мережі

.2 Функціональна схема кінцевого вузла (КВ) мережі

.3 Функціональна схема центрального вузла (ЦВ) мережі

. РОЗРОБКА АЛГОРИТМУ КАНАЛЬНОГО РІВНЯ

.1 Обгрунтування вибору середовища програмування Delphi

.2 Структура програмного забезпечення

.3 Опис алгоритму роботи канального рівня центрального вузла

.4 Опис алгоритму роботи канального рівня кінцевого вузла

ВИСНОВКИ

ПЕРЕЛІК ПОСИЛАНЬ

ДОДАТКИ

ВСТУП

Завдяки величезному впливу на суспільство мереж ЕОМ і мереж зв'язку, кінець 1990-х і початок XXI століття називають «інформаційним століттям». Сучасний розвиток техніки зв'язку має дві особливості: цифрову форму подання всіх сигналів незалежно від того, який вид інформації подається цими сигналами (мова, текст, дані чи зображення); інтеграцію обслуговування, що може бути цілком реалізовано тільки переведенням зв'язку на цифрову техніку. Відбувається інтеграція систем передавання інформації і комутації, по-новому перерозподіляються задачі кінцевих пристроїв і мереж зв'язку.

Ми вже не можемо уявити майбутнє без застосування нових і вже існуючих мережних і телекомунікаційних технологій. Глибокі зміни в техніці зв’язку та обчислювальній техніці підводять нас до нової епохи - інформатизації суспільства й створення глобальної інформаційної інфраструктури (ГІІ). Ця інфраструктура дає змогу надавати користувачам набір комунікаційних послуг, які забезпечують відкриту множину допоміжних програмних продуктів, що охоплюють усі види інформації й можливість її одержання у будь-який час, в будь якому місці, за прийнятною ціною і з високою якістю.

Кінцевою метою ГІІ є гарантія доступу кожному громадянину до інформаційного співтовариства. Основою ГІІ є інформаційна мережа, що з’явилася внаслідок інтеграції мереж зв’язку та мереж ЕОМ. На базі цієї інтеграції розроблено концепцію інтелектуальної мережі (ІМ).

Кінцеві пристрої візуального відображення даних є придатними для більш ніж одного виду інформації. І, нарешті, мережа зв'язку дає змогу передавати мовну, текстову інформацію, дані і зображення через те саме з'єднання: користувач одержить доступ до цієї мережі незалежно від виду служби через «штепсельну розетку зв'язку». За допомогою цих засобів були значно збільшені продуктивність праці та економічна ефективність як окремих людей, так і цілих організацій. Можна зробити висновок, що об'єднання зусиль трьох галузей промисловості - комп'ютерної індустрії, побутової радіоелектроніки і електрозв'язку - наблизило досягнення основної мети - створення глобальної інформаційної інфраструктури (ГІІ) .

Розвиток ГІІ ґрунтується на восьми основних принципах:

·        сприяння відкритої конкуренції;

·        заохочення приватних інвестицій;

·        визначення гнучких регулюючих структур;

·        забезпечення відкритого доступу до мереж;

·        гарантія загального забезпечення доступу до послуг;

·        забезпечення однакових можливостей для користувачів;

·        сприяння розмаїтості змісту ГІІ, включаючи культурне і мовне розмаїття;

·        визнання необхідності міжнародного співробітництва з особливою увагою до найменш розвинених країн.

Ці принципи будуть застосовуватися в ГІІ за допомогою наступних дій:

         розвиток глобальних ринків для мереж, послуг і додатків;

-        гарантії конфіденційності і захисту даних;

         захист прав інтелектуальної власності;

         співробітництво в науково-дослідній діяльності і розробці нових додатків;

         моніторинг соціального і суспільного значення інформаційного співтовариства.

-        підтримка здатності до взаємодії і взаємозв'язку;

Кінцевою метою ГІІ є гарантія для кожного громадянина доступу до інформаційного співтовариства, яке містить у собі:

·   соціально-економічну складову;

·   встановлення зразків поводження й етикету (наприклад, при купівлі товарів вдома, етикет для віртуального спілкування і т.ін.);

·   створення культурних цінностей і предметів мистецтва (наприклад, медичне право для телемедицини і т. ін.);

·   індустріальну складову:

·   створення додатків і послуг (наприклад, телекомунікаційних мереж, мереж КТБ, супутникових мереж тощо);

·   виробництво технічних засобів (наприклад, терміналів, систем передавання і керування базами даних т. ін.).

Важливою складовою ГІІ є корпоративні мережі. Актуальність створення і розширення корпоративних інформаційних мереж пов`язана передусім зі зростанням кількості компаній, збільшенням їх територіальних розмірів, відкриттям філій в інших містах або країнах.

Тому тема дипломної роботи, яка присвячена розробці програмного забезпечення канального рівня інформаційної корпоративної мережі, є актуальною.

1. АНАЛІЗ ІНФОРМАЦІЙНИХ МЕРЕЖ

Історично мережі зв’язку та ЕОМ розвивалися майже незалежно, запозичуючи одна в одної необхідні компоненти. У 90-ті роки стало очевидним, що подальший розвиток мереж зв’язку та мереж ЕОМ може бути ефективним тільки за умов їх інтеграції й створення єдиної інформаційної мережі.

Інформаційна мережа, яка з’явилася в результаті інтеграції засобів зв’язку й ЕОМ, є однією з найскладніших кібернетичних систем, створених людиною. Вона може поєднувати сотні мільйонів різних джерел і споживачів інформації. Ними можуть бути як найпростіше термінальне обладнання, персональні ЕОМ, окремі люди, так і великі обчислювальні центри чи підприємства, об’єкти, розповсюджені на великій території Землі і навіть у космосі.

1.1 Види мереж


Для класифікації комп’ютерних мереж використовуються різні ознаки, але частіше всього мережі розділяються на типи за територіальною ознакою.

На сьогоднішній день розрізняють наступні види мереж:

         локальні мережі (LAN - Local Area Networks);

         глобальні мережі (WAN - Wide Area Networks);

         мережі мегаполісів (MAN - Metropolitan Area Networks).

Локальні мережі з’явились на початку 70-х років, коли стався технологічний прорив в області розробки комп’ютерних компонентів - поява великих інтегральних схем. До локальних мереж відносяться мережі комп`ютерів, що зосереджені на невеликій відстані (від 1 до 20 км). В загальному випадку локальна мережа являє собою комунікаційну систему, що належить одній організації. Із-за коротких відстаней в локальних мережах є можливість використання відносно дорогих високоякісних ліній зв’язку, які дозволяють, використовуючи досить прості методи передачі даних, досягати високих швидкостей обміну даними. Локальні мережі мають різну конфігурацію й топологію, можуть входити як до глобальних, так і до мереж мегаполісів.

Хронологічно першими (50-ті роки) з’явились глобальні мережі. Почалося все з вирішення простої задачі - доступу до інформації з терміналів, віддалених від центру на сотні або й на тисячі кілометрів.

Глобальна мережа - сукупність комп`ютерів й локальних мереж, що розташовані на значних відстанях один від одного (наприклад, різних країнах), поєднаних різними каналами зв`язку й працюючих в різних програмних середовищах. Така сукупність має узгоджений протокол взаємодії. При побудуванні глобальних мереж були вперше запропоновані та відпрацьовані більшість основних ідей і концепцій сучасних обчислювальних мереж. Такі, наприклад, як багаторівнева структура комунікаційних протоколів, технологія комутації пакетів, маршрутизація пакетів в складних мережах.

Сьогодні розрив між локальними і глобальними мережами постійно скорочується дякуючи появі високошвидкісних каналів зв’язку.

Мережі мегаполісів - найбільш розповсюджений вид мереж. Вони призначені для обслуговування території великих міст. До таких мереж належать корпоративні мережі.

1.2 Особливості та призначення корпоративних мереж, історія розвитку

 

У найзагальнішому розумінні, корпоративна мережа - це складний комплекс взаємозв'язаних і погоджено функціонуючих програмних і апаратних компонентів, що забезпечує передачу інформації між різними видаленими застосуваннями і системами, використовуваними на підприємстві. Зважаючи на наявність декількох центрів обробки даних, корпоративні мережі відносяться до розподілених (або децентралізованих) обчислювальних систем. Корпоративні мережі також називають мережами масштабу підприємства - мережа змішаної топології, в яку можуть входити кілька локальних мереж, на всіх територіях окремого підприємства. Вони можуть бути пов`язані різними складними способами й вкривати місто, регіон або навіть континент. Відстані між мережами окремих територій можуть бути такими, що з`являється необхідність використання глобальних мереж.

Першими корпоративними мережами були мережі телеграфного зв`язку. Телеграфний зв`язок швидко зайняв важливе місце в засобах керування рухом транспорту. Згодом широкого розповсюдження набули корпоративні мережі, що використовували ресурс телефонної мережі загального користування.

Сучасні корпоративні мережі можуть будуватися також і на основі радіоканалів чи з використанням супутникового зв`язку.

Корпоративні мережі створюються для виконання певних функцій, а саме - в інтересах забезпечення ефективної діяльності підприємства, направленої в конкретну область професійної діяльності.

Основне призначення корпоративної мережі - спільне використання ресурсів і постійний зв`язок у реальному режимі часу як в середині однієї компанії, так і за її межами.

Корпоративна мережа характеризується:

         масштабністю - тисячі користувацьких комп`ютерів, сотні серверів, великі об`єми даних, що зберігаються та передаються, множина різноманітних додатків;

         високим ступенем гетерогенності - типи комп`ютерів, комунікаційного обладнання, операційних систем і додатків різні;

         забезпеченням необхідної інформаційної безпеки;

 

1.3 Опис корпоративної мережі, що досліджується


В дипломній роботі розробляється кінцевий пункт корпоративної мережі для компанії, що надає телекомунікаційні послуги в межах одного міста.

Корпоративна мережа складається з центрального вузла мережі та кінцевих вузлів, що з`єднані модемним зв`язком через телефонну мережу загального користування.

Кінцевий пункт інформаційної корпоративної мережі виконує наступні задачі:

         передача даних для статистики ( телефонне навантаження вузлів, кількість відмов) за запитом центрального вузла;

         накопичення та зберігання даних в вигляді таблиць;

         переговори між вузлами з клавіатури або по телефону за ініціативою центрального або кінцевого вузлів.

Передача даних та переговори відбуваються комутованими каналами зв`язку телефонної мережі загального користування.

В вузлах мережі використовуються модеми, що працюють згідно Рекомендаціям V.

Кінцевий вузол має спеціальне програмне забезпечення, що забезпечує виконання всіх функцій даної мережі.

2. ДОСЛІДЖЕННЯ КАНАЛЬНОГО РІВНЯ МЕРЕЖІ


Інформаційна корпоративна мережа будується на основі еталонної моделі взаємодії відкритих систем.

2.1 Обґрунтування стандартизації функцій інформаційних мереж міжнародною спілкою електрозв’язку


У сучасних комп'ютерних мережах як правило використовується багато різних видів мережних протоколів і навіть в рамках однієї мережі застосовують кілька з них. Потреба в розширенні, модернізації, а так само необхідність спрощення процесів розробки та вдосконалення обчислювальних мереж показала необхідність у стандартизації принципів і процедур взаємодії між абонентами мереж. З цією метою була розроблена так звана Еталонна модель взаємодії відкритих систем,що складається з семи рівнів(OSI, Open Systems Interconnection), розроблена міжнародною організацією стандартизації (ISO, International Standards )

Основною перевагою використання систем, що відповідають моделі OSI, є їх гнучкість. Це означає, що якщо змінити фізичне середовище передачі даних, то не потрібно змінювати всю структуру мережі.

Метою моделі ВВС є:

·        можливість побудування мережі з апаратних і програмних засобів різних виробників, що дотримуються одного стандарту;

·        можливість безболісної зміни окремих компонентів мережі іншими, що дозволяє мережі розвиватись з мінімальними витратами;

·        можливість легкого сполучення однієї мережі з іншою;

·        простота обслуговування мережі.

Мережева модель ВВС представляє собою рівневий підхід до мережі. Рівні описують протоколи, що регламентують процедури взаємодії процесів однойменних рівнів різних систем на основі обміну повідомленнями (даними). Рівні взаємодіють згори вниз і знизу догори за допомогою інтерфейсів і можуть ще взаємодіяти з таким же рівнем іншої системи за допомогою протоколів.

Модель рівневих протоколів ВВС є семирівневим стандартом. Рівні в мережній моделі, запропонованій МОС, наведено на рис. 2.1.

Найнижчий фізичний рівень (Physical layer) моделі, призначений безпосередньо для передачі потоку даних. Здійснює передачу електричних або оптичних сигналів в кабель або в радіоефір, а також їх прийом і перетворення в біти даних відповідно до методів кодування цифрових сигналів.

Іншими словами, здійснює інтерфейс між мережевим носієм і мережевим пристроєм. На цьому рівні працюють концентратори, повторювачі (ретранслятори) сигналу і медіаконвертори.

Функції фізичного рівня:

         передача бітів по фізичних каналах;

         формування електричних сигналів;

         кодування інформації;

         синхронізація;

         модуляція.

Функції фізичного рівня реалізуються на всіх пристроях, підключених до мережі. З боку комп’ютера функції фізичного рівня виконуються мережевим адаптером або портом зв’язку. До фізичного рівня відносяться фізичні, електричні і механічні інтерфейси між двома системами. Цей рівень визначає такі властивості середовища мережі передачі даних як оптичне волокно, вита пара, коаксіальний кабель, супутниковий канал передачі даних і тому подібне. Функції цього рівня забезпечують активізацію, підтримку і дезактивізацію фізичного ланцюга між кінцевим устаткуванням даних (КУД) і апаратурою каналу даних (АКД).

Інтерфейси фізичного рівня призначені для приєднання пристроїв користувача до ліній зв'язку. Щоб виконати цю важливу функцію, опис більшості інтерфейсів фізичного рівня має містити характеристики чотирьох видів.

Електричні характеристики описують рівні напруги (або струму) і тимчасові характеристики сигналів, що подають 0 або 1.

Функціональні характеристики відображають функції, виконувані фізичним інтерфейсом. У більшості протоколів фізичного рівня ці функції класифікуються як функції керування, синхронізації, передачі даних і заземлення.

Механічні характеристики описують інтерфейсні рознімання і проводи.

Процедурні характеристики відображають дії, які мають здійснювати з'єднувачі, і послідовність дій при передаванні даних через інтерфейс.

КУД, звичайно, приєднується до АКД за допомогою стандартного інтерфейсу RS-232-С. За КУД частіше за все розглядається пристрій кінцевого користувача, наприклад, термінал або ЕОМ. Апаратура каналу даних забезпечує з'єднання КУД з лінією зв'язку. Інтерфейс RS-232-С описує чотири функції: визначення керуючих сигналів, що проходять через інтерфейс; пересилання даних користувача через інтерфейс; передачу тактових сигналів для синхронізації потоку даних; формування електричних характеристик інтерфейсу.

Канальний рівень (Data Link layer) призначений для забезпечення взаємодії мереж на фізичному рівні і контролі за помилками, які можуть виникнути. Протоколи керування каналом, здійснюючи зв'язок, виконують три строго визначені етапи:

         встановлення зв’язку. Однією з задач канального рівня є перевірка доступності середовища передачі, тобто встановлення зв’язку з віддаленим вузлом, щоб гарантувати готовність обох систем до обміну даними;

         передача інформації. Виконується обмін даними користувача каналом зв'язку між двома пристроями, при цьому здійснюється контроль можливих помилок передавання;

         закінчення зв'язку. Канал звільнюється, припиняється керування каналом. Це означає, що дані не можуть передаватися, доки зв'язок не буде відновлено.


Мережний рівень (Network layer) мережевої моделі OSI, призначений для визначення шляху передачі даних. Відповідає за трансляцію логічних адрес і імен у фізичні, визначення найкоротших маршрутів, комутацію і маршрутизацію, відстеження похибок і заторів в мережі. На цьому рівні працює такий мережевий пристрій, як маршрутизатор. Протоколи мережного рівня маршрутизують дані від джерела до одержувача і можуть бути розділені на два класи: протоколи з установкою з’єднання і без нього. Описати роботу протоколів з установкою з’єднання можна на прикладі зразку роботи звичайного телефону. Протоколи цього класу починають передачу даних з виклику або установки маршруту проходження пакетів від джерела до одержувача. Після чого починають послідовну передачу даних і після закінчення передачі розривають зв’язок.

Протоколи без установки з’єднання, які посилають дані, що містять повну адресну інформацію в кожному пакеті, працюють аналогічно поштовій системі. Кожен лист або пакет містить адресу відправника і одержувача. Далі кожен мережний пристрій прочитує адресну інформацію і ухвалює рішення про маршрутизацію даних. Пакет даних передається від одного проміжного пристрою до іншого до тих пір, поки не буде доставлений одержувачу.

Протоколи без установки з’єднання не гарантують надходження інформації одержувачу в тому порядку, в якому вона була відіслана. За доставку даних у відповідному порядку при використанні мережних протоколів без установки з’єднання відповідають транспортні протоколи.

Транспортний рівень (Transport layer) моделі, призначений для доставки даних без помилок, втрат і дублювання в тій послідовності, в якій вони були передані. При цьому неважливо, які дані передаються, звідки і куди, тобто цей рівень надає сам механізм передачі. Блоки даних він розділяє на фрагменти, розмір яких залежить від протоколу, короткі об'єднує в один, а довгі розбиває. Протоколи цього рівня призначені для взаємодії типу “точка-точка”.

Транспортний рівень забезпечує верхнім рівням передачу даних із заданою надійністю. Цей рівень користується послугами нижчестоящого мережного рівня, тому вищестоящі рівні захищені від процедур мережних з'єднань і різноманітності застосовуваних мереж.

Модель ВВС визначає п’ять класів сервісу, що надається транспортним рівнем. Ці види сервісу відрізняються якістю послуг, що надаються: терміновістю, можливістю відновлення розірваного зв’язку, наявністю засобів мультиплексування декількох з’єднань між різними прикладними протоколами через загальний транспортний протокол. Протоколи нижніх чотирьох рівнів називають транспортною підсистемою, тому що вони повністю вирішують транспортування повідомлень із заданим рівнем якості в складних мережах з довільною топологією і різними технологіями.

Сеансовий рівень (Session layer) моделі відповідає за підтримку сеансу зв'язку, дозволяючи програмам взаємодіяти між собою тривалий час. Рівень управляє створенням/завершенням сеансу, обміном інформацією, синхронізацією задач, визначенням права на передачу даних і підтримкою сеансу в періоди неактивності програм.

Синхронізація передачі забезпечується розміщенням в потік даних контрольних точок, починаючи з яких при порушенні взаємодії процес поновлюється Він служить інтерфейсом користувача з рівнем транспортних послуг. Цей рівень забезпечує засоби організації обміну даними між користувачами.

Для виконання задач сеансового рівня є дві функції:

- функція керування діалогом надає регламентовані засоби початку сеансу, передачі повідомлень між віддаленими системами, а потім по завершенню сеансу переривання з’єднання;

функція розділення даних передбачає вставку в повідомлення покажчиків, які дозволяють кожному вузлу повідомляти про початок і кінець повідомлення. Обидві функції для сеансу однаково важливі, оскільки гарантують отримання повідомлення вузлами, причому в повному обсязі, а також відсутність в ньому сторонньої інформації.

Представницький рівень (Presentation layer) має справу з формою представлення інформації, що передається мережею, не змінюючи при цьому саму інформацію.

За рахунок представницького рівня інформація, що передається прикладним рівнем однієї системи, завжди зрозуміла прикладному рівню іншої системи. За допомогою засобів даного рівня протоколи прикладного рівня можуть подолати синтаксичні відмінності в представленні даних або ж відмінності в кодах символів. Абстрактний синтаксис даних - це аспекти правил, використовуваних для формальної специфікації даних, що передаються між відкритими системами, які не залежать від методів їх кодування.

Синтаксис передачі визначає ті аспекти правил, які регламентують конкретне подання даних, що передаються між відкритими системами. Однозначне подання з множини значень представницьких даних як потоку бітів називається ім'ям синтаксису передачі.

Двома основними функціями рівня подання є: узгодження синтаксису передачі, що виконується представницьким протоколом, і перетворення кодів між абстрактними синтаксисами передачі в рамках представницького об'єкта.

Прикладний рівень моделі (Application layer) забезпечує взаємодію мережі і користувача. Рівень дозволяє програмам користувача доступ до мережевих служб, таким як обробник запитів до баз даних, доступ до файлів, пересилки електронної пошти. Також цей рівень відповідає за передачу службової інформації, надає програмам інформацію про помилки і формує запити до рівня представлення.

Стандарти прикладного рівня визначають:

         концептуальну схему рівня, що містить модель сервісу, наданого процесам і операції, які при цьому слід виконувати;

         предметну область, тобто засоби для забезпечення взаємодії прикладних процесів;

         функції та мови для задоволення запитів прикладних процесів.

 

.2 Передача даних на канальному рівні


Канальний рівень (рівень ланки даних) відповідає за передавання даних каналом. Він забезпечує синхронізацію даних для розмежування потоку бітів фізичного рівня, вигляд подавання бітів, визначені гарантії надходження даних в приймальне КУД, управління потоком даних, щоб КУД не перевантажувався в будь-який момент часу занадто великою кількістю даних. Одна з найважливіших функцій цього рівня полягає у виявлення помилок, допущених під час передавання, і забезпеченні механізму відновлення даних у разі їх втрати або дублювання за наявністю в них помилок.

Канальні протоколи керують усім комунікаційним трафіком у каналі. Наприклад, якщо комунікаційний порт обслуговує декілька користувачів, які мають до нього доступ, протокол керування каналом (ланкою даних) відповідає за те, щоб дані всіх користувачів були передані без помилок.

Протоколи керування каналом, здійснюючи зв’язок, виконують три строго визначені етапи:

Встановлення зв’язку. Якщо АКД має фізичне з’єднання з віддаленою АКД при роботі виділеною лінією, потрібно тільки „підтвердження” встановлення зв’язку, щоб гарантувати готовність обох систем до обміну даними.

Передача інформації. Виконується обмін даними користувача каналом зв’язку між двома пристроями. Здійснюється контроль можливих помилок передавання та надсилаються підтвердження передавальному пристрою.

Закінчення зв’язку. Припиняється користування каналом. Це означає, що дані не можуть передаватися, доки зв’язок не буде відновлено.

2.2.1 Протоколи канального рівня

Протоколи канального рівня повинні забезпечувати взаємозв'язок між мережевим і фізичним рівнями, надаючи мережному ширший набір послуг в порівнянні з фізичним. Основне призначення фізичного рівня - це передача бітів канального рівня - передача деяких завершених блоків даних або кадрів.

В рамках архітектури OSI на канальний рівень покладаються наступні функції:

         ініціалізація - обмін між взаємодіючими станціями службовими повідомленнями, підтверджуючими готовність до передачі даних;

         ідентифікація - обмін між взаємодіючими станціями службової інформації, підтверджуючою правильність з'єднання;

         синхронізація - виділення в послідовності передаваних бітів меж знаків;

         сегментація - формування кадрів для їх передачі по каналу;

         забезпечення прозорості - надання розташованому вище рівню можливості передачі довільної послідовності бітів або знаків;

         управління потоком - забезпечення узгодження швидкостей передачі і прийому;

         контроль помилок і управління послідовністю передачі - виявлення помилок в передаваємих кадрах і запиту повторної передачі спотворених кадрів, забезпечення відповідності послідовності кадрів на вході і виході каналу;

         вихід із збійних ситуацій - виявлення порушень нормальної передачі кадрів і реалізація процедур виходу з таких ситуацій;

         управління каналом - забезпечення можливості контролю роботи каналу, виявлення відмов, відновлення, збір статистики про роботу каналу;

         завершення роботи каналу - ліквідація логічного з'єднання, утвореного при ініціалізації каналу.

Протоколи канального рівня: протокол встановлення з'єднання, передачі даних і ліквідації з'єднання HDLC (High-Level Data Link Control) - протокол передачі кадрів змінної довжини і протокол Х.25, що визначає доступ до мереж передачі даних з комутацією пакетів.

Протокол канального рівня встановлення з'єднання, передачі даних і ліквідації з'єднання HDLC забезпечує передачу послідовності пакетів через фізичний канал, спотворення в якому викликають помилки в даних що передаються, втрату, дублювання пакетів і порушення порядку прибуття пакетів до адресата. Він вводить сукупність засобів, що дозволяють організувати надійний канал передачі пакетів, вірогідність спотворення бітів в якому не більше 10-8 ... 10-9. Одиницею даних, що передається як ціле через інформаційний канал, організований засобами управління канального рівня, є кадр (frаmе). Структура кадру, що використовується протоколом HDLC, встановлена стандартом ISO 3309. Кадр розглядається як послідовність байтів, початок і кінець якої наголошуються прапорами - двійковими кодами 01111110. Кадр несе в собі інформацію, що управляє, дані і перевірочну послідовність, використовувану для контролю інформації. Процедури управління канального рівня забезпечують прозорість каналу за рахунок бітстафінгу. При передачі даних формується перевірочна послідовність бітів (два октети), яка включається в кадр. При прийомі кадру вона формується повторно і порівнюється з прийнятою. Якщо обидві співпадають, то прийнятий кадр вважається коректним. Інакше фіксується спотворення прийнятого кадру. При спотворенні прапорів, що розділяють послідовно передаваємі кадри, два кадри зливаються в один спотворений. Процедура формування перевірочних послідовностей бітів при передачі і прийомі гарантує виявлення цих спотворень.

В рамках архітектури OSI протокол Х.25 дає засоби для взаємодії користувача з мережею передачі даних і комутацією пакетів - PSDN (packet Switching Data Nettwork) і визначається Рек. Х.25 lТU- Т, розробленою і вживаною як стандарт управління на мережевому рівні. Протокол Х.25 забезпечує строге управління потоком пакетів і істотні послуги управління даними користувача. Основна перевага методу комутації пакетів полягає в тому, що один і той же фізичний канал може одночасно використовуватися декількома абонентами. Метод розділення фізичного каналу між користувачами мережі передачі даних Х.25 називають логічним або статистичним мультиплексуванням. На відміну від тимчасового розподілення каналів TDM (Тimе Division Multiplexing) тут немає жорсткої прив’язки до наперед заданих часових інтервалів для кожного користувача (абонента).

Протокол х.25 базується на засобах інформаційного каналу, який визначається протоколом НDLC. Останній встановлює спосіб виключення спотворення пакетів і їх послідовності, що передаються по фізичному каналу, схильний до дії перешкод. Він визначає процедури мережевого рівня управління передачею пакетів, що забезпечує організацію віртуальних каналів між абонентами і передачу по каналах послідовності пакетів і дозволяє організувати взаємодію між мережевими службами систем через сукупність логічних каналів. Логічні канали використовують для організації постійних віртуальних каналів і часових комутуючих віртуальних - віртуальних з’єднань.

2.2.2 Система опитування/вибір

Прикладом протоколу первинний/вторинний є система опитування/вибір. Конфігурація мережі містить головну ЕОМ (первинну) у центральному вузлі і підпорядковану ЕОМ (вторинну) у кінцевому вузлі. Можуть бути й інші конфігурації (наприклад, багатоточкові з'єднання або кільцева топологія).

Рисунок 2.2 - Системи опитування/вибір: а - послідовність опитування; б - послідовність вибору; в - послідовність опитування/вибору; г - негативна реакція на опитування

У системі опитування/вибір використовуються дві команди: опитування і вибір. Призначення команди опитування - передавання даних первинному вузлу з вторинного. Призначення команди вибір - протилежне - передавати дані з первинного вузла вторинному. Найостанніші протоколи команди вибору не використовують, тому що головний вузол під час установлення з'єднання резервує в приймачі ресурси та буфери і дані можуть надсилатися на розсуд головного вузла.

Системи опитування/вибір звичайно існують як деяка упорядкована форма відносин первинний/вторинний. Опитування і вибір є основними командами, потрібними для передачі даних у будь-який вузол каналу або мережі. Розглянемо, як це відбувається (рисунок 2.2, а). Команда опитування надсилається з первинного вузла у вторинний. Фактично опитування означає: "Вторинний вузол, у вас є дані для мене?" Якщо дані є і готові до передавання, вони надсилаються у вузол, що опитує. Первинний вузол здійснює контроль помилок і надсилає АСК (команда, що означає підтвердження правильного прийому) - якщо помилок немає і NАК (команда, що означає, що прийом відбувся з помилкою) - якщо вони є. Ці дві події (передавання даних і АСК/NАК) можуть відбуватися багато разів доти, поки у вторинному вузлі не залишиться даних, які слід передати. Після цього вторинна станція має надіслати повідомлення про те, що вона закінчила передачу, наприклад код кінця передачі ЕОТ (керуючий знак, що означає “кінець передачі”) або деякий біт у керуючому полі.

Послідовність виконання команди вибір показана на рисунку 2.2, б. Ця команда означає: "Вторинний вузол, я вибираю вac, тому що в мене є для вас дані. Ви можете прийняти?" Підтвердження АСК у відповідь на вибір означає: "Так, я вільний і готовий прийняти ваші дані". Дані передаються, перевіряються на наявність помилок, і їх прийом підтверджується. Процес може повторюватися, поки не надійде керуюче повідомлення EOT, що означає: "У мене немає більше графіка для передавання". На рисунку 2.2, в метод опитування/вибору поданий в ускладненому вигляді. Команда вибір передається у вторинний вузол, але цей вузол дає негативну відповідь. Зміст цього діалогу такий: "Вторинний вузол, у мене є дані для вас, ви можете прийняти?" Відповідь: "Ні, не можу". Існує багато причин, через які вузол не може вести прийом: він може бути зайнятий виконанням інших завдань, не мати потрібного обсягу пам'яті для прийому даних, в ньому можуть знаходитися дані для передачі в первинний вузол тощо. Система опитування/вибір вирішує проблему ініціювання опитування первинним вузлом, що дає змогу вторинному вузлу надіслати дані й очистити свої буфери.

На рисунку 2.2, г зображено, що відбувається в мережі опитування/вибір, коли на опитування вторинний вузол відповідає негативно. У цьому випадку в системі використовується NAK для повідомлення про негативну реакцію на опитування. Це означає: "Вторинний вузол, у вас є дані для мене?" Відповідь NAK означає: "Ні, немає". У нових системах повідомлення про бажання почати прийом або передачу називається Готовий до прийому (receive ready), небажання називається Не готовий до прийому (receive not ready).

Недоліком системи опитування/вибір є наявність кількаразових відповідних реакцій на опитування, що може бути пов'язане зі споживанням значних ресурсів каналу. Ефективніший підхід полягає у використанні динамічних таблиць опитування/вибір. Якщо продовжується опитування термінала і він не відповідає після визначеної кількості спроб, його пріоритет у таблиці опитування знижується. Отже, він обслуговується й опитується. Пріоритет станції, яка не реагує, знижується, а ті пристрої, що позитивно реагували на опитування, просуваються нагору в таблиці пріоритетів.

2.2.3 Двійкове синхронне керування

Протокол двійкового синхронного керування (BSC) набув широкого розповсюдження. Він є напівдуплексним протоколом. Передача здійснюється по черзі в обох напрямках. Цей протокол підтримує двоточкові і багатоточкові з'єднання, а також як комутовані, так і некомутовані канали. Він є кодозалежним протоколом, і кожен знак, переданий за BSC, має бути декодований для одержувача, щоб визначити, чи є він керуючим знаком, чи належить до даних користувача.

Формати кадру BSC і керуючі коди показані на рисунку.2.3. Керуючі коди можуть мати декілька функцій, що визначаються конкретним режимом роботи каналу в даний момент часу. На рисунку показані не всі можливі модифікації формату кадру BSC, а деякі приклади основних реалізацій формату. Крім наведених на рисунку 2.3, застосовуються також команди ENQ - запит (використовується при опитуванні з вибором і при захопленні каналу); EOT - кінець передачі (переводить канал у режим керування).

Рисунок 2.3 - Формати BSC і керуючі коди

На рисунку 2.3: - заповнення кадру (тимчасове заповнення між повідомленнями);- синхронізація каналу в стані спокою (підтримує активність каналу); - початок тексту (переводить канал r режим текст);

ЕТХ - кінець тексту; - початок заголовка;

ІТВ - кінець проміжного блока;

ВСС - контрольний лічильник блока;

ЕТВ - кінець блока передачі, - авторегістр 1 (використовується для досягнення кодової прозорості)

Наявність заголовків, наведених на рис. 2.3, не є обов'язковою. Якщо заголовок входить у повідомлення, перед ним розміщується код SOH.

2.2.4 Режими каналу

Канал або ланка BSC працює в одному з двох режимів. Режим керування використовується головною станцією для керування операціями, виконуваними в каналі, - передачею кадрів опитування і вибору. Режим повідомлення, або текстовий режим, використовується для передачі блока або блоків інформації до станції або зі станції. Одержавши запрошення почати пересилання даних (опитування), залежна станція передає дані користувача, причому перед даними або заголовком поміщається керуючі коди початку тексту (STX) або початку заголовку (SОН). Ці керуючі символи переводять канал у режим повідомлення (або текстовий режим). Слідом за цим у текстовому режимі проводиться обмін даними, поки не зустрінеться EOT, який повертає канал у режим керування. В той час, коли канал знаходиться в режимі повідомлення, він використовується тільки для обміну даними між двома станціями. Всі інші станції мають залишатися пасивними. Текстовий режим із двома станціями називається також режимом вибору або утримання.

Операції опитування і вибору ініціюються кадром, що містить Адресу ENQ (Адреса - це адреса станції). Керуюча (головна) станція відповідає за посилку примітивів. Операція вибору виконує одну з двох функцій: 1) переводить вибрану станцію в режим підпорядкування; 2) переводить всі інші станції (у багатоточковому каналі) у пасивний режим. Знаки STX і SOH ініціюють стан пасивності. Вибрана станція підтримує стан режиму підпорядкування, поки не одержить EOT, ЕТВ (кінець блока передачі) і ЕТХ (кінець тексту). Пасивні станції підтримують стан режиму пасивності, поки не одержать EOT.

2.2.5 Високорівневе керування каналом (HDLC)

HDLC - протокол високорівневого управління каналом передачі даних, є опублікованим ISO стандартом і базовим для побудови інших протоколів канального рівня (SDLC, LAP, LAPB, LAPD, LAPX і LLC). Він реалізує механізм управління потоком за допомогою безперервного ARQ (ковзаюче вікно) і має необов'язкові можливості (опції), що підтримують напівдуплексну і повнодуплексну передачу, одноточкова і багатоточкова конфігурації, а так само комутовані і некомутовані канали.

Розглянемо функції базової множини (superset) HDLC і найбільш важливі підмножини цього протоколу: SDLC, LAP, LAPB, LAPD, LAPX і LLC.

Існує три типи станцій 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 може зменшити накладні витрати, оскільки вторинна станція, щоб передати дані, не потребує послідовності опиту. Як правило, такий режим використовується для управління сполученими в кільце станціями або ж в багатоточкових з'єднаннях з опитом по ланцюжку. У обох випадках вторинна станція може отримати дозвіл від іншої вторинної станції і у відповідь на нього почати передачу. Таким чином дозвіл на роботу просувається по кільцю або уздовж з'єднання.

·        асинхронний збалансований режим (ABM - Asynchronous Balanse Mode) використовують комбіновані станції. Комбінована станція може ініціювати передачу без отримання попереднього дозволу від іншої комбінованої станції. Цей режим забезпечує двосторонній обмін потоками даних між станціями і є основним (робочим) і найчастіше використовуваним на практиці.

Протоколом HDLC передбачено три способи конфігурування каналу при його використанні первинною, вторинною або комбінованою станцією.

Незбалансована конфігурація (UN) забезпечує роботу однієї головної станції та однієї або більшої кількості підпорядкованих станцій у конфігурації: двоточкової або багатоточкової, напівдуллексної або дуплексної, із комутованим або некомутованим каналом. Конфігурація називається незбалансованою тому, що первинна станція відповідає за керування кожною вторинною станцією і за виконання команд установлення режиму.

Симетрична конфігурація (UA) була у вихідній версії протоколу HDLC і використовувалася в первинних мережах. Ця конфігурація забезпечує функціонування двох незалежних двоточкових незбалансованих конфігурацій станцій. Кожна станція має статус первинної і вторинної, отже кожна станція логічно розглядається як дві станції: первинна і вторинна. Головна станція передає команди вторинної станції на другому кінці каналу і навпаки. Незважаючи на те, що станція може працювати як первинна, так і вторинна, які є самостійними логічними об'єктами, реальні команди і відповіді мультиплексуються в один фізичний канал.

Збалансована конфігурація (ВА) складається з двох комбінованих станцій тільки в двоточковому з'єднанні. Метод передачі - напівдуплексний або дуплексний, комутований або не комутований. Комбіновані станції мають однаковий статус у каналі і можуть несанкціоноване надсилати одна одній трафік. Кожна станція несе однакову відповідальність за керування каналом. Отже, логічні станції HDLC можуть складатися з первинних або комбінованих станцій. Функціонування станцій залежить від одного з трьох станів: стану логічного роз'єднання, стану ініціювання і стану передачі інформації. Вони працюють в одному з трьох режимів відповіді: нормальної, асинхронної і збалансованої. Можливі три типи конфігурацій каналу HDLC: незбалансована, симетрична і збалансована

2.2.6 Формат у кадрі HDLC

У протоколі HDLC використовується термін кадр для позначення незалежного об'єкта даних, переданого каналом від однієї станції до іншої (рисунок 2.4 а).

Кадр складається з п'яти або шести полів. Всі кадри повинні починатися і закінчуватися полями прапора "01111110". Станції, підключені до каналу, постійно контролюють двійкову послідовність прапора. Прапори можуть постійно передаватися по каналу між кадрами HDLC. Для індексації виняткової ситуації у каналі можуть бути послані сім підряд одиниць, що йдуть. П'ятнадцять або більше число одиниць підтримують канал в стані спокою. Якщо приймаюча станція виявить послідовність бітів тих, що не є прапором, вона тим самим повідомляється про початок кадру, про виняткову (з аварійним завершенням) ситуацію або ситуацію спокою каналу. При виявленні наступної послідовності прапора станція знатиме, що поступив повний кадр.

Адресне поле визначає первинна або вторинна станції, що беруть участь у передачі конкретного кадру. Кожній станції привласнюється унікальна адреса. У незбалансованій системі адресні поля в командах і відповідях містять адресу вторинної станції. У збалансованих конфігураціях командний кадр містить адреса одержувача, а кадр відповіді містить адреса станції, що передає.

Поле, що управляє, задає тип команди або відповіді, а так само порядкові номери, використовувані для звітності про проходження даних в каналі між первинною і вторинною станціями. Формат і зміст поля, що управляє, визначають кадри трьох типів: інформаційні (I), супервізорні (S) і ненумеровані (U).

Інформаційний формат(I-формат) використовується для передачі даних кінцевих користувачів між двома станціями.

Супервізорний формат (S-формат) виконує функції, що управляють: підтвердження (квитування) кадрів, запит на повторну передачу кадрів і запит на тимчасову затримку передачі кадрів. Фактичне використання супервізорного кадру залежить від режиму роботи станції (режим нормальної відповіді, асинхронний збалансований режим, асинхронний режим відповіді). Ненумерований формат (U -формат) також використовується для цілей управління: ініціалізації або роз'єднання, тестування, скидання і ідентифікації станції і т.д. Конкретний тип команди і відповіді залежить від класу процедури HDLC.

Рисунок 2.4 - Формат кадру HDLC (a) і правила адресації (б)

Інформаційне поле містить дійсні дані користувача. Інформаційне поле є тільки в кадрі інформаційного формату. Його немає в кадрі супервізорного або ненумерованого формату. [Примітка: кадри "UI - ненумерована інформація" і "FRMR - Неприйняття кадру" ненумерованого формату мають інформаційне поле].

Поле CRC (контрольна послідовність кадру) використовується для виявлення помилок передачі між двома станціями. Станція, що передає, здійснює обчислення над потоком даних користувача, і результат цього обчислення включається в кадр як поле CRC. У свою чергу, приймаюча станція проводить аналогічні обчислення і порівнює отриманий результат з полем CRC. Якщо має місце збіг, велика вірогідність того, що передача відбулася без помилок. У разі неспівпадання, можливо, мала місце помилка передачі, і приймаюча станція посилає негативне підтвердження, що означає, що необхідно повторити передачу кадру. Обчислення CRC називається циклічним контролем по надмірності і використовує твірний поліном х16125+1, відповідно до рекомендації МККТТ V.41. Цей метод дозволяє виявляти всілякі кортежі помилок завдовжки не більше 16 розрядів, що викликаються одиночною помилкою, а також 99,9984% всіляких довших кортежів помилок.

Обчислення і використання коду CRC виконуються за правилами, які відповідають відомим процедурам кодування і декодування для лінійного систематичного циклічного коду:

до вмісту кадру додається набір нулів, кількість яких дорівнює довжині поля КПК;

         створене таким чином число ділиться на твірний поліном, що містить на один розряд більше, ніж КПК, і як старший І молодший розряди містить одиниці;

         залишок від ділення поміщається в полі КПК і передається до приймача;

         приймач виконує ділення вмісту кадру і поля КПК на поліном;

         якщо результат дорівнює деякому визначеному числу (нулеві або іншому числу), вважається, що передача виконана без помилок.

Відзначимо, що за значенням залишку від ділення відповідно до синдрому помилок помилки можуть бути виправлені в приймачеві.

2.2.7 Кодонезалежність і синхронізація HDLC

HDLC є кодопрозорим протоколом. Він не залежить від конкретного коду при виконанні функцій керування каналом. Восьмибітова комбінація прапора 01111110 поміщається на початку і в кінці кадру, щоб дати можливість приймачу розпізнати початок і кінець кадру. Можливі випадки, коли прикладний процес поміщає в даних користувача послідовність 01111110, співпадаючу з прапором. Станція, що в цьому випадку передає, в потік вихідних даних поміщає 0 після 5 підряд одиниць, що йдуть, зустрілися в будь-якому місці між початковим і кінцевим прапорами кадру. Така вставка проводиться в адресне, таке, що управляє, інформаційне поле і поле CRC. Цей метод називається вставкою бітів(bit staffing); таку ж функцію виконує знак DLE в протоколі BSC. Після того, як завершується вставка бітів в кадр і по кінцях кадру поміщаються прапори, кадр передається приймачу по каналу.

Приймач постійно контролює потік бітів(рисунок 2.5). При отриманні нуля з п'ятьма що далі йдуть підряд одиницями (011111) аналізує наступний (сьомий) біт. Якщо це нуль, він видаляє цей біт. Проте якщо сьомий біт є одиницею (0111111), приймач аналізує восьмий біт. Якщо це нуль (01111110), він вважає, що отримана комбінація прапора. Якщо це одиниця, виконується аналіз подальших біт. Можлива ситуація прийому або сигналу спокою, або сигналу аварійного завершення, на які станція реагує відповідним чином. Таким чином, в протоколі HDLC забезпечуються кодова прозорість по даним. Протоколу байдуже, які кодові комбінації знаходяться в потоці даних. Єдине, що потрібно, - це підтримувати унікальність прапорів.використовується також два інших сигнали: сигнал аварійного завершення (АЗ) складається з послідовності одиниць, число яких не менше семи і не більше чотирнадцяти; стан спокою представляється послідовністю п'ятнадцяти або більшого числа одиниць.

Сигнал аварійного завершення (abort) поміщається в кінці кадру. Станція, що передає, посилає цей сигнал, коли виникає виняткова ситуація, що вимагає відновлення. Услід за повідомленням про аварійне завершення можуть посилатися прапори для того, щоб підтримувати канал в активному стані, і передача могла продовжуватися.

Сигнал спокою означає, що канал знаходиться в стані спокою. Одне із застосувань стану спокою знаходить в напівдуплексному сеансі, коли при виявленні сигналу спокою проводиться змінний напрям передачі на протилежне. Міжкадрове тимчасове заповнення супроводжується передачею між кадрами безперервної послідовності прапорів. Прапори можуть бути восьмибітовими комбінаціями, або ж може мати місце поєднання останнього 0 попереднього прапора з першим 0 наступного прапора. Наприклад, 01111110011111100111111001111110. або 011111101111111011111110…

На рисунку 2.5 зображено блок-схему описаного алгоритму аналізу вставки бітів.

Рисунок 2.5 - Блок-схема алгоритму аналізу вставки бітів і контролю команди прапор/аварійне завершення

Керуюче поле HDLC (див. рисунок 2.4) визначає функцію кадру і тому потребує реалізації встановленого алгоритму керування рухом трафіка між приймальною і передавальною станціями. Поле може мати один з трьох типів формату (ненумерований, супервізерний або інформаційний). Керуюче поле визначає команди і відповіді для керування потоком трафіка у каналі. Ці команди і відповіді, показані на рисунок 2.4, використовуються у разі як збалансованої, гак і незбалансованої конфігурацій каналу. Керуюче поле інформаційного кадру містить два порядкових номери. Порядковий номер посилки N(Пoc) пов'язаний з порядковим номером переданого кадру. Порядковий номер прийому N(Пр) означає порядковий номер наступного кадру, який очікує приймаюча станція, N(Пр) - це підтвердження прийому попередніх кадрів.

Команда вибірковий неприйом (SREJ) використовується станцією для запиту повторної передачі одного кадру, який визначений у полі N(Пp). Як і у випадку підтвердження включення, підтвердження поширюється не на всі інформаційні кадри з номерами до N(np) - 1 включно. Вибірковий неприйом дає змогу реалізувати режим вибіркового повторення. Як тільки передано кадр SREJ, наступні кадри приймаються і зберігаються для повторного передавання.

Неприйом (REJ) використовується для запиту передачі кадрів, починаючи з кадру, зазначеного в полі N(Пp). Підтверджуються всі кадри з номерами до N(np) - 1. Кадр REJ може використовуватися для реалізації методу Повернення - на номер N (Go-Back-N).

Третій тип формату в протоколі HDLC призначений для реалізації ненумерованих команд і відповідей. Ненумеровані команди розбивають на групи відповідно до виконуваних функцій:

         установлення режиму - SNRM, SARM, SABM, SNRME, SARME, SABME. SIM, DISC (SNRME, SARME, SABME для розширеної адресації);

         передача інформації - UI, UP;

         відновлення кадру - RESET;

         інші команди - XID, TEST.

Команди і відповіді для ненумерованого формату представлені в таблиці 1.(Unnumbered Information) - ненумерована інформація. Ця команда дає змогу проводити передачу даних користувача в ненумерованому кадрі (тобто без порядкового номера);(Request Initialization Mode) - режим ініціювання запиту. Кадр RIM є запитом на команду SIM від вторинної до первинної станції:(Set Initialization Mode) - установити режим ініціювання. Ця команда використовується для ініціювання сеансу між первинною І вторинною станціями. Очікувана відповідь - UA;(Set Normal Response Mode) - установити режим нормальної відповіді. Команда переводить вторинну станцію в режим NRM (режим нормальної відповіді). Режим NRM запобігає посилці вторинній станції несанкціонованих (unsolicited) кадрів. Це означає, що первинна станція керує всім потоком повідомлень у каналі;(Disconnect Mode) - режим роз'єднання. Кадр передається вторинною станцією для індикації того, що вона знаходиться в режимі логічного роз'єднання;(Disconnect) - роз'єднати. Команда передається первинною станцією, переводить вторинну станцію в режим роз'єднання аналогічно натисканню важеля телефонного апарата;(Unnumbered Acknowledgment) - ненумероване підтвердження. Це підтвердження АСК для встановлення режиму команд SIM, DISC, RESET. UA також використовується для повідомлення про закінчення стану зайнятості станції;(Frame Reject) - неприйом кадру. Вторинна станція проводить цю команду, коли зустрічає недійсний кадр не у випадку виявлення помилки, яка міститься в полі контрольної послідовності, а в більш незвичних ситуаціях.

Таблиця 2.1 - Команди і відповіді HDLC

Режим

Команда первинної станції

Відповідь вторинної станції

Незбалансований (UN)

RR RNR SNRM DISC

RR  RNR UA DM (FRMR)

Незбалансований (UA)

RR RNR  SARM  DIBC

RR RNR UA DM (FRMR)

Збалансований (BA)

RR RNR SABM DISC

RR RNR UA DM (FRMR)

(Exchange State Identification) - ідентифікація станції при комутації. Ця команда вимагає ідентифікації вторинної станції. У системах із комутацією команда використовується для ідентифікації станції, що викликає;(Unnumbered Polls) - ненумеровані опитування. Кадр використовується при встановленні різних шлейфових конфігурацій;(Test) - перевірка. Кадр використовується для санкціонування тестових відповідей від вторинної станції;(Set Asynchronous Response Mode) - встановити режим асинхронних відповідей. Цей режим дозволяє вторинній станції провадити передачу без опитування з боку первинної станції, а також переводити вторинну станцію в стан передачі інформації (IS) режиму ARM. (Set Asynchronous Baleen - Seed Mode) - встановити асинхронний збалансований режим. Встановлює режим у ARM, в якому станції є повноправними. Для передачі не потрібне опитування, оскільки кожна станція є станцією комбінованого типу;(Set Normal Response Mode Extended) - установити розширений режим нормальної відповіді. Встановлює SNRM з двома додатковими байтами в керуючому полі;(Set Asynchronous Balanced Mode Extended) - установити розширений асинхронний збалансований режим. Встановлює SABM з двома додатковими байтами в керуючому полі; UP (Unnumbered Poll) - ненумероване опитування. Команда опитує станцію, не звертаючи уваги на нумерацію кадрів і підтвердження. Якщо біт опитування встановлений на 0, відповідь є необов'язковою можливістю, наданою тільки для однієї відповіді;(Reset) - скидання змінних. Передавальна станція скидає свій N(Пoc), а приймальна станція свій N(Пp). Ця команда використовується для відновлення кадру. Кадри, які раніше не були квитировані, такими й залишаються.

Т1 - тайм-аут (таймер Т1), що починається з моменту передачі кожного кадру. Таймер Т1 використовується для ініціювання повторної передачі, коли таймер переповнюється. Максимальне число повторних передач, що будуть виконані до того, як переповниться таймер Т1, визначається лічильником.

Компанією IBM було розроблено версію базової множини HDLC- синхронне керування ланкою даних (SDLC). SDLC використовує незбалансований режим нормальної відповіді і має декілька команд, яких немає в системах, створених на основі HDLC. Ці команди і відповіді забезпечують можливість установлення кільцевої топології і виконання кільцевих операцій опитування. SDLC призначена для підтримки двоточкових, багатоточкових або кільцевих конфігурацій.

Ситуація, при якій у різних інформаційних системах реалізуються однакові протоколи, є досить незвичною. Очевидно, якщо два пристрої, наприклад, взаємодіють завдяки HDLC, проблеми реалізації не будуть занадто складними. Частіше застосовуються різні пристрої КУД, що використовують зовсім різні протоколи. Так, синхронні й асинхронні пристрої КУД повністю відрізняються форматами повідомлень, керуванням каналу, обробкою помилок і керуванням буферним потоком.

Розв'язати цю проблему дають змогу перетворювачі протоколів, які є мостами між двома протоколами.

3. ФУНКЦІОНАЛЬНА СХЕМА РОБОТИ КІНЦЕВОГО І ЦЕНТРАЛЬНОГО ВУЗЛІВ МЕРЕЖІ

Проектуємо корпоративна мережа складається з центрального вузла та кінцевих вузлів. Мережа повинна виконувати такі функції:

         передача кінцевим вузлом мережі центральному вузлу певної заздалегідь обумовленої інформації декілька разів протягом доби в певні заздалегідь визначені години; отримана інформація обробляється в ЦВ і використовується для виробничих цілей;

         передача кінцевим вузлом мережі центральному вузлу певної заздалегідь обумовленої інформації у будь-який час за вимогою центрального вузла;

         переговори по телефону або за допомогою клавіатури операторів ЦВ і КВ за ініциативою ЦВ або КВ.

 

.1 Склад та функції мережі


Проектована корпоративна мережа складається з центрального вузла та кінцевих вузлів. В даній главі описано роботу цих вузлів.

Мережа повинна виконувати такі функції:

·        збирання центральним вузлом певної заздалегідь обумовленої інформації від кінцевих вузлів мережі декілька разів протягом доби в певні заздалегідь визначені години; отримана інформація обробляється в ЦВ і використовується для виробничих цілей;

·        одержання центральним вузлом певної інформації від будь-якого кінцевого вузла мережі у будь-який час;

·        передача кінцевим вузлом мережі центральному вузлу певної заздалегідь обумовленої інформації декілька разів протягом доби в певні заздалегідь визначені години; отримана інформація обробляється в ЦВ і використовується для виробничих цілей;

·        передача кінцевим вузлом мережі центральному вузлу певної заздалегідь обумовленої інформації у будь-який час за вимогою центрального вузла;

·        переговори по телефону або за допомогою клавіатури операторів ЦВ і КВ за ініціативою ЦВ або КВ.

 

.2 Функціональна схема кінцевого вузла (КВ) мережі


Робота КВ описана графом, зображеним на рисунку 3.1.

Система в стані спокою знаходиться в вихідному стані. Перейти в інші стани може у випадку:

·   Запиту на з`єднання;

·   Вхідного виклику.

Рисунок 3.1 - Граф станів кінцевого вузла

Вихідний стан КВ.

При запуску програми ЦВ здійснюються всі початкові установки: визначення змінних, активізація модему, визначення буферів обміну даними між сеансовим і канальним, а також сеансовим і прикладним рівнями. З пасивного стану (вихідний стан) система може перейти в наступні, за наявності подій:

·   Запит на опитування по черзі всіх кінцевих вузлів для збирання поточної інформації за графіком;

·   Запит на виборочне з`єднання за ініціативою оператора ЦВ;

·   Вхідний виклик за ініціативою оператора КВ.

Вихідний виклик до центрального вузла.

Кінцевий вузол має право розпочати за своєю ініціативою переговори по телефону або з клавіатури з центральним вузлом. В такому випадку модему видається команда на встановлення з`єднання телефонною мережею загального користування. Відбувається запуск тайм-ауту Т1 очікування з’єднання. Якщо з`єднання не встановлюється за час Т1, то оператору на дисплей виводиться повідомлення “з`єднання не встановлено” і запит при необхідності повторюється. Якщо з`єднання встановлено - безпосередньо відбуваються переговори між операторами кінцевого та центрального вузлів. Переговори можуть здійснюватись по телефону або за допомогою клавіатури відповідно вимозі оператора. По завершенню передається повідомлення “сеанс закінчений” і модему видається команда на роз`єднання. Запускається тайм-аут Т2 очікування роз’єднання. Відбувається процедура роз`єднання, яка триває не більше Т2, після чого система переходить в вихідний стан. Якщо роз`єднання не станеться за час Т2, то оператору на дисплей виводиться повідомлення “аварія модему” і оператор повинен перезавантажити програму, щоб виконати ініціалізацію модему для встановлення його в робочий стан.

Вхідний виклик від центрального вузла Коли КВ приймає виклик, модему видається команда на встановлення з`єднання. Запускається тайм-аут Т1. Якщо з`єднання не встановлено за час Т1, процедура встановлення з`єднання припиняється і оператору виводиться на екран монітора повідомлення «не прийнятий вхідний виклик». Якщо з`єднання встановлено, відбувається аналіз запиту. Можливі два варіанти запиту: запит на переговори й запит даних. В залежності від запиту, відбувається передача даних або переговори по телефону, або з клавіатури. Після закінчення сеансу зв`язку відбувається роз`єднання, яке триває час Т2, на екран оператору виводиться повідомлення “процедура роз`єднання закінчена”. Система переходить в вихідний стан. Якщо час роз`єднання перевищує Т2, на екран оператору виводиться повідомлення “ аварія модему” і оператор повинен перезавантажити програму, щоб виконати ініціалізацію модему для встановлення його в робочий стан.

3.3 Функціональна схема центрального вузла (ЦВ) мережі


Для виконання перелічених вище функцій центральний вузол (ЦВ) може працювати в трьох режимах:

·        “опитування по черзі”;

·        “виборочне з’єднання”;

·        “вхідний виклик”.

Робота ЦВ описана графом, зображеним на рисунку 3.2.

Як показано на рисунку система має декілька станів, що відповідають за виконання певних функцій:

·        вихідний стан;

·        опитування по черзі;

·        встановлення з’єднання;

Рисунок 3.2 - Граф станів центрального вузла

При запуску програми ЦВ здійснюються всі початкові установки: визначення змінних, активізація модему, визначення буферів обміну даними між сеансовим і канальним, а також сеансовим і прикладним рівнями. З пасивного стану (вихідний стан) система може перейти в наступні, за наявності подій:

·        Запит на опитування по черзі всіх кінцевих вузлів для збирання поточної інформації за графіком;

·        Запит на виборочне з`єднання за ініціативою оператора ЦВ;

·        Вхідний виклик за ініціативою оператора КВ.

Вихідний виклик всіх КВ по черзі

Режим передбачає збирання певних даних, наперед обумовлених протоколом Прикладного рівня корпоративної мережі, які необхідні для статистики та для керування підприємствами, об’єднаними мережею. Дані мають певну структуру, що передбачає мінімальний об`єм. Дані від кожного вузла надходять в ЦВ, вносяться в БД, і, по мірі необхідності, обробляються і використовуються.

Опитування по черзі відбувається періодично в певний визначений час. Воно заключається в тому, що центральний вузол мережі через телефонну мережу загального користування з’єднується по черзі з кожним КВ мережі з метою отримання поточних наперед обумовлених даних. На ЦВ існує список КВ з їх номерами телефонів. Процедура опитування полягає в наступному. Коли наступає час опитування по черзі, починається відлік тайм-ауту Т1, за час якого потрібно отримати дані від всіх КВ. З списку КВ обирається номер телефону першого КВ і ЦВ переходить в стан „Встановлення з`єднання”. В цьому стані починається відлік тайм-ауту Т2, за час якого необхідно отримати дані від обраного КВ, і з ним встановлюється з`єднання через мережу зв’язку з комутацією каналів.

Якщо з`єднання встановлено, відбувається запит й отримання даних центральним вузлом, де вони фіксуються. В списку КВ робиться відмітка, що кінцевий вузол опитаний успішно, сеанс зв’язку з КВ вважається закінченим і відбувається роз`єднання.

Якщо з`єднання не встановлено або дані від КВ не отримані за час Т2, то відмітка в списку КВ не робиться і визначається наявність інших неопитаних вузлів. Якщо в списку кінцевих станцій є ще неопитані, то переходимо до опитування наступного, тобто процедура повторюється. Якщо неопитаних вузлів не залишилось, то опитування по черзі закінчується й система переходить в вихідний стан, а на екран оператору виводиться повідомлення „Опитування по черзі закінчено” (№ 1). У випадку, коли неможливо встановити зв`язок або отримати дані, оператору на екран виводиться повідомлення “Неможливість встановлення з`єднання або отримання даних з і-го вузла” (№ 2).

В тому випадку, коли виникає необхідність переговорів по телефону або з клавіатури, або термінове отримання даних, починається відлік тайм-ауту Т2, в кінцевий вузол посилається запит на з`єднання й відбувається спроба на встановлення з`єднання. Якщо з`єднання не встановлюється за час Т2, в центральний вузол поступає повідомлення “З`єднання не встановлене” і виводиться відповідна інформація на екран (Повідомлення № 3). Запит при необхідності повторюється.

Якщо з`єднання встановлено, починається відлік тайм-ауту Т3, це час, що відведений на переговори, і відбуваються переговори з клавіатури або по телефону, або запит і отримання даних. Після закінчення переговорів або передачі даних в центральний вузол, або в випадку закінчення часу Т3 сеанс вважається закінченим і програма переходить в стан „Роз’єднання”. В цьому стані в модем надсилається команда „Роз’єднання”, він відключається від лінії, і програма переходить в „Вихідний стан”, а на екран монітору оператору видається повідомлення “Сеанс закінчений” (Повідомлення № 4).

Коли в ЦВ поступає вхідний виклик, в модем поступає команда “відповісти на вхідний виклик і встановити з`єднання”. Встановлюється тайм-аут Т2. Якщо з`єднання не встановлено за час Т2, в ЦВ поступає повідомлення про те, що з`єднання не встановлено (повідомлення № 3). У випадку встановлення з`єднання відбуваються переговори по телефону або з клавіатури. Сеанс закінчений може бути по ініціативі викликаючої або викликаємої сторони. Якщо центральний вузол закінчує переговори, то модему подається команда на роз`єднання і відбувається процедура роз`єднання. Якщо ініціатором виступає викликаєма сторона, модем центрального вузла приймає роз`єднання і система переходить в вихідний стан.

4. РОЗРОБКА АЛГОРИТМУ КАНАЛЬНОГО РІВНЯ

 

.1 Обґрунтування вибору середовища програмування Delphi


В середовищі програмування Delphi використовується мова Pascal, найбільш вдосконалена в порівнянні з іншими мовами програмування та затверджена в якості стандартної в 1979р.

Вона ефективна, проста, логічна. Внаслідок цього вона отримала розповсюдження по всьому світі. В даний час майже всі ЕОМ і особливо мікроЕОМ, можуть працювати на цій мові. Тексти програм легко перевіряється на правильність, тому що їх зміст простий і очевидний стилю програмування.

Мова Pascal орієнтована на принципи сучасної технології програмування та надійні засоби обробки даних. Це основні її переваги. Ефективність роботи трансляторів дозволила реалізувати її на багатьох ЕОМ, що привело до широкого розповсюдження мови.

Всі конструкції мови будуються на базі символів алфавіту. До останніх відносяться літери, цифри, знаки та зарезервовані слова.

В мові Pascal, як і в будь якій мові є стандартні функції. Також треба пам’ятати, що будь яка реалізація мови на ЕОМ може вводити додаткові функції.

Мова Pascal дозволяє на рівні програми з невеликими складностями створювати структурні підпрограми складнооб’ємних і складних обчислень. Щоб користувач при створенні програм не допускав помилок або міг віднайти їх і виправити, у мові передбачено попередні вказівки типів даних, приймаючих участь в програмі, і обов’язкова інформація про всі елементи програми, таких, як позначки операторів, константи, змінні, підпрограми. Число різних операторів зведено до мінімуму. Мова дозволяє вдосконалити робочий процес програмування, поступово уточнюючи різні частини програми.

Мова Pascal зручна у використанні, і легко усвоюється в роботі. Вона має всі засоби для зручного і ефективного створення програм, які виконують різноманітні за значенням задачі. Однією з позитивних сторін є те, що після компіляції вона перетворюється в програму, яка складається безпосередньо з машинних кодів і для запуску не потрібно транслятора. Тому в даній роботі ми робимо розробку програмного забезпечення на мові Pascal.

4.2 Структура програмного забезпечення


Програмне забезпечення ЦВ і КВ призначене для роботи під керуванням операційної системи Windows. Ця операційна система є багатозадачною, тобто має можливість одночасно виконувати, крім системних задач, декілька користованих програм, а також при цьому весь час обробляють події, викликані діями оператора, наприклад, події від “мишки” та клавіатури. Операційна система надає можливість всім користувацьким програмам по черзі виконувати свої команди. Якщо користувацькі програми виконують завдання, жорстко не регламентовані часом, то затримки, що вносяться необхідністю виконання декількох програм, не важливі. Але якщо користувацька програма взаємодіє з зовнішніми пристроями, часто виконання якихось частин програми регламентоване тайм-аутами, і затримки, що вносяться операційною системою, можуть привести до некоректних дій програми із-за перевищення тайм-аутів. Тому для роботи користувацьких програм у реальному масштабі часу ці програми повинні мати певну структуру.

При розробці в середовищі Pascal програма, в задачі якої входить взаємодія з модемом через послідовний порт комп’ютера, складається з трьох частин: основної програми, що має розширення “.exe”, додатку або бібліотеки, що має розширення “.dll” і файлу низького рівня, що для Windows-98 має розширення “.vxd”, а для Windows-2000 має розширення “.sys”. В основному файлі є процедура реєстрації всіх функцій і процедур бібліотеки, а в бібліотеці є спеціальні процедури і функції для зв’язку з файлом низького рівня (активізація його в операційній системі на час роботи основної програми та деактивізація при закінченні роботи програми, прийом від низького рівня та передача йому порцій даних) і з основною програмою, в якій реалізовані процедури і функції вищих рівнів. При такій структурі програми користувацька програма працює коректно, і операційна система слідкує за виконанням завдання з найменшими затримками.

Для спілкування файлів низького рівня і прикладань операційна система використовує повідомлення (message). Це повідомлення про деяку подію, що мала місце, Windows надсилає за адресою прикладання. Повідомлення являє собою деякий запис, який Windows передає прикладанню. Цей запис містить відомості про те, що сталося (в нашому випадку повідомлення про прийняту порцію даних), а також додаткову інформацію, що залежить від типу події (наприклад, номер буфера даних і його розмір). Повідомлення повинно мати ідентифікатор в діапазоні від WM_USER+100 до $7FFFF (цей діапазон Windows резервує для повідомлень користувачів). Ідентифікатор повідомлення стає відомим операційній системі при роботі прикладання.

Функції сеансового рівня даної корпоративної мережі виконуються процедурами і функціями бібліотеки “knet.dll”.

4.3 Опис алгоритму роботи канального рівня центрального вузла


На початку підпрограми здійснюється установка всіх прапорців і лічильників в стан, необхідний для правильного відпрацювання канального рівня для передачі і прийому інформації для сеансового рівня.

Після цього треба перевірити активність фізичного рівня, тобто наявність встановленого модемами каналу зв’язку. Якщо канал не встановлений, немає можливості передавати і приймати інформацію, і підпрограма другого рівня закінчує роботу. Якщо ж канал встановлений, може бути два варіанти. Якщо підпрограма сеансового рівня викликала підпрограму канального рівня для прийому інформації, про що свідчить неактивний стан прапорця наявності інформації для передачі FRG52. В цьому випадку канальний рівень кінцевого пункту повинен включити тайм-аут Т22 очікування прийому команди від ЦВ і чекати команду.

Якщо підпрограма сеансового рівня викликала підпрограму канального рівня для передачі інформації, про що свідчить активний стан прапорця наявності інформації для передачі FRG52. В цьому випадку канальний рівень кінцевого пункту повинен передати канальному рівню центрального пункту команду „запит на захват каналу” (ENQ). Після передачі команди ENQ запускається тайм-аут Т21 очікування відповіді від центрального пункту. Якщо за час Т21 не надійшла позитивна відповідь (АСК) на нашу вимогу ENQ, виставляємо в активний стан прапорець помилки FО25 і завершуємо роботі канального рівня. Якщо отримана згода (АСК) від канального рівня центрального вузла на прийом інформації, приступаємо до передачі. Для цього ставимо в активний стан прапорець FA2, в неактивний стан прапорець „кінець передачі” (FETX), запам’ятовуємо кількість байт інформації для передачі в лічильнику SBPD і викликаємо підпрограму формування блоку для передачі FormBlock.

Сформований блок передається за допомогою підпрограми PdBlock. Оскільки в мережі використовується вирішуючий зворотній зв’язок з очікуванням, то під час передачі блоку або відразу після передачі всього блоку від канального рівня центрального вузла може бути отримано DLE, що означає порушення порядку прийому блоків згідно номерів блоків, тобто втрату блоку. В цьому випадку передачу всього кадру треба розпочинати спочатку. Може надійти від канального рівня центрального вузла повідомлення про те, що блок був прийнятий з помилкою „заперечення правильності прийому блоку” (NAK). Це може бути у двох випадках - неправильний формат блоку або неправильна контрольна сума блоку. В такому випадку враховується спроба передачі блоку в лічильнику SSPDB, який при формування блоку був встановлений в 3, і якщо лічильник спроб ще не дорівнює 0, виконується передача цього блоку ще раз. Якщо за три спроби передачі цього блоку позитивний результат не отриманий, виставляється в активний стан прапорець помилки для сеансового рівня, і підпрограма канального рівня закінчує роботу. Ще може надійти від канального рівня центрального вузла повідомлення про те, що блок був прийнятий без помилки - „підтвердження правильності прийому блоку” (АСК). В такому випадку якщо не всі блоки кадру передані, про що свідчить неактивний стан прапорця FETX, то переходимо до формування і передачі наступного блоку. Якщо передача закінчена, виставляється в неактивний стан прапорець наявності інформації для передачі FRG52, передається канальному рівню центрального вузла повідомлення „кінець передачі” (ЕОТ), ставиться в неактивний стан прапорець FA2, включається тайм-аут Т22 очікування прийому від ЦВ і очікуємо команду від ЦВ.

Якщо за час Т22 від ЦВ не надходить команда „запит на захват каналу” (ENQ), підпрограма канального рівня закінчує роботу.

У випадку надходження команди ENQ треба надіслати позитивну відповідь (АСК), тобто згоду на прийом, встановити в активний стан прапорець FA2, приготувати лічильник прийнятої інформації SRG25 (записати в нього 0), встановити в неактивний стан прапорець FRG25 наявності прийнятої канальним рівнем для сеансового рівня інформації і встановити в неактивний стан прапорець FETX, який означає, що прийнятий останній блок кадру. Також для запобігання зациклювання програми необхідно запустити тайм-аут Т21 очікування знаку від канального рівня ЦВ.

Канальний рівень ЦВ, після прийому від КВ АСК буде надсилати інформаційні блоки. Ознакою початку інформаційного блоку є перший байт блоку STX („початок тексту”). Якщо за час Т21 не отримано STX, треба встановити в неактивний стан прапорець FA2 і вийти з підпрограми другого рівня. Якщо STX є, викликаємо підпрограму прийому блоку PmBlock. Ця підпрограма перевіряє правильність блоку, ознаку кінця кадру і виставляє відповідні прапорці. При неправильному форматі блоку або неправильній контрольній сумі блоку (активний прапорець FNAK) треба передати канальному рівню ЦВ „заперечення правильності прийому блоку” (NAK) і перейти до повторного прийому блоку.

При неправильному номері блоку (активний прапорець FDLE) треба передати канальному рівню ЦВ „передати кадр спочатку” (DLE) і перейти на початок прийому кадру.

При правильному форматі блоку і номера блоку, а також правильній контрольній сумі блоку (активний прапорець FACK) треба передати канальному рівню ЦВ „підтвердження правильності прийому блоку” (АСК) і перевірити, чи активний прапорець FETX („кінець тексту”). Якщо блок не останній, приступаємо до прийому наступного блоку.

Якщо був прийнятий останній блок кадру для сеансового рівня, за час Т21 повинна надійти команда ЕОТ. В цьому випадку встановлюються прапорці: FA2 в неактивний стан, FRG25 в активний стан, передається ЕОТ і підпрограма канального рівня закінчує роботу.

4.4 Опис алгоритму роботи канального рівня кінцевого вузла


На рисунку 4.1 представлений алгоритм канального рівня кінцевого вузла інформаційної мережі.

На початку підпрограми здійснюється установка всіх прапорців і лічильників в стан, необхідний для правильного відпрацювання канального рівня для передачі і прийому інформації для сеансового рівня.

Після цього треба перевірити активність фізичного рівня, тобто наявність встановленого модемами каналу зв’язку. Якщо канал не встановлений, немає можливості передавати і приймати інформацію, і підпрограма другого рівня закінчує роботу. Якщо ж канал встановлений, може бути два варіанти: Підпрограма сеансового рівня викликала підпрограму канального рівня для передачі інформації, про що свідчить активний стан прапорця наявності інформації для передачі FRG52. В цьому випадку канальний рівень кінцевого пункту повинен передати канальному рівню центрального пункту команду „запит на захват каналу” (ENQ). Після передачі команди ENQ запускається тайм-аут Т21 очікування відповіді від центрального пункту. Якщо за час Т21 не надійшла позитивна відповідь (АСК) на нашу вимогу ENQ, виставляємо в активний стан прапорець помилки FО25 і завершуємо роботі канального рівня. Якщо отримана згода (АСК) від канального рівня центрального вузла на прийом інформації, приступаємо до передачі. Для цього ставимо в активний стан прапорець FA2, в неактивний стан прапорець „кінець передачі” (FETX), встановлюємо покажчик чергового байту для передачі в регістрі RG52 (j) та номер блоку для передачі (NBlockPd) в 0, і викликаємо підпрограму формування блоку для передачі FormBlock.

Сформований блок передається за допомогою підпрограми PdBlock. Оскільки в мережі використовується вирішуючий зворотній зв’язок з очікуванням, то під час передачі блоку або відразу після передачі всього блоку від канального рівня центрального вузла може бути отримано DLE, що означає порушення порядку прийому блоків згідно номерів блоків, тобто втрату блоку. В цьому випадку передачу всього кадру треба розпочинати спочатку. Може надійти від канального рівня центрального вузла повідомлення про те, що блок був прийнятий з помилкою „заперечення правильності прийому блоку” (NAK).

Це може бути у двох випадках - неправильний формат блоку або неправильна контрольна сума блоку. В такому випадку враховується спроба передачі блоку в лічильнику SSPDB, який при формування блоку був встановлений в 3, і якщо лічильник спроб ще не дорівнює 0, виконується передача цього блоку ще раз. Якщо за три спроби передачі цього блоку позитивний результат не отриманий, виставляється в активний стан прапорець помилки для сеансового рівня, і підпрограма канального рівня закінчує роботу. Ще може надійти від канального рівня центрального вузла повідомлення про те, що блок був прийнятий без помилки - „підтвердження правильності прийому блоку” (АСК). В такому випадку якщо не всі блоки кадру передані, про що свідчить неактивний стан прапорця FETX, то переходимо до формування і передачі наступного блоку. Якщо передача закінчена, виставляється в неактивний стан прапорець наявності інформації для передачі FRG52, передається канальному рівню центрального вузла повідомлення „кінець передачі” (ЕОТ), ставиться в неактивний стан прапорець FA2, включається тайм-аут Т22 очікування прийому від ЦВ і очікуємо команду від ЦВ.

) Підпрограма сеансового рівня викликала підпрограму канального рівня для прийому інформації, про що свідчить неактивний стан прапорця наявності інформації для передачі FRG52. В цьому випадку канальний рівень кінцевого пункту повинен включити тайм-аут Т22 очікування прийому команди від ЦВ і чекати команду.

Якщо за час Т22 від ЦВ не надходить команда „запит на захват каналу” (ENQ), підпрограма канального рівня закінчує роботу.

У випадку надходження команди ENQ треба надіслати позитивну відповідь (АСК), тобто згоду на прийом, встановити в активний стан прапорець FA2, приготувати лічильник прийнятої інформації SRG25 (записати в нього 0), встановити в неактивний стан прапорець FRG25 наявності прийнятої канальним рівнем для сеансового рівня інформації і встановити в неактивний стан прапорець FETX, який означає, що прийнятий останній блок кадру. Також для запобігання зациклювання програми необхідно запустити тайм-аут Т21 очікування знаку від канального рівня ЦВ.

Канальний рівень ЦВ, після прийому від КВ АСК буде надсилати інформаційні блоки. Ознакою початку інформаційного блоку є перший байт блоку STX („початок тексту”). Якщо за час Т21 не отримано STX, треба встановити в неактивний стан прапорець FA2 і вийти з підпрограми другого рівня. Якщо STX є, викликаємо підпрограму прийома блоку PmBlock. Ця підпрограма перевіряє правильність блоку, ознаку кінця кадру і виставляє відповідні прапорці. При неправильному форматі блоку або неправильній контрольній сумі блоку (активний прапорець FNAK) треба передати канальному рівню ЦВ „заперечення правильності прийому блоку” (NAK) і перейти до повторного прийому блоку.

При неправильному номері блоку (активний прапорець FDLE) треба передати канальному рівню ЦВ „передати кадр спочатку” (DLE) і перейти на початок прийому кадру.

При правильному форматі блоку і номера блоку, а також правильній контрольній сумі блоку (активний прапорець FACK) треба передати канальному рівню ЦВ „підтвердження правильності прийому блоку” (АСК) і перевірити, чи активний прапорець FETX („кінець тексту”). Якщо блок не останній, приступаємо до прийому наступного блоку.

Якщо був прийнятий останній блок кадру для сеансового рівня, за час Т21 повинна надійти команда ЕОТ. В цьому випадку встановлюються прапорці: FA2 в неактивний стан, FRG25 в активний стан, передається ЕОТ і підпрограма канального рівня закінчує роботу.

корпоративний мережа канальний вузол

Рисунок 4.1- Алгоритм канального рівня кінцевого вузла

Продовження рисунку 4.1- Алгоритм канального рівня кінцевого вузла

Процедура формування блоку для передачі FormBlock

Блок складається з наступних складових: „Початок блоку”, „Номер блоку”, „Інформація”, „Кінець блоку”, „Перевірочна інформація” (рисунок 4.32)

Для створення перевірочної інформації використовується метод формування суми по модулю 2.

Початок блоку

№ блоку

Інформація

Кінець блоку

Перевірочна інформація

Рисунок 4.2 - Блок другого рівня

Алгоритм процедури формування блоку для передачі наведений на рисунку 4.3.

На початку підпрограми формування блоку для передачі треба встановити лічильник байт блоку (і) в 0. Якщо блок останній, то встановлюємо прапорець кінця кадру FETX в активний стан. Далі записуємо в регістр RGBlock ознаку початку блоку STX, збільшуємо значення покажчика (і), записуємо STX в чарунку Contr_Sum, де буде формуватись контрольна сума блоку (по модулю 2), записуємо в RGBlock номер блоку NBlockPd, здійснюємо складання по модулю 2 Contr_Sum та NBlockPd, збільшуємо на одиницю значення покажчика (і) та NBlockPd і приступаємо до запису 16-ти байт інформації з регістра RG52 в регістр RGBlock. При цьому кожний інформаційний байт враховується в Contr_Sum. Коли всі інформаційні байти записані в регістр для передачі блоку, треба записати ознаку кінця блоку. Якщо блок останній в кадрі, то в регістр RGBlock записується ETX, а якщо ні, то записується ETB. Ці байти не враховуються при формуванні контрольної суми блоку. Останньою в RGBlock записується контрольна сума блоку Contr_Sum.

Оскільки в інформаційній мережі, що розробляється, використовується вирішуючий зворотній зв’язок, то при надходженні на прийом пошкодженого блоку ми отримаємо негативну квитанцію на нього (NAK) і цей блок треба буде повторно передати, необхідно обмежити кількість повторних передач для запобігання за циклювання програми. Для цього в лічильник повторних передач блоку SSPdBlock в кінці формування блоку записуємо 3 (допустима кількість повторних передач блоку).

Рисунок 4.3 - Формування блоку для передачі

Процедура передачі блоку рівню 1 PdBlock

Алгоритм процедури передачі блоку наведений на рисунку 4.4.

Оскільки після передачі блоку ми можемо отримати у відповідь квитанції - позитивну (ACK), негативну (NAK), або вимогу розпочати передачу всього кадру спочатку (DLE), то перед передачею блоку треба встановити в неактивний стан прапорці FACK, FNAK, FDLE. Крім того, для запобігання зависання програми при ненадходженні квитанції на переданий блок, починаємо відлік тайм-ауту Т23 (час очікування відповіді на блок). Покажчик регістру RGBlock (і) встановлюємо на перший байт блоку.

Процедура прийому блоку від рівня 1

Ця процедура призначена для прийняття інформації від фізичного рівня.

Алгоритм процедури представлений на рис. 4.5. Він полягає в наступному. Спочатку треба зробити початкові установки: покажчик на регістр прийому RGBlock (i) встановити в 0; прапорці FACK, FNAK, FDLE встановити в неактивний стан. Для запобігання зависання програми необхідно розпочати відлік тайм-ауту Т24 (час прийому повного блоку).

Тепер перевіряється, чи надійшла інформація з каналу на фізичний рівень, якщо знаку немає і тайм-аут Т24 не закінчився - повертаємося на очікування байта від рівня 1. Якщо байт надійшов, то це має бути номер блоку, який зараз приймається (NBlock). При невідповідності прийнятого і очікуваного номера блоку може бути два варіанти. У першому випадку номер блоку, що приймається, менший від очікуваного, тобто цей блок вже був прийнятий. В такому разі треба встановити прапорець FACK (ознака того, що потрібнов передати позитивну квитанцію на цей блок) в активний стан, дочекатись кінця прийому всього блоку і вийти з підпрограми. У другому випадку номер блоку, що приймається, більший від очікуваного, тобто була втрата блоку. Виправити таку помилку можна тільки розпочавши прийом всього кадру спочатку. Для цього встановлюється в активний стан прапорець FDLE, дочекатись кінця прийому всього блоку і вийти з підпрограми.

При відповідності прийнятого і очікуваного номера блоку виконуємо операцію „складання по модулю 2” чарунки Contr_Sum і NBlock, і переходимо до прийома інформаційних байт блоку. При прийомі кожного байту інформації його треба переписати в регістр RGBlock, врахувати його в контрольній сумі блоку Contr_Sum (виконати операцію „складання по модулю 2”), і збільшити покажчик регістра RGBlock (і).

Коли 16 інформаційних байт блоку прийняті, чекаємо ознаку кінця блоку. Це може бути ETB (кінець блоку) або ETX (кінець тексту, тобто кінець кадру). В останньому випадку прапорець FETX необхідно встановити в активний стан.В кінці блоку повинна надійти контрольна сума блоку, яка порівнюється з тією контрольною сумою, яка підрахована в чарунці Contr_Sum. Якщо контрольна сума неправильна, це означає, що в блоці була помилка і треба встановити в активний стан прапорець FNAK. У випадку правильності контрольної суми встановлюємо в активний стан прапорець FACK, якщо до цього часу не була зафіксована помилка.

Рисунок 4.4 - Алгоритм процедури передачі блоку

Під час роботи підпрограми весь час перевіряється тайм-аут Т24. Якщо блок не прийнятий за час Т24 підпрограма закінчує роботу.

Рисунок 4.5 - Алгоритм процедура прийому блоку

ВИСНОВКИ

В дипломній роботі отримані такі результати:

.        Проведено аналіз конвергентних мереж, вирішено завдання розробки програмного забезпечення канального рівня кінцевого та центрального вузлів для корпоративної мережі телекомунікаційної компанії.

.        Визначено основні завдання, компоненти, принципи побудови, структуру мережі та її складових. Наведено характеристику мережі з точки зору еталонної моделі взаємодії відкритих систем.

.        Розглянуто рівні моделі OSI, докладно - функції та протоколи канального рівня.

.        Побудовано та описано функціональні схеми роботи кінцевого та центрального вузлів мережі, за допомогою яких пояснюються режими роботи та стани цих вузлів.

.        Досліджено принципи розробки програмного забезпечення. Перевагою даної роботи є те, що програмне забезпечення створювалося для роботи під керуванням операційної системи Windows, що дозволяє використовувати його в реальних умовах.

.        Розроблені алгоритми дають можливість виконувати основні функції канального рівня для передачі та прийому необхідних обсягів інформації, слідкування за правильністю переданих даних, повторну передачу при необхідності.

На основі розроблених алгоритмів написана програма роботи канального рівня.

Сукупність проведених досліджень, розробок в дипломній роботі складає вирішення завдання з поліпшення показників якості на канальному рівні в інформаційних мережах.

ПЕРЕЛІК ПОСИЛАНЬ

Стеклов В.К., Беркман Л.Н. Проектування телекомунікаційних мереж: Підручник для студентів вищ. навч. закладів за напрямком „ Телекомунікації” /за ред. В.К.Стеклова.-К.: Техніка, 2002.-792 с.

Буров Є. Комп`ютерні мережі. - Львів, 1999. - 468 с.

Калита Д. М. Комп`ютерні мережі. Апаратні засоби та протоколи передачі даних. - К.: Видовничо-поліграфічний центр „Київський Університет”, 2003. - 327 с.

Сергеев Н.П, Вашкевич Н.П. Основы вычислительной техники. - Москва.: ”Высшая школа”, 1988. - 311 с.

Спортак М., Паппас Ф. Комп`ютерні мережі та мережні технології. - К.: ООО “ТИД “ДС”, 2002. - 736 с.

Стеклов В. К., Беркман Л. Н. Телекомунікаційні мережі. - К.: Техніка, 2001.- 392 с.

Нейман В. І., Романова О.М. Загальні напрямки розвитку корпоративних мереж і систем // ВКCС. Connect! - 2001, №4. - с. 15-28.

Культін Н. Б. Основи програмування в Delphi 7. - СПб.: БХВ-Петербург, 2003. - 608 с.

Лагутенко О.И. Современные модемы. - Москва: Око - Трендз, 2002.-380 с.

ДОДАТКИ

Додаток 1

ПРОГРАМА КАНАЛЬНОГО РІВНЯKNetProtocol;

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls,

syncobjs, {Debug, AdPort,} Math;

str40 = string[40];

TKNetProtocol = class

private

FMainTimer: TTimer;

NBlokPd, KBlokPd, NBlokPm, SB_L3:integer;

RS_COM2:integer;

FETXPd,FETXPm:boolean;

FNAK, FACK, FTA:boolean;

SBBlokPd:integer;

SBBlokPm:integer;

Contr_SumPd:integer;

Contr_SumPm:integer;

RG21_1, RG21_2, RG12_1, RG12_2:Array[0..19] of integer;

RG32_1, RG32_2, RG23_1, RG23_2:Array[0..511] of integer;

FHandle: HWnD;

// внутренние переменные и флаги

FVxDIsLoaded : Boolean;

FErrorCode : integer;

hCVxD : THandle;

RetInfo : Array[0..9]Of DWord;

PutInfo : Array[0..9]Of DWord;

cbBytesReturned: DWord;

pReceive1:pointer;

pReceive3:pointer;

pTransmit1:pointer;

pTransmit3:pointer;

pStr40:pointer;

procedure VxDProc(var Msg: TMessage);

function LoadVxD: integer;

function FreeVxD: integer;

procedure FormBlok(var j:integer);

procedure Com_Mod;

procedure HookIRQ;

procedure TransmitInf;

procedure OnMainTimer(Sender: TObject);

public

FPm_VxD:boolean;

NT:string;

function Ur1_Init:integer;

procedure Ur1_Done;

function Pd_Inf_L1(var BufSize:integer; pTransmit3:pointer):integer;

published

end;

wm_VxD = wm_User;

MES_PROTOCOL_NAK = wm_VxD+1;

MES_PROTOCOL_ACK = wm_VxD+2;

MES_PROTOCOL_STX = wm_VxD+3;

CVXD_APIFUNC_1 = 1; {Завантаження параметрів в VxD}

CVXD_APIFUNC_2 = 2; {Передача команди для модему}

CVXD_APIFUNC_3 = 3; {Передача інформації в VxD}

CVXD_APIFUNC_4 = 4;

STX = 2; {"Початок тексту"}

ETB = $17; {"Кінець блоку"}

ETX = $03; {"Кінець тексту"}

EOT = $04; {"Кінець передачі"}

ENQ = $05; {"КТМ"}

DLE = $10; {"АР1"}

NAK = $15; {"Ні"}

ACK = $06; {"Так"}

SBBI = 16; {Кількість інформаційних байтів в блоці}

AddrCOM2 = $2F8;{Базова адреса порта}

NIRQ = $10;

command1:Str40 = 'ATDP';

command2:Str40 = 'ATH0';TKNetProtocol.FormBlok(var j:integer);i:byte;

SBBlokPm:=0;

if NBlokPd=(KBlokPd-1) then

FETXPd:=True

else

FETXPd:=False;

i:=0;

if pTransmit1=@RG21_1 then

begin

RG21_1[i]:=STX;

Inc(i);

RG21_1[i]:=NBlokPd;

Inc(i);

Contr_SumPd:=STX XOR NBlokPd;

Repeat

RG21_1[i]:=RG32_1[j];

Contr_SumPd:=Contr_SumPd XOR RG21_1[i];

Inc(i);

Inc(j);

Inc(SBBlokPd);

Until SBBlokPd < SBBI;

if FETXPd then RG21_1[i]:=ETX

else RG21_1[i]:=ETB;

Inc(i);

RG21_1[i]:=Contr_SumPd;

pTransmit1:=@RG21_2;

end

else

begin

RG21_2[i]:=STX;

Contr_SumPd:=Contr_SumPd XOR RG21_1[i];

Inc(i);

RG21_2[i]:=NBlokPd;

Inc(i);

Contr_SumPd:=STX XOR NBlokPd;

Repeat

RG21_2[i]:=RG32_1[j];

Inc(i);

Inc(j);

Inc(SBBlokPd);

Until SBBlokPd < SBBI;

if FETXPd then RG21_2[i]:=ETX

else RG21_2[i]:=ETB;

Inc(i);

RG21_2[i]:=Contr_SumPd;

pTransmit1:=@RG21_1;

end;TKNetProtocol.Pd_Inf_L1(var BufSize:integer; pTransmit3:pointer):integer;j:integer;Pd_Inf1,Pd_Inf2;

Result:=0;

j:=0;

NBlokPd:=0;

FTA:=False;

KBlokPd:=BufSize div 16;

FNAK:=False;

FETXPd:=False;

FACK:=True;_Inf1:

if FACK then

begin

FACK:=False;

FMainTimer.Enabled:=False;{Зупинити відлік Т1}

if NOT FETXPd then

begin

Pd_Inf2:

FormBlok(j);

Inc(NBlokPd);

TransmitInf;

FMainTimer.Enabled:=True;{Запуск відліку Т1}

end

else

begin

FETXPd:=False;

Result:=1;

Exit;

end;

end

else

begin

if FNAK then

begin

Dec(NBlokPd);

FNAK:=False;

FMainTimer.Enabled:=False;{Зупинити відлік Т1}

goto Pd_Inf2;

end

else

begin

if FTA then

begin

FTA:=False;

Result:=0;

Exit;goto Pd_Inf1;

end;;

Додаток 2

ПЕРЕЛІК КОМАНД ЯКІ ВИКОРИСТОВУЮТЬСЯ В АЛГОРИТМАХ

Команди канального рівня- початок тексту;- кінець блоку;- кінець тексту;- кінець передачі;- запит на захват каналу;- перепитування всього кадру;- перепитування блоку;- підтвердження правильного прийому блоку.

Додаток 3

ДОДАТОК В ПЕРЕЛІК ПРАПОРЦІВ

FAR - прапорець аварійного роз’єднання- прапорець нормального роз’єднання- прапорець наявності інформації з рівня 7 рівню 5- прапорець наявності інформації з рівня 5 рівню 7- прапорець наявності інформації з рівня 5 рівню 2- прапорець наявності інформації з рівня 2 рівню 5- прапорець активності 1 рівня (фізичного) - прапорець активності 2 рівня (канального)- прапорець активності 5 рівня (сеансового)- Прапорець активності 7 рівня (прикладного) - прапорець помилки на 2 рівні, яка належить виправленню на 5 рівні- прапорець помилки на 5 рівні, яка належить виправленню на 7 рівні

Додаток 4

ПЕРЕЛІК ТАЙМ-АУТІВ

Тайм-аути необхідні для того, щоб програми не зациклювалися.

Т1 - час встановлення з`єднання з ЦВ.

Т2 - час, за який відбувається роз`єднання.

Т21 - час очікування відповіді на команду ENQ.

Т22 - час очікування команди ENQ.

Т23 - час очікування відповіді на блок при передачі.

Т24 - час прийому блоку.

Т - 1 - час, за який необхідно провести опитування всіх кінцевих вузлів. Значення тайм-ауту залежить від кількості КВ, часу опитування одного КВ

Т - 2 - час встановлення з`єднання з кінцевим або центральним вузлом.

Т - 3 - час, за який відбувається роз`єднання.

Додаток 5


Граф станів центрального вузла


Граф станів кінцевого вузла


Формування блоку для передачі

Алгоритм процедури передачі блоку

Похожие работы на - Розробка програмного забезпечення канального рівня інформаційної корпоративної мережі

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!