ank*_*yar 3 linux networking protocols
的用例和用法是什么/etc/protocols
?
我可以看到它列出了可用协议的数量。但这有什么意义呢?
例如,我的 Linux 计算机未运行 OSPF,但我在/etc/protocols
.
这是什么意思?该文件有何意义?我们要编辑该文件吗?
该文件记录在man 5 protocols
:
\n\n该文件是一个纯 ASCII 文件,描述了 TCP/IP 子系统中可用的各种 DARPA\n互联网协议。\n应该查阅该文件,而不是使用 ARPA\ninclude 文件中的数字,或者更糟糕的是,只是猜测它们。这些数字将出现在任何 IP 标头的协议字段中。
\n
它\xe2\x80\x99 是协议列表,与系统实际支持的协议无关。它\xe2\x80\x99s是 IANA\xe2\x80\x99s 协议号列表的本地等效项。可以使用和函数getprotobyname
getprotobynumber
对其进行询问。
它通常用于为使用中看到的协议提供名称,或确定用户指定的协议名称的协议号;例如,请参阅Unbound DNS 解析器中的这种用法。
\n不应修改\xe2\x80\x99:
\n\n\n保持此文件不变,因为更改将导致\nIP 包不正确。协议编号和名称由\nIANA(互联网号码分配机构)指定。
\n
仅当您要通过 IP \xe2\x80\x94 实现新协议而不是 TCP/UDP(在 中列出)上实现新协议时,才需要更改它/etc/services
:例如 SCTP,而不是 HTTP。如果您正在这样做,那么您可能需要/etc/protocols
暂时修改;但在发布之前,您\xe2\x80\x99d 向 IANA 请求新的分配(这非常简单),然后您的协议将被添加到 IANA\xe2\x80\x99s 列表中,并最终进入更新/etc/protocols
。