본문 바로가기
Computer Science/컴퓨터 네트워크

[컴퓨터 네트워크] IP 주소와 포트 번호

by 클레어몬트 2025. 2. 10.

ㅁIP 주소(Internet Protocol Address): 네트워크에 연결된 각 장치(컴퓨터, 서버, 스마트폰 등)가 데이터를 송수신할 때 사용하는 고유한 주소

인터넷에 연결된 모든 장치는 고유한 IP 주소를 가져야 한다

 

[IP 주소 2가지 종류]

1. IPv4 (Internet Protocol version 4): 32비트 주소 체계 - 4개의 10진수(0~255)로 구성된 형식

e.g. 192.168.1.1, 172.16.254.1, 8.8.8.8 (Google DNS 서버)

 

IPv4는 최대 약 43억 개(2³² 개)의 IP 주소를 제공하지만, 인터넷 사용자의 급증으로 인해 주소가 부족한 문제가 발생했다

그래서 나온 것이 IPv6 이다

 

2. IPv6 (Internet Protocol version 6): 128비트 주소 체계 - 8개의 16진수 블록으로 구성된 형식

e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334

 

IPv6는 340언디시릴리언(2¹²⁸ 개) 이상의 IP 주소를 제공하여 IPv4의 주소 부족 문제를 해결한다

사실상 무한에 가깝다

 

 

ㅇ공인 IP(Public IP): 인터넷에서 전 세계적으로 유일한 IP 주소

인터넷 서비스 제공업체(ISP)에 의해 할당된다

 

웹사이트, 이메일 서버, 클라우드 서버 등 외부 네트워크와 직접 통신해야 하는 장치들이 공인 IP를 사용한다

e.g. 8.8.8.8(Google DNS 서버), 52.78.100.123(AWS 서버)

 

 

ㅇ사설 IP(Private IP): 로컬 네트워크(사무실, 가정 등)에서 사용되는 내부 네트워크 전용 IP 주소

e.g. 192.168.1.1 (가정용 공유기), 10.0.0.1 (사내 네트워크)

 

NAT(Network Address Translation)을 사용하여 공인 IP로 변환 후 인터넷에 접속할 수 있다

https://claremont.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-NATNetwork-Address-Translation

 

[컴퓨터 네트워크] NAT(Network Address Translation)

ㅇNAT(Network Address Translation, 네트워크 주소 변환): 사설 네트워크(Private Network)에서 공용 네트워크(Public Network)로 데이터를 전송할 때, IP 주소를 변환하는 기술 [NAT의 필요성 3가지] 1. 네트워크 관

claremont.tistory.com

 

(사설 IP 주소 범위)

10.0.0.0 ~ 10.255.255.255

172.16.0.0 ~ 172.31.255.255

192.168.0.0 ~ 192.168.255.255

 

 

 

ㅁ포트 번호(Port Number): IP 주소를 가진 장치에서 어떤 서비스(애플리케이션)와 통신할 것인지를 구분하는 번호

즉, IP 주소가 "장치"를 식별한다면, 포트 번호는 "어떤 프로그램"과 통신할지를 지정하는 역할이다

비유를 하자면 다음과 같다: 집 주소 - IP 주소 / 방들 - 포트 번호

집 주소 - IP 주소 / 방들 - 포트 번호

 

포트 번호로 네트워크 패킷을 정확한 애플리케이션에 전달할 수 있고, 또한 특정 포트를 차단하여 보안 설정을 강화할 수 있다

 

 

[포트 번호 범위] 0~65535번(16비트)

1. well-known 포트 (0~1023)

  • 널리 사용되는 표준 서비스 포트이며, IANA(Internet Assigned Numbers Authority)에 의해 예약
  • 예시)
    • 80번: HTTP (웹사이트 접속)
    • 443번: HTTPS (보안 웹사이트 접속)
    • 22번: SSH (원격 접속)
    • 25번: SMTP (이메일 전송)

2, registered 포트 (1024~49151)

  • 특정 애플리케이션 및 소프트웨어에서 사용하는 포트
  • 예시)
    • 3306번: MySQL 데이터베이스
    • 5432번: PostgreSQL 데이터베이스
    • 27017번: MongoDB

3. dynamic/private 포트 (49152~65535)

  • 임시로 사용되는 포트로, 애플리케이션이 필요에 따라 자동으로 할당받아 사용함
  • 예시)
    • 클라이언트 프로그램이 서버에 요청을 보낼 때 임시적으로 사용되는 포트

 

(웹 브라우저에서 구글(google.com)에 접속하는 과정)

  1. 브라우저가 google.com의 IP 주소(142.250.190.78)를 확인한다
  2. 브라우저는 80번 포트(HTTP) or 443번 포트(HTTPS)를 통해 구글 서버와 연결한다
  3. 구글 서버가 해당 포트로 요청을 받아 처리하고, 응답을 보낸다
  4. 브라우저는 응답을 받아 웹 페이지를 표시한다

클라이언트: 192.168.1.2:52345 → 서버: 142.250.190.78:443
(출발지 IP:포트 → 목적지 IP:포트)