Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема 3 Комунікація у мережі

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 19.5.2024

Тема 3. Комунікація у мережі. Елементи комунікації, сегментація та мультиплексування, інкапсуляція. Компоненти мережі. Еталонна модель OSI. Рівні еталонної моделі OSI та їх функції. Мережева модель TCP/IP

Комунікація у мережі. Елементи комунікації, сегментація та мультиплексування, інкапсуляція

Зв'язок  починається з повідомлення, або інформації, яку потрібно надіслати від однієї людини або пристрою до іншого. Люди обмінюються ідеями використання багатьох різних методів зв’язку . Всі ці методи мають три елементи. Перший з цих елементів -  повідомлення відправника. Повідомлення відправника - люди, або електронні пристрої, яким потрібно надіслати повідомлення іншим людям або пристроям. Другий елемент зв’язку  - адресат, або одержувач повідомлення. Адресат одержує повідомлення і інтерпретує його. Третій елемент, іменований канал, складається із ЗМІ, який забезпечує шлях, по якому повідомлення може передаватися від відправника до отримувача.

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

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

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

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

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

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

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

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

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

Еталонна модель OSI

Еталонну модель OSI (Open System Interconnection Reference Model), розроблено Міжнародною організацією зі стандартизації (International Organization for Standardization, ISO).

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

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

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

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

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

Переваги побудови мереж з дотриманням принципів відкритості:

  1.  Можливість побудови мережі з апаратних і програмних засобів від різних виробників, що дотримуються єдиного стандарту;
  2.  Можливість легкої заміни окремих компонентів мережі на інші, більш досконалі, що дозволяє розвивати мережу з мінімальними витратами;
  3.  Можливість легкого об'єднання кількох мереж;
  4.  Простота освоєння і обслуговування мережі.

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

В моделі OSI засоби взаємодії поділяються на сім рівнів:

  1.  7 - Прикладний (Application Layer)
  2.  6 - Представницький (Presentation Layer)
  3.  5 - Сеансовий (Session Layer)
  4.  4 - Транспортний (Transport Layer)
  5.  3 - Мережний (Network Layer)
  6.  2 - Канальний (Data Link Layer)
  7.  1 - Фізичний (Physical Layer)

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

Узагальнений опис функціонування моделі OSI

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

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

Рисунок 3.1 – Модель взаємодії двох систем

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

Нарешті, повідомлення сягає нижнього, фізичного рівня, який власне і передає його по лініях зв'язку до комп'ютера-адресата. До цього моменту повідомлення «обростає» заголовками всіх рівнів (рис. 3.2).

Рисунок 3.2 – Просування повідомлення по рівнях

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

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

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

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

Термін повідомлення (message) має багато синонімів, які застосовують мережні фахівці  для позначення одиниць даних в процедурах обміну. В стандартах ISO для позначення одиниць даних, з якими мають справу протоколи різних рівнів, використовується загальна назва протокольний блок даних (Protocol Data Unit, PDU). Для позначення блоків даних певних рівнів часто використовуються спеціальні назви: кадр (frame), пакет (packet), дейтаграма (datagram), сегмент (segment). Ці терміни використовують для опису роботи окремого рівня моделі OSI.

Поняття про протоколи, інтерфейси, стеки протоколів

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

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

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

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

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

Кожен рівень повинен мати засоби, які зможуть, по-перше, обробляти свій власний протокол, а по-друге, реалізовувати інтерфейси з сусідніми рівнями.

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

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

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

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

Поняття «протокол» і «інтерфейс» на аналогічному прикладі

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

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

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

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

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

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

Така незалежність протоколів один від одного і робить ефективним багаторівневий підхід.

Мережезалежні та мереженезалежні протоколи   

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

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

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

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

Вони орієнтовані на застосування і мало залежать від технічних особливостей побудови мережі. На протоколи цих рівнів не впливають жодні зміни в топології мережі, заміна устаткування або перехід на іншу мережну технологію. Так, перехід від Ethernet на високошвидкісну технологію 100VG-AnyLAN не потребує жодних змін в програмних засобах, що реалізовують функції прикладного, представницького і сеансового рівнів.

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

Один кінцевий вузол взаємодіє з іншим кінцевим вузлом за допомогою протоколів всіх сімох рівнів.

Цю взаємодію кінцеві вузли здійснюють через різні комунікаційні пристрої:

  1.  модеми, мережні адаптери;
  2.  повторювачі, концентратори;
  3.  мости, комутатори;
  4.  маршрутизатори;
  5.  шлюзи.

