페이지 상단으로

인터넷주소자원

ICMPv6

홈으로 > 인터넷주소자원 > 무제한인터넷주소(IPv6) > IPv6 소개 > ICMPv6

ICMPv6 추가기능

ICMPv6에는 IPv4의 ICMP에서 존재했던 기능 외 PMTUD, MLD, NDP, 주소 자동설정과 같은 기능들이 추가되었다.

PMTUD(Path MTU Discovery)

PMTUD란 목적지로 가는 경로상에 존재하는 링크들 중 MTU 값이 가장 적은 링크의 MTU 값을 확인하는 과정을 말한다.IPv6에서는 오직 출발지 장비만이 IPv6 패킷을 분할할 수 있도록 규정해 놓았다. 그 이유는 IPv4에서 목적지로 가는 경로상의 중간 라우터들이 무분별한 분할을 수행함으로 인해 발생했던 라우팅 속도 저하를 막기 위해서다.

IPv6 네트워크 환경에서의 출발지 장비는 목적지로 가는 경로 상의 링크들 중 MTU 값이 가장 작은 링크의 MTU 값을 확인한 다음 자신이 전송하려는 패킷을 분할시켜 전송하게 된다.

MLD(Multicast Listener Discovery)

MLD는 IPv4에서의 IGMP(internet group management)와 유사한 기능을 수행하는 프로토콜로서, 연결된 링크 상에 멀티캐스트 그룹에 소속되어 있는 호스트가 존재하는 지의 여부를 확인하거나, 멀티캐스트 그룹에 소속되어 있는 호스트들의 관리를 목적으로 사용한다.MLD는 MLQ, MLR, MLD라는 3개의 메시지 타입을 사용한다.

MLD 메세지 분류 표입니다.
분류 메시지 종류 Type값 Code 기능
Information Message Multicast Listener Query 130 0 Multicast Listener Query
Multicast Listener Report 131 0 Multicast Listener Report
Multicast Listener Done 132 0 Multicast Listener Done
    • MLQ(Multicast Listener Query)
    • - 멀티캐스트 그룹에 소속된 호스트가 존재하는지의 여부를 확인하기 위한 ICMPv6 메시지
    • - 메시지 전송 시, 출발지 주소는 자신의 링크 로컬 주소를 사용, 목적지는 all node multicast를 사용
    • MLR (Multicast Listener Report)
    • - MLQ메시지를 받은 대상이 응답을 위해 사용하는 ICMPv6 메시지
    • - 메시지 전송 시 출발지 주소는 자신의 링크 로컬 주소를 사용, 목적지는 MLQ 메시지를 보낸 상대방의 링크 로컬 주소를 사용
    • MLD(Multicast Listener Done)
    • - 특정 멀티캐스트 그룹에서 탈퇴할 경우 라우터에게 보내는 ICMPv6메시지
    • - 메시지 전송 시 출발지 주소는 자신의 링크 로컬 주소를 사용, 목적지는 all router multicast 주소를 사용

NDP(Neighbor Discovery Protocol)

NDP는 IPv4에서의 ARP와 유사한 역할을 수행한다. 즉 이더넷 환경에서 상대방의 IPv6를 통해 MAC 주소를 알아내고 또한, 이를 바탕으로 상대방과의 통신을 가능하게 해준다.ICMPv6 메시지 중에서 NS(Neighbor Solicitation)와 NA (Neighbor advertisement)를 사용한다.

NDP 메세지 분류 표입니다.
분류 메시지 종류 Type값 Code 기능
Information Message Neighbor Solicitation 135 0 Neighbor Solicitation
Neighbor Advertisement 136 0 Neighbor Advertisement

A는 B와 통신하기 위하여 상대방의 MAC 및 링크 로컬 주소를 알아야 하기 때문에 A는 B에게 자신의 링크 로컬 주소를 기반으로 Solicited node multicast 그룹으로 NS 메시지를 전송한다.B는 NS 메시지를 전송 받은 후 A에서 요청한 MAC 및 링크 로컬 주소를 NA 메시지를 통하여 응답해준다. 이때 B는 A의 링크 로컬 주소를 알고 있기 때문에 출발지를 자신으로, 목적지를 A의 주소로 설정하여 메시지를 전송한다.A와 B가 서로의 정보를 모두 주고 받으면 IPv6 neighbor 정보에 MAC과 링크 로컬 주소가 등록되어 서로 통신이 가능하게 된다.

DAD(Duplicate Address Detection)

처음 인터페이스가 활성화된 호스트는 자신과 인접한 라우터의 존재 유무를 확인하고 해당 라우터와 통신하기 위해 스스로 링크 로컬주소를 생성한다. 이때 호스트는 링크상에 자신이 사용할 주소와 동일한 주소를 사용하는 장비가 존재하는지 확인하는 과정을 DAD 과정이라고 한다.

DAD

호스트 A는 EUI-64포맷을 바탕으로 링크 로컬 주소를 생성하고 이 주소에 대한 DAD과정을 수행하기 위해 NS 메시지를 전송한다. 이때 NS 메시지의 출발지 IPv6는‘::’(미 확정 주소)를 사용하며, 목적지 주소는 자신이 부여할 FE80::2:260:8FF:FE52:F9D8를 기반으로 한 FF02::1:FF52:F9D8 solicited node multicast 주소를 보낸다.링크 상에 동일한 주소를 사용하고 있는 장비가 없을 경우 응답 메시지가 전송되지 않으며, 동일 주소가 존재하는 장비가 있다면 NS 메시지에 대한 응답으로 NA 메시지를 전송한다.

Stateless Auto Configuration

Stateless Auto Configuration은 DHCP와 같이 별도의 설정이 없더라도 라우터와의 상호 작용으로 자동으로 글로벌 주소를 획득할 수 있는 기능이다.이 기능은 RS, RA의메시지로 이루어지며 EUI-64 포맷을 기반으로 형성된다.

Stateless Auto Configuration 메세지 분류 표입니다.
분류 메시지 종류 Type값 Code 기능
Information Message Router Solicitation 133 0 Router Solicitation
Router Advertisement 134 0 Router Advertisement
    • RS(Router Solicitation)
    • - 글로벌 주소를 생성하기 위하여 현재 라우터가 사용하고 있는 글로벌 prefix를 요청하는 메시지
    • - 출발지 주소는 자신의 링크 로컬 주소 혹은 미 확정 주소(::)를 이용하며 목적지 주소는 all router multicast 주소를 사용
    • RA(Router Advertisement)
    • - RS 메시지에 대한 응답메시지로 라우터 인터페이스에 설정된 글로벌 /64의 prefix 정보를 포함한 정보들을 제공
    • - 출발지 주소는 자신의 링크 로컬 주소를 이용하며, 목적지 주소는 all node multicast 주소를 사용
    • EUI-64
    • - MAC 주소 48비트를 기반으로 ‘FFFE’를 결합하여 전체 IPv6 크기 중 하위 64비트 부분인 인터페이스 ID정보를 생성하는 방식
    • - RS, RA 메시지를 이용한 /64의 프리픽스와 EUI-64 방식은 인터페이스 ID부분이 결합하여 IPv6 주소 설정