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

Архітектура протоколу TCP/IP

Архітектура протоколу TCP/IP представляє собою результат досліджень та розробок, які проводились на експериментальній мережі з комутацией пакетів ARPANET. Звичайно цю архітектуру називають комплектом протоколів TCP/IP (TCP/IP Protocol Suite). Цей комплект протоколів складається з великого набору протоколів, які були видані як стандарти Інтернета в Internet Architecture Board (або Internet Activities Board, IAB — координационний совет мережі Інтернета).

Рівні TCP/IP

Модель TCP/IP представляє задачу комунікації у вигляді п’яти відносно незалежних рівнів:

  • фізичний рівень (physical layer);

  • рівень доступа до мережі (network access layer);

  • міжмережевий рівень (internet layer);

  • транспортний рівень (host-to-host layer або transport layer);

  • рівень додатків (application layer).

Фізичний рівень (physical layer) охоплює фізичний інтерфейс між пристроями передачі даних (наприклад, робоча станція, комп’ютер), а також середовище передачі даних або мережу. Цей рівень зв’язаний із специфічни­ми характеристиками передаювального середовища, природою сигналів, швидкістю передачі даних та ін. Рівень доступу до мережі (network access layer) зв’язаний з обміном даними між кінцеврю системою (сервером, робочою станцією та ін.) та мережею, до якої вона підключена. Відправляючий комп’ютер повинен представити в мережу адресу при­ймаючого комп’ютера, щоб мережа могла маршрутизувати дані у відповідний пункт призначення. Передаювальний комп’ютер може викликати деякі сервіси, наприклад, приорітетность, які надає мережа. Конкретне програмне забезпечення, яке використовується на цьому рівні, залежить від типу використовуваної мережі. Для комутації пакетів (наприклад, ретрансляції кадрів), комутації каналів, ЛОМ (наприклад, Ethernet) розроблені різні стандарти. Тому є сенс виділити функції, які виконують роботу, зв’язану із доступом до мережі, на окремий рівень. При цьому інша частина комунікаційного програмного забезпечення, яка знаходиться вище рівня дос­тупу до мережі, не буде піклуватися про специфіку використовуваної мережі. Одне й те ж програмне забезпечення більш високого рівня повинне працювати правильно незалежно від типу мережі, до якої підключено комп’ютер. Рівень доступу до мережі має відношення до доступу і маршрутизації даних по мережі двома кінцевими системами, підключеними до однієї й тієї же мережі. В тому випадку, коли два пристрої подключені до різних мереж, необхідні процедури, які дозволяють передавати дані декількома взаємозв’язаними мережами. Це відноситься до функції мыжмережевого рівня (internet layer). Для забезпечення функций маршрутизації по декількох мережах на цьому рівні використовується протокол Інтернету (Inter­net Protocol, IP). Цей протокол реалізовано не тільки на кінцевих системах, але і в маршрутизаторах. Маршрутизатор являє собою процесор, який зв’язує дві мережі, а основна його функція — пере­нос даних з однієї мережі в іншу відповідно до маршруту інформа­ції від джерела до приймальника.

Незалежно від природи додатків, які обмінюються інформа­цією, як правило, пред’являється вимоги до надійності передачі даних. Тобто ми повинні бути впевнені, що всі дані, отримані приймаючим додатком, коректні та розташовані в тому ж порядку, в якому вони були передані. Механізми забезпечення надійності по суті не залежать від природи додатків. Тому має сенс зібрати їх на загальному рівні, який сумісно використовується всіма додатками. Цей рівень отримав назву рівень хост-хост або транспортний рівень (transport layer). Найчастіше для забезпечення цієї функціональної можливості використовується протокол управління передачею (Transmission Control Protocol, TCP). Нарешті, на рівні додатків (application layer) міститься логіка, необхідна для підтримки різних додатків користувача. Для різних типів додатків (наприклад, передача файлов) необхідний окремий модуль, властивий даному додатку.

На рис. 2.11 демонструється приблизна відповідність рівнів архітектур TCP/IP і OSI відповідно до їх функціональних можливостей.

TCP та UDP

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

Кожний PDU TCP, який називається сегментом TCP (TCP segment), вклю­чає в заголовок сегмента порт джерела даних та порт отримувача даних (рис. 2.12, а). Значення портов ідентифікують відповідних користувачів (додатки) двох об’єктів TCP. Логічний зв’язок відноситься саме до даної пари значень портів. В процесі звязку кожний об’єкт відсліджують сегменти TCP, отримувані від іншої сторони або ті, що відправляються іншій стороні, для того, щоб регулювати потік сегментів та відновлювати втрачені або пошкоджені сегменти.

Управління потоками даних та контроль помилок забезпечується з допомогою номера послідовності (Sequence Number), номера повідомлення (Acknowledgment Number) та полів Windows. Для виявлення помилок в сегменті TCP використовується 16-ти бітова контрольна сума (checksum).