Залежно від типу комунікаційний пристрій може працювати:

  1.  тільки на фізичному рівні (повторювач, концентратор);
  2.  на фізичному і канальному рівнях (міст, комутатор);
  3.  на фізичному, канальному і мережному рівнях, іноді захоплюючи і транспортний рівень (маршрутизатор).

Рівні моделі OSI

Фізичний рівень

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

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

Канальний рівень

На фізичному рівні просто пересилаються біти. При цьому не враховується, що в деяких мережах, у яких лінії зв'язку використовуються (розділяються) поперемінно декількома парами взаємодіючих комп'ютерів, фізичне середовище передачі може бути зайняте. Тому однією з задач канального рівня (Data Link layer) є перевірка доступності середовища передачі. Іншою задачею канального рівня є реалізація механізмів виявлення і корекції помилок. Для цього на канальному рівні біти групуються в набори, називані кадрами (frames). Канальний рівень забезпечує коректність передачі кожного кадру, поміщаючи спеціальну послідовність біт у початок і кінець кожного кадру, для його виділення, а також обчислює контрольну суму, обробляючи всі байти кадру визначеним способом і додаючи контрольну суму до кадру. Коли кадр приходить по мережі, одержувач знову обчислює контрольну суму отриманих даних і порівнює результат з контрольною сумою з кадру. Якщо вони збігаються, кадр вважається правильним і приймається. Якщо ж контрольні суми не збігаються, то фіксується помилка. Канальний рівень може не тільки виявляти помилки, але і виправляти їх за рахунок повторної передачі ушкоджених кадрів. Необхідно відзначити, що функція виправлення помилок не є обов'язковою для канального рівня, тому в деяких протоколах цього рівня вона відсутня, наприклад, у Ethernet і frame relay.

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

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

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

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

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

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

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

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

Повідомлення мережевого рівня прийнято називати пакетами (packets). При організації доставки пакетів на мережному рівні використовується поняття «номер мережі». У цьому випадку адреса одержувача складається зі старшої частини - номера мережі і молодшої - номера вузла в цій мережі. Усі вузли однієї мережі повинні мати ту саму старшу частину адреси, тому терміну «мережа» на мережному рівні можна дати й інше, більш формальне визначення: мережа - це сукупність вузлів, мережна адреса яких містить той самий номер мережі.

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

На мережевому рівні працюють протоколи ще одного типу, що відповідають за відображення адреси вузла, використовуваного на мережевому рівні, у локальна адреса мережі. Такі протоколи часто називають протоколами дозволу адрес - Address Resolution Protocol, ARP. Іноді їх відносять не до мережного рівня, а до канального, хоча тонкості класифікації не змінюють їхньої суті. Прикладами протоколів мережного рівня є протокол міжмережевої взаємодії IP.

Транспортний рівень

На шляху від відправника до одержувача пакети можуть бути перекручені чи загублені. Хоча деякі додатки мають власні засоби обробки помилок, існують і такі, котрі воліють відразу мати справа з надійним з'єднанням. Транспортний рівень (Transport layer) забезпечує додаткам чи верхнім рівням стека - прикладному і сеансовому - передачу даних з тим ступенем надійності, що їм потрібно. Модель OSI визначає п'ять класів сервісу, наданих транспортним рівнем. Ці види сервісу відрізняються якістю наданих послуг: терміновістю, можливістю відновлення перерваного зв'язку, наявністю засобів мультиплексування декількох з'єднань між різними прикладними протоколами через загальний транспортний протокол, а головне - здатністю до виявлення і виправлення помилок передачі, таких як перекручування, втрата і дублювання пакетів.

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

Як правило, усі протоколи, починаючи з транспортного рівня і вище, реалізуються програмними засобами кінцевих вузлів мережі - компонентами їх мережних операційних систем. Як приклад транспортних протоколів можна привести протоколи TCP і UDP стека TCP/IP і протокол SPX стека Novell. Протоколи нижніх чотирьох рівнів узагальнено називають мережевим транспортом чи транспортною підсистемою, тому що вони цілком вирішують задачу транспортування повідомлень із заданим рівнем якості в складених мережах з довільною топологією і різними технологіями. Інші три верхніх рівні вирішують задачі надання прикладних сервісів на підставі наявної транспортної підсистеми.

Сеансовий рівень

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

Представницький рівень

