My company uses trading application where latency is utmost important. I have few ideas but really dont know how to implement. Like I want to know

1) How can I Prioritize applications by 802.1q tag.

2) How can I Prioritize applications by IP header (differentiated services code point (DSCP)/type of service (ToS).

3)Shape traffic such as bandwidth throttling or rate limiting.

Please help

  • This is a very big topic and there is no quick answer that will fit in this forum. There are many strategies, depending on your specific hardware, existing configurations, topology, other applications, etc. – Ron Trunk Aug 15 '18 at 13:18
  • Are there any pointers where there is a long answer?. I need to understand this. Appreciate your help on this. – Ethernet Aug 15 '18 at 13:29
  • 1
    You can prioritize based on layer 2 (802.1q) or layer 3 (DSCP), but it's very hardware-dependent. There are books available and various websites that you can search for. They will give you a more complete answer than we can do here. – Ron Trunk Aug 15 '18 at 14:10
  • Excuse the typo above. That should be 802.1p – Ron Trunk Aug 15 '18 at 17:01
  • @RonTrunk It's actually the 802.1*Q* standard, summarizing the 802.1p and 802.1q amendments. ;-) – Zac67 Aug 15 '18 at 17:07

This is a very complex topic and an extremely broad question. I'll try a rough answer.

Generally, first you classify your traffic into e.g.

  • low-latency (forward at the highest priority)
  • don't-drop (latency is no big issue but don't drop anything unless required for low-latency)
  • don't-care (do your best but drop if necessary)

Once you've done that, you identify your network hardware capabilities. Most device have multiple priority queues, so you configure each queue to take care of one or more of your traffic classes. You can do that be either using source or destination IP addresses, protocols, source/destination port numbers VLANs, or by assigning an already present traffic class from the packet's ToS field or the frame's 802.1Q tag.

In addition you can configure limits for each traffic class, so that (fake) VoIP class traffic doesn't blot out everything else.

Priorization and limitation is also used for traffic shaping which is another large topic.

Also, a given network may not be able to handle your requirements reliably, especially when aggregated links are not wide enough. The QoS requirements should always be reviewed together with the entire network design.

This is the short answer, there are many books written about these topics.

However, since you're referring to trading application requirements - this isn't usually handled by QoS alone but you need to optimize your entire environment for this purpose as well: select low-latency switches, routers and physical layer transports (even cables), allocate ample bandwidth and optimize the topology for short and quick paths.

| improve this answer | |
  • Whoa! Thanks Zac67 that was the answer I was looking for. You are great. Is there a further reading to this. Also, like how can I mark a packet say application sends a packet & I am receiving it in a Vlan(dedicated) so it is the job of application to mark packets as per high dscp value or I will do it. I am confused here. – Ethernet Aug 15 '18 at 15:42
  • Most hardware allows you to assign a priority by source or destination VLAN as well. You can use either or even multiple methods but there's only one resulting priority that'll be used. Of course, you can use diffserve codepoints as well, they're usually already assigned by default. Personally, I'm using IP addresses (or ranges) and DSCP most of the time. – Zac67 Aug 15 '18 at 17:02

Not the answer you're looking for? Browse other questions tagged or ask your own question.