IT

IPv6 Neighbor Discovery Protocol(NDP) 완전 정복

사아칸그넘 2025. 4. 14. 16:41

1. NDP란 무엇인가?

Neighbor Discovery Protocol (NDP)는 IPv6 네트워크에서 필수적인 프로토콜로,
IPv4에서 사용되던 ARP, ICMP Router Discovery, Redirect 기능을 대체합니다.

간단히 말하면,

NDP = 이웃 장비 찾기 + 라우터 찾기 + 주소 설정 + 경로 최적화를 모두 담당하는 프로토콜입니다.

RFC 4861에 정의되어 있으며, ICMPv6 메시지를 기반으로 동작합니다.


2. NDP의 주요 역할

  • 이웃 탐색 (Neighbor Discovery): 같은 링크(네트워크)에 있는 다른 장비를 찾음
  • 주소 자동 설정 (Stateless Address Autoconfiguration): 장비가 스스로 IP 주소를 설정하도록 지원
  • 라우터 탐색 (Router Discovery): 네트워크의 라우터를 찾아 기본 게이트웨이로 설정
  • 이웃 가용성 확인 (Neighbor Unreachability Detection): 통신 중 연결 상태를 지속적으로 확인
  • 경로 최적화 (Redirect): 더 나은 경로를 알려줌

3. NDP에서 사용하는 메시지 타입

NDP는 5가지 ICMPv6 메시지를 사용합니다.


 

메시지 역할 설명
Router Solicitation (RS) 라우터 요청 클라이언트가 네트워크에 라우터가 있는지 문의
Router Advertisement (RA) 라우터 광고 라우터가 네트워크 정보를 광고 (Prefix, DNS 등)
Neighbor Solicitation (NS) 이웃 요청 MAC 주소를 얻기 위해 전송 (IPv4의 ARP 요청 역할)
Neighbor Advertisement (NA) 이웃 광고 NS에 응답하여 MAC 주소 제공 (IPv4의 ARP 응답 역할)
Redirect 경로 변경 알림 더 좋은 경로가 있음을 클라이언트에게 알려줌

4. NDP 동작 흐름

  1. 장비가 부팅되면Router Solicitation (RS) 전송
  2. 라우터가 응답Router Advertisement (RA) 수신
  3. 장비는 RA 기반으로 SLAAC 또는 DHCPv6 설정
  4. 이웃과 통신 시Neighbor Solicitation (NS) 전송하여 MAC 주소 확인
  5. 이웃 장비가 응답Neighbor Advertisement (NA) 수신
  6. 라우터가 필요 시Redirect 메시지로 최적 경로 안내

5. NDP의 보안 이슈

NDP는 초기 설계 시 보안 강화가 충분히 고려되지 않아, 다양한 공격이 발생할 수 있습니다.

주요 공격 유형

  • Neighbor Spoofing: 가짜 Neighbor Advertisement로 트래픽을 가로챔
  • Router Advertisement Flooding: 악성 RA 메시지로 네트워크 마비
  • Redirect 공격: 트래픽을 악성 경로로 유도

대응 방법

  • RA Guard 설정: 스위치나 방화벽에서 악성 RA 차단
  • DHCPv6 Guard 적용: 합법적 DHCPv6 서버만 통신 허용
  • SeND (Secure Neighbor Discovery) 사용: 암호화 기반 NDP 보안 강화 (다만 실제 도입률은 낮음)

6. 실전 예시: NDP 문제 트러블슈팅

문제: "IPv6 환경에서 특정 장비로 핑이 가지 않는다."

점검 순서

  1. 해당 장비의 링크-로컬 주소 확인
  2. ip -6 neighbor 또는 show ipv6 neighbors 명령어로 Neighbor Table 확인
  3. NS/NA 메시지 수신 여부 분석 (Wireshark 사용)
  4. 필요 시 수동으로 Neighbor Cache 초기화 후 재확인

7. 결론

NDP는 IPv6 네트워크의 숨은 주역입니다.
주소 설정, 라우터 탐색, 이웃 확인까지 자동으로 처리해 주지만, 보안 위협에 노출될 수 있으니 RA Guard, DHCPv6 Guard와 같은 보안 기능을 함께 적용하는 것이 중요합니다.

NDP를 이해하면 IPv6 네트워크 트러블슈팅 능력이 크게 향상됩니다.