69766

Реалізація стека протоколів Інтернету

Лекция

Информатика, кибернетика и программирование

Канальний рівень (data link layer) відповідає за передавання кадру даних між будь-якими вузлами в мережах із типовою апаратною підтримкою (Ethernet, FDDI тощо) або між двома сусідніми вузлами у будь-яких мережах (SLIP, PPP).

Украинкский

2014-10-09

66 KB

2 чел.

Тема 14. Реалізація стека протоколів Інтернету

Сукупність протоколів, які лежать в основі сучасного Інтернету, називають набором протоколів Інтернету (Internet Protocol Suite, IPS) або стеком протоколів TCP/IP за. назвою двох основних протоколів [13, 21, 39]. У цьому розділі наведемо основні характеристики такого набору та особливості його реалізації у сучасних ОС.

14.1. Рівні мережної архітектури TCP/IP

Мережна архітектура TCP/IP має чотири рівні, яки показані на рис. 16.1. Розглянемо їх знизу вгору.

Канальний рівень (data link layer) відповідає за передавання кадру даних між будь-якими вузлами в мережах із типовою апаратною підтримкою (Ethernet, FDDI тощо) або між двома сусідніми вузлами у будь-яких мережах (SLIP, PPP). При цьому забезпечуються формування пакетів, корекція апаратних помилок, спільне використання каналів. Крім того, на більш низькому рівні він забезпечує передавання бітів фізичними каналами, такими як коаксіальний кабель, кручена пара або оптоволоконний кабель (іноді для опису такої взаємодії виділяють окремий фізичний рівень physical layer).

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

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

Транспортний рівень (transport layer) реалізує базові функції з організації зв'язку між процесами, що виконуються на віддалених хостах. У стеку TCP/IP на цьому рівні функціонують протоколи TCP (Transmission Control Protocol) i UDP (User Datagram Protocol). TCP забезпечує надійне передавання повідомлень між віддаленими процесами користувача за рахунок утворення віртуальних з'єднань (цей протокол розглядатиметься докладніше у розділі 16.2.4). UDP забезпечує ненадійне передавання прикладних пакетів (подібно до IP), виконуючи винятково функції сполучної ланки між IP і процесами користувача (далі на ньому зупинятися не будемо).

Прикладний рівень (application layer) реалізує набір різноманітних мережних сервісів, наданих кінцевим користувачам і застосуванням. До цього рівня належать протоколи, реалізовані різними мережними застосуваннями (службами), наприклад, HTTP (основа організації Web), SMTP (основа організації пересилання електронної пошти).

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

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

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

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

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

У цьому розділі йтиметься про особливості протоколів мережного рівня.

Протокол IPv4

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

Кожний мережний інтерфейс в IP-мережі має унікальну адресу. Такі адреси називають IP-адресами. Стандартною версією IP, якою користуються від початку 80-х років XX століття, є IP версії 4 (IPv4), де використовують адреси завдовжки 4 байти. їх зазвичай записують у крапково-десятковому поданні (чотири десяткові числа, розділені крапками, кожне з яких відображає один байт адреси). Прикладом може бути 194.41.233.1. Спеціальну адресу зворотного зв'язку 127.0.0.1 (loopback address) присвоюють інтерфейсу зворотного зв'язку і використовують для зв'язку із застосуваннями, запущеними на локальному хості.

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

Протокол IPv6

Суттєвим недоліком протоколу IPv4 є незначна довжина IP-адреси. Кількість адрес, які можна відобразити за допомогою 32 біт, є недостатньою з огляду на сучасні темпи росту Інтернету. Сьогодні нові IP-адреси виділяють обмежено.

Для вирішення цієї проблеми було запропоновано нову реалізацію ІР-прото-колу — IP версії 6 (IPv6), основною відмінністю якої є довжина адреси — 128 біт (16 байт).

Інші протоколи мережного рівня

Крім IP, на мережному рівні реалізовано й інші протоколи. Для забезпечення ме-режної діагностики застосовують протокол ІСМР (Internet Control Message Protocol), який використовують для передавання повідомлень про помилки під час пересилання ІР-дейтаграм, а також для реалізації найпростішого луна-протоколу, що реалізує обмін запитом до хосту і відповіддю на цей запит. ІСМР-повідомлення інкапсулюють в ІР-дейтаграми.

