THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

У цій статті будуть розказані основи моделі TCP / IP. Для кращого розуміння описані основні протоколи і служби. Головне - не поспішати і намагатися розуміти кожну річ поетапно. Всі вони взаємопов'язані і без розуміння однієї, важко буде зрозуміти іншу. Тут скомпонована досить поверхнева інформація, так що цю статтю сміливо можна назвати «стеком протоколів TCP / IP для чайників». Однак, багато речей тут не так важкі для розуміння, як може здатися на перший погляд.

TCP / IP

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

Стек протоколів мережі TCP / IP має 4 рівня:

  1. Канальний (Link).
  2. Мережевий (Internet).
  3. Транспортний (Transport).
  4. Прикладний (Application).

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

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

  • HTTP;
  • SMTP;

Кожен протокол визначає власний порядок і принципи роботи з даними.

HTTP (HyperText Transfer Protocol) Призначений для передачі даних. По ньому відправляються, наприклад, документи в форматі HTML, Які служать основою веб-сторінки. Спрощено схема роботи представляється як «клієнт - сервер». Клієнт відправляє запит, сервер його приймає, належним чином обробляє і повертає кінцевий результат.

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

Використовується для передачі електронної пошти. SMTP-операція включає в себе три послідовні кроки:

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

Тема (Header)

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

Наприклад, заголовок, вкладений на транспортному рівні, на іншій стороні може бути оброблений тільки транспортним рівнем. Інші просто його проігнорують.

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

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

Протоколи передачі даних:

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

UDP (User Datagram Protocol) - другий за популярністю протокол. Він також відповідає за передачу даних. Відмітна властивість криється в його простоті. Пакети просто відправляються, не створюючи особливою зв'язку.

TCP або UDP?

У кожного з цих протоколів є своя область застосування. Вона логічно обумовлена \u200b\u200bособливостями роботи.

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

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

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

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

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

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

IP-адреса (Internet Protocol address) - логічний адресу пристрою. Містить інформацію про місцезнаходження пристрою в мережі. Приклад запису:.

MAC-адресу (Media Access Control address) - фізичну адресу пристрою. Використовується для ідентифікації. Присвоюється мережевого обладнання на етапі виготовлення. Представлений як шестібайтний номер. Наприклад:.

Мережевий рівень відповідає за:

  • Визначення маршрутів доставки.
  • Передачу пакетів між мережами.
  • Присвоєння унікальних адрес.

Маршрутизатор - пристрої мережевого рівня. Вони прокладають шлях між комп'ютером і сервером на основі отриманих даних.

Найпопулярніший протокол цього рівня - IP.

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

Види IP-адрес

У мережах використовуються два види IP-адрес:

  1. Публічні.
  2. Приватний.

Публічні (Public) використовуються в Інтернеті. Головне правило - абсолютна унікальність. Приклад їх використання - маршрутизатори, кожен з яких має свій IP-адресу для взаємодії з мережею Інтернет. Така адреса називається публічним.

Приватний (Private) не використовуються в Інтернеті. У глобальній мережі такі адреси не є чимось унікальним. Приклад - локальна мережа. Кожному пристрою присвоюється унікальний в межах даної мережі IP-адреса.

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

IPv4

Найпоширеніша версія інтернет-протоколу. Передує IPv6. Формат запису - чотири восьмибітних числа, розділені крапками. Через знак дробу вказується маска підмережі. Довжина адреси - 32 біта. У переважній більшості випадків, коли мова йде про IP-адресу, мається на увазі саме IPv4.

Формат запису:.

IPv6

Ця версія призначається для вирішення проблем попередньою версією. Довжина адреси - 128 біт.

Основна проблема, яку вирішує IPv6 - це вичерпання адрес IPv4. Передумови почали проявлятися вже на початку 80-х років. Незважаючи на те, що ця проблема набула в гостру стадію вже в 2007-2009 роках, впровадження IPv6 дуже повільно «набирає обертів».

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

Приклад запису:.

Існує три типи IPv6-адрес:

  1. Unicast.
  2. Anycast.
  3. Multicast.

Unicast - тип одноадресних IPv6. При відправці пакет досягає тільки інтерфейсу, розташованого на відповідному адресі.

Anycast відноситься до групових IPv6-адресами. Відправлений пакет потрапить в найближчий мережевий інтерфейс. Використовується тільки маршрутизаторами.

Multicast є багатоадресними. Це означає, що відправлений пакет досягне всіх інтерфейсів, які перебувають групі мультівещанія. На відміну від broadcast, який є «мовленням для всіх», multicast віщає лише певної групи.

Маска підмережі

Маска підмережі виявляє з IP-адреси підмережа і номер хоста.

Наприклад, IP-адреса має маску. В такому випадку формат запису буде виглядати так. Число «24» - це кількість біт в масці. Вісім біт дорівнює одному октету, який також може називатися байтом.

Якщо докладніше, то маску підмережі можна уявити в двійковій системі числення таким чином:. У ній є чотири октету, і запис складається з «1» і «0». Якщо скласти кількість одиниць, то отримаємо в сумі «24». На щастя, вважати за одиницю не обов'язково, адже в одному октеті - 8 значень. Бачимо, що три з них заповнені одиницями, складаємо і отримуємо «24».

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

Розглянемо невеликий приклад. Є IP-адреса і маска підмережі. Вважаємо і записуємо:. Тепер зіставляємо маску з IP-адресою. Ті октети маски, в яких всі значення рівні одиниці (255) залишають відповідні їм октети в IP-адресу без зміни. Якщо ж у значенні нулі (0), то октети в IP-адресу також стають нулями. Таким чином, в значенні адреси підмережі отримуємо.

