ZigBee Specification #3

Slides:



Advertisements
Similar presentations
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r 8259A 를 아는가 ??? 2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r.
Advertisements

1)RACK 2)UPS 3)P D U 장치 4)Server Group 5)KVM Switch 7)UPS 를 위한 HUB 6) RACK Monitor.
HTTPS Packet Capture Tutorial
컴퓨터와 인터넷.
펌핑노드 성능평가 RTLAB 김병철 08/09/25.
CHAP 22. 블루투스.
Oozie Web API 기능 테스트 이승엽.
Zigbee Specification RT Lab 강무진.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
Chapter 14 Wireless LAN.
Chapter 2. IP Address IP Address의 구성에 대한 자세한 설명과 함께 IP Address를 효율적으로 관리하기 위한 방법인 서브넷팅, 수퍼넷팅, VLSM 등에 대해서 단계별로 접근할 수 있다. 몇가지 예제를 통해서 서브넷팅에 대한 개념을 정리하고.
제 7장 정적 라우팅 프로토콜.
Load Balancing L4와 L7은 어떻게 동작할까?.
네트워크 프로그래밍 및 실습.
Management Support Mi-Jung Choi, Jae-Hyun Ham DP&NM Lab.
Chapter 13 Wired LANs: Ethernet.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Chapter 21 Network Layer: ARP, ICMP (IGMP).
Network Management 김대환 김태훈 김숙흔 이근민.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Error Detection and Correction
부트로더와 Self Programming
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
10 장 데이터 링크 제어(Data Link Control)
KHS JDBC Programming 4 KHS
4. LAN의 배선체계 (3장. LAN: Local Area Network)
GPRS(general Packet Radio System) 설명
윤 철 민 ( ) 조 원 근 ( ) 김 남 석 ( ) 김 남 기 ( )
WOL(Wake-On Lan) 컴퓨터공학과 4학년 박기웅.
자바 5.0 프로그래밍.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Day-04(mon_9.6) Host_PC Router NAT NIC Switch ISP NAT Host Only
2장. 인터넷의 개념과 주소.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
22 장 전송층(Transport Layer)
WZC 무선 연결 방법 (Windows XP Ver.).
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
LIT-GenAppSetup ※ Texting+ 클라이언트 프로그램은 제품 인증을 받은 제품입니다.
OSI Reference Model.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
21 장 전송층(Transport Layer)
USN(Ubiquitous Sensor Network)
Nessus 4 설치 정보보호응용 조용준.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
10 장 데이터 링크 제어(Data Link Control)
10 장 데이터 링크 제어(Data Link Control)
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
CHAP 21. 전화, SMS, 주소록.
Chapter 26 IP over ATM.
( Windows Service Application Debugging )
ATM - 다양한 종류의 Service 가능 - LAN 과 WAN 에 모두 적합하다. - 전세계적으로 인정된 표준
Ping Test.
Addressing the Network – IPv4
Chapter 27 Mobile IP.
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
Viewing Advanced Web Pages
7 IP 프로토콜의 이해 학습 목표 네트워크 계층의 필요성과 역할을 이해한다.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
제 6 장 IP 패킷 전달과 라우팅 6.1 연결형 서비스와 비연결형 서비스 6.2 직접 전달과 간접 전달 6.3 라우팅 방법
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
CHAP 15. 데이터 스토리지.
네트워크란? Onescore 네트워크팀.
ARP.
Presentation transcript:

ZigBee Specification #3 김백규

Review @ Application Layer 의 구성요소(Application Framework, Application Object, ZDO, Application Support Sublayer) - Application Object : 사용자가 직접 작성하는 가장 상위의 어플리케이션 - Application Framework : Application Object 가 이것을 이용하여 데이터를 하위레이어로 보내거나 (APSDE-SAP이용) ZDO와 통신한다. - ZigBee Device Object : Application Framework 와 APS 중간에 위치하여 여러가지 정보들을 교환하는 통로, APS, NWK, Security Service Provider 를 초기화한다. - Application Support Sublayer : 바인딩테이블을 관리하고 바인딩된 디바이스간에 메시지 교환, 긴메시지를 Fragmentation 하고 assembling @Network Layer 의 목적 - IEEE 82.15.4 가 올바로 동작하도록 도와주는 기능을 제공, 상위레이어에 대한 인터페이스 제공 - NLDE 와 NLME 로 데이터의 이동과 management service 제공

