개발 공부 로그

IP와 Port의 개념 본문

카테고리 없음

IP와 Port의 개념

mejii 2025. 5. 1. 11:38

✔️ IP: 네트워크 상에서의 특정 컴퓨터를 가리키는 주소

 네트워크를 나라로 치면 IP는 도로명주소 같은 것이다.

ex. 61.41.153.2

 

✔️ Port: 한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소

IP가 도로명 주소라면 Port는 상세주소 같은 것이다. 같은 아파트더라도 많은 세대가 존재한다. 세부적인 주소라고 이해하자.

 

 한 컴퓨터 내에서 여러 프로그램이 실행될 수 있다. 현재 내 노트북에는 크롬, IntelliJ 등의 프로그램이 동시에 실행되고 있다. 실제 서버를 운영하는 컴퓨터도 동일하다. 하나의 컴퓨터에서  여러 프로그램이 실행된다.

 외부에서 어떤 컴퓨터 내부의 Spring Boot라는 서버에 통신을 하고 싶은 상황을 생각해보자. 외부에서 IP 주소만 알아서는 실행되고 있ㄴ는 여러 프로그램 중 어떤 프로그램과 통신을 해야할 지 알 수 없다. 그래서 특정 서버와 통신을 할 때는 IP 주소와 서버가 실행되고 있는 포트 번호까지 알고 있어야 원하는 서버와 통신이 가능하다.(택배가 배송될 때, 단순 도로명 주소만으로 배송이 불가능하다. 상세 주소까지 알아야 제대로 배송이 가능하다!)

 

브라우저 창에 포트 번호를 입력하지 않아도 통신이 가능한 이유

 

위에서는 특정 서버와 통신하기 위해선는 IP 주소와 포트 번호 둘 다 알아야 한다고 했다. 우리가 특정 웹사이트(ex. 네이버)에 접속할 때 입력하는 도메인 주소를 통해서 알 수 있는 건 IP 주소 뿐이다. 우리는 포트 번호를 입력해주지 않았는데도 어떻게 정상적으로 접속이 가능한걸까?

 우리가 주소창에 도메인 주소를 입력하고 엔터를 누르면, 브라우저는 기본적으로 80번 포트로 통신을 보내게 설정되어 있다. 그래서 우리가 직접 포트 번호를 입력해주지 않아도 통신이 잘되었던 것이다. 위와 같이 직접 80 포트를 입력해주어도 잘 접속된다. 

 

잘 알려진 포트(well-known port)

포트에는 well-known port라는 개념이 있다.

포트 번호는 0 ~ 65535번 까지 사용할 수 있다. 이 중 0~1023번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있다. 이렇게 역할이 이미 정해져있는 포트 번호를 잘 알려진 포트(well-known port)라고 한다.

 

 well-known port 중 자주 사용되는 포트 번호:

- 22번(SSH, SSecure Shell Protocol): 원격 접속을 위한 포트 번호, EC2 인스턴스에 연결할 때 22번 포트를 사용한다.

- 80번(HTTP): HTTP로 통신을 할 때 사용

- 443번(HTTPS): HTTPS로 통신을 할 때 사용

 

주의: 위에서 정해놓은 규약을 꼭 지키지 않아도 된다. 예를 들어, 특정 서버와 HTTP 통신을 할 때 80번 포트를 쓰지 않고 3000번 포트나 8080번 포트를 써도 상관없다.

 


JSCODE 박재성 강사님의 '비전공자도 이해할 수 있는 Docker 입문/실전' 강의자료를 바탕으로 작성되었습니다.