본문 바로가기
CS/Network

[네트워크] IP

by haerr 2025. 6. 6.

1️⃣ 네트워크 계층과 IP 데이터그램

네트워크 계층의 주요 역할

  • 라우팅: 어떤 경로로 데이터를 보낼지 결정 (RIP, OSPF, BGP)
  • IP 프로토콜: 주소 붙이고, 전송 형식 정의, 패킷을 어디로 보낼지 규칙 설정
  • ICMP: 오류 알려주기, ping 같은 도구로 연결 상태 확인

 

IP 데이터그램 포맷 (IPv4)

  • 인터넷에서 한 덩어리의 데이터(PACKET)를 IP 데이터그램이라 부름
  • 주요 필드:
    • Version: IPv4인지 IPv6인지
    • Header Length: 헤더 길이 (보통 20바이트)
    • TTL: 최대 이동 거리 (라우터 1개 지나갈 때마다 1 감소, 0이면 삭제)
    • Protocol: 다음 계층이 TCP인지 UDP인지 구분
    • Source/Destination IP: 출발지, 목적지 주소

 

2️⃣ IP 단편화와 주소

단편화 (Fragmentation)

  • 인터넷은 모든 데이터를 한 번에 못 보내므로 쪼개서 전송
  • MTU보다 큰 데이터는 여러 개 조각으로 나누어 전송
  • 조각은 ID, Offset, Flag로 추적하여 목적지에서 재조립

 

예시:

  • 4000바이트 데이터 → MTU=1500이라면 3조각으로 나뉨
  • Offset은 8바이트 단위: (0, 185, 370)

 

3️⃣ IP 주소 체계 (IPv4, CIDR, 서브넷 등)

IP 주소란?

  • 인터넷 상에서 각 장치를 식별하는 주소 (예: 192.168.0.1)
  • 각 장치의 인터페이스에 부여됨

 

IP 클래스 (A~E)

  • A: 대규모 기업용, B: 중간, C: 소규모
  • 낭비 심함 → 현대에는 거의 사용 ❌

 

CIDR (Classless Inter-Domain Routing)

  • IP 주소 + /비트수 → 유연한 주소 설계
  • 예: 192.168.1.0/24 → 상위 24비트가 네트워크, 나머지가 호스트

 

서브넷

  • 큰 네트워크를 작게 나눔 → 관리 편리, 라우터 없이 내부 통신 가능
  • 서브넷 마스크로 네트워크 부분 추출 (ex. 255.255.255.0)

 

4️⃣ DHCP와 NAT

DHCP (자동 IP 할당)

  • 호스트가 IP 주소를 자동으로 받는 프로토콜
  • 절차:
    1. Discover: “누가 IP 줄 수 있어요?”
    2. Offer: “이 IP 어때요?”
    3. Request: “그거 주세요!”
    4. ACK: “확인! 임대합니다.”

DHCP는 IP 외에도 게이트웨이, DNS, 서브넷 마스크 등 정보 제공

 

 

NAT (네트워크 주소 변환)

  • 내부 네트워크는 사설 IP(예: 192.168.0.x) 사용
  • 인터넷에 나갈 땐 공인 IP 하나로 바꿔서 나감
  • 여러 장치가 하나의 IP로 통신 가능 (포트 번호로 구분)

 

5️⃣ IPv6와 ICMP

IPv6

  • IPv4 주소 고갈 해결 (IPv6는 128비트 주소)
  • 간단한 헤더 구조 → 속도 빠름
  • 단편화는 송/수신지에서만 함 (라우터는 안 함)
  • 전환 방법: 터널링 (IPv6을 IPv4로 감싸서 전송)

 

ICMP

  • 네트워크 오류 및 상태 확인용 프로토콜
  • 예: ping (Echo Request/Reply), traceroute (TTL 초과로 경로 추적)
  • ICMP 메시지는 IP 데이터그램 안에 실려 전송됨

'CS > Network' 카테고리의 다른 글

[네트워크] 라우팅 알고리즘  (0) 2025.06.06
[네트워크] CIDR와 서브넷 마스크  (0) 2025.06.06
[네트워크] 라우터  (1) 2025.06.06
[네트워크] 데이터그램, 가상회선  (0) 2025.06.06
[네트워크] Network Layer 개요  (0) 2025.06.05