Днес ще говорим за статичната маршрутизация и ще разгледаме три теми: какво е статична маршрутизация, как се конфигурира и каква е алтернативата й. Виждате топология на мрежата, която включва компютър с IP адрес 192.168.1.10, свързан чрез суич до шлюза или рутера. За това свързване се използва портът на рутера f0/0 с IP адрес 192.168.1.1.

Вторият порт на този рутер f0/1 с IP адрес 192.168.2.1 е свързан с порта f0/0 на друг рутер, който има адрес 192.168.2.2. Вторият рутер е свързан с третия рутер чрез порт f0/1 с адрес 192.168.3.2, а третият рутер използва порт f0/0 с IP адрес 192.168.3.3 за това свързване.
Накрая, третият рутер е свързан с втория суич чрез порт f0/1 с адрес 192.168.4.3, а суичът е свързан със втория компютър с IP адрес 192.168.4.10.
Ако знаете как да разделите подсетите по IP адреси, определете, че участъкът от първия компютър до първия рутер принадлежи на една подсет, участъкът между първия и втория рутер – на втори мрежов сегмент, между втория и третия рутер – на трети мрежов сегмент и между третия рутер и втория компютър – на четвърти мрежов сегмент. По този начин имаме 4 различни мрежи.

Ако компютърът 192.168.1.10 иска да се свърже с компютъра 192.168.4.10, той първо трябва да изпрати данните си до шлюза 192.168.1.1. Той създава фрейм, в който поставя IP адреса на източника и дестинацията, MAC адреса на източника и дестинацията и го изпраща до рутера. Рутерът отхвърля информацията от второто ниво, тоест MAC адресите, и разглежда информацията от третото ниво. Разбирайки, че данните са адресирани до устройство с IP адрес 192.168.4.10, рутерът осъзнава, че такова устройство не е свързано с него, затова той просто трябва да пропусне този фрейм нататък в мрежата. Той проверява своята таблица за маршрутизация и вижда, че данните за мрежа 4 трябва да бъдат изпратени на устройството с IP адрес 192.168.2.2.
По аналогичен начин вторият рутер проверява своята таблица за маршрутизация, установява, че данните за мрежа 4 трябва да бъдат изпратени на IP адрес 192.168.3.3 и изпраща фрейма на третия рутер. Накрая, третият рутер проверява своята таблица, установява, че мрежа 4 е свързана с него и изпраща фрейма на втория компютър.
Нека разгледаме как се създава таблица за маршрутизиране. За тази цел ще използваме Cisco Packet Tracer и ще видим как се реализира концепцията за маршрутизиране. Тук е изобразена същата топология на мрежата и сега ще присвоя на рутерите съответните IP адреси, като посоча също адресите на подразбиращите се шлюзове.

Ние не правим нищо със суичa, защото той работи с настройките по подразбиране и използва VLAN1. Нека преминем към настройките на първия рутер Router0. Първо ще му присвоя името на хоста R1, след което ще зададем IP адрес и маска на подмрежата за интерфейса f0/0. След това е необходимо да приложим командата no shutdown. Виждате как индикаторът на интерфейса се промени от червен на зелен, тоест портът е включен в мрежата.
Следва да настроим втория порт на рутера f0/1, като името на хоста остава същото, просто добавяме IP адрес 192.168.2.1 и маска на подмрежата 255.255.255.0. Няма нищо ново тук, това е проста настройка, вие вече познавате всички команди, затова бързо ще премина през останалите рутери. Докато присвоявам IP адреси и използвам командата no shut, портовете на рутерите ще променят цвета си на зелен, показвайки, че връзката между устройствата е установена. В същото време създавам мрежи 1., 2., 3. и 4. Последният октет на IP адреса на порта на рутера указва номера на самия рутер, а предпоследният октет – на номера на мрежата, свързана с този порт.
По този начин, адресите на портовете на първия рутер ще бъдат 192.168.1.1 (първи рутер, първа мрежа) и 192.168.2.1 (първи рутер, втора мрежа), на втория рутер – 192.168.2.2 (втори рутер, втора мрежа) и 192.168.3.2 (втори рутер, трета мрежа), и на третия рутер – 192.168.3.3 (трети рутер, трета мрежа) и 192.168.4.3 (трети рутер, четвърта мрежа). Според мен това е доста лесно за запомняне, но в реалността адресите могат да бъдат формулирани по различен начин, в зависимост от правилата, прилагани във вашата компания. Трябва да се придържате към правилата на компанията, защото на вашия колега ще му бъде по-лесно да отстранява неизправности във вашата мрежа, ако я оформяте в съответствие с правилата.
И така, приключих с присвояването на IP адреси на портовете на рутера и виждате, че портът на втория суич също промени цвета си на зелен, защото връзката между него и втория компютър беше създадена автоматично.

