Download presentation
Presentation is loading. Please wait.
1
AODVjr TinyOS Implementation
강 은 창 양 지 언 김 상 태
2
What we did Make AODV Source Make AODVjr Source Apply AODVjr
to Tiny OS Analysis TinyOS Module TinyOS Install
3
A O D V
4
What is AODV? Routing Protocol running into Ad-hoc Network Dynamic
Limited Resource Not Stationary Have a active field Make route when it needs Reduce unnecessary forwarding Maintain Timer
5
Routing Table DstIP DstSeq State Hop Next Lifetime Precursor 2 3 Valid
1 10 5 7 4 Unvalid 2 5 3 1 6 4
6
AODV Control Packet RREQ : Route Request : Route Reply RREP RREP-ACK
: Route Reply-Ack RERR : Inform Broken Link
7
AODV Control Packet RREQ RREQ 1 RREP 3 2 4 5 RREP-ACK 6 RERR
8
AODV Control Packet RREQ 1 RREP 3 RREQ 2 4 5 RREP-ACK RREQ 6 RERR
9
AODV Control Packet RREQ 1 RREP 3 2 4 RREQ 5 RREP-ACK RREQ 6 RERR
10
AODV Control Packet RREQ 1 RREP RREP 3 2 4 RREP 5 RREP-ACK RREP 6 RERR
11
AODV Control Packet RREQ 1 RERR RREP 3 2 4 RERR 5 RREP-ACK RERR 6
12
Example – Send RREQ 1 2 3 4 RREQ Update info About previous hop
Ori Dst Hop 1 4 1 2 3 4 Dst Next Hop Dst Next Hop Dst Next Hop Dst Next Hop Update info About previous hop Update info About Originator
13
Example – Send RREQ 1 2 3 4 RREQ Update info About previous hop
Ori Dst Hop 1 4 1 2 3 4 Dst Next Hop Dst Next Hop 1 Dst Next Hop Dst Next Hop Update info About previous hop Update info About Originator
14
Example – Send RREQ 1 2 3 4 RREQ Update info About previous hop
Ori Dst Hop 1 4 2 1 2 3 4 Dst Next Hop Dst Next Hop 1 Dst Next Hop 2 1 Dst Next Hop Update info About previous hop Update info About Originator
15
Example – Send RREQ 1 2 3 4 RREQ Update info About previous hop
Ori Dst Hop 1 4 3 1 2 3 4 Dst Next Hop Dst Next Hop 1 Dst Next Hop 2 1 Dst Next Hop 3 1 Update info About previous hop Update info About Originator
16
Example – Send RREP 1 2 3 4 RREP Update info About previous hop
Ori Dst Hop 1 4 1 2 3 4 Dst Next Hop Dst Next Hop 1 Dst Next Hop 2 1 Dst Next Hop 3 1 Update info About previous hop Update info About Destination
17
Example – Send RREP 1 2 3 4 RREP Update info About previous hop
Ori Dst Hop 1 4 1 2 3 4 Dst Next Hop Dst Next Hop 1 Dst Next Hop 2 1 4 Dst Next Hop 3 1 Update info About previous hop Update info About Destination
18
Example – Send RREP 1 2 3 4 RREP Update info About previous hop
Ori Dst Hop 1 4 2 1 2 3 4 Dst Next Hop Dst Next Hop 1 3 4 2 Dst Next Hop 2 1 4 Dst Next Hop 3 1 Update info About previous hop Update info About Destination
19
Example – Send RREP 1 2 3 4 RREP Update info About previous hop
Ori Dst Hop 1 4 3 1 2 3 4 Dst Next Hop 2 1 4 3 Dst Next Hop 1 3 4 2 Dst Next Hop 2 1 4 Dst Next Hop 3 1 Update info About previous hop Update info About Destination
20
Example – Send RERR 6 7 1 4 3 2 5 Dst Next Precursor State 6 1 Valid 2
21
Example – Send RERR 6 7 1 4 3 2 5 RREP Ori Dst Hop 1 7 Dst Next
Precursor State 6 1 Valid 7 2
22
Example – Send RERR 6 7 1 4 3 2 5 RREP Ori Dst Hop 2 4 1 Dst Next
Precursor State 6 1 Valid 7 2 4
23
Example – Send RERR 6 7 1 4 3 2 5 RREP Ori Dst Hop 6 7 1 Dst Next
Precursor State 6 1 5 Valid 7 2 4
24
Example – Send RERR 6 7 1 4 3 2 5 RREP Ori Dst Hop 2 1 Dst Next
Precursor State 6 1 5 Valid 7, 2 2 4
25
Example – Send RERR 6 7 1 4 3 2 5 Dst Next Precursor State 6 1 5 Valid
7, 2 2 4
26
Example – Send RERR 6 7 1 4 3 2 5 RERR RERR RERR Dst Next Precursor
State 6 1 5 UnValid 7, 2 2 4 Valid
27
Example – Send RERR 1 3 7 - 4 - 4 - 4 RERR RERR RERR Dst Precursor
State 4 3 UnValid Dst Precursor State 4 7 UnValid Dst Precursor State 4 UnValid
28
Maintain Sequence Number
Update when node have new information MYSEQ=3 6 MYSEQ=5 MYSEQ=7 7 3 MYSEQ=2 MYSEQ=2 MYSEQ=4 MYSEQ=2 8 1 MYSEQ=1 5 9 4 MYSEQ=1 Dst Seq 5 4 Dst Seq 1 2 2
29
Maintain Sequence Number
Update when node have new information 6 7 3 MYSEQ=2 MYSEQ=4 RREP 8 1 5 Dst Seq 5 3 9 4 Dst Seq 5 4 Dst Seq 1 2 2
30
Maintain Lifetime 1) TTL field Use TTL field in IP Header
6 TTL=2 7 TTL=1 3 TTL=2 TTL=3 8 1 TTL=2 4 9 2 TTL=2 5 Use TTL field in IP Header to reduce unnecessary Broadcasting TTL=1
31
2) Lifetime field in RREP
Maintain Lifetime 2) Lifetime field in RREP 6 7 3 RREQ 8 1 5 9 4 Dst Lifetime 2
32
2) Lifetime field in RREP
Maintain Lifetime 2) Lifetime field in RREP 6 7 3 RREP Lifetime=10 8 1 5 9 4 Dst Lifetime 2
33
2) Lifetime field in RREP
Maintain Lifetime 2) Lifetime field in RREP 6 7 RREP 3 Lifetime=10 8 1 5 9 4 Dst Lifetime 5 10 2
34
TinyOS Installition
35
Introduction TinyOS ? wireless embedded sensor network를 위해 디자인된 open-source operating system
36
설치 전 확인사항 C드라이브에 1GB의 용량이 있는지? Cygwin을 설치 한 적이 있는지?
Windows 설정에서 temp 폴더의 위치를 1GB이상인 드라이브로 옮겨준다 Cygwin을 설치 한 적이 있는지? Uninstall & 레지스트리 삭제
37
Install Linux에 설치하기 Windows 에 설치하기
38
Windows에 설치하기 관련된 프로그램을 직접 설치 Installer 사용하기 완료 오류 체크
TinyOS & Tools : 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Tool nesC : TinyOS를 위해 제작된 C 언어의 확장버전 Cygwin : Windows에서 Linux 와 같이 사용하기 위한 환경 AVR Tools : Atmel 의 AVR 프로세서를 위해 적합한 S/W 개발툴 java 1.4 JDK & java COMM 2.0 : Host PC application 과 포트 통신을 위한 것 Graphviz : Make docs 로부터 만들어진 파일들을 보여주기 위한 것 Installer 사용하기 - 완료 오류 체크 cd /opt/tinyos-1.x/tools/scripts; ./toscheck
39
TinyOS directory 구조(1)
40
TinyOS directory 구조(2) 기본 tinyOS application 과 테스트 프로그램
사용자 contribution 과 Xbow firmware Document 와 온라인 가이드 개발자 유틸리티와 프로그램 ·TinyOS"Operation System", 모듈, 인터페이스 TinyOS 구성 인터페이스의 정의 Deluge, MinRoute 등 주요 라이브러리 Mote 플랫폼과 특정한 하드웨어 드라이버들 센서와 데이터 수집보드 드라이버 Timer 와 scheduler 같은 TinyOS 서비스 Active Message 같은 TinyOS 데이터 구조
41
Update Version 확인 Cvs 다운받기
“rpm –qa” 실행 후 tinyOS 홈페이지에 올라와 있는 최신버전과 비교한 후 다운로드 Cvs 다운받기 “cc2420dbk” 용 컴파일 플랫폼 받기위해 “cvs -z3 co tinyos-1.x“
42
환경 설정(1) Symbolic link 걸어주기 경로 변경해 주기
tinyos/tinyos-1.x/beta/platform/cc2420dbk ->/opt/tinyos1.x/tos/platform/cc2420dbk 경로 변경해 주기 /etc/profile.d/tinyos.sh 내용을 수정
43
환경 설정(2) “tinyos.sh” # script for profile.d for bash shells, adjusted for each users # installation by substituting /opt for the actual tinyos tree # installation point. TOSROOT="/opt/tinyos-1.x" <<<<<<========== export TOSROOT TOSDIR="$TOSROOT/tos" export TOSDIR CLASSPATH=`$TOSROOT/tools/java/javapath` export CLASSPATH #We cannot set makerulesuntil we require make 3.8 makerules="$TOSROOT/tools/make/makerules" <<<<<<========== export makerules <<<<<<========== # Extend path for java type java >/dev/null 2>/dev/null || PATH=`/usr/local/bin/locate-jre --java`:$PATH type javac >/dev/null 2>/dev/null || PATH=`/usr/local/bin/locate-jre --javac`:$PATH echo $PATH | grep -q /usr/local/bin || PATH=/usr/local/bin:$PATH
44
Compile & 실행(1) Pc mote “make pc” 실행====compile
/build/pc/main.exe 1(노드수)= 실행 “main.exe –h” ==== 실행 옵션 보기 mote “make cc2420dbk” 실행 실행은 mote에 다운로드 후
45
Compile & 실행(2) 그래픽 환경에서 시뮬레이션 보기
tinyos-1.x/tools/java/net/tinyos/sim/tinyviz
46
Compile & 실행(3) Mote(cc2420dbk)에 다운로드 하기 /build/cc2420dbk/main.ihex
Avr studio 를 사용하여 다운로드
47
Our plan Make AODV Source Make AODVjr Source Apply AODVjr to Tiny OS
Analysis TinyOS Module TinyOS Install
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.