Модель TCP/IP.
У той час, як протоколи OSI розвиваються повільно, головним чином внаслідок їх формального, базованого на комітетах, інженерного підходу, система протоколів TCP/IP швидко розвивається і визріває. З політикою впровадження і модифікації системи протоколів RFC він встановився як кращий протокол для більшості комунікаційних мереж.
Як еталонна модель OSI і більшість інших комунікаційних протоколів для даних, TCP/IP є стеком протоколів, який складається з чотирьох рівнів (рис. 3.1).
Рис. 3.1. Стек протоколів TCP/IP.
Рівень застосувань – це процеси користувача, пов’язані з іншими процесами в тій самій або іншій станції. Він забезпечується програмами користувача, які вживають TCP/IP для комунікації. Прикладами поширених застосувань, які використовують TCP/IP, є Telnet – протокол для віддаленого сполучення терміналів, FTP – протокол пересилання файлів, SMTP - протокол пересилання електронної пошти. Існує багато інших, але це основні застосування. За винятком ping (який є простим засобом діагностики – протокол висилає пакет і визначає, чи отримане ехо-відповідь від призначення, щоб визначити досяжність призначення і як довго пакет слідує до призначення і назад), інші застосування є застосуваннями типу “клієнт-сервер”. Файли пересилаються до/від сервера від/до клієнта,електронна пошта висилається від клієнта до поштового сервера, читається із цього сервера клієнтом-приймачем; віддалене управління портом станції фактично є управлінням портом telnet-сервера з боку telnet-клієнта. Для таких застосувань кожен клієнт виконує “клієнтську програму”, тоді як сервер –“серверну програму”. Програми застосувань клієнта і сервера взаємодіють, спочатку для відкриття сесії (повідомлення про реєстрацію, адреса або назва ресурсу, доступ до якого портібний), потім для створення передавального і приймального буферів для сесії у клієнта і сервера, а також для встановлення правильних параметрів подання (кодування, шифрування, компресії, формату друку тощо). Як тільки ця фаза завершеня, то викликається рівень пакування-розпакування – Трансортний рівень. Інтерфейси між Рівнем застосувань і Транспортним рівнем визначені номерами протокольних портів і гніздами (sockets).
Транспортний рівень забезпечує наскрізне пересилання даних. Він відповідає за надійний обмін інформацією. В дійсності протоколи Транспортного рівня фізично не переміщають даних, вони тільки здійснюють їх упакування і розпакування. Програми і апаратура для переміщення даних викликаються цими протоколами для виконання властивих їм завдань.
Головним транспортним протоколом є TCP (Transmission Control Protocol – протокол управління пересиланням). TCP - це складний повнодуплексний протокол, який здійснює послуги зі встановленням сполучення. Він розділяє файл, що підлягає пересиланню, на частини, які називають “сегментами”. Сегмент TCP складається із заголовка і даних, пов’язаних із ним. Порти джерела і призначення використовуються для визначення номерів сесій клієнта і сервера.
Для кожного сегменту його місце у послідовності визначається висиланням спеціального пакету TCP і підтвердженням через отримання відповідного TCP-пакету. При висиланні пакетів TCP управління потоком сегментів керується призначенням “вікна”, яке має стільки бітів, скільки передавач може вислати водночас. Крім того, TCP може позначати дані як “термінові” або як “зовнішньо-термінові/слід_вислати”, і погоджувати максимальний розмір сегменту. Сегменти висилаються послідовно, перевіряються за допомогою циклічної контрольної суми (CRC); при виявленні помилок вимагається повторне пересилання. Порядковий номер сегменту TCP у послідовності, номер підтвердження, CRC, прапорці портів призначення і джерела, а також опції поміщені перед даними у заголовку сегменту.
Іншим протоколом Транспортного рівня є UDP (User Datagramm Protocol – протокол данограм користувача), який забезпечує послуги без встановлення сполучення. UDP – це дуже простий протокол, який пов’язує заголовок із даними, що складаються із номерів портів призначення і джерела та CRC, і пересилає дані одним пакетом (данограмою) без контролю послідовності або помилок. Це означає, що застосування, які використовують UDP як транспортний протокол, повинні забезпечувати власне наскрізне управління потоком. Звичайно UDP вживають для застосувань, які потребують швидкого механізму транспорту.
Рівень об’єднання мереж,який також називають Рівнем internet або Мережевим рівнем, забезпечує образ віртуальної мережі для об’єднання мереж (internet), є найвищим рівнем для типової мережевої архітектури, розташованої під цим рівнем, і відділяє фізичну мережу від рівнів понад нею. Найважливішим протоколом цього рівня є IP (Internet Protocol). Це протокол без встановлення сполучення, який не передбачає надійності нижніх рівнів. IP не забезпечує надійності, управління потоком або виправлення помилок. Ці функції повинні бути передбачені на вищих рівнях, зокрема, на Транспортному рівні при використанні TCP, або на Рівні застосувань, якщо вживається UDP. Одиницею повідомлення в IP-мережі є данограма. Це основний інформаційний блок, який пересилається через мережу TCP/IP. У стеку протоколів IP забезпечує функції раутінгу для розподілу цих данограм до коректних приймачів (адресатів).
Спосіб, у який працює протокол IP, полягає в наступному. У станції-джерелі TCP або UDP сегментують повідомлення і передають сегменти до IP. Протокол IP поміщає сегменти в данограми, дописуючи IP-заголовок, і пересилає данограми до “раутера за замовчуванням” (який в TCP/IP називають шлюзом). Раутер перевіряє заголовок кожної данограми і порівнює IP-адресу призначення з адресами мереж, які знаходяться під контролем цього раутера. Якщо адреса узгоджується, то раутер приймає пакет і пересилає його до мережі, в якій розташована станція-призначення. Якщо ні, то раутер перевіряє свою таблицю раутінгу для знаходження раутера наступного стрибка, до якого пересилає (маршрутує) данограму. Останній раутер, тобто той, який встановив відповідність адреси призначення своїй мережі, доручає данограму до станції-призначення. При цьому раутер використовує таблицю відповідності IP-адрес MAC-адресам станцій в мережі. Це таблиця протоколу розв’язування адрес (Address Resolution Protocol - ARP). Якщо потрібної адреси нема в таблиці, то раутер висилає ARP-запит, отримує ARP-відповідь про MAC-адресу потрібної станції та заносить її у таблицю.
Іншими протоколами Рівня internet є ICMP, IGMP та RARP.
Також на цьому рівні здійснюється задача маршрутизації.
Раутінг (маршрутизація) це процес визначення шляху або методу, який повинен бути використаний для встановлення сполучення або пересилання повідомлень.
Шлях в комунікаційних системах і мережевих топологіях - це маршрут між двома вузлами (пунктами).
У більшості методів здійснення рішень маршрутизації кожен раутер зберігає таблицю інших вузлів мережі, які можуть бути досягнені. Існують механізми для створення і зміни цих таблиць раутінгу, які мають багато відмінностей у підходах. Повинна існувати певна стратегія для модифікації таблиці раутінгу, щоб вирішувати проблеми, які виникають, наприклад, при впровадженні нового вузла до мережі.
Одна можливість полягає у тому, щоб де-небудь в мережі мати спеціальний вузол, відомий як центр раутінгу. Цей вузол повинен бути придатний до розсилання модифікацій до всіх таблиць раутінгу, як тільки з’являється проблема або запланована зміна. Це може відповідати ситуації, коли великий обсяг трафіку перевантажує одну частину мережі, і потрібно змінити маршрутизацію деяких повідомлень. Головною перевагою цього методу модифікації є те, що алгоритм, який визначає новий маршрут, може діяти із врахуванням стану цілої мережі. Головним недоліком є обсяг мережевого трафіку, згенерованого повідомленнями раутінгу. Кожний комутатор звітує про свій статус до центру раутінгу у наперед визначений інтервал часу і центр раутігу звітує кожному вузлу про кожну зміну в статусі. Всі ці звіти передаються через мережу і минає багато часу, перш ніж її можна використати для передавання даних. Іншим недоліком є опора на один окремий вузол для управління цілою мережею.
Інша стратегія полягає у використанні локальної модифікації таблиць раутінгу, щоб управитися з відмовами сполучень і комутаторів. Це зроблено таким чином, що кожний комутатор звітує про свій статус і висилає копії своєї таблиці раутінгу до всіх комутаторів, з якими він сполучений. При порівнянні з усіма іншими отриманими таблицями раутінгу комутатор може змодифікувати свою власну. Це простіше зробити, переглядаючи кількість переходів або операцій зберігання чи висилання, потрібних для досягнення іншого комутатора в мережі. Через додання як мінімум однієї з усіх інших отриманих таблиць можна простіше встановити кращий маршрут. Оскільки трафік всіх звітів локальний, то він займає мережу на значно менший час, ніж при підході з центром раутінгу.
Інший механізм раутінгу більше залежить від топології мережі, ніж віж стратегії модифікації. Наприклад, багато локальних мереж не потребують стратегії раутінгу, бо все з’єднане з усім іншим. Мережі, структуровані як дерева, такі як IBM SNA, мають тільки один можливий шлях від одного вузла до іншого, тому раутінг не є проблемою на мережевому рівні.
Як вже вказувалося раніше, ефективність може бути виміряна в різних формах, і ініціатор повідомлення повинен визначити, який параметр є особливо важливий. Якщо вибраним параметром є вартість передачі, то тоді до вибору є багато алгоритмів раутінгу, відомих під назвою алгоритмів найкоротшого шляху. Прикладами таких алгоритмів є алгоритми Bellmann, Forde-Moore, Dijkstra, Floyd-Warshall і розподілений асинхронний алгоритм Bellman-Forde-Moore. Алгоритми раутінгу за найкоротшим шляхом можуть мати значну проблему стабільності, якщо на відстань впливає трафік в комунікаційному сполученні. Стабілізація раутінгу може бути здійснена шляхом зміщення моменту часу, в який вузли змінюють раутінг. Це трапляється у мережах, які використовують раутінг віртуальних кіл, через те, що кожний раутінг залишає постійний для тривалості відповідного віртуального кола і кінця віртуального кола у різні моменти часу.
Можливе вдосконалення характеристик алгоритмів раутінгу, особливо за умов великого навантаження, шляхом дозволу на розділення трафіку вздовж багатьох шляхів між даними джерелом та призначенням. Такі алгоритми раутінгу значно складніші від алгоритмів найкоротшого шляху і називаються біфуркаційним раутінгом.
Рівень мережевого інтерфейсу, який також називають Канальним рівнем, є здійснює інтерфейс до наявного мережевого обладнання (Фізичного рівня). Цей рівень також не гарантує надійного доручення даних; він може бути орієнтованим на пакети або потоки. TCP/IP не визначає жодного конкретного протоколу для цього рівня. Він може використовувати будь-який наявний мережевий інтерфейс, реалізуючи цим гнучкість мережі і сумісність з наявною інфраструктурою. Прикладами протоколів мережевого інтерфейсу, які підтримуються, є IEEE 802.3, Ethernet, X.25 (який є надійним сам по собі), Frame Relay, ATM. Канальний і Фізичний рівні фактично здійснюють транспорт даних.
Дата добавления: 2015-04-19; просмотров: 1429;