Birinin kullanabileceği en yüksek port numarası nedir?
Birinin kullanabileceği en yüksek port numarası nedir?
Yanıtlar:
Bağlantı noktası numarası işaretsiz bir 16 bit tam sayıdır, bu nedenle 65535.
En büyük bağlantı noktası numarası imzasız bir kısa 2 ^ 16-1: 65535
Kayıtlı bir port, İnternet Tahsisli Adlar ve Numaralar Kurumu (ICANN) tarafından belirli bir kullanıma atanan bir porttur. Kayıtlı her bağlantı noktası 1024–49151 aralığındadır.
21 Mart 2001'den beri kayıt kuruluşu ICANN'dir; o zamandan önce IANA'ydı.
Kayıtlı bağlantı noktalarından daha düşük sayılara sahip bağlantı noktalarına iyi bilinen bağlantı noktaları denir; kayıtlı bağlantı noktalarından daha büyük numaralı bağlantı noktasına dinamik ve / veya özel bağlantı noktaları denir.
Anladığım kadarıyla, sadece 49151'e kadar kullanmalısınız, çünkü 49152'den 65535'e kadar Geçici bağlantı noktaları için ayrılmıştır
$ cat /proc/sys/net/ipv4/ip_local_port_range
sonuç çıktı 32768 61000
. Bir kişinin, sistemin geçici bağlantı noktası aralığındaki bir bağlantı noktasını kullanması gerekip gerekmediği konusunda, günümüz ağ işletim sistemlerinin zaten kullanılmakta olan bir bağlantı noktasını atlamaması durumunda çoğundan şüpheleniyorum.
Sadece parçalamak için bir takip . Geçici bağlantı noktası aralığı (en azından Linux'ta ve diğer Unices'den de şüpheleniyorum) sabit değil. Bu yazı yazarak kontrol edilebilir
/proc/sys/net/ipv4/ip_local_port_range
Tek kısıtlama (IANA söz konusu olduğunda) 1024'ün altındaki bağlantı noktalarının iyi bilinen bağlantı noktaları olarak tanımlanmasıdır. Yukarıdaki bağlantı noktaları kullanım için ücretsizdir. Genellikle 1024'ün altındaki bağlantı noktalarının süper kullanıcı erişimiyle sınırlı olduğunu göreceksiniz, bu nedenle inanıyorum.
RFC 793'e göre, bağlantı noktası 16 bitlik imzasız bir int.
Bu, aralığın 0 - 65535 olduğu anlamına gelir.
Ancak, bu aralık içinde, 0 - 1023 numaralı bağlantı noktaları genellikle belirli amaçlar için ayrılır. Genel olarak diyorum, çünkü 0 bağlantı noktasından ayrı olarak, 0-1023 rezervasyonunun hiçbir zorlaması yoktur. TCP / UDP uygulamaları genellikle 0 dışında ayırmaları zorunlu kılmaz. İsterseniz, bir web sunucusunun TLS bağlantı noktasını standart 443 yerine 80 veya 25 veya 65535 numaralı bağlantı noktasında da çalıştırabilirsiniz. SMTP sunucularının 25 numaralı bağlantı noktasında dinlediği standart, 80, 443 veya diğerlerinde çalıştırabilirsiniz.
Çoğu uygulama 0'ı belirli bir amaç için ayırır - rastgele bağlantı noktası ataması. Bu yüzden çoğu uygulamada , "bağlantı noktası 0'da dinle" demek aslında "Hangi bağlantı noktasını kullandığım umurumda değil, sadece dinlemem için rastgele atanmamış bir bağlantı noktası ver" anlamına gelir.
Bu nedenle, 0-65535 aralığında 0, geçici rezervasyon aralığı vb. Dahil olmak üzere bir bağlantı noktasının kullanılmasına ilişkin herhangi bir sınırlama uygulamaya (yani OS / sürücüye) özgüdür , ancak 0 dahil tümü RFC 793'teki geçerli bağlantı noktalarıdır.
Hangi aralıktan bahsettiğinize bağlıdır, ancak dinamik aralık 65535 veya 2 ^ 16-1'e (16 bit) kadar çıkar.
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Bağlantı noktaları için geçerli sayılar şunlardır: 0 ila 2 ^ 16-1 = 0 ila 65535
Bunun nedeni, bir bağlantı noktası numarasının 16 bit uzunluğunda olmasıdır.
Ancak bağlantı noktaları şu şekilde ayrılır:
Bilinen bağlantı noktaları : 0 ila 1023 (sistem hizmetleri için kullanılır, örneğin HTTP, FTP, SSH, DHCP ...)
Kayıtlı / kullanıcı bağlantı noktaları : 1024 ila 49151 (sunucunuz için kullanabilirsiniz, ancak dikkatli bazı ünlü uygulamalar: Microsoft SQL Server veritabanı yönetim sistemi (MSSQL) sunucusu veya Apache Derby Network Server gibi bu aralıktan zaten alıyor yani MSSQL çalışıyorsa sunucunuz için MSSQL portunu atamanız tavsiye edilmez. muhtemelen bağlantı noktası çakışması nedeniyle çalışmaz)
Dinamik / özel bağlantı noktaları : 49152 - 65535. (sunucular için kullanılmaz, örneğin NATing hizmetinde kullanılmaz)
Programlama sırasında sunucunuz için 0 ila 65535 arasında herhangi bir sayı kullanabilirsiniz, ancak yukarıda belirtilen aralıklara bağlı kalmalısınız, aksi takdirde bazı sistem hizmetleri veya bazı uygulamalar bağlantı noktası çakışması nedeniyle çalışmaz.
Çoğu bağlantı noktasının listesini burada kontrol edin: edin https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers