어 나 갱수.

[네트워크] IP와 Port의 개념 🦒 본문

네트워크

[네트워크] IP와 Port의 개념 🦒

김경수 2024. 5. 20. 09:03
728x90

IP(Internet Protocol)

웹 서버가 다른 컴퓨터에서 실행되고 있기 때문에, 웹 브라우저가 웹 서버에 연결하려면, 웹 서버가 실행 중인 컴퓨터의 주소를 알아야 하는데 이 주소를 IP주소로 합니다.

 

이러한 IP주소는 형식을 외우거나 구별하기 어렵기 때문에, DNS를 통해 구별하기 쉬운 도메인 주소로 변환된다.
도메인주소로 웹 브라우저에 접속할 때도 DNS를 통해 IP주소를 알아내고 통신을 이어갑니다. 

Port

포트는 “논리적인 접속장소”를 뜻하며, 인터넷 프로토콜인 TCP/IP를 사용할 때 클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용한다.

네트워크 상에서 통신을 할 때 IP 주소를 바탕으로 해당 서버가 있는 컴퓨터에 접근하게 된다.

 

IP 주소가 건물 주소라면 포트 번호는 건물 내 호수와 같습니다.

 

하나의 IP에서 여러 애플리케이션을 실행할 경우, 컴퓨터에는 여러 개의 서버가 실행하게 된다.

이때 포트번호를 통해 대상 IP 기기의 특정 애플리케이션의 서버에 접속할 수 있도록 알려주어야 한다.

 

또 다른 예로 자바 Spring 프로젝트를 실행하면, 나타나는 화면에 Tomcat started on port(s): 8080과 같은 숫자가 표현된다. 이 숫자는 IP주소가 가리키는 PC 접속할 수 있는 통로(채널)를 의미한다.

로컬 환경에서 실행했을 때 로컬 PC의 IP 주소로 접근하여 8080번이 통로를 통해 실행 중인 서버를 확인할 수 있다. 이때 이미 사용 중인 포트는 중복해서 사용할 수 없다. 

이렇게 같은 서버의  다른 포트번호로 Spring 프로젝트는 실행시킬 수 있다.

 

브라우저 창에서 포트 번호를 입력하지 않는 이유?

위 설명에 따르면 서버와 통신할 때는 ip주소와 port번호가 둘 다 있어야 합니다. 하지만 주소를 통해서 알 수 있는 것은 ip주소뿐이다. 보통은 port번호 없이도 웹 사이트에 접속할 수 있고, 정상적으로 통신이 가능합니다.

주소창에 도메인 주소를 입력해서 엔터를 누르게 되면 브라우저는 기본적으로 80번 포트로 통신을 보내게 설정되어 있습니다.
만약 3000번 포트로 통신하고 싶다면 아래와 같이 입력을 하고 접속할 수 있습니다.

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

포트에는 잘 알려진 포트(well-known port)라는 개념이 있습니다.

 

포트번호는 0 ~ 65,535까지 사용할 수 있습니다. 그중에서 0 ~ 1023번까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있습니다.

 

이렇게 규약에 따라 이미 정해져 있는 포트를 잘 알려진 포트라고 부릅니다.

 

대표적인 포트번호 3가지를 알아보겠습니다.

  • 22번 (SSH, Secure Shell Protocol) : 원격 접속을 위한 포트 번호
  • 80번 (HTTP) : HTTP로 통신할 때 사용되는 포트 번호
  • 443번 (HTTPS) : HTTPS로 통신을 할 때 사용되는 포트 번호

위에서 설명한 대표 포트번호를 무조건 사용해야 하는 건 아닙니다. 다르게 따로 설정을 하고 사용해도 됩니다.
예를 들어 HTTP 통신을 할 때 80번 포트 말고 3000이나 8080 포트를 사용해서 통신해도 상관없습니다.

 

728x90