Підмережа і хост

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

Хост - це адреса мережевого інтерфейсу ( мережевої карти). Визначається з IP-адреси за допомогою маски. Наприклад:. Так як перші три октету - підмережа, то залишається. Це і є номер хоста.

Діапазон адрес хоста - від 0 до 255. Хост під номером «0» є, власне, адресою самої підмережі. А хост під номером «255» є широкомовною.

адресація

Для адресації в стеці протоколів TCP / IP використовуються три типи адрес:

  1. Локальні.
  2. Мережеві.
  3. Доменні імена.

Локальними називаються MAC-адреси. Вони використовуються для адресації в таких технологіях локальної мережі як, наприклад, Ethernet. В контексті TCP / IP слово «локальні» означає, що вони діють лише в межах підмережі.

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

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

Домен першого рівня являє конкретну інформацію. Загальні (.org, .net) не обмежені будь-якими суворими межами. Зворотна ситуація - з локальними (.us, .ru). Вони, як правило, прив'язані територіально.

Домени нижчих рівнів - це все інше. Він може бути будь-якого розміру і містити будь-яку кількість значень.

Наприклад, "www.test.quiz.sg" - коректне доменне ім'я, де «sg» - локальний домен першого (верхнього) рівня, «quiz.sg» - домен другого рівня, «test.quiz.sg» - домен третього рівня. Доменні імена також можуть називатися DNS-іменами.

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

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

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

Найпоширеніші протоколи:

  1. Ethernet.
  2. WLAN.

Ethernet - найпоширеніша технологія дротових локальних мереж.

WLAN - локальна мережа на основі бездротових технологій. Взаємодія пристроїв відбувається без фізичних кабельних з'єднань. Приклад найпоширенішого методу - Wi-Fi.

Налаштування TCP / IP для використання статичного IPv4-адреси

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

Для настройки стека протоколів TCP / IP на використання постійного IPv4-адреси необхідно ввести в консоль команду ipconfig / all і знайти такі дані.

Налаштування TCP / IP для використання динамічного IPv4-адреси

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

Щоб налаштувати стек протоколів TCP / IP на використання непостійного IP-адреси необхідно зайти в властивості потрібного з'єднання, відкрити властивості IPv4 і поставити позначки так, як зазначено.

Способи передачі даних

Дані передаються через фізичне середовище трьома способами:

  • Simplex.
  • Half-duplex.
  • Full Duplex.

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

Приклади симплексного зв'язку:

  • Телемовлення.
  • Сигнал від супутників GPS.

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

Приклад полудуплексной зв'язку - спілкування по рації на одній частоті.

Full Duplex - повноцінна двостороння зв'язок. Пристрої можуть одночасно транслювати сигнал і виробляти прийом. Вони не конфліктують за середу передачі. Цей режим застосовується при використанні технології Fast Ethernet і з'єднанні з допомогою кручений пари.

Приклад двостороння - спілкування по телефону через мобільну мережу.

TCP / IP vs OSI

Модель OSI визначає принципи передачі даних. Рівні стека протоколів TCP / IP прямо відповідають цій моделі. На відміну від чотирирівневого TCP / IP має 7 рівнів:

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

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

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

Транспортний рівень залишається без змін. Виконує однакові функції.

Мережевий рівень також не змінений. Виконує рівно ті ж завдання.

Канальний рівень в TCP / IP відповідає двом останнім рівням OSI. Канальний рівень встановлює протоколи передачі даних через фізичне середовище.

Фізичний є власне фізичний зв'язок - електричні сигнали, коннектори і т.п. У стеці протоколів TCP / IP було вирішено об'єднати ці два рівня в один, так як вони обидва працюють з фізичним середовищем.

TCP / IP - це абревіатура терміну Transmission Control Protocol / Internet Protocol (Протокол управління передачею / Міжмережевий протокол). Фактично TCP / IP не один протокол, а безліч, стек протоколів.

TCP / IP був розроблений для того, щоб обчислювальні мережі дослідницьких центрів у всьому світі могли бути об'єднані в формі віртуальної "мережі мереж" (internetwork). Первісна Internet була створена в результаті перетворення існуючого конгломерату обчислювальних мереж, що звався ARPAnet, за допомогою TCP / IP.

У мережі, що працює на основі TCP / IP, інформація передається у вигляді дискретних блоків, званих IP-пакетами (IP packets) або IP-дейтаграммами (IP datagrams). По суті TCP / IP приховує маршрутизатори та базову архітектуру мереж від користувачів, так що все це виглядає як одна велика мережа. Точно так же, як підключення до мережі Ethernet розпізнаються по 48-розрядних ідентифікаторів Ethernet, підключення до локальної мережі ідентифікуються 32-розрядними IP-адресами, які ми висловлюємо у формі десяткових чисел, розділених крапками (наприклад, 128.10.2.3). Взявши IP-адреса віддаленого комп'ютера, Комп'ютер в інтрамережі або в Internet може відправити дані на нього, як ніби вони складають частину однієї і тієї ж фізичної мережі.

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

TCP / IP дає вирішення проблеми обміну даними між двома комп'ютерами, підключеними до однієї і тієї ж локальної мережі, але належать різним фізичним мереж. Рішення складається з декількох частин, причому кожен рівень сімейства протоколів TCP / IP вносить свою лепту в спільну справу. IP - самий фундаментальний протокол з комплекту TCP / IP - передає IP-дейтаграми і забезпечує вибір маршруту, за яким дейтаграмма буде слідувати з пункту А в пункт B і використання маршрутизаторів для "стрибків" між мережами.

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

