카테고리 없음
포트 범위에 따른 종류와 용도
SciomageLAB
2024. 10. 4. 12:09
반응형
Well-known : 0 ~ 1023
HTTP, SMTP, FTP, SSH 등 시스템 프로그램들이 사용하며 시스템 포트라고도 한다. 이 범위의 포트는 유닉스 계열에서 루트 권한으로만 열 수 있다. IANA 직접 등록하고 관리하는 포트범위이다.
Registered Port : 1024 ~ 49151
잘 알려져 있는 프로그램들이 아닌 응용 프로그램들이 쓰는 포트로 MySQL, RDP, Redis 등이 쓰는 포트이다. 유저 포트라고도 한다.주로 서버소켓이 사용한다.
Dynamic Port : 49152 ~ 65535
Private, Ephemeral 포트라고도 한다. 요청에 따라 통신하는 세션 동안만 유효한 단명하는 포트로 bind없이 그냥 소켓을 생성한 경우 OS에 의해 자동으로 할당되는 포트다. 재사용 가능하다. 따라서 서버는 Registerd 범위에 포트를 쓰지만 연결을 시도하는 클라이언트는 보통 Dynamic 범위의 포트를 사용한다. 리눅스 커널은 32768~60999부터가, BSD 계열은 1024-5000번을 사용한다. 이 범위의 포트는 클라이언트가 connect하거나 bind해주지 않고 서버 프러그램이 소켓을 생성한 경우에 OS가 임시적으로 알아서 빈 포트를 할당해주는데 쓰인다. 연결이 이뤄진 동안만 유효한 포트 이기 떄문에 연결이 끊어지면 그 사이에 얼마든지 OS가 다른 프로세스나 접속자를 위해 포트를 수거해 갈 수 있기 때문에 서버소켓을 이 범위의 포트를 써버리면
- 도커를 쓴 경우, 도커파일에 명시된 포트를 100%사용할 수 있는게 아니게 되며
- 어떤 채팅 서비스 앱이 있다면, 이 앱에 접속한 클라이언트들이 접속할 때마다 포트를 채갈 수 있는 가능성이 있어서 올리고자 하는 프로그램은 정작 포트가 사용중이라는
binding error
와 함께 사용할 수 없게될 수 도 있다.
반응형