如何从netstat中找出Recv-Q和Send-Q背后的含义?

sat*_*gie 6 linux networking ubuntu netstat

netstat -ntp

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name     
tcp   8216172      0 127.0.0.1:9503         127.0.0.1:47654         ESTABLISHED 34390/python 
tcp        0 4189632 127.0.0.1:47686        127.0.0.1:9503          ESTABLISHED 34379/python  
tcp   8203139      0 127.0.0.1:9503        127.0.0.1:47666         ESTABLISHED 34390/python 
tcp   8179744      0 127.0.0.1:9503        127.0.0.1:47686         ESTABLISHED 34390/python 
Run Code Online (Sandbox Code Playgroud)

我已阅读此处发布的答案但仍然对程序是否将队列堆叠在发送或接收队列中存有疑问。例如。下面两行 netstat -ntp 输出中发生了什么?processId 34390 是否在发送或接收时获取排队数据以及队列发生在哪个端口号?

tcp 8216172  0 127.0.0.1:9503 127.0.0.1:47654 ESTABLISHED 34390/python
tcp   0 4189632 127.0.0.1:47686   127.0.0.1:9503  ESTABLISHED 34379/python
Run Code Online (Sandbox Code Playgroud)

Ste*_*itt 10

tcp 8216172  0 127.0.0.1:9503 127.0.0.1:47654 ESTABLISHED 34390/python
Run Code Online (Sandbox Code Playgroud)

表示进程 34390 在本地主机上的端口 9503 和本地主机上的端口 47654 之间打开了一个连接,内核在端口 9503 上已收到 8216172 字节的数据,但尚未被进程复制.

tcp   0 4189632 127.0.0.1:47686   127.0.0.1:9503  ESTABLISHED 34379/python
Run Code Online (Sandbox Code Playgroud)

意味着进程 34379 在本地主机上的端口 47686 和本地主机上的端口 9503 之间有一个连接打开,并且 4189632 字节的数据已从端口 47686 发送但尚未确认(因此它们仍在 TCP窗户)。