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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



 

Мережні протоколи стека TCP/IP можна використовувати для зв'язку між рів­ноправними сторонами, але найчастіше такий зв'язок відбувається за принципом «клієнт-сервер», коли одна сторона (сервер) очікує появи дейтаграм або встанов­лення з'єднання, а інша (клієнт) відсилає дейтаграми або створює з'єднання [38].

Розглянемо основні етапи процесу обміну даними між клієнтом і сервером із використанням протоколу прикладного рівня, що функціонує в рамках стека протоколів TCP/IP (рис. 16.2). Як приклад такого протоколу візьмемо HTTP, при цьому сторонами, що взаємодіють, будуть веб-браузер (клієнт) і веб-сервер. Припустимо, що локальний комп'ютер зв'язаний з Інтернетом за допомогою ме­режного пристрою Ethernet. Для простоти вважатимемо, що під час передавання повідомлення не піддають фрагментації. На рис. 16.2 номери етапів позначені цифрами у дужках.

 

 

 

1.Застосування-клієнт (веб-браузер) у режимі користувача формує НТТР-за­пит до веб-сервера. Формат запиту визначений протоколом прикладного рівня (HTTP), зокрема у ньому зберігають шлях до потрібного документа на сервері. Після цього браузер виконує ряд системних викликів (визначених інтерфей­сом сокетів, який розглянемо у розділі 16.4). При цьому у ядро ОС передають вміст НТТР-запиту, IP-адресу комп'ютера, на якому запущено веб-сервер, і номер порту, що відповідає цьому серверу.

 

Далі перетворення даних пакета відбувається в ядрі.

 

2.Спочатку повідомлення обробляють засобами підтримки протоколу транс­портного рівня (TCP). У результаті його доповнюють TCP-заголовком, що містить номер порту веб-сервера та інформацію, необхідну для надійного пе­ресилання даних (номер послідовності тощо). НТТР-запит інкапсулюється

у TCP-сегмент та стає корисним навантаженням (payload) - даними, які пере­силають для обробки в режимі користувача.