Network(NWK) layer overview Ensure correct operation of the IEEE 802.15.4 MAC. Suitable service interface to the application layer. NLDE NLME @ NLDE 가 data transmission service 를 담당 @ NLME 가 management service 를 담당 - 자세한건 뒷장에

Network layer data entity(NLDE) Generation of the Network level PDU Topology specific routing Network Header APDU @ Application Layer 에서는 application level PDU 인 APDU 를 생성하였다. 이 패킷이 네트워크 레이어로 내려와서 필요한 헤더 정보를 붙이면 network level PDU 가 된다. @ NLDE 는 NPDU 를 최종 목적지까지 보내거나 또는 가까운 다음 노드로 보낼 수 있다. 이것은 네트워크 토폴로지의 구성에 따라 다른데 NLDE 는 이것에 따라 적절하게 패킷을 보내도록 도와 준다.

Network layer management entity (NLME) Configuring a new device Starting a network Joining and leaving a network Addressing Neighbor discovery Route discovery Reception control @ NLME 는 ZigBee stack 과 통신을 하기 위한 기능을 담당한다. @ Configuring a new device – 새로운 device 가 ZigBee Coordinator 로 동작할지 아니면 이미 있는 network 에 join 해야할지 에 대한 기능을 정의 @ Starting a network – 이 디바이스가 Coordinator 라면 새로운 네트워크를 시작할 수 있는 기능을 제공 @ Joining and leaving a network – 이 디바이스가 네트워크에 join 하거나 leave 할 수있는 기능을 제공, Coordinator 또는 Router 라면 어떤 디바이스를 network 에서 leave 할 수 있도록 요청하는 기능을 제공 @ addressing – Coordinator 나 router 가 network 에 join 하는 디바이스들에게 주소를 할당해 주는 기능을 제공 @ Neighbor discovery – one-hop 거리에 있는 디바이스들을 discover 하고 이에 대한 정보를 기록하고 보고할수있는 기능을 제공 @ Route discovery – message 가 효과적으로 길을 찾아 목적지까지 갈 수 있도록 도와주는 기능을 제공 @ Reception control – 메시지를 받는 측이 activate 되었을때 이 상황에서 어떻게 device 를 컨트롤 할건지 에 대한 기능을 제공 (얼마나 오랫동안 기다릴 것이냐..등등)

Service specification @ Network 레이어에서는 두가지 서비스를 제공한다. Network data service , Network Management Service - Network data service 는 NLDE-SAP 를 통해서 상위레이어에서 데이터를 전달받고(또는 전달하고) 이 데이터를 MCPS-SAP 를 통해 하위레이어로 전달 또는 수신) @Stack 에 어떤 기능을 변경시키거나 조작하고 싶을 경우 상위레이어에서 NLME-SAP 로 커맨드를 받아서 처리를 하고 필요하면 MLME-SAP 로 커맨드를 내려 보내준다. - 스택에 관한 여러가지 설정 정보들이 NWK IB 에 저장되어 있고 이것을 NLME 에서 변경할 수 있다. @ 이제부터 NLDE 와 NLME 의 기능을 이용할 수 있는 primitive 에 대해서 알아본다.

