이웃 탐색 프로토콜
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
- 1. 개요
 - 2. 기능
- 2.1. 라우터 검색 (Router Discovery)
 - 2.2. 접두사 검색 (Prefix Discovery)
 - 2.3. 매개변수 검색 (Parameter Discovery)
 - 2.4. 주소 자동 구성 (Address Autoconfiguration)
 - 2.5. 주소 확인 (Address Resolution)
 - 2.6. 다음 홉 결정 (Next-hop Determination)
 - 2.7. 이웃 도달 불가능 감지 (NUD, Neighbor Unreachability Detection)
 - 2.8. 중복 주소 감지 (DAD, Duplicate Address Detection)
 - 2.9. 리디렉션 (Redirect)
 
 - 3. 프로토콜 메시지
 - 4. 예시
 - 5. RFC
 - 참조
 
1. 개요
이웃 탐색 프로토콜(NDP)은 IPv6 네트워크에서 노드 간의 통신을 위한 핵심 프로토콜로, 라우터 검색, 주소 자동 구성, 주소 확인 등 다양한 기능을 제공한다. NDP는 ICMPv6 패킷을 사용하여 링크 상의 라우터를 찾고, IP 주소를 자동으로 설정하며, 이웃 노드의 링크 계층 주소를 확인한다. 또한, 중복 주소 감지, 다음 홉 결정, 리디렉션 기능을 통해 네트워크 효율성을 높인다. NDP는 라우터 요청, 라우터 광고, 이웃 요청, 이웃 광고, 리디렉션 메시지 등 5가지 ICMPv6 메시지를 사용하며, RFC 4861에 정의되어 있다.
더 읽어볼만한 페이지
- IPv6 - 6LoWPAN
6LoWPAN은 저전력 무선 개인 영역 네트워크에서 IPv6 패킷 전송을 위한 기술 규격으로, 헤더 압축 및 단편화 기술을 통해 작은 MTU를 극복하여 다양한 IoT 환경에 적용되며, 관련 표준 문서에서 기본적인 틀과 기능들을 정의하고 있다. - IPv6 - ICMPv6
ICMPv6는 IPv6 네트워크에서 오류 보고 및 정보 제공을 담당하며, 주소 해결, 주소 자동 설정, 멀티캐스트 그룹 관리 등의 기능을 수행하는 필수적인 프로토콜이다. - 링크 프로토콜 - 프레임 릴레이
프레임 릴레이는 LAN 간 또는 WAN 종단점 간 데이터 전송을 위한 고속 패킷 교환 방식 통신 프로토콜로, X.25 프로토콜을 간소화하여 속도를 높이고, 영구 가상 회선을 통해 안정적인 연결을 제공하며, 서비스 품질 설정을 통해 프레임 우선순위를 지정할 수 있었으나, 현재는 다른 기술에 밀려 사용이 감소하고 있다. - 링크 프로토콜 - 데이터 링크 계층
데이터 링크 계층은 물리적 링크를 통해 연결된 호스트 간 데이터 프레임 전송을 담당하며, 주소 지정, 통신 경로 설정, 오류 제어, 흐름 제어 등의 서비스를 제공하여 데이터 전송의 신뢰성을 높이는 OSI 네트워크 아키텍처의 계층이다. - 인터넷 표준 - DNSSEC
DNSSEC는 DNS의 보안 취약점을 개선하기 위해 도메인 정보에 디지털 서명을 추가하여 응답 레코드의 무결성을 보장하고 DNS 위장 공격을 막는 기술로, RRSIG, DNSKEY 등 다양한 리소스 레코드 유형을 사용하여 인증 체인을 구성하며 공개 키 암호 방식을 활용한다. - 인터넷 표준 - IPv6
IPv6는 IPv4 주소 고갈 문제를 해결하고자 개발된 차세대 인터넷 프로토콜로, 128비트 주소 체계를 통해 사실상 무한대에 가까운 IP 주소를 제공하며, 주소 자동 설정, 패킷 처리 효율성 향상, 보안 기능 강화 등의 특징을 갖는다. 
| 이웃 탐색 프로토콜 | |
|---|---|
| 일반 정보 | |
| 유형 | 인터넷 프로토콜 | 
| 계층 | 인터넷 계층 | 
| RFC | RFC 1970 RFC 2461 RFC 4861  | 
| 관련 RFC | RFC 1122 RFC 3122 RFC 4389  | 
| 개발 | 인터넷 기술 특별 조사 위원회 | 
| 상세 정보 | |
| 목적 | IPv6를 위한 보조 프로토콜 | 
| OSI 모델 계층 | 네트워크 계층 | 
| 기반 | 없음 | 
| 영향 | 없음 | 
2. 기능
NDP는 ICMPv6 패킷 유형 5가지를 정의하여 다음과 같은 기능을 제공한다.
- 라우터 검색: 호스트가 연결된 링크 상에 있는 라우터를 찾는다.
 - 접두사 검색: 호스트가 연결된 링크의 주소 접두사를 찾는다.
 - 매개변수 검색: 호스트는 링크 MTU 등의 링크 매개변수를 찾는다.
 - 주소 자동 구성: 네트워크 인터페이스 주소를 선택적으로 상태 비저장 구성 방식으로 구성한다.
 - 주소 확인: IP 주소와 링크 계층 주소 간의 매핑을 수행한다.
 - 다음 홉 결정: 호스트는 대상에 대한 다음 홉 라우터를 찾는다.
 - 이웃 도달 불가능 감지(NUD): 링크에서 이웃에 더 이상 도달할 수 없음을 확인한다.
 - 중복 주소 감지(DAD): 노드는 주소가 이미 사용 중인지 확인한다.
 - 재귀 DNS 서버(RDNSS) 및 DNS 검색 목록(DNSSL) 할당: 라우터 공고(RA) 옵션을 통해 이루어진다. 2010년에 제안되었고, 2017년 3월에 업데이트되었으나 모든 클라이언트에서 지원되지는 않는다.
 - 리디렉션: 특정 대상에 대해 더 나은 다음 홉 경로를 제공하기 위해 패킷을 리디렉션한다.
 