3. TCP-сегмент обробляють засобами підтримки протоколу мережного рівня (ІР). При цьому він інкапсулюється в ІР-дейтаграму (його доповнюють ІР-заголов-ком, що містить IP-адресу віддаленого комп'ютера та іншу інформацію, необ­хідну для передавання мережею).

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

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

5. Тепер пакет переміщатиметься мережею. При цьому можуть здійснюватися різні його перетворення. Наприклад, коли Ethernet-фрейм доходить до адреса­та в мережі Ethernet, відповідне програмне або апаратне забезпечення виділяє ІР-дейтаграму із фрейму, за IP-заголовком визначає, яким каналом відправля­ти її далі, інкапсулює дейтаграму відповідно до характеристик цього каналу (наприклад, знову в Ethernet-фрейм) і відсилає її в наступний пункт призна­чення. На шляху повідомлення може перейти в мережі, зв'язані модемами, і тоді формат зовнішньої оболонки буде змінено (наприклад, у формат прото­колів SLIP або РРР), але вміст (ІР-дейтаграма) залишиться тим самим.

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

6. Драйвер мережного пристрою Ethernet виділяє ІР-дейтаграму із фрейму і пе­редає її засобам підтримки протоколу ІР.

7. Засоби підтримки ІР перевіряють IP-адресу в заголовку, і, якщо вона збігаєть­ся з локальною IP-адресою (тобто ІР-дейтаграма дійшла за призначенням), виділяють TCP-сегмент із дейтаграми і передають його засобам підтрим­ки TCP.

8. Засоби підтримки TCP визначають застосування-адресат за номером порту, заданим у TCP-заголовку (це веб-сервер, що очікує запитів від клієнтів). Пі­сля цього виділяють НТТР-запит із TCP-сегмента і передають його цьому за­стосуванню для обробки в режимі користувача.

9. Сервер обробляє НТТР-запит (наприклад, відшукує на локальному диску від­повідний документ).

 

Система імен DNS

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

 

Загальна характеристика DNS

іменна система імен (Domain Name System, DNS) [2] - це розподілена база да-¡"5, яку застосування використовують для організації відображення символьних Ікіец хостів (доменних імен) на IP-адреси. За допомогою DNS завжди можна 3"айти IP-адресу, що відповідає заданому доменному імені. Розподіленість DNS ""Лягає в тому, що немає жодного хосту в Інтернеті, який би мав усю інформацію про це відображення. Кожна група хостів (наприклад, та, що пов'язує всі комп'юютери університету) підтримує свою власну базу даних імен, відкриту для запитів 3°ваішніх клієнтів та інших серверів. Підтримку бази даних імен здійснюють ^допомогою застосування, яке називають DNS-сервером або сервером імен (name server).

Доступ до DNS з прикладної програми здійснюють за допомогою розпізна­ ла (resolver) - клієнта, який звертається до DNS-серверів для перетворення доменних імен в IP-адреси (цей процес називають розв'язанням доменних імен - domane name resolution). Звичайно розпізнавач реалізований як бібліотека, компонованаіз застосуваннями. Він використовує конфігураційний файл (в UNIX системах це — /etc/resolv.conf), у якому зазначені IP-адреси локальних серверів '^а. Якщо застосування потребує розв'язання доменного імені, код розпізнавача в|Дсилає запит на локальний сервер імен, отримує звідти інформацію про відповідну IP-адресу і повертає її у застосування.

Зазначимо, що і розпізнавач, і сервер імен зазвичай виконуються в режимі ко­ристувача (щодо серверів імен це не завжди справедливо: так, у Windows-системах ^Тина реалізації такого сервера виконується в режимі ядра). Стек TCP/IP у ядрі '^Формацією про DNS не володіє.

В UNIX-системах реалізація сервера імен є окремим продуктом, який називають bind.

 

Простір імен DNS

Простір імен DNS є ієрархічним (рис. 16.3). Кожний вузол супроводжує символьна позначка. Коренем дерева є вузол із позначкою нульової довжини. Домен-ім'я будь-якого вузла дерева — це список позначок, починаючи із цього вузла. ^іва направо) і до кореня, розділених символом «крапка». Наприклад, доменне імя виділеного на рис. 16.3 вузла буде «www.kpi.kharkov.ua.». Доменні імена мають унікальними.

Доменом (domain) називають піддерево ієрархічного простору імен. Для по-. учення домену (яке ще називають суфіксом домену) використовують доменне кореня цього піддерева: так, хост www.kpi.kharkov.ua. належить домену із суфіксом kpi.kharkov.ua., той, у свою чергу, - домену із суфіксом kharkov.ua. і т. д.

 

 

Доменне ім'я, що завершується крапкою, називають повним доменним іменем (Fully Qualified Domain Name, FQDN). Якщо крапка наприкінці імені відсутня, вважають, що це ім'я може бути доповнене (до нього може бути доданий суфікс відповідного домену). Такі імена можуть використовуватись у рамках домену. Наприклад, ім'я mail можна використати для позначення хоста всередині домену kpi.kharkov.ua., повне доменне ім'я для цього хоста буде mail.kpi.kharkov.ua.. У за­стосуваннях крапку наприкінці доменних імен хостів звичайно не ставлять (по­силаються на www.kpi.kharkov.ua замість www.kpi.kharkov.ua.), ми теж далі цього не робитимемо.

Серед доменів верхнього рівня (суфікс для яких не містить крапок, окрім кін­цевої) виділяють усім відомі com, edu, org тощо, а також домени для країн (иа для України). Є спеціальний домен arpa, який використовують для зворотного пере­творення IP-адрес у DNS-імена.

 

Розподіл відповідальності

Розподіл відповідальності за зони DNS-дерева - найважливіша характеристика доменної системи імен. Немає жодної організації або компанії, яка б керувала ві­дображенням для всіх позначок дерева. Є спеціальна організація (Network Infor­mation Center, NIC), що керує доменом верхнього рівня і делегує відповідаль­ність іншим організаціям за інші зони. Зоною називають частину DNS-дерева, що адмініструється окремо. Прикладом зони є домен другого рівня (наприклад, kharkov.ua). Багато організацій розділяють свої зони на менші відповідно до доме­нів наступного рівня (наприклад, kpi.kharkov.ua, kture.kharkov.ua тощо), аналогіч­ним чином делегуючи відповідальність за них. У цьому разі зоною верхнього рів­ня вважають частину домена, що не включає виділені в ній зони.

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

 

Отримання ІР-адрес

Якщо сервер імен не має необхідної інформації, він її шукає на інших серверах. Процес отримання такої інформації називають ітеративним запитом (iterative query).

Розглянемо ітеративний запит отримання IP-адреси для імені www.kpi.kha-rkov.ua. Спочатку локальний сервер зв'язується із кореневим сервером імен (root name server), відповідальним за домен верхнього рівня (.). Станом на 2004 рік в Інтернеті було 13 таких серверів, кожен із них мав бути відомий усім іншим сер­верам імен. Кореневий сервер імен зберігає інформацію про сервери першого рівня. Отримавши запит на відображення імені, він визначає, що це ім'я належить не до його зони відповідальності, а до домену .иа, і повертає локальному серверу інфор­мацію про адреси та імена всіх серверів відповідної зони. Далі локальний сервер звертається до одного із цих серверів з аналогічним запитом. Той сервер містить інформацію про те, що для зони kharkov.ua є свій сервер імен, у результаті локаль­ний сервер отримує адресу цього сервера. Процес повторюють доти, поки запит не надійде на сервер, відповідальний за домен kpi.kharkov.ua, що може повернути коректну ІР-адресу.

 

Кешування ІР-адрес

Кешування IP-адрес дозволяє значно зменшити навантаження на мережу. Коли сервер імен отримує інформацію про відображення (наприклад, IP-адресу, що відповідає доменному імені), він зберігає цю інформацію локально (у спеціально­му кеші). Наступний аналогічний запит отримає у відповідь дані з кеша без звер­тання до інших серверів. Інформацію зберігають у кеші обмежений час. Зазначи­мо, що, коли для сервера не задана зона, за яку він відповідає, кешування є його єдиним завданням. Це поширений сервер кешування (caching-only server).

 

Типи DNS-ресурсів

Елемент інформації у базі даних DNS називають ресурсним записом (Resource Record, RR). Кожний такий запис має клас і тип. Для записів про відображення IP-адрес класом завжди є IN.

Розглянемо деякі типи DNS-ресурсів. Найважливішим із них є А-запис, що пов'язує повне доменне ім'я з IP-адресою. Саме на основі таких записів сервери імен повертають інформацію про відображення. У конфігураційному файлі серве­ра імен bind для домену kpi.kharkov.ua А-запис для www.kpi.kharkov.ua задають так:

 

www IN А 144.91.1.21

Ще одним типом запису є CNAME-запис, що задає аліас доменного імені. Од­ній і тій самий IP-адресі (А-запису) може відповідати кілька таких аліасів. Аліаси ftp.kpi.kharkov.ua і mail.kpi.kharkov.ua задають так:

ftp IN СNAME www

mail IN CNAME www

 



Поделиться:


Последнее изменение этой страницы: 2017-02-06; просмотров: 359; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.59.69 (0.016 с.)