IPv4와 IPv6

WooHyeong·2024년 7월 30일

Network

목록 보기
8/10

IP (Internet Protocol)

  • 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 규약(프로토콜)
  • OSI 7계층에서 3계층인 Network(Internet) 계층에서 호스트의 주소 지정과 패킷 분할 및 조립 기능을 담당한다.
  • 데이터 그램 : 인터넷 네트워크 계층 패킷

IP 주소체계

흔히 사용하는 IP 주소는 32비트인 IPv4 주소입니다. IP는 v4, v6 두 체계가 사용되며 IPv6의 주소는 128비트입니다.

IPv4 주소를 표기할 때는 4개의 옥텟(Octet)이라고 부르는 8비트 단위로 나누고, 각 옥텟은 "."으로 구분합니다.

IP 주소 클래스 주소체계 (Classful Addressing)

  • 개념
    • IP 주소를 네트워크 주소와 호스트 주소로 구분하는 방법(IP 주소 = 네트워크 주소 + 호스트 주소)
    • 하나의 네트워크에서 몇 개의 호스트 주소를 가질 수 있느야에 따라 클래스를 나눌 수 있음
  • 클래스 도입 이전
    • 예전에 IPv4 주소는 단순한 8비트의 네트워크 영역과 네트워크 내의 호스트 주소를 가리키는 영역으로 단순하게 구분되어 있었음
    • 이 당시에는 대규모 네트워크가 적었기 때문에 나눌 필요가 없었음
  • 클래스 도입
    • 시대가 바뀌면서 대규모 네트워크가 늘어나는 상황에서 IP 주소 클래스가 등장함
    • 한정된 자원인 IP 주소를 체계적으로 나눠 쓸 필요가 있음
    • 대표적으로 A, B, C 클래스들이 가장 많이 사용됨
클래스최상위 비트주소 범위호스트 수(개)주소 영역 구분 (네트워크 + 호스트)네트워크 / 호스트 ID
A00.0.0.0 ~ 127.255.255.25516,777,216네트워크.호스트.호스트.호스트8/24 bit
B10128.0.0.0 ~ 191.255.255.25565,536네트워크.네트워크.호스트.호스트16/16 bit
C110192.0.0.0 ~ 223.255.255.255256네트워크.네트워크.네트워크.호스트24/8 bit
D1110224.0.0.0 ~ 239.255.255.255N/A멀티 캐스트 용-
E1111240.0.0.0 ~ 255.255.255.255N/A특수용도 예약주소-

IP는 두 가지 버전이 있다.

IPv4

데이터 그램 : 인터넷 네트워크 계층 패킷