NWK data service Supports the transport of APDUs. Primitives NLDE-DATA.request NLDE-DATA.confirm NLDE-DATA.indication @NLDE-SAP 는 APDU 를 상대방 application entity 까지 전달해주는 기능을 한다. @NLDE-DATA.request : local APS 에서 상대편 APS 까지 data 를 전송하기 위해 요청하는 primitive - 이 primitive 는 데이터가 전송되어야 할 때 마다 local APS 에서 생성되고 NLDE 로 넘겨준다. @ NLDE-DATA.confirm - NLDE 에서 NLDE-DATA.request 를 받을 경우 이에대한 응답으로 이 primitive 를 상위 APS 레이어로 전송해준다. 성공적으로 data 가 전송되면 status 정보로 SUCCESS 를 리턴한다. @ NLDE-DATA.indication - Network 레이어에서 locap APS layer 로 올려보내질 데이터가 있음을 알리는 primitive - APS 에서 이 primitive 를 받으면 다른 node 에서 data 가 전송되었음을 알고 data 를 network 레이어에서 읽어오면 된다.

Network discovery(1/2) Supports the discovery of operating networks. Primitives NLME-NETWORK-DISCOVERY.request NLME-NETWORK-DISCOVERY.confirm @ Network discovery 서비스 는 현재 동작하고 있는 network 가 어떤것이 있는지 알아보기 위한 것이다. @ NLME-NETWORK-DISCOVERY.request - 이 디바이스가 접근할 수 있는 영역안에 현재 동작하고 있는 network 가 있는지 알아보기 위한 것 - 이 primitive 는 상위 레이어에서 만들어지고 NLME 로 전달된다. 이것은 data 와 관련된 service 가 아니므로 NLME 에서 관리한다. - primitive 가 담고있는 정보를 보면 명시된 채널을 정해진 시간동안 스캔해서 채널을 찾는다. @ NLME-NETWORK-DISCOVERY.confirm - 이 primitive 는 network discovery operation 의 결과를 알려준다. - 올라오는 정보로는 얼마나 많은 network 가 있느냐, 이런 network 들의 식별자(Network Descriptor) 가 무엇이냐 에 관한 정보가 있다.

Network discovery(2/2) <Network Descriptor> Beacon order : MAP sub layer 가 얼마나 자주 beacon 메시지를 보내는 가를 표시 SuperframeOrder : beacon 모드를 사용하는 network 에서 superframe 의 active period 가 얼마인지 명시(자세한건 MAC sub-layer 참고) PermitJoining : 이 값이 True 이면 현재 network 상에 join 을 허가하는 router 가 최소 한 개 이상이 있다는 뜻.

Network formation(1/2) Defines how the next higher layer of a device can initialize itself as the ZigBee coordinator Make changes to its superframe configuration. Primitives NLME-NETWORK-FORMATION.request NLME-NETWORK-FORMATION.confirm @ Network formation 관련 primitive 가 하는일 - Coordinator 의 주요 임무는 하나의 network 를 구성하는 것이다. - 이 Primitive 는 어떻게 ZigBee Coordinator 가 새로운 network 를 시작하는 가에 대한 정보를 제공 @ NLME-NETWORK-FORMATION.request - Coordinator 의 역할을 할 수 있는 상위레이어에서 생성하고 새로운 network 를 시작하겠다는 요청을 한다. - 이 primitive 를 network layer 가 받으면 다음과 같은 일을 한다. 1. NLME 는

Network formation(2/2) The procedure to start a network 1. NLME-NETWORK-FORMATION.request 2. MLME-SCAN.request 3. MLME-SCAN.confirm 4. NLME selects a suitable channel 5. MLME-SET.request 6. MLME-START.request 7. MLME-START.confirm 8. NLME-NETWORK-FORMATION.confirm 먼저 NLME-NETWORK-FORMATION.request로 Coordinator 가 새로운 network 를 구성하겠다고 network layer 에 알려준다. 그러면 network layer 에서는 MLME-SCAN.request primitive 를 MAC-sub layer 로 보내서 energe detection scan 을 수행하게 한다. 그래서 현재 동작하고 있는 network 에 대한 채널을 MLME-SCAN.confirm primitive 로 network layer 에 알려준다. Network layer 에서 mac sub layer 에서 찾은 몇 개의 채널과 중복되지 않는 적절한 채널을 고른다. (만약에 상위레이어에서 특정 채널을 사용하고 싶다고 명시를 했는데 이게 찾아진 채널리스트에 있을 경우 충돌이 되므로 다른걸 고른다.) MLME-SET.request 로 mac 주소를 설정해준다. MLME-START.request 로 mac sub layer 에서 network 를 시작할 수 있도록 BeaconOrder 정보와 superframeOrder 정보를 준다. 위의 과정이 성공할 경우 mac sub layer 에서 MLME-START.confirm 을 network layer 로 넘겨준다. NLME-NETWORK-FORMATION.confirm 로 MLME-START.confirm 의 결과를 그대로 상위레이어에 알려준다..

