Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

IPv6 주소 지정

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

GitHub에서 소스 보기

Thread가 네트워크에서 각 기기를 식별하는 방법과 서로 통신하는 데 사용하는 주소 유형을 살펴보겠습니다.

범위

OT 범위

유니캐스트 주소를 위한 스레드 네트워크에는 세 가지 범위가 있습니다.

  • Link-Local — 단일 무선 전송으로 연결 가능한 모든 인터페이스
  • Mesh-Local — 동일한 스레드 네트워크 내에서 연결 가능한 모든 인터페이스
  • 전역 — 스레드 네트워크 외부에서 연결할 수 있는 모든 인터페이스

처음 두 범위는 스레드 네트워크에서 지정한 접두사에 해당합니다. Link-Local에는 fe80::/16의 프리픽스가 있으며 Mesh-Local에는 fd00::/8의 프리픽스가 있습니다.

Unicast

단일 스레드 기기를 식별하는 IPv6 유니캐스트 주소가 여러 개 있습니다. 범위와 사용 사례에 따라 각각 다른 기능이 있습니다.

각 유형을 자세히 살펴보기 전에 라우팅 로케이터 (RLOC)라고 하는 일반적인 유형에 관해 자세히 알아보겠습니다. RLOC는 네트워크 토폴로지의 위치를 기반으로 스레드 인터페이스를 식별합니다.

라우팅 로케이터가 생성되는 방법

모든 기기에 라우터 ID 및 하위 ID가 할당됩니다. 각 라우터는 토폴로지 내에서 기기를 고유하게 식별하는 모든 하위 요소의 테이블을 유지합니다. 예를 들어 다음 토폴로지에서 강조표시된 노드를 가정해 보겠습니다. 여기서 라우터의 번호 (오각형)는 라우터 ID이고 최종 기기 (원)의 번호는 하위 ID입니다.

OT RLOC 토폴로지

각 하위 요소의 라우터 ID는 상위 요소 (라우터)에 해당합니다. 라우터는 하위 요소가 아니므로 라우터의 하위 ID는 항상 0입니다. 이러한 값은 스레드 네트워크의 각 기기에 고유하며 RLOC의 마지막 16비트를 나타내는 RLOC16을 만드는 데 사용됩니다.

예를 들어 다음은 RLOC16을 왼쪽 상단 노드 (라우터 ID = 1 및 하위 ID = 1)에 대해 계산하는 방법입니다.

OT RLOC16

RLOC16은 IPv6 주소의 마지막 64비트에 해당하는 인터페이스 식별자 (IID)의 일부입니다. 일부 IID는 일부 유형의 스레드 인터페이스를 식별하는 데 사용될 수 있습니다. 예를 들어 RLOC의 IID는 항상 다음과 같은 형식입니다.

0000:00ff:fe00:RLOC16

IID와 메시-로컬 접두사를 함께 사용하면 RLOC가 생성됩니다. 예를 들어 fde5:8dba:82e1:1::/64의 Mesh-Local Prefix를 사용하는 경우, RLOC16 = 0x401인 노드의 RLOC는 다음과 같습니다.

OT RLOC

이 동일한 로직을 사용하여 위의 샘플 토폴로지에서 강조표시된 모든 노드의 RLOC를 확인할 수 있습니다.

주소가 있는 OT 토폴로지

그러나 RLOC는 토폴로지의 노드 위치를 기반으로 하므로 토폴로지가 변경될 때 노드의 RLOC가 변경될 수 있습니다.

예를 들어 스레드 네트워크에서 0x400 노드가 삭제될 수 있습니다. 노드 0x4010x402는 서로 다른 라우터에 대한 새 링크를 설정하며, 따라서 각각 새 RLOC16 및 RLOC가 할당됩니다.

변경 후 OT 토폴로지

Unicast 주소 유형

RLOC는 스레드 기기에 포함될 수 있는 여러 IPv6 유니캐스트 주소 중 하나일 뿐입니다. 주소의 또 다른 카테고리인 스레드 식별자 (EID)는 스레드 네트워크 파티션 내의 고유한 스레드 인터페이스를 식별합니다. EID는 스레드 네트워크 토폴로지와는 별개입니다.

일반적인 유니캐스트 유형은 아래에 자세히 설명되어 있습니다.