IPv4 데이터 그램 형식

  • 버전 : 4비트로 데이터그램의 IP 프로토콜 버전을 명시

  • 헤더 길이 : IPv4 데이터그램은 헤더에 가변 길이의 옵션을 포함.
    이 네 비트로 IP 데이터그램에서 실제 페이로드가 시작하는 곳을 결정

  • 서비스 타입

    • 어떤 네트워크 서비스를 담고 있는지 구분. 예로 실시간(VoIP)과 비실시간(FTP)를 구분한다.
    • TOS 비트 중 2비트는 명시적 혼잡 알림 (ECN)에 사용된다.
  • 데이터그램 길이 : 바이트로 계산한 IP 데이터그램의 전체 길이

    • 필드의 크기는 16비트이므로 최대 길이는 65,535이나 1,500 바이트보다 큰 경우는 없다.
  • 식별자, 플래그 , 단편화 오프셋 : 단편화와 관계 있는 필드

    • 식별자 : 단편화된 데이터그램을 받으면 어느 원본의 데이터그램의 조각인지 결정하기 위해 필요
    • 플래그 : 마지막 데이터그램 조각을 수신했음을 확신하기 위해 마지막 데이터그램 조각의 플래그 비트는 0, 다른 플래그 비트는 1로 설정
    • 단편화 오프셋 : 조각이 분실되었는지 결정하기 위해, 원본 데이터그램 내에 조각의 위치를 명사하기 위해 사용
  • TTL (Time-to-Live) : 네트워크에서 데이터그램이 무한히 순화하지 않도록 한다. 라우터가 데이터그램을 처리할 때마다 감소

  • 프로토콜

    • 데이터 그램에서 데이터 부분이 전달될 목적지의 전송 계층의 특정 프로토콜을 명시
    • TCP = 6, UDP = 17 을 전달
  • 헤더 체크섬

    • 라우터가 수신한 IP 데이터그램의 비트 오류를 탐지하는데 도움을 준다.
    • 합의 1의 보수가 체크섬 필드에 저장
    • TTL 필드와 옵션 필드는 변경되므로 체크섬은 각 라우터에서 재계산되고 저장되어야 한다.
    • IP 헤더만 IP 계층에서 체크섬을 수행.
    • TCP/UDP 체크섬은 전체 TCP/UDP 세그먼트를 계산
    • IPsms TCP/UDP로 전달되지 않는 데이터를 전달할 수 있다.
  • 출발지와 목적지 IP 주소

  • 옵션

    • IP 헤더를 확장한다.
    • 모든 데이터그램 헤더 옵션 필드에 정보를 포함하지 않는 방법으로 오버헤드를 해결하기 위해 헤더 옵션은 거의 사용되지 않는다.
  • 데이터(페이로드) : 데이터그램이 존재하는 이유

    • IP 데이터그램의 데이터 필드는 목적지에 전달하기 위해 전송 계층 세그먼트(TCP나UDP)를 포함
    • ICMP 메시지와 같은 다른 유형의 데이터를 담기도 한다.

IP 데이터그램은 총 20바이트의 헤더를 갖는다. 데이터그램이 TCP 세그먼트를 전송한다면 단편화가 되지 않은 각 데이터그램은 으용 계층의 메시지와 더불어 총 40바이트의 헤더(IP헤더 20바이트와 TCP헤더 20바이트)를 전송한다.

IPv4 데이터그램 단편화

  • MTU(Maximum Trasmission Unit) : 링크 계층 프레임이 전달할 수 있는 최대 데이터 양

단편화 사용 이유

  • 송신자와 목적지 간의 경로를 따르는 각 링크가 다른 링크 계층 프로토콜을 사용할 수 있고 각 프로토콜이 서로 다른 MTU를 가질 수 있다.

  • 각 라우터는 각 다른 MTU를 가진 서로 다른 링크 계층 프로토콜을 가진다.

  • 라우터가 한 링크에서 IP 데이터 그램을 받으면 출력링크를 결정하기 위해서 테이블을 검사한다.

  • 출력 링크가 IP 데이터그램의 길이보다 작은 MTU를 갖게되는 상황을 해결하기 위해 단편(fragment)으로 데이터그램을 분할한다.

예시
입력 : 하나의 큰 데이터그램 (4,000 바이트)
출력 링크의 MTU : 1,500(bytes)
출력 : 3개의 작은 데이터그램

구분IPv4IPv6
주소 길이32bit128bit
표시 방법8bit씩 4부분 10진수 표시16bit 8부분 16진수로 표시
주소 개수약 43억개거의 무한대(2^128)
주소 할당 방식클래스 기반 비순차 할당네트워크 규모, 단말기 수에 따라 순차할당
헤더 크기가변고정
Qos 제공미흡제공
보안IPSec 프로토콜 별도 설치IPSec 자체 지원
서비스 품질제한적 품질 보장확장된 품질 보장

한계 : IPv4의 클래스 기반 주소 체계는 네트워크와 호스트 ID 길이가 고정적이므로 비효율적이며 주소 부족 문제 발생

IP 주소 고갈 문제 해결

CIDR (Classless Interdomain Routing - 사이다)

개념

  • 서브넷 주소체계 표기를 일반화하는 인터넷 주소 할당 방식
  • 32비트 IP주소를 두 부분으로 나누고 십진수 형태의 a.b.c.d/x를 갖는다. x는 주소 첫 부분의 비트 수

