[ CS ] 네트워크 주요 포트번호와 그 사용처

2025. 7. 22. 20:52·CS 및 기본 개념

 

1.네트워크의 주요 포트번호를 알아야 하는 이유


사실 해당 개념을 지금까지 잘 몰랐지만, 개발하는데 큰 불편함은 없었다.

다만 해당 내용은 다음 단계로 넘어가기 위한 필수 개념이다. 왜 그런지 알아보자.

 

1-1. 개발 환경에서 포트 충돌의 우려가 있음


우선 개발을 할 때, 필수는 아니지만 자주 사용되는 포트는 그 용도에 맞게 사용하는 것이 좋다.

 

우선 아래 시나리오에 대해서 생각해보자.

  1. 서버를 80(HTTP 기본 포트) 포트에서 실행시킴
  2. nginx 이미지를 80 포트에서 백그라운드 실행
  3. 포트 충돌로 인한 오류 발생

즉 이와 같이 예기치 않은 오류로 이어질 수 있기에 자제해야 한다.

 

1-2. 여러 기술에서 업계 표준으로 사용됨


다음으로 네트워크 주요 포트들은 네트워크 환경에서 업계 표준으로 사용되는 경우가 많기 때문이다.

 

대표적으로 Ubuntu와 같은 대부분의 리눅스 기반 기술들은 22번 포트를 SSH 접근을 위해서 사용한다.

또한, 대부분의 nginx 이미지는 80포트를 기본값으로 사용하며 HTTP 통신은 80포트를 기본값으로 사용한다.

 

즉 주요 포트를 고려하지 않은 시스템 설계는 추후 다른 기술의 이식성 문제나 포트 충돌 등의 잠재적 위험으로 이어질 수 있다.

 

 

2. 네트워크 환경에서의 주요 포트번호


이번에는 주요 포트 번호들을 종류별로 분류해서 알아보도록 하자. 가능하다면 예시까지 알아보는 것으로 하겠다.

이번 게시글에서 모든 주요 포트를 알아보진 않는다. 솔직히 너무 많다...

 

2-1. HTTP / HTTPS 관련 주요 포트


우선 HTTP와 HTTPS 관련 포트이다. 

해당 포트들은 HTTP / HTTPS 통신 환경에서 표준처럼 사용되는 포트들이다.

포트 번호 용도
80 HTTP 프로토콜의 기본 포트. 포트 번호를 붙이지 않으면 해당 포트를 의미한다.
443 HTTPS 프로토콜의 기본 포트
8080 80포트는 주로 웹 서버가 사용하므로 관습적으로 해당 포트를 대신하기 위해서 사용한다.

 

2-2. SSH 관련 주요 포트


다음으로 SSH 관련 주요 포트들이다.

해당 포트들은 여러 기술들에서 원격 터미널 접속을 위한 표준처럼 사용되는 포트들이다.

포트 번호 용도
22 원격 터미널 접속을 위해서 리눅스 배포판에서 표준으로 사용하는 포트
2222 원격 터미널 접속 시 보안을 위해서 사용하는 포트
3389 Window 등의 원격 데스크톱 접속을 위해서 사용하는 포트

 

여기서 왜 2222 포트는 보안 강화가 될까? 이건 아래 예제를 통해서 바로 이해 가능하다.

# 기본 명령어 ( 22 포트 사용 )
ssh <username>@<ip> 

# 보안이 강화된 명령어
ssh <username>@<ip> -p 2222

ssh 접속은 기본 22 포트를 사용하기에 몇몇 봇으로 인한 자동화 공격에 취약하다.

하지만 2222 포트를 사용한다면 일부 봇으로 인한 공격에서 시스템을 보호해줄 수 있다.

 

2-3. DB / 서버 관련 주요 포트


다음으로는 DB와 웹 애플리케이션 서버 관련 포트들이다.

해당 내용은 중요한 부분은 아니니 간단하게 짚고 넘어가자.

포트 번호 해당 포트를 사용하는 기술
8080 Spring Boot (WAS)
8000 Django (WAS)
5000 Flask (WAS)
3306 MySQL (DB)
6379 Redis (DB)
5432 Postgresql (DB)
27017 MongoDB (DB)

 

해당 포트들은 서비스 내에서 기본으로 사용되는 포트들이다.

