Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7. Мережі та обмін даними.docx
Скачиваний:
111
Добавлен:
17.07.2024
Размер:
285.92 Кб
Скачать

7.2 Поняття протоколу та інтерфейсу, ієрархія протоколів, потік інформації в мережі. Еталонні моделі iso/osi та tcp/ip

Комунікаційний протокол — набір семантичних і синтаксичних правил, що визначають поведінку функціональних блоків під час передачі даних.

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

Комунікаційні системи. Різні протоколи відрізняються своїми характеристиками: одні — більшою надійністю, другі — швидкістю передачі даних, треті — простотою.

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

Протоколи не обов'язково прив'язані до конкретної апаратної платформи і виробника (наприклад, USB, Bluetooth).

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

Стандарти з більшості протоколів розробляються IETF для інтернет комунікацій, та IEEE, або ISO організаціями для інших типів комунікації. ITU-T розробляє телекомунікаційні протоколи та формати для PSTN.

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

Мережевий протоко́л — набір правил, що дозволяє здійснювати з'єднання і обмін даними між двома і більше включеними в мережі пристроями.

Мережеві протоколи використовують мережеву модель OSI. Яка реалізується групою протоколів і правил зв'язку, організованих в кілька рівнів:

  1. На фізичному рівні визначаються фізичні (механічні, електричні, оптичні) характеристики ліній зв'язку;

  2. На канальному рівні визначаються правила використання фізичного рівня вузлами мережі;

  3. Мережевий рівень відповідає за адресацію і доставку повідомлень;

  4. Транспортний рівень контролює черговість проходження компонентів повідомлення;

  5. Завдання сеансового рівня — координація зв'язку між двома прикладними програмами, що працюють на різних робочих станціях;

  6. Рівень представлення служить для перетворення даних із внутрішнього формату комп'ютера у формат передачі;

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