IANA는 현재 게시된 모든 NDP 옵션 목록을 유지 관리한다.[1]
2. 1. 라우터 검색 (Router Discovery)
호스트는 연결된 링크 상에 있는 라우터를 찾을 수 있다. 호스트는 라우터 요청(Router Solicitation) 메시지를 보내고, 라우터는 라우터 광고(Router Advertisement) 메시지로 응답한다.2. 2. 접두사 검색 (Prefix Discovery)
호스트는 연결된 링크의 주소 접두사(Prefix)를 검색할 수 있다. 이를 통해 호스트는 자신의 IP 주소를 자동으로 구성할 수 있다.2. 3. 매개변수 검색 (Parameter Discovery)
호스트는 링크의 MTU나 홉 제한(Hop Limit)과 같은 네트워크 매개변수를 알 수 있도록 한다.[1]2. 4. 주소 자동 구성 (Address Autoconfiguration)
인터페이스에 IPv6 주소를 자동으로 설정하는 기능을 주소 자동 구성이라고 한다. 상태 비저장 주소 자동 구성(SLAAC) 방식을 사용한다.[1]2. 5. 주소 확인 (Address Resolution)
이웃 탐색 프로토콜(NDP)은 목적지 IPv6 주소에 해당하는 링크 계층 주소(MAC 주소)를 알아내는 데 사용된다. 이는 IPv4의 주소 결정 프로토콜(ARP)과 유사한 역할을 한다.사무실에 있는 두 대의 컴퓨터(컴퓨터 1과 컴퓨터 2)가 이더넷 케이블과 네트워크 스위치를 통해 근거리 통신망(LAN)으로 연결되어 있고, 중간에 게이트웨이나 라우터는 없다고 가정해 보자. 컴퓨터 1이 컴퓨터 2로 패킷을 보내려면 컴퓨터 2의 MAC 주소가 필요하다.
1. 컴퓨터 1은 DNS를 통해 컴퓨터 2의 IP 주소가 임을 확인한다.
2. 컴퓨터 1은 캐시된 NDP 테이블에 컴퓨터 2의 MAC 주소()에 대한 기존 레코드가 있는지 확인한다.
3. MAC 주소를 찾으면, IP 패킷을 포함하는 이더넷 프레임을 대상 주소 로 보낸다.
4. 캐시에 결과가 없으면, 컴퓨터 1은 다음 과정을 따른다.
- 컴퓨터 2 주소의 하위 24비트를 가져와 접두사 에 추가하여 요청 노드 멀티캐스트 주소 를 생성한다.
 - 컴퓨터 2의 요청 노드 멀티캐스트 주소의 하위 24비트를 가져와 접두사 '33:33:FF:xx:xx:xx'에 추가하여 요청 노드 멀티캐스트 MAC 주소 를 생성한다.[2]
 - IP 주소 (대상 IP 주소 및 대상 MAC 주소)에 대한 응답을 요청하는 이웃 요청(Neighbor Solicitation, NS, 유형 135) 메시지를 보낸다.
 
