Linux 上的“netstat -s”输出中的“传入数据包已交付”是什么意思?

Linux 上的“netstat -s”输出中的“传入数据包已交付”是什么意思?

在Linux上运行时netstat -s,我得到了以下IP协议的统计数据(省略了其他协议的信息),

Ip:
    322937 total packets received
    0 forwarded
    0 incoming packets discarded
    322932 incoming packets delivered
    213695 requests sent out
    14 outgoing packets dropped

关于以下两个统计数据,

"322932 incoming packets delivered"
"213695 requests sent out"

第一个是否意味着 322932 个传入数据包传送到应用层?第二个是否表示该服务器发起的请求已发出213695个?

感谢您的帮助!

答案1

在 的输出中找到谈论统计数据的确切含义的文档并不容易netstat -s。找到它们的一种方法是查看 的源代码netstat.c,特别是统计数据的一部分其中,对于“已交付的传入数据包”,我们看到

{"InDelivers", N_("%llu incoming packets delivered"), number},

然后你抬头InDelivers协议我们看到的地方

成功传送到 IP 用户协议(包括 ICMP)的输入数据报总数。

作为 的描述ipInDelivers

问题归结为什么是“IP 用户协议”?在RFC986我们看

“当前的 IP 地址和 IP 用户协议号可以在 [4] 中找到。

其中参考文献[4]指向RFC960,在那里我们可以确认所谓的“IP用户协议”确实是上层,即传输层的协议,如TCP、UDP、ICMP等。

您不应该说“应用程序层”,因为该术语特指 OSI 网络模型中的最高层(第 7 层)。

相关内容