Крім ТСР є ще один протокол транспортного рівня, який найчастіше використовується як частина комплекта протоколів TCP/IP UDP (User Datagram Protocol, протокол передачі дейтаграм користувача). Протокол UDP не гарантує доставку, збереження послідовності або захисту від дублювання. Цей протокол забезпечує процедуру відправки повідомлень іншим процедурам із використанням мінімальної кількості механізмів протоколу. Деякі додатки, орієн­товані на транзакції, використовують протокол UDP. Оскільки цей протокол не зв’язаний із встановленням оединенія, можливості його обмежені. Він додає до IP лише можливість адресації портів. Такой висновок можна зробити, вивчивши заголовок UDP, представлений на рис. 2.12, б.

IP т а IPv6 I

На рис. 2.13, а представлено формат заголовка IP, який складається мінімум з 20 байтів або 160 бітів. У заголовок вклю­чаються 32-бітні адреса джерела та адресата. Поле контрольної суми заголовка (Header checksum) використовується для виявлення помилок в заго­ловку, щоб уникнути помилок в доставці. Поле протоколу (protocol) вка­зує, чи використовуються в IP протоколи TCP, UDP або інші протоколи більш високого рівня. Поля прапори (Flags) та зміщення фрагмента (Frag­ment offset) використовуються в процесах фрагментації та повторної зборки, коли єдина дейтаграма IP розділяється при передачі на декілька IP-дейтаграм, а потім знов збирається на кінцевому пункті.

В 1995 г. проблемна група IETF, яка розробляє стандарти протоколів для Інтернету, випустила специфікацію для наступного покоління IP, яка відома під назвою IPng. Ця спецификація в 1996 г. була перетворена в стандарт, який отримав назву IPv6. Стандарт IPv6 надає велику кількість функціональних розширень існуючого протоколу IP, розроблених для підтримки сучасних високошвидкісних мереж, а також змішаних потоків даних, включаючи графіку та відео, які зараз використовуються повсюди.Але причиною розробки нового протоколу була потреба в розширенні адресації. Поточнийй протокол IP використовує 32-бітове поле для задання адрес відправника та отримувача. При великому розповсюдженні Інтернету та приватних мереж, підключених до Інтернету, така довжина адреси не може задовольнити всі системні потреби адресації. Як показано на рис. 2.13, б, IPv6 включає 128-бітове поле для адреси відправника та отримувача.

Очікується, що всі інсталяції, які використовують TCP/IP, бу­дуть переводитися з IP на IPv6, але цей процес може розтянутися нароки, якщо не десятиріччя.

Операції протоколів tcp та ip

На рис. 2.14 показано, як конфігуруються ці протоколи для забезпечення комунікації. Щоби підкреслити, що служба комуникації може складатись з декількох мереж, мережі, які її складають звичайно називаються підмережами (subnetwork). Деякі різновиди мережевого протоколу дос­тупа, такі як Ethernet, використовуються для підключення комп’ютера до під­мережі. Цей протокол дозволяє хост-машині передавати дані по підмережі на інший хост або, якщо цільова хост-машина знаходиться в іншій підмережі, маршрутизатору, який ретранслює ці дані далі. Протокол IP реалізований у всіх кінцевих системах та маршрутизаторах. Він діє як ретранслятор, передаючи блоки даних від одного хоста через один або більше маршрутизаторів на інший хост. Протокол TCP реаліується тільки на кінцевих системах. Він відсліджує блоки даних, гарантуючи їх на­дійну доставку відповідному додатку.

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

.

Припустимо, що про­цес, зв’язаний з портом 1 на хості А, збирається послати повідомлення іншому процесу, зв’язаному з портом 3 на хості В. Процес на хості А пере­дає повідомлення вниз на IP з інструкціями про передачі його на хост В. Затем IP передає повідомлення на рівень досту­пу до мережі з цнструкціями про пересилку його на мар­шрутизатор J (перший перехід на шляху до В).

Для управління цією операцією повинна передаватися контролююча ін­формація, а також користувальницькі дані, як це показано на рис. 2.15. Припустимо, що в процесі пересилання створюється блок даних, який передається на TCP. Для підвищення керованості протокол TCP може розбити цей блок на більш дрібні частини. Для кожної з цих частин TCP додає управляючу інформацію, яка називаєеться заголовком TCP, формуючи сегмент TCP (TCP segment ). Управляюча інформація використовується рівноправним об’єктом протоколу TCP на хості В. Нижче наведені приклади елементів заголовка TCP.

  • Порт призначення Коли об’єкт TCP на хості В отримує сегмент, то він повинен знати, кому ці дані необхідно доставити.

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

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

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

  • Цільова адреса підмережі. Підмережа повинна знати, якому підключеному до неї пристрою призначені передаваємі дані.

  • Запити на обслуговування. Протокол доступу до мережі може запитувати деякі засоби підмережі, наприклад приорітетність.

На маршрутизаторі J заголовок пакеті видаляється і досліджується заголовок IP. На основі інформації в IP-заголовку про адресу доставки IP-модуль на маршрутизаторі направляє дейтаграму по підмережі 2 на хост В. Для цього дейтаграма знов доповнюється заголовком доступу до мережі.

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

Відмітимо, що блок обміну даними на будь-якому рівні називається PDU.

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