특징

  • a.b.c.d/x에서 x는 IP 주소의 네트워크 부분을 구성한다.
    이것을 해당 주소의 프리픽스(prefix) 또는 네트워크 프리픽 라고 부름
    한 기관 장비들의 IP주소는 공통 프리픽스를 공유한다.
  • 32 bit - x bit = 같은 네트워크 프리픽스를 갖는 모든 장비들을 구별

네트워크 주소 변환(NAT)

  • 개념
    • 네트워크 주소 변환자 즉, 네트워크 주소를 변환해주는 역할을 해주는 장비이다.
      NAT는 공인IP를 사설IP로 변환해주며, 반대로 사설IP를 공인IP로 변환해주기도 한다.

필요 이유 : SOHO(small office, home office) 네트워크의 확산으로 인해서, SOHO가 장치를 연결하기 위해 LAN을 설치할 때마다 ISP는 모든 SOHO의 IP 장치를 수용할 수 있는 주소 범위를 할당해야 한다.

But ISP가 이미 SOHO 네트워크의 해당 주소 범위에 인접한 부분을 할당했다면? NAT로 주소를 할당할 수 있다.

DHCP

IPv6

  • IPv4의 주소 부족과 보안성 취약, 성능 부족 등의 문제점을 해결하기 위한 Internet Protocol

  • 특징

    • 확장된 주소 공간
      • 128 bit 주소 체계를 사용하여 IPv4의 주소 부족 문제 해결
      • IP 주소를 절약하기 위해 사용되는 NAT와 같은 주소 변환 기술도 불필요
    • 새로운 헤더 포맷
      • 헤더를 고정 길이로 변경
      • 패킷 단편화(fragmentation) 관련 필드 삭제
      • 체크섬(checkSum) 필드 삭제
    • 향상된 서비스의 지원
      • 트래픽을 효과적으로 분류할 수 있는 기능 제공
      • 이를 위해 IPv6 헤더 내에 플로우 레이블(Flow Label) 필드 이용
    • 보안 기능
      • IPv4에서의 보안은 IPSec라는 보안 관련 프로토콜을 별도로 설치해주어야 함
      • IPv6에서는 프로토콜 내에 보안관려 기능을 탑재할 수 있도록 설계
      • 확장 헤더를 통하여 네트워크 계층에서의 종단감 암호화 제공
    • 주소 자동 설정
      • 로컬 IPv6 주소를 LAN 상의 MAC 주소와 라우터가 제공하는 네트워크 프리픽스(prefix)에 결합하여 IP 주소를 자동 생성함
      • 이동형 컴퓨터의 경우, 어느 곳에서든 네트워크 연결을 설정하면 자동으로 포워딩 주소를 설정할 수 있게 함
  • 주소 체계

    • 128bit = Network ID(64bits)+ Host ID(64bits)
    • 128bit를 16bit로 나누어 16진수로 표시하여 :으로 구분함

IPv6 데이터그램 형식

  • Flow label(흐름 라벨) : 데이터 그램의 흐름을 인식하는데 사용

  • Next Header(다음 헤더) : 데이터그램의 내용(데이터 필드)이 전달될 프로토콜(예: TCP나 UDP)dmf rnqnsgksek.

  • Hop Limit(홉 제한) : 라우터가 데이터그램을 전달할 때마다 1씩 감소한다. 0보다 작아지면 데이터그램을 버린다.

  • 데이터 : IPv6 데이터그램의 페이로드 부분. 목적지에 도착하면 IP 데이터그램에서 페이로드를 제거한 후, Next Header 필드에 명시한 프로토콜에 전달한다.

  • 단편화/재결합

    • IPv6에서는 단편화와 재결합을 출발지와 목적지만이 수행한다.
    • 라우터가 받은 데이터그램이 커서 출력 링크에 전달할 수 없다면 데이터그램을 폐기하고 송신자에게 메시지를 보내 알려줌.
    • 송신자는 메시지를 받고 IP데이터 그램 크기를 줄여서 다시 보냄
    • 라우터에서 단편화와 재결합을 안하므로 전달 속도를 증가시킨다.
profile
화이링~!

0개의 댓글