Інший важливий протокол стека TCP / IP - User Datagram Protocol (UDP, протокол призначених для користувача дейтаграм), який схожий на TCP, але більш примітивний. TCP - "надійний" протокол, тому що він забезпечує перевірку на наявність помилок і обмін підтверджуючими повідомленнями, щоб дані досягали свого місця призначення завідомо без спотворень. UDP - "ненадійний" протокол, який не гарантує, що дейтаграми будуть приходити в тому порядку, в якому були послані, і навіть того, що вони прийдуть взагалі. UDP використовується для управління з'єднаннями.

Інші TCP / IP протоколи грають менш помітні, але в рівній мірі важливі ролі в роботі мереж TCP / IP. Наприклад, протокол визначення адрес (Address Resolution Protocol, ARP) ппреобразует IP-адреси в фізичні мережеві адреси, такі, як ідентифікатори Ethernet. Родинний протокол - протокол зворотного перетворення адрес (Reverse Address Resolution Protocol, RARP) - виконує зворотну дію, перетворюючи фізичні локальну мережу в IP-адреси. Протокол управління повідомленнями Internet (Internet Control Message Protocol, ICMP) являє собою протокол супроводу, який використовує IP для обміну керуючою інформацією і контролю над помилками, які належать до передачі пакетів IP. Наприклад, якщо маршрутизатор не може передати IP-дейтаграмму, він використовує ICMP, з тим щоб інформувати відправника, що виникла проблема.

TCP / IP - збірна назва для набору (стека) мережевих протоколів різних рівнів, використовуваних в Інтернет.

Стек протоколів TCP / IP ділиться на 4 рівні:

· Прикладної (додатків);

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

· Мережевий (міжмережевий);

· Фізичний (канальний).

Основна функціональність мереж TCP / IP реалізована протоколами TCP (протокол з контролем передачі) і IP (міжмережевий протокол). Протокол IP працює на мережевому рівні, протокол TCP - на транспортному. На прикладному рівні працює велика кількість протоколів, як загальновживаним (http, smtp, dns, smb), так і малопоширених (binkp), які використовуються різними призначеними для користувача програмами для зв'язку між собою і передачі даних, але всі вони користуються транспортом, наданих TCP / IP . Ці протоколи називаються базовими, так як всі інші базуються на них, і вся технологія називається TCP / IP.

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

Рівні стека TCP / IP не цілком збігаються з теоретичними рівнями моделі OSI

TCP / IP не регламентує використання протоколів та технологій фізичного і канального рівнів. Необхідно і достатньо наявність інтерфейсу модулів канального рівня з модулем IP, що забезпечує передачу IP-пакетів. Засоби і методи забезпечення цієї передачі - поза зоною дії TCP / IP. при практичної реалізації рівнів моделі OSI виявилося зручніше поєднати деякі рівні в одному модулі. Відповідність рівнів стека TCP / IP і OSI виглядає приблизно так:

На малюнку показано, як TCP / IP узгоджується з моделлю ISO / OSI. Цей малюнок також ілюструє рівневу будову TCP / IP і показує взаємозв'язку між основними протоколами. При перенесенні блоку даних з мережевої прикладної програми в плату адаптера він послідовно проходить через ряд модулів TCP / IP. При цьому на кожному кроці він має бути доповнений інформацією, необхідною для еквівалентного модуля TCP / IP на іншому кінці ланцюжка. До того моменту, коли дані потрапляють в мережевий адаптер, вони представляють собою стандартний кадр тієї технології, до якої належить цей адаптер. Програмне забезпечення TCP / IP на приймальному кінці відтворює вихідні дані для приймаючої програми шляхом проходження кадру в зворотному порядку по набору модулів TCP / IP.

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

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

Всі ці вимоги знайшли відображення в архітектурі TCP / IP. Вимоги незалежності від носіїв і розширення за рахунок підключення нових мереж привели до рішення про пересилання даних в інтернет з поділом їх на частини і маршрутизацією кожної з цих частин як незалежного елемента.

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

Все це призвело до прекрасної масштабованості протоколів TCP / IP і можливості їх застосування на різних системах - від великих ЕОМ (mainframe) до настільних комп'ютерів. На практиці корисний набір функціональних властивостей мережевого управління маршрутизацією реалізується неінтелектуальними пристроями, подібними мостам, мультиплексорам або комутаторів.

3.2 Розподіл на рівні

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

■ Пакетування даних

■ Визначення шляхів (маршрутів) пересилання даних

■ Пересилання даних з фізичного носія

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

■ Складання отриманих даних, щоб в формованої послідовності не було втрачених частин

■ Перевірку даних, що надходять на наявність дубльованих фрагментів

■ Інформування відправника про те, скільки даних було передано успішно

■ Пересилання даних в потрібну програму

■ Обробку помилок і непередбачених подій

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

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

Комунікаційна модель обміну даними OSI строго відповідає структурі TCP / IP. Рівні і термінологія моделі OSI стали стандартною частиною комунікаційної структури обміну даними.

На рис. 3.1 показані рівні OSI і TCP / IP. Почнемо їх аналіз з самого нижнього рівня (в TCP / IP формально не визначені рівні сеансу та подання).

Мал. 3.1. Рівні TCP / IP і OSI

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

Фізичний рівень (physical layer) має справу з фізичними носіями, роз'ємами і сигналами для представлення логічних нулів і одиниць. Наприклад, адаптери мережного інтерфейсу Ethernet і Token-Ring і з'єднують їх кабелі реалізують функції фізичного рівня.

3.2.2 Рівень зв'язку даних