Більшість сучасних ОС мають утиліту ping, яку використовують для перевірки досяжності віддаленого хоста. Ця утиліта використовує луна-протокол у рамках ІСМР.

Підтримка мережного рівня

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

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

Темою цього розділу будуть особливості реалізації протоколів транспортного рівня на прикладі TCP.

Протокол TCP

Пакет з TCP –заголовком називають TCP –сегментом. Основні характеристики протоколу TCP [39] такі.

  •  Підтримка комунікаційних каналів між клієнтом і сервером, які називають з'єднаннями (connections). TCP-клієнт встановлює з'єднання з конкретним сервером, обмінюється даними з сервером через це з'єднання, після чого розриває його.
  •  Забезпечення надійності передавання даних. Коли дані передають за допомогою TCP, потрібне підтвердження їхнього отримання. Якщо воно не отримане впродовж певного часу, пересилання даних автоматично повторюють, після чого протокол знову очікує підтвердження. Час очікування зростає зі збільшенням кількості спроб. Після певної кількості безуспішних спроб з'єднання розривають. Неповного передавання даних через з'єднання бути не може: або воно надійно пересилає дані, або його розривають.
  •  Встановлення послідовності даних (data sequencing). Для цього кожний сегмент, переданий за цим протоколом, супроводжує номер послідовності (sequence number). Якщо сегменти приходять у невірному порядку, TCP на підставі цих номерів може переставити їх перед тим як передати повідомлення в застосування.
  •  Керування потоком даних (flow control). Протокол TCP повідомляє віддаленому застосуванню, який обсяг даних можливо прийняти від нього у будь-який момент часу. Це значення називають оголошеним вікном (advertised window), воно дорівнює обсягу вільного простору у буфері, призначеному для отримання даних. Вікно динамічно змінюється: під час читання застосуванням даних із буфера збільшується, у разі надходження даних мережею — зменшується. Це гарантує, що буфер не може переповнитися. Якщо буфер заповнений повністю, розмір вікна зменшують до нуля. Після цього TCP, пересилаючи дані, очікуватиме, поки у буфері не вивільниться місце.

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

Порти

Для встановлення зв'язку між двома процесами на транспортному рівні (за допомогою TCP або UDP) недостатньо наявності IP-адрес (які ідентифікують ме-режні інтерфейси хостів, а не процеси, що на цих хостах виконуються). Щоб розрізнити процеси, які виконуються на одному хості, використовують концепцію портів (ports).

Порти ідентифікують цілочисловими значеннями розміром 2 байти (від 0 до 65 535). Кожний порт унікально ідентифікує процес, запущений на хості: для того щоб TCP-сегмент був доставлений цьому процесові, у його заголовку зазначається цей порт. Процес-сервер звичайно використовує заздалегідь визначений порт, на який можуть вказувати клієнти для зв'язку із цим сервером. Для клієнтів порти зазвичай резервують динамічно (оскільки вони потрібні тільки за наявності з'єднання, щоб сервер міг передавати дані клієнтові).

Для деяких сервісів за замовчуванням зарезервовано конкретні номери портів у діапазоні від 0 до 1023 (відомі порти, well-known ports); наприклад, для протоколу HTTP (веб-серверів) це порт 80, а для протоколу SMTP - 25. В UNIX-системах відомі порти є привілейованими — їх можуть резервувати тільки застосування із підвищеними правами. Відомі порти розподіляються централізовано, подібно до ІР-адрес.

Якщо порт зайнятий (зарезервований) деяким процесом, то жодний інший процес на тому самому хості повторно зайняти його не зможе.

Підтримка транспортного рівня

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

Контрольні питання:

1. Рівні мережної архітектури TCP/IP.

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

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

4. Інші протоколи мережного рівня.

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

6. Порти.

7. Підтримка транспортного рівня.


 

А также другие работы, которые могут Вас заинтересовать

