반응형
💡 “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 구분법!
반응형
'개발 공부 > 서버' 카테고리의 다른 글
[서버 기초] HTTP 상태 코드 200, 404, 500… 에러코드 총정리! (0) | 2025.04.29 |
---|---|
[서버 기초] GET과 POST 비교, 도대체 뭐가 다른 거야? (0) | 2025.04.28 |
[서버 기초] 웹 개발자가 꼭 알아야 할 서버 개념 총정리 & 정리 노트 (1) | 2025.04.24 |
[서버 기초] 서버 장애 원인과 실무에서 꼭 알아야 할 장애 대응 전략 (3) | 2025.04.23 |
[서버 기초] 서버 인프라 구조 총정리! 실무 웹서비스 구조 한 방에 보기 (0) | 2025.04.22 |