Saya mengerti alasan asli di balik memiliki 65.535 port per alamat IP: ini adalah angka tertinggi yang dapat diwakili oleh angka 16-bit, atau 2-byte, dan tidak mungkin bahwa komputer akan dapat menyimpan lebih banyak Selain itu untuk sesuatu yang sepele seperti port, atau sesuatu seperti itu. Port mungkin sebenarnya membutuhkan lebih dari 1 bit masing-masing, karena masing-masing port dapat dibuka, diblokir, "stealthed", atau yang lain, tetapi untuk beberapa alasan orang selalu mengatakan port beroperasi dengan angka 16-bit. Jika saya memiliki bagian dari kesalahan ini, tentu saja beri tahu saya.
Namun, di dunia di mana sebagian besar komputer berukuran 32-bit, dan memiliki lebih dari cukup memori / ruang kosong untuk beberapa port lagi, mengapa kita masih memiliki banyak port ini? Kami sedang dalam proses pindah ke HTML5, HTTP2.0, IPv6, dan versi yang pasti berbeda, jadi mengapa tidak sama dengan port? Banyak dari ini memungkinkan lebih dari 16 bit; sebenarnya, IPv6 memungkinkan 16 byte ! Saya mengerti bahwa banyak dari ini bertahun-tahun atau bahkan puluhan tahun lagi, tetapi mengapa semua obrolan tentang peningkatan ini, dan bahkan tidak mengintip lebih banyak port (yang saya, seorang amatir, pernah dengar)?
Satu-satunya 2 alasan yang dapat saya lihat untuk menjaga 65.535 pelabuhan adalah membiarkan bisnis besar mempertahankan sistem lama mereka, yang hampir tidak merupakan alasan yang baik, dan munculnya sistem tertanam, banyak di antaranya kecil, dengan jumlah ruang, memori, dll yang sangat kecil. , segera hadir di Internet, banyak di antaranya sebagai bagian dari Internet of Things. Dengan sistem tertanam ini, mungkin kita bisa membiarkan mereka memiliki lebih sedikit port, dan ketika komputer desktop besar mencoba terhubung ke satu, itu bisa dikatakan lembut, karena sistem tertanam bayi hanya dapat menggunakan ~ 65.000 port.
Di sisi lain, saya dapat memikirkan beberapa alasan bagus untuk memiliki lebih banyak port, sebagian besar berkaitan dengan NAT dan sistem lain di mana lebih dari 1 alamat IP pribadi harus berkomunikasi dengan seluruh Internet menggunakan alamat IP publik yang sama, seperti kebangkitan VM di komputer yang sama, semua menggunakan alamat IP yang sama. Secara teknis, setiap alamat IP VM memiliki 65.535 port, tetapi pada kenyataannya mereka semua menggunakan port host. Dalam kasus seperti ini, sistem ini dapat kehabisan port dengan cukup cepat. Kasus spesifik lainnya adalah NAT tingkat operator, di mana satu alamat IP publik diterjemahkan ke dalam beberapa alamat IP pribadi, dan setidaknya satu dari alamat pribadi ini akan diterjemahkan ke dalam set alamat yang lebih pribadi lagi. Sekali lagi, setiap alamat IP pribadi secara teknis memiliki 65.535 port, tetapi ini adalah ilusi, seperti ketika data keluar ke Internet publik, mereka menggunakan port IP publik. Saya tidak yakin kita perlu NAT, per se, tetapi kita perlu sesuatu seperti itu untuk menghemat alamat bahkan dengan jumlah besar IPv6 akan memberi kita. Ketika kita memiliki kasus seperti ini, bisakah kita bahkan tidak memiliki lebih dari 65.535 port?
Jadi, mengapa kita hanya memiliki 65.535 port, dan apakah ada rencana untuk memperbolehkan lebih banyak?
PS Saya tahu ada secara teknis 65.536 port per alamat IP, tetapi port 0 biasanya tidak digunakan untuk apa pun.
sumber
Jawaban:
Port adalah bagian dari protokol layer 4 yang digunakan - TCP atau UDP , sebagian besar; itu tidak terkait dengan pengalamatan memori komputer yang sebenarnya, jadi jangan bingung dengan pengalamatan memori 32 atau 64 bit dari sistem operasi modern.
Header dari protokol layer 4 ini memiliki struktur yang ditentukan secara spesifik , dimana 16 bit digunakan untuk port sumber dan tujuan. Tanpa perubahan yang merusak kompatibilitas pada protokol layer 4 yang bergantung pada seluruh internet, jumlah port tidak dapat diubah. Bahkan SCTP yang lebih baru memiliki batasan 16 bit pada port.
Perlu diingat bahwa protokol ini mengidentifikasi lalu lintas berdasarkan tidak hanya pada port penerima, tetapi juga IP penerima dan port pengirim dan IP; Anda terbatas pada 65535 mendengarkan port TCP (tetapi Anda tidak memiliki banyak), dan Anda terbatas pada 65535 koneksi ke layanan spesifik pada sistem jarak jauh tertentu (lebih rendah dalam praktiknya, lihat port fana ), jadi itu tidak biasa untuk menjalankan batas protokol ini kecuali Anda memiliki sistem yang menciptakan banyak koneksi ke sistem jarak jauh tertentu.
sumber