Вражаюче, як швидко біжить час. Люди думаю, що справжні комп'ютери дуже високотехнологічні, але протокол TCP / IP існує в тій чи іншій формі вже понад три десятиліття. У нього було достатньо часу, щоб дозріти і стати стабільним і надійним. Але якщо справа стосується комп'ютерів, то нічого не може бути надійним. При вказівці маршрутів для пакетів в мережі іноді трапляються неприємності. У таких ситуаціях слід бути знайомим з таблицями маршрутизації Windows. Вони визначають потік пакетів з необхідною машини. У статті я розповім про те, як переглядати таблиці і як їх зрозуміти.
Таблиці маршрутизації - важлива частина протоколу TCP / IP в Windows, але операційна система не показує їх звичайному користувачеві. Якщо хочеться їх побачити, то необхідно відкрити командний рядок і ввести команду ROUTE PRINT. Після цього можна буде побачити вікно, схоже на представлене на малюнку А.
РісунокA: Так виглядають таблиці маршрутизації.
Це показує установку протоколу TCP / IP на комп'ютері. Ви також можете подивитися розділ TCP / IP у властивостях мережевого адаптера, але перший спосіб краще. Я часто стикався з ситуацією, коли команда IPCONFIG виводила зовсім інші дані, ніж дані, введені в властивості TCP / IP. Це трапляється нечасто, але помилки відбуваються через це розбіжності. Іншими словами, дані, введені в властивості TCP / IP, визначають установку протоколу для обраної мережі. А команда IPCONFIG показує, як Windows насправді налаштував протокол.
Навіть при відсутності помилок, буде корисно перевірити настройку через команду IPCONFIG. Якщо на комп'ютері стоять кілька мережевих адаптерів, то складно запам'ятати, які налаштування відносяться до якогось адаптера. Команда IPCONFIG показує список різних налаштувань в легко читається форматі на основі мережевого адаптера, як показано на малюнку В:
РісунокB: Команда IPCONFIG / ALL показує всі налаштування TCP / IP на основі мережевого адаптера
Перевірка таблиць маршрутизації
Для розуміння інформації, що міститься в таблицях, необхідно зрозуміти принцип роботи маршрутизатора. Робота маршрутизатора полягає в тому, щоб направляти трафік з однієї мережі в іншу. Тому маршрутизатор може складатися з декількох мережевих адаптерів, кожен з яких підключений до різних мережевих сегментів.
Коли користувач відправляє пакет в інший мережевий сегмент, ніж той, до якого підключений комп'ютер, то пакет направляється в маршрутизатор. Тоді маршрутизатор визначає сегмент, в який необхідно направити даний пакет. Не має значення, чи підключений маршрутизатор до двох мережевим сегментам або десятку. Процес прийняття маршрутизатором рішення однаковий, і грунтується він на таблицях маршрутизації.
Насправді на вибір можуть вплинути кілька факторів: ціна квитка, час вильоту і т. Д. Але припустимо, що всі однаково. Якщо немає різниці крім маршруту, то, звичайно ж, краще скористатися рейсом без проміжних приземлень. Цей маршрут найшвидший, крім того, він дозволить уникнути проблем зі зв'язком, втраченим багажем і т. Д.
Маршрутизація працює за таким же принципом. Існує кілька маршрутів відправки пакетів. У цьому випадку має сенс відправити його по найкоротшому шляху. Ось коли вступають в гру метрики. Система Windows не задіє метрики, поки є тільки один маршрут досягнення місця призначення. В іншому випадку Windows перевіряє метрики для визначення найкоротшого шляху. Це спрощене пояснення, але воно дозволяє зрозуміти принцип роботи.
Додаткові можливості маршрутизації
Я вже згадував команду Route Print, але існує безліч варіантів використання команди ROUTE. Її синтаксис наступний:
ROUTE [-f] [-p] [command [destination] []
Перемикач -f є необов'язковим. Він вказує Windows на необхідність очистити таблиці маршрутизації від пунктів шлюзу. Якщо даний перемикач використовується спільно з іншими командами, то пункти шлюзу будуть видалені перед виконанням інших інструкцій, що містяться в команді.
Перемикач -р робить певний маршрут постійним. Зазвичай при перезавантаженні сервера, будь-які певні через команду ROUTE маршрути видаляються. Перемикач -р вказує на необхідність зберігати даний маршрут навіть при перезавантаженні системи.
Командна частина в синтаксисі ROUTE проста. Вона може складатися з 4 варіантів: PRINT, ADD, DELETE, і CHANGE. Я вже говорив про команду ROUTE PRINT, але і у неї можуть бути варіанти. Наприклад можна використовувати спеціальні символи в команді. Якщо потрібно надрукувати маршрути для підмережі 192.x.x.x, можна скористатися командою ROUTE PRINT 192 *.
Команда ROUTE DELETE працює також як і ROUTE Print. Просто введіть ROUTE DELETE, а слідом місце призначення або шлюз, який необхідно видалити з таблиці маршрутизації. Наприклад, при бажанні видалити шлюз 192.0.0.0 введіть ROUTE DELETE 192.0.0.0.
Все вище сказане стосується і команд ROUTE CHANGE і ROUTE ADD. При введенні даної команди слід визначити місце призначення, маску підмережі та шлюз. Також можна вказати метрики і інтерфейс.
Наприклад, додати місце призначення з простим синтаксисом можна наступним чином:
ROUTE ADD 147.0.0.0 255.0.0.0 148.100.100.100
ROUTE ADD 147.0.0.0 255.0.0.0 148.100.100.100 METRIC 1 IF 1
Параметр metric необов'язковий, але він визначає метрику і кількість відрізків для маршруту. Параметр IF вказує Windows, який адаптер використовувати. У нашому випадку Windows використовує мережевий адаптер, який пов'язаний з ним в якості інтерфейсу 1. При відсутності даного параметра використовується кращий інтерфейс.
висновок
У статті я розповів про те, як використовувати команду ROUTE для виведення таблиць маршрутизації і внесення в них змін. Якщо потрібна додаткова допомога, можна отримати додаткові приклади, ввівши команду ROUTE /? Command.