Сега ще повикам терминал на командния ред на първия компютър и ще направя ping на втория компютър с адрес 192.168.4.10. Нека превключим в режим на симулация – сега виждате анимирано движение на пакетите ping през мрежата. Сега отново ще пусна пинга, така че да можете да се вгледате внимателно какво се случва. Отдясно в таблицата виждате ICMP, Internet Control Message Protocol – това е обозначението на ping. Ping е протокол, който използваме, за да проверим свързаността.

Изпращате тестов пакет на друго устройство и ако то го върне, то свързаността е успешно установена. Ако щракнете върху пакета ping в схемата, можете да видите информация за трансфера.

Виждате данните от 3-ти слой на OSI – това са IP адресите на източника и целта на ping, данните от 2-ри слой под формата на съответстващите MAC адреси и данните от 1-ви слой под формата на обозначение на порта (портовете) – това е FastEthernet0. Можете също да погледнете формата на ping рамката: заглавка, тип и тяло на пакета.

Рамката се насочва към суич, койтo анализира MAC адресите и я изпраща по-нататък в мрежата към рутера. Рутерът вижда IP адреса 192.168.4.10 и отхвърля пакета, защото не знае такъв адрес. Нека видим какво се случва в реално време, като се върнем към пинга в командния ред.

Виждате, че при опит за ping на компютър 192.168.4.10 всички 4 пакета са загубени – от рутера 192.168.1.1 получихме отговор, че целевият хост не е наличен. Нека се върнем в интерфейса на командния ред на рутера и да въведем командата show ip route. Виждате най-важната част – таблицата за маршрутизиране, а въведената от мен команда е една от основните команди за маршрутизиране на Cisco. В момента тази таблица съдържа 2 записа. В началото на таблицата има списък с използваните съкращения, от който е видно, че буквата C обозначава свързвания. Първият запис съобщава, че мрежата 192.168.1.0/24 е директно свързана с порта FastEthernet0/0, а мрежата 192.168.2.0/24 е директно свързана с порта FastEthernet0/1. Това означава, че в момента рутерът знае само за тези две мрежи.

Значението на 192.168.1.0/24 е идентификатор на мрежата. Когато създавахме подмрежи, ние същевременно създавахме и техните идентификатори. Тези идентификатори указват на рутера, че всички устройства, чиито IP адреси са в диапазона от 192.168.1.1 до 192.168.1.254, се намират в тази подмрежа. Така, всички тези устройства технически трябва да бъдат достъпни за рутера, тъй като той е свързан с тази мрежа.
Ако в края на идентификатора има стойност /24, това означава, че на всички устройства в тази мрежа от 1 до 254-ти ще бъде изпратен широковещателен запрос. Така, към този рутер са свързани само мрежите 1 и 2, затова той знае само за тези мрежи. Следователно, когато пингът от адрес 192.168.4.10 достигне до рутера, той не знае, че този адрес е достъпен по маршрута Router0 - Router1 - Router2.
Но вие, като администратор на мрежата, знаете, че този маршрут е достъпен, т.е. че първият рутер може да изпрати този пакет на втория рутер. Затова трябва да организирате статична маршрутизация. Нека опитаме да направим това.
Ще кажем на този рутер, че всякакви пакети и трафик, предназначен за мрежата 192.168.4.0/24, трябва да бъдат изпратени на втория рутер. Форматът на командата за задаване на статична маршрутизация е следният: ip route .
![]()
Сега ще ви покажа какво означава това. Използваме режима на глобална конфигурация на настройките на рутера за тази команда. Въвеждам ip route 192.168.4.0 255.255.255.0 – това означава, че всеки трафик за устройства в мрежата, чийто IP адрес има стойност на последния октет от 1 до 254, ще попадне тук, след което въвеждам или IP адрес, или обозначение на порта, към което трябва да бъде изпратен този трафик. В този случай въвеждам обозначението на интерфейса f0/1, т.е. командата придобива следния вид: ip route 192.168.4.0 255.255.255.0 f0/1.

Вместо интерфейса на шлюза мога да посоча неговия IP адрес, тогава командата за статична маршрутизация ще изглежда като ip route 192.168.4.0 255.255.255.0 192.168.2.2.
Можете да попитате какво е по-добро. Смятам, че за широкомрежови платформи, като Ethernet, е по-добре да се указва IP адрес. Ако обаче използвате мрежи тип „точка-точка“, като Frame Relay (мрежи с повторно предаване или комутация на кадри), е по-добре да се използва exit interface. По-късно ще разгледаме мрежите Frame Relay, а в момента използвам по-подходящия вариант на командата за маршрутизиране -192.168.4.0 255.255.255.0.
Нека сега да погледнем таблицата за маршрутизиране, използвайки командата do show ip address. Виждате, че в нея се е появила нова записка, обозначена с буквата S, тоест статично.

