Основний стек протоколів Інтернет. Мережеві протоколи та стандарти. Архітектура базової мережі

Стеки протоколів

Стек протоколів - це ієрархічно організований набір мережевих протоколів різних рівнів, достатній організації та забезпечення взаємодії вузлів у мережі. В даний час у мережах використовується велика кількість стеків комунікаційних протоколів. Найбільш популярними є стеки: TCP/IP, IPX/SPX, NetBIOS/SMB, Novell NetWare, DECnet, XNS, SNA та OSI. Всі ці стеки, крім SNA, на нижніх рівнях – фізичному та канальному – використовують одні й ті ж добре стандартизовані протоколи Ethemet, Token Ring, FDDI та деякі інші, які дозволяють використовувати у всіх мережах одну й ту саму апаратуру. Зате на верхніх рівнях всі стеки працюють за власними протоколами. Ці протоколи часто не відповідають рекомендованому моделлю OSI розбиття на рівні. Зокрема, функції сеансового та представницького рівня, як правило, поєднані із прикладним рівнем. Така невідповідність пов'язана з тим, що модель OSIз'явилася як результат узагальнення існуючих і реально використовуваних стеків, а не навпаки.

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

Важливим моментому функціонуванні мережного устаткування, зокрема мережного адаптера, є прив'язка протоколів. Вона дозволяє використовувати різні стеки протоколів під час обслуговування одного мережного адаптера. Наприклад, можна одночасно використовувати стеки TCP/IP та IPX/SPX. Якщо раптом при спробі встановлення зв'язку з адресатом за допомогою першого стека сталася помилка, автоматично відбудеться перемикання на використання протоколу з наступного стека. Важливим моментом у цьому випадку є черговість прив'язки, оскільки вона однозначно впливає використання того чи іншого протоколу з різних стеків.

Незалежно від того, скільки мережевих адаптерів встановлено в комп'ютері, прив'язка може здійснюватися як «один до кількох», так і «кілька одного», тобто один стек протоколів можна прив'язати відразу до кількох адаптерів або кілька стеків до одного адаптера.

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

Стек протоколів XNS (Xerox Network Services Internet Transport Protocol) розроблений компанією Xerox передачі даних мережах Ethernet. Містить 5 рівнів.

Рівень 1 - середовище передачі - реалізує функції фізичного та канального рівня в OSI-моделі:

* керує обміном даними між пристроєм та мережею;

* Маршрутизує дані між пристроями однієї мережі.

Рівень 2 - міжмережевий - відповідає мережному рівню в OSI-моделі:

* керує обміном даними між пристроями, що знаходяться в різних мережах (забезпечує дейтаграмний сервіс у термінах IEEE-моделі);

* описує спосіб проходження даних через мережу.

Рівень 3 – транспортний – відповідає транспортному рівню в OSI-моделі:

* забезпечує зв'язок "end-to-end" між джерелом та приймачем даних.

Рівень 4 - контрольний - відповідає сесійному та представницькому рівню в OSI-моделі:

* Керує поданням даних;

* Керує контролем над ресурсами пристроїв.

Рівень 5 - прикладний - відповідає вищим рівням в OSI-моделі:

* Забезпечує функції обробки даних для прикладних завдань.

Стек протоколів TCP/IP (Transmission Control Protocol/Internet Protocol) є найбільш поширеним і функціональним. Він працює у локальних мережах будь-яких масштабів. Цей стек є основним стеком в глобальної мережіІнтернет. Підтримка стека була реалізована в комп'ютерах з операційною системою UNIX. Через війну популярність протоколу TCP/IP зросла. У стек протоколів TCP/IP входить досить багато протоколів, які працюють різних рівнях, але свою назву він отримав завдяки двом протоколам - TCP і IP.

TCP (Transmission Control Protocol) - транспортний протокол, призначений управлінням передачею даних у мережах, використовують стек протоколів TCP/ IP. IP (Internet Protocol) - протокол мережного рівня, призначений для доставки даних до складової мережі з допомогою одного з транспортних протоколів, наприклад TCP чи UDP.

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

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

Недоліком TCP/IP-протоколу є складність адміністрування мережі. Так, для нормального функціонуваннямережі потрібно наявність додаткових серверів, наприклад DNS, DHCP і т. д., підтримка роботи яких і займає більшу частину часу системного адміністратора. Лімончеллі Т., Хоган К., Чейлап С. - Сестемне та мережеве адміністрування. 2-ге вид. 2009 рік. 944с

Стек протоколів IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) є розробкою та власністю компанії Novell. Він був розроблений для потреб операційної системи Novell NetWare, яка ще донедавна займала одну з лідируючих позицій серед серверних операційних систем.

Протоколи IPX та SPX працюють на мережевому та транспортному рівнях моделі ISO/OSI відповідно, тому відмінно доповнюють один одного.

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

На жаль, стек протоколів IPX/SPX спочатку орієнтований обслуговування мереж невеликого розміру, у великих мережах його використання малоефективно: зайве використання широкомовного мовлення на низькошвидкісних лініях зв'язку неприпустимо.

На фізичному та канальному рівнях стек OSI підтримує протоколи Ethernet, Token Ring, FDDI, а також протоколи LLC, X.25 та ISDN, тобто використовує всі розроблені поза стеком популярні протоколи нижніх рівнів, як і більшість інших стеків. Мережевий рівень включає порівняно рідко використовувані протоколи Connectionoriented Network Protocol (CONP) і Connectionless Network Protocol (CLNP). Протоколи маршрутизації стека OSI це ES-IS (End System – Intermediate System) між кінцевою та проміжною системами та IS-IS (Intermediate System – Intermediate System) між проміжними системами. Транспортний рівень стека OSI приховує відмінності між мережевими сервісами з встановленням з'єднання і без встановлення з'єднання, так що користувачі отримують необхідну якість обслуговування незалежно від мережевого рівня. Щоб забезпечити це, транспортний рівень вимагає, щоб користувач поставив потрібну якість обслуговування. Служби прикладного рівня забезпечують передачу файлів, емуляцію терміналу, службу каталогів та пошту. З них найбільш популярними є служба каталогів (стандарт Х.500), електронна пошта (Х.400), протокол віртуального терміналу (VTP), протокол передачі, доступу та управління файлами (FTAM), протокол пересилання та управління роботами (JTM).

Досить популярний стек протоколів, розробкою якого займалися компанії IBM і Microsoft, відповідно, орієнтований використання у продуктах цих компаній. Як і у TCP/IP, на фізичному та канальному рівні стека NetBIOS/SMB працюють стандартні протоколи, такі як Ethernet, Token Ring та інші, що уможливлює його використання в парі з будь-яким активним мережевим обладнанням. На верхніх рівнях працюють протоколи NetBIOS (Network Basic Input/Output System) і SMB (Server Message Block).

