Re: балансировка BGP

From
Petr Novopashenniy (2:5020/400)
To
Eugene Grosbein
Date
2009-10-01T11:03:38Z
Area
RU.CISCO
From: Petr Novopashenniy <pety@rusnet.ru>


On Wed, 30 Sep 2009, Eugene Grosbein wrote:

EG> 30 сен 2009, среда, в 14:04 KRAT, Petr Novopashenniy написал(а):
EG> 
EG>  PN>> Ростелеком или Ретн, получая такой трафик с MSK-IX, не хотят его
EG>  PN> отдавать 
EG>  PN>> на свои аплинки (Ростелеком) и на свои пиры (Ретн, имеющий пиринг с
EG>  PN> ТТК 
EG>  PN>> 20485).
EG>  EG>> Вот этого я не понимаю. Трафик с MSK-IX к ним приходит, видимо,
EG>  EG>> потому что они анонсируют доступность IP-адреса через себя?
EG>  PN> Да. А как же еще? ;)
EG>  EG>> И что они делают с пакетом, пришедшим к ним от MSK-IX и имеющим далее
EG>  EG>> более специфичный маршрут в ТТК AS20485?
EG>  PN> Дропают.
EG> 
EG> Это замечательная доступность. Просто великолепная.
EG> А какого, спрашивается, дропать?.. Если анонсируешь доступность через себя.
EG> Или не анонсируй, или пропускай. "По-моему, так."

А что Вы предлагаете сделать с таким пакетом?

Пускать по специфику?
Чтобы было понятней, попробую привести более глобальный пример.
Вы, например, устанавливаете на специфики (а может даже на агрегат), 
которые анонсируете в Транстелеком, community - не анонсировать зарубежным 
пирам/аплинкам или как-нибудь еще (у ТТК есть такая возможность). Вполне 
себе безобидное community, Вы хотите видеть от Транстелекома только 
российский трафик.
Спецификов в РТКомм (6684) не отдаете, только агрегат (без 
каких-либо community). Ваш агрегат через 6684 12389 9002 (Ретн - аплинк 
Ростелекома) попадает в остальной мир. Ваш основной мировой трафик пойдет 
к Ретн через его аплинков/пиров. Дойдя до Ретна, обнаруживается что один 
из его российских пиров (Транстелеком) отдает ему специфик. И вот трафик, 
прошедший всю европу а может и более по магистральным каналам Ретн за 
просто так сливается другому оператору, который за этот трафик получит 
от клиента деньги. Такой расклад магистралам как-то не очень интересен.

Пускать по агрегату, который смотрит на клиента (игнорировать 
его специфики, которые смотрят не на клиента)? Это в любом случае, или 
только тогда когда трафик на этот специфик получен от пиров/аплинков, а 
если от другого клиента, то по специфику, даже если он на клиента (для 
которого трафик) не смотрит?

В этом случае это уже маршрутизация не на основе BGP, а некий PBR 
основанный на данных, полученых в том числе и от BGP. Тут тоже есть 
проблемы. В Вашем случае, к примеру, все три AS 9002 12389 6684 должны 
иметь одинаковую политику в отношении таких случаев.
Иначе либо routing loop:
Например, 6684 видит лучший маршрут на Ваш специфик через 12389. 12389 
отдает Ваш трафик на агрегат в сторону 6684. А 6684 отдает его 
обратно по специфику 12389 (это если в 12389 не учитывается точка входа - 
клиент/не клиент).
Либо дополнительная петля:
12389 видит, что точка входа трафика на этот специфик его клиент 6684, и 
отправляет этот трафик уже по нему своим пирам/аплинкам. При этом трафик 
может пройти туда-обратно через всю страну.

Диагностика таких проблем будет еще более сложна. Когда получаешь full 
view несколько расчитываешь, что трафик на принятые префиксы пойдет 
именно по известному по BGP AS-PATH. А из последнего примера видно, что 
Ваши специфики по BGP будут отдаваться всем клиентам (РТКом'а, 
Ростелекома, Ретна), но трафик к ним пойдет совсем не по тому AS-PATH.

EG> 
EG>  PN> Вообще эта тема весьма старая, но не все о ней знают. Универсального 
EG>  PN> решения, которое бы удовлетворяло все стороны, пока нет. Также есть и 
EG>  PN> технические ограничения в софте оборудования.
EG> 
EG> То есть как нет? Не можешь гарантировать доступность через себя префикса,
EG> не анонсируй его.
EG> А то и рыбку съесть - получить плату за предоставление
EG> услуги, и не предоставить её, - как-то странно... За рубежом такой же
EG> подход к работе в телекомах?

Ну, от подобных утечек трафика там тоже защищаются, хотя тоже не все.

EG> 
EG>  PN> С more спецификами надо быть очень осторожным, в данном случае еще очень 
EG>  PN> повезло что проблема так близко, может быть видна на нескольких LG, и 
EG>  PN> затрагивает заметное количество ресурсов сети (и соответственно, быстро 
EG>  PN> опознается).
EG> 
EG>  PN> http://net-geek.org/dbg/2008/09/overcoming-peer-fraud.html
EG> 
EG> > Technical solution boils down to enforcing certain routing policies.
EG> > The rules are:
EG> > 1. Traffic ingressing from an upstream must flow only to a customer.
EG> 
EG> Тут не сказано "поэтому при наличии роута к пиру такой трафик
EG> надо дропать".

То что там написано не является стандартом и обязателным к исполнению 
всеми операторами. Я дал эту ссылку исключительно как материал для 
размышлений. А также там есть слова:

Another one is from Cisco-land: QPPB. There's a quite cool method 
described in details in another NANOG presentation: 
http://www.nanog.org/meetings/nanog42/presentations/DavidSmith-PeeringPolicyEnforcement.pdf.

These solutions can deal with the problem, but there's a catch. They are 
designed to drop traffic when a peer tries to defraud us. This is a 
problem, because even unintentional misconfiguration (say, a sloppy 
attempt at traffic engineering) will result in service disruption. It 
would be nice, if we could handle it better and somehow ignore 
fraudulent/erroneous routes.

Petr Novopashenniy
--- ifmail v.2.15dev5.4
 * Origin: NPO RUSnet InterNetNews site (2:5020/400)
SEEN-BY: 50/204 450/1024 461/43 640 465/11 469/142 999 4625/8 4641/444
SEEN-BY: 5000/5000 5006/1 5007/1 5010/70 5011/13 5012/46 5015/28 5019/26
SEEN-BY: 5020/175 400 545 982 1521 2238 4441 5021/29 5025/3 5026/14 5027/12
SEEN-BY: 5030/1080 5034/13 5035/38 5036/1 5037/28 5045/7 5049/1 5054/1 4 8 9
SEEN-BY: 5054/28 30 36 37 67 75 81 89 5060/88 5061/15 5062/10 5063/3 5066/18
SEEN-BY: 5075/35 5077/70 5080/68 5084/9 5085/13 5095/20 5096/18 6001/10 6004/3
SEEN-BY: 6009/3
PATH: 5020/400 545 5054/1 37