Задаване на маршрути
- фиксирани маршрути.
- Пренасочване на маршрута.
- Наблюдение на маршрута.
Досега разгледахме как таблицата за маршрутизиране се използва за маршрутизиране на IP пакети. Но откъде идва информацията в самата таблица с маршрути? В този раздел ще разгледаме методите за поддържане на правилните таблици за маршрутизиране.
1 . фиксирани маршрути.
Най-лесният начин да направите маршрутизиране е да настроите маршрути при стартиране на системата с помощта на специални команди. Този метод може да се приложи към относително малки IP мрежи, особено ако техните конфигурации не се променят често.
На практика повечето машини автоматично генерират таблици за маршрутизиране. Например UNIX добавя записи за IP мрежи, които са директно достъпни. Стартовият файл може да съдържа команди:
ifconfig ie0 128.6.4.4 мрежова маска 255.255.255.0
ifconfig ie1 128.6.5.35 мрежова маска 255.255.255.0
128 . 6. 4 | прав | празен | т.е.0 |
128 . 6. 5 | прав | празен | т.е.1 |
Тези записи указват, че IP пакетите за локалните подмрежи 128.6.4 и 128.6.5 трябва да се изпращат през посочените интерфейси.
Стартовият файл може да съдържа команди, които определят маршрути за достъп до други IP мрежи. Например,
маршрут добавяне 128.6.2.0 128.6.4.1 1
маршрут добавяне 128.6.6.0 128.6.5.35 0
По този начин командите, дадени в примера, казват, че за достъп до IP мрежата 128.6.2 трябва да се използва шлюзът 128.6.4.1, а IP мрежата 128.6.6 е просто допълнителен номер за физическата мрежа, свързана къминтерфейс 128.6.5.35.
128 . 6. 2 | непряк | 128 . 6. 4 . 1 | т.е.0 |
128 . 6. 6 | прав | празен | т.е.1 |
Ако вашата IP мрежа има само един шлюз, тогава всичко, което трябва да направите, е да зададете един запис в таблицата с маршрути, като посочите този шлюз като маршрут по подразбиране. След това не можете да се притеснявате за формирането на маршрути в други възли. (Разбира се, самият шлюз се нуждае от повече внимание.)
Следващите раздели са за IP мрежи, където има множество шлюзове.
2. Пренасочване на маршрута.
Повечето експерти по интернет мрежи препоръчват да оставите проблемите с маршрутизирането на шлюзовете. Лошо е да има голяма таблица с маршрути на всяка машина. Факт е, че при всякакви промени в IP мрежата трябва да промените информацията във всички машини.Например, когато комуникационният канал е деактивиран, за да възстановите нормалната работа, трябва да изчакате, докато някой забележи тази промяна в конфигурацията на IP мрежата и направи корекции във всички таблици с маршрути.
Да предположим, че таблицата с маршрути в началото изглежда така:
127 . 0 . 0 | прав | празен | lo0 |
128 . 6. 4 | прав | празен | pe1 |
по подразбиране | непряк | 128 . 6. 4 . 27 | pe0 |
Тази таблица съдържа запис за локалната IP мрежа 128.6.4 и маршрут по подразбиране, който сочи към шлюза 128.6.4.27. Да кажем, че има шлюз 128.6.4.30, който е най-добриятчрез достъп до IP мрежа 128.6.7. Как се използва?
128 . 6. 7. 23 | непряк | 128 . 6. 4 . тридесет | pe0 |
Всички следващи IP пакети за хост 128.6.7.23 ще бъдат изпратени директно през посочения шлюз.
Досега разгледахме начини за добавяне на маршрути към IP таблицата, но не и как да ги изключим. Какво се случва, ако шлюзът е изключен? Бих искал да имам начин да се върна обратно към маршрута по подразбиране, след като всеки маршрут бъде унищожен. Ако обаче шлюзът не функционира или е изключен, той вече не може да изпрати съобщение за пренасочване. Следователно трябва да има метод за определяне на изправността на шлюзовете, с които вашата машина е пряко свързана. Най-добрият начин за откриване на мъртви шлюзове е да се идентифицират "лоши" маршрути. TCP модулът поддържа различни таймери, които му помагат да открие, когато връзката е прекъсната. Когато възникне грешка, можете да маркирате маршрута като "лош" и да се върнете към маршрута по подразбиране. Подобна техника може да се използва при обработка на грешки в шлюза по подразбиране. Ако два шлюза са маркирани като шлюзове по подразбиране, тогава машината може да ги използва на свой ред, превключвайки между тях, когато се повреди.
3 . Наблюдение на маршрута.
Обърнете внимание, че съобщенията за пренасочване не могат да се използват от самите шлюзове. Пренасочването е просто начин за уведомяване на нормален хост да използва различен шлюз. Самите шлюзове трябва да имат пълна картина на състоянието на нещата в интернет и да могат да изчисляват най-добрите маршрути за достъп до всяка подмрежа. Обикновено те поддържат тази картина, като обменят информация помежду си. За целта иманяколко специални протокола за маршрутизиране.
Един от начините, по които възлите могат да определят кои шлюзове са в сила, е чрез наблюдение на обмена на съобщения между тях. За повечето протоколи за маршрутизиране има софтуер, който позволява на обикновените хостове да правят това подслушване. В същото време възлите поддържат пълна картина на състоянието на нещата в Интернет по същия начин, както се прави в шлюзовете. Динамичното регулиране на таблицата за маршрутизиране ви позволява да изпращате IP пакети по най-добрите маршрути.
По този начин проследяването на маршрутизирането в известен смисъл "решава" проблема с поддържането на правилните таблици за маршрутизиране. Има обаче няколко причини, поради които този метод не се препоръчва. Най-сериозният проблем е, че протоколите за маршрутизиране все още са обект на чести ревизии и промени. Появяват се нови протоколи за маршрутизиране. Тези промени трябва да се вземат предвид в софтуера на всички машини.
На достатъчно натоварена машина програмите, които не се използват за няколко секунди, обикновено се изпращат в пространството за суап. Следователно програмите, които наблюдават маршрутизирането, са в размяна през повечето време. Когато се активират отново, трябва да се извърши размяна.
Веднага щом бъде изпратено разпръснато съобщение, всички машини активират програми, които наблюдават маршрутизирането. Това води до размяна на много бездискови станции по едно и също време. Поради това ще има временно задръстване в мрежата. По този начин стартирането на програми, слушащи за излъчвания на бездискови работни станции, е силно нежелателно.