Основні відомості про інформаційно-телекомунікаційні мережі



Скачати 281.86 Kb.
Дата конвертації24.04.2016
Розмір281.86 Kb.

15.1. Основні відомості про інформаційно-телекомунікаційні мережі


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

Лінії зв’язку утворюються кабелями і комунікаційними пристроями (адаптерами, комутаторами тощо).

Інформаційно-телекомунікаційна мережа – це окремий випадок (або складова частина) розподіленої або децентралізованої обчислювальної системи.

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

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

Важливою характеристикою мережі є її топологія.



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

Розрізняють фізичну і логічну топологію.



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

Фізична і логічна топології деякої мережі можуть суттєво відрізнятись.

Наприклад, мережа Token Ring має фізичну топологію “зірка”, у центрі якої знаходиться спеціальний комутаційний пристрій, а її логічна топологія – “кільце” (кожна станція отримує повідомлення лише від однієї – попередньої – сусідньої станції, і передає повідомлення одній – наступній – сусідній станції). Аналогічно, мережа 10Base-T Ethernet має фізичну топологію “зірка”, а логічну топологію – “спільна шина” (усі станції мають рівноправний доступ до спільного середовища передачі даних).

Також важливою характеристикою мережі є принцип, згідно якому здійснюється з’єднання (комутація) абонентів між собою: комутація каналів (англ. – circuit switching) або комутація пакетів (англ. – packet switching).



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

Комутація пакетів передбачає, що усі дані, які призначені для передавання по мережі, подрібнюються на окремі порції (блоки) даних, які у різних технологіях називають пакетами (англ. – packet), кадрами (англ. – frame), комірками (англ. – cell).

Кожний пакет передається по мережі окремо і незалежно від інших пакетів.

Сучасні інформаційно-телекомунікаційні мережі побудовані переважно на принципі комутації пакетів.

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

Постійні з’єднання у мережах з комутацією каналів називають призначеними (рос. – выделенными, англ. – dedicated) лініями.

15.1.1. Відкриті системи


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

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

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

Відповідно до визначення Національного інституту стандартів (NIST) США [125]: "Відкрита система – це система, що здатна взаємодіяти з іншою системою за допомогою реалізації міжнародних стандартних протоколів.



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

15.1.2. Модель взаємодії відкритих систем


