So i gave you this picture. One of the things really interesting is that, for 2547, you have a lot of people want to bridge information between vrfs on the same pe routers and the way is to configure a policy that says if I get a route in on this. Accept it and process it anyway even if the cluster list or originator id matches my local router. We are building up on this bad behave /tkwroer get around a local configuration issue in the first place. And so if the only thing you reflected back from the route reflectors were prefixes that had this, that would be fine but what is going to happen is people that implemented route reflection correctly in the first place are going to change their route. We are going to force implementations to do even dumber things than they are doing today. So some of the network architectural considerations: Cluster.
StenoWorks - the court Reporting Supplies Store stenography machines
One of the problems though, it didn't seem like a big deal, if you think how this be /tphaeufs a real network, let's take that, the ibgp picture for a minute. (Hehaves in) and what happens is this prefix is advertised, (behaves) it's processed, the route reflectors get it and they all reflect it back. But what happens is this: Is assume that this router, so all ibgp implementations today that are in production service update processing in a roundrobin fashion for each peer. What happens is this: Is that he advertises the route out to the route reflectors and they advertise it back. Assume he has got 100,000 prefixes, this client that we are looking. So he starts getting in updates so he gets lab ten in and he starts roundrobin, advertising his updates. What happens is route reflectors reflect them back and get placed in this input processing queue and reflected updates that are coming back get ahead of some of the production updates coming from the ebgp in the first place. That is a horrible thing. You have you have got this stuff game you are going to discard and it's being reflected back to you and being processed before production updates in the control path anyway. When you look at it from this perspective it's pretty ugly and what is unfortunate you don't see where this when you show ibgp or route or anything, you don't see these because they are all being discarded and so it's horribly inefficient. So it's one of the things that when you are processing these really busy updates and you lot of what you are saying is duplicates anyway and you couldn't converge traffic because you are processing this garbage that you are going to though away it's.
Well, what changed in 2796 it is says, well, let's essay make an exception here and if a client tells me something now because it's ten years after route reflection was specified, so if a client tells me something and i am a route reflector. So it doesn't seem like a big deal. An implementation optimisation if I generate one time and copy it across my peers I have one instruction set and if I don't do that and do it per peer and have to exclude that client then I have got in instructions per peer. The problem is that doesn't consider things like systemic state and let me actually illustrate that for you here. So here is high level toplogical, you have got a prefix, p /24. Each those route reflectors tell their ibgp peers and clients but they also tell the route reflector back just from a design perspective, because he is every ever going to use this information. The only reason he should ever receive anything back that he advertises is an implicit withdrawal because the route that he advertises as a route reflector was a new best path so what happens is all these get dropped on input so those should really.
This is real data from route views and coupled with level 3 ibgp /O topology. So it's coming the two together to figure out why we got these duplicate updates. And I will have I don't have the chart here. The main reasons were next hop changes, cluster list changes that result in these sort of instabilities. One of the things that, really frustrated me, i experienced this when I was at quest again, we had Cisco core routers and Juniper edge routers and one of the things I noticed, so i was doing this exercise where i was figuring out how. If we didn't, they didn't know what an originator id was or cluster list and they didn't know the poison based on that path vector. Anyway, one of the changes that was made or basically the rule was if i am a route reflector and a client tells me significant tell all my ibgp peers and my clients but I can't tell the client at that told me and the.
Uppcl stenographer Previous, papers www
You have got this prefix and a reading client down here on the bottom and he advertises a given prefix to his three route reflectors and the each of the route reflectors decide that the blue path is the best, right. So what happens is you know when one of these go away like the blue route reflector even though he may not be in autobiography the forwarding path then they select a new one. It doesn't seem like a big deal, hey i had some ibgp topology change not a big deal. What happens is in implementation today is it results in that edge router on the other side of the network sending 3 updates or five or maybe more externally as a result of these attributes that changed inside the network and so it causes lots. One of the things I noted, during busy times and we have got a lot of stats on this we are going to public, 97 percent of the up dates that you receive during the busiest procession times are exact duplicates and it's for reasons. Greg: Duplicate paths or prefixes? Speaker: It's an exact copy of update.
From the /perp of the bgp peer it's exact copy of the attributes that change, that generated the attributes that changed that cause add new bgp path selection to happen, were stripped off before you advertised it externally but the implementation is not smart enough. There are some things from a bgp perspective that, this all happened inside your network. For example, what cluster list changes if, the contents cluster list change then a route reflector might still send a new copy of an update as a result of that and so it's inefficiencies that be thank can be optimised in implementation or protocol. So impact of updates. This is one of the things I was talking about earlier, cdf and during the busy times if you look at the chart here, all the red is duplicates and the line you can't see there line you can't see there is the unique updates.
This is on the parameter. If you use something like route reflection and use 3, then that multiplies as it comes into the network and i am going to talk about that some more in a minute. So one of the things that you hear lot of folks say, route reflection you get this implicit aggregate reflection, only advertises a single best path to the rest of the ibgp speakers and that is true. However, most people actually use more than one route reflector in their network and so if you have two or three or you know your route reflectors mirror your physical pop topology then you are going to have however many paths you have, unique paths. So what you see here is is a /rel simple topology where you got a prefix down the bottom raepl) and a cluster and the blue routers represent aggregation routers where you might connect must /phers or data centres and the grey is route reflecters.
And typically you have some physical topology and some model 4 that you have in a given pop within a cluster and so that bottom left cloud would be a cluster for example, and the grey would be route reflectors and they would be ibgp. If you learn one prefix, p /24 in this case on one of those clients, he would tell us three route reflectors and those would tell everyone else so everybody inside that ibgp mesh would have 3 copies that have prefix from the 3 route. So if you multihome to another cusser then that is 3 more that is going to be in the core so now you have six in every one of those 6 copies of the same prefix because of the route reflector topology. So i will illustrate this some more. So you know one of the other things actually, i am not going to yes, so one of the other things is that you get a lot of gratuitous updates with route reflectors and one of the things we have been looking at, there. So in a minute i will illustrate for you how route reflectors inside of a network or any nontransitive attribute like next /HO*P or cluster lists or bgp meds, if any of those change inside your network and goes out to the perimeter, you are. To illustrate this for you.
Ssc stenographer Previous year, paper
Everyone has to change. The more paths you plan have and the more churn you have the more fib. You are going to have all the way through this. One of the interesting things on the rib side, the rib to the fib, that is usually not even a single transaction, usually multiphase stuff, here is is a route, thank you i acknowledge that and so forth. The i o and bandwidth and cpo required to keep this information updated is significant and the number of paths has a huge impact on the forwarding performance and back plain capacity and all those sort of things. So why is the number of unique routes increased faster than number of prefixes. One of the biggest things is internal topology and another thing is external interconnection denseness, sort of the Internet gets flatter or the as parameters as networks become more densely interconnected, the number of available paths is going to grow larger. And so i will illustrate that in this slide. So you have got e here, one prefix /24 and decide they are going to connect to three isps so it's not just three paths, you know 3 unique routes in the routing system, what you end up with is if these isps interconnect.
And here is my attempt at capturing. The top left box there is sort of the bgp routing table and you know for each one of your peers you have an adjacent rib end and bgp process and low /KR*eub best routes routesing table and your those feed in some sort. And so that is what a manager table manager would. You generate your fib and says rib that rib is extracted and some hardware address information and stuff is added and it's distributed to one or more fibs. Some of the typical numbers today in the d fc size, a typical backbone network, maybe 300, 350,000, some larger, some half a million. Unique prefixes in sort of your in your fib. But one of the things that is important is the number of unique paths in the routing system or routes as food opposed to number of unique prefixes is most networks today, larger, anywhere from 2 to 6 million paths today in those routers and, you. I am going to talk about a bit that have as well. One of the things that is interesting any best path change, if you have got 6 million prefixes 6 million paths in your bgp table, any change in a best path means that all of this stuff has to change that, red line that you.
dfz size and it's based on any study you see or any sort of academic studies you have. The big thing that you hear about from a routing scaleability prospective is dfz size and how many routes are there in a routing system and how many of those end up in a fib and so what is the size of the chips that. And the reason it's important is because, you know, the more unique routes you have the more state, more churn, fibio that is going to be affected and so forth. So what we are going to look at here and talk a lot about the is the number of unique of routes as opposed to the number of prefixes in the routing system. Here is an example that, came from level 3, it's about a decade worth of growth in fib size, which is more or less, dfz unique prefix, no more routes that are unique number of prefixes in the routing system, is the red line. And the green line is the number of paths, very dependent upon sort of your network and routing architecture but it's also dependent on things like external interconnection denseness, so the more the more paths you are going to have for a given prefix and. So, a bit of a busy slide. I think most of that you do routing are network architecture have tried to envision this in some way.
No, then they become final at this point. This is the agenda we have put together for this session. Is there /tphaeupb would like to see anything added (anyone that). No, there will be a bit of announcement later. The first speaker on the list is talking to the other speaker in the list, danny. Danny mcpherson: i remote am Danny McPherson, i am going to talk for a few minutes about some ibgp scaling stuff and there are things in this talk that are, some of its as a network operator things could you do in your to change some. Some of it is implementation stuff, other protocol tweaks that should be made.
Download, steno, question, papers
The routing session commenced as follows: speaker: It's time type to begin. This is the routing Working Group session at the ripe. If you want to be in the other one, the antiabuse, this is not the room. So let's get started. The agenda is pretty full. There is a scribe from ripe ncc, there is a jabber scribe also from ripe ncc, thank you very much for doing that work. Microphone /et, state your name whenever you walk up to the microphone, the people who are attending remotely have the benefit of seeing who you are and it's much easier for them if you state your name. Some time ago we circulated the minutes from ripe 57, are there any comments that need to be included?