Протокол NetBIOS був розроблений в середині 80-х років минулого століття, але незабаром був замінений на більш функціональний протокол NetBEUI (NetBIOS Extended User Interface), що дозволяє організувати ефективний обмін інформацією в мережах, що складаються не більше ніж з 200 комп'ютерів.

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

Головні плюси протоколу NetBEUI – швидкість роботи та дуже малі вимоги до ресурсів. Якщо потрібно організувати швидкий обмін даними в невеликій мережі, що складається з одного сегмента, кращого протоколу для цього не знайти. Крім того, для доставки повідомлень встановлене з'єднанняне є обов'язковою вимогою: у разі відсутності з'єднання протокол використовує датаграмний метод, коли повідомлення постачається адресою одержувача та відправника та «пускається в дорогу», переходячи від одного комп'ютера до іншого.

Однак NetBEUI має і суттєвий недолік: він повністю позбавлений поняття про маршрутизацію пакетів, тому його використання в складних складових мережах не має сенсу. П'ятибратов А.П., Гудино Л.П., Кириченко А.А. Обчислювальні машини, мережі та телекомунікаційні системи Москва 2009р. 292с

Що стосується протоколу SMB (Server Message Block), то з його допомогою організується робота мережі на трьох найвищих рівнях - сеансовому рівні представлення і прикладному рівні. Саме при його використанні стає можливим доступ до файлів, принтерів та інших ресурсів мережі. Даний протокол кілька разів був удосконалений (вийшло три його версії), що дозволило застосовувати його навіть у таких сучасних операційних системах, як Microsoft Vista та Windows 7. Протокол SMB універсальний і може працювати в парі практично з будь-яким транспортним протоколом, наприклад TCP/IP та SPX.

Стек протоколів DECnet (Digital Equipment Corporation net) містить 7 рівнів. Незважаючи на різницю в термінології рівні DECnet дуже схожі на рівні OSI-моделі. DECnet реалізує концепцію мережевої архітектури DNA (Digital Network Architecture), розроблену фірмою DEC, згідно з якою різноманітні обчислювальні системи (ЕОМ різних класів), що функціонують під управлінням різних операційних систем, можуть бути об'єднані в територіально-розподілені інформаційно-обчислювальні мережі.

Протокол System Network Architecture (SNA) компанії IBM призначений для віддаленого зв'язку з великими комп'ютерами і містить 7 рівнів. SNA заснована на концепції головної (хост)-машини та забезпечує доступ віддалених терміналів до мейнфреймів IBM. Основною відмінністю SNA є наявність можливості доступу кожного терміналу до будь-якої прикладної програми головної ЕОМ. Системна мережева архітектура реалізована з урахуванням віртуального телекомунікаційного способу доступу (Virtual Telecommunication Access Method - VTAM) у головній ЕОМ. VTAM управляє всіма лініями зв'язку та терміналами, причому кожен термінал має доступ до всіх прикладних програм.

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

TCP/IP

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

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

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

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

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

  • HTTP;
  • SMTP;

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

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

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

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

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

Заголовок (Header)

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

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

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

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

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

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

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

TCP чи UDP?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Види IP-адрес

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

  1. Громадські.
  2. Приватні.

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

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

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

IPv4

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

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

IPv6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Підсіти та хост

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

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

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

Адресація

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

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

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

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

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

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

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

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

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

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

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

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

  1. Ethernet.
  2. WLAN.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TCP/IP vs OSI

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

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

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

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

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

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

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

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

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

Рисунок 1 – Узагальнена схема мережі Інтернет

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

Основні осередки Інтернету – локальні обчислювальні мережі (LAN – Local Area network). Якщо деяка локальна мережа безпосередньо підключена до Інтернету, кожна робоча станція цієї мережі також може підключатися до нього. Існують також комп'ютери, які самостійно підключені до Інтернету. Вони називаються хост-комп'ютерами(host – господар).

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

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

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

Інтернет не є комерційною організацією та нікому не належить. Користувачі Інтернету є практично у всіх країнах світу.

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

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

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

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

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

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

Що таке протокол? Як раніше було сказано, протокол – це правила взаємодії. Наприклад, дипломатичний протокол наказує, як чинити під час зустрічі закордонних гостей чи під час проведення прийому. Також мережевий протокол наказує правила роботи комп'ютерам, які підключені до мережі. Стандартні протоколи змушують різні комп'ютери "розмовляти однією мовою". Таким чином, здійснюється можливість підключення до Інтернету різнотипних комп'ютерів, що працюють під управлінням різних операційних систем.

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

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

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

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

Протокол IP . Тепер розглянемо адресний протокол – IP (Internet Protocol). Його суть полягає в тому, що у кожного учасника Всесвітньої мережімає бути своя унікальна адреса (IP-адреса). Без цього не можна говорити про точну доставку ТСР-пакетів на потрібне робоче місце. Ця адреса виражається дуже просто – чотирма числами, наприклад: 195.38.46.11. Структуру IP-адреси ми докладніше розглянемо пізніше. Вона організована так, що кожен комп'ютер, через який проходить якийсь TCP-пакет, може за цими чотирма числами визначити, кому з найближчих «сусідів» треба переслати пакет, щоб він виявився «ближчим» до одержувача. В результаті кінцевого числа перекидів ТСР-пакет досягає адресата.

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

Стек протоколів TCP/IP

Стек протоколів TCP/IP- Набір мережевих протоколів передачі даних, що використовуються в мережах, включаючи мережу Інтернет. Назва TCP/IP походить з двох найважливіших протоколів сімейства - Transmission Control Protocol (TCP) та Internet Protocol (IP), які були розроблені та описані першими в даному стандарті.

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

Стек протоколів TCP/IP включає чотири рівні:

  • прикладний рівень (application layer),
  • транспортний рівень (transport layer),
  • мережевий рівень (internet layer),
  • канальний рівень (link layer).

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

Таблиця 1– Порівняння стека протоколів TCP/IP та еталонної моделі OSI

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

На прикладному рівні (Application layer) працює більшість мережевих програм.

