深入浅出Linux惊群:现象、原因和解决方案
我们知道,在网络分组通信中,网络数据包的接收是异步进行的,因为你不知道什么时候会有数据包到来。因此,网络收包大体分为两个过程数据包到来的通知分为两部分:(1)网卡通知数据包到来,中断协议栈收包;(2)协议栈将数据包填充 socket 的接收队列,通知应用程序有数据可读,这里仅讨论数据到达协议栈之后的事情。应用程序是通过 socket 和协议栈交互的,socket 隔离了应用程序和协议栈,socket 是两者之间的接口,对于应用程序,它代表协议栈;而对于协议栈,它又代表应用程序,当数据包到达协议栈