Рівень зв'язку даних (data link layer) організовує дані в кадри (Frame). Іноді його називають канальним рівнем. Як показано на рис. 3.2, кожен кадр має заголовок (header), що містить адресу і керуючу інформацію, а завершальна секція кадру (trailer) використовується для виправлення помилок (іноді її називають хвостом кадру. - Прим. пер.).

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

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

Мал. 3.2. формат кадру

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

Функції мережевого рівня (network layer) виконує протокол IP, який здійснює, маршрутизацію даних між системами. Дані можуть слідувати по одному шляху або використовувати кілька різних шляхів при переміщенні в інтернеті. Дані пересилаються в елементах, які називаються датаграму (Datagram).

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

Мал. 3.3. датаграма IP

Рівень IP називається "Без створення з'єднання", Оскільки кожна датаграмма маршрутизируется незалежно і протокол IP не гарантує той же порядок отримання датаграмм, як при їх відправленні. IP маршрутизує трафік без урахування взаємодій між додатками, яким належать конкретні датаграми.

3.2.4 Транспортний рівень (TCP)

Протокол TCP виконує функції транспортного рівня (transport layer) і забезпечує надійну службу пересилання даних для додатків. В TCP / IP вбудований спеціальний механізм, який гарантує пересилання даних без помилок і пропусків і в тій послідовності, в якій вони були відправлені.

Додатки, наприклад пересилки файлів, передають дані в TCP, який додає до них заголовок і формує елемент, званий сегментом (Segment).

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

3.2.5 Транспортний рівень (UDP)

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

UDP передає вихідні повідомлення в IP і передбачає на іншій стороні отримання вхідних повідомлень від IP. Далі UDP визначає додаток, з яким направлені дані.

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

3.2.6 Служби для додатків

Як уже зазначалося в розділі 2, набір протоколів TCP / IP включає стандартні служби для додатків, такі як доступ до терміналу, пересилання файлів, звернення до файлових серверів NFS, електронна пошта, мережеві новини, WWW і перегляд адрес в DNS.

3.2.7 Пакетування даних

На рис. 3.4 показано, як пакетуються прикладні дані перед пересиланням мережі. Основним терміном для об'єднання інформації з заголовком відповідного мережевого рівня є елемент даних протоколу (Protocol Data Unit - PDU). Наприклад, сегмент TCP є PDU транспортного рівня, а датаграмма IP - PDU мережевого рівня.


Мал. 3.4. Пакетування даних перед пересиланням мережі

3.3 Огляд протоколів

На рис. 3.5 представлено співвідношення між окремими компонентами набору протоколів TCP / IP.


Мал. 3.5. Співвідношення між компонентами набору протоколів TCP / IP

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

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

Клієнти WWW, мережевих новин, пересилки файлів (FTP), пошти (SMTP) і термінального доступу ( telnet) Можуть взаємодіяти зі своїми серверами через з'єднання TCP. Більшість клієнтів NFS обмінюються зі своїми серверами повідомленнями UDP, хоча деякі реалізації NFS припускають використання як UDP, так і TCP.

Перегляд каталогів DNS заснований на повідомленнях UDP. Станції управління SNMP витягають відомості з мережевих пристроїв за допомогою повідомлень UDP.

3.4 Маршрутизатор і топологія мережі

Набір протоколів TCP / IP може використовуватися як в незалежних локальних або регіональних мережах, так і для їх об'єднання в загальні мережі інтернету. Будь-хост з TCP / IP може взаємодіяти з іншим хостом через локальну мережу, з'єднання "точка-точка" або через регіональну мережу з пакетуванням інформації (див. Рис. 3.6).


Мал. 3.6. Незалежні один від одного мережі

Об'єднання мереж в інтернет передбачає використання маршрутизаторів IP. На рис. 3.7 показана мережа інтернет, створена з незалежних мереж, з'єднаних маршрутизаторами IP.


Мал. 3.7. Об'єднання незалежних мереж маршрутизаторами

Сучасні маршрутизатори забезпечують роботу декількох апаратних інтерфейсів, які можна комбінувати для застосування з конкретної мережевої топологією: Ethernet, Token-Ring, FDDI, синхронні з'єднання "точка-точка", Frame Relay і т.д.

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

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

3.5 Маршрутизація в IP

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

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

3.5.1 Протоколи маршрутизації

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

■ Додавання до інтернету нової мережі

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

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

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

Мережева можливість по управлінню організацією мережі відповідає поняттю "Автономної системи" (Autonomous System - AS). Організація може вибрати будь-який з протоколів обміну інформацією про маршрутизації, який пов'язаний з її власною автономною системою. Протоколи обміну інформацією про маршрутизації застосовуються всередині автономних систем у вигляді протоколу внутрішнього шлюзу (Interior Gateway Protocol - IGP).

Протокол інформації про маршрутизації (Routing Information Protocol - RIP) став одним з популярних стандартів IGP. Широке поширення цього протоколу пов'язано з його простотою, однак новий протокол "Спочатку відкривати найкоротший шлях" (Open Shortest Path First - OSPF) має ще більш великий набір корисних можливостей.

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

3.6 Архітектура TCP

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

■ Точність

■ Збереження послідовності

■ Повноту

■ Виняток дублювання

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

■ Нумерує кожен сегмент

■ Встановлює таймер

■ Пересилає сегмент

Приймаюча система TCP повідомляє свого партнера, скільки даних було передано правильно, за допомогою видачі підтвердження (acknowledgment - ACK). Якщо підтвердження пересилання сегмента не буде отримано за певний проміжок часу, TCP виробляє повторну пересилку цього сегмента. Така стратегія називається повторної трансляцією з позитивним підтвердженням (Retransmission with positive acknowledgment). Іноді повторна пересилання призводить до дублювання доставлених на приймаючу систему сегментів.

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