Ці програми мають власні протоколи обміну інформацією, наприклад, HTTP для WWW, FTP (передача файлів), SMTP (електронна пошта), SSH (безпечне з'єднання з віддаленою машиною), DNS (перетворення символьних імен в IP-адреси) та багато інших.

У своїй більшості ці протоколи працюють поверх TCP чи UDP і прив'язані до певному порту, наприклад:

  • HTTP на TCP-порт 80 або 8080,
  • FTP на TCP-порт 20 (для передачі) і 21 (для керуючих команд),
  • запити DNS на порт UDP (рідше TCP) 53,

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

Протоколи транспортного рівня (Transport layer) можуть вирішувати проблему негарантованої доставки повідомлень («Чи надійшло повідомлення до адресата?»), а також гарантувати правильну послідовність надходження даних. У стеку TCP/IP транспортні протоколи визначають, якого саме додатка призначені ці дані.

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

TCP (IP ідентифікатор 6) – «гарантований» транспортний механізмз попереднім встановленням з'єднання, що надає додатку надійний потік даних, дає впевненість у безпомилковості одержуваних даних, що перезапитує дані у разі втрати і усуває дублювання даних. TCP дозволяє регулювати навантаження на мережу, а також зменшувати час очікування даних під час передачі на великі відстані. Більше того, TCP гарантує, що отримані дані були надіслані точно в такій послідовності. У цьому його основна відмінність від UDP.

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

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

І TCP, і UDP використовують визначення протоколу верхнього рівня число, зване портом.

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

Мережевий рівень (Internet layer) спочатку розроблено передачі даних із однієї (під)мережі до іншої. З розвитком концепції глобальної мережі в рівень були внесені додаткові можливості передачі з будь-якої мережі в будь-яку мережу, незалежно від протоколів нижнього рівня, а також можливість запитувати дані від віддаленої сторони, наприклад в протоколі ICMP (використовується для передачі діагностичної інформації IP-з'єднання) і IGMP (використовується для керування multicast-потоками).

ICMP та IGMP розташовані над IP і мають потрапити на наступний – транспортний – рівень, але функціонально є протоколами мережевого рівня, і тому їх неможливо вписати в модель OSI.

Пакети мережного протоколу IP можуть містити код, що вказує, який саме протокол наступного рівня потрібно використовувати, щоб отримати дані з пакета. Це число - унікальне IP-номер протоколу. ICMP та IGMP мають номери, відповідно, 1 та 2.

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

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

Приклади протоколів канального рівня - Ethernet, Wi-Fi, Frame Relay, Token Ring, ATM та ін.

Канальний рівень іноді поділяють на 2 підрівні - LLC та MAC.

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

Інкапсуляція

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

Наприклад, коли додатку потрібно надіслати повідомлення за допомогою TCP, то виконується наступна послідовність дій (рис. 2):

Рисунок 2 – Процес інкапсуляції

  • в першу чергу, програма заповнює спеціальну структуру даних, в якій вказує інформацію про одержувача (мережевий протокол, IP-адреса, порт TCP);
  • передає повідомлення, його довжину та структуру з інформацією про одержувача оброблювача протоколу TCP (транспортний рівень);
  • обробник TCP формує сегмент, в якому як дані виступає повідомлення, а в заголовках знаходиться TCP-порт одержувача (а також інші дані);
  • обробник TCP передає сформований сегмент обробнику IP (мережевий рівень);
  • обробник IP розглядає переданий TCP сегмент як дані і випереджає їх своїм заголовком (у якому, зокрема, знаходиться IP-адреса одержувача, взята з тієї ж структури даних програми, і номер верхнього протоколу;
  • отриманий пакет обробник IP передає на канальний рівень, який знову ж таки розглядає цей пакет як «сирі» дані;
  • обробник канального рівня, аналогічно попереднім оброблювачам, додає на початок свій заголовок (у якому так само вказується номер протоколу верхнього рівня, в нашому випадку це 0x0800(IP)) і, в більшості випадків, додає кінцеву контрольну суму, тим самим формуючи кадр;
  • далі отриманий кадр передається на фізичний рівень, який здійснює перетворення бітів електричні або оптичні сигнали і посилає їх у середу передачі.

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

Схожа інформація:



2015-2020 lektsii.org -

За допомогою сеансового рівня (Session Layer)організовуються діалог між сторонами, фіксується, яка зі сторін є ініціатором, яка зі сторін активна та яким чином завершується діалог.

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

Прикладний рівень (Application Layer) це набір протоколів, якими обмінюються віддалені вузли, що реалізують одну й ту саму задачу (програму).

Слід зазначити, деякі мережі з'явилися набагато раніше, ніж була розроблена модель OSI, тому для багатьох систем відповідність рівнів моделі OSI досить умовна.

1.3. Стек протоколів Інтернет

Інтернет призначений для транспортування будь-якого виду інформації від джерела до одержувача. У транспортуванні інформації беруть участь різні елементи мережі (рис. 1.1) – кінцеві пристрої, комутаційні пристрої та сервери. Групи вузлів за допомогою комутаційних пристроїв поєднуються в локальну мережу, локальні мережі з'єднуються між собою шлюзами (маршрутизаторами). Комутаційні пристрої використовують різні технології: Ethernet, Token Ring, FDDI та інші.

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

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

Вузли, з погляду мережі, є джерела і одержувачі інформації. Чотири нижніх рівня в сукупності незалежні від виду інформації, що передається. Кожна мережна програма, що зв'язується з четвертим рівнем, ідентифікується своїм унікальним номером порту. Значення портів займають діапазон від 0 до 65535. У цьому діапазоні номери портів 0-1023 виділені під загальномережеві додатки (well-known ports), номери портів 1024-49151 використовуються розробниками спеціалізованого програмного забезпечення, номери портів 49152-65535 користувачів під час сеансу зв'язку. Число номерів портів стека наведено в .

Транспортний (четвертий) рівень підтримує два режими встановлення зв'язку

– із встановленням з'єднання та без встановлення з'єднання. Кожен із режимів ідентифікується своїм номером протоколу (Protocol). У стандартах Інтернет прийнято кодування у шістнадцятковому коді. Перший режим використовується модулем TCP, що має код протоколу 6 (у шістнадцятковому коді – 0x06) і використовується для гарантованого транспортування інформації. Для цього кожен пакет, що передається, забезпечується порядковим номером і повинен бути підтверджений

______________________________________________________________________________

приймальною стороною про його правильний прийом. Другий режим використовується модулем UDP без гарантії доставки інформації одержувачу (гарантія доставки забезпечується програмою). Протокол UDP має код 17 (у шістнадцятковому коді – 0x11).

Прикладний

Представницький

Сеансовий

DHCP (Port = 67/68)

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

Protocol = 0x0059

Protocol = 0x0002

Protocol = 0x0001

Protocol Type = 0x0806

Protocol Type = 0x0800

Канальний

Канальний

Канальний

Фізичний

Канальний

Кабель,Ethernetвита пара, оптоволокно

Фізичний кабель, кручена пара, оптоволокно

Фізичний

Кабель, кручена пара, оптоволокно

Фізичний

Кабель, радіо, оптоволокно

Мал. 1.3. Стек базових протоколів Інтернет

______________________________________________________________________________

Мережевий (третій) рівень забезпечує переміщення інформації як пакетів між мережами (інтерфейсами канального рівня), використовуючи мережевий адресу. Сімейство протоколів третього рівня ідентифікується нижчележачими рівнями типом протоколу (ARP – типом 0x0806 або IP – типом 0x0800). Зв'язка “протокол – мережевий адресу – номер порту ” називається сокетом (socket). Пара сокетів – на передачі та прийомі – однозначно визначає встановлене з'єднання. Адресу призначення кожного пакета, що надійшов у модуль IP з канального рівня, аналізується, щоб зрозуміти, куди пакет слід далі направити: у власний додаток або перемістити на інший інтерфейс для подальшого транспортування по мережі.

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

ПИТАННЯ ДО РОЗДІЛУ 1.3

1. Чим визначаються засоби мережного рівня обробки пакетів, що надходять з канального рівня?

Відповідь. Типом протоколу: 0x0806 – для ARP та 0x0800 – для IP.

2. Чим визначаються засоби транспортного рівня для обробки пакетів, що надходять із мережного рівня?

Відповідь. Номером протоколу: 0x0006 – для TCP та 0x0011 – для UDP.

3. Чим визначається тип мережного додатка для обробки дейтаграм?

Відповідь. Номер порту.

4. Наведіть приклади номерів портів загальномережевих програм.

Відповідь: Порт 80 – HTTP, порт 23 – TELNET, порт 53 – DNS.

1.4. Протоколи доступу до Інтернету

Для доступу в Інтернет використовується сімейство протоколів під загальною назвою PPP (Point-to-Point Protocol), до яких входять:

1. Протокол управління каналом (Link Control Protocol – LCP) узгодження параметрів обміну пакетами на канальному рівні дільниці хост – сервер мережного доступу (зокрема, узгодження розміру пакета і типу протоколу аутентифікації).

2. Протокол аутентифікації (Authentication Protocol) для встановлення легітимності користувача (зокрема з використанням протоколу Challenge Handshake Authentication Protocol – CHAP).

3. Протокол мережного керування (IP Control Protocol – IPCP) для конфігурації параметрів мережного обміну (зокрема, присвоєння) IP-адреси).

Після цього починається обмін інформацією протоколу IP.

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

HDLC.

Обмін кадрами з використанням процедури схожої з HDLC (High-level Data Link Control Procedure) передбачає дуплексний обмін кадрами. Кожен переданий кадр має бути підтверджено, за відсутності підтвердження протягом тайм-ауту передавач повторює передачу. Структура кадру наведено на рис. 1.4. Порядок передачі полів кадру – зліва направо. Призначення полів кадру є таким.

Ю.Ф.Кожанов, Колбаньов М.О ІНТЕРФЕЙСИ І ПРОТОКОЛИ МЕРЕЖЕЙ НАСТУПНОГО ПОКОЛІННЯ

______________________________________________________________________________

Мал. 1.4. Структура полів HDLC-кадра

Кожен переданий кадр повинен починатися і закінчуватися комбінацією "Прапор" (Flag), що має бітову структуру виду 01111110 (0х7е). Одна й та сама комбінація "Прапор" може бути використана як закриває для одного кадру і відкриває для наступного кадру. Комбінації "Прапор" повинні виявлятися приймальною стороною з метою визначення меж кадру. Для забезпечення кодонезалежного перенесення інформації необхідно виключити з наступних полів кадру всі комбінації, що збігаються зі службовими символами (наприклад, комбінацією "Прапор").

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

У синхронному режимі використовується абобайт-вставка, чи біт-вставка. У першому випадку в полях кадру проводиться заміна байтових послідовностей 0x7e ("Прапор") на 2-байтові 0x7d та 0x5e, 0x7d на 0x7d та 0x5d, 0x03 на 0x7d та 0x23. У другому випадку після формування всіх полів кадру проводиться побітовий перегляд кожного кадру між комбінаціями "Прапор" і вставляється біт "нуль" після кожних п'яти суміжних бітів "одиниця". При декодуванні кадру на прийомі проводиться побітовий перегляд вмісту кадру між комбінаціями "Прапор" та вилучення біта "нуль" після кожних п'яти суміжних бітів "одиниця".

Адреса поле (Address) має постійне значення 11111111 (0хff), а поле управління (Control) - значення 00000011 (0x03).

Поле протоколу приймає значення 0хс021 для протоколу LCP, 0хc223 – для протоколу CHAP, 0х8021 – для IPCP та 0х0021 – для протоколу IP.

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

Перевірна послідовність (Frame Check Sequence, FCS) на передачі формується так, щоб а)при множенні інформації між прапорами на Х16 і б)наступному поділі по модулю 2 на утворює поліном Х16 + Х12 + Х5 + 1 результат дорівнював постійному числу 0хf0b8.