40196. Особенности коммерческих организаций, осуществляющих финансово-кредитные операции. Особенности коммерческих организаций, занимающихся финансовым посредничеством 55 KB
  Особенности коммерческих организаций осуществляющих финансовокредитные операции. Особенности коммерческих организаций занимающихся финансовым посредничеством Кредитная сфера охватывает часть денежных отношений характеризующуюся самостоятельным движением денег когда деньги меняют владельца Д Д. На этой основе у кредитных организаций возникают следующие группы финансовых отношений: денежные отношения характерные для коммерческих организаций: отношения с потребителями банковских услуг что является основой формирования финансовых...
40197. Особенности финансов некоммерческих организаций 22 KB
  Некоммерческие П. Некоммерческие партнерства 7. Автономные некоммерческие организации 8.
40198. Организация управления финансами корпораций. Организационная структура финансовой службы 62.5 KB
  СТРУКТУРА ФИНАНСОВОЙ СЛУЖБЫ ПРЕДПРИЯТИЯ Общее правило формирования коллектива сотрудников финансовой службы предприятия – высокая квалификация и экономически обоснованная минимизация штата. Поэтому структура финансовой службы предприятия обычно формируется постепенно по мере развития предприятия освоения современных технологий и внедрения современных инструментов финансового менеджмента централизации финансово – экономического управления предприятием и формирования на предприятии высокой корпоративной культуры. Структура финансовой службы...
40199. Понятие и сущность финансовых ресурсов. Охарактеризуйте основные подходы к формированию понятия финансовые ресурсы 41.5 KB
  Прибыль – это часть чистого дохода созданного в процессе производства и реализованного в сфере обращения которую непосредственно получает предприятие. Прибыль убыток отчетного периода складывается из: прибыли от реализации товаров; прибыли от реализации имущества и прочих активов; прибыли от финансовых операций; внереализационной прибыли. Прибыль от реализации товаров представляет собой разность выручки от реализации за вычетом НДС акцизов экспортных пошлин налога на реализацию ГСМ процентных надбавок к розничным ценам на...
40200. Подходы к трактовке определения капитала. Учетно-аналитический подход к трактовке понятия капитала 32.5 KB
  Подходы к трактовке определения капитала. Учетноаналитический подход к трактовке понятия капитала. Капитал – это стоимость которая имеет рыночную цену и спрос это реализуемая стоимость. Капитал имеет три формы движения: предпринимательскую прямые капиталовложения в производство и портфельные инвестиции т.
40201. Экономическая сущность капитала. Принципы его формирования 35.5 KB
  Экономическая сущность капитала. Рассматривая экономическую сущность капитала предприятия отметим следующие его главные черты: основной фактор производство; источник формирования благосостояния собственников; капитал предприятия является измерителем его рыночной стоимости. Вместе с тем объем используемого предприятием собственного капитала характеризует одновременно и потенциал привлечения им заемных средств; Динамика капитала предприятия является важнейшим показателем уровня эффективности его хозяйственной деятельности то есть за...
40202. Собственный капитал и его основные элементы. Расчет чистых активов 36.5 KB
  Расчет чистых активов Собственный капитал – общая стоимость средств пря принадлежащих ему на праве собственности. Для определения стоимости собственного капитала используется показатель стоимость чистых активов пря Ча=АрПр где где р принимаемые к расчету Аактивы Ппассивы Ча пря рассчитывается ежеквартально. Под стоимостью чистых активов акционерного общества понимается величина определяемая путем вычитания из суммы активов акционерного общества принимаемых к расчету суммы его пассивов принимаемых к расчету. Порядок расчета...
40203. Заемный капитал и его источники формирования 26 KB
  Краткосрочные Краткосрочные кредиты банков Краткосрочные займы Кредиторская задолженность По источникам привлечения: 1. Из внутренних источников кредиторская задолженность Цели привлечения: 1 – инвестиционные цели создание запасов; 2 – обеспечение непрерывности производственного процесса потребности пря в ресурсах. Кредиторская задолженность Задолженность поставщикам подрядчикам за выполненные работы поступившие ценности Начисленная но не выплаченная з...
40204. Эмиссия облигаций как источник финансирования 28 KB
  Эмиссия облигаций как источник финансирования. Эмиссия облигаций. Одним из источников финансирования инвестиционной деятельности может быть эмиссия облигаций направленная на привлечение временно свободных денежных средств населения и коммерческих структур.Привлекательность облигаций для потенциальных инвесторов во многом определяется условиями их размещения.