Днес ще разгледаме по-задълбочено някои аспекти на маршрутизацията. Преди да започнем, искам да отговоря на въпрос на студентите относно моите профили в социалните мрежи. Отляво съм поставил линкове към страниците на нашата компания, а отдясно – към моите лични профили. Забелязвам, че не добавям хора в приятели във Facebook, ако не ги познавам лично, така че не изпращайте ми покани за приятелство.

Просто можете да се абонирате за моята Facebook страница и да бъдете в течение на всички събития. Отговарям на съобщения в моя LinkedIn профил, така че можете да ми пишете там, и разбира се, проявявам максимална активност в Twitter. Под това видеоурок ще намерите линкове към всичките 6 социални мрежи, така че можете да ги използвате.
Както обикновено, днес ще изучим три теми. Първата е обяснение на същността на маршрутизацията, където ще ви разкажа за таблиците за маршрутизация, статичното рутинг и така нататък. След това ще разгледаме маршрутизацията между превключватели, тоест как се извършва маршрутизацията между два превключвателя. В края на урока ще се запознаем с концепцията за маршрутизация Inter-VLAN, когато един превключвател взаимодейства с няколко VLAN и как се осъществява връзката между тези мрежи. Това е много интересна тема, и е възможно да искате да я прегледате няколко пъти. Има още една интересна тема, наречена Router-on-a-Stick, или "маршрутизатор на пръчка".
И така, какво е таблица за маршрутизация? Това е таблица, на основата на която маршрутизаторите вземат решения за маршрутизация. Виждате как изглежда типичната таблица за маршрутизация на Cisco маршрутизатори. Всеки компютър с Windows също има таблица за маршрутизация, но това е вече друга тема.
Буквата R в началото на реда означава, че маршрутът към мрежата 192.168.30.0/24 се осигурява от протокола RIP, C означава, че мрежата е директно свързана с интерфейса на маршрутизатора, S означава статична маршрутизация, а точката след тази буква показва, че този маршрут е кандидат по подразбиране за статична маршрутизация. Съществуват няколко типа статични маршрути, и днес ще се запознаем с тях.

Нека разгледаме например първата мрежа 192.168.30.0/24. В реда виждате две числа в квадратни скоби, разделени със слеш, за които вече говорихме. Първото число 120 е административна дистанция, която характеризира степента на доверие към този маршрут. Да предположим, че в таблицата има още един маршрут към тази мрежа, обозначен с буквите C или S, с по-малка административна дистанция, например 1, както е за статичната маршрутизация. В тази таблица няма да срещнете две еднакви мрежи, освен ако не използваме механизма за балансировка на натоварването, но нека предположим, че имаме 2 записа за една и съща мрежа. Така че, ако видите по-малко число, това ще означава, че този маршрут заслужава по-голямо доверие и обратно, колкото по-голямо е стойността на административната дистанция, толкова по-малко доверие заслужава този маршрут. След това в реда е посочено, през кой интерфейс трябва да се изпраща трафикът – в нашия случай това е порт 192.168.20.1 FastEthernet0/1. Ето от какви компоненти се състои таблицата за маршрутизация.
Сега нека поговорим за това как рутерът взема решения за маршрутизация. По-горе споменах кандидата по подразбиране и сега ще обясня какво означава това. Да предположим, че към рутера постъпва трафик за мрежа 30.1.1.1, за която няма запис в таблицата за маршрутизация. В обикновен случай рутерът просто ще отхвърли този трафик, но ако в таблицата има запис за кандидата по подразбиране, това означава, че всичко, за което рутерът не знае, ще бъде насочвани към кандидата по подразбиране. В този случай записът указва, че трафикът, постъпващ за непознатата за рутера мрежа, трябва да се насочи напред през порт 192.168.10.1. По този начин трафикът за мрежата 30.1.1.1 ще премине по маршрута, който е кандидат по подразбиране.
Когато рутер получи заявка за свързване с определен IP адрес, първо проверява дали този адрес е част от конкретен маршрут. Следователно, когато получи трафик за мрежата 30.1.1.1, той първо ще провери дали адресът е в определена запис на таблицата за маршрутизация. Например, ако рутерът получи трафик за 192.168.30.1, след проверка на всички записи, ще види, че този адрес е в диапазона на адресите на мрежата 192.168.30.0/24 и след това ще изпрати трафика по този маршрут. Ако не намери конкретни записи за мрежата 30.1.1.1, рутерът ще изпрати предназначения за нея трафик по маршрута по подразбиране. Така се вземат решенията: на първо място в таблицата се проверяват записи за конкретни маршрути, а след това се използва маршрута по подразбиране.
Нека сега разгледаме различните типове статични маршрути. Първият тип е маршрут по подразбиране.

