QoS/Packet Identification

QoS/packet identification

 QoS functions can be broadly divided into three functions: "packet identification," "priority control," and "bandwidth control." These functions are used to operate.

So far, we have explained “priority control” and “bandwidth control”. Here, we will explain "packet identification".

 We have explained that in "Priority Control" and "Bandwidth Control", the priority of packets is identified, sorted into waiting queues according to priority, and packets are discarded.

So how do we determine the priority of packets?

 Routers cannot automatically determine a packet's priority. It is necessary to define in advance what kind of information a packet has with high priority or low priority.

The information that routers primarily identify includes:

  • IP address
  • TCP/UDP port number
  • TOS field in IP header
  • VLAN tag

Details of the IP header are shown below.

The details of the VLAN tag are shown in the figure below.

An IP address can identify a communicating terminal. Applications can be identified by TCP and UDP port numbers.

In other words, it is possible to determine the priority for each terminal or application by combining the IP address and port number.

 "TOS field in IP header" and "VLAN tag" are used by routers and switches to inform other routers and switches of priority.

 Basically, these information are not written and packets are not sent from the terminal side, so the identification of QoS packets performed by the router mainly uses "IP address", "TCP and UDP port numbers". ” is used.

"IP address" and "TCP/UDP port numbers" are mainly used to identify QoS packets performed by routers.

However, this method is not without its problems.

 If identification is performed using only "IP address" information, it is not possible to reliably identify terminals that have received IP addresses assigned by DHCP.

 Also, the application can be identified by identifying only "TCP and UDP port numbers", but it is not possible to identify applications with dynamically changing port numbers.

Then, it is not the case that "VLAN tag" or "TOS field in IP header" can solve this problem.

 The 3-bit field that indicates the priority in the VLAN tag often identifies switch or IP phone traffic, and is not used to identify terminal packets.

 Among the 8 bits of the "TOS field in the IP header", the upper 3 bits are the IP precedence that indicates the priority, and the value can be specified from 0 to 7 in decimal. A higher value indicates a higher priority, but the priority written here is unreliable.

 In the end, it is only a self-declaration of the sending terminal, so if your packet (your application) has a high priority and a high priority value is set, that's it.

 Then, it would be nice if we could manage and control the priority by rewriting it on the router side without trusting the priority of the TOS field written and sent from the terminal side.

 Achieving this requires consistent priority management in routers across the networks they manage. If this router has a high priority, but the next router has a low priority, QoS will not work.

 Thus, packet identification is not perfect. However, most communications can be identified by the combination of IP address and port number, so introducing QoS can be expected to have a certain effect.