Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_7.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
344.58 Кб
Скачать

Лабораторна робота № 7

Конфігурування та дослідження протоколу ppp

Мета: Навичитись конфігурувати протоколу РРР засобами CISCO IOS, а також засвоїти шлях відлагодження та пошук несправностей у роботі PPP.

Основні теоретичні відомості

Наприкінці 1980 р. у мережі Internet почалось різко зростати кількість обчислювальних машин, що працювали на базі TCP/IP. Їх переважна частина була під’єднана до локальних мереж (LAN) різних типів, найпопулярнішою серед яких була технологія Ethernet. Велика частина інших обчислювальних машин з'єднувалися через глобальні мережі (WAN), такі як загальнодоступні мережі передачі даних (PDN) типу Х.25. Порівняно невелика кількість обчислювальних машин були підключені до каналів зв'язку (КЗ) з безпосереднім (двоточковим) з'єднанням (тобто до послідовних каналів зв'язку).

Як відомо, КЗ з безпосереднім з'єднанням належать до числа найстаріших методів передачі інформації, і майже кожна обчислювальна машина підтримує безпосередні з'єднання (наприклад, асинхронні інтерфейси RS-232-С зустрічаються фактично всюди). Однією з причин малої кількості каналів зв'язку IP з безпосереднім з'єднанням була відсутність стандартного протоколу формування пакета даних Internet. Протокол каналу зв'язку з безпосереднім з'єднанням Point-to-Point Protocol (PPP) і призначався для вирішення цієї проблеми.

Крім вирішення проблеми формування стандартних пакетів даних Internet IP в каналах з безпосереднім з'єднанням, РРР також повинен був вирішити інші проблеми, в тому числі присвоєння і керування адресами IP, асинхронне (старт/стоп) і синхронне біт-орієнтоване формування пакета даних, мультиплексування протоколу мережі, конфігурування КЗ, перевірка якості каналу зв'язку, виявлення помилок, узгодження адреси мережевого рівня та узгодження компресії інформації.

РРР вирішує ці питання шляхом забезпечення розширюваного протоколу управління каналом (Link Control Protocol, LCP) і сімейства протоколів управління мережею (Network Control Protocols, NCP), які дозволяють узгоджувати факультативні параметри конфігурації та різні можливості. Сьогодні PPP, крім IP, забезпечує також і інші протоколи, у тому числі IPX і DECnet.

Взагалі, протокол PPP містить три складові частини:

• Метод інкапсуляції дейтаграм під час передавання по послідовних комунікаційних каналах.

• Протокол LCP для встановлення, конфігурування і тестування інформаційних каналів

• Набір протоколів NCP для установки і конфігурування різних протоколів мережевого рівня.

Протокол управління каналом lcp

Протокол управління каналом (LCP - Link Control Protocol) є частиною PPP. Ідеологія NCP реалізована і в протоколі TCP. Кожен кадр PPP починається і завершується прапором 0x7E. За стартовим прапором-октетом міститься байт адреси, що завжди дорівнює 0xFF. Формат кадру PPP наведено на рис. 1. Кадр PPP може містити тільки ціле число байт. При інкапсуляції інших пакетів у PPP використовується біт-орієнтований протокол HDLC (High-level Data Link Control).

Рис. 1 – Формат кадра у протоколі PPP.

Поле „адреса” завжди містить байт 0xFF. Це вказує на те, що всі станції повинні прийняти цей кадр, і виключає необхідність виділення будь-яких спеціальних адрес. Байт керування завжди дорівнює 0x03, що вказує на ненумерований тип кадру. За замовчуванням кадри PPP передаються в режимі "без встановлення з'єднання". Якщо потрібна надійне доставлення, використовується версія, описана в RFC-1663. Двухоктетне поле „протокол” подібне по функції з полем „тип” у кадрі Ethernet і визначає те, як слід інтерпретувати інформаційне поле (табл. 1). Значення 0x0021 цього поля говорить про те, що подальше інформаційне поле містить у собі IP-дейтаграму. Поле „CRC” (Cyclic Redundancy Check) містить циклічну контрольну суму, призначену для виявлення помилок при транспортуванні PPP-кадру. Для визначення початку та кінця застосовуються прапори-обмежувачі кадру (0x7E). Ці байти не можуть бути присутніми в інформаційному полі. У синхронному режимі це завдання вирішується на апаратному рівні. При роботі в асинхронному режимі для цього використовується спеціальний ESC-символ, рівний 0x7D. Коли цей esc-символ зустрічається в інформаційному полі, шостий біт у наступному за ним байті інвертується. Так байт 0x7E буде перетворений у послідовність 0x7D, 0x5E, а байт 0x7D - у два байти 0x7D, 0x5D. Усі символи з кодами менше 0x20 також перетворяться в ESC-послідовності. Наприклад, 0x07 буде перетворений в 0x7D, 0x27. Такі дії потрібні оскільки керуючі символи можуть зробити непередбачені впливи на режим роботи драйверів або модемів, використовуваних у каналі. Протокол PPP на відміну від SLIP допускає мультипротокольне і динамічне визначення IP-адрес партнерів.

Таблиця 1 – Стандартизовані DLL-номери протоколів для PPP (поле протокол)

DLL-код протоколу (шестнадцітирічний)

Найменування протоколу

0001

Протокол заповнення (padding)

0003-001F

Зарезервовано

0021

IP-протокол

0023

Мережевий рівень OSI

0025

Xerox NS IDP

0027

Decnet фаза IV

0029

Appletalk

002B

Novell IPX

002D

Компресований TCP/IP протокол Ван Джекобсона

002F

Не компресований TCP/IP протокол Ван Джекобсона

0031

PDU мостів

0033

Потоковий протокол (ST-II)

0035

Banyan Vines

0039

Appletalk EDDP

003B

​​Appletalk Smartbuffered

003D

Multi-link

003F

Кадри Netbios

0041

Cisco Systems

0043

Ascom Timeplex

0047

Тимчасова локальна мережа DCA

0049

Транспортний протокол для послідовних даних (PPP-SDTP)

004B

SNA через 802.2

004D

SNA

004F

Стиснення заголовків IPv6

007D

Зарезервовано (Управл. ESC) [RFC1661]

00FD

перший варіант компресії

0201

Пакети відгуку 802.1d

0203

IBM BPDU базової маршрутизації

8021

Керуючий протокол Інтернету (IPCP)

8023

Керуючий протокол мережевого рівня OSI

8025

Керуючий протокол Xerox NS IDP

8027

Керуючий протокол Decnet фаза VI

8029

Керуючий протокол Appletalk

802B

Керуючий протокол Novell IPX

8031

Бридж NCP

8033

Потоковий керуючий протокол

8035

Керуючий протокол Banyan Vines

803D

Багатозв'язних керуючий протокол

803F

Керуючий протокол кадрів NetBIOS

8041

Керуючий протокол Cisco

8043

Ascom Timeplex

8045

Керуючий протокол Fujitsu LBLB

8047

Керуючий протокол віддалених локальних мереж DCA (RLNCP)

8049

Керуючий протокол передачі послідовних даних (PPP-SDCP)

Керуючий протокол для передачі SNA поверх 802.2

804D

Керуючий протокол SNA

804F

Керуючий протокол стиснення заголовків IPv6

80FD

Керуючий протокол стиснення

C021

Канальний керуючий протокол

C023

Протокол аутентифікації паролів

C025

Повідомлення про стан каналу

C081

Керуючий протокол для роботи з контейнерами

Значення кодів поля протоколу від 0xxx до 3xxx ідентифікують протоколи мережевого рівня, а значення в інтервалі 8xxx - Bxxx говорять про те, що протокол відповідає NCP (Network Control Protocol). Коди з діапазону 4xxx - 7xxx використовуються для протоколів з низьким рівнем трафіку, а коди від Cxxx до Exxx відповідають керуючим протоколам (наприклад, LCP).

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

Рис. 2 – Алгоритм встановлення з’єднання PPP

При виявлені несійної або з ініціативи клієнта система може спробувати встановити з'єднання. У разі успіху система переходить у фазу аутентіфікації. Якщо ж і фаза аутентіфікації завершується благополучно, система виконує підключення до Мережі (IP, IPX, Appletalk тощо), налаштування мереженого рівня виконується в рамках протоколу NCP. У всіх інших випадках проводитися повернення в початковий стан. Процедура закриття з'єднання здійснюється протоколом LCP.

У поле даних PPP-пакета може бути вкладено один LCP-пакет, в цьому випадку у поле протокол повинен був записаний код 0xC021 (Link Control Protocol). LCP-протокол служить для встановлення з'єднання шляхом обміну конфігураційнімі пакетами. По завершенні цього обміну система переходить у фазу аутентіфікації (рис. 2). Формат LCP-пакета показано на рис. 3.

Рис. 3. – Формат заголовку LCP-пакету

За заголовком слідує поле даних. Поле „код” ідентифікує модифікацію LCP-пакета. Якщо отримано пакет з невідомим полем код, посилається пакет-відгук "відхилення коду". Поле „ідентифікатор” служить для знаходження відповідності між запитами і відгуками. Якщо отримано пакет з неправильним ідентифікатором, він просто знищується. Поле „довжина” визначає розмір LCP-пакета, включаючи розмір заголовка. Октети прийнятого пакета за межами, заданими полем довжина ігноруються.

Як приклад можна розглянути процедуру підключення ПК до сервера через модем. Після того як модем маршрутизатора відповість на виклик модема-клієнта і встановить фізичне з'єднання, ПК посилає послідовність LCP-пакетів, вкладених в поля даних одного або декількох PPP-кадрів. Це дозволяє вибрати необхідні параметри PPP. По завершенню цієї процедури надсилається послідовність NCP-пакетів, які конфігурують мережевий рівень. Ймовірно, ПК захоче працювати зі стеком протоколів TCP/IP, і тому потребує IP-адресі. Якщо провайдер має N IP-адрес в резерві, він може підключити одночасно N ПК. Присвоєння IP-адреси здійснюється також в рамках NCP-протоколу. Після цього ПК стає вузлом Інтернет. Завершення сесії та звільнення IP-адреси виконується також через NCP-протокол. Розрив з'єднання здійснює протокол LCP.

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

Таблиця 2 – Значення субполя типу.

Значення коду

поля типа

Призначення опції

0

Зарезервовано

1

Maximum-Receive-Unit (вказує макс. розмір блоку даних, що може бути прийнятий)

3

Authentication-Protocol (протокол аутентифікації)

4

Quality-Protocol (протокол якості)

5

Magic-Number (магічне число, опція служить для виявлення каналів з петлями зворотного зв’язку)

6

Protocol-Field-Compression

7

Address-and-Control-Field-Compression

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]