5. 로컬 네트워크에서 자체 요청 노드 멀티캐스트 주소를 수신하는 컴퓨터 2는 이웃 요청 메시지를 수락한다.
6. 컴퓨터 2는 MAC 및 IP 주소를 포함하는 이웃 공고(Neighbor Advertisement, NA, 유형 136) 메시지로 응답한다. 요청을 처리하는 과정에서 컴퓨터 2는 NDP 테이블에 컴퓨터 1에 대한 항목을 삽입할 수 있다.
7. 컴퓨터 1은 응답 정보를 수신하여 NDP 테이블에 캐싱하고 패킷을 보낼 수 있다.
이러한 과정을 통해 주소 확인 기능을 수행한다. 즉, 목적지 IP 주소만 알고 있을 때 링크 상의 목적지(예: 이웃)의 링크 계층 주소를 결정한다.
2. 6. 다음 홉 결정 (Next-hop Determination)
호스트는 목적지 IP 주소로 패킷을 전송하기 위해 해당 패킷을 전달해야 하는 다음 홉 라우터의 IP 주소를 결정한다. 이는 목적지 IP 주소를 이웃의 IP 주소로 매핑하는 과정이다.[1]2. 7. 이웃 도달 불가능 감지 (NUD, Neighbor Unreachability Detection)
이웃 도달 불가능 감지(NUD, Neighbor Unreachability Detection)는 이웃 노드(라우터 또는 다른 호스트)와 더 이상 통신할 수 없는 상태를 감지한다.[1] 이웃 요청 메시지를 사용하여 이웃의 링크 계층 주소를 확인하거나, 캐시된 링크 계층 주소를 통해 여전히 도달 가능한지 확인한다.2. 8. 중복 주소 감지 (DAD, Duplicate Address Detection)
노드는 중복 주소 감지(DAD)를 통해 사용하려는 주소가 다른 노드에 의해 사용되고 있지 않은지 확인한다.[1]2. 9. 리디렉션 (Redirect)
라우터는 특정 목적지에 대해 더 나은 첫 번째 홉 라우터를 호스트에게 알려줄 수 있다. 이를 통해 라우터는 호스트에게 특정 목적지에 도달하기 위한 더 나은 다음 홉 노드가 있음을 알린다.3. 프로토콜 메시지
NDP는 라우터 요청, 라우터 공고, 이웃 요청, 이웃 공고 및 네트워크 리디렉션을 위해 다섯 가지 ICMPv6 메시지 유형을 정의한다. 이러한 메시지들은 다음과 같은 기능을 수행한다.
- 라우터 검색: 호스트가 연결된 링크에 있는 라우터를 찾는다.
 - 접두사 검색: 호스트가 연결된 링크에 대한 온-링크 주소 접두사를 검색한다.
 - 매개변수 검색: 호스트가 링크 매개변수 (예: MTU)를 찾는다.
 - 주소 자동 구성: 네트워크 인터페이스 주소의 선택적 상태 비저장 구성.
 - 주소 확인: IP 주소와 링크 계층 주소 간의 매핑.
 - 다음 홉 결정: 호스트는 대상에 대한 다음 홉 라우터를 찾는다.
 - 이웃 도달 불가능 감지(NUD): 링크에서 이웃에 더 이상 도달할 수 없음을 확인한다.
 - 중복 주소 감지(DAD): 노드는 주소가 이미 사용 중인지 확인한다.
 - 라우터 공고(RA) 옵션을 통한 재귀 DNS 서버(RDNSS) 및 DNS 검색 목록(DNSSL) 할당.
 - 특정 대상에 대해 더 나은 다음 홉 경로를 제공하기 위한 패킷 리디렉션.
 