Както вече споменах, ако рутерът получи трафик, който е насочен към непозната мрежа, той ще го изпрати по маршрута по подразбиране. Записът, който уведомява за настроен маршрут по подразбиране, гласи: "Шлюз на последно обжалване е 192.168.10.1 за мрежа 0.0.0.0", което означава, че „Шлюзът на последно обжалване за мрежата 0.0.0.0 има IP адрес 192.168.10.1“. Този маршрут е посочен в последния ред на таблицата за маршрутизация, обозначен с буквата S и точка.
Тази настройка може да се зададе от режима на глобална конфигурация. За обикновен маршрут по протокола RIP трябва да въведете командата ip route, посочвайки идентификатора на съответната мрежа, в нашия случай 192.168.30.0, и маската на подсетата 255.255.255.0, след което да посочите 192.168.20.1 като следващ хоп. Но когато задавате маршрут по подразбиране, не е нужно да посочвате идентификатора на мрежата и маската, просто въвеждате ip route 0.0.0.0 0.0.0.0, т.е. вместо адреса на маската на подсетата отново въвеждате четири нули, а в края на реда посочвате адреса 192.168.20.1, който ще означава маршрута по подразбиране.
Следващият тип статичен маршрут е мрежов маршрут. За да настроите мрежов маршрут, е необходимо да посочите цяла мрежа, т.е. да използвате командата ip route 192.168.30.0 255.255.255.0, където 0 в края на маската на подсетата означава целия диапазон от 256 адреса на мрежата /24 и да посочите IP адреса на следващия хоп.
Сега ще чертая шаблон, изобразяващ екипа за настройка на подразбиращ маршрут и мрежов маршрут. Той изглежда по следния начин:
ip route първата част на адреса втората част на адреса .
За подразбиращия маршрут и първата, и втората част на адреса ще се състоят от 0.0.0.0, а за мрежовия маршрут първата част представлява идентификатора на мрежата, а втората – маската на подсет. След това ще бъде разположен IP-адреса на мрежата, в която рутерът е решил да направи следващия хоп.

За настройка на маршрута на хоста host route се използва IP-адреса на конкретен хост. В шаблона на командата това ще бъде първата част на адреса, в нашия случай 192.168.30.1, която указва конкретно устройство. Втората част представлява маската на подсет 255.255.255.255, която също указва IP-адреса на конкретния хост, а не на цяла мрежа /24. След това трябва да се укаже IP-адреса на следващия хоп. Така може да се установи маршрут на хоста.
Summary route – това е обобщен маршрут. Помните, че вече обсъдихме въпроса със сумаризация на маршрути, когато имаме определен диапазон от IP-адреси. Да вземем за пример първата мрежа 192.168.30.0/24 и да предположим, че имаме рутер R1, към който е свързана мрежата 192.168.30.0/24 с четири IP-адреса: 192.168.30.4, 192.168.30.5, 192.168.30.6 и 192.168.30.7. Слеш 24 означава, че в тази мрежа общо има 256 действителни адреса, но в случая имаме само 4 IP-адреса.

