Nghiên cứu và cài đặt mô phỏng hoạt động của giao thức DREAM và DSR trong mạng MANET

76 528 2
Nghiên cứu và cài đặt mô phỏng hoạt động của giao thức DREAM và DSR trong mạng MANET

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI CẢM ƠN Em xin chân thành cảm ơn thầy giáo Th.S Nguyễn Đình Dũng – môn mạng truyền thông giúp đỡ em hoàn thành báo cáo Là sinh viên chuyên ngành mạng, em nhận nhiều giúp đỡ từ phía thầy cô môn từ việc chọn đề tài hoàn chỉnh báo cáo Em nhận thấy tâm huyết nhiệt tình thầy cô đặc biệt thầy Th.S Nguyễn Đình Dũng – giáo viên hướng dẫn em, giúp em biết cần phải cố gắng nhiều học tập nghiên cứu Dưới báo cáo em, em cố gắng song tránh khỏi sai sót Vì em mong nhận đóng góp thầy cô bạn bè cho đề tài em hoàn thiện Em xin trân trọng cảm ơn! Sinh viên Vũ Thị Thanh Thảo LỜI CAM ĐOAN Em xin cam đoan: Những nội dung đồ án thân em thực hướng dẫn trực tiếp thầy giáo hướng dẫn: Th.S Nguyễn Đình Dũng Mọi tham khảo dùng đồ án trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố Mọi chép không hợp lệ có thông tin sai lệch nào, em xin chịu hoàn toàn trách nhiệm trước Hội Đồng Sinh viên Vũ Thị Thanh Thảo MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC HÌNH ẢNH .6 LỜI NÓI ĐẦU MỞ ĐẦU 11 Xu phát triển công nghệ thông tin ngày 11 Tính cấp thiết đề tài .12 Mục tiêu đề tài .13 Phương pháp phạm vi nghiên cứu đề tài 13 CHƯƠNG 15 MẠNG MANET CÁC GIAO THỨC ĐỊNH TUYẾN TRONG MANET 15 1.1 Lịch sử phát triển .15 1.2 Các đặc điểm mạng MANET ứng dụng .16 1.2.1 Các đặc điểm .16 1.2.2 Các ứng dụng .16 1.3 Vấn đề định tuyến mạng MANET 17 1.3.1 Các thuật toán định tuyến truyền thống 17 1.3.2 Các yêu cầu việc định tuyến mạng MANET18 1.4 Phân loại mạng Manet 19 1.4.1 Phân loại mạng MANET theo cách thức định tuyến 19 - Thường có tần số dùng lại 19 - Mỗi node gần thường có tần số khác 19 - Trong node đường đơn chuyên dụng sử dụng để dẫn chuyển động node 19 20 1.4.2 Phân loại mạng MANET theo chức node 21 1.5 Giao thức định tuyến Manet 23 1.5.1 Định tuyến theo bảng (proactive) .23 1.5.2 Định tuyến theo yêu cầu (reactive) .24 1.5.3 Giao thức định tuyến lai ghép .25 CHƯƠNG 26 GIAO THỨC DSR DREAM TRONG MẠNG MANET 26 2.1 Giao thức DSR (Dynamic Source Routing) .26 2.1.1 Khám phá tuyến 27 2.1.2 Duy trì tuyến 30 2.1.3 Các tính phát tuyến gia tăng .31 2.1.4 Các tính trì tuyến gia tăng 34 2.1.5 Kết luận .36 2.2 Giao thức DREAM 36 2.2.1 Giới thiệu .36 2.2.2 Lan truyền thông tin vị trí 38 2.2.3 hình mẫu DREAM 40 2.2.4 Thuật toán DREAM 42 2.3 Một số giao thức định tuyến khác 46 2.3.1 Giao thức Ad-hoc On-demand Distance Vector (AODV) 46 2.3.2 Giao thức TORA 47 CHƯƠNG 50 PHỎNG HOẠT ĐỘNG CỦA GIAO THỨC DREAM DSR TRÊN PHẦN MỀM NETWORKSIMULATOR – .50 3.1 Tổng quan NS2 50 3.1.1 Kiến trúc NS2 .50 - Các modun trợ giúp thiết lập mạng (modun Plumbing) 51 - Khởi tạo lập lịch kiện 51 - Thiết lập hình mạng dùng đối tượng thành phần mạng 52 - Báo cho nguồn traffic bắt đầu truyền ngưng truyền packet Bộ lập lịch kiện 52 - Tổ chức định thời 52 - Hủy kiện hàng đợi kiện 52 - Triệu gọi thành phần mạng 52 - File name trace ( file.nam) dùng cho công cụ Minh họa mạng Nam .52 - File Trace (file.tr) dùng cho công cụ lần vết giám sát XGRAPH hay TRACEGRAPH .52 - NAM Visual Simulation: ảo NAM .52 - Tracing and Monitoring Simulation: lần vết giám sát 52 Bằng cách sử dụng C++/OTcl, mạng phải hoàn toàn hướng đối tượng 53 - thông số hay cấu hình thay đổi 54 - Cấu hình, thiết lập làm lần 54 - Thực ta muốn cách thao tác đối tượng C++ tồn 54 3.1.2 Đặc điểm NS-2 .55 3.1.3 Các thành phần cấu hình mạng NS-2 55 3.1.4 Ứng dụng NS-2 60 3.1.5 Các Agent NS2 63 3.1.6 Ngôn ngữ NS2 65 3.2 Xây dựng kịch giao thức 69 3.2.1 Công cụ để phân tích kết 70 3.2.2 Kết giao thức DREAM 72 3.2.3 Kết giao thức DSR .72 KẾT LUẬN 73 TÀI LIỆU THAM KHẢO 74 PHỤ LỤC .75 DANH MỤC HÌNH ẢNH Hình 0.1: Định tuyến Single-hop 20 Hình 1.2: Định tuyến Multi-hop 20 Hình 1.3: hình mạng phân cấp 22 Hình 1.4: hình mạng Aggregate 23 Hình 1.5: Phân loại giao thức định tuyến mạng Manet .23 27 Hình 2.1: Khám phá tuyến DSR 27 Hình 2.2: Duy trì tuyến, node C chuyển tiếp từ A đến E qua liên kết tới bước nhảy D 30 Nếu gói tin truyền lại qua số chặng vượt số lần cực đại cho phép mà chưa nhận khẳng định từ node tiếp theo, node gửi tin báo lỗi tuyến RERR quay trở lại node gửi tin ban đầu để xác minh tuyến bị lỗi từ node Ví dụ hình trên: Nếu node C truyền tin đến node D tiếp theo, C gửi tin RERR node A tường trình tuyến từ C đến D bị đứt Khi A xóa đường liên kết bị lỗi khỏi nhớ tuyến Việc truyền lại tin ban đầu nhiệm vụ chức thủ tục lớp cao TCP Trong trường hợp phải gửi lại gói tin tới đích E nhớ tuyến node A có tuyến khác tới E (ví dụ từ tin trả lời tuyến từ thủ tục khám phá tuyến trước từ việc nghe lỏm thông tin định tuyến từ gói tin khác) gửi gói tin sử dụng tuyến Nếu không thực thủ tục khám phá tuyến tới đích E nói 30 Hình 2.3: Những giới hạn việc lưu thông tin định tuyến overhead 32 Hình 2.4: Hồi âm RR sử dụng tuyến lưu 33 Hình 2.5: Giới hạn bước Router Request 34 Hình 2.6: Các node mạng kết nối thông qua sóng ngắn .35 Hình 2.7: x khoảng cách lớn mà node R t₁ – t₀ 42 Hình 2.8: Quá trình dò tìm đường từ node nguồn đến node đích giao thức AODV 47 Hình 2.9: hình nước chảy mạng với giao thức TORA 48 Hình 3.1: hình đơn giản NS 51 Hình 3.2: Luồng kiện cho file Tcl chạy Nam 52 Hình 3.3: Kiến trúc NS-2 53 Hình 3.4: TclCL hoạt động liên kết A B 53 Hình 3.5: Cấu trúc Heap giảm 57 Hình 3.6: Hình ảnh dịch vụ với số node 30 72 Hình 3.7: Hình ảnh dịch vụ với số node 30 72 LỜI NÓI ĐẦU Cùng với gia tăng nhanh chóng số lượng công nghệ thiết bị di động kéo theo nhu cầu người sử dụng công nghệ không dây ngày cao đa dạng Vì để đáp ứng xu đó, mạng thông tin không dây ngày phải gánh vác trọng trách lớn giải vấn đề lưu lượng đa phương tiện, tốc độ cao, chất lượng ngày phải tốt Song song với yêu cầu hỗ trợ đa phương tiện với chất lượng dịch vụ (QoS) đảm bảo, công nghệ giao tiếp không dây khác xuất Đặc biệt thu hút quan tâm mạng không dây loại hình mạng phi cấu trúc MANET (Mobile Adhoc Network) với khả kết nối đơn giản, hiệu quả, có nhiều đặc trưng ưu việt phù hợp với xu phát triển Trong MANET, node tham gia vào mạng di chuyển tự do, cấu hình mạng gồm nhiều chặng thay đổi ngẫu nhiên liên tục thời điểm nào, bao gồm liên kết song hướng hướng Trong mạng MANET node mạng kết nối với mà không cần đến trạm thu phát, node mạng di chuyển tự cấu trúc mạng có tính chất di động cao làm giảm bớt phụ thuộc vào sở hạ tầng, làm cho mạng phát triển dễ dàng Đặc biệt mạng MANET mạng phi cấu trúc thực thể quản lý tập trung đảm bảo việc tham gia hay ngắt kết nối mạng tiện lợi không làm sập hệ thống mạng Việc tham gia vào hệ thống mạng nhanh chóng đơn giản phù hợp với họp, hội nghị… Không cần thiết kế lắp đặt hệ thống trạm thu phát, dây dẫn… Bên cạnh đó, vấn đề định tuyến mạng MANET lại vấn đề phức tạp cấu trúc mạng thay đổi thường xuyên (cấu trúc động) Các node tham gia kết nối hủy bỏ kết nối lúc Có nhiều giao thức định tuyến sử dụng mạng MANET, tùy thuộc vào yêu cầu sử dụng Khẳng định giao thức có ưu điểm tính khả dụng riêng, với kiến thức thu thập sau năm học tập trường em chọn đồ án: “Nghiên cứu cài đặt hoạt động giao thức DREAM DSR mạng MANET ” Nội dung đề tài gồm chương: Chương 1: Tổng quan mạng MANET giao thức định tuyến mạng MANET Nội dung: Tổng quan mạng MANET, giới thiệu khái niệm, đặc điểm, ứng dụng mạng MANET Chương 2: Giao thức DSR DREAM mạng MANET Nội dung: Tổng quan giao thức định tuyến DSR giao thức định tuyến DREAM mạng MANET Chương 3: hoạt động giao thức DREAM DSR phần mềm NETWORK SIMULATOR – Nội dung: Tìm hiểu công cụ NS-2 hỗ trợ NS-2 Tiến hành khảo sát xây dựng hình hoạt động cho giao thức Đồ án tổng quan hai giao thức định tuyến DSR DREAM mạng MANET, xây dựng chương trình Network Simulator Trong trình làm điều kiện thời gian trình độ có hạn tránh khỏi sai sót Vì em mong nhận đóng góp ý kiến thầy cô bạn để đề tài hoàn thiện Em xin chân thành cảm ơn BẢNG THUẬT NGỮ VIẾT TẮT Tên viết tắt MANET DSDV OLSR DSR AODV ZRP TORA GPS DREAM Ý nghĩa Mobile Ad hoc Network Destination Sequenced Distance Vector Optimized Link State Routing Dynamic Source Routing Ad-Hoc On-Demand Distance Vector Zone Routing Protocol Temporally Ordered Routing Algorithm Global Positioning System Distance Routing Effect Algorithm For Perl NS-2 RREQ RREP LT FIFO Mobility Practical Extraction and Report Language Network Simulator Version Route Request Route Reply Location Table First In First Out 10 -topoInstance $topo \ -wiredRouting OFF \ -agentTrace ON \ -routerTrace OFF \ -macTrace OFF Tiếp theo, tạo hình mạng không dây với năm MobileNode theo cú pháp: set val(nn) for { set j } { $j < $val(nn)} {incr j} { set node_($j) [ $ns_ node ] $node_($i) random-motion ;# disable random motion }  Tạo kịch chuyển động cho Node Các MobileNode thiết kế để chuyển động ba chiều ( X, Y, Z) Tuy nhiên, công cụ giả lập mạng này, chiều Z không sử dụng ( Z=0), nên MobileNode chuyển động theo hai chiều X, Y Trong NS-2, có hai phương pháp để tạo chuyển động cho MobileNode: + Khởi tạo vị trí ban đầu cho MobileNode khai báo địa đích mà MobileNode di chuyển tới cách tường minh + Thiết lập cho MobileNode di chuyển ngẫu nhiên Phương pháp thứ $node set X_ $node set Y_ $node set Z_ $ns at $time $node setdest Chú thích: Ban đầu, ta khởi tạo vị trí bắt đầu cho node với tọa độ (x1, y1, 0) Sau đó, thời điểm “$time” giây, node bắt đầu di chuyển từ vị trí khởi tạo(x1, y1, 0) đến vị trí đích (tọa độ ( x2, y2, 0)) với vận tốc speed 62 Phương pháp thứ hai $node start Chú thích: MobileNode khởi tạo ngẫu nhiên cho vị trí ban đầu, vị trí đích tốc độ di chuyển 3.1.5 Các Agent NS2  UDP Agent UDP agent cài đặt bên node gửi liệu cài đặt bên node nhận Agent agent không hướng kết nối, tức chế để phát gói tin bị truyền, truyền lại gói tin bị Nó thích hợp cho ứng dụng không đòi hỏi độ xác cao, chấp nhận chịu mát liệu Các cú pháp thông dụng dùng để thiết lập UDP agent NS-2: + Tạo thể nghiệm đối tượng UDP agent: set udp0 [new Agent/UDP] + Kết nối agent UDP cho node: $ns_ attach-agent + Cài đặt ứng dụng cho agent: $traffic-gen attach-agent Để cài đặt ứng dụng CBR cho agent udp1, ta có cú pháp: set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $udp1 + Tạo kết nối hai agent: $ns_ connect + Các thông số thiết lập chi tiết cho agent UDP: $udp set packetSize_ $udp set dst_addr_ $udp set dst_port_ $udp set class_ $udp set ttl_ 63 Tạo ứng dụng CBR, với agent UDP: set ns [new Simulator] set n0 [$ns node] set n1 [$ns node] $ns duplex-link $n0 $n1 5Mb 2ms DropTail set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $udp0 set packetSize_ 536 ;# set MSS to 536 bytes set null0 [new Agent/Null] $ns attach-agent $n1 $null0 $ns connect $udp0 $null0 $ns at 1.0 "$cbr0 start"  TCP Agent Trong NS-2, TCP agent chia làm hai loại: + Agent chiều + Agent hai chiều Agent chiều agent đóng hai vai trò bên gửi bên nhận Trong đó, agent hai chiều agent đóng hai vai trò vừa bên nhận, vừa bên gửi Hiện nay, agent phát triển Các agent chiều bên gửi (one-way TCP sending agents) cài đặt NS: + Agent/TCP + Agent/TCP/Reno + Agent/TCP/Newreno + Agent/TCP/Sack1 + Agent/TCP/Vegas + Agent/TCP/Fack Các TCP agent chiều bên nhận (one-way TCP receiving agents): 64 + Agent/TCPSink + Agent/TCPSink/DelAc + Agent/TCPSink/Sack1 + Agent/TCPSink/Sack1/DelAck TCP agent hai chiều ( two-way TCP agent): + Agent/TCP/FullTcp 3.1.6 Ngôn ngữ NS2  Giới thiệu NS2 dùng hai ngôn ngữ có hai việc khác cần thực hiện: - Một mặt, chi tiết giao thức yêu cầu ngôn ngữ lập trình hệ thống mà hoạt động có hiệu tới byte, packet header, thuật toán chạy liệu lớn.Với tác vụ này, tốc độ chạy thực (runtime speed) quan trọng, thời gian thay đổi (chạy giả lập, sửa lỗi, biên dịch lại, chạy lại) không quan trọng - Mặt khác, phần lớn mạng nghiên cứu, bao gồm thông số, cấu hình khác nhau, thăm dò nhanh số hoạt cảnh Trong trường hợp này, thời gian tương tác (chạy lại, thay đổi chế độ) quan trọng cấu hình chạy lần, thời gian chạy thực không quan trọng NS2 kết hợp tất yêu cầu với hai ngôn ngữ C++ OTcl C++ nhanh chạy, chậm thay đổi, phù hợp với việc xử lý chi tiết giao thức OTcl chạy chậm thay đổi nhanh, ý tưởng cho cấu hình giả lập NS2 thông qua (Tclcl) cung cấp “keo” để tạo đối tượng biến xuất hai ngôn ngữ OTcl dùng để : + Cấu hình, setup “one-time” stuff + Làm công việc mà sử dụng đối tượng C++ có sẵn C++ dùng cho: +Làm công việc yêu cầu phải xử lý gói tin luồng 65 + Nếu cần phải thay đổi cách ứng xử lớp C++, sẵn có cách mà trước  Ngôn ngữ TCL Lớp Tcl: Lớp Tcl đóng gói thể thực (actual instance) trình thông dịch OTcl cung cấp phương thức để truy cập giao tiếp với trình thông dịch Một instance lớp tả ~/tclcl/tcl.cc biến thành phần tĩnh Lập trình viên phải đặt tham chiếu đến instance để truy cập tới phương thức khác Khai báo: Tcl & tcl = Tcl::instance(); Yêu cầu thủ tục Otcl: Có công cụ khác để yêu cầu lệnh OTcl thông qua instance Tcl Chúng khác thông số Mỗi hàm truyền xâu tới trình thông dịch sau định giá xâu ngữ cảnh toàn cục Các phương thức trả nơi gọi trình thông dịch trả TCL_OK Ngược lại, trình thông dịch trả vể TCL_ERROR, phương thức gọi tkerror{} Người dùng chèn thêm phương thức để có thông báo lỗi cách xác - Tcl.eval(char *s) yêu cầu Tcl_GlobalEval() chạy s thông qua trình thông dịch - Tcl.evalc(const char* s) bảo vệ tham số s Nó copy s vào đệm trong, sau yêu cầu hàm eval(char *s) đệm - Tcl.eval() giả định lệnh lưu đệm bp_ lớp, trực tiếp yêu cầu Tcl.eval( char* bp_) Một handle tới đệm thông qua phương thức tcl.buffer(void) - Tcl.evalf(const char* s, ) gần tương đương Printf(3) Nó sử dụng vsprintf(3) nội để tạo xâu vào Truyền kết tới/từ trình thông dịch: Khi trình thông dịch yêu cầu phương thức C++, tiếp nhận kết trả lại biến thành phần private, tcl_->result Hai phương thức có khả để đặt biến này: - Tcl.result(const char* s) truyền xâu kết s lại trình thông dịch 66 - Tcl.resultf(const char* fmt, ) - varargs(3) biến đổi để định dạng kết sử dụng vsprintf(3), truyền xâu kết tới trình thông dịch if (strcmp(argv[1], "now") = = 0) { tcl.resultf("%.17g", clock()); return TCL_OK; } tcl.result("Invalid operation specified"); return TCL_ERROR; Khi phương thức C++ yêu cầu lệnh OTcl, trình thông dịch trả kết tcl_->result tcl.result(void) phải dùng để nhận kết Chú ý rằng, kết xâu, phải chuyển tới định dạng bên tương ứng với kiểu kết tcl.evalc("Simulator set NumberInterfaces_"); char* ni = tcl.result(); if (atoi(ni) != 1) tcl.evalc("Simulator set Number Interfaces_ 1"); Lớp TclObject: Lớp TclObject lớp sở cho hầu hết lớp khác phân cấp thông dịch biên dịch Mỗi đối tượng lớp TclObject tạo người dùng từ trình thông dịch Một đối tượng bóng tương đương tạo phân cấp biên dịch Hai đối tượng liên kết mật thiết với Ví dụ cấu hình TclObject, tác tử SRM lớp Agent/SRM/Adaptive set srm [new Agent/SRM/Adaptive] $srm set packetSize_ 1024 $srm traffic-source $s0 Với quy ước ns, lớp Agent/SRM/Adaptor lớp Agent/SRM, lớp lớp Agent, lớp lớp TclObject Phân cấp lớp biên dịch tương ứng ASRMAgent, thừa kế từ Agent, thừa kế từ TclObject tương ứng 67 Tạo đối tượng TclObject: Bằng cách dùng new{}, trình thông dịch chạy hàm khởi tạo cho đối tượng đó, init{}, truyền cho tham số cung cấp người dùng Đối tượng bóng tạo hàm thiết lập lớp sở TclObject Do hàm khởi tạo cho đối tượng TclObject phải gọi hàm khởi tạo lớp cha new{} trả handle tới đối tượng Trình tự hành động sau thực trình thông dịch phần việc khởi tạo đối tượng TclObject - Lấy handle đối tượng từ không gian tên TclObject - Gọi hàm khởi tạo cho đối tượng hàm khởi tạo đối tượng lớp Hàm khởi tạo đối tượng gốc TclObject tạo đối tượng bóng thực khởi tạo cho - Sau đối tượng bóng tạo xong, hàm create_shadow(void) sẽ: + Thêm đối tượng vào bảng băm TclObjects +Gắn cmd{} thành thủ tục instance đối tượng thông dịch Thủ tục instance gọi phương thức command() đối tượng biên dịch.Các kỹ thuật tạo bóng thực người dùng tạo đối tượng TclObject thông qua trình thông dịch Xoá đối tượng TclObject: Hành động xoá delete huỷ đối tượng thông dịch đối tượng bóng Giống hàm thiết lập, hàm huỷ đối tượng phải gọi hàm huỷ cho lớp cha cách tường minh lệnh cuối hàm huỷ Hàm huỷ TclObject yêu cầu thủ tục thể delete-shadow, tiếp yêu cầu phương thức tương ứng trình biên dịch để huỷ đối tượng bóng Trình thông dịch tự huỷ đối tượng thông dịch Liên kết biến: Thông thường, việc truy xuất biến biên dịch hay biến thông dịch giới hạn mã biên dịch hay mã thông dịch Tuy nhiên ns có chế cho phép liên kết biến biên dịch biến thông dịch, thay đổi biến phản ánh vào biến liên kết với nó.Việc liên kết thực thông qua hàm khởi tạo đối tượng biên dịch NS2 hỗ trợ kiểu liệu khác nhau, biến giá trị băng thông, biến thời gian, nguyên, thực biến logic 68 Các phương thức command (định nghĩa gọi): Mỗi TclObject tạo, NS2 thiết lập thủ tục instance, cmd{}, cho phép thực thi hàm thông qua đối tượng biên dịch, cmd{} tự động gọi thủ tục command{} đối tượng biên dịch truyền tham số cần thiết Người dùng yêu cầu phương thức cmd{} theo hai cách: gọi tường minh không tường minh Với cách tường minh, người dùng gọi thủ tục cmd{} truyền tham số hành động cần thực Với cách không tường minh, có thủ tục instance có tên giống hành động cần thực người dùng việc gọi thủ tục instance Lớp TclClass: Lớp biên dịch (TclClass) lớp trừu tượng Các lớp kế thừa từ lớp cung cấp hai chức năng: khởi tạo lớp thông dịch ánh xạ lớp biên dịch cung cấp phương thức để tạo TclObject Mỗi lớp kế thừa liên kết với lớp biên dịch lớp biên dịch Lớp Tcl Command: Lớp cung cấp kỹ thuật cho ns để xuất lệnh đơn giản tới trình thông dịch, mà sau chạy phạm vi toàn cục trình thông dịch Lớp InstVar: Lớp định nghĩa phương thức kỹ thuật để liên kết biến thành viên C++ đối tượng bóng với biến instance đối tượng thông dịch tương ứng Giá trị biến truy xuất mã biên dịch hay mã thông dịch thời điểm Có lớp tương ứng với loại biến ns: lớp InstVarReal, lớp InsrVarTime, InstVarBandwidth, lớp InstVarInt, lớp InstVarBool, tương ứng liên kết với biến thực, thời gian, băng thông, số nguyên, biến logic 3.2 Xây dựng kịch giao thức Trong phần hoạt động dịch vụ DREAM DSR mạng MANET Sau kịch giao thức : Kịch 1: Giao thức DSR - Số node: 30 - Diện tích: 950x950 m - Vận tốc tối đa: 350m/s 69 - Thời gian 20s Kịch 2: Giao thức DREAM Số node: 30 - Diện tích: 950x950 m - Vận tốc tối đa: 350m/s - Thời gian 20s Các node kịch lúc khởi tạo có vị trí giống di chuyển node kịch giống 3.2.1 Công cụ để phân tích kết Trong phần đánh giá ngôn ngữ mà chọn để xây dựng kịch ngôn ngữ lập trình Perl Khái niệm Perl Perl (Practical Extraction and Report Language) ngôn ngữ lập trình phát triển cho thao tác văn bản, sau phát triển để sử dụng cho loạt ứng dụng khác như: Quản trị hệ thống, phát triển web, lập trình mạng, giao diện phát triển,…Ưu điểm vượt trội Perl nhỏ gọn, dễ sử dụng, hỗ trợ lập trình hướng đối tượng (OOP), xây dựng hỗ trợ xử lý văn Mục đích Perl Perl thiết kế để trợ giúp cho người dùng UNIX với nhiệm vụ thông dụng mà nhậy cảm với tính khả chuyển trình shell, ngắn không phức tạp ngôn ngữ lập trình C hay ngôn ngữ công cụ UNIX khác Khi quen thuộc với Perl, thời gian để lấy trích dẫn dòng lệnh shell (hay khai báo C), thời gian để lập trình Perl công cụ trợ giúp tuyệt vời Các cấu trúc chặt chẽ Perl cho phép tạo số giải pháp với công cụ mang tính tổng quát Vì vậy, lấy công cụ sang công việc tiếp, Perl có tính khả chuyển cao lại có sẵn hầu hết hệ thống 70 Giống ngôn ngữ khác, Perl “chỉ viết” - tức viết chương trình cho máy hiểu mà người "đọc hiểu" Nhưng ý cẩn thận,có thể tránh điều Thật vậy, Perl trông khó với không quen, với người lập trình thạo Perl dễ Tính sẵn có Perl lấy miễn phí vài cài vào hệ thống Perl phân phối theo giấy phép công cộng GNU (GNU Public License), nghĩa bạn phân phát binary Perl với điều kiện phải kèm theo mã nguồn miễn phí; bạn sửa đổi Perl theo ý bạn bạn phải phân phối mã nguồn phần mà bạn sửa đổi Bạn lấy mã nguồn Perl hoàn toàn miễn phí qua đường download mà tốn vài MB để lưu trữ khoảng thời gian để tải xuống  Sử dụng Perl Để chạy Perl Linux, ta dùng lệnh sau: perl progName.pl Viết Script perl, đặt dòng sau lên đầu Script #!/usr/bin/perl Sau chạy lệnh: /duongdan/script.pl Cú pháp Perl: Một đoạn code Perl script hay chương trình bao gồm nhiều statements Các statements đơn giản viết kiểu cách đơn giản script Không thiết phải có main() tương tự perl statements kết thúc dấu “ ; “ Ví dụ: print”Hello, I’m Tu”; Sử dụng “#” để Comments Perl, ví dụ: # Comment 71 3.2.2 Kết giao thức DREAM Hình 3.6: Hình ảnh dịch vụ với số node 30 3.2.3 Kết giao thức DSR Hình 3.7: Hình ảnh dịch vụ với số node 30 72 KẾT LUẬN  Các kết đạt Trong thời gian làm đồ án với hướng dẫn bảo thầy giáo Nguyễn Đình Dũng em đạt số kết sau: Nghiên cứu tìm hiểu tổng quan mạng Mobile Ad hoc, giao thức định tuyến mạng Mobile Ad hoc lý thuyết giao thức (hay dịch vụ) hỗ trợ định tuyến mạng MANET, cụ thể DREAM Nghiên cứu tìm hiểu chế hoạt động dịch vụ hỗ trợ định tuyến DREAM(Distance Routing Efect Algorithm for Mobility) mạng MANET Nắm bắt cách sử dụng phần mềm mạng NS-2 hệ điều hành UBUNTU Triển khai giao thức DSR DREAM mạng MANET  Hướng phát triển đề tài Tuy nhiên thời gian có hạn trình độ thân hạn chế nên có vài vấn đề mà em chưa thể hoàn thành, vấn đề nghiên cứu tương lai: - Tiến hành nghiên cứu, đánh giá hiệu dịch vụ DREAM mạng MANET - Áp dụng thực tế, so sánh giao thức DSR giao thức DSR có hỗ trợ dịch vụ định vị DREAM - So sánh dịch vụ DREAM dịch vụ định vị khác, rút nhận xét Từ áp dụng giao thức định vị khác phù hợp với loại hình mạng - Tìm hiểu vấn đề tiết kiệm lượng cho thiết bị - Nâng cao khả khắc phục cố mạng bảo mật 73 TÀI LIỆU THAM KHẢO [1] Stefano Basagni Imrich Chlamtac Violet R, Syrotiuk Barry A Woodward; A Distance Routing Effect Algorithm for Mobility (DREAM)*; Erik Jonsson School of Engineering and Computer Science The University of Texas at Dallas Email: {basagni, chlamtac, syrotiuk, woodward}@utdallas edu [2] Sung-Ju Lee; Routing and Multicasting Strategies in Wireless Mobile Ad-hoc Networks [3] David B.Johnson David A.Maltz Josh Broch; DSR:The Dynamic Source Routing Protocol for Multi-hop Wireless Ad Hoc Networks; Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213-3891 [4] Carlos de Morais Cordeiro and Dharma P Agrawal; Mobile Ad hoc Networking; OBR Research Center for Distributed and Mobile Computing, ECECS University of Cincinnati, Cincinnati, OH 45221-0030-USA {cordeicm, dpa}@ececs.uc.edu [5] Mohammad Ilyas; THE HANDBOOK OFAD HOC WIRELESS NETWORKS; Florida Atlantic University Boca Raton, Florida [6] Ajay Vikram Singh, Prof M Afshar Alam and Prof Bani Singh; Mobility Based Proactive and Reactive Routing Algorithm in Mobile Ad hoc Networks (MANETs); Research Scholar, Department of Computer Science, Jamia Hamdard University, New Delhi, (India), - Head,Department of Computer Science, Jamia Hamdard University, New Delhi, (India), - Head, Department of Mathematics and Computer Applications, JIIT University, Noida, (India), [7] Martin Mauve and Jorg Widmer; A Survey on Position-Based Routing in Mobile Ad Hoc Networks; University of Mannheim Hannes Hartenstein, NEC Europe, Heidelberg 74 PHỤ LỤC Cấu trúc file Trace DREAM Cấu trúc tổng quát sau: %c -t %.9f -Hs %d -Hd %d -Ni %d -Nx %.2f -Ny %.2f -Nz %.2f -Ne %f -Nl %3s -Nw %s -Ma %x -Md %x -Ms %x -Mt %x -Is %d.%d -Id %d.%d -It %s -Il %d -If %d -Ii %d -Iv %d Dream [%d] dist[%.2f] src[ %d (%.3f,%.3f)] to %d first? %d t %f o_id %d Một dòng trace giao thức DREAM: s -t 1.154781019 -Hs 14 -Hd -1 -Ni 14 -Nx 248.97 -Ny 733.68 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw - -Ma -Md ffffffff -Ms e -Mt 800 -Is 14.253 -Id -1.253 -It Dream -Il 81 -If -Ii -Iv 32 Dream [0] dist[0.00] src[ 14 (248.970,733.680)] to -1 first? t 1.154042 o_id Chi tiết: %c: Sự kiện xảy -t %.9f: Thời gian xảy kiện -Hs %d: Id node xảy kiện -Hd %d: Id node đích (-1: broadcast) -Ni %d: Id node xảy kiện -Nx %.2f: Hoành độ node -Ny %.2f: Tung độ node -Nz %.2f: Tọa độ trục z(thường =0) -Ne %f: Năng lượng Nl %3s: Tầng xảy kiện cấu trúc tầng -Nw %s: Lý xảy kiện -Ma %x, -Md %x, -Ms %x, -Mt %x: Là trường tầng (Data Link) gói tin -Is %d.%d: Địa IP nguồn port nguồn gói tin -Id %d.%d: Địa IP đích port đích gói tin -It %s: Giao thức định tuyến tầng (thường Dream) -Il %d: Kích thước gói tin 75 -If %d: flow id -Ii %d: Id gói tin -Iv %d: time to live Dream [%d]: Cho biết loại gói tin giao thức DREAM dist[%2f]: Khoảng cách tối đa gói tin mạng src[%d (%.3f,%.3f)]: Địa node gửi, gồm ID node, hoành độ x, tung độ y to %d: ID node nhận(-1:broadcast) first? %d: Node ID mà gói tin chuyển tới trước tiên t %f: Thời gian xảy kiện giao thức DREAM o_id %d: Id ban đầu gói tin 76 ... trường mô phỏng, đưa giao thức định tuyến mạng MANET vào mô thông qua NS-2 14 CHƯƠNG MẠNG MANET VÀ CÁC GIAO THỨC ĐỊNH TUYẾN TRONG MANET 1.1 Lịch sử phát triển Mạng MANET (Mobile Ad-hoc Netwowk) mạng. .. cách thức hoạt động giao thức mạng mức độ khác Nội dung cụ thể gồm: - Tìm hiểu sâu mạng MANET, chủ yếu xem xét tới giao thức định tuyến - Tìm hiểu sâu giao thức DREAM DSR mạng MANET - Xây dựng môi... quan mạng MANET giao thức định tuyến mạng MANET Nội dung: Tổng quan mạng MANET, giới thiệu khái niệm, đặc điểm, ứng dụng mạng MANET Chương 2: Giao thức DSR DREAM mạng MANET Nội dung: Tổng quan giao

Ngày đăng: 19/04/2017, 22:34

Từ khóa liên quan

Mục lục

  • - Thường có 7 tần số được dùng lại.

  • - Mỗi node gần nhau thường có tần số khác nhau.

  • - Trong mỗi node những đường đơn chuyên dụng được sử dụng để chỉ dẫn sự chuyển động của node đó.

  • - Các modun trợ giúp thiết lập mạng (modun Plumbing)

  • - Khởi tạo bộ lập lịch sự kiện.

  • - Thiết lập mô hình mạng dùng các đối tượng thành phần mạng.

  • - Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong Bộ lập lịch sự kiện.

  • - Tổ chức bộ định thời mô phỏng.

  • - Hủy các sự kiện trong hàng đợi sự kiện.

  • - Triệu gọi các thành phần mạng trong mô phỏng.

  • - File name trace ( file.nam) được dùng cho công cụ Minh họa mạng Nam

  • - File Trace (file.tr) được dùng cho công cụ lần vết và giám sát mô phỏng XGRAPH hay TRACEGRAPH.

  • - NAM Visual Simulation: Mô phỏng ảo NAM

  • - Tracing and Monitoring Simulation: Mô phỏng lần vết và giám sát

  • Bằng cách sử dụng C++/OTcl, bộ mô phỏng mạng phải hoàn toàn là hướng đối tượng.

  • - Mô phỏng những thông số hay cấu hình thay đổi.

  • - Cấu hình, thiết lập những gì chỉ làm 1 lần.

  • - Thực hiện những cái ta muốn bằng cách thao tác trên các đối tượng C++ đang tồn tại.

Tài liệu cùng người dùng

Tài liệu liên quan