본문 바로가기
개발 공부/서버

[서버 기초] 포트(Port)란? IP랑 뭐가 다른데? 포트랑 IP의 차이점

by 악마의 개발자 2025. 4. 25.
반응형

포트랑 IP의 차이점


💡 “IP 주소만 알면 끝 아니야?”

서버 공부하다 보면 이렇게 생각하기 쉽죠?

"서버 주소 = IP니까 IP만 알면 접속 가능한 거 아냐?"

근데 실제론 이렇게 되어 있어요:

192.168.0.1:80 192.168.0.1:3000 192.168.0.1:8080

"어? 콜론(:) 뒤에 있는 숫자 뭐야?"
"이게 바로 포트(Port)입니다!"

 

오늘은 IP와 포트의 차이, 그리고
포트가 왜 필요한지 쉽게 알려드릴게요. 😊


🌍 IP 주소란?

IP 주소(Internet Protocol Address)

"서버나 컴퓨터가 네트워크상에서 가지는 주소"예요.

 

📦 예시:

  • 192.168.0.1 → 내부 네트워크 주소
  • 172.217.175.110 → 구글 서버 중 하나

📫 "아파트 단지 주소"라고 생각하면 돼요!
(그 아파트에 누가 사는지는 아직 모름)


🚪 포트(Port)란?

포트(Port)

"같은 서버 안에서 여러 프로그램(서비스)을 구분해주는 번호"예요.

🏢 "아파트의 동호수" 같은 개념!
IP가 주소라면, 포트는 그 건물 안의 방 번호!

 

예시:

  • 192.168.0.1:80 → 웹서버 (HTTP 기본 포트)
  • 192.168.0.1:443 → 보안 웹서버 (HTTPS)
  • 192.168.0.1:3306 → MySQL DB 서버
  • 192.168.0.1:3000 → Node.js 개발 서버

🖥️ 왜 포트가 필요할까?

한 대의 서버(같은 IP)에서도

웹서버, DB서버, API서버 등 여러 개 프로그램이 동시에 돌 수 있기 때문!

 

모든 프로그램이 IP만 보고 기다리면
→ 서로 헷갈리고 충돌나요! 🥲

그래서 포트 번호로 "내가 처리할 요청"을 구분하는 거예요.


🧭 포트 번호의 범위와 의미

포트 번호 범위 의미 예시
0 ~ 1023 잘 알려진 포트 (Well-known Ports) HTTP(80), HTTPS(443), SSH(22)
1024 ~ 49151 등록된 포트 (Registered Ports) MySQL(3306), Redis(6379)
49152 ~ 65535 동적 포트 (Dynamic/Private) 임시 연결 시 사용 (ex: 웹소켓)

🛠️ 실무에서 자주 쓰는 포트 예시

서비스 기본 포트
HTTP 80
HTTPS 443
SSH (원격 접속) 22
MySQL 3306
PostgreSQL 5432
Redis 6379
MongoDB 27017
Node.js 개발 서버 3000, 8080 등 자유 설정

🤔 포트 충돌이란?

"서로 다른 프로그램이 같은 포트 쓰려고 할 때 발생!"

 

예시:

  • 3000번 포트에 이미 React 앱이 실행 중인데
  • 거기에 또 다른 서버를 3000번에 띄우려고 하면?

→ Error: Port 3000 is already in use 발생! ❌


🧠 정리 한마디!

구분 의미 비유
IP 주소 네트워크상의 위치 아파트 단지 주소
포트 번호 서비스 구분 아파트 동호수

👉 IP만으로는 "어느 서버"까지 알 수 있고,
👉 포트가 있어야 "어떤 서비스"인지 알 수 있어요!


📌 다음 예고: "GET과 POST, 도대체 뭐가 다른 거야?"

  • 왜 GET은 주소창에 보이고 POST는 안 보이는지?
  • 둘 다 요청인데 쓰임새는 왜 다를까?
  • 실전 API 설계에서 GET과 POST 구분법!
반응형