Когда мы изменяем конфигурацию секцию BGP, например когда прописали новый префикс лист, то он сразу не применится, так как нужно перезапросить маршруты, делаем мы стандартно это так: clear ip bgp * , думаю все знают, что делает эта команда.
Она полностью обрывает все соседние отношения (TCP сессию), обнуляет полностью таблицу BGP, и все заново происходит. Если соседей не много, и они посылают не много маршрутов это пол беды, но если соседей много, и маршрутов от них очень много, здесь конечно уже это серьезная нагрузка на роутер. Да и вобще, не очень красиво это как-то 🙂
То есть нам нужно как минимум оставлять TCP сессию и перезапрашивать или переотправлять маршруты соседям.
BGP предоставляет 4 выхода из этой ситуации.
1. Cisco механизм, который называется soft reconfigureation
2. BGP route refrash
3. Outbound route filtering
4. route dampening
Каждый из них мы и рассмотрим в этой и в последующих заметках.
Начнем с Soft Reconfiguration.
При включении этой опции на соседе (как это делается, посмотрим ниже), мы создаем область памяти, где будут хранится все маршруты от данного пира, без каких-либо модификаций (то есть будут находиться до фильтров, префикс листов и прочего). И когда, нам нужно перезапросить данные о маршрутах соседа, мы можем это делать из этой области памяти, и далее пуская эти данные через различные фильтры, мапы и прочее.
Итак, конфигурируется это так:
neighbor 1.1.1.1 soft-reconfiguration inbound
После этого все маршруты от соседа 1.1.1.1 будут сохранены в отдельной области памяти.
Теперь нам необходимо перезапросить маршруты из этой области, далается так:
clear ip bgp [* | ip address | peer-group] soft in
После этого не будет разорвана TCP сессия, и даже не будет обращения к соседу за маршрутами, все возмется из области памяти, которую мы создали выше.
Тут есть один и очень большой минус, это то, что под каждого пира нам необходимо еще выделять область памяти, а если маршрутов много, то это не маленький расход памяти.
Но в небольших сетях это вполне работоспособный и правильный вариант.
Это мы рассмотрели inbound reconfiguration, вторым подвидом является outbound configuration
Outbound активировать не нужно, он работает по умолчанию и им можно пользоваться.
Он так же не использует дополнительную память, так как использует ADJ-Rib-Out (помните мы рассматривали таблицы in и out? )
Пользоваться так же просто:
clear ip bgp [* | ip | peer-group] soft out
Эта команда рассылает соседу (пир группе, или всем) маршруты из своей ADJ-RIB-out без обрыва TCP сессии. Плюсы очевидны. А минус, это то что Вам нужно заходить на этот маршрутизатор и делать soft-rec out, не всегда это можно использовать.
В заключение по этому методу хотелось бы отметить как посмотреть таблицу при использовании soft in? (то есть таблицу до филтров, роут мапов и так далее).
show ip bgp neighbors 1.1.1.1 received-routes
После route-map, фильтров, префиксов и прочего:
show ip bgp neighbors 1.1.1.1 routes
И соответсвенно до исходящих route-map, фильтров и т.п.:
sh ip bgp
И после:
show ip bgp neighbors 1.1.1.1 advertised-routes
Вот и все, что хотел рассказать об Soft-Reconfiguration.
Good Luck!