I hope you all had a great holiday season and are having a happy 2023. It was definitely a lot of fun getting to be with my family and friends and get some relaxation in.
The one problem with the end of the year is that there is so much to do. You have to finish any projects/assignments you have, plan your parties, buy your gifts, think about the upcoming year and any trips you want to take, get your finances in order, etc, etc. So much to do, so little time…
It's like I have too many inputs and not a big enough of a funnel for my outputs. I think what I need is a better way to prioritize my tasks. Did you know you can prioritize your traffic with the SSR? That's right, I found a way to connect my life to the Session Smart Router again for this year's first Feature Friday.
This week we are going to look at Traffic Engineering!
Many of you probably already know this, but just in case you don't, let's define Traffic Engineering. I'll start with an analogy. Think about when you are designing a city (any Sim City fans out there?). One of the things you need to think about when designing your city is the layout of your streets and highways. You want to set them up in a way so that you minimize the number of traffic jams that occur and allow for vehicles to get to their destinations as fast as possible. You may even want to give priority to emergency vehicles so that they can skip in front of other cars and reach their destinations faster. Consequently, what I just described is called Traffic Engineering in Civil Engineering.
Well, for Network Engineers, we want the same thing. Our goal is to make our networks run as smoothly as possible, avoiding any congestion/collisions, and allowing our clients to reach our servers as fast as possible. We may even want to give Voice/Video priority over Data because of its sensitivity to jitter, loss, and latency. This is what Traffic Engineering is for Network Engineering. Traffic Engineering is the method of optimizing the of performance of your network.
Did you know that you can set up your Session Smart Routers to do Traffic Engineering? It's actually very easy. It involves two steps:
With these two steps, we put the traffic traversing our Session Smart Routers into 1 of 4 categories:
Each category has a set amount of bandwidth allocated to it (configurable) that you do not have to worry about getting disturbed by the other categories.
Traffic Classification is the process by which the Session Smart Router identifies packets as belonging to a specific application. We need to be able to identify our traffic in order to put it into the correct lanes and prioritize it correctly. We can do this classification based on the application (Service/Service Class) or based on the L4 transport and port (Session Type).
If you want to do the classification based on application, all you have to do is define a Service Class and select one of the Traffic Classes there. You then assign this Service Class to any Services you want. For example, I may create a Gold Service Class with the Traffic Class of High and then assign that Service Class to my Voice and Video Services. I'll also create a Silver Service Class with a Traffic Class of Medium and assign that to any Data Services. Now when Voice or Video traffic pass through my SSR, they will be put into the High category and Data traffic will be put into the Medium category. If you want to do this based on L4 Transport and Port, you use a Session Type and then have the Session Type point to your Service Class.
defining a Service Class through the Service will overwrite any Service Classes you have defined through the Session Type.
Ok, after we have classified our traffic, we need to prioritize it and give it its allocated bandwidth. Above, I mentioned how we assign our category of High, Medium, Low, and Best Effort. However, we also need to pick what percentage of our total bandwidth we want to allocate to each category. To do this, we create a Traffic Profile where we put in a percentage of our minimum guaranteed bandwidth per category. That means that we will make sure that each category gets what we assign. If they need to go over what is assigned and there is extra bandwidth, then it gets dished out on a first come, first served basis. The percentages you put into the Traffic Profile must equal 100.
After we have our percentages selected, we go to the Egress Device Interface, and we turn Traffic Engineering Enabled to True, input a Transmission Capacity for that interface (for example, 1G), and then select our Traffic Profile.
After we commit our configuration, we will have Traffic Engineering! Here's an infographic @Reid made breaking it all down:
Now, you may have noticed that we are doing this method of Traffic Engineering on an Egress Device Interface by Egress Device Interface basis. But what if you want to do your Traffic Engineering based on your destination, is that possible?
Well…yes it is.
Quick terminology refresh here: an Adjacency is the name we give to the Network Interface of a Peer (another SSR) that we are sending traffic to. Adjacencies can either be configured manually or can be autogenerated through Neighborhoods. Neighborhoods are sets of Network Interfaces that are connected to each other on a L3 network.
With Per-Adjacency Traffic Engineering we can limit the amount of traffic we send to each of our Adjacencies. In order to set up Per-Adjacency Traffic Engineering, all we do is at the Neighborhood, select the Vector (path to each Adjacency), put in your receive-cap (like Transmission Capacity, but for how much traffic the Adjacency is allowed to receive) and Traffic Profile (percentages for the different categories). If your Adjacencies are manually configured, then you can configure these values at the Adjacency, it's just under traffic-engineering > transmission-cap.
Per-Adjacency Traffic Engineering Documentation
Alright, so that is Traffic Engineering in a nut shell. I wrote a lot more than I thought I would, so I am sure some of it doesn't make sense. Let me know in the comments. Also, let me know about any other topics you would like me to cover. Here some things I would like to hear from you:
I will be quiet now. But I just want to once again wish everyone a Happy New Year and to all of my friends celebrating the Lunar New Year this weekend, I am wishing you a prosperous, marvelous, and blissful Lunar Year ahead!