예를 들어서 Redis나 MySQL을 설치했고 백드라운드에서 정상적으로 작동하고 있다면 주요 포트들이 사용되고 있는 것이다.

 

또한, 배포 환경에서 해당 포트들의 외부와의 접근성을 파악하는 것도 좋은 접근법이 될 수 있다.

 

2-4. 미디어 스트리밍 관련 주요 포트


사실 해당 포트들은 실제로 접할 일이 크게 없다.

하지만, 만약 미디어 스트리밍이나 cctv 모니터링 등의 서비스를 개발한다면 해당 포트들을 알고 있어야 한다.

포트 번호 용도
554 RTSP에서 기본으로 사용되는 포트. 주로 CCTV 모니터링 등에 사용됨
8554 RTSP 기본 포트 대신 사용하는 포트
1935 RTMP에서 기본으로 사용되는 포트. youtube와 같은 실시간 방송 서비스에서 사용됨 
10000 WebRTC에서 기본으로 사용되는 포트. p2p 기반의 실시간 통신에서 주로 사용됨

 

2-5. 파일 전송 관련 주요 포트


다음으로 파일 전송 프로토콜인 FTP에서 주로 사용되는 포트들이다.

Filezilla와 같은 FTP Client에서 해당 포트를 사용한다.

포트 번호 용도
20 FTP ( 데이터 전송용 채널 )
21 FTP ( 명령어 송/수신용 채널 )
22 보안 파일 전송

 

솔직히 FTP라는 말은 좀 생소하기도 하고 파일 전송은 HTTP 프로토콜을 사용해도 가능한데 굳이 FTP 프로토콜을 써야할까?

FTP 프로토콜은 대용량 파일을 전송할 때 유용하게 사용되고 중간에 연결이 끊겨도 이어서 전송이 가능하다는 단점이 있기에 여전이 유용하게 사용되고 있다고 한다.

 

2-6. 기타 포트들


다음으로 잘 알려져 있는 주요 포트들에 대해서 알아보자.

포트 번호 용도
53 DNS ( 도메인 이름 해석 )
67 / 68 부트스트랩 프로토콜 서버 / 클라이언트 포트. DHCP ( ip 주소 할당 ) 에서 사용되기도 함.
0 UDP 프로토콜에서 예약해서 사용하는 포트
1 TCP 프로토콜에서 예약해서 사용하는 포트

 

 

3. 마무리

사실 해당 포트들을 다 외우는 것은 어렵다.

 

다만 22, 80, 443 등과 같은 핵심적인 포트들은 기억하는 것이 추후 개발에 도움이 될 것이다.

'CS 및 기본 개념' 카테고리의 다른 글

[cs] HTTP 버전별 특징과 차이점  (4) 2025.07.31
[ NGINX ] NGINX를 리버스 프록시로 사용하는 WebSocket 시스템 구축  (6) 2025.07.30
[ AWS ] CDN (CloudFront) 으로 S3 정적 파일 관리하기  (3) 2025.07.23
[ Java ] Executor 인터페이스로 동시성 관리하기  (1) 2025.07.09
[ Java ]Java 버전 간 차이점  (3) 2025.07.07
'CS 및 기본 개념' 카테고리의 다른 글
  • [ NGINX ] NGINX를 리버스 프록시로 사용하는 WebSocket 시스템 구축
  • [ AWS ] CDN (CloudFront) 으로 S3 정적 파일 관리하기
  • [ Java ] Executor 인터페이스로 동시성 관리하기
  • [ Java ]Java 버전 간 차이점
코드래곤
코드래곤
코드래곤 님의 블로그 입니다.
  • 코드래곤
    코드래곤 님의 블로그
    코드래곤
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 알고리즘 (3)
        • 그리디 (1)
        • 그래프 (2)
      • 시스템 설계 (6)
      • CS 및 기본 개념 (17)
      • Docker (5)
      • Spring (23)
        • 백준 서비스 구현하기 (1)
        • 기초 개념 (14)
        • MSA (2)
        • JPA (1)
      • Dart (3)
      • Flutter (1)
      • Kubernetes (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
코드래곤
[ CS ] 네트워크 주요 포트번호와 그 사용처
상단으로

티스토리툴바