사내 애플리케이션 사용을 위해 TCP/IP 포트를 할당합니다

StackOverflow https://stackoverflow.com/questions/218839

  •  03-07-2019
  •  | 
  •  

문제

Windows 서비스가 호스팅하는 WCF 서비스를 작성했으며 알려진 TCP/IP 포트에서 들어야합니다. 내 조직 내에서 사용할 포트를 안전하게 할당 할 수있는 범위에서 어떤 범위에서 안전하게 할당 할 수 있습니까? 해당 포트는 서비스를위한 구성 파일 및 서비스를 소비하는 클라이언트에 포함됩니다.

도움이 되었습니까?

해결책

49152에서 65535에서 포트 번호를 선택하십시오.

Iana는 현재 할당 된 포트 목록을 게시합니다.

http://www.iana.org/assignments/port-numbers

동적 및/또는 개인 포트는 49152에서 65535의 포트입니다. 이는 사내 애플리케이션을위한 포트를 선택 해야하는 범위입니다. 물론 게시 된 목록의 할당되지 않은 범위 중 하나에 속하는 모든 포트를 사용할 수 있습니다. 그러나 할당되지 않은 범위에서 포트 번호를 선택함으로써 선택한 포트가 미래에 예약 된 포트가되지 않을 것이라는 보장은 없습니다.

할당되지 않은 포트 번호를 사용해서는 안됩니다. IANA는 신청이 승인 된 후 포트 번호를 할당합니다.

선택한대로 선택할 수 있는지 확인하십시오.

해당 포트는 서비스를위한 구성 파일 및 서비스를 소비하는 클라이언트에 포함됩니다.

이것은 다른 타사-캐노 터치 소프트웨어가 포트 번호를 사용하는 경우 두통을 피할 수 있습니다. 그런 일이 발생하면 그냥 계속 진행하여 구성 파일에서 변경하면 작동합니다.

다른 팁

포트 0-1023은 잘 알려진 포트이며 Iana가 할당합니다. 이들은 공개 네트워크에서 할당 된 프로토콜에만 사용해야합니다.

포트 1024-65535는 등록 된 포트 번호라고 불렀습니다 (참조 RFC1700)하지만 이제 두 영역으로 나뉩니다 ( RFC6335).

포트 1024-49151은 사용자 포트이며 자신의 프로토콜에 사용할 수있는 것입니다.

포트 49152-65535는 동적 포트이며 프로토콜에 처방되어서는 안됩니다.

사용자 포트는 모든 프로토콜에 사용될 수 있지만 유한 번호가 있으므로 일부 네트워크에서 엘세가 사용하는 사람과 사용할 수 있습니다. IANA는 등록 된 포트 번호 (0-49151)의 기록을 유지합니다. 프로토콜이 공개 네트워크에서 사용되면 IANA에 등록해야합니다. 자신의 네트워크 내에서만 사용하는 경우이 영역 (1024-49151) 내의 포트를 선택하고 해당 포트를 확인하십시오. IANA 레지스터 네트워크에서 사용할 수있는 프로토콜에서 사용하지 않도록합니다. 개인 용도의 경우 할당되지 않은 프로토콜에 할당되지 않은 숫자를 선택하는 것이 더 낫습니다.

동적 범위 내에서 포트 번호를 사용하지 마십시오. 이 포트는 운영 체제에서 동적으로 그리고 다소 무작위로 할당됩니다. 클라이언트 연결 (Port = 0으로 BIND () 사용)을 열면 동적 범위에서 사용되지 않은 포트가 할당됩니다. 이 범위의 포트는 항상 프로토콜에 무료가 될 수있는 방법이 없습니다.

짧은 답변 : 1023 또는 49152 이상을 포함하여 무엇이든 피하고 네트워크의 서비스에 대해 선택한 포트를 테스트하십시오.

당신이 가지고있는 것으로 보이는 합리적인 예방 조치를 취한 경우 (포트 번호를 구성 파일에 넣음) 나중에 충돌을 발견하면 막대한 혼란이되지 않아야합니다.

그러나 (타이핑하는 동안 나타난 다른 제안에 무언가를 추가 할 수 있도록) 변경하기 쉽도록해야합니다! 구성 파일에 있으면 명확하게 만드십시오. 문서화하고 문제 해결을 지적하십시오. 그것은 잘못 될 수있는 일종의 일이므로 변화가 필요한 경우 디버깅을 쉽게 만들 수 있습니다.

공통 응용 프로그램 포트 선택에 대한 다른 제안 외에도 응용 프로그램 내에서 포트를 구성 할 수 있도록하는 것이 좋습니다. 하드 코딩 된 포트 번호는 나쁜 생각입니다. 특히 나중에 다른 응용 프로그램과의 포트 충돌을 발견하고 변경 해야하는 경우.

여기 좋은 일이 있습니다 일반적인 응용 프로그램 포트 목록. 빈 슬롯으로 자신의 선택을하십시오. 어쩌면 사내 특별 응용 프로그램을 위해 네트워크를 스캔해야 할 수도 있습니다.

일반적으로 높은 숫자 포트를 사용할 수 있으며 제안하지만 방화벽으로 차단할 수 있습니다.

참고로 Netstat /A /N으로 해당 포트를 확인하여 다른 응용 프로그램에서 사용하는지 여부를 확인하십시오. Vista가 49152를 사용한 것을 알았습니다 .... 기본적으로 대부분의 시스템 레벨 리스너는 포트를 구현하지 않기 때문에 전혀 사용하지 않는 포트를 사용하기에 훨씬 안전한 안전을 공유하지 않기 때문입니다.

멋진 프로그래밍 데이 AMIR을 보내십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top