Протокол IPv4. SNMP протокол (основи) Що таке tcp ip для чайників

Протокол IPv4. SNMP протокол (основи) Що таке tcp ip для чайників

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

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

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

Поняття стека протоколів

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

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

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

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

  • Адреси різного типу мають бути узгоджені.Наприклад, перетворення домену сайту на IP-адресу сервера і назад, або перетворення імені вузла на адресу і назад. Таким чином стає можливий доступ до точки не тільки за допомогою IP-адреси, але і за інтуїтивною назвою.
  • Адреси мають бути унікальними.Це викликано тим, що в окремих випадках пакет повинен потрапити тільки в одну конкретну точку.
  • Необхідність конфігурування локальних обчислювальних мереж.

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

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

Рівні стеку протоколів TCP/IP

Тут є певна ієрархія. Стек протоколів TCP/IP передбачає чотири рівні, кожен із яких обробляє свій набір протоколів:

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

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

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

Цей рівень надає вищому (прикладному) два типи сервісу:

  • Здійснює гарантовану доставку за допомогою протоколу ТСР.
  • Здійснює доставку наскільки можна за протоколом UDP .

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

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

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

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

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

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

  • Кодування пакета в одиниці даних проміжної мережі.
  • Перетворення інформації про місце призначення на стандарти необхідної підмережі та відправлення одиниці даних.

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

Одиниці даних, що передаються

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

Щоб мати уявлення про те, що і в який час відбувається з даними, потрібно було придумати таку термінологію:

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

Типи адрес стеку протоколів TCP/IP

Будь-який протокол передачі даних TCP/IP для ідентифікації вузлів використовує один із наступних типів адрес:

  • Локальні (апаратні) адреси.
  • Мережеві адреси (IP-адреси).
  • Доменні імена.

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

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

У результаті було розроблено систему, коли він вузлам призначається IP адреса і маска підмережі. Маска підмережі показує, скільки біт відводиться під номер мережі, а скільки під номер вузла. IP адреса складається з 32 біт, розділених на блоки по 8 біт.

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

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

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

IP-адреса. Формат. складники. Маска підмережі

IP адреса - 32-бітове число, яке в традиційному поданні записується у вигляді чисел, від 1 до 255, розділених між собою крапками.

Вигляд IP-адреси в різних форматах запису:

  • Десятковий вид IP-адреси: 192.168.0.10.
  • Двійковий вигляд тієї ж IP адреси: 11000000.10101000.00000000.00001010.
  • Запис адреси у шістнадцятковій системі числення: C0.A8.00.0A.

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

  1. Фіксований кордон.У цьому способі вся адреса умовно ділиться на частини фіксованої довжини побайтно. Таким чином, якщо під номер мережі віддати один байт, тоді ми отримаємо 28 мереж по 224 вузлів. Якщо кордон зрушити ще на байт праворуч, тоді мереж стане більше – 2 16 , а вузлів стане менше – 2 16 . На сьогоднішній день підхід вважається застарілим та не використовується.
  2. Маска підмережі.Маска йде в парі з IP-адресою. Маска має послідовність значень "1" у тих розрядах, які відведені під номер мережі, та певну кількість нулів у тих місцях IP адреси, які відведені на номер вузла. Кордон між одиницями та нулями в масці – це межа між ідентифікатором мережі та ID вузла в IP-адресі.
  3. Метод класів адрес.Компромісний метод. При його використанні розміри мереж не можуть бути обрані користувачем, однак є п'ять класів – А, В, С, D, Е. Три класи – А, В та С – призначені для різних мереж, а D та Е – зарезервовані для мереж спеціального призначення . У класовій системі кожен клас має межу номера мережі та ID вузла.

Класи IP адрес

До класу Авідносяться мережі, в яких мережа ідентифікується за першим байтом, а три решти є номером вузла. Всі IP адреси, які мають у своєму діапазоні значення першого байта від 1 до 126 – це мережі класу А. Кількісно мереж класу А виходить зовсім мало, зате в кожній з них може бути до 224 точок.

Клас В- мережі, в яких два вищі біти дорівнюють 10. У них під номер мережі та ідентифікатор точки відводиться по 16 біт. У результаті виходить, що кількість мереж класу У більшу сторону відрізняється від кількості мереж класу А кількісно, ​​але вони мають меншу кількість вузлів - до 65 536 (2 16) шт.

У мережах класу С- зовсім мало вузлів - 2 8 в кожній, але кількість мереж величезна, завдяки тому, що ідентифікатор мережі в таких структурах займає три байти.

Мережі класу D- вже належать до спеціальних мереж. Він починається з послідовності 1110 і називається груповим адресою (Multicast adress). Інтерфейси, що мають адреси класу А, В і С, можуть входити в групу і отримувати ще й індивідуальну групову адресу.

Адреси класу Е- у резерві на майбутнє. Такі адреси починаються з послідовності 11110. Швидше за все, ці адреси будуть застосовуватися як групові, коли настане брак IP адрес у глобальній мережі.

Налаштування протоколу TCP/IP

Налаштування протоколу TCP/IP доступне на всіх операційних системах. Це - Linux, CentOS, Mac OS X, Free BSD, Windows 7. Протокол TCP/IP потребує лише наявності мережного адаптера. Зрозуміло, серверні операційні системи здатні більше. Дуже широко за допомогою серверних служб налаштовується протокол TCP/IP. IP адреси у звичайних настільних комп'ютерах задаються в налаштуваннях мережних підключень. Там налаштовується мережна адреса, шлюз - IP адреса точки, що має вихід у глобальну мережу, та адреси точок, на яких розташовується DNS сервер.

Протокол Інтернету TCP/IP може налаштовуватися вручну. Хоча не завжди в цьому є потреба. Можна отримувати параметри протоколу TCP/IP з адреси сервера, що динамічно роздає, в автоматичному режимі. Такий спосіб використовують у великих корпоративних мережах. На DHCP сервер можна зіставити локальну адресу до мережного, і як тільки в мережі з'явиться машина із заданою IP-адресою, сервер відразу дасть йому заздалегідь підготовлену IP-адресу. Цей процес називається резервування.

TCP/IP Протокол дозволу адрес

Єдиний спосіб встановити зв'язок між MAC-адресою та IP адресою – ведення таблиці. За наявності таблиці маршрутизації кожен мережевий інтерфейс обізнаний про свої адреси (локальну та мережну), проте постає питання, як правильно організувати обмін пакетами між вузлами, застосовуючи протокол TCP/IP 4.

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

ARP таблиця

Такий приклад складеної ARP таблиці.

Після дев'яти місяців розробки доступний мультимедіа-пакет FFmpeg 4.2, що включає набір додатків та колекцію бібліотек для операцій над різними мультимедіа-форматами (запис, перетворення та […]

