Tài liệu cho biết cổng nguồn TCP và UDP ở đâu phải trên 1024 và ngẫu nhiên?


11

Tôi đang gặp khó khăn để tìm nơi ghi lại rằng cổng nguồn phải là ngẫu nhiên và trong phạm vi 1024-65535.

Trong đó RFC là tài liệu này?

Chỉnh sửa:
Tham chiếu đầu tiên cho các cổng đặc quyền là trong RFC2623
Có vẻ như điều này phụ thuộc nhiều hơn vào việc triển khai TCP / IP và nó là một tiêu chuẩn thực tế.

IANA đang gán các số cổng (RFC1700)


1
FYR - RFC 1700 (STD 2) chỉ liên quan đến việc gán các cổng nghe (nơi các dịch vụ lắng nghe các kết nối). Nó không giải quyết việc lựa chọn cổng nguồn của máy chủ kết nối.
voretaq7

Có, nhưng hệ quả mà bạn "NÊN" sử dụng các cổng đã đăng ký là bạn không nên sử dụng chúng cho những thứ khác. Đó là lý do tại sao tôi đề cập đến nó.
Mircea Vutcovici

2
iana.org/assignments/service-names-port-numbers/ từ nói về các cổng năng động và / hoặc riêng tư (49152-65535). Vì vậy, có vẻ như khách hàng nên sử dụng một cổng từ phạm vi đó.
Mircea Vutcovici

Câu trả lời:


13

Có lẽ bạn đang tìm kiếm RFC 6056 - Khuyến nghị về ngẫu nhiên cổng giao thức vận chuyển ("Thực hành tốt nhất hiện nay").

Về mặt kỹ thuật, không có yêu cầu rằng cổng phù du phải> 1024 hoặc ngẫu nhiên (bạn có thể xây dựng một hệ thống luôn khởi tạo các kết nối từ cổng 12 vì bạn thích số 12), đó không phải là "bình thường" để làm như vậy (và một ý tưởng khủng khiếp cho một loạt các lý do, một số trong đó được mô tả trong RFC đó).


Dường như các cổng phù du phải> = 49152. Nhưng câu trả lời của bạn là câu hỏi gần nhất với câu hỏi của tôi.
Mircea Vutcovici

3

Các RFC 6335 được giải thích này:

Các cổng trong phạm vi Cổng động (49152-65535) đã được dành riêng cho sử dụng cục bộ và động và không thể được chỉ định thông qua IANA. Phần mềm ứng dụng có thể chỉ cần sử dụng bất kỳ cổng động nào có sẵn trên máy chủ cục bộ mà không cần bất kỳ loại chuyển nhượng nào. Mặt khác, phần mềm ứng dụng PHẢI KHÔNG cho rằng một số cổng cụ thể trong phạm vi Cổng động sẽ luôn có sẵn để liên lạc mọi lúc và số cổng trong phạm vi đó do đó KHÔNG được sử dụng làm định danh dịch vụ.

Các cổng dành riêng:

Các cổng trong phạm vi Cổng người dùng (1024-49151) có sẵn để gán thông qua IANA và CÓ THỂ được sử dụng làm định danh dịch vụ khi gán thành công.

Các cổng trong phạm vi Cổng hệ thống (0-1023) cũng có sẵn để gán thông qua IANA. Do phạm vi Cổng hệ thống vừa nhỏ nhất vừa được phân bổ dày đặc nhất, nên các yêu cầu đối với nhiệm vụ mới nghiêm ngặt hơn so với phạm vi Cổng người dùng và sẽ chỉ được cấp theo quy trình "Đánh giá IETF" hoặc "Phê duyệt IESG" RFC5226 .

Phần giới thiệu giải thích sự nhầm lẫn:

Trong nhiều năm, việc gán tên dịch vụ mới và giá trị số cổng để sử dụng với Giao thức điều khiển truyền (TCP) [RFC0793] và Giao thức gói dữ liệu người dùng (UDP) [RFC0768] đã có ít hơn
các hướng dẫn rõ ràng.

Có vẻ như Windows XP không theo RFC6335, nhưng Solaris 10 thì có.


1

Những gì voretaq7 nói cùng với điều này nhưng mang tính mô phạm có một yêu cầu kỹ thuật. Các daemon / máy chủ trong * nix trong lịch sử đang chạy trên các cổng <1024 (gọi chúng là cổng hệ thống) để tránh xung đột, các cổng nguồn (Cổng người dùng)> 1024 (hoặc chính xác là 1024 - 49151) Tuy nhiên, đó không phải lúc nào cũng là trường hợp như bạn nói và nó phụ thuộc vào việc thực hiện. Tất cả trong tất cả các liên kết ở trên cung cấp một danh sách của RFC nhưng có lẽ cụ thể nhất là RFC5226 mô tả quá trình "Đánh giá của chuyên gia" của IANA.


Một số triển khai máy chủ NFS yêu cầu máy khách NFS sử dụng cổng <1024. Vì vậy, về mặt kỹ thuật, luôn có thể sử dụng tất cả các cổng làm cổng nguồn. Những gì tôi đang hỏi là một tài liệu yêu cầu sử dụng cho các cổng trên 1024. Có vẻ như thực tế khách hàng nên sử dụng các cổng trên 49152.
Mircea Vutcovici

1
Điều đó không từ chối câu trả lời của tôi. Xem tại đây unix.stackexchange.com/questions/16564/ Từ Tại sao nhiệm vụ IANA và RFC 6056 không bao gồm bạn? Sau khi bạn luôn có thể đưa ra các đề xuất, không ai ngăn bạn triển khai trình duyệt web sẽ sử dụng cổng 80 làm cổng nguồn
người dùng

1
Không giống nhau, không có yêu cầu rằng các cổng đặc quyền hoặc "nổi tiếng" không được sử dụng làm cổng nguồn (xem ví dụ của Mircea với các cổng NFS đặc quyền) - Nó không thường được thực hiện vì những lý do bạn đã đề cập, nhưng nó cũng không cấm. AFAIK theo TCP và UDP RFC, bất kỳ cổng không sử dụng nào cũng là trò chơi công bằng như một cổng nguồn. Các quy tắc chúng tôi tạo nên trên đó là để thuận tiện cho chúng tôi :-)
voretaq7
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.