단일 무선 전송으로 연결 가능한 스레드 인터페이스를 식별하는 EID입니다.
fe80::54db:881c:3845:57f4
IID802.15.4 확장 주소 기준
범위로컬-링크
세부정보
  • 이웃을 탐색하고 링크를 구성하며 라우팅 정보를 교환하는 데 사용됩니다.
  • 라우팅할 수 없는 주소
  • 항상 fe80::/16 프리픽스 포함

Mesh-Local EID (ML-EID)

네트워크 토폴로지와는 관련이 없는 스레드 인터페이스를 식별하는 EID. 같은 스레드 파티션 내의 스레드 인터페이스에 연결하는 데 사용됩니다. 고유한 지역 주소 (ULA)라고도 합니다.
fde5:8dba:82e1:1:416:993c:8399:35ab
IID임의, 의뢰 완료 후 선택됨
범위메시-로컬
세부정보
  • 토폴로지가 변경되어도 변경되지 않음
  • 애플리케이션에서 사용해야 함
  • 항상 fd00::/8 프리픽스 포함

라우팅 로케이터 (RLOC)

네트워크 토폴로지의 위치를 기반으로 스레드 인터페이스를 식별합니다.
fde5:8dba:82e1:1::ff:fe00:1001
IID0000:00ff:fe00:RLOC16
범위메시-로컬
세부정보
  • 기기가 네트워크에 연결되면 생성됩니다.
  • 스레드 네트워크 내에서 IPv6 데이터그램 전달
  • 토폴로지가 변경됨에 따라 변경되는 사항
  • 일반적으로 애플리케이션에서 사용하지 않음

Anycast Locator (ALOC)

대상의 RLOC를 알 수 없는 경우 RLOC 조회를 통해 스레드 인터페이스를 식별합니다.
fde5:8dba:82e1:1::ff:fe00:fc01
IID0000:00ff:fe00:fcXX
범위메시-로컬
세부정보
  • fcXX = 적절한 RLOC를 찾는 ALOC 대상
  • 일반적으로 애플리케이션에서 사용하지 않음

Global Unicast Address (GUA)

스레드 네트워크를 넘어 전역 범위에서 스레드 인터페이스를 식별하는 EID입니다.
2000::54db:881c:3845:57f4
IID
  • SLAAC — 기기 자체에서 무작위로 할당
  • DHCP — DHCPv6 서버에서 할당됨
  • 수동 — 애플리케이션 레이어에서 할당함
범위글로벌
세부정보
  • 공개 IPv6 주소
  • 항상 2000::/3 프리픽스 포함

멀티캐스트

멀티캐스트는 정보를 한 번에 여러 기기에 전달하는 데 사용됩니다. 스레드 네트워크에서 특정 주소는 범위에 따라 다른 기기 그룹과 함께 멀티캐스트에 사용하도록 예약됩니다.

IPv6 주소 범위 받는사람:
ff02::1 로컬-링크 모든 FTD 및 MED
ff02::2 로컬-링크 모든 FTD
ff03::1 메시-로컬 모든 FTD 및 MED
ff03::2 메시-로컬 모든 FTD

Sleepy End 기기 (SED)가 위의 멀티캐스트 테이블에 수신자로 포함되지 않을 수 있습니다. 대신 스레드는 SED를 비롯하여 모든 스레드 노드에 사용되는 링크-로컬 및 영역-로컬 범위 유니캐스트 프리픽스 기반 IPv6 멀티캐스트 주소를 정의합니다. 이러한 멀티캐스트 주소는 유니캐스트 메시-로컬 프리픽스에 빌드되어 있으므로 스레드 네트워크에 따라 다릅니다 (unicast-prefix 기반 IPv6 멀티캐스트 주소에 대한 자세한 내용은 RFC 3306 참조).

이미 나열된 범위를 제외한 임의의 범위는 스레드 기기에도 지원됩니다.

Anycast

Anycast는 대상의 RLOC를 알 수 없는 경우 스레드 인터페이스로 트래픽을 라우팅하는 데 사용됩니다. Anycast Locator (ALOC)는 스레드 파티션 내에서 여러 인터페이스의 위치를 식별합니다. ALOC16이라고 하는 ALOC의 마지막 16비트는 ALOC 유형을 나타내는 0xfcXX 형식입니다.

