Grouping traffic by protocol

TCP/UDP port numbers can be used to infer the type of traffic. Traffic Server provides a "protocol grouping" mechanism that allows well known ports to be identifies and grouped together to identify classes of traffic. For example, traffic to or from TCP port 80 can be identified as HTTP (Web) traffic.

Each TCP/UDP packet has both source and destination port numbers. Typically, one of these numbers will correspond to a well known service and the other will be an arbitrary number assigned by the host. There are two steps in trying to classify traffic.

The first step involves identifying which of the two ports is the "well known". The second step groups a range of well known ports into a named service, such as web, file-transfer, or login.

[enterprise]
name = "InMon Corp."

...
protocol.priority.TCP = 1-1024,2049,6000-6010,8080,8088 
protocol.group.TCP.login = 22,23,513 
protocol.group.TCP.web = 80,8080,8088 
protocol.group.TCP.file-transfer = 20,21,139 
protocol.group.TCP.privileged = 1-1024 
protocol.group.TCP.X11 = 6000-6010 

protocol.priority.UDP = 1-512,2049,513-1024,6343,9985-9995,19981-19991 
protocol.group.UDP.DNS = 53 
protocol.group.UDP.snmp = 161,162 
protocol.group.UDP.nfs = 2049 
protocol.group.UDP.netbios = 137-139

...
Figure 1 Protocol Group Example

Figure 1 shows an example of configuring protocol settings. The protocol.priority.TCP setting ranks the provides a priority ordering of port number that will be used to establish which of the source or destination port number to use to classify the protocol. In this example the priority order is 1-1024,2049,6000-6010,8080,8088. The application of the priority list is best illustrated by example. A packet with source port 22 and destination port 3123 would be classified using port 22 since 22 is includes in the 1-1024 range and 3123 isn't even listed. A packet with source port 8088 and destination port 20 would be classified using port 20 since 20 is included in the 1-1024 range and this is listed before 8088. Once the packet has been classified the port is matched to one of the protocol.group lists. Referring to the previous two examples, port 22 would be assigned the group login and port 20 would be assigned the group file-transfer.

The protocol.group classifications are used when making queries and generating reports. Specifically traffic on links can be broken out by groups when plotting long term trends (see Long term trending of interface counters). In addition, the protocolGroup field can be included as a resultField in most queries (see Help : Query). Finally, protocolGroup can be used as a categoryColumn when creating report templates (see Help : Reports : Templates).

Related Topics