Представницький рівень (Presentation layer) має справу з формою представлення переданої по мережі інформації, не змінюючи при цьому її змісту. За рахунок рівня представлення інформація, передана прикладним рівнем однієї системи, завжди зрозуміла прикладному рівню іншої системи. За допомогою засобів даного рівня протоколи прикладних рівнів можуть перебороти синтаксичні розходження в представленні даних розходження чи в кодах символів, наприклад кодів ASCII і EBCDIC. На цьому рівні може виконуватися шифрування і дешифрування даних, завдяки якому таємність обміну даними забезпечується відразу для всіх прикладних служб. Прикладом такого протоколу є протокол Secure Socket Layer (SSL), що забезпечує секретний обмін повідомленнями для протоколів прикладного рівня стека TCP/IP.

Прикладний рівень

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

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

Мережева модель TCP/IP

Незважаючи на то що еталонна модель OSI у цей час є загальновизнаною, історично й технічно відкритим стандартом мережі Internet є протокол керування передачею (Transmission Control Protocol - TCP) і Internet-протокол (IP), які звичайно розглядаються як одне ціле й позначаються TCP/IP. Еталонна модель TCP/IP і стік протоколів TCP/IP дозволяють організувати зв'язок між двома комп'ютерами, розташованими в будь-яких точках земної кулі, зі швидкістю, близькою до швидкості світла.

Як показано на мал. 3.3, мережна модель TCP/IP має чотири рівні:

  1.  рівень додатків;
  2.  транспортний рівень;
  3.  Internet-рівень;
  4.  

Модель OSI

Прикладний

Представницький

Сеансовий

Транспортний

Мережевий

Канальний

Фізичний

Рівень додатків

Транспортний

Internet

Рівень доступу до мережі

Модель TCP/ІP

рівень доступу до мережі.

Рисунок 3.3 – Рівні моделі TCP/IP


СРС 3

Загальна структура мережі з точки зору протокольного стеку

Багаторівневий підхід. Протокол. Інтерфейс. Стек протоколів

Загальна структура мережі з точки зору протокольного стеку

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

Сучасні мережі побудовані за багаторівневим принципом.