5가지 ICMPv6 메시지 유형과 그에 대한 설명은 다음과 같다.
| 메시지 유형 | 설명 | 
|---|---|
| 라우터 요청 (Type 133) | 호스트가 라우터에게 즉시 라우터 광고를 보내도록 요청한다. | 
| 라우터 광고 (Type 134) | 라우터가 자신의 존재와 링크 및 인터넷 매개변수를 알린다. | 
| 이웃 요청 (Type 135) | 이웃의 링크 계층 주소를 확인하거나, 캐시된 주소로 이웃에 도달 가능한지 확인한다. | 
| 이웃 광고 (Type 136) | 이웃 요청에 대한 응답, 또는 링크 계층 주소 변경을 알린다. | 
| 리디렉션 (Type 137) | 라우터가 호스트에게 더 나은 다음 전송 대상을 알린다. | 
3. 1. 라우터 요청 (Router Solicitation)
호스트는 연결된 링크에서 라우터를 찾기 위해 라우터 요청(ICMPv6 Type 133) 메시지를 사용한다. 네트워크 인터페이스가 사용 가능하게 되었을 때, 호스트는 라우터에게 라우터 요청 메시지를 보냄으로써, 다음 예정된 라우터 광고보다 먼저 즉시 라우터 광고를 수신할 수 있다.[1]3. 2. 라우터 광고 (Router Advertisement)
라우터 광고(ICMPv6 Type 134)는 라우터가 자신의 존재와 다양한 링크 및 인터넷 매개변수를 알리기 위해 주기적으로 또는 라우터 요청 메시지에 대한 응답으로 보내는 메시지이다. 라우터 광고 메시지는 다음과 같은 기능을 수행하는 데 사용된다.- 라우터 검색: 호스트가 연결된 링크에 있는 라우터를 찾을 수 있도록 한다.
 - 접두사 검색: 호스트가 연결된 링크에 대한 온-링크 주소 접두사를 검색할 수 있도록 한다.
 - 매개변수 검색: 호스트가 링크 매개변수 (예: MTU)를 찾을 수 있도록 한다.
 - 주소 자동 구성: 네트워크 인터페이스 주소의 선택적 상태 비저장 구성을 지원한다.
 - 주소 확인: IP 주소와 링크 계층 주소 간의 매핑을 제공한다.
 - 다음 홉 결정: 호스트가 대상에 대한 다음 홉 라우터를 찾을 수 있도록 한다.
 - 라우터 공고(RA) 옵션을 통한 재귀 DNS 서버(RDNSS) 및 DNS 검색 목록(DNSSL) 할당: 2010년 이후 제안된 표준이며, 2017년 3월에 업데이트되었지만 모든 클라이언트에서 지원되지는 않는다.
 
