What is a So Called "Chatty Application" or "Chatty Apps"?
Yak, Yak, Yak – Understanding ‘Chatty’ Apps
One of the finer points of running a network lies in planning for the introduction of new applications into the business, and to understand the broader environment that your network is supporting. Corporate networks don’t exist in a vacuum, and they touch almost every aspect of the business. That’s why it’s critical for network administrators to understand not only the types of traffic that their network is going to support, but also the applications behind that traffic.
Enter the ‘Chatty’ App
In a distributed enterprise, composed of more than one office or location, employees at those locations usually need to access various applications, and in many cases it makes sense for those applications to be hosted at a central location, like the corporate headquarters or primary data center. And even in cases where the applications are hosted off-site, such as SalesForce.com or similar Software-As-A-Service, the traffic between that application platform and the remote offices is routed through the central location.
That’s where it becomes important to understand the concept of the chatty application. ‘Chatty’ is a designation usually given to applications that function in a client-server model, and which require a significant amount of communications between the client machines and the central servers.
These applications generate a large number of something called application turns. ‘Application turn’ is the description given to the process whereby the client must confirm that the server has received the right data, before it can proceed. This interaction generates an endless stream of synchronization and acknowledgement traffic – application turns – which makes the application ‘chatty’.
Ok, So the Application is Chatty – Why should you care and what should you do about it?
Any given packet in a web-based app is typically pretty small. But even the smallest possible packet, 1 byte, must be transmitted via the standard IP protocol, which uses 20 bytes of overhead for the IP=packet header while an actual Ethernet frame uses 64 bytes minimum. So, given enough traffic, even small packets will congest and negatively impact your internet performance and speed. And that’s felt no where more than with WAN links, which are typically much smaller than local networks in terms of bandwidth, and much more expensive to upgrade.
Additionally, flows from chatty apps are sensitive to RTT (Round Trip Time), i.e. the latency amount for the packet to be sent and receive an acknowledgement back. So if the WAN networks are not optimized for latency, the end-user experience will suffer.
Depending on the size of the user base and the application, even one very chatty application is capable of significantly impacting a WAN. By failing to understand just how chatty these applications can get, network administrators can get into a lot of trouble by deploying these applications without understanding what they are and how they work.
There are various techniques that modern SD-WAN routers implement for certain applications, such as active latency and jitter management. This allows for the network to intelligently direct chatty applications flow around network latency bottlenecks therefore optimizing end-user experience. Header compression techniques are also possible whereby smaller packets are grouped together before being sent over the wire therefore reducing some of the inefficiency native to chatty applications.
In some cases, applications can be modified, either through settings or code, to reduce the need for constant synchronization and acknowledgement, and keep the chatter to only that which is critical to functionality. Some applications support this kind of optimization, and some don’t.
In other cases, application servers can be distributed, so that there isn’t any one central server, and remote clients are better able to function independently. Again, this is strongly dependent on the application itself, and may not be possible in all cases.
The key is to understand more than just your network. You must interact with the larger business to understand the applications that are on the horizon for deployment, and the characteristics of those applications. Through this kind of communication and advanced planning, you can avoid the kinds of pitfalls and gotchas that keep many network administrators up at night.
Cahit Akin, CEO, Mushroom Networks, Inc.
Mushroom Networks is the provider of SD-WAN (Software Defined WAN) and NFV solutions capable of Broadband Bonding that enables self-healing WAN networks that route around network problems such as latency, jitter and packet loss.