Оскільки одна сторона відправляє дані, а інша їх приймає, TCP можна назвати повнодуплексним (Full-duplex) протоколом: обидві сторони з'єднання можуть одночасно здійснювати і отримувати дані (тобто присутні два потоки даних). TCP одночасно виконує ролі передавача і приймача.

3.7 Архітектура UDP

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

Додаток, який хоче переслати дані за допомогою UDP, передає блок даних в UDP, а протокол UDP просто додає до них заголовок і виробляє їх пересилання по мережі.

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

3.8 Концепція безпеки

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

Базові концепції безпеки в мережевому оточенні подібні аналогічним концепціям для центрального хоста:

■ Автентифікація користувача

■ Цілісність (гарантія відсутності зміни даних)

■ Конфіденційність (захист від небажаного розкриття інформації)

3.8.1 Аутентифікація

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

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

3.8.2 Технологія формування резюме повідомлення

Простий, але ефективний спосіб технології аутентифікації заснований на резюме повідомлення(Message digest). Як показано на рис. 3.8, таке резюме обчислюється по вмісту повідомлення за допомогою секретного ключа. В даний час найбільш поширений алгоритм Message Digest 5 (MD5), який був розроблений Рональдом Ривестом (див. RFC 1321).

Мал. 3.8. Використання резюме повідомлення.

взаємне дослідження (Challenge handshake) ілюструє один із способів застосування резюме повідомлення. Як і при звичайній аутентифікації, користувачеві привласнюється пароль, який реєструється на хості. Однак цей пароль вже не пересилається по мережі. Замість цього настільна система виконує обчислення за алгоритмом MD5, використовуючи пароль і секретний ключ (ключ шифрування. - Прим. пер.). Як показано на рис. 3.9:

1. Користувач посилає на хост свій ідентифікатор.

2. Хост посилає користувачеві повідомлення з випадковим вмістом.

3. Хост і настільна система користувача виконують обчислення за алгоритмом MD5 для повідомлення від хоста і секретного пароля користувача.

4. Система користувача відсилає відповідь хосту.

5. Хост порівнює відповідь. Якщо відповідь вірний, користувач аутентифицирующей.


Мал. 3.9. Використання MD5 при взаємній дослідженні

3.8.3 Цілісність повідомлення

MD5 і спільно використовуються секретні ключі можна застосовувати для визначення змін в даних при їх пересилці по мережі. Розглянемо рис. 3.10:

1. Обчислення MD5 виконується над даними за допомогою секретного ключа.

2. Дані та отримане повідомлення надсилаються партнеру.

3. Партнер виконує обчислення MD5 над отриманими даними і відомим секретним ключем.

4. Партнер порівнює отриманий результат з відповідним резюме повідомлення. При збігу вважається, що дані не змінилися.

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


Мал. 3.10. Захист даних, що пересилаються за допомогою резюме повідомлення, обчисленого по MD5

3.8.4 Конфіденційність за допомогою симетричного шифрування

Для запобігання читання та небажаного використання даних, що пересилаються зловмисником (snooper) дані повинні бути зашифровані. Класичним способом є узгодження секретних ключів між відправником і отримувачем. Часто при пересиланні додається резюме повідомлення, і одержувач може перевірити, що дані отримані в тому вигляді, в якому вони були відправлені. Як показано на рис. 3.11, після шифрування дані виглядають як безглузді рядки.


Мал. 3.11. симетричне шифрування

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

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

■ Зміна ключа пов'язано з великими труднощами.

3.8.5 Асиметричний загальнодоступний ключ шифрування

методи асиметричного шифрування відомі досить давно (основні ідеї були закладені в роботах Діффі, Хеллмана і Меркля). При такому методі для шифрування і розшифровки використовуються різні ключі.

Розглянемо шкатулку з двома різними ключами (А і Б), як показано на рис. 3.12:

■ Якщо скринька закривається ключем А, то відкривається ключем Б.

■ Якщо скринька закривається ключем Б, то відкривається ключем А.


Мал. 3.12. Використання різних ключів для відкриття і закриття

Асиметричне шифрування називається також шифруванням по загальнодоступним ключам (Public key), оскільки дозволяє управляти ключами більш узгодженим способом. Ключ А може бути загальнодоступним. Його значення можна відкрити для друзів або навіть зберігати в одному з доступних файлів.

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

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

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

Обслуговування загальнодоступних / особистих ключів набагато простіше, ніж симетричних. Однак потрібна впевненість, що опублікований загальнодоступний ключ "Jane Jone" s Public Key "реально належить потрібної Джейн Джон, а не іншій людині з тим же ім'ям.

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

3.8.6 Комбіноване шифрування

Комбіноване шифрування реалізується в такий спосіб:

■ Вибирається випадковий симетричний ключ.

■ З цього ключу шифруються дані.

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

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

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


Мал. 3.13. Вкладений в зашифроване повідомлення ключ

У наступних розділах ми розглянемо реалізацію цих методів в додатках і комунікаціях TCP / IP. Найбільш вражаючий результат розглянуто в главі 24, де описуються аутентифікація і шифрування на рівні IP як для класичної версії 4 протоколи IP, так і для нової версії 6 - IP Next Generation ( наступне покоління IP).

Набір багаторівневих протоколів, чи як кажуть стік TCP / IP, призначений для використання в різних варіантах мережного оточення. Стек TCP / IP з точки зору системної архітектури відповідає еталонної моделі OSI ( Open Systems Interconnection - взаємодія відкритих систем) і дозволяє обмінюватися даними через мережу додатків і службам, які працюють практично на будь-якій платформі, включаючи Unix, Windows, Macintosh і інші.

