디지털 전환과 앰비언트

쓰레드(Thread) 프로토콜에 대한 모든 것 본문

지능형 사물인터넷과 앰비언트 컴퓨팅

쓰레드(Thread) 프로토콜에 대한 모든 것

IOT전략연구소 2021. 8. 9. 15:50
728x90

최근 통합 스마트홈 연동 표준인 매터(Matter Standard)에 대한 관심이 커지면서 매터에서 기본 통신 프로토콜로 언급하고 있는 쓰레드에 대한 관심도 커지는 것 같습니다. 하지만, 2015년에 쓰레드 프로토콜이 발표된 이래 아직까지 커다란 관심을 받지 못했던 터라, 관련된 자료도 많지 않은 것 같습니다. 그래서, 저도 공부할 겸해서 쓰레드에 대한 내용들을 하나씩 정리해 볼 까 합니다. 

 

IP 기반의 저전력 무선 메쉬 네트워크 프로토콜

 

쓰레드는 "IP 기반의 저전력 무선 메쉬 네트워크 프로토콜"이라는 말로 설명됩니다. 즉, 쓰레드의 대표적인 특징은 1) IP를 기반으로 동작한다 2) 저전력 무선 통신 기술이다 3) 메쉬 네트워크 기술이다. 라는 거죠. 이 말은 사물인터넷 디바이스 같은 저전력 디바이스들을 확장성 있고 안전하고 신뢰할 수 있는 방식으로 이용할 수 있게 해 준다는 말로 해석할 수 있습니다. 이 외에 또 하나의 특징을 말하자면 지그비나 지웨이브처럼 별도의 게이트웨이나 변환 장치를 필요로 하지 않기 때문에 장비 구성을 심플하게 할 수 있다. (그렇다고 해서 별도의 장치가 없어도 되는 것은 아니다. 나중에 다시 설명하겠지만, 기존의 와이파이 허브나 스마트 스피커가 이런 기능을 해주어야 한다.)

 

쓰레드 스택 구조 (이미지 출처: 쓰레드그룹 홈페이지)

 

위의 그림은 쓰레드 프로토콜의 스택 구조를 보여주는데, 쓰레드 프로토콜은 TCP·UDP/IP 기술이며 IP 기술 중에서도 저속 저전력 환경에 적합한 IPv6를 이용한다. 따라서, 6LoWPAN을 지원한다. 또한, 실제 디바이스가 송출하는 신호도 저속 저전력 특성을 갖아야 하기 때문에 지그비에 사용되는 IEEE 802.15.4 표준을 그대로 이용한다. 이 말은 지그비 장치에서 지그비 소프트웨어 대신 쓰레드 소프트웨어를 이용하면 지그비 장치를 쓰레드 장치로 만들어서 사용할 수 있다는 것이다. (물론, 지그비와 쓰레드는 네트워크의 구성 요소가 다르기 때문에, 이런 장치들을 모두 구현해야만 가능하다는 이야기다.) 

 

또 하나 주목할만한 내용은 응용 계층(Application Layer)에 상관없이 사용할 수 있는 기술이라는 것이다. 뭐 IP를 사용하니까 IP를 기반으로 하는 어플리케이션은 뭐든 이용할 수 있다는 의미인 것이다. 따라서, 애플의 HomeKit이나 OCF는 물론 최근 주목받는 Matter에서도 사용할 수 있고 유럽의 KNX에서도 사용할 수 있는 것이다.  

 

쓰레드의 주요 특징

 

쓰레드는 reliable, secure, and scalable한 기술이라고 합니다. 먼저 신뢰할 수 있다(reliable)고 하는 이유는 쓰레드가 메쉬(mesh)를 지원하기 때문에 단일 지점 장애(single point of failure)에 거의 영향을 받지 않기 때문입니다. 즉, 특정한 디바이스에 문제가 생기더라도 다른 디바이스를 통해 안정적으로 통신을 할 수 있다는 이야기입니다. 

 