The procedure to start a network APS NWK MAC NLME-NETWORK-FORMATION.request MLME-SCAN.request MLME-SCAN.confirm Choose Channel MLME-SET.request MLME-START.request MLME-START. confirm NLME-NETWORK-FORMATION.confirm

Other primitives(1/2) Allowing devices to join Begin as a router NLME-PERMIT-JOINING.request NLME-PERMIT-JOINING.confirm Begin as a router NLME-START-ROUTER.request NLME-START-ROUTER.confirm

Other primitives(2/2) Joining a network Leaving a network NLME-JOIN.request NLME-JOIN.confirm NLME-JOIN.indication Leaving a network NLME-LEAVE.request NLME-LEAVE.confirm NLME-LEAVE.indication @ Joining a network - node 가 network 에 join 하기 위해서 필요한 primitive 들. @ Leaving a network - join 된 node 가 network 에서 떠나기 위해 필요한 primitive 들들

Resetting a device @ Network layer 에서는 Device 가 network 관련 정보들을 리셋할 수 있도록 하는 Primitive 를 제공해 준다. - NIB 에는 여러가지 내부 변수와 route discovery table 정보고 있는데 이것을 모두 리셋해준다.

Receiver synchronization @ 이 primitive 들은 어떻게 디바이스의 상위레이어가 coordinator 나 router 가 데이터를 받아올 수 있는 지에 대한 방법을 정의한다. 무선 네트워크에서 특정 데이터를 받아오기위해서 beacon 이라는 프레임을 사용한다. 이 프레임은 데이터의 시작부분에 삽입되며 여기서 부터 데이터가 시작된다는 것을 알려준다. 그래서 이 primitive 들을 이용하여 beacon mode 를 사용할 것인지 안할것인지 결정을 한다. @ beacon frame 을 사용하는 것과 안하는 것의 장단점 ?

Information base maintenance Defines how the next higher layer of a device can read and write attributes in the NIB. Primitives NLME-GET.request NLME-GET.confirm NLME-SET.request NLME-SET.confirm @ 이 primitives 들은 network layer 에 있는 NIB 의 정보를 읽어오고 세팅하기 위한 수단을 제공해준다. @ NIB attribute 에는 다음과 같은것들이 있다. 패킷의 시퀀스 넘버를 몇 부터 시작할 것이냐에 관한 정보 패킷을 재전송하기 위해 기다리는 시간 현재 네트워크가 가질수 있는 최대 노드수 현재 네트워크가 가질수 있는 최대 라우터수 인접한 노드가 어떤것이 있는지에 대한 정보를 가지고 있는 neighbor table 패킷을 어느곳으로 전송을 해야 하는지에 대한 정보를 가지고 있는 routing table 스택 프로파일 Group ID table

Next time… Frame formats Command frame Functional description @ 다음시간에는 네트워크 레이어에서 쓰이는 프레임 포맷이 어떤것이있고 커맨드 프레임은 어떤식으로 구성이 되어있으며 네트워크를 구성하는 과정에서 생길수 있는 여러가지 상황 즉, join 을 어떻게 하고 데이터 전송은 어떻게 하고 수신은 어떻게 하고 Routing 은 어떻게 하는 등등의 과정에 대해 알아본다.