Інтерфейс (англ. interface):

  • Сукупність засобів і правил, що забезпечують взаємодію комп'ютерів, периферійних пристроїв, пристроїв вводу/виводу та/або комп'ютерних програм.

  • Сукупність описів і узгоджень щодо процедури передачі керування в підпрограму та повернення до вихідної програми.

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

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

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

  • Спосіб взаємодії фізичних пристроїв (з'єднання кабелів, мікросхем)

  • Спосіб взаємодії віртуальних пристроїв (елементи власне інтерфейсу програми: кнопки, меню, випадні списки)

  • Спосіб взаємодії людина-машина (окремі периферійні пристрої, наприклад миша, клавіатура чи провідна рукавичка)

Можна виділити 4 шини інтерфейсу:

  • інтерфейс основний (оперативної пам'яті та процесора);

  • інтерфейс «процесор-канал»;

  • інтерфейс «введення-виведення» (інтерфейс периферійних пристроїв, що забезпечує приєднання додаткових пристроїв);

  • інтерфейс периферійних апаратів (малий інтерфейс, наприклад, клавіші клавіатури).

Найбільш швидкодіючими є інтерфейс «процесор-канал». З нього інформація передається словами і словами подвійної довжини (4-8 байт).

У комп'ютинґу, мережевий інтерфейс — це системний (програмний та/або апаратний) інтерфейс між двома частинами устаткування або шарами протоколів у комп'ютерній мережі.

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

Приклади:

  • Порт (апаратне забезпечення) — інтерфейс з іншими комп'ютерами та периферійними пристроями

  • Мережева карта — пристрій, який комп'ютер використовує для підключення до комп'ютерної мережі

  • Мережевого інтерфейсу пристрої — точка демаркації для телефонної мережі

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

  • Порт (комп'ютерні мережі) — протокольний інтерфейс до мережі

Абревіатури:

  • PSTN – Public Switched Telephone Network - публічна комутована телефонна мережа;

  • DLL – Digital Leased Lines -цифрові виділені лінії;

  • MAC – Media Access Control – управління доступом до середовищ;

  • FR – Frame Relay – мережа ретрансляції рамок:

  • ATM – Asynchronous Transfer Mode – мережа з асинхронним режимом пересилання;

  • SNA- System Network Architecture – системна мережева архітектура (IBM);

  • X.25 – мережа з комутацією пакетів;

  • IP- мережа з протоколом IP;

  • SMDS- Switched Multimegabit Data Service – мережа з комутованими багатомегабітними послугами даних.

Протоколи мережі Internet. Internet – це система взаємопов’язаних мереж, до її складу входять комп’ютери різних типів. Для зв’язку між ними використовуються різні канали зв’язку. Самим розповсюдженим є телефонна лінія (двожильний дріт). Поряд з ним використовується супутниковий зв’язок, радіоефір, оптико-волоконний кабель, телевізійний кабель. Взаємодія всіх об’єктів мережі забезпечуються використанням спільного мережевого протоколу — своєрідної мови спілкування комп’ютерів між собою. Протокол є стандартом, який задає порядок обміну повідомленнями на рівні електричних сигналів. Загальноприйнятим протоколом в мережі Internet є TCP/IP (Transmission Control Protocol/Internet Protocol). Свою назву протокол ТСР/IP дістав від двох комунікаційних протоколів (або протоколів зв’язку). Це Transmission Control Protocol (TCP) і Internet Protocol(IP). Незважаючи на те, що в мережі Internet використовується велика кількість інших протоколів, мережу Internet часто називають ТСР/IP-мережею, так що ці два протоколи, безумовно є найважливішими.

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

Взагалі, термін ТРС/IP зазвичай означає усе, що пов’язано з протоколами взаємодії між комп’ютерами в Internet. Він охоплює ціле сімейство протоколів, прикладні програми, і навіть саму мережу. TCP/IP – це технологія мережевої взаємодії, технологія Internet.

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

Для кожного типу ліній зв’язку розроблений відповідний протокол логічного рівня, що займається управлінням передачею інформації з каналу зв’язку. До протоколів логічного рівня для телефонних ліній відносяться протоколи SLIP (Serial Line Interface Protocol) і PPP (Point to Point Protocol). Для кабельного зв’язку локальної мережі – це пакетні драйвери плат локальної мережі.

Протоколи мережного рівня відповідають за передачу даних між пристроями в різних мережах, тобто займаються маршрутизацією пакетів у мережі. До протоколів мережного рівня належить IP (Internet Protocol) і ARP(Address Resolution Protocol). Протоколи транспортного рівня керують передачею даних з однієї програми в іншу. До протоколів транспортного рівня належать TCP (Transmission Control Protocol) і UDP (User Datagram Protocol). Протоколи рівня сеансів зв’язку відповідають за установку, підтримку і знищення відповідних каналів. У Internet цим займаються вже згадані ТСР і UDR протоколи, а також протокол UUCP (Unix to Unix Copy Protocol). Протоколи представницького рівня займаються обслуговуванням прикладних програм. До програм представницького рівня належать програми, що запускаються, приміром, на Unix-сервері, для надання різних послуг абонентам. До таких програм відносяться: Telnet-сервер, FTP-сервер, Gopher-сервер, NFS-сервер.

Це список мережевих протоколів, каталогізованих за найближчим за OSI-моделлю шарами.

Рівень 1-ий (фізичний)

  • ISDN Цифрова мережа Integrated Services (Integrated Services Digital Network)

  • PDH Plesiochronous цифрова ієрархія (Plesiochronous Digital Hierarchy)

  • T-система (T1, T3 та інші)

  • RS-232, послідовний лінійний інтерфейс, який оригінально був розроблений для сполучення модемів та комп'ютерних терміналів.

  • SDH Синхронна цифрова ієрархія (Synchronous Digital Hierarchy)

  • SONET Синхронна оптична мережа (Synchronous Optical NETworking)

Рівень 2-ий (канальний)

  • ARP Address Resolution Protocol

  • CDP Cisco Discovery Protocol

  • DCAP Data Link Switching Client Access Protocol

  • Ethernet

  • FDDI Fiber Distributed Data Interface

  • HDLC High Level Data Link Control

  • L2F Layer 2 Forwarding Protocol

  • L2TP Layer 2 Tunneling Protocol

  • PPP Протокол Точка-точка (Point-to-Point Protocol)

  • PPTP Тунельний протокол Точка-точка (Point-to-Point Tunneling Protocol)

  • Token ring

Рівень 2+3 (канальний+мережевий)

  • X.25

  • Frame relay, спрощена версія X.25

  • ATM Режим асинхронного передавання даних

  • MPLS Multi-protocol label switching

  • Сигнальна система 7, також називається SS7, C7 та CCIS7; звичайний протокол керування PSTN.

Рівень 3+4

  • Xerox network services (XNS)

Рівень 4-ий (транспортний)

  • SPX Послідовність обміну пакетами (Sequenced Packet Exchange)

  • TCP Протокол Керування Передачею

  • UDP Протокол датаграм користувача

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

  • RTP Транспортний протокол в реальному часі (Real-time Transport) Protocol

  • IL Спочатку розроблявся як транспортний протокол для 9P

Рівень 5+

  • 9P Розподільний протокол файлової системи, який був розроблений як частина операційної системи Plan 9

  • NFS Мережева файлова система (Network File System)

  • SMB Server Message Block (aka CIFS Common Internet FileSystem)

Рівень 7-ий (прикладний)

  • FTP Протокол передачі файлів

  • HTTP Протокол передачі гіпертекстових документів, який використовується в Інтернеті.

  • POP3 Поштовий протокол для офісу версії 3

  • SNMP Простий протокол управління мережею

  • SMTP Простий протокол передачі пошти

  • Telnet, протокол доступу до віддаленого терміналу

  • Gnutella, a peer-to-peer file-swapping protocol

  • DNS Служба доменних імен

  • SSH Захищена оболонка (Secure SHell)

  • IMAP Інтернет-протокол доступу до повідомлень

  • NTP Мережевий протокол часу

  • Gopher, a precursor of web search engines

  • Finger, який надає інформацію про користувача

  • NNTP Мережевий протокол новин

  • LDAP Lightweight Directory Access Protocol

  • DHCP Dynamic Host Configuration Protocol

  • IRC Internet Relay Chat

  • Jabber, протокол миттєвих повідомлень

  • WebDAV Web Distributed Authoring and Versioning

  • DICT Словниковий протокол

  • BACnet Building Automation and Control Network protocol

та захищені версії вищезазначеного (такі як HTTPS та інші).

Інші протоколи:

  • modbus

  • CAN (CAN)

  • DCC (DCC)

  • I2C

  • STUN

  • SOCKS

  • FIX-протокол

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

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

Модель OSI (ЕМВВС) (базова еталонна модель взаємодії відкритих систем, англ. Open Systems Interconnection Basic Reference Model, 1978 р.) — абстрактна мережева модель для комунікацій і розроблення мережевих протоколів. Представляє рівневий підхід до мережі. Кожен рівень обслуговує свою частину процесу взаємодії. Завдяки такій структурі спільна робота мережевого обладнання й програмного забезпечення стає набагато простішою, прозорішою й зрозумілішою.

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

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

Модель складається з 7-ми рівнів, розташованих вертикально один над іншим. Кожен рівень може взаємодіяти тільки зі своїми сусідами й виконувати відведені тільки йому функції.

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

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

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

Транспортний рівень (Transport layer). Транспортний рівень (Transport layer) — 4-й рівень моделі OSI, призначений для доставлення даних без помилок, втрат і дублювання в тій послідовності, у якій вони були передані. При цьому немає значення, які дані передаються, звідки й куди, тобто він визначає сам механізм передачі. Блоки даних він розділяє на фрагменти, розмір яких залежить від протоколу, короткі об'єднує в один, довгі розбиває. Протоколи цього рівня призначені для взаємодії типу точка-точка.

Мережевий рівень (Network layer). 3-й рівень мережної моделі OSI, призначений для визначення шляху передавання даних. Відповідає за трансляцію логічних адрес й імен у фізичні, визначення найкоротших маршрутів, комутацію й маршрутизацію пакетів, відстеження неполадок і заторів у мережі. На цьому рівні працює такий мережний пристрій, як маршрутизатор.

Канальний рівень (Data Link layer). Цей рівень призначений для забезпечення взаємодії мереж на фізичному рівні й контролю за помилками, які можуть виникнути. Отримані з фізичного рівня дані він упаковує в кадри даних, перевіряє на цілісність, якщо потрібно — виправляє помилки й відправляє на мережний рівень. Канальний рівень може взаємодіяти з одним або декількома фізичними рівнями, контролюючи цю взаємодією й керуючи нею. Специфікація IEEE 802 поділяє цей рівень на 2 підрівня — MAC (Media Access Control) регулює доступ до поділюваного фізичного середовища, LLC (Logical Link Control) забезпечує обслуговування мережного рівня. На цьому рівні працюють комутатори, мости й мережеві адаптери.

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

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

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

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

Цей рівень приймає кадр даних від канального рівня, кодує його в послідовність сигналів, які потім передаються у лінію зв'язку. Передавання кадру даних через лінію зв'язку вимагає від фізичного рівня визначення таких елементів: тип середовища передавання (дротовий або бездротовий, мідний кабель або оптичне волокно) і відповідних конекторів; як мають бути представлені біти даних у середовищі передавання; як кодувати дані; якими мають бути схеми приймача і передавача.

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

В сучасних мережах використовуються 3 основних типа середовища передавання: мідний кабель (copper), оптичне волокно (fiber) та бездротове середовище передавання (wireless). Тип сигналу, за допомогою якого здійснюється передавання даних, залежить від типу середовища передавання. Для мідного кабелю сигнали, що представляють біти даних є електричними імпульсами, для оптичного волокна — імпульсами світла. У випадку використання бездротових з'єднань сигнали є радіохвилями (електромагнітними хвилями).

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

Технології фізичного рівня визначаються стандартами, що розробляються такими організаціями: The International Organization for Standardization (ISO), The Institute of Electrical and Electronics Engineers (IEEE), The American National Standards Institute (ANSI), The International Telecommunication Union (ITU), The Electronics Industry Alliance/Telecommunications Industry Association (EIA/TIA) тощо. Дані стандарти охоплюють 4 області, що належать фізичному рівню: фізичні та електричні властивості середовища передавання, механічні властивості (матеріали, розміри, розпаювання контактів конекторів), кодування (представлення бітів сигналами), визначення сигналів для керування інформацією. Всі компоненти апаратного забезпечення такі, як мережеві карти (Network interface card, NIC), інтерфейси і конектори, матеріали кабелів та їхня конструкція визначаються стандартами фізичного рівня. Можна зазначити, що функції фізичного рівня вбудовані у мережеве обладнання (hardware).

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

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

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

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

Модель OSI і реальні протоколи. Семирівнева модель OSI є теоретичною, і містить ряд недоробок[джерело?]. Реальні мережеві протоколи змушені відхилятися від неї, забезпечуючи можливості, які не було передбачено. Тому прив'язка якихось із них до рівнів OSI є дещо умовною. Один з основних стеків протоколів — TCP/IP —, було розроблено незалежно від моделі OSI ще до її ухвалення.

Основна недоробка OSI — непродуманий транспортний рівень[джерело?]. На ньому OSI дозволяє обмін даними між застосунками (вводячи поняття порту — ідентифікатора програми), однак можливість обміну простими датаграмами в OSI не передбачена — транспортний рівень повинен утворювати з'єднання, забезпечувати доставку, керувати потоком тощо. Реальні ж протоколи таку можливість реалізують.

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

У сімействі IPX/SPX порти (називані «сокети» або «гнізда») з'являються в протоколі мережного рівня IPX, забезпечуючи обмін датаграмами між застосунками (частину сокетів операційна система резервує для своїх потреб). Протокол SPX, у свою чергу, доповнює IPX всіма іншими можливостями транспортного рівня відповідно до OSI.

IPX не передбачає адрес для хоста на мережевому рівні, покладаючись на адресацію канального рівня (наприклад, MAC-адреси для Ethernet).

Стек протоколів TCP/IP, TCP/IP-модель — набір протоколів мережі Інтернет. Назва походить від назви стрижневих протоколів мережі Інтернет — IP (англ. Internet Protocol — «міжмережевий протокол») і TCP (англ. Transmission Control Protocol — «протокол керування передаванням»). Фактично це систематизований стек протоколів[1], що поділяється на чотири рівні, які корелюються з еталонною моделлю OSI.

Рівні стеку TCP/IP. Стек протоколів TCP/IP (модель взаємодії відкритих систем DoD (Department of Defence) міністерства оборони США) ділиться на 4 рівні: прикладний (application), транспортний (transport), міжмережевий (internet) та рівень доступу до середовища передачі (англ. network access layer, link layer). Терміни, що використовуються для позначення блоку переданих даних, різні при використанні різних протоколів транспортного рівня: TCP і UDP. На прикладному рівні це потік (TCP) і повідомлення (UDP); на транспортному — сегмент і пакет.

Як і в моделі OSI, дані більш верхніх рівнів інкапсулюють у блоки даних більше нижніх рівнів, наприклад, сегмент (TCP) або пакет (UDP) зі своїми даними і службовими заголовками вкладено у поле «Дані» дейтаграми.

Протоколи прикладного рівня TCP/IP визначають процедури організації взаємодії прикладних процесів (програм) різних мережевих комп'ютерів і форми подання інформації за такої взаємодії. За ознаками взаємодії прикладних процесів виділяють два типи прикладного програмного забезпечення: програма-клієнт та програма-сервер. Протоколи прикладного рівня зорієнтовано на конкретні прикладні завдання. Серед традиційних послуг, котрі забезпечують протоколи прикладного рівня з сімейства TCP/IP, сьогодні найпопулярнішими є електронна пошта — протоколи SMTP та POP3, передача файлів — FTP та TFTP, емуляція віддаленого терміналу — TELNET тощо.

З середини 1990-х років в Інтернеті активно запроваджуються послуги, які базуються на технології WWW, яка ґрунтується на протоколі передачі гіпертексту HTTP.

Сьогодні популярні послуги пакетної IP-телефонії на базі стандартів IETF, до яких відносяться спеціальні протоколи прикладного, транспортного та мережевого рівнів, н-д сигналізації SIP, передачі в режимі реального часу RTP та RTCP, резервування ресурсів RSVP, рекомендацій ITU H.323 тощо.

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

Кожен прикладний процес взаємодіє з модулем транспортного рівня TCP або UDP через окремий порт, що дозволяє при взаємодії систем однозначно ідентифікувати прикладні процеси. Ці порти нумеруються починаючи з нуля. При передачі запиту прикладної програми клієнта до прикладної програми сервера транспортний модуль, формуючи дейтаграму чи сегмент, вказує номери портів програмних модулів прикладних протоколів сервера й клієнта. З цією метою в заголовку пакета протоколу транспортного рівня виділено два поля — «порт одержувача» і «порт відправника», обсягом по 2 байти. Номери портів TCP та UDP до прикладних протоколів сервера стандартизовані IETF. Для цього надано номери в діапазоні від 1 до 1023. Наприклад, програмний модуль TCP сервера зазвичай взаємодіє з модулем протоколу HTTP через порт з номером 80. Взаємодія модуля TCP чи UDP клієнта з будь-яким модулем прикладного протоколу відбувається через порт, якому надається вільний номер, більший за 1023.

Міжмережевий рівень. Протоколи мережевого рівня TCP/IP забезпечують взаємодію мереж різної архітектури тощо. Основним протоколом мережного рівня технології TCP/IP є міжмережевий протокол IP та його допоміжні протоколи: адресний протокол ARP; реверсний адресний протокол RARP (Reverse ARP); протокол діагностичних повідомлень ICMP (Internet Control Message Protocol), який надсилає повідомлення вузлам мережі про помилки на маршруті, які виникають при передачі пакетів тощо.

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

Функціонування мережевого рівня також забезпечує низка протоколів динамічної маршрутизації RIP, OSPF, які динамічно формують маршрути таблиці маршрутизації за алгоритмами вектора VDA (Vector Distance Algorithm) і стану зв'язку LSA (Link State Algorithm) відповідно; протоколів політики зовнішньої маршрутизації EGP (Exterior Gateway Protocol), BGP (Border Gateway Protocol) тощо.

Рівень доступу до середовища передачі (Network Access Layer)

Функції:

  • відображення IP-адреси в фізичні адреси мережі (MAC-адреси);

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

На цьому рівні працює протокол ARP, який здійснює відображення адреси IP-> MAC.