Friday, April 24, 2020

Transit provider route redistribution and IX peering

This is both a real situation and a hypothetical question, I want to understand what my upstream provider is doing (or could be doing).

I buy transit off AS2, who buys transit off AS3, who peer or buy transit off AS4. Everything is simple, my routes are redistributed.

Now I bring up a connection to an IX and peer with the route servers. AS3 is already a member of this IX.

+-----+ +-----+ +-----+ +-----+ | AS1 +---------+ AS2 +---------+ AS3 +---------+ AS4 | +--+--+ 100mbps +-----+ 10gbps +--+--+ 10gbps +-----+ | | |10gbps +----+ 10gbps| +-------------+ IX +------------+ +----+ 

AS3 now learns my routes from the IX with a shorter AS path, and if they accept them it would mean I get 10gbps to AS4 rather than the 100mbps I'm paying for. This obviously isn't the case, but I want to understand what they're doing to mitigate this.

If AS3 had a manually managed list of routes that they were meant to be accepting from AS2, and say marked them with a community string when they learned them, then redistributed to AS4 based off that community string - The route that's now in their RIB is learned from the IX and does not have that string attached, so the moment the IX route lands in their RIB they'll stop redistributing the prefix to AS4.

If they did this redistribution based off manually/API managed prefix lists egress to AS4, and my route was on that list, then they would redistribute my IX route and I would end up with 10gbps of bandwidth to AS4, when I'm only paying for 100mbps of transit to AS2 who also only pays for 100mbps of transit to AS3.

The only conclusion I've been able to come to is that AS3 must simply set a higher local preference for routes learned from paying customers. But that almost seems too simple, and doesn't cover off another issue;

Say I advertsied a /22 into transit and /24s into the IX. AS3 now redistributes the /22 it learns from AS2 to AS4, but when traffic reaches AS3 it would surely follow the more specific /24 routes to me via the IX.

Would AS3 filter the routes they learn from any downstream peering/IX, rejecting all prefixes and contained prefixes that customers (like AS2) are paying them to redistribute?



No comments:

Post a Comment