Bagaimana saya harus memilih nomor port untuk alat baru?

13

Saya membuat alat kolaborasi internal yang akan menggunakan server pusat (pada intranet) dan satu atau lebih port untuk komunikasi soket ke klien. Saya tahu bahwa banyak port dicadangkan untuk tujuan tertentu dan yang lain secara konvensional digunakan untuk jenis lalu lintas tertentu.

Bagaimana cara memilih port default yang paling tidak "diklaim" oleh orang lain untuk alat mereka? Apakah ada basis data yang mengidentifikasi semua penggunaan port yang diketahui (bahkan tidak konvensional)?

Jace Browning
sumber
3
Ini umumnya hanya masalah jika ada sesuatu yang sudah menggunakan port di server. Namun, port harus dapat dikonfigurasi. Saya telah melihat cukup banyak perangkat lunak memiliki port hardcoded, yang bukan yang Anda inginkan.
devicenull
@devicenull saya pasti akan memiliki opsi untuk menimpa default.
Jace Browning
3
Jika jenggot Anda cukup abu-abu, Anda bisa menggunakan RPC dan mendaftarkan titik akhir Anda sendiri. msdn.microsoft.com/en-us/library/windows/desktop/…
Ryan Ries
2
Kecuali Anda memiliki alasan kuat untuk tidak melakukannya, lebih baik menggunakan protokol yang ada di mana Anda bisa. a) Wajar untuk berpikir Anda dapat melakukan pekerjaan yang lebih baik, bagi kebanyakan orang itu tidak benar. Tetapi bahkan ketika Anda bisa, apakah lebih baik untuk menangkal b) alat / perangkat jaringan sudah diatur untuk bekerja dengan standar yang ada. Menambahkan yang baru memiliki hambatan dan jumlah pekerjaan yang harus dilakukan untuk diterapkan.
JamesRyan
2
Untuk sesuatu yang merupakan kolaborasi internal apa pun> 1024 dan <32768 (harus melindungi terhadap binding port ephemeral) dan TIDAK terdaftar dalam registri port IANA akan baik-baik saja, asalkan Anda berkomunikasi secara efektif dengan depth internal Anda, Anda telah mengambil port.
Matthew Ife

Jawaban:

16

Ya, IANA mengelola layanan resmi dan registrasi nomor port .

Proses untuk mendapatkan nomor port yang ditetapkan untuk Anda didokumentasikan dalam RFC 6335 . Diperlukan proses peninjauan untuk setiap penugasan port, tetapi jauh lebih ketat untuk port <1024; penugasan tersebut mengharuskan (antara lain) protokol Anda didokumentasikan dalam RFC.

(Perhatikan bahwa proses ini relatif baru dan bahwa ada banyak port yang ditugaskan yang menjadi kakek.)

Untuk <1024, port 1021 dan 1022 dicadangkan untuk eksperimen; di atas itu, untuk eksperimen Anda cukup menggunakan port dinamis> = 49152.

Michael Hampton
sumber
1
Jalan pintas untuk mencari "belum ditetapkan": iana.org/assignments/service-names-port-numbers/…
Jace Browning
3

Dalam kebanyakan kasus, lebih baik menggunakan HTTP saja, karena cepat atau lambat akan ada firewall yang perlu Anda lewati. Sebagian besar OS memungkinkan ruang alamat HTTP untuk dibagi antara proses.

Ian Ringrose
sumber
2
Saya bingung, tidak bisakah saya menggunakan HTTP melalui port apa pun? Saya tidak ingin default :80atau :8080karena ada kemungkinan kuat mereka sudah akan digunakan. Bukankah pertanyaan saya masih valid?
Jace Browning
@JaceBrowning, ya Anda bisa, tetapi menggunakan port lain hanya sedikit sejarah aneh :-). OS yang layak, akan memungkinkan Anda membagi namespace HTTP di antara aplikasi.
Ian Ringrose