3. 3. 이웃 요청 (Neighbor Solicitation)
이웃 요청(Neighbor Solicitation)은 ICMPv6 유형 135에 해당하며, 노드가 이웃의 링크 계층 주소를 확인하거나 이웃이 여전히 도달 가능한지 확인하기 위해 사용한다.예를 들어, 사무실의 두 컴퓨터(컴퓨터 1과 컴퓨터 2)가 네트워크 스위치를 통해 근거리 통신망으로 연결되어 있고, 중간에 게이트웨이나 라우터는 없다고 가정하자. 컴퓨터 1이 컴퓨터 2로 메시지를 보내려면 컴퓨터 2의 MAC 주소가 필요하다. 컴퓨터 1은 먼저 캐시된 NDP 테이블을 확인하여 컴퓨터 2의 MAC 주소에 대한 기존 레코드가 있는지 확인한다.
만약 캐시에 해당 정보가 없다면, 컴퓨터 1은 컴퓨터 2 주소의 하위 24비트를 가져와 접두사 에 추가하여 요청 노드 멀티캐스트 주소를 생성한다. 이는 이다. 그리고 컴퓨터 2의 요청 노드 멀티캐스트 주소의 하위 24비트를 가져와 접두사 ''33:33:FF:xx:xx:xx''에 추가하여 요청 노드 멀티캐스트 MAC 주소를 생성한다.[2] 이는 이다.
그런 다음, 컴퓨터 1은 IP 주소 (대상 IP 주소 및 대상 MAC 주소)에 대한 응답을 요청하는 이웃 요청 메시지를 보낸다. 이 메시지는 로컬 네트워크에서 자체 요청 노드 멀티캐스트 주소를 수신하고 있는 컴퓨터 2에서 수락된다.
3. 4. 이웃 광고 (Neighbor Advertisement)
이웃 공고(Neighbor Advertisement, NA)는 ICMPv6 타입 136을 가지며, 이웃 요청(Neighbor Solicitation) 메시지에 대한 응답으로 전송된다. 노드는 링크 계층 주소 변경을 알리기 위해 요청받지 않은 이웃 공고를 보낼 수도 있다.예를 들어, 컴퓨터 1이 컴퓨터 2로 메시지를 보내려면 컴퓨터 2의 MAC 주소가 필요하다. 컴퓨터 1은 이웃 요청 메시지를 보내고, 컴퓨터 2는 자신의 MAC 주소와 IP 주소를 포함하는 이웃 공고 메시지로 응답한다. 이 과정에서 컴퓨터 2는 향후 사용을 위해 컴퓨터 1에 대한 정보를 자신의 NDP 테이블에 추가할 수 있다.
3. 5. 리디렉션 (Redirect)
리디렉션(Redirect)은 ICMPv6 유형 137을 사용하며, 라우터가 특정 대상에 대해 더 나은 다음 홉 라우터를 호스트에게 알려주기 위해 사용된다. --4. 예시
사무실의 두 대의 컴퓨터(컴퓨터 1과 컴퓨터 2)는 이더넷 케이블과 네트워크 스위치를 통해 서로 근거리 통신망으로 연결되어 있으며, 중간에 게이트웨이나 라우터는 없다. 컴퓨터 1에는 컴퓨터 2로 보낼 패킷이 있다. DNS를 통해 컴퓨터 2가 IP 주소를 가지고 있음을 확인한다.
메시지를 보내기 위해 컴퓨터 2의 MAC 주소도 필요하다. 먼저, 컴퓨터 1은 캐시된 NDP 테이블을 사용하여 컴퓨터 2의 MAC 주소에 대한 기존 레코드가 있는지 확인한다. MAC 주소를 찾으면 IP 패킷을 포함하는 이더넷 프레임을 대상 주소를 사용하여 링크로 보낸다. 캐시에서 결과를 생성하지 못한 경우 컴퓨터 1은 컴퓨터 2의 주소의 하위 24비트를 가져와 접두사에 추가하여 요청 노드 멀티캐스트 주소를 생성해야 한다. 이는 이며, 컴퓨터 2의 요청 노드 멀티캐스트 주소의 하위 24비트를 가져와 접두사 ''33:33:FF:xx:xx:xx''에 추가하여 요청 노드 멀티캐스트 MAC 주소를 생성해야 한다.[2] 이는 이며, IP 주소 (대상 IP 주소 및 대상 MAC 주소)에 대한 응답을 요청하는 이웃 요청 메시지를 보낸다. 이 메시지는 로컬 네트워크에서 자체 요청 노드 멀티캐스트 주소를 수신하고 있는 컴퓨터 2에서 수락된다.
컴퓨터 2는 MAC 및 IP 주소를 포함하는 이웃 알림 메시지로 응답한다. 요청을 처리하는 과정에서 컴퓨터 2는 향후 사용을 위해 NDP 테이블에 컴퓨터 1에 대한 항목을 삽입할 수 있다.
컴퓨터 1은 응답 정보를 수신하여 NDP 테이블에 캐싱하고 이제 패킷을 보낼 수 있다.
5. RFC
IANA는 현재 게시된 모든 NDP 옵션 목록을 유지 관리한다.[1]
- Neighbor Discovery for IPv6영어
 
참조
[1] 
웹사이트
 
IPv6 Neighbor Discovery Option Formats
 
https://www.iana.org[...] 
Internet Assigned Numbers Authority
 
2017-12-16
 
[2] 
웹사이트
 
IPv6 Real-Time Usage of IEEE 802.16: Problem Statement
 
https://www.ietf.org[...] 
2023-09-22
 
                        
                        본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다. 
                        모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
                        하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다. 
                        따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
                        
                        문의하기 : help@durumis.com