• Огляд основних протоколів.
• Програми діагностики TCP / IP.
Стек TCP / IP - це набір ієрархічно упорядкованих мережевих протоколів. Назва стек отримав за двома найважливішими протоколам - TCP (Transmission Control Protocol) і IP (Internet Protocol). Крім них в стек входять ще кілька десятків різних протоколів. В даний час протоколи TCP / IP є основними для Інтернету, а також для більшості корпоративних і локальних мереж.
Стек протоколів TCP / IP володіє двома важливими властивостями:
• платформонезавісимость, т. Е. Можлива його реалізація на самих різних операційних системах і процесорах;
• відкритістю, т. Е. Стандарти, за якими будується стек TCP / IP, доступні будь-якому бажаючому.
У 1967 році Агентство з перспективних дослідницьких проектів міністерства оборони США (ARPA - Advanced Research Projects Agency) ініціювало розробку комп'ютерної мережі, яка повинна була пов'язати ряд університетів і науково-дослідних центрів, які виконували замовлення Агентства. Проект отримав назву ARPANET. До 1972 року мережа об'єднувала 30 вузлів.
До кінця 80-х років значно розширилася мережа ARPANET почала називатися Інтернет (Interconnected networks - пов'язані мережі) і об'єднувала університети і наукові центри США, Канади та Європи.
На початку XXI століття стек TCP / IP набуває провідну роль в засобах комунікації не тільки глобальних, а й локальних мереж.
Модель взаємодії відкритих систем (OSI - Open Systems Interconnection) була розроблена Міжнародною організацією зі стандартизації (ISO - International Organization for Standardization) для однакового підходу до побудови і об'єднання мереж. Розробка моделі OSI почалася в 1977 році і закінчилася в 1984 році затвердженням стандарту. З тих пір модель є еталонною для розробки, описи і порівняння різних стеків протоколів.
Розглянемо коротко функції кожного рівня.
Модель OSI включає сім рівнів: фізичний, канальний, мережевий, транспортний, сеансовий, подання та прикладної.
1. Фізичний рівень (physical layer) описує принципи передачі сигналів, швидкість передачі, специфікації каналів зв'язку. Рівень реалізується апаратними засобами (мережевий адаптер, порт концентратора, мережевий кабель).
2. Канальний рівень (data link layer) вирішує два основні завдання - перевіряє доступність середовища передачі (середа передачі найчастіше виявляється розділена між кількома мережевими вузлами), а також виявляє і виправляє помилки, що виникають в процесі передачі. Реалізація рівня є програмно-апаратної (наприклад, мережевий адаптер і його драйвер).
4. Транспортний рівень (transport layer) вирішує завдання надійного обміну повідомленнями в складовою мережі за допомогою підтвердження доставки та повторної відправки пакетів. Цей рівень і все наступні реалізуються програмно.
5. Сеансовий рівень (session layer) дозволяє запам'ятовувати інформацію про поточний стан сеансу зв'язку і в разі розриву з'єднання відновлювати сеанс з цього стану.
6. Рівень подання (presentation layer) забезпечує перетворення переданої інформації з одного кодування в іншу (наприклад, з ASCII в EBCDIC).
7. Прикладний рівень (application layer) реалізує інтерфейс між іншими рівнями моделі і одними додатками.
В основі структури TCP / IP лежить не модель OSI, а власна модель, яка називається DARPA (Defense ARPA - нова назва Агентства по перспективних дослідницьких проектів) або DoD (Department of Defense - Міністерство оборони США). У цій моделі лише чотири рівня. Відповідність моделі OSI моделі DARPA, а також основних протоколах стека TCP / IP показано на рис. 2.2.
Слід зауважити, що нижній рівень моделі DARPA - рівень мережевих інтерфейсів - строго кажучи, не виконує функції канального і фізичного рівнів, а лише забезпечує зв'язок (інтерфейс) верхніх рівнів DARPA з технологіями мереж, що входять в складову мережу (наприклад, Ethernet, FDDI, ATM ).
Всі протоколи, що входять в стек TCP / IP, стандартизовані в документах RFC.
1) чернетка (Internet Draft) - на цьому етапі з документом знайомляться експерти, вносяться доповнення і зміни;
2) запропонований стандарт (Proposed Standard) - документу присвоюється номер RFC, експерти підтвердили життєздатність пропонованих рішень, документ вважається перспективним, бажано, щоб він був випробуваний на практиці;
3) чорновий стандарт (Draft Standard) - документ стає чорновим стандартом, якщо не менше двох незалежних розробників реалізували і успішно застосували пропоновані специфікації. На цьому етапі ще допускаються незначні виправлення і вдосконалення;
4) стандарт Інтернету (Internet Standard) - найвищий етап затвердження стандарту, специфікації документа набули широкого поширення і добре зарекомендували себе на практиці. Список стандартів Інтернету наведено в RFC 3700. З тисяч RFC тільки кілька десятків є документами в статусі «стандарт Інтернету».
Крім стандартів документами RFC можуть бути також опису нових мережевих концепцій та ідей, керівництва, результати експериментальних досліджень, представлених для інформації і т. Д. Таким документам RFC може бути присвоєно один з наступних статусів:
• експериментальний (Experimental) - документ, який містить відомості про наукові дослідження і розробки, які можуть зацікавити членів ISOC;
• кращий сучасний досвід (Best Current Practice) - документ, призначений для передачі досвіду конкретних розробок, наприклад реалізацій протоколів.
Номери RFC присвоюються послідовно і ніколи не видаються повторно. Початковий варіант RFC ніколи не оновлюється. Оновлена версія публікується під новим номером. Застарілий і замінений документ RFC отримує статус історичний (Historic).
Огляд основних протоколів
ПротоколиRIP (RoutingInformationProtocol - протокол маршрутної інформації) іOSPF (OpenShortestPathFirst - «першими відкриваються найкоротші маршрути») - протоколи маршрутизації в IP-мережах.
ПротоколICMP (InternetControlMessageProtocol - протокол керуючих повідомлень в складових мережах) призначений для обміну інформацією про помилки між маршрутизаторами мережі і вузлом-джерелом пакета. За допомогою спеціальних пакетів повідомляє про неможливість доставки пакета, про тривалості зборки пакета з фрагментів, про аномальні величини параметрів, про зміну маршруту пересилання і типу обслуговування, про стан системи і т. П.
TCP (TransmissionControlProtocol - протокол управління передачею) забезпечує надійну передачу повідомлень між віддаленими вузлами мережі за рахунок утворення логічних з'єднань. TCP дозволяє без помилок доставити сформований на одному з комп'ютерів потік байт на будь-який інший комп'ютер, що входить в складену мережу. TCP поділяє потік байт на частини - сегменти і передає їх мережевого рівня. Після того як ці сегменти будуть доставлені в пункт призначення, протокол TCP знову збере їх в безперервний потік байт.
UDP (UserDatagramProtocol - протокол дейтаграм користувача) забезпечує передачу даних дейтаграмним способом.
Далі розглядаються протоколи прикладного рівня.
HTTP (HyperTextTransferProtocol - протокол передачі гіпертексту) - протокол доставки web-документів, основний протокол служби WWW.
FTP (FileTransferProtocol - протокол передачі файлів) - протокол для пересилання інформації, що зберігається в файлах.
POP3 (PostOfficeProtocolversion 3 - протокол поштового офісу) і SMTP (SimpleMailTransferProtocol - простий протокол пересилання пошти) - протоколи для доставки вхідних повідомлень електронної пошти (POP3) і відправлення вихідної (SMTP).
Telnet - протокол емуляції термінала1, що дозволяє користувачеві підключатися до інших віддалених станцій і працювати з ними з своєї машини, як якщо б вона була їх віддаленим терміналом.
SNMP (SimpleNetworkManagementProtocol - простий протокол управління мережею) призначений для діагностики працездатності різних пристроїв мережі.
1 Термінал - це поєднання пристрої введення та пристрої виведення, наприклад клавіатура і дисплей.
Інформацію про будь-який утиліті можна вивести, набравши в командному рядку ім'я утиліти з ключем «/?», Наприклад: IPconfig /?
Утиліта призначена, по-перше, для виведення інформації про конфігурацію стека TCP / IP, по-друге, для виконання деяких дій з налаштування стека.
Коли ви вводите назву утиліти в командному рядку без параметрів на екрані відобразиться інформація про основні налаштуваннях TCP / IP (ці настройки розглядаються в наступних лекціях):
- суфікс DNS (Connection-specific DNS Suffix);
- маска підмережі (Subnet Mask);
- шлюз (Default Gateway).
Наведемо основні ключі утиліти:
• / renew - оновлення конфігурації TCP / IP (зазвичай виконується, якщо DHCP дозволений).
• / displaydns - висновок на екран кеша імен DNS.
• / flushdns - очищення кеша імен DNS.
• / registerdns - оновлення оренди DHCP і перереєстрація доменного імені в базі даних служби DNS.
Принцип роботи: утиліта відправляє на віддалений вузол кілька пакетів (число пакетів визначається ключем -n. За замовчуванням чотири) по протоколу ICMP. Такі пакети називаються луна-пакетами, т. Е. Вимагають
відповіді. Якщо віддалений вузол доступний, він відповідає на кожен луна-пакет своїм пакетом, а утиліта вимірює інтервал між відправленням луна-пакета і приходом відповіді.
Потрібно відзначити, що відсутність відповіді може бути пов'язано не з фізичної недоступністю віддаленого комп'ютера, а з тим, що на ньому встановлено програмне забезпечення, яке забороняє відправку відповідей на ехо-пакети (брандмауер - firewall).
• -t - пакети відправляються до тих пір, поки користувач не натисне комбінацію CTRL + C.
• -l <размер> - максимальний розмір пакета (за замовчуванням 32 байта).
• -w <таймаут> - Встановіть період очікування відповіді в мілісекундах (за замовчуванням 1000 мілісекунд = 1 секунда).
Назва утиліти походить від Trace Route - відстеження маршруту. Утиліта дозволяє вирішити такі завдання:
- простежити шлях проходження пакета від даного комп'ютера до віддаленого вузла (відображаються проміжні вузли-маршрутизатори);
- виявити ділянки затримки пакетів;
- виявити місця втрати пакетів.
Принцип роботи: утиліта відправляє луна-пакети на заданий віддалений вузол. Відмінність між ехо-пакетами полягає в параметрі, який називається «час життя» (TTL - Time To Live). Цей параметр позначає кількість маршрутизаторів (процес переходу пакета через маршрутизатор називається hop - стрибок), яке може пройти пакет, перш ніж потрапить на заданий вузол. Кожен маршрутизатор зменшує час життя на одиницю. Якщо на якомусь маршрутизаторе TTL стане рівним нулю, той відкидає пакет і відправляє службове повідомлення на вузол-джерело.
• / h
• / w <таймаут> - Встановіть період очікування відповіді в мілісекундах.
Утиліта відображає статистичну інформацію по протоколам IP, TCP, UDP і ICMP, а також дозволяє відстежувати мережеві з'єднання. Основні ключі:
• / a - список всіх підключень і прослуховувати портів.
• / e - статистика для Ethernet.
• / n - список всіх підключень і портів в числовому форматі.
• / s - статистика для перерахованих чотирьох протоколів.
•
• / s - додавання запису в таблицю.
• / d - видалення запису з таблиці.
Це найпростіша утиліта - вона виводить на екран ім'я комп'ютера.
Стек протоколів TCP / IP - це найпоширеніший на сьогоднішній день набір ієрархічно упорядкованих протоколів, застосовуваний як в локальних, так і в глобальних мережах. Найважливіші протоколи стека - IP, TCP і UDP - з'явилися на початку 80-х років в рамках проекту ARPANET, який був попередником Інтернету. У 90-і роки в міру розвитку Інтернету роль стека TCP / IP сильно зросла.
Стек TCP / IP був розроблений на основі моделі мережевої взаємодії DARPA, хоча між рівнями моделі DARPA, міжнародної семиуровневой моделлю OSI і стеком TCP / IP може бути встановлено відповідність. Стандарти протоколів TCP / IP відображені в вільно доступних документах RFC.
Основними протоколами стека є IP, TCP, UDP, ICMP, ARP, протоколи маршрутизації RIP і OSPF, прикладний рівень HTTP, FTP, POP3, SMTP, telnet, SNMP.
1. Поясніть, що означають властивості «платформонезавісимость» і «відкритість» стосовно до стека протоколів TCP / IP.
2. Що таке ARPANET?
3. Поясніть, для чого призначена модель OSI? Де вона застосовується?
4. Назвіть функції канального, мережевого і транспортного рівнів моделі OSI.
5. Чим відрізняється модель DARPA (DoD) від моделі OSI? Як ви думаєте, чому?
6. Що таке RFC? У файлах якого формату видаються RFC?
7. Для чого використовується протокол ICMP? Протокол ARP?
8. Поясніть принцип роботи утиліти ping.
9. Поясніть принцип роботи утиліти tracert.