Мал. 3.2

Реалізація TCP / IP фірми Microsoft відповідає чотирирівневої моделі замість семиуровневой моделі, як показано на рис. 3.2. Модель TCP / IP включає більше функцій на один рівень, що призводить до зменшення числа рівнів. У моделі використовуються такі рівні:

рівень Додатки моделі TCP / IP відповідає рівням Приложения, Уявлення і Сеансу моделі OSI;

рівень Транспорту моделі TCP / IP відповідає аналогічному уровню Транспорту моделі OSI;

міжмережевий рівень моделі TCP / IP виконує ті ж функції, що і рівень Мережі моделі OSI;

рівень мережевого інтерфейсу моделі TCP / IP відповідає Канальному і Фізичному рівням моделі OSI.

рівень Додатки

Через рівень Додатка моделі TCP / IP докладання і отримують доступ до мережі. Доступ до протоколів TCP / IP здійснюється за допомогою двох програмних інтерфейсів (API - Application Programming Interface):

Сокети Windows;

Інтерфейс сокетів Windows, або як його називають WinSock, є мережним програмним інтерфейсом, призначеним для полегшення взаємодії між різними TCP / IP - додатками та родинами протоколів.

Інтерфейс NetBIOS використовується для зв'язку між процесами (IPC - Interposes Communications) служб і додатків ОС Windows. NetBIOS виконує три основні функції:

визначення імен NetBIOS;

служба дейтаграм NetBIOS;

служба сеансу NetBIOS.

У таблиці 3.1 наведено сімейство протоколів TCP / IP.

Таблиця 3.1

Назва протоколу

опис протоколу

Мережевий програмний інтерфейс

Зв'язок з додатками ОС Windows

Інтерфейс транспортного драйвера (Transport Driver Interface) дозволяє створювати компоненти сеансового рівня.

Протокол управління передачею (Transmission Control Protocol)

Протокол призначених для користувача дейтаграм (User Datagram Protocol)

Протокол дозволу адрес (Address Resolution Protocol)

Протокол зворотного дозволу адрес (Reverse Address Resolution Protocol)

Протокол Internet (Internet Protocol)

Протокол керуючих повідомлень Internet (Internet Control Message Protocol)

Протокол управління групами Інтернету (Internet Group Management Protocol),

Інтерфейс взаємодії між драйверами транспортних протоколів

Протокол пересилки файлів (File Transfer Protocol)

Простий протокол пересилки файлів (Trivial File Transfer Protocol)

рівень транспорту

Рівень транспорту TCP / IP відповідає за встановлення і підтримання з'єднання між двома вузлами. Основні функції рівня:

підтвердження отримання информации4

управління потоком даних;

впорядкування і ретрансляція пакетів.

Залежно від типу служби можуть бути використані два протоколи:

TCP (Transmission Control Protocol - протокол управління передачею);

UDP (User Datagram Protocol - призначений для користувача протокол дейтаграм).

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

Протокол управління передачею (TCP)

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

Клієнт, запитувач з'єднання, відправляє серверу пакет, який вказує номер порту, який клієнт бажає використовувати, а також код (певне число) ISN (Initial Sequence number).

Сервер відповідає пакетом, у якому ISN сервера, а також ISN клієнта, збільшений на 1.

Клієнт повинен підтвердити з'єднання, повернувши ISN серверу, збільшений на 1.

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

Призначений для користувача протокол дейтаграм (UDP)

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

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

Міжмережевий рівень відповідає за маршрутизацію даних всередині мережі та між різними мережами. На цьому рівні працюють маршрутизатори, які залежать від використовуваного протоколу і використовуються для відправки пакетів з однієї мережі (або її сегмента) в іншу (або інший сегмент мережі). У стеці TCP / IP на цьому рівні використовується протокол IP.

Протокол Інтернету IP

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

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

Адресація в IP-мережах

Кожен комп'ютер в мережах TCP / IP має адреси трьох рівнів: фізичний (MAC-адресу), мережевий (IP-адреса) і символьний (DNS-ім'я).

Фізичний, або локальний адресу сайту, який визначається технологією, за допомогою якої побудована мережа, в яку входить вузол. Для вузлів, що входять в локальні мережі - це МАС-адреса мережного адаптера або порту маршрутизатора, наприклад, 11-А0-17-3D-BC-01. Ці адреси призначаються виробниками устаткування і є унікальними адресами, так як управляються централізовано. Для всіх існуючих технологій локальних мереж МАС - адреса має формат 6 байтів: старші 3 байти - ідентифікатор фірми виробника, а молодші 3 байти призначаються унікальним чином самим виробником.

Мережевий, або IP-адреса, що складається з 4 байт, наприклад, 109.26.17.100. Ця адреса використовується на мережному рівні. Він призначається адміністратором під час конфігурування комп'ютерів і маршрутизаторів. IP-адреса складається з двох частин: номера мережі і номера вузла. Номер мережі може бути обраний адміністратором довільно, або призначений за рекомендацією спеціального підрозділу Internet (Network Information Center, NIC), якщо мережа повинна працювати як складова частина Internet. Зазвичай провайдери послуг Internet отримують діапазони адрес у підрозділів NIC, а потім розподіляють їх між своїми абонентами. Номер вузла в протоколі IP призначається незалежно від локальної адреси вузла. Розподіл IP-адреси на поле номера мережі і номера вузла - гнучке, і межа між цими полями може встановлюватися довільно. Вузол може входити в кілька IP-мереж. В цьому випадку вузол повинен мати кілька IP-адрес, по числу мережевих зв'язків. IP-адреса характеризує не окремий комп'ютер або маршрутизатор, а одне мережеве з'єднання.