다음으로 안전하다(secure) 하다는 것은 데이터 전송과 커미셔닝(commissioning)에 대한 보안 체계를 갖추고 있는 통신 프로토콜이기 때문입니다. 또한, IP 기반이기 때문에, 우리가 안심하고 사용하는 IP 프로토콜에서 제공하는 보안 특성을 그대로 가져가기 때문이기도 합니다. 이 부분은 기술 스팩과 관련된 이야기이기 때문에 자세한 설명은 나중에 하도록 하겠습니다. 

 

다음으로 확장가능하다(scalable)고 하는 것은 두 가지 의미가 있는데요, 하나는 메쉬 특성을 이용해서 네트워크의 커버리지를 확장할 수 있다는 부분이 있고 다른 하나는 IP를 이용하기 때문에 IP 기반의 더 큰 네트워크에 참여할 수 있다는 의미도 있습니다. 쓰레드는 기본적으로 IPv6를 이용하구요, IPv6 주소를 이용해서 로컬하게는 디바이스와 디바이스 사이의 통신(D2D)을 하고 디바이스와 클라우드에 있는 서비스 플랫폼들과는 D2C 방식으로 통신을 하게 됩니다. 

 

이런 측면에서 쓰레드는 심리스(seamless)하다고도 합니다. 즉, 클라우드에서 디바이스까지 IP로 통신을 하기 때문에 뭔가 다른 프로토콜을 연결해야 할 필요가 없다는 거죠. 지그비나 지웨이브처럼 IP를 지원하지 않는 프로토콜들은 허브 장치들이 주소 변환 작업을 해줘야만 연결이 되며, 경우에 따라서 클라우드 개발자들은 종단 장치와 관련된 정보까지 관련해 주어야 하는데, 그럴 필요가 없어진다는 이야깁니다. 

 

쓰레드 네트워크의 구조와 역할

 

쓰레드 디바이스는 라우터 기능을 제공하는 FTD(Full Thread Device)와 라우터 기능을 포함하지 않는 MTD(Minimal Thread Device)로 나뉩니다. 일반적으로 FTD는 상전에 연결되며 MTD는 배터리로 동작하며 슬립 모드를 이용하는 종단 장치로 사용됩니다. 네트워크에서 FTD의 역할은 최고의 성능을 보장하기 위해 라우터와 종단 장치 사이에서 다이나믹하게 바뀔 수도 있습니다. 

 

 

쓰레드 디바이스는 크게 종단 장치(End Device), 쓰레드 리더(Thread Leader), 쓰레드 라우터(Thread Router), 그리고 보더 라우터(Border Router)로 구분됩니다. 센서나 램프 같은 종단 장치는 자신이 연결된 페어런트 라우터(parent router)를 통해서만 통신을 할 수 있으며 다른 디바이스들에게는 직접 메시지를 전송하지 못합니다. 전송할 메시지가 없을 때는 송수신기를 디세이블 시킴으로써 전력소모를 최소화하게 됩니다. 

 

쓰레드 라우터는 메쉬 네트워크를 구성하며 네트워크 내에 있는 종단 디바이스들에게 라우팅 기능을 제공합니다. 메쉬를 구성할 수 있는 라우터의 개수는 최대 64개이며, 만약 그 이상인 경우라면 나머지 라우터들은 라우터 기능이 있는 종단 장치(Router Enabled End Points)가 됩니다. 그러다 특정 라우터에 장애가 발생하면 라우터로서 역할을 하게 됩니다.

 

라우터들은 네트워크에 조인하려는 디바이스들에게 조이닝(joining) 서비스와 시큐리티 서비스를 제공합니다. 언제 메시지를 받을 지 모르기 때문에 항상 액티브 상태로 동작합니다. 그렇다고 해서 라우터가 메쉬를 구성하고 종단 장치에 대해 접속 및 라우팅 기능만 제공하는 것은 아닙니다. 종단 장치처럼 디바이스 본연의 기능(플러그 등)도 수행합니다. 

 

쓰레드 라우터들은 쓰레드 네트워크의 전반, 즉 메쉬를 구성하는 라우터들을 관리하는 마스터 역할을 합니다. 그래서 쓰레드 리더라 불립니다. 가장 먼저 쓰레드 네트워크에 참여한 장치가 쓰레드 리더를 하게 됩니다. 만약, 어떤 쓰레드 리더에 문제가 발생하면 다른 라우터들 중 하나가 다시 리더로 선정됩니다. 그래서, 쓰레드 리더는 다이나믹하게 선정된다고 말하기도 합니다. 

 

