인프라/Network

포트(Port) 란 무엇이고 왜 있는걸까?

Kangjieun11 2024. 12. 6. 00:16
728x90

 

✅ 포트 (Port)

프로그램이 네트워크 상의 특성서버 프로그램을 지정하는 방법으로 사용하는 것.

 

이렇게 말하니까 어렵다. 

 

더 단순하고 직관적으로 말하면, 

프로그램을 구분하는 역할이다.

 

 


✅ 포트는 왜 사용할까?

 

1개의 서버에서도 여러개의 프로그램이 동시에 실행될 수 있다. 

 

예를들어

WAS : 브라우저로부터 HTTP 통신을 하는 프로그램 

데이터베이스 : 실제 데이터를 주고받는 프로그램 

 

이런 프로그램들을 구분하며 동시에 실행하고 요청을 처리하기 위해  포트번호를 사용한다. 

만약 포트번호가 없으면 어떤 요청을 어떤 프로그램에 보내는건지 구분할 수가 없어진다. 

 

# 웹서버 톰캣 DB 예시 

  • 사용자는 브라우저에서 http://domain.com:8080  요청한다.
  • 톰캣의 8080포트가 요청을 수신한다. 
  • 톰캣은 요청을 처리하던 중 DB에서 정보를 조회해야한다. 이때 3306 포트로 MYSQL DB서버에 SQL 요청을 보낸다. 
  • DB서버는 요청을 처리하여, 결과를 톰캣서버로 반환한다. 

 

 

 

위의 그림도 똑같다. 

한개의 서버에서  웹서버와 메일서버를 동시에 실행하고 있다. 

IP주소만으로는 어떤 서버로 요청을 보내는지 알 수 없기 때문에 

포트번호를 구분하여 웹서버가 요청을 받을지 메일서버가 요청을 받을지 구분한다. 

 

  • 포트가 생긴 목적이 프로그램을 구분하기 위해서이기 때문에 사용중인 포트번호는 중복해서 사용할 수 없다. 
  • 포트번호는 0~65535까지 사용가능하다. 
  • 단 0~1023 포트는 시스템사용번호로 정해져있는 포트이다. 

 

✅ 자주 사용되는 포트번호

번호 프로토콜 통신 프로토콜 설명
80 HTTP TCP 웹 서버 접속
443 HTTPS TCP 웹 서버 접속(SSL)
110 POP3 TCP 메일 읽기
25 SMTP TCP 메일 서버간 메일 전송
22 SSH TCP  컴퓨터 원격 로그인
53 DNS UDP DNS질의
123 NTP TCP 시간 동기화
20 FTP TCP 데이터전송
21 FTP  TCP FTP 제어