Символьний адреса, або DNS-ім'я, наприклад, SERV1.IBM.COM. Ця електронна адреса призначається адміністратором і складається з декількох частин, наприклад, імені машини, імені організації, імені домену. Така адреса використовується на прикладному рівні, наприклад, в протоколах FTP або telnet.

Протоколи зіставлення адреси ARP і RARP

Для визначення локальної адреси по IP-адресою використовується протокол дозволу адреси Address Resolution Protocol (ARP). ARP працює по-різному залежно від того, який протокол канального рівня працює в даній мережі - протокол локальної мережі (Ethernet, Token Ring, FDDI) з можливістю широкомовного доступу одночасно до всіх вузлів мережі, або ж протокол глобальної мережі (X.25, frame relay), як правило, не підтримує широкомовний доступ. Існує також протокол, що вирішує зворотну задачу - знаходження IP-адреси за відомим локальному адресою. Він називається реверсивний ARP - RARP (Reverse Address Resolution Protocol) і використовується при старті бездискових станцій, хто знає в початковий момент свого IP-адреси, але знають адресу свого мережного адаптера.

У локальних мережах ARP використовує широкомовні кадри протоколу канального рівня для пошуку в мережі вузла із заданим IP-адресою.

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

протокол ICMP

Протокол управління повідомленнями Інтернету (ICMP - Internet Control Message Protocol) використовується IP та іншими протоколами високого рівня для відправки та отримання звітів про стан переданої інформації. Цей протокол використовується для контролю швидкості передачі інформації між двома системами. Якщо маршрутизатор, що з'єднує дві системи, переобтяжений трафіком, він може відправити спеціальне повідомлення ICMP - помилку для зменшення швидкості відправлення повідомлень.

протокол IGMP

Вузли локальної мережі використовують протокол управління групами Інтернету (IGMP - Internet Group Management Protocol), щоб зареєструвати себе в групі. Інформація про групи міститься на маршрутизаторах локальної мережі. Маршрутизатор використовують цю інформацію для передачі групових повідомлень.

Групове повідомлення, як і широковещательное, використовується для відправки даних відразу декільком вузлам.

Network Device Interface Specification - специфікація інтерфейсу мережевого пристрою, програмний інтерфейс, що забезпечує взаємодію між драйверами транспортних протоколів, і відповідними драйверами мережевих інтерфейсів. Дозволяє використовувати кілька протоколів, навіть якщо встановлена \u200b\u200bтільки одна мережева карта.

Рівень мережевого інтерфейсу

Цей рівень моделі TCP / IP відповідає за розподіл IP-дейтаграм. Він працює з ARP для визначення інформації, яка повинна бути поміщена в заголовок кожного кадру. Потім на цьому рівні створюється кадр, відповідний за видом мережі, такого як Ethernet, Token Ring або ATM, потім IP-дейтаграмма міститься в область даних цього кадру, і він відправляється в мережу.

питання

Призначення специфікації стандартів IEEE802.

Який стандарт описує мережеву технологію Ethernet?

Який стандарт визначає завдання управління логічним зв'язком?

Який стандарт задає механізми управління мережею?

Який стандарт описує мережеву технологію ArcNet?

Який стандарт описує мережеву технологію Token Ring?

Що таке інтерфейс рівня базової моделі OSI?

Що таке протокол рівня базової моделі OSI?

Дати визначення стека протоколів.

На які рівні розбиваються стеки протоколів?

Назвати найбільш популярні мережеві протоколи.

Назвати найбільш популярні транспортні протоколи.

Назвати найбільш популярні прикладні протоколи.

Перерахувати найбільш популярні стеки протоколів.

Призначення програмних інтерфейсів сокетів Windows і NetBIOS.

Чим відрізняється протокол TCP від \u200b\u200bUDP?

Функції протоколу IP.

Які існують види адресації в IP-мережах?

Який протокол необхідний для визначення локального адреси по IP-адресою?

Який протокол необхідний для визначення IP-адреси по локального адресою?

Який протокол використовується для управління повідомленнями Інтернету?

Призначення рівня мережевого інтерфейсу стека TCP / IP.

Архітектура протоколів TCP / IP, відома як набір протоколів TCP / IP, виникла в результаті досліджень в області протоколів і розробок, що виконувалися в експериментальній мережі з комутацією пакетів під назвою ARPANET, яка була заснована Управлінням перспективних дослідницьких програм Міністерства оборони США (Defense Advanced Research Projects Agency - DARPA). Цей набір протоколів складається з великого зібрання протоколів, виданих Координаційною радою з мережі Internet (Internet Activities Board - IAB) в якості стандартів для Internet.

Рівні протоколу tcp / ip

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

Зважаючи на це в задачі обміну інформацією природно виділити п'ять відносно незалежних рівнів:

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

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

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

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

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

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

Рівень доступу до мережі пов'язаний з обміном даними між кінцевою системою (сервером, робочою станцією і т.п.) і мережею, до якої приєднана ця система. Комп'ютер-відправник повинен передати в мережу адреса комп'ютера-адресата, щоб мережа могла направити дані за місцем призначення. Комп'ютера-відправника можуть знадобитися певні послуги, такі, як надається мережею пріоритет. Вид використовуваних на цьому рівні програм залежить від типу мережі; розроблені різні стандарти для мереж з комутацією каналів, комутацією пакетів (наприклад, Х.25), локальних мереж (Local Area Net - LAN) (наприклад, Ethernet) та інших. Таким чином, має сенс виділити функції, пов'язані з наданням доступу до мережі, в окремий рівень. За допомогою цього прийому вдається позбутися від необхідності розглядати в інших програмах, призначених для обміну інформацією на більш високих рівнях доступу до мережі, специфічні питання влаштування використовуваних мереж. Одні і ті ж програми вищих рівнів повинні правильно працювати незалежно від того, до якої мережі підключений комп'ютер.

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

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

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

