Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Передавання даних стеком протоколів ІнтернетуСодержание книги
Поиск на нашем сайте
Мережні протоколи стека 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 Information 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; просмотров: 388; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.85.96 (0.01 с.) |