Багаторівнева структура спроектована з метою впорядкування безлічі протоколів і відносин. У структурі Інтернет прийнята семирівнева структура організації мережевої взаємодії (рис. 3.1). Ця модель відома як «Еталонна модель ISO OSI» (Open System Interconnection – зв'язок відкритих систем). Вона дозволяє створювати мережеві системи з модулів програмного забезпечення, які випускаються різними виробниками.

Розрізняють два види взаємодії: реальна; віртуальна.

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

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

Така взаємодія аналогічна схемі посилання листа одним директором фірми іншому. Наприклад,

  1.  Директор деякої фірми пише листа редактору газети. Директор пише лист на своєму фірмовому бланку й віддає цей лист секретареві.
  2.  Секретар запечатує лист у конверт, підписує конверт, наклеює марку й відносить на пошту.
  3.  Пошта доставляє лист до відповідного поштового відділення. Це відділення зв'язку безпосередньо доставляє лист одержувачеві – секретареві редактора газети.
  4.  Секретар розкриває конверт й, за потреби, подає редактору.

Жодна з ланок ланцюга не може бути пропущена, інакше ланцюг розірветься: якщо відсутній, наприклад, секретар, то листок з текстом директора так і буде лежати на столі у секретаря.

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

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

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

Аналогічні зв'язки й процеси мають місце і в еталонній моделі ISO OSI. Фізичний зв'язок реально має місце тільки на найнижчому рівні (аналог поштових поїздів, літаків, автомобілів). Горизонтальні зв'язки між всіма іншими рівнями є віртуальними, реально вони здійснюються передачею інформації спочатку вниз, послідовно до самого нижнього рівня, де відбувається реальна передача, а потім, на іншому кінці, зворотна передача нагору послідовно до відповідного рівня.

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

Виконаємо короткий огляд рівнів:

Рівень 0 (Physical media) пов'язаний з фізичним середовищем – передавачем сигналу – і насправді не включається в цю схему, але досить корисний для розуміння. Цей почесний рівень представляє посередників, що з'єднують кінцеві пристрої: кабелі, радіолінії і т.д.

Кабелі можуть бути:

  1.  екрановані й неекрановані кручені пари;
  2.  коаксіальні, на основі оптичних волокон і т.д.

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

Рівень 1 (Physical protocol) – фізичний. Включає фізичні аспекти передачі двійкової інформації  по лінії зв'язку. Детально описує, наприклад, напругу, частоти, природу середовища, що передає дані. Цьому рівню ставиться в обов'язок підтримка зв'язку та прийняття-передача бітового потоку. Безпомилковість бажана, але не потрібна.

Рівень 2 (DataLink protocol) – канальний. Забезпечує безпомилкову передачу блоків даних (називаних кадрами, фреймами (frame), або датаграмами) через перший рівень, який при передачі може спотворювати дані. Цей рівень повинен:

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

Цей рівень (і тільки він) оперує такими елементами, як бітові послідовності, методи кодування, маркери.

Отже, канальний рівень:

  1.  відповідає за правильну передачу даних (пакетів) на ділянках між безпосередньо зв'язаними елементами мережі;
  2.  забезпечує керування доступом до середовища передачі даних.

За складністю канальний рівень поділяють на 2 підрівні:

  1.  Керування логічним зв'язком чи каналом (LLC – Logical Link Control), який посилає й одержує повідомлення з даними;
  2.  Керування доступом до середовища (MAC – Medium Access Control), який керує доступом до мережі (з передаванням маркера в мережах Token Ring або розпізнаванням конфліктів (зіткнень передач) у мережах Ethernet).

Рисунок 3.1 – Багаторівнева реалізація мережевої взаємодії

Рівень 3 (Network protocol) – мережевий. Основними функціями програмного забезпечення на цьому рівні є:

  1.  вибірка інформації із джерела;
  2.  перетворення інформації в пакети;
  3.  правильна передача інформації в пункт призначення;
  4.  обробка адрес і маршрутизація.

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

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

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

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

Рівень 4 (Transport protocol) – транспортний.  Завершує організацію передачі даних. Контролює на наскрізній основі потік даних, що проходить по маршруту, який був визначений мережевим рівнем, а саме контролює:

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

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

Рівень 5 (Session  protocol) – сеансовий. Координує взаємодію користувачів, що з'єднуються:

  1.  установлює їхній зв'язок;
  2.  оперує ним;
  3.  відновлює аварійно перервані сеанси.

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

Рівень 6 (Presentation  protocol) – рівень подання даних. Цей рівень має справу із синтаксисом і семантикою інформації, яка передається, тобто тут установлюється взаєморозуміння двох з'єднаних комп'ютерів щодо того, як вони уявляють собі і розуміють передану інформацію. Тут вирішуються, наприклад, такі завдання, як :

  1.  перекодування текстової інформації й зображень;
  2.  стискання і розпаковування;
  3.  підтримка мережевих файлових систем (NFS), абстрактних структур даних і т. ін.

Рівень 7 (Application  protocol)  – прикладний. Забезпечує інтерфейс між користувачем і мережею, робить доступними для людини всілякі послуги Інтернет. На цьому рівні реалізується, принаймні, п'ять прикладних служб: передача файлів, віддалений термінальний доступ, передача електронних повідомлень, служба довідки та керування мережею.

Таким чином, кажучи про Інтернет, ми маємо на увазі, що мова йде про мережу, що з'єднує й поєднує окремі мережі (локальні та глобальні),  безліч інформаційних ресурсів, які постійно зростають, а також середовище віртуального спілкування мільйонів людей. Для злагодженої роботи мережі Інтернет розроблена сукупність правил, яку називають протоколами. Для узгодження різноманітних протоколів була спроектована багаторівнева структура протоколів і відносин – “Еталонна модель ISO OSI”.

Багаторівневий підхід. Протокол. Інтерфейс. Стек протоколів

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

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

Рисунок 3.2 – Багаторівневий підхід - створення ієрархії задач

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

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

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

Рисунок 3.3 – Взаємодія двох вузлів

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

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

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

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

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

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

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


«Налаштування та параметри  ARP, DNS, DHCP серверів»

Протокол ARP

Розглянемо те, як при пересиланні IP-пакета визначається Ethernet-адреса призначення. Для відображення IP-адрес в Ethernet-адреси використовується протокол ARP (Address Resolution Protocol – адресний протокол). Відображення виконується тільки для IP-пакетів, які відправляються, тому що тільки в момент відправлення створюються IP- і Ethernet- заголовки.

Перетворення адрес виконується шляхом пошуку відповідності в таблиці. Ця таблиця, називана ARP-таблицею, зберігається в пам'яті комп'ютера й містить рядки для кожного вузла мережі. У двох стовпцях утримуються IP- і Ethernet-адреси. Якщо потрібно перетворити IP-адресу на Ethernet-адресу, то відшукується запис у ARP-таблиці з відповідною IP-адресою. У таблиці 13.1 наведений приклад спрощеної ARP-таблиці.

Таблиця 13.1 - Приклад спрощеної ARP-таблиці

IP-адреса

Ethernet-адреса

223.1. 2.1

08:00:39:00:2F:C3

223.1. 2.3

08:00:5A:21:A7:22

223.1. 2.4

08:00:10:99:AC:54

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

У ході звичайної роботи мережна програма, така, як TELNET, відправляє прикладне повідомлення, користуючись транспортними послугами TCP. Модуль TCP посилає відповідне транспортне повідомлення через модуль IP. У результаті складається IP-пакет, що повинен бути переданий драйверу Ethernet. IP-адреса місця призначення відома прикладній програмі, модулю TCP і модулю IP. Необхідно на її основі знайти Ethernet-адресу місця призначення. Для визначення необхідної Ethernet-адреси використовується ARP-таблиця.

Як же заповнюється ARP-таблиця? Вона заповнюється автоматично модулем ARP, у міру необхідності. Коли за допомогою існуючої ARP-таблиці не вдається перетворити IP-адресу, то відбувається таке:

1) по мережі передається широкомовний ARP-запит;

