TCP/IP

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Стек TCP/IP

Стек TCP/IP був розроблений з ініціативи Міністерства оборони США більше за 20 років для зв'язку експериментальної мережі ARPAnet з іншими мережами як набір загальних протоколів для різнорідної обчислювальної середи. Великий внесок в розвиток стека TCP/IP, який отримав свою назву по популярних протоколах IP і TCP, вніс університет Берклі, реалізовувавши протоколи стека в своєї версії ОС UNIX. Популярність цієї операційної системи привела до широкого поширення протоколів TCP, IP і інших протоколів стека. Сьогодні цей стек використовується для зв'язку комп'ютерів всесвітньої інформаційної мережі Internet, а також у величезному числі корпоративних мереж.

Стек TCP/IP на нижньому рівні підтримує всі популярні стандарти фізичного і канального рівнів: для локальних мереж це Ethernet, Token Ring, FDDI, для глобальних протоколи роботи на аналогових комутованих і виділених лініях SLIP, РРР, протоколи територіальних мереж Х.25 і ISDN.

Основними протоколами стека, що дали йому назву, є протоколи IP і TCP. Ці протоколи в термінології моделі OSI відносяться до мережевого і транспортного рівнів відповідно. IP забезпечує просування пакету по складовій мережі, а TCP гарантує надійність його доставки.

За довгі роки використання в мережах різних країн і організацій стек TCP/IP увібрав в себе велику кількість протоколів прикладного рівня. До них відносяться такі популярні протоколи, як протокол пересилки файлів FTP, протокол емуляції термінала telnet, поштовий протокол SMTP, що використовується в електронній пошті мережі Internet, гіпертекстові сервіси служби WWW і багато інших.

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

Стрімке зростання популярності Internet привело і до змін в розставлянні сил в світі комунікаційних протоколів протоколи TCP/IP, на яких побудований Internet, стали швидко тіснити безперечного лідера минулих років стік IPX/SPX компанії Novell. Сьогодні в світі загальна кількість комп'ютерів, на яких встановлений стек TCP/IP, порівнялося із загальною кількістю комп'ютерів, на яких працює стек IPX/SPX, і це говорить про різкий перелом відносно адміністраторів локальних мереж до протоколів, що використовуються на настільних комп'ютерах, оскільки саме вони складають переважне число світового комп'ютерного парку і саме на них раніше майже скрізь працювали протоколи компанії Novell, необхідні для доступу до файлових серверів NetWare. Процес становлення стека TCP/IP як стек номер один в будь-яких типах мереж продовжується, і зараз люба промислова операційна система обов'язково включає програмну реалізацію цього стека в своєму комплекті постачання.

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

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

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

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

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

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


Адресація у ІР-мережах

Міжмережна схема адресації, що застосовується у протоколі ІР, описана у документах RFC 990 i RFC 997. В її основі покладено принцип відокремлення адресації мереж від адресації пристроїв у цих мережах. Така схема полегшує маршрутизацію. При цьому адреси повинні призначатися упорядковано (послідовно), для того, щоб зробити маршрутизацію більш ефективною.

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

Отже для кожного пристрою у мережах ІР можна говорити про адреси трьох рівнів:

  • Фізична адреса пристрою (точніше - визначеного інтерфейсу). Для пристроїв у мережах Ethernet - це МАС-адреса мережної карти або порту маршрутизатора. Ці адреси призначаються виробниками обладнання. Фізична адреса має шість байтів: старші три байти - ідентифікатор фірми-виробника. Молодші три байти призначаються самим виробником;
  • ІР-адреса, що складається з чотирьох байтів. Ця адреса застосовується на мережному рівні еталонної моделі OSI;
  • Символьний ідентифікатор - ім'я. Цей ідентифікатор може призначатися адміністратором довільно.

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

Формат адреси
0 1 2 3 . . . . . . 30 31
Ключ Номер мережі Номер пристрою у мережі

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

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

1 419.gif
Мал.1 Три класи ІР-адрес.

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

