새 서비스를위한 기본 TCP / IP 포트를 어떻게 선택해야합니까?


110

TCP / IP 포트에서 수신 대기하는 앱을 개발할 때 기본 포트를 선택하는 방법은 무엇입니까? 이 앱이 많은 컴퓨터에 설치되며 포트 충돌을 피하는 것이 바람직하다고 가정합니다.


1
이것은 더 나은 여기에 대한 답변 : stackoverflow.com/questions/10476987/...
matt2000

답변:


49

여기로 이동 하여 설명이있는 항구를 선택 하세요.Unassigned


11
그가 100 미만의 항구를 선택하라는 건가요?
mpen

3
어느 것을 선택해야합니까?
Owen

1
모든 개발자가이 논리를 따르면 모든 새로운 서비스가 할당되지 않은 포트 몇 개를 중심으로 모인다는 의미입니다. 서비스가 할당 된 포트와 할당되지 않은 포트에서 실행될 확률은 얼마입니까? (죄송합니다 좀 영업 비밀 : 노출 아니에요 경우
hultqvist

1
내부 네트워크에서 사용할 포트를 찾고 있다면 비슷한 질문에 대한이 답변을 고려하십시오. stackoverflow.com/questions/218839/…
adrianwadey

32

첫 번째 단계 : IANA 목록보기 :

목록의 끝에서 볼 수 있습니다.

"동적 및 / 또는 개인 포트는 49152에서 65535까지의 포트입니다."

그래서 그것이 당신의 더 나은 내기 일 것입니다. 그러나 당신이 하나를 선택하면 당신은 이미 그것을 "소유"한 충분히 인기있는 앱이 있는지 확인하기 위해 항상 그것에 구글을 할 수 있습니다


8
그러나 동적 포트를 사용하면 간헐적 인 (희귀하지만) 포트 충돌이 발생하지 않습니까? 할당되지 않았거나 애매한 앱에 할당 된 등록 된 범위의 포트를 사용하는 것이 더 안전 할 수 있습니다.
Kevin Wong

4
IANA에 포트 선택을 명시 적으로 등록하지 않는 한 "UNASSIGNED"를 사용하여 동일한 충돌 확률을 실행합니다. 실제로 로우 엔드에 할당되지 않은 것이 많기 때문에 아마도 IMHO
curtisk

2
가능한 충돌을 처리하기 위해 사용자 / 관리자 구성 가능 포트 옵션을 사용하여 항상 할당되지 않은 범위로 시작하십시오. 응용 프로그램이 광범위하게 사용되는 경우에만 (BitTorrent 또는 기타 대규모 사용) 할당 된 포트 신청을 고려해야합니다. 그렇지 않으면 할당 된 범위를 벗어나십시오. 이것이 엄격하게 내부 / 개인적인 것이라면 단순히 다양한 서비스에서 사용중인 포트를 문서화하면 사람들이 온라인 어딘가에서 찾을 수있는 한 괜찮습니다. 라우팅 불가능한 IP와 유사한 개인 / 동적 범위를 생각해보십시오. 소규모 / 개인 사용에 적합합니다.
jefflunt 2013-08-16

3
앱에 IANA 할당 포트가 필요하다고 가정하는 실수를하지 마십시오. 앱이 실제로 사용되기 전에 폭발 할 것이라고 생각하기 때문입니다. :)
jefflunt 2013-08-16

7
동적 범위와 관련하여 OS가 임시 포트에 해당 범위를 사용하는 경우 OS가 임의로 결정하면 선택한 포트와 충돌이 발생하는지 여부를 묻는 "충돌"질문이있을 수 있다고 생각합니다. 예를 들어 일부 아웃 바운드 연결에 해당 포트를 사용합니다. (이 범위의 무작위 사용은 내가 이해하는 것처럼 임시 포트의 용도입니다.) 우려 사항을 자세히 설명하는 다른 질문 을 참조하십시오 .
Garret Wilson

7

널리 사용된다는 의미는 향후 다른 사람이 사용하지 못하도록 보호하려는 경우 여기 에서 IANA가 앱을 예약 한 것으로 표시하도록 신청할 수 있습니다.



2

이 목록 (Wikipedia)의 포트를 사용하지 않는 것이 좋습니다.

하나만 고르면 대중이 앱을 사용하면 포트 번호가 인식되어 목록에 포함됩니다.


2

다른 사람들이 언급했듯이 IANA를 확인하십시오.

그런 다음 로컬 시스템 / etc / services를 확인하여 이미 사용중인 사용자 정의 포트가 있는지 확인하십시오.

그리고 그것을 하드 코딩하지 마십시오. 여러 개발자가 동시에 현지화 된 빌드를 사용할 수 있기를 원하는 다른 이유가 없다면 어떻게 든 구성 가능한지 확인하십시오.


1

일반적으로 IANA 목록에서 할당되지 않은 제품을 선택하는 것으로 충분하지만 상업적으로 출시 된 제품에 대해 이야기하는 경우 실제로 IANA에 신청하여 하나를 할당 받아야합니다. 이 작업을 수행하는 과정은 간단하지만 느립니다. 마지막으로 신청했을 때 1 년이 걸렸습니다.


1

이것이 널리 사용될 것으로 예상되는 응용 프로그램을위한 것이라면 다른 사람이 사용하지 않도록 여기 에 번호를 등록 하십시오 .

그렇지 않으면 사용하지 않는 것을 무작위로 선택하십시오.

동적 범위에서 하나를 사용할 때의 문제점은 동적 포트 번호로 사용 중일 수 있기 때문에 사용하지 못할 수 있다는 것입니다.



-1

여기에서 일반적으로 사용되는 포트 번호를 참조 하고 다른 사람의 포트 번호 를 사용하지 않도록 할 수 있습니다.

"대중에게 공개"한다는 것이 자신의 시스템에서 포트를 여는 것을 의미한다면 시스템 관리자와 어떤 포트를 사용하는 것이 편한지에 대해 대화를 나눌 것입니다.



-1

가장 일반적인 데몬 및 서버를 방해하지 않는 기본 포트를 선택하십시오. 또한 포트 번호가 일부 바이러스에 대한 공격 벡터로 나열되지 않았는지 확인하십시오. 일부 회사는 어떤 경우에도 이러한 포트를 차단하는 엄격한 정책을 가지고 있습니다. 마지막으로 포트 번호를 구성 할 수 있는지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.