2) вихідний IP-пакет ставиться в чергу.

Кожен мережний адаптер приймає широкомовні передачі. Всі драйвери Ethernet перевіряють поле типу в прийнятому Ethernet-кадрі й передають ARP-пакети модулю ARP. ARP-запит можна інтерпретувати так: "Якщо ваша IP-адреса збігається із зазначеною, то повідомте мені вашу Ethernet-адресу". Пакет ARP-запиту має приблизно такий вигляд:

IP-адреса відправника

223.1. 2.1

Ethernet-адреса відправника

08:00:39:00:2F:C3

Шукана IP-адреса

223.1. 2.2

Шукана Ethernet-адреса

<порожньо>

Кожен модуль ARP перевіряє поле шуканої IP-адреси в отриманому ARP-пакеті, і якщо адреса збігається з його власною IP-адресою, то посилає відповідь прямо по Ethernet-адресі відправника запиту. ARP-відповідь можна інтерпретувати так: "Так, це моя IP-адреса, їй відповідає така-то Ethernet-адреса". Пакет з ARP-відповіддю має приблизно такий вигляд:

IP-адреса відправника

223.1. 2.1

Ethernet-адреса відправника

08:00:39:00:2F:C3

Шукана IP-адреса

223.1. 2.2

Шукана Ethernet-адреса

08:00:39:00:2F:C3

Цю відповідь одержує машина, що зробила ARP-запит. Драйвер цієї машини перевіряє поле типу в Ethernet-кадрі й передає ARP-пакет модулю ARP. Модуль ARP аналізує ARP-пакет і додає запис у свою ARP-таблицю. Оновлена таблиця має такий вигляд:

IP-адреса

Ethernet-адреса

223.1. 2.1

08:00:39:00:2F:C3

223.1. 2.2

08:00:28:00:38:A9

223.1. 2.3

08:00:5A:21:A7:22

223.1. 2.4

08:00:10:99:AC:54

Новий запис в ARP-таблиці з'являється автоматично, через декілька мілісекунд після того, як вона була потрібна. Як вже зазначалося, раніше на кроці 2 вихідний IP-пакет був поставлений у чергу. Тепер з використанням оновленої ARP-таблиці виконується перетворення IP-адреси в Ethernet-адресу, після чого Ethernet-кадр передається по мережі. Повністю порядок перетворення адрес має приблизно такий вигляд:

  1.  По мережі передається широкомовний ARP-запит.
  2.  Вихідний IP-пакет ставиться в чергу.
  3.  Повертається ARP-відповідь, що містить інформацію про відповідність IP- і Ethernet-адрес. Ця інформація заноситься в ARP-таблицю.
  4.  Для перетворення IP-адреси в Ethernet-адресу  IP-пакета, поставленого в чергу, використовується ARP-таблиця.
  5.  Ethernet-кадр передається по мережі Ethernet.

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

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

Деякі реалізації IP- й ARP- протоколів не ставлять у чергу IP-пакети на той час, поки вони чекають ARP-відповідей. Замість цього IP-пакет просто знищується, а його відновлення покладається на модуль TCP або прикладний процес, що працює через UDP. Таке відновлення виконується за допомогою таймаутів і повторних передач. Повторна передача повідомлення відбувається успішно, тому що перша спроба вже викликала заповнення ARP-таблиці.

Слід зазначити, що кожна машина має окрему ARP-таблицю для кожного свого мережного інтерфейсу.

DNS-сервера : поняття, типи, види

