我想知道 ss 命令输出中某些项目的含义。例如:
# sudo ss -iepn '( dport = :3443 )'
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 0 192.168.43.39:45486 190.0.2.1:443 users:(("rocketchat-desk",pid=28697,fd=80)) timer:(keepalive,11sec,0) uid:1000 ino:210510085 sk:16f1 <->
ts sack cubic wscale:7,7 rto:573 rtt:126.827/104.434 ato:40 mss:1388 pmtu:1500 rcvmss:1388 advmss:1448 cwnd:10 bytes_sent:12904 bytes_retrans:385 bytes_acked:12520 bytes_received:13322 segs_out:433 segs_in:444 data_segs_out:215 data_segs_in:253 send 875.5Kbps lastsnd:18722 lastrcv:18723 lastack:18662 pacing_rate 1.8Mbps delivery_rate 298.1Kbps delivered:216 busy:16182ms retrans:0/10 dsack_dups:10 rcv_rtt:305 rcv_space:14480 rcv_ssthresh:6
CLOSE-WAIT 1 0 [2800:810:54a:7f0::1000]:37844 [2800:3f0:4002:803::200a]:443 users:(("plasma-browser-",pid=16020,fd=175)) uid:1000 ino:90761 sk:1d -->
ts sack cubic wscale:8,7 rto:222 rtt:21.504/5.045 ato:40 mss:1348 pmtu:1500 rcvmss:1208 advmss:1428 cwnd:10 bytes_sent:1470 bytes_acked:1471 bytes_received:11214 segs_out:20 segs_in:20 data_segs_out:8 data_segs_in:13 send 5014881bps lastsnd:96094169 lastrcv:96137280 lastack:96094142 pacing_rate 10029464bps delivery_rate 1363968bps delivered:9 app_limited busy:91ms rcv_space:14280 rcv_ssthresh:64108 minrtt:17.458
主要是 ss 手册页中缺少的项目,我做了一些猜测,如果我错了,请纠正我:
- rcvmss:我不知道是彩信接收
- 建议:?
- 应用程序限制:?
- 忙碌的: ?
- 重新翻译:?
- dsack_dups:重复的段?
- minrtt:在套接字中达到的最小 RTT?
其中一些字段的含义可以从 ss和 Linux 内核的源代码中推断出来。您看到的信息是按中的
tcp_show_info()
功能打印的iproute2/misc/ss.c
。建议:
在
ss.c
:在
linux/include/linux/tcp.h
:应用程序限制:
在
ss.c
:linux/include/uapi/linux/tcp.h
Linux中没有记录那个:但令人惊讶的是,我们可以在介绍它的提交中找到一些信息:
快速确认是
git blame
在添加到内核之后添加的。ss.c
app_limited
tcpi_delivery_rate_app_limited
忙:
在
ss.c
:在
include/uapi/linux/tcp.h
Linux中它说:重新翻译:
在
ss.c
:tcpi_total_retrans
中未描述linux/include/uapi/linux/tcp.h
:但它用于
tcp_get_info()
:并在
linux/include/linux/tcp.h
其中说:tcpi_retrans
也没有描述,但tcp_get_info()
再次阅读我们看到:并在
linux/include/linux/tcp.h
:dsack_dups:
在
ss.c
:在
include/uapi/linux/tcp.h
Linux 中:在https://www.ietf.org/rfc/rfc4898.txt:
MSS 通常代表最大段大小。
rcvmss
:您让同行知道您将接受的最大分段大小advmss
: 通告最大段大小app_limited
: 在请求或响应中使用应用程序限制来限制 TCP 流busy
: TCP 连接忙??retrans
: 重传定时器。如果一个数据包的发送者在定时器超时之前没有收到ack,它会尝试重传这个包dsack_dups
: 重复选择性确认minrtt
:最小往返时间,数据包从源到目的地的最短时间让我知道其中是否有任何错误,我会更正。