вторник, 17 июля 2012 г.

BGP: soft reconfiguration

Когда мы изменяем конфигурацию секцию 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
 Пользоваться так же просто: 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

Источник http://admindoc.ru/1244/bgp-soft-reconfiguration