DNS (Domain Name System,) — розподілена система перетворення імені хоста (комп'ютера або іншого мережевого пристрою) в IP-адресу.

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

Уся система імен в Інтернеті — ієрархічна. Це зроблено для того, щоб не підтримувати одне централізоване джерело, а роздати владу на місця.

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

Мастер або первинний сервер (в термінології BIND) — сервер, що має право на внесення змін в дані зони. Зазвичай для зони буває тільки один мастер-сервер. У випадку Microsoft DNS-сервера і його інтеграції з Active Directory, мастер-серверів може бути декілька (так як реплікація змін здійснюється не засобами DNS-сервера, а засобами Active Directory, за рахунок чого забезпечується рівноправність серверів і актуальність даних);

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

Кешуючий DNS-сервер — сервер, який обслуговує запити клієнтів, (отримує рекурсивний запит, виконує його за допомогою нерекурсивних запитів до авторитативних серверів, або передає рекурсивний запит DNS-серверу, що стоїть вище у ієрархії);

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

Перенаправляючий DNS-сервер (англ. forwarder внутрішній DNS-сервер); сервер, що перенаправляє отримані рекурсивні запити кешуючому серверу, що стоїть вище у ієрархії, у вигляді рекурсивних запитів. Використовується переважно для зниження навантаження на кешуючий DNS-сервер;

Кореневий DNS-сервер — сервер, який є авторитативним у кореневій зоні. Загальновживаних кореневих серверів у світі всього 13 штук, їх доменні імена знаходяться в зоні root-servers.net і називаються a.root-servers.net, b.root-servers.net, …, m.root-servers.net. У певних конфігураціях локальної мережі можлива ситуація налаштування локальних кореневих серверів;

Реєструючий DNS-сервер. Сервер, що приймає динамічні оновлення від користувачів. Часто поєднується з DHCP-сервером. У Microsoft DNS-сервер при роботі на контролері домену сервер працює в режимі реєструючого DNS-сервера, приймаючи від комп'ютерів домену інформацію про відповідність імені та IP комп'ютера і оновлюючи відповідно до неї дані зони домену;

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

DNS-сервер — додаток, призначений для відповідей на DNS-запити за відповідним протоколом.

Види DNS-запитів

Прямий (forward) запит — запит на перетворення імені (символьної адреси) хоста в числову IP-адресу.

Зворотний (reverse) запит — запит на перетворення IP-адреси в ім'я хоста.

Деякі сервери підтримують можливість роботи в різних режимах для різних сегментів мережі. У Bind цей режим називається «view». Наприклад, сервер може для локальних адрес (наприклад, 10.0.0.0/8) віддавати локальні адреси серверів, для користувачів зовнішньої мережі — зовнішні адреси. Також сервер може бути авторитативним для заданої зони тільки для вказаного діапазону адрес (наприклад, у мережі 10.0.0.0/8 сервер оголошує себе авторитативним для зони internal, при цьому для зовнішніх адрес у відповідь на запит імені із зони internal буде віддаватися відповідь «невідомий»).

Усі DNS-сервера за стандартом RFC 1035 працюють на 53 порту TCP і UDP. При відправленні запитів ранні версії BIND використовували 53 порт, новіші поводять себе як DNS-клієнти, використовуючи вільні незареєстровані адреси.

Правила формування імен

Повне доменне (від англ. domain) ім'я машини (FQDN, Fully Qualified Domain Name) можна розбити на дві частини — ім'я області-домена та власне ім'я машини. Наприклад, m30.ziet.zhitomir.ua — повна доменне ім'я машини m30, яка знаходиться у домені ziet.zhitomir.ua.

За порядок у доменах, як правило, відповідає певний комп'ютер, користувачі-адміністратори якого слідкують за тим, щоб не було, наприклад, різних машин з однаковими ІР-адресами. Наприклад, відповідальність за область-домен ziet.zhitomir.ua покладається на машину alpha.ziet.zhitomir.ua Ця влада делегується зверху вниз від машини ns.lucky.net, яка відповідає за домен zhitomir.ua. В свою чергу, відповідальність за область ua делегована машині зверху від так званих кореневих серверів (root server).

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

Необхідно розрізняти доменне ім'я, та поштову адресу. В поштовій адресі повинен бути знак «@», якій розділяє поштову адресу на доменне ім'я та ім'я поштової скриньки.

Коли мережа Інтернет була молода та невелика, таблиці відповідності імен та адрес зберігалися у звичайному текстовому файлі, який періодично просто розсилався всім учасникам електронною поштою. Після того, які кількість машин значно збільшилася, така схема перестала ефективно працювати і програмісти університету штату Каліфорнія в Берклі спроектували і написали програму BIND (Berkeley Internet Name Domain), яка відповідає на запити машин користувачів, які стосувалися імен та ІР-адресу.

Служба імен DNS — це розподілена база даних доволі простої структури. Для початкового знайомства можна вважати, що це кілька таблиць, у яких записано:

  1.  яку ІР-адресу має машина з певним іменем;
  2.  яке ім'я має машина з визначеною адресою;
  3.  що це за комп'ютер і яка операційна система встановлена на ньому;
  4.  куди потрібно направляти електронну пошту для користувачів цієї машини;
  5.  які псевдоніми є у даної машини.

Для прикладу розглянемо випадок, коли користувач посилає пошту з машини polesye.zhitomir.ua користувачу за адресою rozhik@ziet.zhitomir.ua (знак «@» носить назву commercial «at» sign). При встановленні на машину протоколів TCP/IP системний адміністратор вказує ІР-адресу комп'ютера — найближчого серверу імен. Поштова програма подає цьому найближчому серверу запит: «Куди посилати пошту для ziet.zhitomir.ua» Якщо найближчий сервер не може відповісти, то він, в свою чергу, посилає запит до більш «старшого» серверу. Нарешті, стає зрозумілим, що всю пошту для області ziet.zhitomir.ua необхідно відправляти на машину alpha.ziet.zhitomir.ua або relay2.lucky.net. Разом з цим відповіді містять ще адресу цієї машини. Поштова програма зв'язується з цим комп'ютером (використовуючи не ім'я, а адресу) та передає йому пошту. Всі ці переговори та відправка пошти, як правило, відбувається протягом кількох секунд і користувач не помічає цього. Якщо машина ziet.zhitomir.ua недоступна то тоді пошта на час, в якій неможливо зв'язатися з машиною ziet.zhitomir.ua (наприклад під час профілактики каналу зв'язку) чекає своєї черги на пересилку на машині relay2.lucky.net.