마지막으로 보더 라우터는 쓰레드 네트워크를 다른 네트워크와 연결시켜주는 역할을 합니다. 즉, 쓰레드 네트워크와 다른 네트워크를 IP 기반으로 연결해 주게 됩니다. 만약 보더 라우터에 문제가 발생하면 네트워크가 단절될 수 있기 때문에, 동시에 여러 개의 보더 라우터가 이용될 수도 있습니다. 어떤 FTD 디바이스도 (설령 그 디바이스가 쓰레드 네트워크에서 라우터 역할을 하고 있지 않더라도) 보더 라우터가 될 수 있습니다.   

 

쓰레드를 지원하는 Google Nest Hub Max와 Apple HomePod Mini

 

매터 표준에서 지그비 대신 쓰레드를 선택한 이유는?

 

쓰레드와 지그비는 매우 비슷한 특성을 갖는 통신 프로토콜입니다. 기본적으로 두 프로토콜 모두 IEEE 802.15.4 표준을 이용하기 때문에, 동일한 PHY/MAC을 이용합니다. 실제로 칩 제조사들은 하나의 칩셋에서 지그비와 쓰레드를 모두 지원하기도 합니다. 하지만, 지그비는 중앙집중적인 방식으로 동작합니다. 즉, 흔히 허브라고 불리는 지그비 코디네이터가 네트워크 전반을 관할합니다. 만약 이 장치에 문제가 생긴다면 지그비 네트워크에 연결된 장치들은 모두 사용할 수 없게 됩니다. 물론, 쓰레드에서도 보더 라우터를 하나만 사용하는 경우에는 지그비와 동일할 수 있습니다.

 

또 다른 부분은 IPv6의 지원입니다. 지그비는 아직까지 IPv6를 지원하지 않습니다. 물론 지그비 3.0에서는 지원을 할 수도 있지만, 여전히 IP를 쓰는 대신 지그비 방식으로 통신을 합니다. 이는 개발자들을 어렵게 만듭니다. 종단 장치들이 IP를 사용하지 않기 때문에 전체 시스템을 개발하는 것이 쓰레드보다 복잡해지게 됩니다. 그렇기 때문에 매터를 주도하는 CSA(이전에 지그비 얼라이언스)에서도 과감히 지그비 대신 쓰레드를 선택한 거겠죠.  

 

쓰레드를 지원하는 장치들은?

 

그렇다면 쓰레드를 이용하는 장치들은 많이 있을까요? 아직은 그렇지 않습니다. 나노리프(Nanoleaf)라는 조명회사의 제품이나 이브(Eve)라는 회사의 스마트 플러그나 도어 센서 정도입니다. 반면에 보더 라우터 역할을 하는 장치들은 어느 정도 출시되어 있는데요, 애플의 홈팟 미니(Apple HomePod Mini)가 대표적이고 구글의 네스트 허브 맥스(Nest Hub Max)나 네스트 와이파이(Nest Wifi) 같은 제품이 대표적입니다. 그리고 최근에 아마존이 소유한 이에로(Eero)가 자신들의 와이파이 공유기인 eero 6와 eero Pro 6에서 쓰레드를 지원하기 시작했습니다. 

  • Apple HomePod Mini
  • Apple TV 4K (2021)
  • eero 6
  • eero Pro 6
  • Eve Energy smart plug
  • Eve Light Switch (EU)
  • Eve Window and Door sensors
  • Eve Aqua
  • Google Nest WiFi
  • Google Nest Hub Max
  • Nanoleaf Essential A19 smart bulb
  • Nanoleaf Essentials smart light strip

쓰레드 장치(Matter over Thread)의 등록 및 공유

 

쓰레드 장치를 스마트홈 네트워크에 연결하여 이용하는 방법에 대해 설명한 영상입니다. 참고하시기 바랍니다. 

https://youtu.be/-ukzv79zlBo

 

 

728x90
반응형