Найти тему

071 Протокол BGP или как работает Интернет

Протокол пограничного шлюза (BGP) — это протокол, используемый для междоменной маршрутизации в Интернете. BGP является важным компонентом инфраструктуры Интернета, поскольку он позволяет различным автономным системам (ASes) общаться и обмениваться информацией о маршрутизации друг с другом. Автономная система — это совокупность взаимосвязанных сетей, управляемых одной организацией или подразделением.

Одной из ключевых особенностей BGP является использование номеров автономных систем (ASN) для идентификации каждой автономной системы в Интернете. ASN присваиваются региональными реестрами Интернета (RIR) и используются для обеспечения уникальности каждой автономной системы.

Существует два типа ASN: 16-битные и 32-битные. Максимальное значение для 16-битного ASN составляет 65535, в то время как максимальное значение для 32-битного ASN намного больше от 1 до 4294967295. Большинство интернет-провайдеров (ISP) и крупных сетей используют 32-битные ASN, поскольку запасы 16-битных ASN исчерпаны.

BGP важен, поскольку он обеспечивает эффективную и надежную маршрутизацию между автономными системами. BGP позволяет сетям обмениваться информацией об имеющихся у них маршрутах и выбирать наиболее эффективный путь для прохождения трафика.

BGP - сложный протокол, и его настройка и развертывание требуют опыта и тщательного планирования. Неправильная конфигурация BGP может привести к серьезным нарушениям интернет-связи, и было несколько громких инцидентов, когда неправильная конфигурация BGP вызывала широкомасштабные сбои в работе.

Для решения этих проблем Целевая группа инженеров Интернета (IETF) и другие организации разработали лучшие практики и рекомендации по настройке и развертыванию BGP. Эти рекомендации направлены на минимизацию риска инцидентов, связанных с BGP, и обеспечение стабильности и безопасности Интернета.

ASN-ы с номерами от 0 до 64511 являются 16-битными публичными ASN, которые могут быть назначены любой организации и использоваться в интернет-роутинге.

ASN-ы с номерами от 64512 до 65535 также являются 16-битными, но они зарезервированы для использования в частных сетях и не могут быть использованы для маршрутизации в Интернете.

Начиная с 32-битных ASN, набор возможных значений увеличился, поэтому все 32-битные ASN являются публичными и могут использоваться для интернет-роутинга.

Вы разведчик успешно внедрившийся в Пентагон. Центр прислал первое задание — восстановить BGP-сессию между двумя маршрутизаторами — Cisco ISR4461/K9 и Cisco ISR4321/K9. Сейчас сессия не установлена и выдает ошибку соединения. Почините связь, для передачи разведывательной информации, пока безопасность Пентагона хлопает ушами.

Будьте осторожны!

Помните, что имеете дело с бинарными объектами в десятичной системе счисления, чините правильно:

Go Playground - The Go Programming Language

Код использует два канала (сети) для передачи номеров AS и IP адресов маршрутизаторов. Каждый канал запускается в отдельной горутине. Происходит чтение данных из каналов и проверка, соответствует ли номер AS устройству соседа. Если проверка пройдена успешно — выводится сообщение об установлении BGP-сессии с соседом, если проверка не пройдена — выводится сообщение об ошибке, вас разоблачили!