Недоліком такого методу є необхідність зміни мережної адреси при підключенні додаткових пристроїв. Наприклад, якщо загальне число пристроїв у мережі класу С буде перевищувати 255, то вимагатиметься заміна її адреси на адресу класу В. Зміна мережних адрес потребує від адміністратора додаткових зусиль по налагодженню мережі. Крім того, введення класів адрес значно зменшує теоретично можливе число індивідуальних адрес. У поточній версії протоколу ІР (версія 4) загальне число адрес складає 4 294 967 296, так як протокол передбачає застосування 32 біт для задання адреси. Природньо, застосування частини бітів у службових цілях зменшує доступну кількість індивідуальних адрес.

Клас А призначений для великих мереж. Кожна адреса класу А має 8-бітовий префікс мережі, у якому старший біт встановлений у 1, а наступні 7 використовуються для номера мережі. Для номера пристрою задіюються 24 біти, що залишилися. На сьогоднішній день всі адреси класу А вже виділені. Мережі класу А також позначаються як "/8", поскільки адреси цього класу мають 8-бітовий префікс.

Максимальне число мереж класу А складає 126 (2 адреси віднімаються, що складаються з одних нулів і одиниць). Кожна мережа цього класу підтримує до 16 777 214 пристроїв. Так як адресний блок класу А може містити максимум 2 147 483 648 (2 в степіні 31) індивідуальних адрес, а в протоколі ІР версіі 4 може підтримуватися максимум до 4 294 967 296 (2 в степіні 32) адрес, то клас А займає 50% загального адресного простору протоколу ІР.

Клас В призначений для мереж середнього розміру. Кожна адреса класу В має 16-бітовий мережний префікс, у якому два старших біти дорівнюють 10, наступні 14 біт використовуються для номера мережі. Для номера пристрою надані 16 біт. Мережі класу В також позначаються як "/16", поскільки адреса цього класу має 16-бітний мережний префікс.

Максимальне число мереж класу В дорівнює 16 382 (2 в 14 степіні мінус 2). Кожна мережа цього класу підтримує до 65 534 (2 в 16 степіні мінус 2) пристроїв. Так як весь адресний блок класу В може містити максимум до 1 073 741 824 (2 в 30 степіні) індивідуальних адрес, він займає 25% загального простору протоколу ІР.

Адреса класу С використовується у мережах з невеликим числом пристроїв. Кожна мережа класу С має 24-бітний префікс, в якому три старших біти дорівнюють 110, а наступні 21 біт використовуються для номера мережі. Під номери пристроїв виділені 8 біт, що залишилися. Мережі класу С також позначаються як "/24", поскільки адреса цього класу має 24-бітний мережний префікс.

Максимальне число мереж класу С складає 2 097 152 (2 в 21 степіні). Кожна мережа цього класу підтримує до 254 (2 у восьмій мінус 2) пристроїв. Клас С займає 12,5% загального адресного простору протоколу ІР.

У доповнення до цих класів адрес надають ще два класи. У класі D старші чотири біти дорівнюють 1110. Цей клас використовується для групової передачі даних. У класі Е старші чотири біти дорівнюють 1111. Він зарезервований для проведення експериментів.

Для зручності читання адрес у технічній літературі, прикладних програмах і т.д. ІР-адреси зображаються у вигляді чотирьох десяткових чисел, розділених точками. Кожне з цих чисел відповідає одному октету (8 бітам) ІР-адреси. Цей формат називають точечно-десятковим (Decimal-Point Notation) або точечно-десятковою нотацією.

ІР-адреса у точечно-десятковому форматі.
0... ...31
10010001 00001010 00100010 00000011
145. 10. 34. 3.


Особливі ІР-адреси.