Це характерна для Internet-програм поведінка. Як правило, поштові програми подають доволі багато запитів службі DNS, і ці питання доволі складні. У більшості випадків у програмах користувачів намагаються дізнатися лише одне — яка ІР-адреса у машини з відповідним іменем. Зрозуміло, що всередині цієї системи імен існує маса нюансів, правил та хитрощів. Більш докладніше з ними можна ознайомитися в описах стандартів Internet або в спеціальних книгах.

Dynamic Host Configuration Protocol

DHCP (англ. Dynamic Host Configuration Protocol - протокол динамічної конфігурації вузла) –  це мережевий протокол, що дозволяє комп'ютерам автоматично отримувати IP-адресу та інші параметри,  необхідні для роботи в мережі TCP / IP.

Даний протокол працює за моделлю «клієнт-сервер». Для  автоматичної конфігурації комп'ютер-клієнт на етапі конфігурації мережевого пр истрою звертається до так  званого сер веру DHCP, і отримує від нього потрібні параметри. Мережний адміністратор може задати  діапазон адрес, що розподіляють сервером серед комп'ютерів. Це дозволяє уникнути ручного настро ювання  комп'ютерів мережі й зменшує кількість помилок.

Протокол DHCP використовується в більшості великих (і  не дуже) мереж TCP / IP.   DHCP є розширенням протоколу BOOTP, що використався раніше для забезпечення бездискових  робочих станцій IP-адресами при їх завантаженні. DHCP зберігає зворотну сумісність з BOOTP.  Протокол DHCP надає три способи розподілу IP-адрес: ручний, автоматичний та динамічний.  

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

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

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

