IPv6
Internet Protocol version 6 · IP 버전 6
는 128비트 주소와 40바이트 기본 헤더를 사용하는 인터넷 계층 프로토콜이다. 와 함께 사용할 수 있지만 주소 해석·자동 설정·조각화 방식이 달라 규칙을 그대로 적용하지 않는다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- 넓은 주소 공간과 프리픽스로 장치·을 식별하고 을 수행한다.
- 사슬로 기본 헤더와 확장 헤더·상위 프로토콜의 역할을 연결한다.
- ICMPv6·ND와 연동해 ·라우터 발견·경로 처리를 수행한다.
02어떤 순서로 동작하나
- 링크 로컬 주소 준비
인터페이스가 링크 로컬 주소를 구성하고 로 중복을 검사한다. 넓은 주소 공간 자체가 충돌 부재를 보장하지는 않는다.
- 라우터 광고 수신
호스트가 를 보내거나 주기적인 를 기다린다. 의 프리픽스와 라우터 정보는 서로 다른 역할로 읽는다.
- SLAAC 주소 생성
Prefix Information의 autonomous 플래그와 적절한 프리픽스 조건을 만족하면 인터페이스 식별자를 결합한다. 생성한 주소는 바로 확정된 주소로 취급하지 않는다.
- 중복 검사와 사용
tentative 주소의 결과를 확인한 뒤 사용한다. 주소 생성과 기본 게이트웨이 발견은 같은 필드 하나로 완료되는 과정이 아니다.
- 헤더와 다음 홉 결정
송신자는 40바이트 기본 헤더와 필요한 확장 헤더를 구성하고 경로표로 다음 홉을 정한다. 다음 홉의 링크 주소는 ND로 알아내며, 원격 목적지의 MAC을 인터넷 전체에서 찾지 않는다.
- 홉 전달과 최종 처리
라우터는 을 줄이고 다음 링크로 전달한다. 출구 를 넘으면 라우터가 임의로 단편화하지 않고 Packet Too Big으로 알릴 수 있으며, 최종 목적지는 필요한 재조립 후 상위 프로토콜로 넘긴다.
03먼저 알아둘 용어와 구성요소
- 한 링크 범위의 통신에 사용하는 주소로 인터페이스 범위 정보가 중요하다.
- 다음에 오는 확장 헤더 또는 상위 계층 프로토콜을 식별하는 필드다.
- 패킷이 라우터를 지날 때 감소하는 8비트 값이다. TTL과 비슷한 전달 루프 제한 역할을 한다.
- 대상 주소 하위 24비트를 이용해 만드는 링크 로컬 멀티캐스트 그룹이다.
- 기본 헤더 40바이트를 제외한 뒤쪽 길이를 나타내는 필드다. 점보그램은 별도 조건과 옵션을 사용한다.
- 같은 흐름의 패킷을 식별하는 데 사용하는 헤더의 20비트 값이다.
- 하나의 링크 안에서만 사용하는 주소다. 라우터가 다른 링크로 그대로 전달하지 않는다.
- 주소의 하위 24비트를 이용해 만드는 멀티캐스트 그룹이다. ND가 특정 주소의 이웃을 찾는 데 사용한다.
- Duplicate Address Detection이다. 주소 사용 전에 같은 링크의 중복 주소 여부를 검사하는 과정이다.
- Router Advertisement다. 라우터가 링크의 프리픽스와 기본 라우터 관련 정보 등을 알리는 ICMPv6 메시지다.
- Router Solicitation이다. 호스트가 라우터에게 를 보내 달라고 요청하는 ICMPv6 메시지다.
- Neighbor Solicitation이다. 이웃의 링크 계층 주소 확인이나 도달 가능성 검사, 에 사용하는 ICMPv6 메시지다.
- Neighbor Advertisement다. 이웃의 링크 계층 주소와 상태를 알리는 ICMPv6 메시지다.
실습: IPv6 인터페이스와 RIPng 패킷 구분
인터페이스 주소와 업데이트에서 링크 로컬·멀티캐스트· 포트의 역할을 나눈다.
실습 구성과 전제
- Loopback 출력과 캡처는 별도 연습의 관찰 예다. 동일 라우터의 연속 실행으로 해석하지 않는다.
- 재구성 설정은 문서용 2001:db8::/32를 사용한다.
주소 설정과 라우팅 활성화 구분
- 주소 보유와 인터페이스 사이의 전달은 별개다. 라우터 기능에는 unicast-routing을 설정한다.
- show interface brief에서 링크 로컬과 설정 주소를 따로 읽는다. 링크 로컬은 같은 링크의 인접 통신에 사용한다.
textipv6 unicast-routing interface Loopback0 ipv6 address 2001:db8:1::1/64 end show ipv6 interface brief show ipv6 route주소를 문서용으로 바꾼 재구성 예시
원본 크기로 보기 ↗- Loopback0에 [up/up]이 보인다.
- FE80::로 시작하는 주소와 다른 IPv6 주소가 두 줄로 표시된다.
확인 기준up/up과 주소 확인 뒤 원격 목적지의 경로표도 확인한다.
RIPng 참여 인터페이스 지정
- 클래식 IOS의 LAB enable은 해당 인터페이스를 에 참여시킨다. 의 network 명령과 구분한다.
- 가 있어도 주소·PVC 매핑·링크 동작이 준비되지 않으면 피어와 업데이트를 교환하지 못한다.
textipv6 router rip LAB interface Serial1/0.123 ipv6 rip LAB enable end show ipv6 rip show ipv6 route rip주소·PVC가 준비된 IOS 연습망에서 사용하는 예시
확인 기준실제 링크에 업데이트가 있는지 확인한다.
동일 링크의 IPv4와 IPv6 제어 구분
- 캡처에 Hello와 RIPng가 함께 보인다. 물리 링크 하나가 여러 프로토콜을 운반할 수 있다.
- RIPng는 521→521, 목적지 ff02::9, Response다. Version 1을 RIPv1 또는 RIPv3라는 이름으로 바꾸지 않는다.
textWireshark 표시 필터: ripng 비교: ipv6 && udp.port == 521실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.
원본 크기로 보기 ↗- RIPng·OSPF Hello·Q.933 상태 메시지가 같은 목록에 있다.
- 선택한 UDP Source/Destination Port는 모두 521이며 목적지는 ff02::9다.
확인 기준RIPng의 ff02::9와 for 의 ff02::a를 혼동하지 않는다.
실습에서 확인한 동작 원리
- 주소 설정· 활성화·프로토콜 참여는 각각 다른 단계다.
- 이름이나 숫자를 외우기보다 패킷 필드로 실제 프로토콜을 확인한다.
동작·명령 참고 문서
04예제로 따라가기
- 대상의 유니캐스트 주소를 2001:db8::1234:5678로 잡는다. 전체 128비트 중 마지막 24비트는 0x345678이다. ff02::1:ff00:0/104의 마지막 24비트에 0x345678을 넣으면 ff02::1:ff34:5678이 된다. 이 그룹을 이용해 같은 링크의 해당 주소 소유자를 찾는다.
- 멀티캐스트를 에 싣는 규칙은 33:33 뒤에 목적지의 마지막 32비트를 붙이는 것이다. 결과는 33:33:ff:34:56:78이다. 하위 24비트가 같은 여러 주소는 같은 그룹에 속할 수 있다. 의 Target Address 전체를 읽어 실제 대상인지 구분해야 한다.
- 목적지와 목적지가 위 대응인지, ICMPv6 안의 Target Address가 원래 유니캐스트 주소인지 함께 본다. 그룹 주소 자체가 이웃 캐시에 저장할 유니캐스트 IP는 아니다.
05혼동하기 쉬운 점과 확인 기준
- 주소의 Preferred/Valid Lifetime, 온링크 프리픽스 정보의 수명, Default Router Lifetime은 별도로 관리된다. 주소가 유효해도 기본 라우터 항목만 만료될 수 있다.
- Prefix Information의 L은 해당 프리픽스에 대한 온링크 판단과 연결된다. L이 0이라는 사실만으로 그 프리픽스가 반드시 오프링크라는 선언으로 해석하지 않는다.
- A는 해당 프리픽스를 SLAAC 주소 형성에 사용할 수 있음을 나타낸다. A와 L은 독립적이므로 주소 자동 생성과 이웃에게 직접 전송할지의 판단을 구분한다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.