Процедура доступу абонента ТФОП до Інтернету складається з кількох етапів. На першому етапі використовується протокол LCP (Protocol = 0xc021)

використовує наступний формат (рис. 1.5).

Мал. 1.5. Формат кадру протоколу LCP

Поле протоколу набуває значення 0хс021. Кожне повідомлення характеризується кодом (Code), порядковим номером (ID), довжиною (Length). У довжину повідомлення включаються усі поля від Code до FCS. В одному повідомленні може бути кілька параметрів, кожен з яких характеризується типом параметра (Type),

довжиною (Length) та даними (Date).

(Configure-Nak), 04 - відмова від конфігурації (Configure-Reject), 05 - запит на роз'єднання (Terminate-Request), 06 - підтвердження роз'єднання (Terminate-Ack).

Повна діаграма взаємодії кінцевого пристрою (Host), сервера мережевого доступу (NAS) та сервера автентифікації, авторизації та обліку (ААА) при організації доступу абонента ТФОП в Інтернет наведено на рис. 1.6.

______________________________________________________________________________

З малюнка 1.6 видно, що спочатку хост за протоколом LCP (Protocol = 0xc021) запросив з'єднання з параметрами MTU = 300, PFC = 7, але внаслідок їх узгодження з сервером доступу NAS (Code = 02) встановлено параметри MTU = 200 (MTU - максимальний розмірпакета в байтах), протокол аутентифікації - CHAP (Auth.prot = c223). Обмін стислими заголовками (PFC=7) сервером доступу NAS було відкинуто (Code=04).

Type = 3, IP-address = a.b.c.d, Mask,

Protocol = 0xc021, code = 04,

Protocol = 0xc021, code = 01,

Type = 1, MTU = 300

Protocol = 0xc021, code=03,

Type = 1, MTU = 200

Protocol = 0xc021, code = 01,

Type = 1, MTU = 200

Protocol = 0xc021, code = 02,

Type = 1, MTU = 200

Protocol = 0xc021, code = 01,

Protocol = 0xc021, code = 02,

Type = 3, Auth.prot=0xc223, Algorithm=5

Protocol = 0xc223, code = 01,

Protocol = 0xc223, code = 02,

Prot = UDP, code = 01,

Name = ABC, Value = W

Auth = 0, Attr = Name, Chall = V

Prot = UDP, code = 02,

IP-address=a.b.c.d , Mask,

Prot = UDP, code = 05, Data

Protocol = 0x0021, …

Protocol =0x0021, …

Protocol = 0xc021, code = 05,

