[네트워크] IPv6

oldshoe·2024년 6월 12일

네트워크

목록 보기
24/34

IPv6

IPv4의 주소 고갈 문제 해결을 위해 IPv6는 등장하였다.
IPv4는 32비트를 사용하지만 IPv6는 128비트 주소 체계를 사용한다

IPv6 datagram format

IPv6 체계의 데이터그램은 위와 같은 구조를 가진다.
헤더가 40바이트로 고정되어 있고 그래서 헤더 정보를 빠르게 읽을 수 있다.

가장 큰 특징은 IP address 필드가 128비트로 늘었다는 것이다.

  • 사라진 필드
  • checksum이 사라졌다. 전송 기술이 발달하면서 오류 발생이 현저히 줄었기 때문
  • fragment 관련 필드가 사라졌다. 하지만 그렇다고 해서 fragmentation이 발생하지 않는 것이 아니고, 출발지에서만 fragmentation이 이루어지게 된다. 전송 도중 fragmentation을 피하기 위해 출발지부터 도착지까지의 path 상에 있는 라우터 MTU(Maximum Transmission Unit, 최대 전송 단위) 중 가장 작은 MTU를 기준으로 fragmentation을 수행한다.
  • IPv4에서 못 보던 필드
  • flow label
    - 기본적인 트래픽 우선 순위 외에 특정 패킷 흐름을 지정하여 특별히 처리해야 하는 매커니즘을 나타내며 관련된 사용 및 제어는 아직 정의되지 않았거나 표준화되지 않았다.
  • next header
    - 추가적인 정보를 담고 있는 extension header가 있을 경우를 대비하여 이 헤더를 위한 공간을 마련해둔 것이다. TCP, UDP와 같은 상위 계층 패킷에 포함된 프로토콜을 나타내는 경우도 있다.
  • hop limit
    - IPv4의 TTL와 같은 것이다.

Tunneling

IPv4 datagram의 payload 부분에 IPv6 datagram을 실어 보내는 것을 터널링이라고 한다.

현재 존재하는 라우터가 모두 IPv6을 지원하지 않기 때문에 IPv4 형식으로 전달해야 하는 경우가 있는데 이 때 터널링이 사용된다. 비슷한 맥락으로 4G/5G 통신에서도 터널링이 사용된다.

위 그림을 보면 IPv4 datagram의 payload 부분에 IPv6 datagram이 들어가 있는 것을 볼 수 있다.

Tunneling Example

라우터 B, E 간에 데이터 전송을 할 때 IPv4 datagram을 사용해야 한다면 라우터 B에서 tunneling, encapsulation이 이루어진다.

source가 A, destination이 F인 IPv6 datagram을 source가 B, destination이 E인 IPv4 datagram으로 감싸서 전송하고 있는 것을 볼 수 있다.

라우터 E(dest)에 도착하면 다시 descapsulation을 수행하여 IPv6 datagram을 전달한다.

profile
toomuxi : There are many things in the world that I want to do

0개의 댓글