What is a chatty protocol?
A chatty protocol is an application or routing protocol requiring a client or server to wait for an acknowledgment before transmitting data again. Multiple communication touchpoints that show network or server availability are all part of the chatty protocol.
Wait times on local area networks (LAN) are measured in milliseconds and don't affect performance. However, the wait time or latency is longer on wide area networks (WAN) because acknowledgments have to travel farther. So, on WANs extended wait times can degrade the quality of service (QoS) and lower the productivity of remote employees.
Distance vector protocols are "chatty" because multiple parties on the system communicate to initiate and accommodate data transfers. For example, network devices and servers constantly announce their network availability, adding to network overhead. And when a network device or server waits for an acknowledgment before sending out the next packet, this is chatty and adds to network overhead.
Example of a chatty protocol
A Common Internet File System (CIFS) is a chatty protocol used for accessing files on a corporate network. It is essentially a public version of the Server Message Block (SMB) file-sharing protocol. CIFS is popular because it enables seamless collaboration and document sharing on corporate networks.
On a CIFS, a 30-megabyte file accessed locally over the corporate LAN would have negligible latency, or about 300 milliseconds, of wait time. A remote employee accessing the same file over the corporate WAN could extend wait times by as much as seven minutes.
To compensate for the latency caused by a chatty protocol, the WAN administrator must minimize the number of trips the protocol makes across the network. This is typically done by optimizing WAN accelerator chatty protocols. In this case, a network appliance will cache common transmission patterns so they can be referenced instead of having to transmit data.
What are chatty applications?
Chatty applications protocols enable software-as-a-service (SaaS) applications to run like native applications on smart mobile devices. Chatty apps help adjust to the optimal size for smartphones without force-fitting or shrinking the user interface (UI). They also ensure that there's no data loss when a network connection is interrupted or lost.
As new models of smartphones and mobile devices become available, it is increasingly challenging for developers to optimize the UI for all of them. It is also difficult and expensive to cater to a small subset of the most popular devices because developers must write and maintain code for each device.
Chatty apps also help remote employees access in-house enterprise applications running in the corporate headquarters or the organization's primary data center.
Users can download chatty applications quickly because the UI web form or SaaS applications are broken down into chunks of small bits. This approach helps application developers enhance the user experience and mitigate the risk of app abandonment.
The packets transmitted through web-based apps are usually small. However, even the smallest packet (1 byte) must be transmitted through a standard internet protocol (IP). When there is high traffic even these small packets will cause congestion and impact the performance and speed of the internet connection.
Since the data flow from chatty apps is sensitive to round-trip times (RTT), WAN networks must be optimized to mitigate latency and enhance the user experience.
Optimizing chatty applications
Chatty applications are optimized by using caching. Depending on the application and network architecture, organizations can use distributed caching, in-memory caching, API gateway caching, or caching at the enterprise service bus (ESB) level. Most caching solutions demand comprehensive refresh and replication cache strategies.
Application turns describe the process where the client confirms that the server received the correct data before proceeding. These interactions often generate an endless stream of acknowledgement traffic and synchronization.