Протокол DHCP є клієнт-серверним, тобто в його роботі беруть участь клієнт DHCP і сервер  DHCP. Передача даних здійснюється за допомогою протоколу UDP, при цьому сервер приймає  повідомлення від клієнтів на порт 67 і відправляє повідо млення клієнтам на пор т 68.  Спочатку клієнт виконує широкомовний запит по всій фізичної мережі з метою виявити доступні  DHCP-сервер и. Він відправляє повідомлення типу DHCPDISCOVER, при цьому в якості IP-адреси джерела  вказується 0.0.0.0 (так як комп'ютер ще не має власної IP-адреси), а в якості адреси призначення -  широкомовна адреса 255.255.255.255.   

Клієнт заповнює кілька полів повідомлення початковими значеннями:     – в полі xid поміщається унікальний ідентифікатор транзакції, який дозволяє відрізняти  даний процес отримання IP-адреси від інших, що протікають в той же час.   – в полі chaddr поміщається апаратна адреса (MAC-адреса) клієнта.   – по цій опцій вказується остання відома клієнту IP-адреса. Це необов'язково і може бути  проігноровано сервером.   

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

Отримавши повідомлення від клієнта, сервер визначає необхідну конфігурацію клієнта відповідно  до зазначених мережевим адміністратором настройками. Сервер відправляє йому відповідь (DHCPOFFER),  в якому пропонує конфігурацію. Пропонована клієнту IP-адреса вказується в полі yiaddr. Інші параметри  (такі, як адреси маршрутизатор ів і DNS-серверів) вказуються у вигляді опцій у відповідному полі.   Це повідомлення DHCP-сервер відправляє хосту, що послав DHCPDISCOVER, на його MAC, за  певних обставин повідомлення може поширюватися як широ комовна розсилка. Клієнт може отримати  кілька р ізних пропозицій DHCP від різних серверів; з них він повинен вибрати те, що його «влашто вує».   Обравши одну з конфігурацій, запропонованих DHCP-серверами, клієнт відправляє запит DHCP  (DHCPREQUEST). Він розсилається широкомовно; при цьому до опцій, зазначених клієнтом у повідомленні  DHCPDISCOVER, додається спеціальна опція – ідентифікато р сервера – вказує адресу DHCP-сервера,  обраного клієнтом (у даному випадку – 192.16 8.1.1).   

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

Якщо після отримання підтвердження (DHCPACK) від сервера клієнт виявляє, що вказана  сер вером адреса вже використовується в мережі, він розсилає широкомовні повідомлення відмови DHCP  (DHCPDECLINE), після чого  процедура отримання IP-адреси повторюється. Використання IP-адреси іншим  клієнтом можна виявити, виконавши запит ARP.   

Якщо з якихось причин сервер не може надати клієнтові запитану IP-адресу, або якщо оренда  адреси видаляється адміністратором, сер вер розсилає широкомовні повідомлення скасування DHCP  (DHCPNAK). При отриманні такого повідомлення відповідний клієнт повинен повторити пр оцедуру  отримання адреси.   Клієнт може явним чином припинити оренду IP-адреси.

Для цього він відправляє повідомлення  звільнення DHCP (DHCPRELEASE) тому серверу, який надав йому адресу в оренду. На відміну від інших  повідомлень DHCP, DHCPRELEASE не розсилається широкомовно.   Повідомлення інформації DHCP (DHCPINFORM) пр изначено для визначення додаткових  параметрів TCP / IP (наприклад, адреси маршр утизатора за замовчуванням, DNS-серверів і т. п.) тими  клієнтами, яким не по трібна динамічна IP-адреса (тобто адреса яких налаштована вручну). Сервери  відпо відають на такий запит повідомленням підтвердження (DHCPACK) без виділення IP-адреси.   

Компанія Microsoft вперше включила сер вер DHCP в постачання сервер ної версії Windows NT 3.5,  випущеної в 1994 році. Починаючи з Windows 2000 Server реалізація DHCP-сервера від Microsoft дозволяє  динамічно оновлювати записи DNS, що використовується в Active Directory.   Internet Systems Consortium випустив першу версію ISC DHCP Server (для Unix-подібних систем) 6  грудня 1997 року. 22 червня 1999 вийшла версія 2.0, більш точно відповідає стандарту.   Компанія Cisco включила сервер DHCP в Cisco IOS 12.0 в лютому 1999  року. Sun додала DHCP-сервер в Solaris 8 в липні 2001 року.




1. комн. квре полн. меблир
2. . Жа~а д~уірді~ саяси теориялары
3. ІI поперекових хребців
4.  Отличие телефонных переговоров от других видов переговоров
5. сверхсложный таящий в себе опасность и угрозу для всего мира Но.
6. клеток щитовидной железы 4 Патологическая анатомия МРЩЖ 5 Клинические ф
7. Исследование нелинейных систем
8. Налоговые правонарушения в РФ- теория и практика (на примере федеральных налогов и сборов)
9. Право в системе социальных норм
10. Коммерческое право
11. Ул Голубева Площадка- Паркет 13х20 м
12. Соціальні стани в Україні у складі Литви та Польщі.html
13. Тема- Функции кадровой службы в организацииПриспособление постепенное вхождение работника в новые професси
14. Задание- выбрать верныеЕдиница измерения величины силы- 1 кг 2 H-м 31
15. а 2 2метилпропен гидратациясында т~зілетін зат-e 2метилпропанол2 2хлорпропан натрий гидроксидіні~ сулы
16. ...не будет у России и никогда еще не было таких ненавистников завистников клеветников и даже явных врагов
17. вступление в Совет Молодежи Заводского района г
18. Договор коммерческой концессии франчайзинг
19. Гравиметрический анализ
20. XV ст Культура середньовіччя охоплює більш ніж дванадцяти віковий відрізок важкого шляху