Linux Mint 19.2 є випуском із довгостроковою підтримкою, який підтримуватиметься до 2023 року. Він поставляється з оновленим програмним забезпеченням та містить доопрацювання та безліч нових […]

  • Вийшов дистрибутив Linux Mint 19.2

    Представлено реліз дистрибутива Linux Mint 19.2, другого оновлення гілки Linux Mint 19.x, що формується на пакетній базі Ubuntu 18.04 LTS і підтримується до 2023 року. Дистрибутив повністю сумісний […]

  • Доступні нові сервісні релізи BIND, які містять виправлення помилок та покращення функцій. Нові випуски можуть бути завантажені зі сторінки завантажень на сайті розробника: […]

    Exim – агент передачі повідомлень (MTA), розроблений у Кембриджському університеті для використання в системах Unix, підключених до Інтернету. Він знаходиться у вільному доступі відповідно до […]

    Після двох років розробки представлений реліз ZFS on Linux 0.8.0, реалізації файлової системи ZFS, оформленої як модуля для ядра Linux. Робота модуля перевірена з ядрами Linux з 2.6.32 […]

  • У WordPress 5.1.1 усунуто вразливість, що дозволяє отримати контроль над сайтом
  • Комітет IETF (Internet Engineering Task Force), що займається розвитком протоколів та архітектури інтернету, завершив формування RFC для протоколу ACME (Automatic Certificate Management Environment) […]

    Некомерційний посвідчувальний центр Let's Encrypt, який контролює співтовариство і надає сертифікати безоплатно всім охочим, підбив підсумки минулого року і розповів про плани на 2019 рік. […]

  • Вийшла нова версія Libreoffice - Libreoffice 6.2

    The Document Foundation оголосив про випуск LibreOffice 6.2. Зміни та доповнення у новому випуску: Libreoffice Writer Перероблено можливість приховування змін: змінити ▸ трек змін ▸ показати […]

  • IP-адреси (Internet Protocol version 4, Інтернет протокол версії 4) – є основний тип адрес, використовуваний на мережному рівні моделі OSI , реалізації передачі пакетів між мережами. IP-адреси складаються із чотирьох байт, наприклад 192.168.100.111.

    Присвоєння IP-адрес хостам здійснюється:

    • вручну, настроюється системним адміністратором під час налаштування обчислювальної мережі;
    • автоматично, з використанням спеціальних протоколів (зокрема, за допомогою протоколу DHCP - Dynamic Host Configuration Protocol, протокол динамічного налаштування хостів).

    Протокол IPv4розроблено у вересні 1981 року.

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

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

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

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

    Як відомо, на мережевому рівні моделі OSI працюють маршрутизатори. Тому, одним із найголовніших завдань протоколу IP – це здійснення маршрутизації дейтаграм, іншими словами, визначення оптимального шляху проходження дейтаграм (за допомогою алгоритмів маршрутизації) від вузла-відправника мережі до будь-якого іншого вузла мережі на підставі IP адреси.

    На якомусь вузлі мережі приймаючого дейтаграму з мережі виглядає так:

    Формат заголовка IP

    Структура IP пакетів версії 4 представлена ​​малюнку

    • Версія - для IPv4 значення поля має дорівнювати 4.
    • IHL - (Internet Header Length) довжина заголовка IP-пакета у 32-бітових словах (dword). Саме це поле вказує на початок блоку даних у пакеті. Мінімальне коректне значення для цього поля дорівнює 5.
    • Тип обслуговування (Type of Service, акронім TOS) - байт, що містить набір критеріїв, що визначають тип обслуговування IP-пакетів, представлений малюнку.

    Опис байта обслуговування бітно:

      • 0-2 - пріоритет (precedence) даного IP-сегменту
      • 3 - вимога на час затримки (delay) передачі IP-сегмента (0 - нормальна, 1 - низька затримка)
      • 4 - вимога до пропускної спроможності (throughput) маршруту, яким повинен відправлятися IP-сегмент (0 - низька, 1 - висока пропускна спроможність)
      • 5 – вимога до надійності (reliability) передачі IP-сегменту (0 – нормальна, 1 – висока надійність)
      • 6-7 – ECN – явне повідомлення про затримку (управління IP-потоком).
    • Довжина пакета - довжина пакета в октетах, включаючи заголовок та дані. Мінімальне коректне значення для цього поля рівне 20, максимальне 65535.
    • Ідентифікатор - значення, яке призначається відправником пакета і призначене для визначення коректної послідовності фрагментів при складанні пакета. Для фрагментованого пакета усі фрагменти мають однаковий ідентифікатор.
    • 3 біт прапори. Перший біт повинен бути завжди нульовим, другий біт DF (don't fragment) визначає можливість фрагментації пакета і третій біт MF (more fragments) показує, чи не є цей пакет останнім у ланцюжку пакетів.
    • Усунення фрагмента - значення, що визначає позицію фрагмента в потоці даних. Зміщення визначається кількістю восьми байтових блоків, тому це значення вимагає множення на 8 для переведення в байти.
    • Час життя (TTL) - кількість маршрутизаторів, які мають пройти цей пакет. При проходженні маршрутизатора це число зменшиться на одиницю. Якщо значення цього поля дорівнює нулю, то пакет повинен бути відкинутий і відправнику пакета може бути надіслане повідомлення Time Exceeded (ICMP код 11 тип 0).
    • Протокол - ідентифікатор інтернет-протоколу наступного рівня вказує, дані якого протоколу містить пакет, наприклад TCP або ICMP.
    • Контрольна сума заголовка - обчислюється відповідно до RFC 1071

    Перехоплений IPv4 пакет за допомогою сніфера Wireshark:

    Фрагментація IP пакетів

    На шляху пакета від відправника до одержувача можуть зустрічатися локальні та глобальні мережі різних типів із різними допустимими розмірами полів даних кадрів канального рівня (Maximum Transfer Unit – MTU). Так, мережі Ethernet можуть передавати кадри, що несуть до 1500 байт даних, для мереж X.25 характерний розмір поля даних кадру 128 байт, мережі FDDI можуть передавати кадри розміром 4500 байт, в інших мережах діють свої обмеження. Протокол IP вміє передавати дейтаграми, довжина яких більше MTU проміжної мережі, з допомогою фрагментування – розбиття “великого пакета” на кілька частин (фрагментів), розмір кожної у тому числі задовольняє проміжну мережу. Після того, як усі фрагменти будуть передані через проміжну мережу, вони будуть зібрані на вузлі-одержувачі модулем протоколу IP у “великий пакет”. Зазначимо, що збирання пакета із фрагментів здійснює лише одержувач, а не якийсь із проміжних маршрутизаторів. Маршрутизатори можуть лише фрагментувати пакети, але не збирати їх. Це пов'язано з тим, що різні фрагменти одного пакета не обов'язково проходитимуть через одні й самі маршрутизатори.

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

    Другий біт поля Прапори (More fragments), якщо дорівнює одиниці, свідчить про те, що це фрагмент – не останній у пакеті. Якщо пакет відправляється без фрагментації, прапорець “More fragments” встановлюється в 0, а поле Зміщення фрагмента – заповнюється нульовими бітами.

    Якщо перший біт поля Прапори (Don't fragment) дорівнює одиниці, фрагментація пакета заборонена. Якщо цей пакет має бути переданий через мережу з недостатнім MTU, маршрутизатор змушений буде його відкинути (і повідомити про це відправнику за допомогою протоколу ICMP). Цей прапор використовується у випадках, коли відправнику відомо, що одержувач не має достатньо ресурсів для відновлення пакетів з фрагментів.

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

    На малюнку показано структуру IP-адреси різних класів.

    Якщо адреса починається з 0, то мережа відносять до класу А і номер мережі займає один байт, інші 3 байти інтерпретуються як номер вузла в мережі. Мережі класу А мають номери в діапазоні від 1 до 126. (Номер 0 не використовується, а номер 127 зарезервований для спеціальних цілей, про що буде сказано нижче.) Мереж класу А небагато, зате кількість вузлів у них може досягати 2 24 , тобто 16777216 вузлів.

    Якщо перші два біти адреси дорівнюють 10, то мережа відноситься до класу В. У мережах класу В під номер мережі та під номер вузла відводиться по 16 біт, тобто по 2 байти. Таким чином, мережа класу є мережею середніх розмірів з максимальним числом вузлів 2 16 , що становить 65 536 вузлів.

    Якщо адреса починається з послідовності 110, це мережа класу З. У цьому разі під номер мережі відводиться 24 біта, а під номер вузла - 8 біт. Мережі цього найпоширеніші, число вузлів у яких обмежено 2 8 , тобто 256 вузлами.

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

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

    У таблиці наведено діапазони номерів мереж та максимальну кількість вузлів, що відповідають кожному класу мереж.

    Великі мережі отримують адреси класу А, середні - класу, а маленькі - класу З.

    Використання масок в IP адресації

    Для того, щоб отримати ту чи іншу діапазон IP-адрес підприємствам пропонувалося заповнити реєстраційну форму, в якій перераховувалося поточне число ЕОМ і заплановане збільшення кількості обчислювальних машин і в результаті підприємству видавався клас IP - адрес: A, B, C, залежно від зазначених даних у реєстраційній формі.

    Даний механізм видачі діапазонів IP-адрес працював штатно, це було пов'язано з тим, що спочатку в організаціях була невелика кількість ЕОМ і, відповідно, невеликі обчислювальні мережі. Але у зв'язку з подальшим бурхливим зростанням інтернету та мережевих технологій описаний підхід до розподілу IP-адрес став видавати збої, в основному пов'язані з мережами класу «B». Справді, організаціям, у яких кількість комп'ютерів вбирається у кількох сотень (скажімо, 500), доводилося реєструвати собі цілу мережу класу «В» (оскільки клас «З» лише 254 комп'ютерів, а клас «В» - 65534). Через що доступних мереж класу «В» стало просто на просто, не вистачати, але при цьому великі діапазони IP-адрес пропадали даремно.

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

    А що якщо використовувати якусь іншу ознаку, за допомогою якої можна було б гнучкіше встановлювати межу між номером мережі та номером вузла? Як така ознака зараз набули широкого поширення маски.

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

    Для стандартних класів мереж маски мають такі значення:

    • клас А - 11111111. 00000000. 00000000. 00000000 (255.0.0.0);
    • клас В – 11111111. 11111111. 00000000. 00000000 (255.255.0.0);
    • клас С – 11111111. 11111111.11111111. 00000000 (255.255.255.0).

    Забезпечуючи кожну IP-адресу маскою, можна відмовитися від понять класів адрес і зробити гнучкішою систему адресації. Наприклад, якщо розглянута вище адреса 185.23.44.206 асоціюватиметься з маскою 255.255.255.0, то номером мережі буде 185.23.44.0, а не 185.23.0.0, як це визначено системою класів.

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

    У масках кількість одиниць у послідовності, що визначає межу номера мережі, не обов'язково має бути кратним 8, щоб повторювати розподіл адреси на байти. Нехай, наприклад, для IP-адреси 129.64.134.5 вказано маску 255.255.128.0, тобто у двійковому вигляді:

    • IP-адреса 129.64.134.5 - 10000001. 01000000.10000110. 00000101
    • Маска 255.255.128.0 - 11111111.11111111.10000000. 00000000

    Якщо ігнорувати маску, то відповідно до системи класів адреса 129.64.134.5 відноситься до класу В, а значить номером мережі є перші 2 байти - 129.64.0.0, а номером вузла - 0.0.134.5.

    Якщо ж використовувати для визначення межі номера мережі маску, то 17 послідовних одиниць маски, «накладені» (логічне множення) на IP-адресу, визначають як номер мережі в двійковому вираженні число:

    або у десятковій формі запису – номер мережі 129.64.128.0, а номер вузла 0.0.6.5.

    Існує також короткий варіант запису маски префіксомабо короткою маскою. Зокрема мережу 80.255.147.32 з маскою 255.255.255.252, можна записати у вигляді 80.255.147.32/30, де «/30» свідчить про кількість двійкових одиниць у масці, тобто тридцять бінарних одиниць (відлік ведеться зліва.

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

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

    Особливі IP адреси

    У протоколі IP існує кілька угод про особливу інтерпретацію IP-адрес:

    • 0.0.0.0 - представляє адресу шлюзу за промовчанням, тобто. адресу комп'ютера, якому слід надсилати інформаційні пакети, якщо вони не знайшли адресата в локальній мережі (таблиці маршрутизації);
    • 255.255.255.255 – широкомовна адреса. Повідомлення, надіслані за цією адресою, отримують всі вузли локальної мережі, що містить комп'ютер-джерело повідомлення (в інші локальні мережі воно не передається);
    • "Номер мережі". "Всі нулі" - адреса мережі (наприклад 192.168.10.0);
    • "Всі нулі". "Номер вузла" - вузол у цій мережі (наприклад 0.0.0.23). Може використовуватися передачі повідомлень конкретному вузлу всередині локальної мережі;
    • Якщо в полі номера вузла призначення стоять лише одиниці, то пакет, що має таку адресу, надсилається всім вузлам мережі із заданим номером мережі. Наприклад, пакет із адресою 192.190.21.255 доставляється всім вузлам мережі 192.190.21.0. Таке розсилання називається широкомовним повідомленням (broadcast). При адресації необхідно враховувати обмеження, які вносяться особливим призначенням деяких IP-адрес. Так, ні номер мережі, ні номер вузла не може складатися лише з одних двійкових одиниць або лише з одних двійкових нулів. Звідси випливає, що максимальна кількість вузлів, наведена в таблиці для мереж кожного класу, на практиці має бути зменшена на 2. Наприклад, у мережах класу С під номер вузла відводиться 8 біт, які дозволяють задавати 256 номерів: від 0 до 255. Однак на практиці максимальна кількість вузлів у мережі класу С не може перевищувати 254, оскільки адреси 0 та 255 мають спеціальне призначення. З цих міркувань випливає, що кінцевий вузол не може мати адресу типу 98255255255, оскільки номер вузла в цій адресі класу А складається з одних двійкових одиниць.
    • Особливе значення має IP-адреса, перший октет якої дорівнює 127.х.х.х. Він використовується для тестування програм та взаємодії процесів у межах однієї машини. Коли програма посилає дані IP-адресою 127.0.0.1, то утворюється як би «петля». Дані не передаються по мережі, а повертаються модулям верхнього рівня щойно прийняті. Тому в IP-мережі забороняється надавати машинам IP-адреси, що починаються зі 127. Ця адреса має назвуloopback. Можна віднести адресу 127.0.0.0 до внутрішньої мережі модуля маршрутизації вузла, а адресу 127.0.0.1 - адресу цього модуля на внутрішній мережі. Насправді, будь-яка адреса мережі 127.0.0.0 служить для позначення свого модуля маршрутизації, а не тільки 127.0.0.1, наприклад 127.0.0.3.

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

    IP-адреси, що використовуються в локальних мережах

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

    Для локальних мереж, що не підключені до Інтернету, реєстрація IP-адрес, природно, не потрібна, оскільки, в принципі, тут можна використовувати будь-які можливі адреси. Однак, щоб не допускати можливості конфліктів при подальшому підключенні такої мережі до інтернету, рекомендується застосовувати в локальних мережах тільки такі діапазони так званих приватних IP-адрес (в інтернеті ці адреси не існують і використовувати їх там немає можливості), наведених у таблиці.

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

    У статті розберемо принципи роботи стека протоколів TCP/IP і спробуємо зрозуміти принципи їх роботи.

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

    У модель такої мережі крім основних протоколів TCP (транспортний рівень) та IP (протокол мережного рівня)входять протоколи прикладного та мережевого рівнів (дивися фото). Але повернемося безпосередньо до протоколів TCP та IP.

    Що таке протоколи TCP/IP

    TCP — Transfer Control Protocol. Протокол керування передачею. Він служить для забезпечення та встановлення надійного з'єднання між двома пристроями та надійної передачі даних. При цьому протокол TCP контролює оптимальний розмір пакета даних, що передається, здійснюючи нову посилку при збої передачі.

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

    Формати протоколів TCP/IP

    Формат IP протоколу

    Існують два формати для IP адрес IP протоколу.

    Формат IPv4. Це 32-бітове двійкове число. Зручна форма запису IP-адреси (IPv4) – це запис у вигляді чотирьох груп десяткових чисел (від 0 до 255), розділених точками. Наприклад: 193.178.0.1.

    Формат IPv6. Це 128-бітове двійкове число. Як правило, адреси формату IPv6 записуються у вигляді восьми груп. У кожній групі по чотири шістнадцяткові цифри розділені двокрапкою. Приклад адреси IPv6 2001:0db8:85a3:08d3:1319:8a2e:0370:7889.

    Як працюють протоколи TCP/IP

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

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

    Протокол IP

    Кожен комп'ютер у мережі має свою унікальну адресу. У глобальній мережі Інтернет комп'ютер має цю адресу, яка називається IP-адреса (Internet Protocol Address).

    За аналогією з поштою, IP-адреса це номер будинку. Але номерів будинку для отримання листа недостатньо.

    Інформація, що передається по мережі, передається не комп'ютером, як таким, а програмами, встановленими на нього. Такими програмами є сервер пошти, веб-сервер, FTP тощо. Для ідентифікації пакета інформації, що передається, кожен додаток прикріплюється до певного порту. Наприклад: веб-сервер слухає порт 80, FTP слухає порт 21, поштовий SMTP сервер слухає порт 25, сервер POP3 читає поштову скриньку на порті 110.

    Таким чином, в адресному пакеті протоколу TCP/IP, в адресатах з'являється ще один рядок: порт. Аналог з поштою – порт це номер квартири відправника та адресата.

    Приклад:

    Source address (Адреса відправника):

    IP: 82.146.47.66

    Destination address (Адресодержувача):

    IP: 195.34.31.236

    Варто запам'ятати: IP-адреса + номер порту - називається «сокет». У прикладі вище: із сокету 82.146.47.66:2049 пакет вирушає на сокет 195.34.31.236: 53.

    Протокол TCP

    Протокол TCP це протокол наступного після протоколу IP рівня. Призначений цей протокол контролю передачі інформації та її цілісності.

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

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

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

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

    Протокол TCP-IP, опис якого неможливо позначити лише визначеннями IP і TCP, включає також протоколи UDP, SMTP, ICMP, FTP, telnet, і не тільки. Ці та інші протоколи TCP-IP забезпечують найбільш повноцінну роботу Інтернету.

    Нижче наведемо розгорнуту характеристику кожному протоколу, що входить у загальне поняття TCP-IP.

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

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

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

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

    1. FTP(File Transfer Protocol) організує перенесення файлів і використовується для передачі інформації між двома вузлами Internet з використанням TCP-з'єднань у вигляді бінарного або простого текстового файлу, як іменованої області в пам'яті комп'ютера. При цьому немає ніякого значення, де дані вузли розташовані і як з'єднуються між собою.

    2. Протокол користувацьких дейтаграм, або User Datagram Protocol, не залежить від підключень, він передає дані пакетами, які називають UDP-дейтаграмами. Однак цей протокол не такий надійний, як TCP, тому що отруйник не отримує даних про те, чи був прийнятий пакет насправді.

    3. ICMP(Internet Control Message Protocol) існує для того, щоб надсилати повідомлення про помилки, що виникають у процесі обміну даними в мережі Internet. Однак при цьому ICMP-протокол тільки повідомляє про помилки, але не усуває причини, які призвели до виникнення цих помилок.

    4. Telnet- який використовується для реалізації текстового інтерфейсу мережі за допомогою транспорту TCP.

    5. SMTP(Simple Mail Transfer Protocol) - це спеціальний електронними повідомленнями, що визначає формат повідомлень, що пересилаються з одного комп'ютера, що називається SMTP-клієнтом, на інший комп'ютер, на якому запущено SMTP-сервер. При цьому дана пересилка може бути відкладена на деякий час, доки не активується робота як клієнта, так і сервера.

    Схема передачі за протоколом TCP-IP

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

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

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

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

    Тим самим протокол TCP-IP знімає необхідність використання повторних передач та очікувань для прикладних процесів (таких як Telnet і FTP).

    переглядів