Тази записка казва, че ако има трафик за мрежата 192.168.4.0/24, той трябва да се пренасочва към адресата през устройството с IP адрес 192.168.2.2. Да се върнем на командния ред на компютъра и да пингваме нужния адрес още веднъж. Сега трафикът трябва да премине през първия рутер и да достигне до втория рутер, който трябва да отхвърли пакетите.
В първия случай рутерът не само отхвърли пакетите, но също така отговори на компютъра, че IP адресът 192.168.4.10 е недостъпен. Въпреки това вторият рутер може да отговори само на първия рутер, от който е получил трафика. Нека да разгледаме таблицата за маршрутизиране на втория рутер. Там е посочено, че Router1 знае само за мрежи 2 и 3 и нищо не знае за мрежа 4, където той трябва да изпрати пакетите на първия компютър. Той би изпратил обратно съобщение, че хостът не е достъпен, но не знае как да се свърже с компютъра, който е изпратил тези пакети, защото не знае нищо за мрежа 1. Ето защо вместо съобщение за недостъпност на хоста получихме съобщение Request timed out – времето за изчакване на заявката изтече. Различните мрежови устройства имат различни стойности на TTL, така че, когато IP пакетите достигнат тази стойност, те се унищожават. При това се извършва обратно отчитане – извършва се един хоп и броячът на TTL се променя от 16 на 15, вторият – от 15 на 14 и така нататък, докато стойността на TTL не достигне 0 и пакетът бъде унищожен.
Така работи механизмът за предотвратяване на зацикляне на IP пакети. Така че, ако устройството не получи заявка в определено време, системата издава подобно съобщение. Затова да преминем към настройките на втория рутер и да му покажем как може да достигне четвъртата подсистема. За целта използвам командата ip route 192.168.4.0 255.255.255.0 192.168.3.3. Сега съответната записа се появи в таблицата за маршрутизиране, която извикахме с командата do show ip route.

Сега Router1 знае как да изпраща трафик до адресатите на четвъртата подсистема. Той го изпраща на третия рутер. Третият рутер Router2, тъй като е свързан мрежата 4., определено знае как да изпрати пакета на втория компютър.
Какво ще се случи, ако отново изпратя пинг? Нали сега всички мрежови устройства знаят как да достигнат до втория компютър. Ще бъде ли успешен пингът на IP адреса 192.168.4.10? Не, няма да бъде!
Както вече казах, ICMP е протокол за двупосочна комуникация, така че, ако някой изпраща ехо пакети, те трябва да се върнат обратно. Маршрутизирането е такова, че всяко мрежово устройство не само трябва да знае как да изпрати съобщение на някого, то също така трябва да знае как да достави отговора на изпращача на записа. Така пакета, изпратен от първия компютър, успешно достигна втория компютър. Вторият компютър си мисли: „страхотно, получих вашето съобщение и сега трябва да ви изпратя отговор“. Този отговор, адресиран до устройството с IP адрес 192.168.1.10, достига до рутера Router2. Третият рутер вижда, че трябва да изпрати пакета в първата подсистема, но в неговата таблица за маршрутизиране има записи само за третата и четвъртата подсистема. Затова трябва да създадем статичен маршрут с командата ip route 192.168.1.0 255.255.255.0 192.168.3.2. Тази команда казва, че трафикът, предназначен за мрежата с идентификатор 192.168.1.0, трябва да бъде изпратен на втория рутер с IP адрес 192.168.3.2.
Какво ще стане след това? Вторият рутер знае само за мрежите 2., 3. и 4., но нищо не знае за първата мрежа. Затова трябва да влезем в настройките на втория рутер Router1 и да използваме командата ip route 192.168.1.0 255.255.255.0 192.168.2.1, т.е. да укажем, че трафикът за мрежа 1. трябва да бъде изпратен през мрежа 2. на първия рутер Router0.
След това пакетът достига до първия рутер, който знае за устройството 192.168.1.10, тъй като първата мрежа, в която се намира този компютър, е свързана към порта на този рутер. Забелязвам, че сега първият рутер не знае нищо за мрежа 3, а третият рутер не знае нищо за втората мрежа. Това може да създаде проблем, тъй като тези рутери не знаят за съществуването на междинните подсети.
Отново изпращам ping до адрес 192.168.4.0 и виждате, че този път ping-ването е успешно. Пакетите преминават от първия до втория компютър и отговорът се връща на изпращача. В командния ред се вижда съобщение, че всеки от 4-те отговорни пакета 192.168.4.0 представлява 32 байта, TTL= 125 ms, и успехът на ping-а е 100%. Това означава, че източникът на предаване е получил отговор от целевия хост. Следователно, дори ако устройствата не знаят за съществуването на някои междинни мрежи, това няма значение, ако работят на принципа „краен изпращач – краен получател“. Първият компютър знае как да достигне до втория компютър, а вторият – как да достигне до първия.
Нека разгледаме друга ситуация. Така, първият компютър може успешно да комуникира с втория компютър, като трафикът преминава през всичките тези устройства. Нека видим дали PC0 може да се свърже с третия рутер Router2 на адрес 192.168.3.3 – това е портът на мрежа 3 на третия рутер. Ping-ът показва, че това е невъзможно – целевият хост не е достъпен.
Нека да видим в какво е причината. Като отворим таблицата за маршрутизация на първия рутер, виждаме, че той знае само 3 мрежи – първа, втора и четвърта, но нищо не знае за третата мрежа. Следователно, ако искам да се свържа с тази мрежа, трябва да зададем статичен маршрут за нея.
И така, разгледахме как да настроим статична маршрутизация за трите рутера. Ако имате 10 рутера и 50 различни подсети, ръчното настройване на статична маршрутизация ще отнеме много време. За това ни е нужна динамична маршрутизация.
Сега ще изтрия всичките маршрути, които създадох. За целта последователно ще извикам таблиците за маршрутизация на всичките рутери и ще добавя думата "no" в началото на всяка статична маршрутизационна запис, т.е. ще използвам командата за отрицание. Сега можем да разгледаме какво представлява динамичната маршрутизация.
За динамичната маршрутизация трябва да активирам протокол RIP, който е много бърз протокол. Но днес няма да обсъждаме RIP, темата ни е статичната маршрутизация, и исках да ви покажа колко трудоемко и изтощително е това. Все пак бързо ще ви демонстрирам как работи RIP, който ще разгледаме подробно в следващия урок.
На примера на първия рутер използвам командата router rip, след това въвеждам ver 2, за да посоча версията на протокола, и след това поотделно изреждам мрежите, за които трябва да се използва протоколът за динамична маршрутизация: 192.168.1.0, 192.168.2.0, след което преминавам към втория рутер и постъпвам с него по аналогичен начин. Технически просто указвам мрежите, свързани с това устройство, затова за втория рутер посочвам 192.168.2.0 и 192.168.3.0, а за третия след командата rip ver 2 - адресите 192.168.3.0 и 192.168.4.0. След това се връщам към първия рутер и разглеждам таблицата за маршрутизация.

Виждате, че тя магически е попълнена с всички мрежи, като първите две са тези, свързани директно с рутера, а другите две – тези, с които връзката се осъществява чрез протокола за динамична маршрутизация RIP. Подобна ситуация наблюдаваме и в таблиците за маршрутизация на втория и третия рутер. Ако свържа мрежи 5. и 6. към втория рутер, всички устройства, използващи RIP, ще знаят за тези нови мрежи. Ето в какво се състои предимството на динамичната маршрутизация.

Ако сега пропингувам втория компютър, връзката ще работи без проблеми. Мога да пропингувам третия рутер и пингът ще бъде успешен, защото първият рутер благодарение на RIP знае за всички устройства от всички мрежи. Вторият и третият рутер ще притежават аналогично „знание“. Не казвам, че RIP е най-добрият протокол, но той може да извършва много неща ефективно. Искам просто да разберете какво е маршрутизация и как работи, какво представлява таблицата за маршрутизация и какво е нейното значение.
Независимо дали използвате статична или динамична маршрутизация, ролята на протоколите е да запълнят таблицата за маршрутизация. Тази таблица трябва да знае за всички маршрути към всички устройства в мрежата, за да може едно устройство да установи връзка с друго устройство.
Така че днес научихте, че маршрутизацията е процес, който осигурява появата на записи за маршрути в таблиците за маршрутизация, за да може рутерът да вземе решение за изпращането на трафика в мрежата.

Благодарим ви, че останахте с нас. Харесват ли ви нашите статии? Искате ли да видите повече интересни материали? Подкрепете ни, като направите поръчка или ни препоръчате на познати. 30% отстъпка за потребителите на Хабра на уникален аналог на entry-level сървъри, който създадохме специално за вас: (с налични опции за RAID1 и RAID10, до 24 ядра и до 40GB DDR4).
Dell R730xd на половин цена? Всичко това само при нас в Нидерландия! Dell R420 — 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от 99 $! Чете се за това
Източник: habr.com