У протоколі ІР існує декілька домовленостей про особливу інтерпретацію ІР-адрес.

  • Якщо вся ІР-адреса складається тільки з двійкових нулів, то вона означає адресу того вузла, який згенерував цей пакет; цей режим використовується тільки у деяких повідомленнях ІСМР.
  • Якщо в полі адреси мережі стоять тільки нулі, по домовленості вважається, що вузол призначення належить тій самій мережі, що і вузол , який відправив пакет.
  • Якщо всі двійкові розряди ІР-адреси дорівнюють 1, то пакет з такою адресою призначення повинен розсилатися всім вузлам, які знаходяться у тій самій мережі, що і відправник цього пакета. Така розсилка називається обмеженим широкомовним повідомленням (limited broadcast).
  • Якщо в полі номера вузла призначення стоять тільки одиниці, то пакет, який має таку адресу, розсилається всім вузлам мережі із заданим номером мережі. Наприклад, пакет з адресою 192.190.21.255 доставляється всім вузлам мережі 192.190.21.0. Таке розсилання називається широкомовним повідомленням (broadcast).

Особливий зміст має ІР-адреса, перший октет якої дорівнює 127. Вона використовується для тестування програм і взаємодії процесів у межах однієї машини. Коли програма посилає дані за адресою 127.0.0.1, то утворюється як би "петля". Дані не передаються по мережі, а повертаються модулям верхнього рівня як тільки но прийняті. Тому в ІР-мережі забороняється привласнювати машинам ІР-адреси, які починаються із 127. Ця адреса має назву loopback.

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

Форма групової адреси - multicast - означає, що даний пакет повинен бути доставлений відразу декільком вузлам, які утворюють групу з номером, вказаним у полі адреси. Вузли самі ідентифікують себе, тобто визначають, до якої з груп вони відносяться. Один і той самий вузол може входити до декількох груп. Члени будь-якої групи multicast не обов'язково повинні належати одній мережі. Групова адреса не поділяється на поля номера мережі і вузла і обробляється маршрутизатором особливим чином.

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

Щоб маршрутизатори мали можливість автоматично розповсюджувати пакети з адресою multicast по складній мережі, необхідно використовувати у кінцевих маршрутизаторах модифіковані протоколи обміну маршрутною інформацією, такі як, наприклад, MOSPF (Multicast OSPF, аналог OSPF). Групова адресація призначена для економічного розповсюдження у Internet або у великій корпоративній мережі аудіо- чи відеопрограм, призначених одразу великій аудиторії слухачів або глядачів. Якщо такі засоби знайдуть широке застосування, то Internet зможе створити серйозну конкурецію радіо і телебаченню.


Використання масок у ІР-адресації.

Традиційна схема поділу ІР-адреси на номер мережі і номер вузла базується на понятті класу, який визначається значеннями кількох перших біт адреси. Саме тому, що перший байт адреси 185.23.44.206 попадає у діапазон 128-191, ми можемо сказати, що ця адреса відноситься до класу В, а значить, номером мережі є перші два байти, доповнені двома нульовими байтами - 185.23.0.0, а номером вузла - 0.0.44.206.

Для гнучкого встановлення межі між номером мережі і номером вузла використовують маску, Маска - це число, яке використовується у парі з ІР-адресою; двійковий запис маски містить одиниці у тих розрядах, які повинні у ІР-адресі інтерпретуватися як номер мережі. Поскільки номер мережі є цілою частиною адреси, одиниці у масці також повинні бути безперервною послідовністю. Для стандартних класів мереж маски мають такі значення:

  • клас А - 11111111.00000000.00000000.00000000 (255.0.0.0);
  • клас В - 11111111.11111111.00000000.00000000 (255.255.0.0);
  • клас С - 11111111.11111111.11111111.00000000 (255.255.255.0).

____________________________________________________________________________________________________

Примітка. Для запису масок використовують і інші формати, наприклад, зручно інтерпретувати значення маски, записаної у шістнадцятьковому коді: FF.FF.00.00 - маска для адрес класу В. Часто зустрічається і таке позначення 185.23.44.206/16 - цей запис означає, що маска адреси для цієї адреси містить 16 одиниць або що у вказаній адресі під номер адреси мережі відведено 16 двійкових розрядів.

____________________________________________________________________________________________________


Підмережі.

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

1 424.gif
Мал.1 Три класи ІР-адрес.