Продовжуємо розбиратися з агрегування маршрутів в BGP. Зараз ми розглянемо параметр as-set, що він нам дає і для чого використовувати. Наприклад у нас є роутер A, що має мережі 10.0.0.0/24, 10.0.1.0/24, до нього підключений по ebgp роутер B з сіткою 10.0.2.0/24.Ми приймаємо рішення зробити суммарізацію маршрутів в / 16 сітку на роутері B. Як це зробити, ми вже знаємо: aggregate-address 10.0.0.0 255.255.0.0 summary-only Так само роутер А у нас підключений до іншої AS, та в свою чергу ще до однієї і так далі, і при перегляді маршрутів BGP на тих роутерах, ми будемо бачити, що маршрут до нас прийшов з AS роутера А (а на самому те справі з AS роутера B).

Дивимося на мережу 10.0.0.0/16 бачимо, що маршрут прийшов із 10-ої системи (насправді тут агрігіруется маршрут з іншої, 40-ої системи), потім пройшов через 100-у.
Якщо ми вкажемо параметр as-aet в aggregate-address, то ми побачимо і ту систему з якої прийшла мережа, яка в подальшому була агрегована.
Отже, прописуємо
aggregate-assress 10.0.0.0 255.255.0.0 as-set summary-only
|
і дивимося зміни: 
Тепер бачимо, що додалася AS, 40, в якій і був створений наш маршрут, який надалі був склеєний.
Чим же нам загрожує те, що не буде видно AS в якій був поражден маршрут? А тим, що може виникнути петля.
У BGP реалізований найпростіший метод перевірки на петлю. При отриманні маршруту виглядає AS-PATH, і якщо себе там не виявляється, то вважається що петель немає, і навпаки, якщо ми знаходимо там свою AS, то маршрут відкидається - loop detected. Так працює BGP за замовчуванням, але це замовчування може змінюватися.
Для того, що б подивитися, ким був агрегований маршрут, можна використовувати команду:
Одержуємо:
|