В BGP существует достаточно много возможностей фильтрации, таких как access-list, prefix-list, as-path access list.
Каждая из них применяется в разных случаях.
Нарпимер Prefix-list предназначен для фильтрации маршрутов (ip адреса), as-path access-list для фильтрации по атрибуту AS-PATH и так далее.
Но давайте теоретически разберемся как маршрутизатор работает с получаемыми маршрутами.
Маршрутизатор на каждый свой сосед отводит определенную часть памяти, как для входящих маршрутов так и исходящих. Маршрутизатор создает таблицу, которая у Cisco называется: AdjRib-in и ADjRIB-out.
После того, как маршрутизатор получил update, он положил его в таблицу соседа, от которого он получил это обновление, далее идет механизм фильтрации, после фильтрации выжившие маршруты попадают в BGP Table (где содержатся абсолютно все маршруты BGP, кроме тех которые были порезаны фильтром). Далее запускается механизм выбора лучшего маршрута BGP (выбор BGP маршрута), после выбора лучшего маршрута, эти маршруты попадают в Local RIB, и в дальнейшем только эти маршруты могут рассылаться своим соседям.
Сначала маршрут попадает в фильтр (который уже вешается на out), затем в таблицу соседа AdjRib-out и после из этих таблиц и начинается рассылка информации соседям.
Этот принцип работы достаточно прост, но его необходимо понимать, где что когда работает. Дальше мы углубимся в эту тему.