Application이나 Server를 개발하다보면 통신을 위해 IP와 Port를 사용할 때가 있다. TCP/IP 통신이나 UDP 통신 같은 경우가 그러하다.
Port 번호는 0부터 65535 까지 설정가능한데, 이는 port에 2Bytes(16 bits)를 사용하기 때문에 2진수의 최대값을 10진수로 변경하면 65535가 되기 때문이다.
포트 번호의 범주는 크게 3개로 나뉜다.
- Well-Known Ports
- Registered Ports
- Dynamic/Private Ports
1. Well-Known Ports (0 ~ 1023)
이 범위의 Port는 잘 알려진 서비스와 프로토콜(HTTP, HTTPS, FTP, SSH 등)이 예약되어 있다.
따라서 시스템이 예약한 Port이므로 새로운 서비스에 사용하는 것은 권장하지 않는다.
2. Registerd Ports (1024 ~ 49151)
이 범위의 Port는 특정 어플리케이션에 할당되어 있거나, 공식적으로 등록된 서비스이다.
예를 들어, MySQL은 3306, PostgreSQL은 5432를 사용한다.
이 범위에서는 충돌 가능성이 생기므로 사용중인 서비스를 확인하고 충돌을 피해야한다.
3. Dynamic/Private Ports (49152 ~ 65535)
이 범위는 일반적으로 동적 혹은 개인 Port로 사용되며, 대부분 임시연결에 쓰인다. 클라이언트가 서버에 연결할 때 클라이언트 측에서 자동으로 할당되는 Port도 이 범위에 속하게 된다.
비교적 안전하게 사용자 정의 서비스나 애플리케이션을 위해 사용할 수 있는 범위이다. 다만 동적 포트로 사용될 수 있으므로, 반드시 고정 포트가 필요하다면 높은 번호를 사용하는 것이 권장된다.
'Monologue' 카테고리의 다른 글
| [IT - AI] 규모의 법칙으로 발생하는 AI의 느닷없이 나타나는 능력 (1) | 2024.09.23 |
|---|---|
| [IT - LLM] GPT-o1 모델의 특이점 (feat. OpenAI) (1) | 2024.09.13 |
| [IT - Product] Apple WWDC 2024 신제품 간단 요약 및 가격 (2) | 2024.09.10 |
| [IT - Brain teaser] Apple-Orange quiz (애플 인터뷰 질문) (1) | 2024.08.28 |
| [IT - AI] 확률적 앵무새 (stochastic parrot) (0) | 2024.08.20 |