Presentation is loading. Please wait.

Presentation is loading. Please wait.

AODVjr TinyOS Implementation

Similar presentations


Presentation on theme: "AODVjr TinyOS Implementation"— Presentation transcript:

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


Download ppt "AODVjr TinyOS Implementation"

Similar presentations


Ads by Google