최근 회사에서 Thread protocol로 플젝을 진행했습니다. 다행히 내부 네트워크만 구성하는것이라 st의 예제로 어렵지않게 구현할 수 있었네요. 네트워크의 topology는 full mesh입니다. router는 leader router를 포함한 32개였습니다. Thread 표준으로 한 partition에서의 router max는 32개인데, 회사에서 이를 준수한것으로 보입니다.

 

Thread 프로토콜을 이해하기 위해서는 아래 페이지를 반드시 참고하셔야 합니다. 비교적 최근에 개발된 프로토콜이기에 자료가 생각보다 많이 없다고 느끼실 수 있습니다.

 https://openthread.io/

 

OpenThread

An open foundation for the connected home.

openthread.io

 

 이제부터 중요한 개념만 설명하겠습니다. 물론 틀린 설명이 있을수도 있습니다. 그렇다면 댓글로 정정해주시길 부탁드립니다.

 

 총 두가지로 나누어 설명할 수 있겠네요. 

1. router type에 따른 설명

2 device type에 따른 설명

 

 첫째로, router type에 따른 설명입니다. 

 Thread network는 32개의 router로 형성됩니다. 그리고 1개의 router는 511개의 end device를 가질 수 있습니다. 이론적으로는 하나의 network에는 32 x 511 만큼의 디바이스가 있을 수 있죠. 

 

 router를 좀 더 구분하자면 다음과 같습니다.

 Leader router, normal router 그리고 border router.

 Leader router는 반드시 1개만 존재합니다. 이에 따라1개의 Leader router와 31개의 normal router로 이루어집니다.

 

 border router는 외부 네트워크와 통신하기 위한 일종의 게이트웨이 역할입니다. 사실 Thread는 IPv6 기반입니다. 따라서 다른 IPv4 기반의 외부 네트워크와 통신하기 위한 게이트웨이가 필요한것이라고 이해하고 있습니다. 엄연히 IPv6와 IPv4는 다른 프로토콜이니깐요. 

 다시 border router에 대해 설명하자면, 네트워크상에서 여러개 존재할 수 있습니다. Leader router가 border router 롤을 수행할 수도 있고, normal router가 border router 롤을 수행할 수도 있다는 얘기인거죠.

 

 둘째로, Device type에 따른 설명입니다.

 device는 FTD와 MTD로 나눌 수 있습니다. FTD는 Full Thread Device이고 MTD는 Minimal Thread Device입니다. full과 minimal을 통해서 기능상의 차이점을 의미하는것이라고 보면 됩니다.

 FTD는 end device역할을 할 수도 있고 router역할을 수행할 수도 있습니다. end device를 수행하는 디바이스를 FED(full end device), router역할도 수행할 수 있는 디바이스를 REED(Router Eligible end end device)라고 합니다.

 MTD는 MED(minimal end device), SED(sleepy end device)로 나눌 수 있습니다. MED는 항상 tranceive를 하는 디바이스고 SED는 평소에는 disabled였다가 특정 경우에 폴링하기 위해 깨어나는 디바이스입니다.

 

 위 내용을 숙지한 상태면 Thread 네트워크를 이해하기 위한 준비는 대강 끝났습니다. 다음 게시글에서는 ST의 보드와 예제 코드를 이용하여 실제 동작을 설명하도록 하겠습니다.  

 

 

 

'전기전자 > STM32' 카테고리의 다른 글

STM32WB55RG 이벤트 등록 메커니즘  (0) 2022.01.02

+ Recent posts