Ноу Інти, лекція, введення в мережеві протоколи
Програми для роботи з мережею
У різних ОС існують свої набори утиліт. Порівняємо їх для двох систем, наприклад, Microsoft Windows NT і Sun Solaris. Якими б різними не були ці ОС, в кожній з них реалізована модель OSI. Природно, програмна і апаратна реалізація стека цієї моделі у них різниться, але взаємодія всіх рівнів здійснюється за встановленим стандартом.
IPCONFIG (IFCONFIG)
Існує два типи записів в ARP-таблиці - статичний і динамічний. Статична запис вноситься вручну і існує до тих пір, поки вручну ж потрібно стерти, або комп'ютер (маршрутизатор) не перезавантажений.
Для виявлення різних неполадок в мережі існує кілька утиліт, які дозволяють визначити, на якому рівні моделі OSI стався збій, або вказані неправильні настройки мережевих протоколів. Одна з таких утиліт - ping.
Протокол ICMP знаходиться на стику двох рівнів - мережевого і транспортного. Основний принцип дії цього протоколу - формування ICMP ехо-запиту (echo-request) і луна-відповіді (echo-reply). Запит луни і відповідь на нього може використовуватися для перевірки досяжності хоста- одержувача і його здатності відповідати на запити. Також проходження луна-запиту і луна-відповіді перевіряє працездатність основної частини транспортної системи, маршрутизацію на машині джерела, працездатність і коректну маршрутизацію на роутерах між джерелом і одержувачем, а також працездатність і правильність маршрутизації одержувача.
Таким чином, якщо на посланий echo-request повертається коректний echo-reply від машини, якій був посланий запит, можна сказати, що транспортна система працює коректно. І якщо браузер не може відобразити web-сторінку, то проблема, як видно, не в перших трьох рівнях моделі OSI.
З прикладу видно, що за замовчуванням розмір посилається пакета - 32 байта, далі виводиться час затримки відповіді і TTL. Цей приклад демонструє успішне виконання команди ping. У випадках, коли запити echo request надсилаються, але echo reply не повертаються, виводиться повідомлення про закінчення часу очікування відповіді.
Traceroute
Утиліта traceroute також використовує протокол ICMP для визначення маршруту проходження пакету. При надсиланні traceroute встановлює значення TTL послідовно від 1 до 30. Кожен маршрутизатор, через який проходить пакет на шляху до призначеного хосту, зменшує значення TTL на одиницю. За допомогою TTL відбувається запобігання зациклення пакета в "петлях" маршрутизації, інакше "заблукали" пакети остаточно перевантажили би мережу. Однак, при виході маршрутизатора або лінії зв'язку з ладу потрібно кілька додаткових переходів для розуміння, що даний маршрут втрачений і його необхідно обійти. Щоб запобігти втраті датаграми. поле TTL встановлюється на максимальну величину.
Розглянемо приклад виконання утиліти traceroute.
У кожній з операційних систем мережева частина утиліти реалізована практично однаково, але реалізація на рівні додатків різниться.
В ОС Windows утиліта називається tracert. Використовується вона так само, як і в ОС Solaris (tracert netserv1.chg.ru). Принципової різниці між утилітами tracert і traceroute немає. Особливістю traceroute є наявність більшої кількості функцій (наприклад, можна вказати, починаючи з якого TTL виводити інформацію).
У разі будь-якої неполадки виводиться відповідне повідомлення. Наприклад, при недоступності мережі на маршрутизаторі видається повідомлення! N (net unreachable):
Це означає, що 147.45.20.37 - маршрутизатор, починаючи з якого, наступний маршрут недоступний. Якщо недоступний сам хост, то повідомлення буде виглядати так:
Помилка! P означає недоступність протоколу (protocol unreachable).
У таблиці маршрутизації вказується мережу, маска мережі, маршрутизатор, через який доступна ця мережа, інтерфейс і метрика маршруту. З наведеної таблиці видно, що маршрут за замовчуванням доступний через маршрутизатор 192.168.1.1. Мережа 192.168.1.0 з маскою 255.255.255.0 є локальною мережею.
При додаванні маршруту можна використовувати наступну команду.
157.0.0.0 - дистанційна мережу, 255.0.0.0 - маска віддаленої мережі, 157.55.80.1 - маршрутизатор, через який доступна ця мережа. Приблизно такий же синтаксис використовується при видаленні маршруту: route DELETE 157.0.0.0.
У наведеному прикладі перше значення - TCP - тип протоколу (може бути TCP або UDP), далі йде ім'я локальної машини і локальний порт, www.ru:http - ім'я віддаленого хоста і порту, до якого здійснюється звернення (оскільки використовувався порт за замовчуванням для протоколу HTTP, то відображається не його числове значення 80, а ім'я протоколу), ESTABLISHED - показує, що TCP-з'єднання встановлено.
В ОС Solaris для отримання інформації про вибір потрібного порту також застосовується утиліта netstat. Формат виведення практично однаковий.