예를 들어 0xfc010xfc0f 사이의 ALOC16은 DHCPv6 에이전트용으로 예약되어 있습니다. 네트워크 토폴로지가 변경되어 특정 DHCPv6 에이전트 RLOC를 알 수 없는 경우 RLOC를 확보하기 위해 DHCPv6 에이전트 ALOC로 메시지를 보낼 수 있습니다.

스레드는 다음 ALOC16 값을 정의합니다.

ALOC16 유형
0xfc00 선두
0xfc01~0xfc0f DHCPv6 에이전트
0xfc10~0xfc2f 서비스
0xfc30~0xfc37 협회 회장
0xfc40~0xfc4e 인접 탐색 에이전트
0xfc38~0xfc3f
0xfc4f~0xfcff
예약됨

요약

알게 된 점:

  • 스레드 네트워크는 링크-로컬, 메시-로컬, 전역의 세 가지 범위로 구성됩니다.
  • 스레드 기기에 여러 유니캐스트 IPv6 주소가 있음
    • RLOC는 스레드 네트워크의 기기 위치를 나타냅니다.
    • ML-EID는 파티션 내의 스레드 기기마다 고유하며 애플리케이션에서 사용해야 합니다.
  • 스레드가 멀티캐스트를 사용하여 노드 및 라우터 그룹에 데이터를 전달합니다.
  • 대상의 RLOC를 알 수 없는 경우 스레드가 Anycast를 사용합니다.

스레드의 IPv6 주소 지정에 관한 자세한 내용은 스레드 사양의 섹션 5.2 및 5.3을 참고하세요.

이해도 테스트

스레드 네트워크에서 유니캐스트 주소 지정에 사용되는 세 가지 범위는 무엇인가요?
비공개
틀렸습니다.
인터페이스-로컬
틀렸습니다.
로컬-링크
정답입니다.
사이트 로컬
틀렸습니다.
메시-로컬
정답입니다.
글로벌
정답입니다.
기기에 자녀의 ID가 0인 경우 이는 어떤 의미인가요?
기기가 자녀 기기입니다.
틀렸습니다.
기기가 REED입니다.
정답은 아니지만 정답이 아닙니다.
기기가 라우터입니다.
정답입니다. 라우터의 하위 ID는 항상 0입니다.
스레드 네트워크의 노드인 카메라가 새로운 RLOC16과 RLOC를 수신합니다. 다음 중 어떤 원인이 원인이 되었을까요?
누군가 카메라에서 원격으로 이미지를 다운로드했습니다.
틀렸습니다. 이 이벤트는 스레드 네트워크에 영향을 주지 않습니다.
라우터가 네트워크에서 분리되었습니다.
정답입니다. 라우터가 네트워크에서 중단되면 네트워크 토폴로지가 변경되며, 이로 인해 기기가 라우터로 자체 승격되고 새 RLOC가 발생할 수 있습니다.
카메라가 절전 모드로 전환되어 네트워크 토폴로지가 변경되었습니다.
틀렸습니다. 절전 모드로 전환되더라도 기기가 반드시 새 네트워크 주소를 수신하지는 않습니다.
스레드 네트워크의 기기는 ff03::2 멀티캐스트 주소를 구독합니다. 기기에 관한 정보는 무엇인가요?
최소 대상 기기 (MED)입니다.
틀렸습니다.
풀 엔드 기기 (FED)입니다.
틀렸습니다. 힌트: FED일 수도 있고 아닐 수도 있습니다.
최소 스레드 기기 (MTD)입니다.
틀렸습니다.
FTD (Full Thread Device)입니다.
정답입니다. 전체 스레드 기기만 ff03::2 멀티캐스트 주소를 구독합니다. 메시-로컬 범위에서도 가능합니다.
스레드가 노드 및 라우터 그룹에 데이터를 전달하는 데 사용하는 주소 지정 및 라우팅 유형은 무엇인가요?
유니캐스트
틀렸습니다.
Anycast
틀렸습니다.
멀티캐스트
정답입니다.
방송
틀렸습니다.
의도된 메시지 수신자의 RLOC를 알 수 없는 경우 스레드 유형이 사용하는 유형의 주소 지정 및 라우팅은 무엇인가요?
유니캐스트
틀렸습니다.
Anycast
정답입니다. Anycast를 사용하면 기기에서 ALOC 주소를 지정하여 RLOC를 알 수 없는 노드에 연결할 수 있습니다.
멀티캐스트
틀렸습니다.
방송
틀렸습니다.