Adaption Layer
정의
6LoWPAN에서 MAC Layer위에서 사용되는 Layer
6LoWPAN란??
IPV6 over Low - Power Wireless Personal Area Network
저전력 무선 네트워크에서 IPV6를 효율적으로 사용하기 위함
IP란?
IP주소는 네트워크와 호스트주소로 이루어져있다
네트워크 주소는 어떤 네트워크로 정보가 가야할지가 저장되어있다
호스트주소는 네트워크안에서 어떤 기기로 정보가 가야할지 저장되어 있다
IP주소 체계
1. IP v4 -> 가장 표준인 인터넷 프로토콜
2.IP v6 -> 위에 있는 v4의 부족문제 해결하기 위해 만듬
Adaption Layer의 특징
- 802.15.4의 PDU 제한
- 최대 PHY PDU는 127바이트로 제한됨.
- 이 제한으로 인해 6LoWPAN에서는 효율적인 데이터 전송이 필요.
- IP 데이터그램 MTU
- IPv6 데이터그램은 일반적으로 1280바이트의 MTU를 가짐.
- MTU란 Massive Transport Unit으로 한번에 보낼 수 있는 최대 데이터 패킷
- IETF 6LoWPAN 헤더 압축
- 제한된 대역폭을 최적화하기 위해 헤더 압축 사용.
- 예: 40 옥텟의 헤더를 3 옥텟으로 축소.
- Fragmentation (단편화)
- IPv6 데이터그램을 처리하기 위해 단편화 수행.
- 제한된 PDU 크기를 해결하기 위한 핵심 기술.
- IPv6 주소 자동 구성 - Autoconfiguration of IPv6 addresses
- MAC 주소를 기반으로 IPv6 주소 자동 구성 지원
- 간단한 동작방식은
- 더보기
1. 네트워크에 연결되면 자신만의 로컬주소를 생성. 로컬주소는 FE80::로 시작
2. 네트워크에 연결된 장치는 근처의 라우터(길잡이)에게 사용가능한 주소를 받는다
3. 라우터가 준 정보를 바탕으로 자기만의 장치 ID를 생성
4. 만약에 충돌 발생시 새로 제작
위에서 빨간색 글씨가 가장 중요한 3개의 특징이다
TCP/UDP
기본
TCP와 UDP는 인터넷에서 데이터를 전송할 때 사용하는 프로토콜
둘 다 전송계층에 속하지만 동작방식과 용도가 다르다
TCP( Transmission Control Protocol )
- 신뢰성을 기본으로해서 먼저 연결을 설정하고 데이터를 전송한다
- 연결지향
- 데이터를 보내기전에 3-way Handshake라는 절차를 통해 연결
- 송신자와 수신자가 서로 준비된 상태임을 확인
- 신뢰성 보장
- 데이터를 분할해 패킷으로 전송하고 수신한 패킷에 대한 ACK(응답)을 받는다
- 패킷이 손실되면 재전송
- 데이터가 순서대로 도착하도록 조립
- 단점
- 오버헤드가 크고 느린 네트워크에서 속도가 느려질 수 있다
UDP( User Datagram Protocol )
- 신뢰성보다는 데이터를 빠르고 간단하게 전송하는데 초점이 맞춰져 있다
- 비연결지향 - 바로 데이터 전송
- 신뢰성 무시 - 패킷 손실시 무시
TCP/UDP의 IOT에서의 사용
1. TCP to support HTTP
HTTP( HyperText Transfer Protocol )
웹 브라우저와 웹 서버가 통신하는 프로토콜이다
인터넷에서 웹 페이지나 데이터를 주고받는 규격
쉽게 말하면 사용자가 브라우저에서 URL을 입력하면 브라우저가 서버에 데이터를 요청하고 서버는 응답
URL
인터넷 상의 특정 자원의 주소
즉 웹페이지 이미지 파일등 인터넷에서 무엇을 찾을지 어디서 찾을지를 알려주는것
- HTTP 지원: TCP는 웹 기반 기술(M2M, Machine-to-Machine) 통신을 지원합니다.
- Universal: 광범위하게 사용됩니다.
- 문제점: 손실이 많은 네트워크나 저전력 환경에서는 TCP의 오버헤드가 문제가 될 수 있습니다.
- TCP는 신뢰성을 보장하기 위해 확인 응답(ACK), 연결 설정 등이 필요해 데이터 손실이 적은 환경에서 적합합니다.
2. UDP to support CoAP
- CoAP (Constrained Application Protocol) 지원: UDP는 간단하고 가벼운 RESTful 프로토콜인 CoAP를 지원합니다.
- CoAP는 IoT 기기와 같은 제약된 장치에서 데이터를 교환하기 위한 프로토콜입니다.
- 특징:
- 메모리와 연산 자원이 제한된 기기에서 적합.
- IETF CoRE WG에서 개발되었습니다.
- HTTP와 비슷한 REST 구조를 따르지만, UDP 기반으로 동작해 더 가볍습니다.
- 예: 스마트 홈 센서 데이터 교환.
3.RESTful HTTP/XML for ZigBee SE 2.0
- ZigBee SE 2.0용 제안: 에너지 효율성과 메모리 절약을 위해 설계된 데이터 모델입니다.
나중에 추가적으로 REST가 무엇인지 그리고 RESTful HTTP/XML for ZigBee SE 2.0 이게 어떤 방식인지 공부 필요
Thread
정의
Thread는 IEEE 802.15.4 기반에서 동작하며, 이를 기반으로 UDP, IP Routing, 6LoWPAN 같은 기능을 통합한 IoT 네트워크 프로토콜입니다.
Google이 Nest Las인수하면서 시작되었다
특징
6LoWPAN을 사용해서 저전력 네트워크에서도 모든 장치가 고유 IP주소를 가질 수 있다
ZigBee가 Application layer를 만들었지만 Thread는 없다
대신 장치간 네트워크 연결과 보안에 집중
왜 Thread를 사용할까?
- IPv6 기반:
- 기존 인터넷과 원활하게 통신 가능.
- 확장성:
- 수천 대의 장치를 네트워크에 연결 가능.
- 보안:
- 암호화된 통신으로 보안을 강화.
- 저전력:
- 배터리로 작동하는 IoT 장치에 적합
이렇게 엄청 다양한 IOT 프로토콜이 생기고 각 회사가 다른 프로토콜을 사용하다보니
다른 회사의 기기는 연결이 안된다
안되겠다 우리 하나로 합쳐보자하고 나온게
IoT 표준단체
이런식으로 되게 다양한 기업이 다양하게 시도를 했다
신기한것은 잘 보면 삼성과 LG는 라이벌이라 한번도 같이 참여한적이 없다
이후에 2016년도에 OIC가 OCF로 개명하고 AllSeen Alliance를 합병해 수백개의 업체로 확장
하지만 이게 사용자의 편의보다는 공급자의 편의 위주라 인기가 시들시들해졌다
이때 나온게
Matter
매터는 스마트홈 및 Iot 플랫폼을 위한 새로운 표준으로 아마존 애플 구글 삼서 스마트싱스 지그비등 엄청난 기업들이 공동 개발
이 Matter가 위의 OCF보다 성공적일 수 있었던 이유는
우선 사용자 편의를 고려해서 제작이 되었다
그리고 Network/Transport Layer에 있는 4가지의 통신방법을 원래는 통일시킬려했다
하지마 Matter에서는 4가지가 다 가능하게 제작을 했다 대신 Application Layer을 통일했다