김기형 아주대학교 KRnet2014
목차 Table of Contents 1 2 3 RPL 라우팅프로토콜분석 그래프라우팅프로토콜 (ISA100.11a 와 WirelessHART) 6lowpan
RPL 라우팅프로토콜분석
DODAG Formation DODAG Formation Step 0: Physical Network
DODAG (Destination Oriented Directed Acyclic Graph) DODAG Formation Step 1: DIO Message Dissemination Formation
DODAG Formation DODAG Formation Step 2: Parent Selection
DODAG Formation DODAG Formation Step 3: DODAG Formation
DODAG Formation DODAG Formation Step 4: DODAG Formation
Routing Metrics in LLNs DODAG Formation Step 4: DODAG Formation
RPL Objective Function An objective function defines how nodes perform parent selection and how to compute rank based on metrics Defined by the OCP Combined with metrics/constraints Use the LQL as a global recorded metric and favor paths with the minimum number of low and fair quality links, use the link color as a link constraint to avoid non encrypted links. Find the best path in term of latency (link latency is used as a global aggregated metric), while avoiding poor quality links and battery operated nodes.
Populating the Routing Tables using DAO Two modes of operations: Storing Mode and Non-Storing Mode
Populating the Routing Tables using DAO Two modes of operations: Storing Mode and Non-Storing Mode
Potential Loops Loops in DV are hardly avoidable (due to control message loss and sibling routing) Tension between Loops avoidance and loop detection RPL supports both E.g. Rules about the rank: do not attach to a node deeper in the DAG E.g. Set flags in the packet header to detect loops that may occur (datapath validation) When loop could occur? DIO/DAO message loss is the most common example... RPL makes use of on-demand loop detection with data packets (e.g. rank of sender and direction are used for loop detection)
Loop Detection Idea: add flags to data packets to detect and breaks loops Receiving a packet with inconsistent flag according to the rank is a loop indication (Set to INFINITY when moving to new DODAGVersion) DAG inconsistency loop detection: O=1 from a node with higher Rank O=0 from a node with a lower rank Once an inconsistency is detected, the R bit is set. Upon receiving a packet with R=1, the packet MUST be dropped and trickle reset.
Global vs Local Repair Global repair: rebuilt the DAG... requires a new DAG Sequence number generated by the root Triggered by the root Potentially signaled to the root (under investigation) Local Repair: find a quick local repair path Only requiring local changes! May not be optimal according to the OF and overall DAG shape, which is fine Complementary approaches
Global vs Local Repair
Global vs Local Repair
그래프라우팅프로토콜분석 (ISA100.11a)
ISA100 과 WirelessHART 소개 ISA100.11a는 IEC62734 (현재 표준전단계) WirelessHART (IEC62591)와 함께 양대 산업시설 관리제어 프로토콜 WirelessHart (Wireless Highway Addressable Remote Transducer) HART Communication Foundation (HFC) 에서 설계한 네트워크 기술 표준 (IEC 62591)으로 기존의 Multi-vendor를 위해 개발된 기존의 HART기술을 무선 환경에 적합하도록 개발 Mission Critical 네트워크로서 신뢰성 및 보안성을 대폭 향상 시분할 (TDMA), 주파수 호핑 (FH), 그래프라우팅의 기술 적용 인증, 키관리, 암호화등의 기술적용
WirelessHart (Wireless Highway Addressable Remote Transducer) HART Communication Foundation (HFC) 에서 설계한 네트워크 기술 표준 (IEC 62591)으로 기존의 Multi-vendor를 위해 개발된 기존의 HART 기술을 무선 환경에 적합하도록 개발 (2010.04 현재 IEC 62591Ed. 1.0 승인) 신뢰성 (Reliability) 메쉬 네트워킹 (Mesh Networking) 채널 홉핑 (Channel Hopping) 보안 (Security) 암호화 (Encryption) 인증 (Authentication) 키 관리 (Key Management) 효과적인 전력관리 (Effective Power Management)
ISA100.11a ISA (International Society of Automation)에서 제정한 산업자동화 및 공정제어를 위한 무선 센서 네트워크 표준이다 신뢰성 보장을 위하여 Link Local 계층에서는 소스 라우팅 (Source Routing)과 그래프 라우팅(Graph Routing)이 사용된다. 등장 배경 및 활용 전력소모가 낮은 디바이 스 사용 무선기반의 산업설비 적 용 기존의 네트워크 설비의 보안 및 네트워크 관리 ISA 100 디바이스들간 의 상호 운용 주요 특징 자유로운 참여 및 구현 이 가능한 OPEN Standard End User들에게 있어 사용 및 디바이스 배치가 용이 다양한 업체의 디바이스 상호 운용 가능
WirelessHART vs. ISA100.11a Stack WirelessHART Application ISA 100.11a User application process 1 User application process n Application sub-layer Transport Reliable stream transport, negotiated segment sizes, transfer of large data sets Transport layer Network Power optimised, redundant path, self healing, wireless mesh network Network layer Data Link Physical Secure and reliable, Time Synched TDMA/CSMA, Frequency Agile with ARQ 2.4 GHz wireless, 802.15.4 based radios, 10dBm Tx power Upper data link layer, Mac extension MAC sub-layer PHY Device manager (DMAP) Command oriented, predefined data types and applications
Mesh Network in Industrial Network Self Organizing & Self Healing Wireless Mesh Network 높은 신뢰성 보장 매쉬 네트워크 환경으로 여러 경로를 유지함 (multiple path) 장애나 신호 간섭에 견고함. Throughput 의 증가 네트워크의 확장 WPAN 네트워크 확장 용이 추가적인 access point로 네트워크 지연 감소 가능
Network Configuration
Data flow with backbone
Graph Routing
Graph Routing 최종 목적지의 방향성 있는 패스들의 집합 네트워크에서 유일한 그래프 아이디를 가짐 라우팅 시 Route Redundancy로 신뢰성 향 상 라우팅 경로를 그래프 아이디로 축약 다중 경로로 N20에서 N25로 가는 방법의 예 ND20 ND22 ND24 ND25 ND20 ND21 ND23 ND25
Inbound and outbound graphs
Source routing 소스 라우팅 패킷을 보내기 전에 송신측에서 수신측까지 가는 경로를 모두 리스트로 만들어 패킷의 헤더에 넣어 보내는 방식 예:DSR B A-B-D-G A-B-D-G A-B-D-G G D Packet A H E C F
ISA 100.11 Source Routing DLPDU a b G1 c d e Payload DL sublayer a b g1 source 2.5계층 g2 g1 g3 c d e destination G1 Network Layer Network Layer Network Layer Upper DL Layer Upper DL Layer Upper DL Layer MAC sublayer MAC sublayer MAC sublayer PHY PHY PHY
WirelessHART의 Source Routing Routing NPDU G1 Payload NPDU G2 Payload Network Layer source a b g1 c d e g1 f G1 3 계층 Network Layer Network Layer Network Layer DataLink Layer DataLink Layer DataLink Layer PHY PHY PHY destination
RPL vs ISA Graph Routing
Field Network Physical Network
ISA 100 상향 그래프와 소스라우팅 상향그래프
ISA 100 하향그래프와 소스라우팅 하향그래프
RPL DODAG Formation RPL DODAG Formation: DIO메시지를 이용한 자동 DAG생성
Populating the Routing Tables using DAO Two modes of operations: Storing Mode and Non-Storing Mode
Populating the Routing Tables using DAO Two modes of operations: Storing Mode and Non-Storing Mode
ISA100은 Data Link Layer (L2.5)에서 라우팅 6lowpan 표준에서 Fragment, IPHC는 사용하지만, Multi-hop Header는 Droute 헤더로 대체하여 소스라우팅을 구현 ISA100에서 그래프는 소스라우팅으로 인한 패킷의 길이가 늘어남을 막기위한 한 방법으로서 표준에서는 자동생성에 대한 언급이 없음. (시스템 관리자가 수동으로 생성하는것이 한가지 방법) RPL은 IP Layer (L3)에서 라우팅 6lowpan 표준에서 Fragment, IPHC만 사용하고 Multi-hop Header는 사용하지 않으며 소스라우팅을 위해 IP 계층에서 IP라우팅헤더를 사용 RPL에서 그래프는 DAG로서 자동으로 생성됨
정리 ISA100 vs RPL Mesh Under IP Routing vs Route Over IP Routing ISA100 은 Data Link Layer (L2.5) 에서라우팅 6lowpan 표준에서 Fragment, IPHC 는사용하지만, Multi-hop Header 는 Droute 헤더로대체하여소스라우팅을구현 ISA100 에서그래프는소스라우팅으로인한패킷의길이가늘어남을막기위한한방법으로서표준에서는자동생성에대한언급이없음. ( 시스템관리자가수동으로생성하는것이한가지방법 ) RPL 은 IP Layer (L3) 에서라우팅 6lowpan 표준에서 Fragment, IPHC 만사용하고 Multi-hop Header 는사용하지않으며소스라우팅을위해 IP 계층에서 IP 라우팅헤더를사용 RPL 에서그래프는 DAG 로서자동으로생성됨
6LoWPAN
What is 6LoWPAN? IPv6 over Low-Power wireless Area Networks Defined by IETF standards RFC 4919, 4944 draft-ietf-6lowpan-hc and -nd draft-ietf-roll-rpl IPv6 Stateless header compression Enables a standard socket API Minimal use of code and memory Direct end-to-end Internet integration Multiple topology options 42
Architecture 43
6LoWPAN Setup & Operation Autoconfiguration is important in embedded networks In order for a 6LoWPAN network to start functioning: 1. Link-layer connectivity between nodes (commissioning) 2. Network layer address configuration, discovery of neighbors, registrations (bootstrapping) 3. Routing algorithm sets up paths (route initialization) 4. Continuous maintenance of 1-3 44
Link-layer Commissioning In order for nodes to communicate with each other, they need to have compatible physical and link-layer settings. Example IEEE 802.15.4 settings: Channel, modulation, data-rate (Channels 11-26 at 2.4 GHz) Usually a default channel is used, and channels are scanned to find a router for use by Neighbor Discovery Addressing mode (64-bit or 16-bit) Typically 64-bit is a default, and 16-bit used if address available MAC mode (beaconless or super-frame) Beaconless mode is easiest for commissioning (no settings needed) Security (on or off, encryption key) In order to perform secure commissioning a default key should already be installed in the nodes 45
6LoWPAN Neighbor Discovery Standard ND for IPv6 is not appropriate for 6LoWPAN: Assumption of a single link for an IPv6 subnet prefix Assumption that nodes are always on Heavy use of multicast traffic (broadcast/flood in 6LoWPAN) No efficient multihop support over e.g. 802.15.4 6LoWPAN Neighbor Discovery provides: An appropriate link and subnet model for low-power wireless Minimized node-initiated control traffic Node Registration (NR) and Confirmation (NC) Duplicate Address Detection (DAD) and recovery Support for extended Edge Router infrastructures ND for 6LoWPAN Stateless Address Autoconfiguration DHCP-based Stateful Address Autoconfiguration 46
Prefix Dissemination In normal IPv6 networks RAs are sent to a link based on the information (prefix etc.) configured for that router interface In ND for 6LoWPAN RAs are also used to automatically disseminate router information across multiple hops 47
IPv6 Neighbor Discovery http://tools.ietf.org/html/rfc4861 Stateful Address Autoconfiguration DHCP Stateless Address Autoconfiguration RS (Router Solicitation) RA (Router Advertisement) NS (Neighbor Solicitation) ARP (Address Resolution Protocol) of IPv4 NA (Neighbor Adv) Redirect 48
Stateful vs Stateless DHCP Server Router Host RA Host Network prefix + Host ID (MAC Add=EUI64) 49
DAD (Duplicate Address Detection) 주변에두번물어본다. 같은주소를가진노드가있는지없는지? NS (My IP Address) Router RA Host Network prefix + Host ID (MAC Add=EUI64) 50
Multicast of NS for DAD 6LBR 6LR or 6LBR have Neighbor Cache DAD RS RA 51
DAD Optimization 6LBR 6LR or 6LBR have Neighbor Cache DAD RS RA 52
정리 RPL Graph Routing of ISA100.11a and WirelessHART 6lowpan Configuration 53