포트 번호의 용도
포트가 호스트의 올바른 서비스로 트래픽을 전달하는 방식을 배웁니다.
포트 번호의 용도은(는) CoddyKit의 무료 Network+ Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Network+ Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Network+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
하나의 호스트, 여러 서비스
하나의 장치에서 웹 서버, 메일 서버, 파일 공유와 같은 여러 네트워크 서비스를 동시에 실행하는 경우가 많습니다. 포트 번호를 사용하면 각 서비스에 별도의 출입구를 제공하여 하나의 IP 주소에서 여러 서비스를 호스팅할 수 있습니다.
IP 주소는 패킷을 올바른 호스트로 전달하고, 포트 번호는 해당 호스트의 올바른 애플리케이션으로 전달합니다.
소켓: IP와 포트
IP 주소와 포트 번호를 결합하면 연결의 고유한 종단점인 소켓이 됩니다. 예를 들어 192.168.1.10:443은 해당 호스트에서 HTTPS에 사용되는 소켓입니다.
연결은 소스 소켓과 대상 소켓이라는 소켓 쌍으로 식별됩니다. 이를 통해 호스트는 수천 개의 동시 통신을 서로 구분할 수 있습니다.
192.168.1.10:443 <- IP : port = socket포트 번호 범위
포트 번호는 0~65535 범위의 16비트 값입니다. 따라서 프로토콜마다 65,536개의 포트를 사용할 수 있습니다(TCP와 UDP는 각각 전체 범위를 따로 가집니다).
이처럼 넓은 범위 덕분에 호스트는 동시에 처리할 수 있는 많은 연결에 사용할 포트가 부족해지는 일을 방지할 수 있습니다.
잘 알려진 포트
0~1023 포트는 일반적이고 표준화된 서비스를 위해 예약된 잘 알려진 포트입니다. HTTP는 80, HTTPS는 443, SSH는 22를 사용합니다.
이 할당은 IANA(Internet Assigned Numbers Authority)가 관리하므로 클라이언트는 기본적으로 특정 서비스를 어디에서 찾을지 항상 알 수 있습니다.
등록된 포트
1024~49151 포트는 요청에 따라 특정 애플리케이션에 할당되는 등록된 포트입니다. 예를 들어 MySQL은 3306, RDP(Remote Desktop Protocol)는 3389를 사용합니다.
잘 알려진 포트보다 엄격하게 관리되지는 않지만, 널리 사용되는 애플리케이션 간의 충돌을 방지하는 데 도움이 됩니다.
동적 임시 포트
49152~65535 포트는 동적 포트 또는 임시 포트입니다. 운영 체제는 연결의 클라이언트 측에 사용할 포트를 일시적으로 할당합니다.
브라우저가 포트 443의 웹 서버에 연결하면 컴퓨터는 높은 번호의 임시 포트를 임의로 소스 포트로 사용하며, 연결이 끝나면 해당 포트를 반환합니다.
소스 포트와 대상 포트
모든 연결에는 두 개의 포트가 있습니다. 대상 포트는 연결하려는 서비스를 식별합니다(예: HTTPS의 443). 소스 포트는 해당 통신에 사용하는 클라이언트의 임시 포트입니다.
이 포트 쌍을 사용하면 호스트는 동일한 서비스에 연결된 여러 연결을 구분할 수 있습니다. 각 연결이 서로 다른 소스 포트를 사용하기 때문입니다.
기본 포트가 중요한 이유
기본 포트를 사용하면 클라이언트가 번호를 지정하지 않고 연결할 수 있습니다. 웹 주소를 입력하면 내부적으로 포트 80 또는 443이 사용됩니다. 표준이 아닌 포트에서 서비스를 실행하면 클라이언트에 해당 번호를 명시적으로 알려야 합니다.
일부 관리자는 보안에 대한 모호성에 기대어 기본 포트를 변경하기도 하지만, 이 경우 방화벽과 규칙도 그에 맞게 업데이트해야 합니다.
방화벽 규칙의 포트
방화벽은 주로 포트 번호를 기준으로 트래픽을 허용하거나 차단합니다. TCP 443을 허용하는 규칙은 HTTPS를 통과시키면서 다른 서비스는 차단합니다.
사용하지 않는 포트를 닫으면 호스트의 공격 표면이 줄어듭니다. 따라서 포트를 이해하는 것은 연결성과 보안 설정 모두에 핵심적입니다.
수신 대기 포트와 열린 포트
연결을 받아들일 준비가 된 서비스는 해당 포트에서 수신 대기한다고 하며, 이 포트는 열린 상태로 간주됩니다. 닫힌 포트에는 대기 중인 서비스가 없습니다.
공격자는 공격할 서비스를 찾기 위해 열린 포트를 스캔하므로, 기술자는 열린 포트를 점검하고 필요하지 않은 포트는 모두 닫습니다.
포트로 연결하기
포트 번호는 IP 위에 있는 주소 지정 계층으로, 데이터를 올바른 애플리케이션으로 전달합니다. 이를 통해 하나의 호스트에서 여러 서비스를 다중화할 수 있습니다.
이제 포트 개념을 이해했으므로 다음 레슨에서 다룰 일상적인 프로토콜의 구체적인 포트 번호를 배울 준비가 되었습니다.
빠른 확인
포트 범위를 떠올려 보세요.
복습
포트 번호의 용도를 배웠습니다.
- 포트를 사용하면 하나의 IP에서 여러 서비스를 호스팅할 수 있으며, IP+포트는 소켓이 됩니다.
- 전송 프로토콜마다 범위는 0~65535(16비트)입니다.
- 잘 알려진 포트: 0~1023, 등록된 포트: 1024~49151, 동적 포트: 49152~65535입니다.
- 대상 포트는 서비스를 나타내고, 소스 포트는 클라이언트의 임시 포트입니다.
- 방화벽은 주로 포트를 기준으로 트래픽을 허용하거나 차단합니다.
자주 묻는 질문
“포트 번호의 용도” 강의는 무료인가요?
네 — “포트 번호의 용도” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Network+ Academy 강의 전체를 잠금 해제할 수 있습니다. Network+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“포트 번호의 용도”에서 뭘 배우나요?
포트가 호스트의 올바른 서비스로 트래픽을 전달하는 방식을 배웁니다. 브라우저에서 직접 실행하는 실습 코드로 Network+ Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Network+ Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Network+ Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“포트 번호의 용도” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Network+ Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Network+ Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.