Ако съобщя, че целият трафик за мрежата 192.168.30.0/24 трябва да бъде насочван по този маршрут, това ще е лъжа, тъй като такъв IP-адрес като 192.168.30.1 може да не е достъпен през този интерфейс. Следователно в този случай не можем да използваме 192.168.30.0 като първа част на адреса, а трябва да укажем конкретно кои адреси ще бъдат достъпни. В този случай 4 конкретни адреси ще бъдат достъпни през десния интерфейс, а останалите адреси на мрежата – през левия интерфейс на рутера. Ето защо трябва да настроим обобщен или сумарен маршрут.
Според принципите на агрегация на маршрути, помним, че в една подмрежа първите три октета на адреса остават непроменени и трябва да създадем подмрежа, която да обединява всичките 4 адреса. За това трябва да посочим в първата част на адреса 192.168.30.4, а във втората част да използваме маска на подмрежата 255.255.255.252, където 252 означава, че в тази подмрежа има 4 IP адреса: .4, .5, .6 и .7.
Ако в таблицата за маршрутизация имате две записа: маршрут RIP за мрежа 192.168.30.0/24 и агрегиран маршрут 192.168.30.4/252, тогава според принципите на маршрутизацията, приоритетният маршрут за конкретния трафик ще бъде именно агрегиранният маршрут. Всичко, което не принадлежи на този конкретен трафик, ще използва мрежовия маршрут.

Ето какво представлява агрегиран маршрут – комбинирате няколко конкретни IP адреса и създавате отделен маршрут за тях.
В групата на статичните маршрути има и така нареченият „плаващ маршрут“ или Floating Route. Това е резервен маршрут. Той се използва в случай на проблеми с физическото свързване чрез статичния маршрут, който има административна дистанция, равна на 1. В нашия пример това е маршрутът през IP адрес 192.168.10.1 в последния ред на таблицата за маршрутизация, и когато този маршрут се прекъсне на физическо ниво, се използва резервният плаващ маршрут.
За да активирате резервния маршрут, в края на реда на командата вместо IP адреса на следващия хоп, който по подразбиране е равен на 1, посочвате друга стойност на хоповете, например 5. Плаващият маршрут не се указва в таблицата за маршрутизация, защото се използва само когато статичният маршрут стане недостъпен поради повреда.
Ако не сте разбрали нещо от това, което току-що ви разказах, изгледайте това видео отново. Ако все пак имате въпроси, можете да ми изпратите имейл и аз ще ви обясня всичко.
Сега нека разгледаме маршрутизацията между превключвателите. Отляво на схемата е превключвателя, който обслужва синята мрежа на отдела по продажби. Отдясно е другия превключвател, който работи само с зелената мрежа на отдела по маркетинг. В този случай се използват два независими превключвателя, които обслужват различни отдели, тъй като в тази топология не се използва обща VLAN мрежа.

Ако ви е необходимо да установите връзка между тези два превключвателя, тоест между две различни мрежи 192.168.1.0/24 и 192.168.2.0/24, е необходимо да използвате рутер. Тогава тези мрежи ще могат да обменят пакети и да излизат в интернет чрез рутер R1. Ако бяхме използвали VLAN1 по подразбиране за двата превключвателя и ги свързали физически, те биха могли да комуникират помежду си. Но тъй като това е технически невъзможно заради разделението на мрежите, принадлежащи на различни широковещателни домейни, за тяхната комуникация е необходим рутер.
Да предположим, че всеки от превключвателите има по 16 порта. В нашия случай не използваме 14 порта, тъй като в всеки от отделите има само по два компютъра. Следователно в този случай е оптимално да се използва VLAN, както е показано на следната схема.

В този случай синята мрежа VLAN10 и зелената мрежа VLAN20 имат свои собствени широковещателни домейни. Мрежата VLAN10 е свързана с един порт на рутера, а мрежата VLAN20 – с друг порт, като и двата кабела излизат от различни портове на превключвателя. Изглежда, че благодарение на това страхотно решение сме установили връзка между мрежите. Все пак, тъй като рутерът има ограничен брой портове, ние много неефективно използваме възможностите на това устройство, заемащи ги по този начин.
Има по-ефективно решение – „рутера на палката“. При него свързваме порт на превключвателя чрез транк с един от портовете на рутера. Вече казахме, че по подразбиране рутерът не разбира инкапсулация по стандарта .1Q, затова за свързването с него е необходимо да се използва транк. При това се случва следното.
Синя mạng VLAN10 gửi lưu lượng qua switch đến giao diện F0/0 của router. Cổng này được chia thành các sub-interface, mỗi sub-interface có một địa chỉ IP nằm trong dải địa chỉ của hoặc mạng 192.168.1.0/24, hoặc mạng 192.168.2.0/24. Ở đây nảy sinh một số không chắc chắn - vì hai mạng khác nhau cần phải có hai địa chỉ IP khác nhau. Do đó, mặc dù trunk giữa switch và router được tạo trên một giao diện vật lý, chúng ta cần tạo hai sub-interface cho mỗi VLAN. Như vậy, một sub-interface sẽ phục vụ mạng VLAN10, và sub-interface còn lại sẽ phục vụ VLAN20. Đối với sub-interface đầu tiên, chúng ta cần chọn địa chỉ IP từ dải địa chỉ 192.168.1.0/24, và đối với sub-interface thứ hai - từ dải địa chỉ 192.168.2.0/24. Khi VLAN10 gửi gói tin, cổng sẽ là địa chỉ IP đầu tiên, và khi VLAN20 gửi gói tin, cổng sẽ sử dụng địa chỉ IP thứ hai. Tại đây, “router trên que” sẽ quyết định về việc cho phép lưu lượng từ mỗi trong hai máy tính thuộc các VLAN khác nhau. Nói đơn giản, chúng ta chia một giao diện vật lý của router thành hai hoặc nhiều giao diện logic.

Hãy xem điều này trông như thế nào trong chương trình Packet Tracer.

Tôi đã đơn giản hóa sơ đồ một chút, vì vậy chúng ta có một máy tính PC0 với địa chỉ IP 192.168.1.10 và máy tính thứ hai PC1 với địa chỉ 192.168.2.10. Khi cấu hình switch, tôi dành một giao diện cho VLAN10 và một giao diện khác cho VLAN20. Tôi vào bảng điều khiển CLI và nhập lệnh show ip interface brief để chắc chắn rằng các giao diện FastEthernet0/2 và 0/3 đã được bật. Sau đó, tôi xem cơ sở dữ liệu VLAN và thấy rằng hiện tại tất cả các giao diện của switch đều là một phần của VLAN mặc định. Tiếp theo, tôi lần lượt nhập các lệnh config t và int f0/2 để gọi cổng mà VLAN bộ phận bán hàng đang kết nối.
След това използвам командата switchport mode access. Режимът access се използва по подразбиране, затова просто въвеждам тази команда. След това въвеждам switchport access VLAN10 и системата отговаря, че тъй като такава мрежа не съществува, тя автоматично ще създаде VLAN10. Ако искате да създадете VLAN ръчно, например VLAN20, трябва да въведете командата vlan 20, след което командният ред ще се премести в настройките на виртуалната мрежа, изменяйки заглавието си от Switch(config) # на Switch(config-vlan) #. След това трябва да присвоим име на създадената мрежа MARKETING с команда name . След това настройваме интерфейса f0/3. Последователно въвеждам командите switchport mode access и switchport access vlan 20, след което мрежата се свързва с този порт.
По този начин можете да конфигурирате суитча по два начина: първият – използвайки командата switchport access vlan 10, след което мрежата автоматично се създава на този порт, вторият – когато първо създавате мрежата, а след това я привързвате към конкретен порт.
По същия начин може да се постъпи и с VLAN10. Ще се върна назад и ще повторя процеса на ръчно конфигуриране за тази мрежа: ще вляза в режима на глобалната конфигурация, ще въведа командата vlan 10, след което ще й присвоя име name SALES и така нататък. Сега ще ви покажа какво ще се случи, ако не направите това, т.е. позволите на системата сама да създаде VLAN мрежа.

Виждате, че имаме и двете мрежи, но втората, която създадохме ръчно, има собствено име MARKETING, докато първата мрежа VLAN10 получи име по подразбиране VLAN0010. Мога да поправя това, ако сега в режима на глобалната конфигурация въведа командата name SALES. Сега виждате, че след това първата мрежа промени името си на SALES.
Сега се връщаме в Packet Tracer и проверяваме дали компютър PC0 може да се свърже с компютър PC1. За целта ще отворя терминала на първия компютър и ще изпратя ping адреса на втория компютър.
Виждаме, че пингът е приключил неуспешно. Причината е, че PC0 е изпратило ARP заявка на адрес 192.168.2.10 през шлюза 192.168.1.1. Компютърът всъщност попита суича, кой е този 192.168.1.1. Въпреки това, суичът има само един интерфейс за мрежата VLAN10, и получената заявка не може да отиде никъде – тя влиза на този порт и тук загива. Компютърът не получава отговор, затова причината за неуспешния пинг е указано изтичане на времето за изчакване. Отговор не беше получен, защото в мрежата VLAN10 няма друго устройство, освен PC0. Освен това, дори и двата компютъра да бяха част от една и съща мрежа, те все пак нямаше да могат да се свържат, тъй като имат различен диапазон на IP адреси. За да накарате тази схема да проработи, трябва да използвате рутер.
Но преди да покажа как да активирам рутера, ще направя малко отклонение. Ще свържа порт Fa0/1 на суича и порт Gig0/0 на рутера с един кабел, след което ще добавя още един кабел, който ще бъде свързан към порт Fa0/4 на суича и порт Gif0/1 на рутера.

Ще свържа мрежата VLAN10 с порта f0/1 на суича, за което ще въведа командите int f0/1 и switchport access vlan10, а мрежата VLAN20 – с порта f0/4, използвайки командите int f0/4 и switchport access vlan 20. Ако погледнем сега базата данни VLAN, ще видим, че мрежата SALES е свързана с интерфейсите Fa0/1, Fa0/2, а мрежата MARKETING – с портовете Fa0/3, Fa0/4.
Нека се върнем отново към рутера и влезем в настройките на интерфейса g0/0, ще въведем командата no shutdown и ще му присвоим IP адрес: ip add 192.168.1.1 255.255.255.0.
По същия начин ще настроим интерфейса g0/1, като му присвоим адрес ip add 192.168.2.1 255.255.255.0. След това ще помолим да ни покаже таблицата за маршрутизация, в която сега има записи за мрежите 1.0 и 2.0.

Нека видим дали тази схема ще сработи. Ще изчакаме, докато и двата порта на суича и рутера не станат зелени, и ще повторим пингването на IP адреса 192.168.2.10. Както виждате, всичко проработи!

Компютърът PC0 изпраща ARP заявка към суича, суичът я адресира към рутера, а той изпраща обратно на компютъра своя MAC адрес. След това компютърът изпраща пакет пинг по същия маршрут. Рутерът знае, че мрежата VLAN20 е свързана с неговия порт g0/1, затова го изпраща на суича, който препраща пакета до адресата – PC1.
Тази схема работи, но е неефективна, тъй като заема 2 интерфейса на маршрутизатора, тоест не използваме рационално техническите възможности на маршрутизатора. Затова ще покажа как същото може да се направи с помощта на един интерфейс.
Ще премахна схемата с двата кабела и ще възстановя предишната връзка между суич и маршрутизатор с един кабел. Интерфейс f0/1 на суича трябва да стане trunk порт, затова се връщам в настройките на суича и използвам командата switchport mode trunk за този порт. Порт f0/4 вече не го използваме. След това използваме командата show int trunk, за да видим дали портът е настроен правилно.

Виждаме, че порт Fa0/1 работи в режим trunk по протокола за инкапсулация 802.1q. Нека погледнем таблицата VLAN – виждаме, че интерфейс F0/2 е зает под мрежата на отдела за продажби VLAN10, а интерфейс f0/3 – под мрежата на маркетинга VLAN20.

При това суича е свързан към порта g0/0 на маршрутизатора. В настройките на маршрутизатора използвам командите int g0/0 и no ip address, за да премахна IP адреса на този интерфейс. Но този интерфейс все пак работи, не е в състояние shutdown. Ако помните, маршрутизаторът трябва да получава трафик и от двете мрежи – 1.0 и 2.0. Тъй като суича е свързан с маршрутизатора в режим trunk, през него ще преминава трафик както от първата, така и от втората мрежа. Но какъв IP адрес трябва да бъде зададен на интерфейса на маршрутизатора в този случай?
G0/0 представлява физически интерфейс, който по подразбиране няма IP адрес. Затова използваме концепцията за логически подинтерфейс. Ако напиша в реда int g0/0, системата ще ми даде два възможни варианта на командата: наклонена черта / или точка. Наклонената черта се използва при модулна настройка на интерфейси тип 0/0/0, а точката се използва, ако имате подинтерфейс.
Ако напиша в реда int g0/0.?, системата ще ми предостави диапазон от възможни номера на логическия подинтерфейс GigabitEthernet, които се посочват след точката: . Този диапазон съдържа повече от 4 милиарда номера, тоест може да се създаде такова количество логически подинтерфейси.

Ще посоча числото 10 след точката, което ще означава VLAN10. Сега сме в настройките на подинтерфейса, за което свидетелства промяната на заглавието на CLI настройките на Router (config-subif) #, в случая това касае подинтерфейса g0/0.10. Сега трябва да му присвоя IP адрес, за което използвам командата ip add 192.168.1.1 255.255.255.0. Преди да настроя този адрес, е необходимо да извърша инкапсулация, за да знае създаденият от нас подинтерфейс какъв протокол за инкапсулация да използва — 802.1q или ISL. Въвеждам думата encapsulation в реда и системата показва възможните опции за параметрите на тази команда.

Използвам командата encapsulation dot1Q. Технически, въвеждането на тази команда не е задължително, но я набирах, за да посоча на рутера какъв протокол да се прилага за работа с VLAN, тъй като в момента той работи като суич, обслужващ трансферирането на VLAN. С тази команда уточняваме на рутера, че целият трафик трябва да бъде инкапсулиран по протокола dot1Q. След това в командния ред трябва да посоча, че тази инкапсулация се отнася за мрежата VLAN10. Системата ни показва използвания IP адрес и интерфейсът за мрежата VLAN10 започва да работи.

По подобен начин настройвам интерфейса g0/0.20. Създавам нов подинтерфейс, задавам протокол за инкапсулация и задавам IP адрес с командата ip add 192.168.2.1 255.255.255.0.

В същото време е необходимо да премахна IP адреса на физическия интерфейс, защото сега физическият интерфейс и логическият подинтерфейс имат един и същ адрес за мрежата VLAN20. За целта последователно въвеждам командите int g0/1 и no ip address. След това изключвам този интерфейс, тъй като вече не ни е необходим.

След това отново се връщам към интерфейса g0/0.20 и му присвоявам IP адрес с командата ip add 192.168.2.1 255.255.255.0. Сега всичко наистина ще работи.
В момента използвам командата show ip route, за да видя таблицата за маршрутизация.

Виждаме, че мрежата 192.168.1.0/24 е директно свързана към подинтерфейса GigabitEthernet0/0.10, а мрежата 192.168.2.0/24 е директно свързана към подинтерфейса GigabitEthernet0/0.20. Сега ще се върна в командния ред на PC0 и ще пингна PC1. При това трафикът постъпва в порта на рутера, който го прехвърля на съответния подинтерфейс и го изпраща обратно чрез суич на компютъра PC1. Както виждате, пингът беше успешен. Първите два пакета бяха отхвърлени, тъй като превключването между интерфейсите на рутера отнема време, а устройствата трябва да научат MAC адресите, но затова пък другите два пакета успешно достигнаха до адресата. Така работи концепцията за "рутер на пръчка".

Благодарим ви, че останахте с нас. Харесват ли ви нашите статии? Искате ли да видите повече интересни материали? Подкрепете ни, като направите поръчка или ни препоръчате на познати. 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