1994, DS]. Суть процедури аутентифікації полягає в тому, що NAS посилає хосту деяке випадкове число V, а хост повертає інше число W, обчислене за попередньо відомою функцією з використанням імені (Name) і пароля (Password), які вводяться користувачем у комп'ютер з купленої Інтернет картки провайдера. Інакше висловлюючись, W=f(V, Name, Password). Передбачається, що зловмисник (хакер) може перехопити значення V, Name і W, що пересилаються по мережі, і йому відомий алгоритм обчислення функції f. Істота формування W у тому, що вихідне елементи (біти) випадкового числа V по-різному "перемішуються" з невідомим зловмиснику елементами пароля Password. Потім отриманий зашифрований текст піддається стиску, наприклад, підсумовування байтів по два модулі. Таке перетворення називається дайджест-функцією (digest function) або хеш-функцією, а результат – дайджестом. Точну процедуру формування дайджесту визначено алгоритмом MD5 і описано в . NAS за протоколом RADIUS запитує у сервера ААА справжнє значення W, пересилаючи йому значення Name і Challenge=V. Сервер AAA на підставі отриманих від NAS значень V і Name і наявного в базі даних пароля Password за тим же алгоритмом обчислює W і відсилає його NAS. NAS порівнює два значення W, отриманих від хоста та від сервера AAA: якщо вони збігаються, то хосту надсилається повідомлення про успішну автентифікацію – Success (Code=03).

На третьому етапі відбувається конфігурація мережевих параметрівза протоколом IPCP (він PPP IPC, Protocol=0x8021). Хост запитує у NAS мережеві IP-адреси і NAS виділяє з пулу (діапазону) IP-адресу для хоста (IP-address=a.b.c.d), а

також повідомляє IP-адресу DNS-сервера (IP-address=e.f.g.h). NAS за протоколом RADIUS

надсилає серверу ААА повідомлення (Code=04) про початок тарифікації та отримує підтвердження (Code=05).

На 4-му етапі користувач починає сеанс зв'язку з Інтернетом за протоколом IP (Protocol = 0x0021).

Після завершення сеансу (етап 5) користувач протоколу LCP надсилає NAS повідомлення про руйнування з'єднання (Code=05), NAS підтверджує це повідомлення (Code=06), відсилає серверу ААА повідомлення про закінчення тарифікації і отримує підтвердження. Усі пристрої повертаються у вихідний стан.

ПИТАННЯ ДО РОЗДІЛУ 1.4

1. Назвіть склад та призначення сімейства протоколів РРР.

Відповідь. LCP – для узгодження параметрів обміну пакетами, CHAP – для встановлення легітимності користувача, IPCP – для визначення IP-адреси.

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

Відповідь. Виявлення помилок – так, впорядкована доставка – ні, це забезпечує протокол TCP.

3. Де зберігаються дані для автентифікації користувача?

Відповідь. В Інтернет-карті та на сервері ААА.

4. Чи можна перед встановленням з'єднання з сервером NAS заздалегідь визначити IPадресу користувача?

Відповідь: Ні. Після успішної аутентифікації NAS видає вільну IP-адресу з діапазону відведених адрес.

5. Які способи використовуються для врахування вартості Інтернет-з'єднань? Відповідь: Зазвичай, стягується абонентська плата або плата за обсяг прийнятої

Від сокетів до драйверів пристроїв

Введення у протоколи

У той час як формальне введення в роботу в мережі надсилає нас до моделі взаємодії відкритих систем (OSI - Open Systems Interconnection), це введення в основний мережевий стек в Linux використовує чотирирівневу модель, відому як модель Інтернет (Internet model) (див. рисунок 1) .

Малюнок 1. Інтернет-модель мережевого стека

Внизу стека знаходиться канальний рівень. Канальний рівеньвідноситься до драйверів пристроїв, що забезпечують доступ до фізичного рівня, який може складатися з багатьох середовищ, таких як послідовні канали або пристрої Ethernet. Над канальним знаходиться мережевий рівень, який відповідає за спрямування пакетів за призначенням. Наступний рівень під назвою транспортнийвідповідає за однорангові (peer-to-peer) комунікації (наприклад, у межах хоста). Мережевий рівень управляє зв'язком між хостами, а транспортний - взаємодією між кінцевими точками всередині цих хостів. Нарешті, існує прикладний рівеньякий зазвичай є семантичним і розуміє переміщені дані. Наприклад, протокол передачі гіпертексту (HTTP - Hypertext Transfer Protocol) переміщає запити й відповіді вмісту Web між сервером і клієнтом.

По суті рівні мережного стека проходять під більш впізнаваними назвами. На канальному рівні ви знайдете Ethernet, найбільш поширене високошвидкісне середовище. До старіших протоколів канального рівня належать такі послідовні протоколи, як Internet-протокол для послідовної лінії (SLIP - Serial Line Internet Protocol), Compressed SLIP (CSLIP) і Point-to-Point Protocol (PPP). Найбільш поширеним протоколом мережного рівня є Internet Protocol (IP), але є й інші, які задовольняють іншим потребам, такі як Протокол керуючих повідомлень Internet (ICMP - Internet Control Message Protocol) і Протокол дозволу адрес (ARP - Address Resolution Protocol). На транспортному рівні це Протокол управління передачею (TCP – Transmission Control Protocol) та Протокол користувальницьких датаграм (UDP – User Datagram Protocol). Нарешті, прикладний рівень включає безліч звичних нам протоколів, у тому числі HTTP, стандартний Web-протокол, і SMTP (Simple Mail Transfer Protocol), протокол передачі електронної пошти.

Архітектура базової мережі

Тепер перейдемо до архітектури мережевого стека Linux і подивимося, як і реалізує модель Internet. На малюнку 2 представлено високорівневий вид мережевого стека Linux. Нагорі розташовується рівень користувальницького простору або прикладний рівеньщо визначає користувачів мережевого стека. Внизу знаходяться фізичні пристрої, які забезпечують з'єднання з мережами (послідовні або високошвидкісні мережі, як Ethernet). У центрі, або у просторі ядра, - Мережева підсистема, яка знаходиться в центрі уваги цієї статті. Через внутрішню частину мережевого стека проходять буфери сокетів (sk_buffs), які переміщують дані пакета між джерелами та одержувачами. Коротко буде показано структуру sk_buff.

Рисунок 2. Високорівнева архітектура мережевого стека Linux

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

Інтерфейс системного виклику

