Docker

[Docker#2] IP/ Port

j.d 2025. 4. 29. 13:53

이번 글에서는 IP와 Port 에 대해서 정리해보겠습니다.

 

 

IP란?

IP는 네트워크 상에서 특정 컴퓨터를 가리키는 주소입니다.

 

IP 주소는 다음과 같이 형태로 표현됩니다.

13.250.15.132

 

IP는 쉽게 말하면 컴퓨터의 집 주소입니다.

 

예를 들어, naver.com 같은 사이트도 실제로는 이런 IP 주소를 가지고 있고, 이 IP를 통해 우리는 네이버 서버에 접근할 수 있습니다.

 

 

 

Port란?

Port는 한 컴퓨터 안에서 특정 프로그램을 가리키는 주소입니다.

 

IP가 컴퓨터 자체를 가리킨다면, Port는 컴퓨터 안의 프로그램을 가리킵니다.
아래와 같은 형태에서 :3000 부분이 바로 포트 번호입니다.

13.250.15.132:3000

 

예를 들어, 내 노트북에서는 크롬, 카카오톡, 슬랙, VSCode 등 여러 프로그램이 동시에 실행되고 있습니다. 서버 컴퓨터도 마찬가지로 여러 프로그램을 동시에 실행할 수 있습니다.

 

이때, 외부에서 서버 컴퓨터에 접근할 때 단순히 IP만 알아서는 어떤 프로그램과 통신할지 알 수 없습니다.
그래서 IP 주소 + 포트 번호를 함께 사용해서 정확히 어떤 프로그램과 통신할지 지정해줍니다.

 

출처: https://www.adjust.com/glossary/ip-address/

 

한편으로 "나는 평소에 주소창에 Port 번호를 입력한 적이 없는데?"

이런 의문이 들 수 있습니다.

 

사실 브라우저(크롬, 엣지 등)는 기본적으로 80번 포트로 통신을 하도록 설정되어 있습니다.
따라서 포트 번호를 따로 입력하지 않아도 자연스럽게 통신이 이뤄지는 것입니다.

 

만약 다른 포트(예: 3000번)로 통신하고 싶다면, 아래처럼 직접 포트 번호를 명시해줘야 합니다.

http://13.250.15.132:3000

 

 

Well-known Ports

Port에는 규약에 의해 정해진 번호들이 있는데, 이를 Well-known Ports라고 부릅니다.

 

포트 번호는 0번부터 65,535번까지 사용할 수 있는데, 이 중 0 ~ 1023번은 특정 목적을 위해 규약으로 미리 정해져 있습니다.

 

주요 well-known port 예시는 다음과 같습니다:

포트  번호설명
22번 SSH (서버 원격 접속) - EC2 접속할 때 사용
80번 HTTP (웹 통신)
443번 HTTPS (보안 웹 통신)

 

하지만 중요한 점은, 반드시 이 규약을 따라야 하는 것은 아닙니다.
예를 들어, HTTP 서버를 80번 포트 대신 3000번이나 8080번 Port에 띄워도 문제 없습니다.