说明TCP和UDP源端口应大于1024且随机的文档在哪里?


11

我很难找到记录在哪里的源端口应该是随机的并且在1024-65535范围内。

此文件记录在哪个RFC中?

编辑:
特权端口的第一个引用是在RFC2623中。
这似乎更多地取决于TCP / IP的实现,它是事实上的标准。

IANA正在分配端口号(RFC1700)


1
FYR-RFC 1700(STD 2)仅处理侦听器端口的分配(服务在其中侦听连接)。它不处理连接服务器源端口的选择。
voretaq7 2011年

是的,但是您“应该”使用注册的端口的必然结果是您不应将它们用于其他用途。这就是为什么我提到它。
Mircea Vutcovici 2011年

2
iana.org/assignments/service-names-port-numbers/…讨论了动态和/或专用端口(49152-65535)。因此,似乎客户端应使用该范围内的端口。
2011年

Answers:


13

您可能正在寻找RFC 6056-传输协议端口随机化建议(“最佳实践”)。

从技术上讲是没有要求的临时端口为> 1024的或随机的(你可以建立一个系统,总是发起从本地端口12,因为你喜欢12号的连接),它只是没有“正常”这样做(和一个可怕的想法一堆原因,其中一些在该RFC中进行了描述。


看起来临时端口应> = 49152。但是您的答案是最接近我的问题的答案。
Mircea Vutcovici 2011年

3

RFC 6335中解释这一点:

动态端口范围(49152-65535)中的端口已专门留作本地和动态使用,不能通过IANA进行分配。应用程序软件可以简单地使用本地主机上可用的任何动态端口,而无需进行任何分配。另一方面,应用程序软件不得假定“动态端口”范围内的特定端口号始终始终可用于通信,因此该范围内的端口号不得用作服务标识符。

保留的端口:

用户端口范围(1024-49151)中的端口可通过IANA进行分配,并且在成功分配后可用作服务标识符。

也可以通过IANA分配“系统端口”范围(0-1023)中的端口。由于“系统端口”范围既是最小端口,也是分配最密集的端口,所以新分配的要求比“用户端口”范围的要求更为严格,并且仅在“ IETF审查”或“ IESG批准”过程RFC5226中被授予。

引言解释了这种困惑:

多年来,与传输控制协议(TCP)[RFC0793]和用户数据报协议(UDP)[RFC0768]一起使用的新服务名称和端口号值的分配不够
明确。

看来Windows XP没有遵循RFC6335,但是Solaris 10遵循了。


1

voretaq7所说的与此有关, 但出于学究,这是一项技术要求。过去,* nix中的守护程序/服务器运行在端口<1024(称为系统端口)上,因此为了避免冲突,源端口(用户端口)应大于1024(或更确切地说是1024-49151),但是并不总是这样。正如您所说,这种情况取决于实现方式。上面的所有链接提供了RFC的列表,但最具体的可能是 RFC5226,它描述了IANA的“专家审核”过程。


某些NFS服务器实现要求NFS客户端使用<1024端口。因此,从技术上讲,始终可以将所有端口用作源端口。我所问的是对于要求在1024到使用的端口看来,实际上,客户端应该使用的端口超过49152的文件
米尔恰Vutcovici

1
那并不能反驳我的回答。参见unix.stackexchange.com/questions/16564/…为什么IANA分配和RFC 6056不能涵盖您?在您总是可以提出建议之后,没有人阻止您实施将端口80用作源端口的Web浏览器
用户,

1
作为同样迂腐,没有规定的特权或“知名”不能用作源端口的端口(参见米尔恰与特权NFS端口反) -这不是一般你提到的原因而作出的,但它也没有禁止的。根据TCP和UDP RFC的AFAIK,任何未使用的端口作为源端口都是公平的。我们在此基础上制定的规则是为了我们方便起见:-)
voretaq7 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.