Інтерфейс системного виклику може бути описаний у двох ракурсах. Коли мережевий виклик здійснюється користувачем, мультиплексується через системний виклик в ядро. Це закінчується як виклик sys_socketcall в/net/socket.c, який потім демультиплексує виклик наміченої мети. Інший ракурс інтерфейсу системного виклику – використання нормальних файлових операцій для мережного вводу/виводу (I/O). Наприклад, звичайні операції читання та запису можуть бути виконані на мережевому сокеті (який представляється файловим дескриптором як нормальний файл). Тому поки існують операції, специфічні для роботи в мережі (створення сокету викликом socket, зв'язування його з дескриптором викликом connect і так далі), є також і кілька стандартних файлових операцій, які застосовуються до мережевих об'єктів, як до звичайних файлів. Нарешті, інтерфейс системного виклику надає засоби передачі управління між додатком в користувальницькому просторі і ядром.

Протоколо-незалежний інтерфейс (Protocol agnostic interface)

Рівень сокетів є протоколо-незалежним (protocol agnostic) інтерфейсом, який надає набір стандартних функцій підтримки низки різних протоколів. Цей рівень не тільки підтримує звичайні TCP-і UDP-протоколи, але також і IP, Raw Ethernet та інші транспортні протоколи, такі як Протокол керування передачею потоків даних (SCTP – Stream Control Transmission Protocol).

Взаємодія через мережевий стек відбувається за допомогою сокету. Структура сокету в Linux - struct sock, визначена в linux/include/net/sock.h. Ця велика структура містить усі необхідні стани окремого сокету, включаючи певний протокол, що використовується сокетом, та операції, які можна над ним здійснювати.

Мережева підсистема знає про доступні протоколи із спеціальної структури, яка визначає її можливості. Кожен протокол містить структуру під назвою proto (вона знаходиться в linux/include/net/sock.h). Ця структура визначає окремі операції сокету, які можуть виконуватися з рівня сокетів на транспортний рівень (наприклад, як створити сокет, встановити з'єднання з сокетом, як закрити сокет і т.д.).

Мережеві протоколи

Розділ мережевих протоколів визначає окремі доступні мережеві протоколи (такі як TCP, UDP тощо). Вони ініціалізуються на початку дня функції inet_init в linux/net/ipv4/af_inet.c (оскільки TCP і UDP відносяться до сімейства протоколів inet). Функція inet_init реєструє кожен із вбудованих протоколів, які використовують функцію proto_register . Ця функція визначена в linux/net/core/sock.c, та крім додавання протоколу до списку чинних, якщо потрібно, може виділяти один або більше slab-кешів.

Можна побачити, як окремі протоколи ідентифікують себе за допомогою структури proto у файлах tcp_ipv4.c, udp.c і raw.c, в linux/net/ipv4/. Кожна з цих структур протоколів відображається у вигляді типу та протоколу inetsw_array , який приписує вбудовані протоколи їх операціям. Структура inetsw_array та її зв'язку показані малюнку 3. Кожен із протоколів у цьому масиві ініціалізується на початку дня в inetsw викликом inet_register_protosw з inet_init . Функція inet_init також ініціалізує різні модулі inet, такі як ARP, ICMP, IP-модулі та TCP та UDP-модулі.

Малюнок 3. Структура масиву Інтернет-протоколу

Кореляція сокету та протоколу

Згадайте, що коли створюється сокет, він визначає тип і протокол, наприклад, my_sock = socket(AF_INET, SOCK_STREAM, 0) . AF_INET вказує сімейство Internet-адрес із потоковим сокетом, визначеним як SOCK_STREAM (як показано тут, в inetsw_array).

Переміщення даних для сокетів відбувається за допомогою основної структури під назвою буфер сокету (sk_buff). У sk_buff містяться дані пакета та дані про стан, які охоплюють декілька рівнів стека протоколу. Кожен надісланий або отриманий пакет представлений в sk_buff. Структура sk_buff визначається linux/include/linux/skbuff.h і показана на малюнку 4.

Малюнок 4. Буфер сокету та його зв'язки з іншими структурами

Як можна помітити, кілька структур sk_buff для даного з'єднанняможуть бути пов'язані разом. Кожна з них ідентифікує структуру пристрою (net_device), якому пакет надсилається або від якого отримано. Так як кожен пакет представлений в sk_buff, заголовки пакетів зручно визначені набором покажчиків (th, iph і mac для управління доступом до середовища (заголовок Media Access Control або MAC). Оскільки структури sk_buff є центральними в організації даних сокету, для управління ними був створений ряд функцій підтримки Існують функції для створення, руйнування, клонування та керування черговістю sk_buff .

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

Пристрій-незалежний інтерфейс (Device agnostic interface)

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

Перш за все драйвери пристроїв можуть реєструвати та розреєструвати себе в ядрі викликом register_netdevice або unregister_netdevice . Команда, що викликає, спочатку заповнює структуру net_device , а потім передає її для реєстрації. Ядро викликає свою функцію init (якщо вона визначена), виконує кілька перевірок справності, створює запис sysfs і потім додає новий пристрій до списку пристроїв ( пов'язаний списокпристроїв, активних у ядрі). Структуру net_device можна знайти у linux/include/linux/netdevice.h. Деякі функції містяться в linux/net/core/dev.c.

Для надсилання sk_buff з рівня протоколу пристрою використовується функція dev_queue_xmit. Вона ставить у чергу sk_buff для можливого пересилання відповідним драйвером пристрою (пристроєм, визначеним за допомогою net_device або покажчика sk_buff->dev в sk_buff). Структура dev містить метод під назвою hard_start_xmit, який зберігає функцію драйвера для ініціалізації передачі sk_buff.

Отримання пакета виконується зазвичай за допомогою netif_rx. Коли драйвер пристрою нижчого рівня отримує пакет (міститься всередині виділеного sk_buff), sk_buff йде вище, на мережевий рівень, за допомогою виклику netif_rx . Ця функція ставить sk_buff в чергу на більш високий рівень протоколів для подальшої обробки за допомогою netif_rx_schedule . Функції dev_queue_xmit та netif_rx знаходяться в linux/net/core/dev.c.

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

Драйвери пристроїв

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

Під час ініціалізації драйвер пристрою виділяє місце для структури net_device і потім ініціалізує її необхідними підпрограмами. Одна з них з назвою dev->hard_start_xmit визначає, як верхній рівень повинен поставити в чергу sk_buff для передачі. Їй передається sk_buff. Робота цієї функції залежить від обладнання, але зазвичай пакет, що описується в sk_buff, переміщається в так зване "апаратне кільце" (hardware ring) або "черга" (queue). Надходження кадру, як описано на незалежному рівні, використовує інтерфейс netif_rx або netif_receive_skb для NAPI-сумісного мережного драйвера. Драйвер NAPI накладає обмеження можливості базового устаткування. Подробиці дивіться у розділі.

Після того, як драйвер пристрою налаштував свої інтерфейси в структурі dev, виклик register_netdevice робить її доступною для використання. У linux/drivers/net можна знайти драйвери, характерні для мережевих пристроїв.

Йдемо далі

Вихідний код Linux - чудовий спосіб дізнатися про конструкцію драйверів для безлічі типів пристроїв, включаючи драйвери мережевих пристроїв. Ви виявите відмінності у конструкції та використанні доступних API ядра, але кожен буде корисний або інструкціями, або як відправна точка для нового драйвера. Решта коду в мережевому стеку стандартна і використовується, доки не буде потрібний новий протокол. Але тоді реалізації TCP (для потокового протоколу) чи UDP (для протоколу з урахуванням передачі повідомлень) служать корисними моделями для початку нової розробки.

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

TCP/IP

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

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

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

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

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

  • HTTP;
  • SMTP;

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

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

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

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

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

Заголовок (Header)

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

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

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

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

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

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

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

TCP чи UDP?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Види IP-адрес

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

  1. Громадські.
  2. Приватні.

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

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

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

IPv4

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

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

IPv6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Підсіти та хост

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

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

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

Адресація

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

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

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

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

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

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

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

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

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

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

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

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

  1. Ethernet.
  2. WLAN.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TCP/IP vs OSI

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

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

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

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

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

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

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

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

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

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

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

    транспортні;

    прикладні.

Мережеві протоколи

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

    DDP(DatagramDeliveryProtocol – Протокол доставки дейтаграм). Протокол передачі даних Apple, що використовується в AppleTalk.

    IP(Internet Protocol – Протокол Internet). Протокол стека TCP/IP, що забезпечує адресну інформацію та інформацію про маршрутизацію.

    IPX(InternetworkPacketeXchange– Міжмережевий обмін пакетами) в NWLink.ПротоколNovelNetWare, який використовується для маршрутизації та направлення пакетів.

    NetBEUI(NetBIOSExtendedUserInterface - розширений користувальницький інтерфейсбазової мережевої системи введення виводу) . Розроблений спільно IBM і Microsoft, цей протокол забезпечує транспортні послуги для NetBIOS.

Транспортні протоколи

Транспортні протоколи надають такі послуги надійного транспортування даних між комп'ютерами. Нижче наведено найпопулярніші транспортні протоколи.

    ATP(AppleTalkProtocol-Транзакційний протоколAppleTalk) та NBP(NameBindingProtocol- Протокол зв'язування імен). Сеансовий та транспортний протокол AppleTalk.

    NetBIOS (Базова мережева система введення виводу) . NetBIOS Встановлює з'єднання між комп'ютерами, а NetBEUIнадає послуги передачі даних для цього з'єднання.

    SPX(SequencedPacketeXchange– Послідовний обмін пакетами) в NWLink.ПротоколNovelNetWare, який використовується для забезпечення доставки даних.

    TCP(TransmissionControlProtocol– Протокол керування передачею).Протокол стека TCP/IP, що відповідає за надійну доставку даних.

Прикладні протоколи

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

    AFP(Apple Talk File Protocol - Файловий протокол Apple Talk). віддаленого керуванняфайламиMacintosh.

    FTP(File Transfer Protocol – Протокол передачі файлів). Протокол стека TCP/IP, який використовується для забезпечення послуг передачі файлів.

    NCP(NetWare Core Protocol – Базовий протокол NetWare). Оболонка та редиректори клієнта NovelNetWare.

    SNMP(SimpleNetworkManagementProtocol– Простий протокол керування мережею).Протокол стека TCP/IP, який використовується для управління та спостереження за мережевими пристроями.

    HTTP(HyperTextTransferProtocol) – протокол передачі гіпертексту та інші протоколи.

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

Розвитком архітектури Інтернету та протоколів у моделі TCP/IP займається відкрите міжнародне співтовариство проектувальників IETF.

Історія

Стек протоколів TCP/IPбув створений на основі NCP (Network Control Protocol) групою розробників під керівництвом Вінтона Серфа у 1972 році. У липні 1976 року Вінт Серф і Боб Кан вперше продемонстрували передачу даних з використанням TCP за трьома різним мережам. Пакет пройшов наступним маршрутом: Сан-Франциско - Лондон - Університет Південної Каліфорнії. До кінця своєї подорожі пакет проробив 150 тисяч кілометрів, не втративши жодного біта. У 1978 році Серф, Джон Постел і Денні Кохен вирішили виділити в TCP дві окремі функції: TCP та IP (англ. Internet Protocol,міжмережевий протокол). TCP був відповідальний за розбивку повідомлення на датаграми (англ. datagram) та з'єднання їх у кінцевому пункті відправки. IP відповідав за передачу (з контролем одержання) окремих датаграм. Отак народився сучасний протокол Інтернету. А 1 січня 1983 року ARPANET перейшла новий протокол. Цей день вважається офіційною датою народження Інтернету.

Рівні стеку TCP/IP

Стек протоколів TCP/IP включає чотири рівні:

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

Розподіл протоколів за рівнями моделі TCP/IP
Прикладний
(Application layer)
напр., HTTP, RTSP, FTP, DNS
Транспортний

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

Мережевий (міжмережевий) рівень

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

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

При проектуванні стека протоколів на канальному рівні розглядають завадостійке кодування - що дозволяють виявляти та виправляти помилки в даних внаслідок впливу шумів та перешкод на канал зв'язку.

Порівняння з моделлю OSI

Три верхніх рівня моделі OSI, тобто рівень програми, рівень подання і рівень сеансу, окремо не різняться в моделі TCP/IP , яка має прикладний рівень над транспортним рівнем. Хоча деякі чисті програми OSI, такі як X.400, також об'єднують їх, немає вимоги, щоб стек протоколу TCP/IP повинен накладати монолітну архітектуру над транспортним рівнем. Наприклад, протокол NFS-програм працює через протокол подання даних External Data Representation (XDR), який, у свою чергу, працює за протоколом Remote Procedure Call (RPC). RPC забезпечує надійну передачу даних, тому може безпечно використовувати транспорт UDP з максимальним зусиллям.

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

Декілька авторів спробували включити шари 1 і 2 моделі OSI в модель TCP/IP, оскільки вони зазвичай згадуються в сучасних стандартах (наприклад, IEEE та ITU). Це часто призводить до моделі з п'ятьма шарами, де рівень зв'язку або рівень доступу до мережі поділяються на шари 1 і 2 OSI моделі.

Зусилля розробки протоколу IETF не стосуються суворого розшарування. Деякі з його протоколів можуть не відповідати виключно моделі OSI, хоча RFC іноді посилаються на неї і часто використовують старі номери рівня OSI. IETF неодноразово заявляв, що розробка інтернет-протоколу та архітектури не повинна відповідати вимогам OSI. У RFC 3439, адресованому інтернет-архітектурі, міститься розділ, озаглавлений «Шар, що вважається шкідливим».

Наприклад, вважається, що рівні сеансу та подання пакету OSI включені в прикладний рівень пакета TCP/IP. Функціональність рівня сеансу можна знайти у протоколах, таких як HTTP та SMTP, і більш очевидна у таких протоколах, як Telnet та протокол ініціації сеансу (SIP). p align="justify"> Функціональність рівня сеансу також реалізована з нумерацією портів протоколів TCP і UDP, які охоплюють транспортний рівень у наборі TCP/IP. Функції рівня подання реалізуються у додатках TCP/IP зі стандартом MIME під час обміну даними.

Конфлікти очевидні також в оригінальній моделі OSI, ISO 7498, коли не розглядаються додатки до цієї моделі, наприклад ISO 7498/4 Management Framework або ISO 8648 Internal Organization of the Network layer (IONL). Коли розглядаються документи IONL та Management Framework, ICMP та IGMP визначаються як протоколи керування рівнем для мережного рівня. Аналогічно IONL надає структуру для «залежних від підмереж об'єктів конвергенції», таких як ARP і RARP.

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

До того ж, модель OSI не використовує додатковий рівень – «Internetworking» – між канальним та мережевим рівнями. Прикладом спірного протоколу може бути ARP або STP.

Ось як зазвичай протоколи TCP/IP вписуються в модель OSI:

Розподіл протоколів за рівнями моделі OSI
TCP/IP OSI
7 Прикладний Прикладний напр., HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
6 Уявлення напр., XDR, AFP, TLS, SSL
5 Сеансовий напр., ISO 8327 / CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
4 Транспортний Транспортний напр., TCP , UDP , SCTP , SPX , ATP , DCCP , GRE
3 Мережевий Мережевий напр., ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP, ARP
2 Канальний Канальний напр. Token ring, HDLC , PPP , X.25 , Frame relay , ISDN , ATM , SPB , MPLS
1 Фізичний напр., електричні дроти, радіозв'язок, волоконно-оптичні дроти, інфрачервоне випромінювання

Зазвичай у стеку TCP/IP верхні 3 рівня моделі OSI (прикладний, уявлення та сеансовий) поєднують в один - прикладний. Оскільки в такому стеку не передбачається уніфікований протокол передачі даних, функції визначення типу даних передаються додатком.

Опис моделі TCP/IP у технічній літературі

Примітки

  1. Моделі OSI та TCP/IP. База знань osLogic.ru
  2. Мережеві моделі TCP/IP та OSI. Cisco Learning
  3. Васильєв А. А., Теліна І. С., Ізбачков Ю. С., Петров Ст Н. Інформаційні системи: Підручник для вузів - СПб. : Пітер, 2010. – 544 с. - ISBN 978-5-49807-158-9.
  4. Ендрю Кровчик, Винод Кумар, Номан Лагарі та ін..NET мережеве програмування для професіоналів / пров. з англ. В. Стрільців. - М.: Лорі, 2005. - 400 с. - ISBN 1-86100-735-3. - ISBN 5-85582-170-2.

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

Транспортний рівень виконує такі завдання:

  • Адресація точки сервісу. Комп'ютери часто виконують кілька програм одночасно. З цієї причини доставка "джерело - пункт призначення" означає доставку не тільки від одного комп'ютера до наступного, але також і від заданого процесу (програми, що функціонує) на одному комп'ютері до заданого процесу (функціонуючої програми) на іншому. Тому заголовок транспортного рівня повинен включати тип адреси, яка називається адреса сервісної точки (або адреса порту). Мережевий рівень доставляє кожен пакет на коректну адресу комп'ютера; транспортний рівень доставляє повне повідомлення до коректного процесу цьому комп'ютері.
  • Сегментація та повторне складання. Повідомлення розділене на сегменти, що транспортуються, кожен сегмент містить порядковий номер. Ці номери дають можливість транспортному рівню після досягнення пункту призначення правильно повторно зібрати повідомлення та замінювати пакети, які були втрачені у передачі.
  • Управління підключенням. Транспортний рівень може бути орієнтований на роботу без встановлення з'єднання (connectionless transfer) або орієнтований на підключення (connection-oriented transfer) – дейтаграмний режим. Транспортний рівень без встановлення з'єднання (за попередньо встановленим віртуальним з'єднанням) обробляє кожен сегмент як незалежний пакет і постачає його транспортному рівню в машині пункту призначення. Орієнтований на підключення транспортний рівень перед поставкою пакетів спочатку встановлює з'єднання з транспортним рівнем в комп'ютері пункту призначення. Після того, як всі дані передані, підключення закінчується.

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

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

Рівень сеансу (Session Layer SL)- Мережевий контролер діалогу. Він встановлює, підтримує і синхронізує взаємодію між системами, що зв'язуються.

За допомогою сеансового рівня (Session Layer) організується діалог між сторонами, фіксується яка зі сторін є ініціатором, яка зі сторін активна і яким чином завершується діалог.

Завдання сеансового рівня такі:

  • Управління діалогом. Сеансовий рівеньдає можливість двом системам вступати у діалог. Він дозволяє обмін повідомленнями між двома процесами. При цьому можливі режими: або напівдуплексний (один шлях одночасно), або дуплексний (два шляхи одночасно). Наприклад, діалог між терміналом та універсальною ЕОМ може бути напівдуплексним.
  • Синхронізація. Сеансовий рівеньдозволяє процесу додавати контрольні точки (точки синхронізації) до потоку даних. Наприклад, якщо система надсилає файл із 2 000 сторінок, бажано вставити контрольні точки після кожних 100 сторінок, щоб гарантувати, що кожен модуль зі 100 сторінками отримано та розпізнається незалежно. У цьому випадку, якщо трапляється порушення протягом передачі сторінки 523, єдина сторінка, яку потрібно і яка буде знову надіслана після системного відновлення- сторінка 501 (перша сторінка п'ятої сотні)

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

Завдання рівня подання такі:

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

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

Приклади послуг, що надаються прикладним рівнем:

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

Стек протоколів Інтернету

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

Мал. 1.3.

ARP Address Resolution Protocol Протокол знаходження адреси
ATM Asynchronous Transfer Mode Режим асинхронної передачі
BGP Border Gateway Protocol Протокол прикордонної маршрутизації
DNS Domain Name System Система доменних імен
Ethernet Ethernet Network Мережа Ethernet
FDDI Fiber Distributed Data Interface Волоконно-оптичний розподілений інтерфейс даних
HTTP Hyper Text Transfer Protocol Протокол передачі гіпертексту
FTP File transfer Protocol Протокол передачі файлів
ICMP Internet Control Message Protocol Протокол керуючих повідомлень
IGMP Internet Group Management Protocol Протокол управління групами (користувачів) в Інтернеті
IP Internet Protocol Міжмережевий протокол
NFS Network File System Протокол мережного доступу до файловим системам
OSPF Open Shortest Path First Відкритий протокол переваги найкоротшого каналу
PDH Plesiochronous Digital Hierarchy Плезіохронна цифрова ієрархія
PPP Point-to-Point Protocol Протокол зв'язку "точка-точка"


 Top