Yeni bir hizmet için varsayılan bir TCP / IP bağlantı noktasını seçme konusunda nasıl hareket edilmelidir?


110

TCP / IP bağlantı noktasını dinleyecek bir uygulama geliştirirken, varsayılan bir bağlantı noktası seçmeye nasıl başlanmalı? Bu uygulamanın birçok bilgisayara yükleneceğini ve bağlantı noktası çakışmalarından kaçınmanın istendiğini varsayın.


1
Bu
sorunun

Yanıtlar:


49

Buraya gidin ve açıklamayı içeren bir bağlantı noktası seçinUnassigned


11
100'ün altında bir liman seçmesini mi öneriyorsun?
mpen

3
Hangisini seçmeliyim?
Owen

1
Tüm geliştiriciler bu mantığı kullanırsa, bu, tüm yeni hizmetlerin birkaç atanmamış bağlantı noktasının etrafında toplandığı anlamına gelir. Bir hizmetin atanmış bir bağlantı noktasında ve atanmamış bir bağlantı noktasında çalışıyor olma olasılığı nedir? (Ticari sırları ifşa etmiyorsam özür dilerim :)
hultqvist

1
Dahili bir ağda kullanmak için bir bağlantı noktası arıyorsanız, lütfen bu yanıtı benzer bir soru üzerine düşünün: stackoverflow.com/questions/218839/…
adrianwadey

32

İlk adım: IANA listesine bakın :

Orada listenin sonunda göreceksiniz

"Dinamik ve / veya Özel Bağlantı Noktaları 49152'den 65535'e kadar olanlardır"

yani bunlar sizin daha iyi bahisleriniz olur, ancak birini seçtikten sonra, onu zaten "sahiplenen" yeterince popüler bir uygulama olup olmadığını görmek için her zaman google'da


8
Ancak dinamik bir bağlantı noktası kullanmak beni aralıklı (nadir de olsa) bağlantı noktası çakışmalarına açık bırakmaz mı? Belki de, kayıtlı aralıkta atanmamış veya belirsiz bir uygulamaya atanmış bir bağlantı noktası kullanmak daha güvenlidir.
Kevin Wong

4
Bağlantı noktası seçiminizi IANA'ya açıkça kaydetmediğiniz sürece, aynı çatışma olasılıklarını "ATANMAMIŞ" kullanarak çalıştıracağınızı düşünüyorum. Aslında, alt
sınırda

2
Olası çakışmaların üstesinden gelmek için her zaman kullanıcı / yönetici tarafından yapılandırılabilir bir bağlantı noktası seçeneği ile atanmamış aralıkla başlayın. YALNIZCA uygulamanız geniş kullanıma ulaşırsa (BitTorrent'i veya başka bir büyük kullanımı düşünün), gerçekten atanmış bir bağlantı noktası için başvurmayı düşünmelisiniz. Aksi takdirde, belirlenen aralığın dışında kalın. Bu tamamen dahili / kişisel bir şey içinse, o zaman çeşitli servisler tarafından kullanılan portları belgeleyin ve insanlar onları çevrimiçi bir yerde arayabildiği sürece sorun yaşamamalısınız. Yönlendirilemez IP'lere benzer özel / dinamik aralığı düşünün - bunlar küçük / özel kullanım için mükemmeldir.
jefflunt

3
Sadece uygulamanızın IANA tarafından atanmış bir bağlantı noktasına ihtiyaç duyduğunu varsayma hatasını yapmayın çünkü uygulamanızın kullanımda gerçekten kullanmadan patlayacağını düşünüyorsunuz. :)
jefflunt

7
Dinamik aralıkla ilgili olarak, "çatışma" sorusunun, bir işletim sistemi geçici bağlantı noktaları için bu aralığı kullanması durumunda (olması gerektiği gibi), işletim sistemi rastgele karar verirse seçtiğiniz bağlantı noktasıyla bir çatışmaya girip girmeyeceğini soruyor olabilir. bu bağlantı noktasını örneğin bazı giden bağlantılarda kullanmak için. (Anladığım kadarıyla, bu aralığın rastgele kullanımı geçici bağlantı noktalarının amacıdır.) Endişeyi daha ayrıntılı olarak ifade eden bu diğer soruya bakın .
Garret Wilson

7

Yaygın olarak kullanıldığında, gelecekte onu kullanan diğer kişilere karşı korunmak istediğinizi kastediyorsanız, burada IANA tarafından uygulamanız için ayrılmış olarak işaretlenmesi için başvurabilirsiniz.



2

Muhtemelen bu listedeki (Wikipedia) bağlantı noktalarını kullanmaktan kaçınmak istersiniz .

Sadece birini seçerdim ve uygulama kitleler tarafından kullanıldığında, port numarası tanınır ve bu tür listelere dahil edilir.


2

Diğerlerinin de belirttiği gibi, IANA'yı kontrol edin.

Ardından, halihazırda kullanımda olan bazı özel bağlantı noktaları olup olmadığını görmek için yerel sistemlerinizi / etc / services kontrol edin.

Ve lütfen kodlama yapmayın. Bir şekilde, bir şekilde yapılandırılabilir olduğundan emin olun - başka bir nedenden ötürü, aynı anda kendi yerelleştirilmiş yapılarını kullanarak birden fazla geliştiriciye sahip olmak istiyorsanız.


1

IANA listesinden atanmamış birini seçmek genellikle yeterlidir, ancak ticari olarak piyasaya sürülen bir üründen bahsediyorsanız, size atanmasını sağlamak için gerçekten IANA'ya başvurmalısınız. Bunu yapma işleminin basit ama yavaş olduğunu unutmayın; En son başvurduğumda bir yıl sürdü.


1

Bu, yaygın olarak kullanılmasını beklediğiniz bir uygulama içinse, başka hiç kimsenin kullanmaması için buraya bir numara kaydedin.

Aksi takdirde, rastgele kullanılmayan birini seçin.

Dinamik aralıkta birini kullanmanın sorunu, dinamik bir bağlantı noktası numarası için kullanılıyor olabileceğinden kullanılamayabilmesidir.



-1

Pekala, burada yaygın olarak kullanılan bazı port numaralarına başvurabilir ve başkalarınınkini kullanmamaya çalışabilirsiniz.

"Genel olarak halka açık" derken, kendi sistemlerinizde bağlantı noktaları açtığınızı kastediyorsanız, sistem yöneticilerinizle bunu yapmakta rahat hissettikleri bağlantı noktaları hakkında bir sohbet ederdim.



-1

En yaygın arka plan yordamları ve sunucularla çakışmayan varsayılan bir bağlantı noktası seçin. Ayrıca bağlantı noktası numarasının bazı virüsler için bir saldırı vektörü olarak listelenmediğinden emin olun - bazı şirketler, ne olursa olsun bu tür bağlantı noktalarını engelledikleri sıkı politikalara sahiptir. Son olarak, bağlantı noktası numarasının yapılandırılabilir olduğundan emin olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.