Làm thế nào tôi nên chọn số cổng cho một công cụ mới?


13

Tôi đang tạo một công cụ cộng tác nội bộ sẽ sử dụng máy chủ trung tâm (trên mạng nội bộ) và một hoặc nhiều cổng để liên lạc ổ cắm với khách hàng. Tôi biết rằng nhiều cổng được dành riêng cho các mục đích cụ thể và các cổng khác được sử dụng theo quy ước cho một số loại lưu lượng nhất định.

Làm thế nào tôi nên chọn một cổng mặc định ít có khả năng bị "khiếu nại" bởi người khác cho công cụ của họ? Có một cơ sở dữ liệu xác định tất cả việc sử dụng cổng được biết (thậm chí không theo quy tắc) không?


3
Điều này thường chỉ là một vấn đề nếu một cái gì đó đã sử dụng cổng trên máy chủ. Tuy nhiên, cổng nên được cấu hình. Tôi đã thấy khá nhiều phần mềm có cổng được mã hóa cứng, đó không phải là điều bạn muốn.
devicenull 04

@devicenull Tôi chắc chắn sẽ có tùy chọn ghi đè mặc định.
Jace Browning

3
Nếu râu của bạn đủ màu xám, bạn có thể sử dụng RPC và đăng ký điểm cuối của riêng bạn. msdn.microsoft.com/en-us/l Library / windows / desktop / trộm
Ryan Ries

2
Trừ khi bạn có một lý do tuyệt vời để không sử dụng các giao thức hiện có nơi bạn có thể. a) Thật tự nhiên khi nghĩ rằng bạn có thể làm một công việc tốt hơn, đối với hầu hết mọi người là không đúng sự thật. Nhưng ngay cả khi bạn có thể, liệu có đủ tốt hơn để chống lại b) các công cụ / thiết bị mạng đã được thiết lập để hoạt động với các tiêu chuẩn hiện có. Thêm những cái mới có một rào cản và khối lượng công việc phải làm để thực hiện.
JamesRyan

2
Đối với một cái gì đó là sự hợp tác nội bộ, mọi thứ> 1024 và <32768 (nên bảo vệ chống lại các ràng buộc cổng phù du) và KHÔNG được liệt kê trong sổ đăng ký cổng IANA sẽ ổn, cung cấp cho bạn giao tiếp hiệu quả với các bộ phận bên trong mà bạn đã sử dụng cổng.
Matthew Ife

Câu trả lời:


16

Có, IANA duy trì dịch vụ chính thức và đăng ký số cổng .

Quá trình nhận số cổng được gán cho bạn được ghi lại trong RFC 6335 . Một quy trình xem xét là cần thiết cho bất kỳ việc gán cổng nào, nhưng nó nghiêm ngặt hơn nhiều đối với các cổng <1024; các bài tập như vậy yêu cầu (trong số những thứ khác) rằng giao thức của bạn được ghi lại trong RFC.

(Lưu ý rằng quy trình này tương đối mới và có nhiều cổng được gán đã được mở rộng.)

Đối với <1024, các cổng 1021 và 1022 được dành riêng cho thử nghiệm; ở trên đó, để thử nghiệm, bạn chỉ cần sử dụng cổng động> = 49152.


1
Phím tắt để tìm kiếm "chưa được gán": iana.org/assignments/service-names-port-numbers/ gợi
Jace Browning

3

Trong hầu hết các trường hợp, tốt hơn là chỉ sử dụng HTTP, vì sớm hay muộn sẽ có một tường lửa bạn cần phải vượt qua. Hầu hết các hệ điều hành cho phép không gian địa chỉ HTTP được phân chia giữa các quy trình.


2
Tôi bối rối, tôi không thể sử dụng HTTP trên bất kỳ cổng nào? Tôi không muốn mặc định :80hoặc :8080bởi vì có khả năng mạnh mẽ những thứ đó sẽ được sử dụng. Không phải câu hỏi của tôi vẫn còn hiệu lực sao?
Jace Browning

@JaceBrowning, vâng, bạn có thể, nhưng sử dụng bất kỳ cổng nào khác chỉ là một chút lịch sử :-). Bất kỳ hệ điều hành tốt nào, sẽ cho phép bạn phân chia không gian tên HTTP giữa các ứng dụng.
Ian Ringrose
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.