Berapa nomor port jaringan TCP / IP terbesar yang diizinkan untuk IPv4?

406

Apa nomor port tertinggi yang bisa digunakan?

nama pengguna
sumber

Jawaban:

565

Nomor port adalah integer 16-bit yang tidak ditandatangani, jadi 65535.

Greg Hewgill
sumber
216
"Hei, Jim, berapa banyak port yang harus kita dukung?" "Buat saja 16 bit untuk ukuran yang baik. Tidak ada yang akan memiliki lebih dari beberapa ratus sekaligus, puncak."
JessieArr
3
@barlop Saya menyarankan bahwa ketika mereka pertama kali membuat port, satu mesin dengan ratusan koneksi mungkin dianggap skenario terburuk. Tetapi hari ini server web, perangkat jaringan, dll. Pasti dapat menghadapi batasan jumlah port. Microsoft menulis artikel Technet yang menarik tentang cara mendiagnosis dan menghindarinya di lingkungan Windows: blogs.technet.microsoft.com/askds/2008/10/29/…
JessieArr
3
@JessieArr dalam kedua kasus itu bukan benar-benar masalah 65536, ini masalah A) program tidak melepaskan koneksi, meninggalkan mereka dalam keadaan "TUNGGU" yang menunjukkan netstat dikombinasikan dengan B) beberapa versi windows sebelumnya hanya berkisar 1024-5000 untuk port dinamis. Dan bahkan kemudian, siapa yang tahu jika itu pernah terjadi, karena tidak ada program yang pernah repot melaporkan kepada siapa pun bahwa ia tidak bisa mendapatkan port dinamis, juga tidak memiliki windows. Jadi itu adalah masalah teoretis yang bahkan tidak benar-benar disebabkan oleh 65536 angka. Browser web mungkin adalah pengguna koneksi terbesar. Saya memiliki 297 baris dalam output netstat saya. Jauh dari 65K
barlop
3
@JessieArr Kebanyakan tumpukan IP menggunakan tupel alamat IP Sumber, port Sumber, alamat IP Tujuan, dan port Tujuan sebagai pengidentifikasi unik untuk koneksi. Ini berarti bahwa server dapat memiliki banyak koneksi aktif lebih banyak daripada ada port terbuka yang tersedia, dan jumlah port hanya menempatkan batasan (walaupun sangat besar) pada jumlah koneksi terbuka antara satu sumber dan satu tujuan. Saya tidak berpikir ada orang yang akan menjalankan server pada (atau mendengarkan koneksi pada) lebih dari 65.536 port sekaligus.
jduncanator
41
@JessieArr - yang akan mengajarkan Anda untuk mencoba dan membuat lelucon, ini adalah bisnis serius lho, tidak ada waktu untuk hal semacam itu di sini: /
Matt
145

Nomor port terbesar adalah nomor pendek 2 ^ 16-1: 65535

Port terdaftar adalah port yang ditugaskan oleh Internet Corporation untuk Nama dan Nomor yang Ditugaskan (ICANN) untuk penggunaan tertentu. Setiap port terdaftar berada dalam kisaran 1024-49151.

Sejak 21 Maret 2001 agen pendaftaran adalah ICANN; sebelum waktu itu adalah IANA.

Pelabuhan dengan angka lebih rendah dari pelabuhan terdaftar disebut pelabuhan terkenal; port dengan angka yang lebih besar daripada port yang terdaftar disebut port dinamis dan / atau pribadi.

Wikipedia: Port Terdaftar

Brian R. Bondy
sumber
71

Seperti yang saya pahami, Anda hanya boleh menggunakan hingga 49151, mulai dari 49152 hingga 65535 dicadangkan untuk port Ephemeral

Menghancurkan
sumber
11
rentang porta singkat bervariasi menurut sistem. Saya menjalankan linux ubuntu dengan kernel 3.19.0-43-generik. $ cat /proc/sys/net/ipv4/ip_local_port_rangemenghasilkan output 32768 61000. Mengenai apakah seseorang harus atau tidak seharusnya menggunakan port dalam rentang porta singkat sistem seseorang, saya curiga sebagian besar atau tidak semua sistem operasi jaringan modern akan melewatkan port yang sudah digunakan.
Keith Reynolds
37

Hanya tindak lanjut jawaban smashery . Kisaran port fana (setidaknya di Linux, dan saya curiga ada Unix lainnya) tidak diperbaiki. Ini dapat dikontrol dengan menulis ke /proc/sys/net/ipv4/ip_local_port_range

Satu-satunya batasan (sejauh menyangkut IANA) adalah bahwa pelabuhan di bawah 1024 ditetapkan sebagai pelabuhan terkenal. Port di atas yang gratis untuk digunakan. Seringkali Anda akan menemukan bahwa port di bawah 1024 dibatasi untuk akses superuser, saya percaya karena alasan ini.

Andrew Edgecombe
sumber
15

Menurut RFC 793, porta adalah int 16 bit unsigned.

Ini berarti kisarannya adalah 0 - 65535.

Namun, dalam kisaran itu, port 0 - 1023 umumnya dicadangkan untuk tujuan tertentu. Saya katakan umumnya karena, selain port 0, biasanya tidak ada penegakan reservasi 0-1023. Implementasi TCP / UDP biasanya tidak memaksakan reservasi terpisah dari 0. Anda dapat, jika ingin, menjalankan port TLS server web pada port 80, atau 25, atau 65535 alih-alih standar 443. Demikian juga, meskipun itu adalah standar yang didengarkan server SMTP pada port 25, Anda dapat menjalankannya pada 80, 443, atau lainnya.

Sebagian besar implementasi cadangan 0 untuk tujuan tertentu - penetapan port acak. Jadi di sebagian besar implementasi , mengatakan "dengarkan di port 0" sebenarnya berarti "Saya tidak peduli port apa yang saya gunakan, cukup beri saya beberapa porta yang tidak ditugaskan secara acak untuk didengarkan".

Jadi setiap batasan dalam menggunakan port dalam rentang 0-65535, termasuk 0, rentang reservasi sementara dll, adalah implementasi (yaitu OS / driver) spesifik , namun semua, termasuk 0, adalah port yang valid di RFC 793.

Eldakka
sumber
11

Nomor yang valid untuk port adalah: 0 hingga 2 ^ 16-1 = 0 hingga 65535
Itu karena nomor port panjangnya 16 bit.

Namun port dibagi menjadi:
Port terkenal : 0 hingga 1023 (digunakan untuk layanan sistem mis. HTTP, FTP, SSH, DHCP ...)
Port terdaftar / pengguna : 1024 hingga 49151 (Anda dapat menggunakannya untuk server Anda, tetapi hati-hati beberapa aplikasi terkenal: seperti server sistem manajemen database Microsoft SQL Server (MSSQL) atau Apache Derby Network Server sudah mengambil dari kisaran ini yaitu tidak disarankan untuk menetapkan port MSSQL ke server Anda jika tidak jika MSSQL berjalan maka server Anda paling mungkin tidak akan berjalan karena konflik port) Port
dinamis / pribadi : 49152 hingga 65535. (tidak digunakan untuk server melainkan klien misalnya dalam layanan NATing)

Dalam pemrograman Anda dapat menggunakan angka 0 hingga 65535 untuk server Anda, namun Anda harus tetap menggunakan rentang yang disebutkan di atas, jika tidak beberapa layanan sistem atau beberapa aplikasi tidak akan berjalan karena konflik port.
Periksa daftar sebagian besar port di sini: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

Mosab Shaheen
sumber
7

Seharusnya 65535.

Chris
sumber