Робота протоколівTCP іIP

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

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

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

Щоб повідомленням можна було керувати, разом з призначеними для користувача даними в ньому повинна передаватися інформація, що управляє (рис. А.2). Припустимо, що процес-відправник породжує блок даних і передає його протоколу TCP. Протокол TCP може розбити цей блок на менші частини, щоб ними було легше керувати. До кожної з цих частин протокол TCP додає керуючу інформацію, відому як TCP-заголовок (TCP header), формуючи сегмент TCP (TCP segment). Ця керуюча інформація буде використовуватися протоколом TCP на вузлі В. В заголовок серед інших входять такі пункти.

    Порт призначення (destination port). Коли об'єкт TCP на вузлі В отримує сегмент, йому необхідно знати, кому потрібно доставити дані.

    Порядковий номер (sequence number). Протокол TCP нумерує сегменти, які він послідовно пересилає в певний порт призначення. Це робиться для того, щоб у разі порушення порядку отримання повідомлень об'єкт TCP на вузлі В міг розташувати їх в правильному порядку.

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

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

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

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

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

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

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

протоколиTCP іUDP

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

На рис. А.З. показаний формат заголовка TCP, який складається як мінімум з 20 октетів або 160 біт. У полях Порт відправлення (Source Port) і Порт призначення (Destination Port) вказані ідентифікатори додатків вихідної системи і системи призначення, які використовують це з'єднання. 1 Поля Порядковий номер (Sequence Number), Номер підтвердження (Acknowledgment Number) і Вікно (Window) забезпечують поточне управління і контроль помилок. Кожен сегмент пронумерований, щоб можна було виявляти їх втрату і відправляти явні підтвердження при отриманні сегментів. Об'єкт, що відправляє підтвердження, для кожного з них вказує в поле Вікно, скільки ще даних він готовий прийняти. поле Контрольна сума (Checksum) являє собою 16-бітовий кадр, в якому знаходиться контрольна послідовність, призначена для виявлення помилок в сегменті TCP.

Крім протоколу TCP існує ще один широко використовуваний протокол транспортного рівня, що входить в набір протоколів TCP / IP: призначений для користувача протокол датаграм (User Datagram Protocol - UDP). Протокол UDP надає сервіс без встановлення з'єднання, призначений для процедур на рівні додатків; цей протокол не гарантує доставку, збереження послідовності або захист від дублювання. Він дозволяє процедурі відправляти повідомлення іншим процедурам за допомогою мінімального протокольного механізму. Протоколом UDP користуються деякі додатки, орієнтовані на транзакції. Одним з таких додатків є простою протокол мережевого управління (Simple Network Management Protocol - SNTP), який є стандартним протоколом мережевого адміністрування в мережах, що працюють по протоколу TCP / IP. Протокол UDP виконує вкрай обмежений набір функцій, так як він працює без встановлення з'єднання. По суті, він додає до протоколу IP деякі можливості адресації портів. Найлегше це зрозуміти, розглянувши заголовок UDP, показаний на рис. А.З.б ".

протоколиIP і IPv6

Internet-протокол (IP) протягом десятиліть був основним елементом архітектури протоколів TCP / IP. На рис. А.4, а показаний формат IP-заголовка, який складається як мінімум з 20 октетів, або 160 біт. У цьому заголовку містяться 32-бітові адреси відправлення і призначення. Поле Контрольна сума заголовка (Header Checksum) використовується для виявлення помилок в заголовку, що допомагає уникнути помилок при доставці. В поле Протокол (Protocol) зазначено, який з протоколів більш високого рівня використовує протокол IP, TCP, UDP або якийсь інший. Поля Прапори (Flags) і Зсув фрагмента (Fragment Offset) використовуються в процесі фрагментації і повторної зборки, в якому IP-датаграмма розбивається на кілька IP-датаграм, а потім в пункті призначення знову збирається воєдино.

У 1995 році проблемна група проектування Internet (Internet Engineering Task Force - IETF), що займається розробкою стандартів для протоколів Internet, опублікувала специфікацію протоколу IP наступного покоління, яка з того моменту стала відома як IPng. У 1996 році ця специфікація отримала статус стандарту, відомого як IPv6. Протокол IPv6 надає певний набір функціональних поліпшень існуючого протоколу IP (відомого як IPv4). Він розроблений, щоб мати можливість працювати з більш високими швидкостями, досягнутими в сучасних мережах, а також з потоками даних, що включають графіку і відеосигнали, які стають все більш поширеними. Однак рушійною силою розробки нового протоколу послужила необхідність додаткових адрес. Що знаходиться в обігу протокол IP підтримує 32-бітові адреси відправки або призначення, В результаті інтенсивного розширення мережі Internet і зростання кількості приєднаних до Internet відомчих мереж довжини цих адрес стало недостатньо для всіх систем, яким потрібні адреси. Як показано на рис. А.4, б, заголовок IPv6 містить 128-бітові поля для адрес відправлення і призначення. Передбачається, що всі системи, в яких використовується протокол TCP / IP, з часом перейдуть від поточного протоколу IP до протоколу IPv6, однак цей процес займе багато років, якщо не десятиліття.

THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму