Тук ще разгледаме как да проверяваме BGP маршрутите с помощта на външни инструменти – без да имаме нужда да влизаме в самия рутер. Ще използваме следните инструменти:
- traceroute
- mtr
- Looking Glass
За примери ще използваме мрежата 87.246.47.0/24 и IP адреса 87.246.47.9.
Проверка с traceroute в Linux и tracert в Windows
Какво представлява?traceroute
(или tracert
в Windows) е инструмент, който показва пътя, по който пакетите преминават от вашата система до крайната цел. Въпреки че не е специализиран за BGP, той дава добра представа за маршрута, който се следва.
Примерна команда:
traceroute -n 87.246.47.9
Какво да очаквате?
След изпълнението на командата ще получите списък с “хопове” – маршрутизаторите, през които преминават пакетите. Всеки ред съдържа IP адрес и закъсненията (latency) за съответния хоп. Ако някой от междинните маршрутизатори е конфигуриран да изпраща ICMP съобщения, може да се получи информация за AS пътя, макар че това не е основната му функция.
Проверка с mtr
Какво представлява?mtr
комбинира възможностите на traceroute
и ping
, като осигурява динамична статистика за маршрута – загуби на пакети и закъснения в реално време.
Примерна команда:
mtr 87.246.47.9
След изпълнението ще получите таблица, в която за всеки хоп ще видите процент на загубени пакети, средно време за отговор и други статистики. Това е полезно за диагностика на временни проблеми или нестабилни връзки по пътя към целта.
Сега може да изпълним mtr от другата страна host за да видим по какъв маршрут ще минем, вече споменахме, че в BGP протокола пакета може да излезе през един и да се върне през друг доставчик peer, респективно не е задължително да се пътува в двете посоки по един и същ маршрут.
Проверка с Looking Glass
Looking Glass сървърите са уеб базирани интерфейси, предоставяни от интернет доставчици или големи мрежови оператори, чрез които можете да проверите BGP таблиците и да видите как минава маршрутизираният трафик от гледната точка на даден доставчик.
Какво ще видите в Looking Glass на:
Ще се визуализира BGP пътят от гледната точка на съответния Looking Glass сървър – това включва информация за AS пътя, както и данни за обявените маршрути на рекламираните мрежи.
BIX.BG – АНАЛИЗ
Тази информация, извлечена чрез командата:
show route all for 87.246.47.0/24
показва всички налични BGP пътища (маршрути) за мрежовия префикс 87.246.47.0/24, както е обявен от автономната система AS47453 (отбелязана с [AS47453i]). Нека разгледаме по-подробно какво означава всяка част от изхода:
Основни елементи на информацията
- Префиксът и Next Hop-ите
- Префиксът:
87.246.47.0/24
– това е мрежата, за която се показват маршрутите. - Next hop: Всеки запис започва с информация като:
- Префиксът:
via 193.169.198.157 on eth0 [r0157_gctv 2025-02-02 03:14:28] * (100) [AS47453i]
- Това означава, че маршрутът за този префикс е достигнат през IP адрес 193.169.198.157, чрез интерфейса eth0 на рутер (или Looking Glass сървър) с име r0157_gctv. Звездичката (*) обикновено показва, че това е предпочитаният (активен) маршрут според BGP алгоритъма за избор на маршрут. Числото в скобките (100) е стойността на локалната local_pref.
BGP Атрибути
Всеки запис съдържа и допълнителни BGP атрибути, които дават информация за характеристиките на маршрута:
- BGP.origin:
- Например:
BGP.origin: IGP
Това показва, че първоначалният произход на маршрута е вътрешен (от IGP), т.е. маршрутът е генериран вътре в автономната система.
- Например:
- BGP.as_path:
- Пример:
BGP.as_path: 12615 47453
Този атрибут показва поредицата от автономни системи (AS), през които е преминал маршрутът. В примера маршрутът първо е преминал през AS 12615, преди да достигне до локалната AS 47453. В други записи виждаме по-дълги AS пътища (напр.34224 20657 20657 20657 20657 47453
или8717 47453
), което показва, че маршрутът е обявен през различни пътища или през различни доставчици.
- Пример:
- BGP.next_hop:
- Това поле потвърждава IP адреса, през който трябва да се осъществи достъп до дадения маршрут. Той съвпада с IP адреса, който е показан след “via”.
- BGP.local_pref:
- Например:
BGP.local_pref: 100
Това е локалната преференция – атрибут, използван вътре в автономната система, за да се определи предпочитаният маршрут. По-високата стойност обикновено е по-желана.
- Например:
- BGP.community и BGP.ext_community:
- Тези атрибути съдържат групи от стойности (комюнити), които служат за предаване на допълнителна информация, свързана с политика за маршрутизиране, филтриране или пренасочване на трафика. Например:
BGP.community: (0,5483) (0,6866) (0,6939) (0,8932) (0,10310) (0,13004) (0,22822) (0,31042) (0,32934) (15669,15669)
и в някои записи се виждат и разширени комюнити (ext_community), като:
BGP.ext_community: (rt, 34224, 900) (rt, 34224, 901) (rt, 34224, 902) (rt, 34224, 904)
-
- Тези стойности се използват за насочване на трафика и за прилагане на политики между различни автономни системи.
Различни записи (хопове)
Изходът съдържа няколко записа, които показват, че маршрутът към префикса 87.246.47.0/24 е обявен по няколко пъти през различни пътища/връзки:
- Записите с “via 193.169.198.157” и “via 193.169.198.156” (на рутерите r0157_gctv и r0156_gctv) показват пътища с AS път
12615 47453
. - Записите през рутери с имена като r0207_neterra, r0206_neterra и r0226_neterra показват пътища, чрез които AS пътят включва AS номера като
34224
и20657
. При един от тези има и допълнителни разширени комюнити. - Записите от рутерите r0129_spnet и r0130_spnet имат AS път
8717 47453
и съдържат специфични комюнити, които дават информация за маршрутизацията в контекста на доставчика (например, отметки за “route origin” –ro
).
Какво означава това на практика?
- Многопътища:
Изходът показва, че съществуват няколко пътища до мрежата 87.246.47.0/24. Това е типична ситуация в BGP, където една и съща мрежа може да бъде обявена от различни източници и чрез различни връзки. - Предпочитан маршрут:
Рутерът (или доставчикът) избира един от тези маршрути като активен (често маркиран със символ*
), въз основа на различни критерии като local_pref, AS_PATH дължина, BGP.origin и други. - Информация за политиките:
Чрез community и ext_community стойностите могат да се предадат специфични инструкции или политики, които влияят върху това как маршрутът се третира в мрежата – например, прилагане на политики за филтриране, насочване на трафика или задаване на приоритет. - История и актуалност:
Всяка линия съдържа и времеви печат (timestamp), който показва кога е актуализиран маршрута от съответния рутер. Това може да бъде полезно за диагностициране на проблеми или за проследяване на промените в BGP таблиците.
Информацията от Looking Glass на bix.bg за мрежата 87.246.47.0/24 ви предоставя подробен изглед на всички BGP маршрути, чрез които този префикс се обявява в автономната система AS47453. Виждате:
- Различни next hop-и (IP адреси и рутери), през които маршрутът е достъпен.
- AS_PATH за всеки маршрут, който показва през кои автономни системи е преминал пътят.
- BGP атрибутите (origin, local_pref, community, ext_community), които определят предпочитаните маршрути и политиките за маршрутизиране.
Тази информация е от ключово значение за мрежови администратори и инженери, които искат да разберат как се разпространява маршрутът, какви пътища са налични и какви политики са приложени върху него в рамките на глобалната BGP инфраструктура.
BGP.HE.NET АНАЛИЗ
bgp.he.net е онлайн инструмент, предлаган от Hurricane Electric, който събира и визуализира данни от BGP (Border Gateway Protocol) маршрутните таблици. Този инструмент е изключително полезен за мрежови администратори, инженери и всеки, който иска да разбере по-добре структурата и взаимовръзките на интернет инфраструктурата. Ето каква информация и възможности предоставя:
Информация за автономни системи (AS):
- Данни за AS номера: Можете да потърсите конкретен AS номер, за да видите основна информация за него – име, регион, организация и контактни данни.
- Обявени префикси: За даден AS можете да видите списък с IP префикси, които той обявява в BGP.
- Партньорства и пирингове: Инструментът показва връзките с други автономни системи, включително пейринг (peerings), upstream и downstream връзки, което дава представа за мрежовата топология.
Данни за IP префикси и маршрути:
- Информация за префикс: При търсене на даден IP префикс, bgp.he.net показва кой AS го обявява, какъв е пътят на BGP (AS_PATH), както и други BGP атрибути (например next_hop, local_pref, community и др.).
- Маршрутни атрибути: Можете да разгледате детайлите на BGP обявяванията, които включват пълния AS път, информация за произхода на маршрута и други важни атрибути, използвани при избора на маршрутизация.
Визуализация и статистики:
- Графики и мрежови карти: Инструментът предоставя визуални графики, които показват връзките между автономните системи, както и графично представяне на мрежовата топология.
- Статистически данни: bgp.he.net показва статистики за броя IP адреси, префикси и други параметри, свързани с даден AS или група от AS-и.
Инструменти за анализ:
- Търсене по AS, IP или префикс: Можете лесно да намерите информация за конкретен AS, IP адрес или префикс чрез полето за търсене.
- Исторически данни: Понякога инструментът предоставя и исторически данни, които показват как са се променяли обявените маршрути с течение на времето.
- Филтри и сортиране: Възможност за филтриране на данните по различни критерии, което помага за по-добър анализ на мрежовата инфраструктура.