Задача забезпечення взаємодії сутностей (об'єктів), що входять до складу ІКС і об'єднаних у мережу, містить у собі рішення множини проблем

вибір способу адресації об'єктів у мережі,

узгодження електричних сигналів при встановленні електричного зв'язку,

забезпечення надійної передачі даних,

обробка повідомлень про помилки,

формування повідомлень, що відправляються,

інтерпретація отриманих повідомлень тощо.

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

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

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

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

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

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

Міжнародна організація по стандартах (англ. – the International Organization for Standardization, ISO) розробила модель, що чітко визначає різні рівні взаємодії систем, дає їм стандартні імена і вказує, які функції повинен виконувати кожен рівень.

Ця модель називається моделлю взаємодії відкритих систем ISO (англ. – Open Systems Interconnection, OSI) [126]. Іноді для позначення цієї моделі використовують українську абревіатуру – ВВС, також іноді цю модель називають еталонною моделлю (англ. – reference model).

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



Рис. 15.1. Взаємодія між рівнями моделі OSI

Рівні моделі OSI прийнято нумерувати, починаючи з нижнього. Посилання на певний рівень прийнято робити як за його назвою, так і за номером (наприклад, “обладнання другого рівня”, “протокол третього рівня”). Дуже коротко розглянемо рівні та їхні функції [124].

Найвищий, 7-й рівень – Прикладний (англ. – Application). На цьому рівні реалізується набір протоколів доступу користувачів до ресурсів мережі. Саме до цього рівня звертаються прикладні програми.

6-й рівень – Представницький (англ. – Presentation). На ньому реалізується узгодження форми подання інформації, що передається, як, наприклад, узгодження різних наборів символів.

5-й рівень – Сеансовий (англ. – Session). Його функції – керування діалогом: визначення активної сторони, синхронізація.

4-й рівень – Транспортний (англ. – Transport). На цьому рівні забезпечується доставка даних до кінцевого вузла із заданим рівнем надійності сервісу (з підтвердженням або ні, з відновленням або ні).

3-й рівень – Мережевий (англ. – Network). Цей рівень забезпечує утворення єдиної транспортної системи, що поєднує кілька підмереж, які у загальному випадку можуть бути побудовані на різних технологіях. Для цього цей рівень вирішує завдання: універсальної адресації, яка забезпечує унікальні адреси у всій мережі; просування (англ. – forwarding) пакета даних по складеній мережі через послідовність підмереж до кінцевого вузла, маршрутизації, тобто, визначення шляху, за яким пакет даних може досягти кінцевого вузла.

2-й рівень – Канальний (англ. – Data Link). Цей рівень забезпечує утворення каналу, яким передаються блоки даних в межах одної підмережі. На цьому рівні реалізується значна кількість функцій, що стало причиною подальшого поділу його на два підрівні. Верхній з них – рівень керування логічним з’єднанням (англ. – Logical Link Control, LLC), на якому може здійснюватись забезпечення коректності передачі кожного кадру, підтвердження доставки, контроль послідовності. На нижньому підрівні, що має назву керування доступом до середовища (англ. – Media Access Control, MAC), здійснюється перевірка доступності середовища передачі, доступ до передачі та приймання кадрів, виявлення та корекція помилок.

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

У таблиці 15.1 наведені деякі класифікації протоколів різних рівнів, що допомагають чітко визначити їхні особливості [127].




Таблиця 15.1. Класифікації протоколів моделі OSI

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




Реалізація

Залежність від технології

7.

Прикладний

Протоколи верхнього рівня

Програмна

Протоколи, незалежні від технології мережі

6.

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

5.

Сеансовий

Протоколи середнього рівня

4.

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




3.

Мережевий

Протоколи, залежні від технології мережі

2.

Канальний

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

Апаратна

1.

Фізичний

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



Представницький рівень додає до повідомлення свій заголовок і передає результат униз сеансовому рівню, що у свою чергу додає свій заголовок і т.д. Нарешті, повідомлення досягає найнижчого, фізичного рівня, що дійсно передає його по мережевому каналу зв'язку. Узагальнено формат пакетів, що формується послідовністю протоколів різних рівнів, показаний на рис. 15.2 [124].



Рис. 15.2. Внутрішня будова пакетів даних (фрагмент: рівні 4–2)

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

Для передачі данные по сети надо разбить их на небольшие управляемые блоки. Эти блоки называются пакетами или кадрами.

Пакет — основная единица информации в інформаційно-телекомунікаційних сетях. При разбиении данных на пакеты скорость их передачи возрастает настолько, что каждое устройство в сети получает возможность принимать и передавать данные практически одновременно с остальными. На целевом устройстве (компьютере-получателе) пакеты накапливаются и выстраиваются в определенном порядке для восстановления исходного вида данных.
36

Рис. 35 Разбиение данных на пакеты


При разбиении данных на пакеты сетевая операционная система добавляет к каждому пакету специальную управляющую информацию. Она обеспечивает:

  • передачу исходных данных небольшими блоками;

  • сбор данных в определенном порядке (при их получении);

  • проверку данных на наличие ошибок (после сборки).


Структура пакета

Пакеты могут содержать несколько типов данных:



  • информацию (например, сообщения или файлы);

  • определенные виды данных и команд, управляющих компьютером (например, запросы к службам);

  • коды управления сеансом (например, запрос на повторную передачу для исправления ошибки).


Основные компоненты

Некоторые компоненты являются обязательными для всех типов пакетов:



  • адрес источника (source), идентифицирующий компьютер-отправитель;

  • передаваемые данные;

  • адрес получателя (destination), идентифицирующий компьютер-получатель;

  • инструкции сетевым компонентам о дальнейшем маршруте данных;

  • информация компьютеру-получателю о том, как объединить передаваемый пакет с остальными, чтобы получить данные в исходном виде;

  • информация для проверки ошибок, обеспечивающая корректность передачи.

Компоненты пакета группируются по трем разделам: заголовок, данные и трейлер.

37

Рис.36 Компоненты пакета



Заголовок

Заголовок включает:



  • сигнал, свидетельствующий о том, что передается пакет;

  • адрес источника;

  • адрес получателя;

  • информацию, синхронизирующую передачу.


Данные

Эта часть пакета — собственно передаваемые данные. В зависимости от типа сети ее размер может меняться. Но для большинства сетей он составляет от 512 байт (0,5 кб) до 4 кб.

Размер исходных данных обычно превышает 4 кб, поэтому для помещения в пакет их необходимо разбивать на меньшие блоки. При передаче объемного файла требуется много пакетов.
Трейлер

Содержимое трейлера зависит от метода связи, или протокола. Чаще всего трейлер содержит информацию для проверки ошибок, называемую циклическим избыточным кодом (Cyclical Redundancy Check, CRC).



CRC — это число, получаемое в результате математических преобразований данных пакета и исходной информации. Когда пакет достигает места назначения, эти преобразования повторяются. Если результат совпадает с CRC — пакет принят без ошибок. В противном случае, при передаче данные изменились, поэтому необходимо повторить передачу пакета.
Формат и размер пакета зависят от типа сети. А максимальный размер пакета определяет, в свою очередь, количество пакетов, которое будет создано сетевой операционной системой для передачи большого блока данных.
Передача данных по сети

  • Данные не пересылаются по сети непрерывным потоком. Они разбиваются на маленькие управляемые пакеты, которые обеспечивают своевременное взаимодействие сетевых компонентов.

  • Все пакеты содержат следующие обязательные компоненты:

  • адрес источника;

  • данные;

  • адрес места назначения;

  • Каждый пакет состоит из трех разделов:

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

  • данных;

  • трейлера (содержащего информацию для проверки ошибок).

15.1.3. Стеки протоколів


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

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

Стек протоколів IPX/SPX був розроблений на початку 80-х років минулого сторіччя, і був призначений для мереж персональних комп’ютерів з обмеженими ресурсами. Завдяки цьому, цей стек тривалий час був домінуючим у локальних і корпоративних мережах.

Таблиця 15.2. Стеки мережевих протоколів і їхнє співвідношення
з рівнями стека протоколів моделі OSI


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

IBM / Microsoft

TCP/IP

Novell

Стек OSI

Прикладний

SMB

Telnet, FTP, SMTP, NNTP, HTTP, SNMP

NCP, SAP

X.400, X.500, VTP, FTAM

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

Представницький протокол OSI

Сеансовий

NetBIOS

TCP




Сеансовий протокол OSI

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

UDP

SPX

Транспортний протокол OSI

Мережевий



IP, ICMP,
RIP, OSPF

IPX, RIP, NLSP

ES-ES, IS-IS

Канальний

Ethernet (802.3), Token Ring (802.5), FDDI, SLIP, PPP, X.25, ATM, LAP-B, LAP-D

Фізичний





Стек TCP/IP також розроблявся у кінці 70-х – початку 80-х років. Розробка була ініційована Міністерством оборони США для експериментальної мережі ARPAnet та її зв’язку з іншими мережами.

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

Саме на цьому стеці протоколів базується Інтернет – нащадок проекту ARPAnet.

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



Стек TCP/IP, на відміну від моделі OSI, має чотири рівні:

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

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

мережевий, який відповідає мережевому рівню моделі;

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

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


15.2. Мережа Інтернет


Інтернет (англ. – Internet) – це глобальна мережа, визначальною характеристикою якої є її побудова на стеку протоколів TCP/IP. Можна сказати, що Інтернет є одним з найвизначніших досягнень реалізації концепції відкритих систем. Назва “Інтернет” означає “складена мережа”, і походить від англійського “internetworking” – побудова гетерогенних (або складених) мереж. Можливості стеку протоколів TCP/IP дозволяють поєднувати між собою окремі підмережі (в Інтернет прийнято називати їх просто “мережі”), що побудовані на різних технологіях. Це можуть бути локальні мережі Ethernet, Token Ring і багато інших, а також глобальні мережі X.25, Frame Relay та інші. Пізніше були розроблені технології передачі трафіка IP через мережі, що використовують інші принципи, в тому числі ATM (віртуальні постійні або віртуальні комутовані канали) і ISDN (комутація каналів).

Пристрої, що поєднують між собою різні мережі і здійснюють передачу пакетів між ними, називають мостами (англ. – bridge), шлюзами (англ. – gateway), маршрутизаторами (англ. – router).

В Інтернет прийнято використовувати термін “шлюз” в якості універсального.

Інтернет є не єдиною глобальною мережею.

Інтернет вважається мережею з порівняно низькою якістю послуг, він відповідає вимогам передачі комп’ютерного трафіка, але важко пристосовується до передачі потокового трафіка (аудіо, відео) і не підтримує на достатньому рівні якість сервісу (англ. – Quality of Service, QoS) [135].

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

Слід пам’ятати, що Інтернет сформувався як розвиток проекту ARPANET Міністерства оборони США. Певною мірою, Інтернет став зовсім не таким середовищем, яким він спочатку проектувався. Деякі з технологій, які лежать в основі Інтернет, проектувались для забезпечення зручності, надійності і відмовостійкості, але не враховували можливість наявності внутрішніх зловмисників, що намагаються порушити нормальне функціонування мережі. Це справляє вплив на безпеку у мережі. Детальніше розберемо ці питання у розділах 16, 17.


15.2.1. Основи організації Інтернет


На ранній стадії розвитку Інтернет існувала так звана магістраль (англ. – backbone), якою керувала організація, обрана для цього урядом США. Всі інші мережі підключались до цієї магістралі і утворювали деревовидну структуру. І в наш час говорять про “магістраль Інтернет”, але структура її радикально змінилася.

В якості організаційних одиниць, з яких будується Інтернет, називають автономні системи (англ. – Autonomous System). Автономні системи – це сукупності мереж, що знаходяться під єдиним адміністративним керуванням. Як правило, автономною системою керує один крупний провайдер. Головною відмінністю сучасної структури Інтернет є те, що автономні системи безпосередньо пов’язуються між собою, утворюючи коміркову топологію мережі. Таким чином, саме вони і утворюють магістраль Інтернет. Усім автономним системам централізовано присвоюються 16-розрядні номери, які ніяк не пов’язані з префіксами IP-адрес мереж, що входять в автономну систему.

Автономні системи поєднуються шлюзами, які називаються зовнішніми маршрутизаторами (англ. – exterior gateway), або примежовими маршрутизаторами (англ. – border gateway). Всередині кожна автономна система може мати складну топологію, яку утворює множина мереж, що поєднані внутрішніми маршрутизаторами (англ. – interior gateway).

15.2.2. Адресація в Інтернет


Взагалі у стеці протоколів TCP/IP використовуються три типи адрес [124]:

локальні, або апаратні адреси, що використовуються для адресації в межах підмережі (найчастіше в якості таких адрес використовуються MAC-адреси);

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

доменні імена – символьні адреси, зручні для використання користувачами.

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

Отже, при роботі користувачів і прикладних програм в Інтернет необхідним є два типи перетворення адрес:

визначення IP-адреси за доменним іменем;

визначення локальної адреси за IP-адресою.

Обидва перетворення можуть бути причиною порушення безпеки, оскільки створюють можливості для зловмисної підміни. Дійсно, кількість вузлів в Інтернет настільки велика, що не існує можливості підтримувати актуальні таблиці адрес на кінцевих вузлах і на вузлах комутації. Тому для перетворення доменних імен у IP-адреси (і навпаки) створена так звана система доменних імен (англ. – Domain Name System, DNS).

IP-адреси в Інтернет


Протокол мережевого рівня, який застосовується в Інтернет, – це протокол IP версії 4 (IPv4). Далі мова буде йти про адресацію, яка застосовується саме у цій версії протоколу.

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

Поділ на номер мережі і номер вузла здійснюється на підставі значень кількох старших бітів IP-адреси. За ними визначається так званий клас мережі. У мережі класу A номер мережі складає 1 октет, а номер вузла – 3 октети. При цьому є всього 126 мереж класу А, з номерами від 1 до 126. У мережі класу B під номер мережі і під номер вузла відведено по 2 октети. У мережі класу C номер мережі займає 3 октети, а номер вузла – 1 октет. Основні характеристики різних класів адрес подані у таблиці 15.3 [124].

Таблиця 15.3. Характеристики IP-адрес різних класів


Клас

Старші біти

Найменший номер мережі

Найбільший номер мережі

Максимальне число вузлів у мережі

A

0

1.0.0.0

126.0.0.0

224 – 2 = 16777214

B

10

128.0.0.0

191.255.0.0

216 – 2 = 65534

C

110

192.0.1.0

223.255.255.0

28 – 2 = 254

D

1110

224.0.0.0

239.255.255.255

Групові адреси

E

11110

240.0.0.0

247.255.255.255

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

Ні номер мережі, ні номер вузла не можуть складатись повністю з нулів, або повністю з одиниць. Якщо поле номера вузла заповнено одиницями, такий пакет є циркулярним (рос. – широковещательным, англ. – broadcast), він доставляється усім вузлам у заданій мережі. Існують також різні спеціальні номери мереж. Так, наприклад, якщо старший октет адреси дорівнює 127, ця адреса (англ. – loopback) вказує на інтерфейс тієї ж машини, яка пакет відправила. Найпоширеніша з таких адрес – 127.0.0.1, хоча можливе використання й інших. У стандартах Інтернет виділені діапазони адрес для локальних мереж, і пакети з такими адресами не повинні за жодних обставин обробляться маршрутизаторами Інтернет. Для мереж класу A – це одна мережа 10.0.0.0, для мереж класу B – 16 номерів мереж від 172.16.0.0 до 172.31.0.0, а у класі С – це 255 мереж від 192.168.0.0 до 192.168.255.0.

Слід розуміти, що поділ IP-адреси на чотири байта і інтерпретація кожного з них як окремого числа – це лише форма запису, а насправді IP-адреса – це єдине 32-розрядне двійкове число. Для більш раціонального використання адресного простору замість стандартних визначених класів мереж використовуються так звані маски підмереж. Маска має вигляд неперервної послідовності одиниць, які відповідають розрядам IP-адреси, що віднесені до номеру мережі, за якою йде неперервна послідовність нулів, які відповідають розрядам IP-адреси, що віднесені до номеру вузла. Маска записується у такому ж вигляді, як і IP-адреса. Наприклад, для мережі класу С маска записується як 255.255.255.0. Але у масці кількість одиниць не обов’язково кратна 8. Наприклад, коректною є маска 255.255.240.0 (20 одиниць і 12 нулів). З такою маскою адреса 77.122.125.113 має бути проінтерпретована як номер мережі 77.122.112.0 і номер вузла 0.0.13.113, а без цієї маски – як адреса класу А, тобто номер мережі 77.0.0.0 і номер вузла 0.122.240.0. Маски широко застосовуються у маршрутизації як для структурування мереж, так і для виділення старшої частини адреси, так званого префікса, для зменшення об’ємів таблиць і підвищення продуктивності маршрутизаторів.

Обмеження простору IP-адрес для Інтернет стали відчутними вже досить давно. Тому у наступній версії протоколу IP, а саме IPv6, адресний простір було радикально розширено, а саму адресу зроблено структурованою, з частинами, які відповідають окремим рівням ієрархії мереж. Детальніше нові можливості протоколу IPv6 розглянуто у розділі 16.


Доменні імена в Інтернет


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

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

Доменні імена утворюють ієрархію у вигляді деревоподібної структури. Корінь дерева позначається символом “крапка”. Доменне ім’я містить, як мінімум, дві символьні частини (що їх називають мітками). Усі мітки розділяються між собою крапками. Ім’я записується від наймолодшої мітки (зліва) до найстаршої (справа). Найстарша мітка позначає так званий домен верхнього рівня. У системі доменних імен доменом (англ. – domain) називають визначену зону, що виділена деякій країні, організації чи для інших цілей. Кожна наступна мітка справа наліво позначає домен, що є ієрархічно підлеглим попередньому. У цьому контексті такий домен називають піддоменом (англ. – subdomain). У цілому структура дуже подібна до ієрархічної файлової системи, де кожний каталог може мати свої підкаталоги.

Ієрархічна структура доменних імен грає важливу роль у забезпеченні унікальності імен в Інтернет. Кореневий домен знаходиться під керуванням центру InterNIC. Домени верхнього рівня призначаються для кожної країни (наприклад, ua – Україна, ru – Російська Федерація), а також для певних типів організацій (наприклад, com – комерційні структури, edu – навчальні заклади, gov – урядові організації, org – некомерційні організації, net – організації, що підтримують мережі). Кожний домен адмініструється певною призначеною для нього організацією, яка, у свою чергу, розбиває його на піддомени і передає функції і відповідальність за адміністрування цих піддоменов іншим організаціям. Під адмініструванням тут у першу чергу мається на увазі розподіл доменних імен.

Теоретично поділ на піддомени може досягати глибини 127 рівнів, а будь-яка мітка може містити до 63 символів, але загальна довжина повного доменного імені (англ. – fully qualified domain name, FQDN) разом з точками не досягне 254 символів. Але на практиці реєстратори доменних імен застосовують більш суворі обмеження.

Система доменних імен – DNS


Спочатку перетворення між доменними іменами та IP-адресами здійснювалось за допомогою спеціального файлу DHOSTS.TXT, який підтримувався централізовано, і копії якого вручну завантажувались на кожну машину. Із збільшенням кількості хостів в Інтернет такий механізм став неефективним, і на заміну йому прийшла централізована служба DNS.

DNS базується на розподіленій базі відображень “доменне ім’я – IP-адреса”. Для кожного домену імен створюється свій DNS-сервер. Він може зберігати відображення імен для усього домену з піддоменами, але найчастіше обмежується лише іменами, що закінчуються на наступному за ним (знизу) рівні ієрархії. Відповідальність за піддомени делегується іншим серверам. Для підвищення стійкості системи використовується дублювання серверів. Існує 13 кореневих серверів, що розташовані по усьому світу, їхні адреси ніколи не змінюються.

Запити на відображення імен здійснюються за протоколом DNS типу “клієнт-сервер”. Цей протокол використовує на серверах TCP- або UDP-порт 53. Традиційно запити і відповіді надсилаються у вигляді однієї UDP дейтаграми. TCP рекомендується використовувати для запобігання підробки відповіді зловмисниками (детально ці питання розглянуті у розділі 16).

Використовуються запити двох типів: рекурсивні та ітеративні.



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

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

Для прискорення пошуку IP-адрес DNS-сервери застосовують процедуру кешування відповідей. Тому запит, як правило, не йде далі кешу DNS, який пам’ятає відповіді на запити, що проходили через нього раніше. Записи у кеші зберігаються обмежений, але порівняно тривалий час: від кількох годин до кількох днів. В результаті при заміні IP-адреси доступ до ресурсу в Інтернет повністю відновлюється лише після того, як оновлюється кеш DNS на усіх серверах, а це складає приблизно дві доби.


15.2.3. Маршрутизація в Інтернет


Мережевий рівень моделі взаємодії відкритих систем OSI служить для об’єднання кількох мереж, які можуть бути побудованими на основі різних технологій. Мережі поєднуються за допомогою маршрутизаторів (англ. – router) – пристроїв, що здійснюють передачу пакета з одної мережі у іншу. Для того, щоби пакет досяг кінцевого вузла призначення, він повинен подолати певну кількість мереж, а отже, пройти через визначені маршрутизатори. Маршрут (англ. – route) – це послідовність маршрутизаторів, через яку проходить пакет. Кожне пересилання пакета від маршрутизатора до маршрутизатора (а також між маршрутизаторами і кінцевими вузлами) називається хопом (англ. hop – стрибок). У загальному випадку існує множина маршрутів, кожен з яких забезпечує доставку пакета у потрібний кінцевий вузол. Тому постає проблема вибору найкращого маршруту. Ця проблема називається маршрутизацією (англ. – routing) [124, 136].

Алгоритми маршрутизації


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

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

фіксованої (статичної) маршрутизації;

простої маршрутизації;

адаптивної (динамічної) маршрутизації.



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

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

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

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

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

Проста маршрутизація не є характерною для мереж TCP/IP, і може застосовуватись лише із значними обмеженнями.

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

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

У дистанційно-векторних алгоритмах (англ. – Distance Vector Algorithms, DVA) маршрутизатори фактично розсилають один одному свої таблиці маршрутизації повністю. Через очевидні обмеження об’єму трафіку, такі алгоритми можуть використовуватись лише у порівняно невеликих мережах, в яких таблиці маршрутизації не є занадто великими. Прикладом протоколу маршрутизації, що реалізує дистанційно-векторний алгоритм, є RIP (англ. – Routing Information Protocol), стандарт якого описаний у документі RFC-2453 [137].

У алгоритмах стану зв’язків (англ. – Link State Algorithms, LSA) маршрутизатори спочатку будують модель мережі у вигляді графу. Для цього вони обмінюються відомою їм інформацією про топологію мережі. Після цього вони надсилають один одному лише дуже маленькі повідомлення, що містять інформацію про зміни стану мережі, або про відсутність таких змін. Прикладом протоколу маршрутизації, що реалізує алгоритм стану зв’язків, є OSPF (англ. – Open Shortest Path First), стандарт якого описаний у RFC-2328 [138].

Крім однокрокової маршрутизації, є альтернативний алгоритм: визначення маршруту на кінцевому вузлі. Після визначення, маршрут задається в заголовку пакета, і всі транзитні вузли (маршрутизатори) дотримуються заданого маршруту під час просування (англ. – forwarding) пакета мережею. Такий спосіб називається маршрутизацією від джерела (англ. – Source Routing). Зазначимо, що маршрутизація від джерела багато у чому подібна до роботи мереж з комутацією каналів, або мереж з встановленням віртуальних каналів. З міркувань безпеки саме такий алгоритм має переваги, оскільки по-перше, дозволяє контролювати реальний маршрут проходження пакета, а по-друге, суттєво утруднює несанкціоновану зміну маршруту порушниками. Такий режим передбачався у протоколі IPv4, а у подальшому був суттєво розвинений у протоколі IPv6 (див. розділ 16).

Централізований алгоритм передбачає, що у мережі існує виділений сервер маршрутів, до якого маршрутизатори звертаються за інформацією про топологію мережі і доступні маршрути. Сервер маршрутів може будувати таблиці для усіх маршрутизаторів мережі і розсилати їх для того, щоби просування пакетів здійснювалось за принципом однокрокової маршутизації. Однак, він може організовувати і маршрутизацію від джерела: в останньому випадку дані маршрутизації розсилаються кінцевим вузлам і примежовим маршрутизаторам. У мережі можуть функціонувати кілька серверів маршрутів, кожний при цьому керує деякою групою маршрутизаторів. Прикладом протоколу, що базується на централізованому алгоритмі, є NHRP (англ. – Next Hop Resolution Protocol), що описаний у RFC-2332 [139].

Зовнішні й внутрішні протоколи маршрутизації в Інтернет


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

Нижній рівень – доставка пакета всередині окремої мережі. В залежності від технології мережі вона може здійснюватись шляхом комутації каналу від маршрутизатора до маршрутизатора (чи до кінцевого вузла), або з використанням призначеного каналу, або з утворенням віртуального каналу, або шляхом комутації пакетів (на канальному рівні моделі OSI).

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

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



Між зовнішніми маршрутизаторами Інтернет дозволяється використовувати лише один протокол маршрутизації – той, що визнаний співтовариством Інтернет в якості стандартного для зовнішніх маршрутизаторів. Такий протокол називається протоколом зовнішніх маршрутизаторів (англ. – Exterior Gateway Protocol, EGP). В поточний час таким стандартизованим протоколом є BGP-4 (англ. – Border Gateway Protocol version 4 протокол примежового маршрутизатора). Усі інші протоколи можуть використовуватись всередині автономних систем, і їх називають протоколами внутрішніх маршрутизаторів (англ. – Interior Gateway Protocols, IGP).


База даних захищена авторським правом ©shag.com.ua 2016
звернутися до адміністрації

    Головна сторінка