Các giao thức định tuyến cho mạngMANET có thể được chia ra như sau:Dựa trên topology: Các gói tin được định tuyến bằng cách sử dụng thông tin - Hybrid: Là sự kết hợp của định tuyến chủ ứ
Trang 1LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn các thầy (cô) giáo trong bộ mônMạng & Truyền Thông cũng như các thầy cô giáo trong trường Đại học Công nghệThông tin & Truyền thông, những người đã dạy dỗ, trang bị cho em những kíến thức
bổ ích trong thời gian em được học tập và nghiên cứu tại trường
Em xin bày tỏ lòng biết ơn sâu sắc nhất tới thầy giáo ThS Lê Khánh Dươngngười đã tận tình hướng dẫn, gợi ý và chỉ bảo cho em trong suốt thời gian làm đồ ántốt nghiệp vừa qua để em có thể hoàn thành đồ án một cách tốt nhất
Tiếp theo, em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, nhữngngười thân đã cổ vũ, động viên tiếp thêm cho em nghị lực để em hoàn thành bản báocáo thực tập tốt nghiệp này
Em xin chân thành cảm ơn !
Sinh viên
Phạm Sĩ Thức
Trang 2LỜI CAM ĐOAN
Trong kỳ làm đồ án tốt nghiệp này để hoàn thành nội dung bản đồ án bảnthân em đã tự tìm hiểu, nghiên cứu dựa trên các tạp chí, sách báo và những nguồn
tài liệu trên internet, cộng với sự giúp đỡ nhiệt tình của ThS Lê Khánh Dương và sự
tham khảo cách thức trình bày từ một một số đồ án từ các khóa trước Kết quả là em
đã hoàn thành đồ án với đề tài “Nghiên cứu và cài đặt mô phỏng hoạt động của dịch vụ HLS trong mạng MANET”
Em xin cam đoan nội dung trong đồ án này không sao chép từ các đồ ántrước đó Nếu có điều gì sai sót em xin chịu hoàn toàn trách nhiệm
Thái Nguyên, tháng 6 năm 2012
Trang 3MỤC LỤC
Trang 4DANH MỤC HÌNH ẢNH
11
Hình 1-1 Mạng MANET với 7 node mạng 11
16
Hình 1-2 Đi đến cực điểm cục bộ 16
17
Hình 1-3 Định tuyến GPSR 17
19
Hình 1-4 Giao thức LAR 19
23
Hình 1-5 Hiệu ứng khoảng cách 23
24
Hình 1-6 Phân phát gói tin DREAM 24
26
Hình 1-7 Cây tứ phân và server định vị 26
27
Hình 1-8 Truy vấn vị trí GLS 27
29
Hình 1-9 Tổng quan về NS dưới góc độ người dùng 29
33
Hình 1-10 Kiến trúc thư mục của ns-allinone-2.xx trong môi trường Linux 33
33
Hình 1-11 Luồng các sự kiện cho file Tcl chạy trong NS 33
38
Hình 2-1 Nhóm các cell tạo thành các region 38
Trang 5Hình 2-2 Candidate tree ở phân cấp 3 cấp 40
41
Hình 2-3 Ví dụ về các reponsible cell của một node 41
42
Hình 2-4 Giải pháp cập nhật trực tiếp 42
43
Hình 2-5 Giải pháp cập nhật gián tiếp 43
46
46
47
Hình 2-6 Các yêu cầu định vị 47
49
Hình 2-7 Cơ chế mở rộng diện tích 49
53
Hình 2-8 Che giấu với một proxy cell 53
65
Hình 3-1 Hình ảnh mô phỏng dịch vụ với số node là 40 65
66
Hình 3-2 Hình ảnh mô phỏng dịch vụ với số node là 80 66
66
Hình 3-3 Hình ảnh mô phỏng dịch vụ với số node là 120 66
67
Hình 3-4 Hình ảnh mô phỏng dịch vụ với số node là 40 67
68
Trang 6Hình 3-5 Biểu đồ thể hiện tỷ lệ gói tin REPLY và gói tin REQUEST 68
68
Hình 3-6 Biểu đồ thể hiện gói tin Update nhận được và gửi đi 68
70
Hình 3-7 Thông lượng tiêu thụ trong mạng 70
72
Hình 3-8 Biểu đồ thể hiện thời gian gói tin request di chuyển trong mạng 72
73
Hình 3-9 Hoạt động của mạng với vận tốc node trung bình là 10m/s 73
73
Hình 3-10 Hoạt động của mạng với vận tốc node trung bình là 30m/s 73
74
Hình 3-11 Hoạt động của mạng với vận tốc node trung bình là 50m/s 74
74
Hình 3-12 Hoạt động của mạng với vận tốc node trung bình là 70m/s 74
75
Hình 3-13 Biểu đồ thể hiện tỷ lệ gói tin REP và gói tin REQ 75
76
Hình 3-14 Biểu đồ thể hiện tỷ lệ gói tin Update nhận được và gửi đi 76
77
Hình 3-15 Thông lượng tiêu thụ trong mạng 77
79
Hình 3-16 Biểu đồ thể hiện thời gian gói tin di chuyển trong mạng 79
Trang 7DANH MỤC BẢNG
Bảng 1-1 Sự so sánh của các dịch vụ định vị……… ……23Bảng 3-1 Cấu trúc của dòng sự kiện HLS gửi yêu cầu……….62Bảng 3-2 Cấu trúc của dòng sự kiện HLS nhận phản hổi……….63Bảng 3-3 Cấu trúc dòng sự kiện HLS khởi tạo một truy vấn vị trí node của mộtnode………64Bảng 3-4 Cấu trúc dòng sự kiện của các gói tin được gửi, nhận, forward và drop 65
Trang 8BẢNG THUẬT NGỮ VIẾT TẮT
DSDV Destination Sequenced Distance Vector
OLSR Optimized Link State Routing
AODV Ad-Hoc On-Demand Distance Vector
TORA Temporally Ordered Routing Algorithm
GLONASS Global Navigation Satellite System
GALILEO European Global Satellite Navigation System
GPSR Greedy Perimeter Stateless Routing
AGPF Anchored Geodesic Packet Forwarding
DREAM Distance Routing Effect Algorithm For Mobility
HLS Hierarchical Location Service
GRSS Geographical Region Summary Service
Perl Practical Extraction and Report Language
Trang 9MỞ ĐẦU
Công nghệ thông tin là một lĩnh vực không thể thiếu trong cuộc sống conngười hiện nay Sự phát triển của công nghệ thông tin là thước đo để đánh giá vềtrình độ phát triển của mỗi quốc gia Công nghệ thông tin đóng góp rất lớn vào trongđời sống cũng như sản xuất của con người Và trong lĩnh vực công nghệ thông tinthì không thể không nhắc tới sự phát triển của các hệ thống mạng như: Mạng diđộng, mạng internet, wireless network…
Truyền thông không dây đang phát triển rất mạnh mẽ trong thời gian gần đây.Những công nghệ tính toán đang được hiện đại hóa rất nhanh, ngày càng có rấtnhiều loại máy tính tiện dụng, nhỏ, nhẹ xuất hiện trên thị tường Những thiết bị này
đã làm cho việc tính toán và truyền thông được thực hiện ở bất cứ đâu và bất cứ thờigian nào Vì vậy một hướng đầy tiềm năng trong các cấu trúc mạng không dây là cóthể truyền thông ở bất cứ đâu và bất cứ thời gian nào và đó là kiểu mạng tùy biếnkhông dây di động (Mobile Ad hoc network - MANET) Một mạng MANET chứamột tập hợp các thiết bị di động mà không cần sự hỗ trợ của trạm cơ sở Nó có thểđược triển khai và hoạt động với nguồi năng lượng là pin
“Nghiên cứu và cài đặt mô phỏng hoạt động của dịch vụ HLS trong mạng MANET” là tên đề tài mà em sẽ giới thiệu trong báo cáo đồ án tốt nghiệp
này Mục đích của đề tài nhằm nghiên cứu dịch vụ định vị trong mạng MANET và
cụ thể là dịch vụ HLS (Hierarchical Location Service) và mô phỏng dịch vụ này trênphần mềm mô phỏng Network Simulator 2
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ MẠNG MOBILE AD HOC 1.1 Giới thiệu tổng quan về mạng Mobile Ad-hoc.
Với hàng loạt các ưu điểm của công nghệ truyền thông không dây, các mạng
di động không dây đã được phát triển rất mạnh trong thời gian gần đây Dựa trêntính phụ thuộc vào các thiết bị hạ tầng cố định, mạng không dây có thể được chiathành hai loại sau:
- Mạng hạ tầng (Infrastructure-based Network)
- Mạng Ad-hoc (Mobile Adhoc Network- MANET)
Trong mạng hạ tầng các node di động (mobile node) có các điểm truy cập(Access Point) cố định bên trong phạm vi truyền của nó Các Access Point cấu thànhnên xương sống cho một mạng hạ tầng Ví dụ như mạng WLAN (Wireless LocalArea Network – mạng không dây nội bộ) thuộc dạng này
Ngược lại, mạng không dây phi cấu trúc (MANET – Mobile Ad-hocNETwork) được định nghĩa như sau:
Là một mạng được hình thành bởi một tập các node (máy/thiết bị) không dây,
di động mà không hề có bất cứ sự trợ giúp nào của một trạm quản lý tập trung, một
cơ sở hạ tầng truyền thông có trước hoặc sự can thiệp của người dùng Việc truyềnthông giữa các node được thực hiện nếu như hai node là đủ gần nhau để trao đổi cácgói tin
Có thể hình dung mạng MANET như một đồ thị, trong đó các node mạngđược biểu diễn bởi các đỉnh của đồ thị Nếu hai node có thể truyền thông trực tiếpvới nhau, liên kết đó được biểu diễn bởi đường nối giữa hai node Đồ thị biểu diễnnày là một đồ thị tùy ý, có thể thay đổi hình dạng tại bất cứ thời điểm nào
Trang 11Hình 1-1 là một mạng MANET gồm 7 node Hình tròn biểu diễn phạm vihoạt động của mỗi node Các node nằm trong phạm vi hoạt động của nhau có thểtruyền thông trực tiếp được với nhau.
Hình 1-1 Mạng MANET với 7 node mạng
Mạng MANET có thể là một mạng độc lập, hoặc cũng có thể được kết nốivới một mạng khác lớn hơn, ví dụ mạng Internet
Kết nối giữa các node mạng được đặc trưng bởi khoảng cách giữa các node
và tính sẵn sàng hợp tác để tạo thành mạng mặc dù là tạm thời
(1) Khoảng cách giữa các node: Khoảng cách giữa các node hoặc trạng thái ởgần nhau của chúng định nghĩa ranh giới mạng Chỉ cần hai hoặc nhiều nodechuyển động trong một bán kính nhất định là tạo thành một mạng ad-hoc.Chính sự chuyển động làm cho khoảng cách giữa các node thay đổi gây rabản chất đặc biệt (ad-hoc) của mạng
(2) Tính sẵn sàng hợp tác: (1) chỉ là điều kiện cần, chưa phải là điều kiện đủ
để thành lập mạng ad-hoc Các node ở trong khoảng cách đủ gần phải sẵn
Trang 12sàng hợp tác để tạo thành mạng Nói cách khác, tự bản thân node quyết định
“online” hay “offline”
(3) Mạng ngang hàng tạm thời: Tại bất cứ một thời điểm nào, mạng ad-hocđược xác định bởi các node đang “online” và ở trong một khoảng cách nhấtđịnh Một node luôn có xu hướng tham gia hay biến mất khỏi mạng Do đó,mạng được coi là tạm thời Hơn nữa, do không có một cơ sở hạ tầng mạngcho trước, các node trong mạng phải truyền thông theo kiểu ngang hàng(peer-to-peer)
Quan sát thấy những mạng không dây thường được triển khai trong khônggian 3 chiều thực, bởi vì truyền thông không dây phải dựa vào sự truyền tín hiệutrong không gian Trong mạng có dây truyền thống, dây cáp kết nối những thiết bịvới nhau trong một topo cụ thể, vì thế có thể nói rằng mạng có dây bị giới hạn trongkhông gian 3 chiều Sự quan sát thú vị này đã làm cho rất nhiều nhà nghiên cứu tậptrung vào nghiên cứu sự nhận thức vị trí trong MANET Sự nhận thức vị trí có nghĩa
là một host có thể thể biết được vị trí địa lý của nó trong thế giới 3 chiều Trongmạng truyền thống, những host chỉ biết được về tên logic (địa chỉ IP) và không biếtchính xác vị trí thực của nó ở đâu
Trong các mạng MANET thì công việc khó khăn nhất trong việc triển khaihoạt động của mạng đó là nhiệm vụ định tuyến Đã có rất nhiều nghiên cứu của cácnhà khoa học nhằm đưa ra những phương pháp định tuyến tối ưu cho mạngMANET, phần tiếp theo sẽ giới thiệu tổng quan về nhiệm vụ định tuyến trong mạngMANET
1.2 Định tuyến trong MANET
Trang 13Định tuyến là một tiến trình của việc điều hướng một gói tin dữ liệu từ nodenguồn tới node đích của một mạng truyền thông Các giao thức định tuyến cho mạngMANET có thể được chia ra như sau:
Dựa trên topology: Các gói tin được định tuyến bằng cách sử dụng thông tin
- Hybrid: Là sự kết hợp của định tuyến chủ ứng cục bộ và phản ứng liên
vùng để tăng khả năng truyền thông, ví dụ: ZRP,TORA…
Dựa trên vị trí: Các gói tin được định tuyến tùy theo vị trí địa lý của đối tác
truyền thông Thông tin vị trí này được hỗ trợ bởi một dịch vụ định vị
Khi sử dụng các giao thức định tuyến dựa trên topology, chi phí truyền thôngphụ thuộc vào tốc độ thay đổi cấu trúc của mạng Trong một mạng MANET có thểchứa những node di chuyển nhanh, tốc độ thay đổi có thể là cao, kết quả là cần rấtnhiều lưu lượng truyền thông để đảm bảo những thông tin định tuyến trong nhữngnode được cập nhật
Với giao thức định tuyến dựa trên vị trí, những node có thể xác định vị trí củachúng và những node khác trong mạng Điều đầu tiên của những công việc nàyđược thực hiện bởi một hệ thống định vị vị trí, có khá nhiều những hệ thống nhưvậy, như GPS, GLONASS hoặc GALILEO Các dịch vụ này sử dụng độ trễ lantruyền tín hiện của sự phát sóng vô tuyến của vệ tinh để tính toán những vị trí tuyệtđối với sai số nhỏ (khoảng vài mét) Nhưng cũng có những hệ thống không yêu cầuđặc tính này của cơ sở hạ tầng, ví dụ như Self-Positioning Algorithm (SPA) có thể
Trang 14được đề cập để đo khoảng cách giữa các node sử dụng độ trễ lan truyền tín hiệuradio SPA sau đó thiết lập một hệ thống tọa độ mạng quan hệ dựa trên thông tinkhoảng cách.
Để xác định vị trí của những node khác bên trong mạng, một node có thể sửdụng dịch vụ định vị đã được đề cập ở trên Tổng quan của các giao thức định tuyếndựa trên vị trí được thể hiện ở phần này là mỗi node có khả năng học được vị trí củanhững đối tác truyền thông của nó bằng cách truy vấn tới dịch vụ định vị
Ý tưởng cơ bản của định tuyến dựa trên vị trí là chuyển tiếp một gói tin tới vịtrí cuối cùng được biết của node mục tiêu Nếu thông tin vị trí là chính xác đầy đủ,thì node mục tiêu nằm ở bên trong phạm vi vô tuyến của vị trí cuối cùng được biết
và gói tin có thể được phân phát Những quyết định định tuyến cục bộ được dựa trên
vị trí của node mục tiêu, vị trí của node đang chuyển tiếp và các vị trí của các nodehàng xóm của chúng
Hiện nay trong mạng MANET có rất nhiều giao thức định tuyến đã đượctriển khai và sử dụng như:
DSDV (Destination-Sequenced Distance-Vector Routing): Là giao thức
chủ ứng dựa trên dựa trên thuật toán Distance vector được xây dựng bởi C.Perkins
và P.Bhagwat năm 1994 Giao thức này được xây dựng dựa trên tiêu chí giữ nguyên
sự đơn giản của giải thuật Bellman-Ford và loại bỏ vấn đề vòng lặp
OLSR (Optimized Link State Routing Protocol): Là giao thức chủ ứng dựa
trên thuật toán trạng thái kết nối (Link state) Các node gửi định kỳ ra toàn mạngthông điệp “Hello” để trao đổi thông tin về hàng xóm Thông tin này bao gồm IPcủa node, số thứ tự và danh sách các thông tin khoảng cách của các node hàng xóm.Sau khi cập nhật những thông tin này node sẽ xây dựng lên bảng định tuyến của nó
và có cái nhìn tổng thể về toàn mạng Dựa vào bảng định tuyến này nó có thể tự tínhđược đường đi tới các node khác dựa vào thuật toán tìm đường đi ngắn nhất Khi
Trang 15một node nhận được một gói tin trùng lặp với cùng số thứ tự nó sẽ loại bỏ gói tinnày Trong bảng định tuyến node lưu trữ thông tin định tuyến tới tất cả các nodekhác trong mạng.
AODV (Ad Hoc On-Demand Distance Vector): Là giao thức dựa trên thuật
toán vector khoảng cách AODV tối thiểu hoá số bản tin quảng bá cần thiết bằngcách tạo ra các tuyến trên cơ sở theo yêu cầu, ngược với việc duy trì một danh sáchhoàn chỉnh các tuyến như thuật toán DSDV
DSR (Dynamic Source Routing): Là một giao thức định tuyến phản ứng từ
node nguồn Trong đó, các node di động cần duy trì bộ nhớ đệm về tuyến chứa cácnode nguồn mà node di động nhận biết được Các thực thể trong bộ nhớ đệm vềtuyến được cập nhật liên tục
TORA (Temporally Ordered Routing Algorithm): Là một thuật toán định
tuyến phân bố không có vòng lặp và độ thích nghi cao, dựa trên khái niệm đảongược đường thông TORA được đề xuất cho môi trường nối mạng có tính linhđộng cao Nó là một giao thức khởi phát từ nguồn và cung cấp đa tuyến cho mọi cặpnode nguồn/đích cần thiết
Tiếp theo, sau đây là một số giao thức định tuyến dựa trên nhận thức vị trí
1.2.1 GPSR
Greedy Perimeter Stateless Routing (GPSR) là một giao thức định tuyến hoạtđộng theo nguyên tắc:“Tích cực sử dụng sơ đồ địa lý để đạt được khả năng mở
rộng” Đây là sự kết hợp của greedy routing và primeter routing Khi sử dụng
GPSR, mỗi node định kỳ gửi những gói tin broadcast 1-hop gọi là các beacon, chứanode ID và vị trí hiện tại của nó Bởi sử dụng những beacon, mỗi node có thể duy trìmột danh sách các lân cận 1-hop Bất cứ khi nào một node không nhận được mộtbeacon từ một lân cận đã biết trước đó trong một khoảng thời gian nhất định, nó sẽcho rằng lân cận này là không thể đi đến và bị xóa khỏi danh sách hàng xóm
Trang 16Greedy routing chuyển tiếp một gói tin dữ liệu tới hàng xóm gần nhất với vịtrí node mục tiêu Nó tiếp cận node mục tiêu với từng hop cho đến khi nó đủ gần đểphân phát gói tin Cách này làm việc tốt với những hoạt cảnh mật độ node là dàyđặc, ngược lại những gói tin bị hủy trong những hoạt cảnh mật độ node là thưa thớt.Kết quả của sự ảnh hưởng trên được hiển thị trong hình 1-2 S gửi một gói tin tới D,gói tin được chuyển tiếp trong chế độ greedy cho tới khi nó đi đến node F Ở đây, nóđạt đến một cực điểm cục bộ và không thể chuyển tiếp mặc dù một tuyến đường tớiđích tồn tại (đường kẻ xám từ F tới D), bởi theo tuyến đường này, gói tin sẽ phảiđược chuyển tiếp qua các node ở xa D hơn F, điều này mâu thuẫn với quy tắc củađịnh tuyến greedy.
Trang 17biểu như sau: Khi gói tin đi đến node x từ node y, cạnh đi tiếp theo gói tin đi qua làcạnh tuần tự kế tiếp theo hướng ngược chiều kim đồng hồ từ x của cạnh (x,y).
Hình 1-3 Định tuyến GPSR
Chuỗi các cạnh được tìm thấy bằng cách sử dụng luật bàn tay phải được gọi
là perimeter Để tránh các cạnh cắt nhau, điều mà có thể gây cản trở một gói tinđược chuyển tiếp với luật bàn tay phải để tìm một con đường xung quanh điểm void,biểu đồ được trải phẳng trước khi áp dụng luật này Điều này đạt được bằng mộtthuật toán phân phối chỉ sử dụng thông tin cục bộ
Sự kết hợp của greedy routing và định tuyến perimeter routing được hiển thịtrong hình 1-3 Đường nét đậm biểu thị những hop mà gói tin từ nguồn S tới đích Dđược chuyển tiếp trong chế độ greedy Bất cứ khi nào gói tin đi đến một node màkhông có lân cận gần hơn tới D bên trong phạm vi thu phát sóng (diện tích màu tối
Trang 18biểu thị vùng void), gói tin được chuyển sang chế độ perimeter và được chuyển tiếptương ứng theo luật bàn tay phải, được biểu thị bởi đường nét đứt Đường nét trònhiển thị phạm vi vô tuyến của các node, và đường tròn nét đứt phân đoạn khoảngcách tới đích khi gói tin được chuyển tới chế độ perimeter Sau đó nếu nó tìm thấynode mà gần với đích nhất mà trong phạm vi phát sóng thì gói tin thoát khỏi thế độperimeter và trở về chế độ greedy.
1.2.2 Định tuyến Terminodes
Định tuyến Terminodes bao gồm: Anchored Geodesic Packet Forwarding(AGPF) và Terminode Local Routing (TLR) TLR sử dụng định tuyến nguồn để duytrì các tuyến đường tới các lân cận gần với một node Vì thế, nó xác định một lâncận mà mọi node biết vị trí của lẫn nhau Trong AGPF, nguồn bao gồm một danhsách các điểm neo trong gói tin Một điểm neo là một điểm địa lý trên tuyến đường
mà phải được thăm Những điểm neo được tính toán dựa trên một bản đồ hoặc dựatrên thông tin được cung cấp bởi những node khác Giữa các điểm neo, AGPF sửdụng định tuyến greedy tương tự như GPSR Nếu một gói tin đi đến một node mà từ
đó điểm neo có thể được đi đến trong một số lượng các hop được xác định trước thì
nó được chuyển tiếp tới điểm neo tiếp theo Trong trường hợp node mục tiêu nằmbên trong cùng với lân cận thì gói tin được chuyển tới mục tiêu
1.2.3 LAR
Location Aided Routing (LAR) là một phương pháp được sử dụng trongnhững giao thức định tuyến phản ứng trong quá trình khám phá tuyến để hạn chếflooding Với thông tin định vị có sẵn, một vùng kỳ vọng là một vùng yêu cầu đượcđịnh nghĩa Gói tin khám phá tuyến chỉ cần được broadcast trong vùng yêu cầu đểtìm ra node đích Vùng yêu cầu thường chứa vùng kỳ vọng
Trang 19Hình 1-4 Giao thức LAR.
1.3 Dịch vụ định vị
Một dịch vụ định vị trong ngữ cảnh của một mạng mobile ad-hoc là một dịch
vụ phân phối mà trả lời những truy vấn định vị như: “Node X ở đâu?” Vì thế nhữngnode cụ thể trong mạng có thể hoạt động như các server định vị cho X, điều này cónghĩa rằng chúng phục vụ thông tin định vị về node đó Thông thường, một yêu cầuđịnh vị được gửi tới một server định vị và server định vị chuyển tiếp yêu cầu đó tớinode mục tiêu và node mục tiêu sẽ đưa ra một trả lời Phụ thuộc và dịch vụ định vịđược triển khai, những tiêu chuẩn khác nhau được sử dụng để lựa chọn những serverđịnh vị
Các dịch vụ định vị có thể được phân loại bởi số lượng các node mà phục vụdịch vụ (một vài node hoặc tất cả các node hoạt động như những server định vị) vàbằng lượng thông tin được phục vụ trong mỗi server định vị (mỗi server chứa thôngtin về một vài hoặc tất cả các node của mạng):
- Some-for-some
- Some-for-all
Trang 20- All-for-some.
- All-for-all
Nếu những server định vị phục vụ thông tin cho tất cả các node (some-for-all
và all-for-all), lưu lượng cập nhật là cao trong các mạng lớn hơn bởi vì tất cả cácnode phải phát ra vị trí của chúng tới những server định vị Vì thế, hệ thống có thểđối mặt với các vấn đề mở rộng
Ngoài ra còn có các tiêu chuẩn khác để phân loại các dịch vụ định vị là:
Cấu trúc: Một dịch vụ định vị có thể là phân cấp, có nghĩa là nó thiết lập một
loại cụ thể của phân cấp Thông thường, điều này được sử dụng để đạt được sự tậptrung cao hơn của những server định vị gần với vị trí thực của một node Khoảngcách càng lớn thì sự tập trung của những thông tin vị trí càng thấp Nói một cáchthông thường, số lượng các cấp độ phân cấp được thay đổi theo kích thước củamạng Tuy nhiên, có một vài cách tiếp cận với số lượng cố định các cấp của phâncấp Nếu dịch vụ định vị không sử dụng cấu trúc phân cấp thì sẽ là cấu trúc phẳng(flat)
Sự xác định server định vị (LSI): Nếu dịch vụ định vị sử dụng những server
định vị, những server định vị này có thể được xác định bởi node ID (id-based LSI)hoặc bởi vị trí thực của chúng (position-based LSI) Trong trường hợp thứ hai, cácserver là có thể hoán đổi miễn là chúng nằm trong một vùng cụ thể
Phân vùng: Hầu hết các dịch vụ định vị sử dụng việc phân chia diện tích
cũng như sử dụng một kiến trúc phân cấp Các kiến trúc phân cấp dựa trên việc chiavùng mạng thành những vùng khác nhau và sử dụng tập hợp những vùng này đểthành lập ra những vùng ở cấp cao hơn
Chiến lược cập nhật và yêu cầu: Miêu tả phương thức được sử dụng bởi
một dịch vụ định vị để tìm ra các server định vị Các chiến lược có thể là flooding,
Trang 21geocast hoặc unicast Để miêu tả tốt hơn hành vi của một vài phương pháp phân cấp,chúng ta giới thiệu thêm một giải thuật gọi là trewalk Khi sử dụng trewalk, các góitin cập nhật và yêu cầu được chuyển tiếp theo cấu trúc giống cấu trúc cây của phâncấp, một nhánh bắt đầu từ một lá cho tới ngọn.
Ngoài các tiêu chuẩn được đề cập ở trên, bảo mật và tiêu thụ năng lượng lànhững mục tiêu thiết kế quan trọng cho những giao thức mạng MANET Tiết kiệmnăng lượng có thể đạt được bằng cách chuyển các node sang chế độ sleep theo thờigian trong lần thăm dò đầu tiên hoặc không cần thiết cho những ứng dụng cụ thể
Một nguy cơ lớn nhất về bảo mật đó là sự bí mật định vị Các dịch vụ định vịđược thiết kế để kết hợp một bộ định danh node với một vị trí địa lý, một thành viêncủa mạng có thể vì thế được luôn luôn theo dõi Điều này dẫn tới kết luận rằng bímật định vị là một công việc sẽ được thực hiện bởi sự kết hợp của giao thức địnhtuyến liên quan đến địa lý và dịch vụ định vị Trên thực tế, theo cấu trúc hiện tại, ví
dụ như thiết kế được phân chia của giao thức định tuyến và dịch vụ định vị có thểđạt được location obfuscation (sự che giấu định vị) Location obfuscation biểu thị sựche giấu vị trí thực của một node, không phải là sự bảo mật tổng hợp của vị trí Nó
có thể được chia thành 3 lớp, (thực thể bất hợp pháp muốn theo dõi sự định vị củanode được gọi với thuật ngữ là intruder):
Full obfuscation: Không có thông tin về vị trí hiện thời của một node đượcbiết bởi bất kỳ một node nào khác trong mạng Intruder phải gửi một yêu cầu định vịtới node mục tiêu mà có thể sau đó nó quyết định có muốn trả lời yêu cầu đó haykhông
Partial obfuscation: Thông tin định vị cụ thể được biết bởi một vài node kháctrong mạng, nhưng sự chính xác của thông tin phụ thuộc và khoảng cách giữa nguồn
và đích Để lấy vị trí chi tiết, intruder phải đi tới gần node trong phạm vi tìm kiếm
Trang 22hoặc gửi một yêu cầu định vị mà sau đó phải được trả lời một lần nữa bởi node đượcyêu cầu.
No obfuscation: Có thể cho một intruder theo dõi vị trí của một node từ mộthoặc nhiều sự vị trí xa trong không gian mạng mà không cần nhận thấy node bị ảnhhưởng
Trong bảng 1-1, các dịnh vụ định vị được phân chia tùy theo những tiêuchuẩn này Trong trường hợp của cấu trúc phân cấp, số lượng của các cấp phân cấpđược đưa ra Một dịch vụ định vị sử dụng truyền thông unicast cho các cập nhậthoặc các yêu cầu định vị, truyền thông multicast có thể được triển khai khi cần thiết
và được hỗ trợ bởi giao thức định tuyến
Bảng 1-1 Sự so sánh của các dịch vụ định vị
Phần sau đây là một số dịch vụ định vị được sử dụng trong mạng MANET
1.3.1 DREAM
Trang 23Hình 1-5 Hiệu ứng khoảng cách.
Distance Effect Algorithm for Mobility (DREAM) sử dụng hiệu ứng khoảngcách được thể hiện trong hình 1-5: Trong trường hợp 2 node B và C di chuyển vớitốc độ như nhau, hướng đi của A tới node mà cách xa hơn thay đổi chậm hơn Cácnode kết hợp hiệu ứng này trong chiến lược cập nhật của chúng DREAM sử dụngfllooding để lan truyền thông tin vị trí với tần số và khoảng cách flooding khác nhaubởi việc kết hợp các quy tắc: Khoảng cách càng lớn thì tần số flooding càng thấp;tốc độ di chuyển node càng cao, thì tần số flooding càng cao
Giả sử rằng một gói tin có thể đi tới bất kỳ một node khác trong mạng với 15hop, chiến lược cập nhật cơ bản dưới đây có thể được áp dụng theo DREAM: Mỗinode flood thông tin vị trí cho các lân cập 2-hop sau mỗi 5 giây, cho lân cận 5-hopcho mỗi 20 giây và cho lân cận 15-hop sau mỗi 120 giây Hơn nữa các node thay đổithời gian dừng giữa các lần cập nhật tùy theo tốc độ của chúng Kết quả là, mỗi node
có thông tin vị trí về mỗi node khác Sự chính xác của thông tin vị trí của một nodetăng với sự giảm khoảng cách tới các node khác
Để gửi một gói tin tới một node T, một node S gửi gói tin này tới mọi lân cận1-hop mà “nằm trên hướng đi” của T Việc này được lặp lại cho đến khi gói tin đitới T Hình 1-6 thể hiện cách làm việc dưới dạng biểu đồ Vùng màu xám đánh dấuvùng mà các cập nhật được flood tới nhau với khoảng thời gian flood khác nhau.Vùng màu trắng là vùng mà mọi node chuyển tiếp một gói tin từ S tới T Ngay khigói tin đi đến node mà có thông tin chính xác hơn về node mục tiêu (đó là trường
Trang 24hợp khi đi vào một vùng màu xám mới), những node đang chuyển tiếp tính toánvùng kỳ vọng mới cho node mục tiêu, ở đây được đánh dấu là hình tròn.
Hình 1-6 Phân phát gói tin DREAM
DREAM là một phương pháp all-for-all, nó có một độ phức tạp cập nhật cao
và vì thế không thể phù hợp với các mạng rộng Tuy nhiên, những sai sót của nhữngnode riêng lẻ không dẫn tới một sự sụp đổ của dịch vụ định vị điều đó làm cho nóphù hợp cho những ứng dụng yêu cầu sự mạnh mẽ
1.3.2 Homezone
Dịch vụ định vị Homezone sử dụng khái niệm của một virtual home region(vùng thường trú ảo) Mỗi node có một homezone, một vùng trong mạng Ad-hoc mànode thường xyên geocast thông tin vị trí của nó Homezone của những node đượcchỉ định bởi một hàm băm và được biết bởi mọi node thành viên khác của mạng Vìthế, mỗi node có thể xác định homezone bằng cách áp dụng hàm băm với ID củanode Sau đó, nó có thể gửi yêu cần định vị tới một node trong vùng này nơi mà yêucầu có thể được trả lời
Trang 25Các vấn đề có thể xảy ra khi không có node nào trong homzone Vấn đề đầutiên này có thể được giải quyết bởi tự động thay đổi kích thước của vùng Vấn đềthứ hai vô hiệu hóa dịch vụ định vị homezone từ việc mở rộng cho các mạng lớn:Nếu các node cách xa với homezone của chúng, thì chúng cần cập nhật nó thườngxuyên Điều này tạo nên rất nhiều lưu lượng khoảng cách dài mà cuối cùng có thểgây tắc nghẽn mạng.
1.3.3 Hệ thống Qourum
Dịch vụ định vị Quorum được dựa trên ý tưởng của việc sử dụng các hệthống cơ sở dữ liệu Thông tin định vị được gửi tới một tập con các node có sẵn(được gọi là quorum), các yêu cầu định vị được gửi tới một quorum khác Mỗiquorum được xây dựng trong một cách mà phần giao nhau với bất kỳ quorum nàokhác là không rỗng Như một hệ quả, gói tin yêu cầu định vị đi tới ít nhất một serverđịnh vị cho những node được yêu cầu, truy vấn có thể được trả lời
1.3.4 Dịch vụ định vị phản ứng(RLS)
Ý tưởng của dịch vụ này là giống với cơ chế khám phá tuyến của DSR Mộtyêu cầu định vị cho một node được flood tới toàn mạng Khi yêu cầu đi tới mục tiêucủa nó, node này tạo ra một gói tin phản hồi và được trả lại cho node tạo truy vấn
Cơ chế flooding cơ bản là không hoàn toàn tin cậy Flooding tuyến tính, floodingcấp số nhân và flooding nhị phân cung cấp các sự cải thiện
RLS không tạo ra bất kỳ gói tin cập nhật chủ ứng nào cũng không có cácserver định vị Nó làm việc theo phương pháp phản ứng hoàn toàn
1.3.5 Dịch vụ định vị lưới(GLS)
Sự phân chia vùng
GLS chia vùng mạng của Ad-hoc thành những grid phân cấp được kết hợpbởi các hình vuông với các kích thước khác nhau Sự phân chia này được biết bởi
Trang 26mọi node tham gia 4 hình vuông thứ tự nhỏ nhất được đề cập như là các hình vuôngmức 1 tạo lên một hình vuông mức 2, 4 hình vuông mức 2 xây dựng lên một hìnhvuông mức độ 3 và cứ tiếp tục như vậy Các hình vuông cùng cấp không chồng lênnhau Vì thế, một node được nằm trong một hình vuông cụ thể của mỗi cấp Cáchình vuông thành lập một cấu trúc giống cây tứ phân.
Các server định vị
Hình 1-7 Cây tứ phân và server định vị
Một node B lựa chọn một server định vị trong mỗi ba hình vuông liền kề vớihình vuông của node trong cùng cấp Nếu có nhiều hơn một node trong hình vuông,node với ID nhỏ nhất và lớn hơn ID của B sẽ trở thành server định vị của B, hình 1-
7 với node B có ID = 17 Các node 63, 23, 2 hoạt động như là các server định vị
Trang 27trong hình vuông mức đầu tiêu Trong hình vuông mức 2, có những node 26,31,43
Thuật toán được thể hiện trong hình 1-8 Node 76 và 90 gửi một truy vấnđịnh vị về node 17 Yêu cầu của node 90 được chuyển tiếp tới một node có ID gần
Trang 28với 17 nhất trong thành phần yêu cầu đầu tiên, node 70 Tiếp theo ở 70, node tốtnhất được biết là 37 mà cũng là một location server của node được yêu cầu Yêu cầuđược chuyển tới node 17 để tạo gói tin phản hồi lại cho node 90 Yêu cầu của node
76 làm việc theo cách tương tự Nó được chuyển tiếp qua node 21 trong hình vuông
ở mức đầu tiên và 20 trong hình vuông mức thứ 2 Node 20 là server dịch vụ chonode 17 và chuyển tiếp yêu cầu tới mục tiêu
1.3.6 Dịch vụ tóm lược thông tin vị trí khu vực (GRSS)
GRSS có thể được coi như là phương pháp all-for-all Nó sử dụng một sựphân chia của mạng ad-hoc thành các grid với kích thước khác nhau giống như GLS.Một giao thức định tuyến trạng thái đường liên kết được sử dụng để trao đổi thôngtin vị trí giữa các node trong hình vuông của mức nhỏ nhất Ngoài các tọa độ củachính node đó, một beacon chứa một danh sách tất cả những lân cận nằm cùng bêntrong hình vuông mức 0 Vì thế, mỗi node có được thông tin đầy đủ của mọi lân cận2-hop của nó thuộc về cùng hình vuông mức 0, điều này cần thiết cho sự hoạt độngchính xác của thuật toán Tuy nhiên có một hạn chế lớn được đưa ra là: “Bởi chỉ cónhững thông tin 2-hop được trao đổi, diện tích hình vuông không thể lớn hơn phạm
vi vô tuyến” Giải quyết vấn đề này bằng cách tăng lân cận hơn 2 hop có thể làmtiêu tốn rất nhiều băng thông trong các beacon header về node thông tin lân cận
Các node gần với ranh giới của hình vuông tạo ra những tóm lược về cácnode trong hình vuông của chúng, tóm lược có thể được gửi như là một cập nhậttóm lược tới những hình vuông liền kề Những tóm lược này có thể chứa chính xácmột mục trên 1 node (ví dụ: Một bit mà được thiết lập trong một vector bit) Tiếntrình tạo tóm lược được lặp cho mọi mức của phân cấp, kết quả là có một sự hiểubiết toàn cục tại mỗi node
Các quyết định chuyển tiếp tại những node trung gian chỉ được dựa trên IDcủa node mục tiêu Nếu ID node mục tiêu là thành viên của một hình vuông mứcthấp nhất, thì node đang chuyển tiếp sẽ biết chính xác vị trí của node mục tiêu và gói
Trang 29tin có thể được phân phát Nếu vị trí chính xác của mục tiêu không được biết, thì cácnode trung gian chuyển tiếp gói tin tới node trung tâm của hình vuông mức nhỏ nhất
mà từ đó nó được nhận một tóm lược chứa node mục tiêu
1.4 Giới thiệu về phần mềm mô phỏng NS2.
1.4.1 Tổng quan về NS-2.
Hình 1-9 Tổng quan về NS dưới góc độ người dùng
• OTcl Script Kịch bản OTcl
• Simulation Program Chương trình Mô phòng
• OTcl Bộ biên dịch Tcl mở rộng hướng đối tượng
• NS Simulation Library Thư viện Mô phỏng NS
• Event Scheduler Objects Các đối tượng Bộ lập lịch Sự kiện
• Network Component Objects Các đối tượng Thành phần Mạng
• Network Setup Helping Modules Các module Trợ giúp Thiết lập mạng
• Plumbling Modules Các module Plumbling
• Simulation Results Các kết quả Mô phỏng
Trang 30• Analysis Phân tích.
• NAM Network Animator Minh họa Mạng NAM
NS2 (Network Simulator version 2) là phần mềm mô phỏng mạng điều khiển
sự kiện rời rạc hướng đối tượng, được phát triển tại UC Berkely, viết bằng ngôn ngữC++ và OTcl NS rất hữu ích cho việc mô phỏng mạng diện rộng (WAN) và mạnglocal (LAN) Bốn lợi ích lớn nhất của NS-2 phải kể đến là:
• Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại
• Khả năng đánh giá các giao thức mạng mới trước khi đưa vào sử dụng
• Khả năng thực thi những mô hình mạng lớn mà gần như ta không thể thựcthi được trong thực tế
• Khả năng mô phỏng nhiều loại mạng khác nhau
1.4.2 Cài đặt ns-allinone-2.33 trên UBUNTU 11.04.
Bước 1: Download tại
Bước 4: Gõ tiếp vào
sudo apt-get install build-essential autoconf automake libxmu-dev gcc-4.4
Bước 5: Thực hiện các thao tác sau:
Sửa file trong otcl-1.13/configure từ
Trang 31SHLIB_LD="ld -shared" thành SHLIB_LD="gcc -shared"
Sửa file trong thư mục sau ns-2.34/tools/ranvar.cc thay dòng 219 từ
return GammaRandomVariable::GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);
thành
return GammaRandomVariable(1.0 + alpha_, beta_).value()
* pow (u, 1.0 / alpha_);
Lưu và thoát ra
Sửa dòng 183 và 185 trong file ns-2.34/mobile/nakagami.cc thành như sau:
resultPower = ErlangRandomVariable(Pr/m, int_m).value();và
resultPower = GammaRandomVariable(m, Pr/m).value();Lưu và thoát ra
Thêm vào sau dòng 64 trong thư mục ns-2.34/mac/mac-802_11Ext.h dòng
Trang 32gedit ~/.bashrcTrong cửa sổ hiện lên them dòng code sau vào phần cuối cùng trong file sau
“fi”:
/your/path/ phải đổi thành /home/tenmay/ ví dụ như là /home/thuc/
# LD_LIBRARY_PATH OTCL_LIB=/your/path/ns-allinone-2.33/otcl-1.13 NS2_LIB=/your/path/ns-allinone-2.33/lib
X11_LIB=/usr/X11R6/lib USR_LOCAL_LIB=/usr/local/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:
$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB
# TCL_LIBRARY TCL_LIB=/your/path/ns-allinone-2.33/tcl8.4.18/library USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH XGRAPH=/your/path/ns-allinone-2.33/bin:/your/path/ns- allinone-2.33/tcl8.4.18/unix:/your/path/ns-allinone- 2.33/tk8.4.18/unix
NS=/your/path/ns-allinone-2.33/ns-2.33/
NAM=/your/path/ns-allinone-2.33/nam-1.13/
PATH=$PATH:$XGRAPH:$NS:$NAMLưu và thoát
Bước 8: Gõ lệnh
source ~/.bashrc
Kiểm ta cài đặt thành công bằng cách gõ lệnh ns Nếu báo dấu % là OK
Có thể kiểm tra kỹ hơn bằng lệnh sau: $ cd ns-2.33$ /validate
1.4.3 Kiến trúc thư mục của NS-2.
Trang 33Hình 1-10 Kiến trúc thư mục của ns-allinone-2.xx trong môi trường Linux.Kết quả mô phỏng thường được lưu trữ trong file trace Định dạng file trace
sẽ được tải vào trong các ứng dụng khác để thực hiện phân tích:
• File nam 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 như
là XGRAPH hay TRACEGRAPH
Hình 1-11 Luồng các sự kiện cho file Tcl chạy trong NS
• NAM Visual Simulation Mô phỏng ảo NAM
• Tracing and Monitoring Simulation Mô phỏng lần vết và giám sát
Trang 341.4.4 Các ngôn ngữ lập trình sử dụng trong NS-2.
NS là một chương trình mô phỏng hướng đối tượng, viết bởi C++, sử dụngmột trình thông dịch OTcl như một bộ giao tiếp trực tiếp với người dùng Chươngtrình thông dịch hỗ trợ một lớp phân cấp trong C++ ( gọi là phân cấp biên dịch ) vàmột lớp phân cấp tương ứng trong trình thông dịch Otcl (gọi là phân cấp thôngdịch) Có sự tương ứng một một giữa một lớp trong phân cấp thông dịch và một lớptrong phân cấp biên dịch Lớp gốc của phân cấp này là lớp TclObject Người dùngtạo ra các đối tượng giả lập mới thông qua trình biên dịch, những đối tượng nàyđược thể hiện trong trình thông dịch, và được phản xạ chi tiết bởi một đối tượngtương ứng trong phân cấp biên dịch Phân cấp lớp thông dịch được tự động đưa vàothông qua các phương thức định nghĩa trong lớp TclObject
Ns sử dụng 2 ngôn ngữ để làm việc đó là C++ và OTcl Sử dụng 2 ngôn ngữ
là bởi NS có hai kiểu công việc khác nhau cần phải thực hiện
Một mặt, các mô phỏng chi tiết của giao thức thì yêu cầu một ngôn ngữ lậptrình hệ thống có thể thao tác một cách hiệu quả đến các byte, các tiêu đề gói và cácthuật toán có thể chạy trên một tập dữ liệu lớn, với nhiệm vụ này thì tốc độ chạythực (runtime speed) là quan trọng còn thời gian xoay vòng (gồm chạy mô phỏng,tìm lỗi, sửa lỗi, biên dịch lại, chạy lại) là ít quan trọng hơn
Mặt khác, phần lớn các nghiên cứu về mạng bao gồm các thông số, các cấuhình khác nhau, hoặc thăm dò nhanh một số hoạt cảnh Trong các trường hợp này,thời gian lặp lại (thay đổi mẫu và chạy lại) là quan trọng hơn Khi cấu hình chạy mộtlần (tại thời điểm bắt đầu mô phỏng), thời gian chạy thực của phần nhiệm vụ này ítquan trọng hơn
NS2 đáp ứng cả hai yêu cầu trên với 2 ngôn ngữa là C++ và Otcl Với C++chạy chương trình nhanh nhưng thay đổi lại chậm hơn nên phù hợp cho việc triểnkhai giao thức chi tiết, triển khai phần lõi của mô phỏng, hiệu năng cao Otcl chạy
Trang 35chậm hơn nhưng có thể thay đổi rất nhanh (và có thể tương tác) và nó được dụngcho việc cấu hình, điều khiển mô phỏng NS2 cung cấp sự kết dính để tạo nên cácđối tượng và các biến trong cả hai ngôn ngữ thông qua tclcl.
1.5 Công cụ để phân tích kết quả mô phỏng
Trong phần đánh giá hiệu năng ở phần cuối của đồ án, ngôn ngữ mà đượcchọn để xây dựng kịch bản đánh giá đó là ngôn ngữ lập trình Perl Sau đây là một sốtrình bày về ngôn ngữ Perl
Khái niệm về Perl: Perl (Practical Extraction and Report Language) là một ngôn
ngữ lập trình được phát triển cho thao tác văn bản, sau này được phát triển để sửdụng cho một loạt các ứng dụng khác như: Quản trị hệ thống, phát triển web, lậptrình mạng, giao diện phát triển,…Ưu điểm vượt trội của Perl là nhỏ gọn, dễ sửdụng, hỗ trợ cả lập trình hướng đối tượng (OOP), được xây dựng hỗ trợ xử lý vănbản
Mục đích của Perl: Perl được thiết kế để trợ giúp cho người dùng UNIX với những
nhiệm vụ thông dụng mà có thể rất nhạy cảm với tính khả chuyển đối với trình shell,
vì nó ngắn hơn và không phức tạp như các ngôn ngữ lập trình C hay một ngôn ngữcông cụ UNIX nào khác
Khi đã quen thuộc với Perl, sẽ mất ít thời gian để lấy được các trích dẫn dònglệnh shell (hay khai báo C), và mất ít thời gian để lập trình vì Perl là một công cụ trợgiúp tuyệt vời Các cấu trúc chặt chẽ của Perl cho phép tạo ra một số giải pháp vớinhững công cụ mang tính tổng quát Vì vậy, có thể lấy những công cụ này sang côngviệc tiếp, vì Perl có tính khả chuyển cao và lại có sẵn trên hầu hết các hệ thống
Giống như mọi ngôn ngữ khác, Perl có thể “chỉ viết” - tức là có thể viết rachương trình cho máy hiểu mà con người không thể "đọc hiểu" được Nhưng nếuchú ý cẩn thận, có thể tránh được điều này Thật vậy, đôi khi Perl trông như khó vớinhững ai không quen, nhưng với người lập trình đã thạo Perl nó cũng khá dễ
Trang 36Tính sẵn có: Perl được lấy miễn phí vài cài vào hệ thống Perl được phân phối theo
Giấy phép Công cộng GNU (GNU Public License), nghĩa là bạn có thể phân phátbản binary của Perl với điều kiện là phải kèm theo mã ngồn miễn phí Và nếu bạnsửa đổi Perl theo ý bạn bạn cũng phải phân phối mã nguồn của phần mà bạn sửa đổi
Sử dụng Perl:
Để chạy Perl trên Linux, ta dùng lệnh sau:
perl progName.plViết Script bằng perl, đặt dòng sau lên trên đầu trong Script
#!/usr/bin/perlSau đó chạy lệnh:
/duongdan/script.pl
Cú pháp cơ bản của Perl:
Một đoạn code Perl script hay một chương trình đều bao gồm nhiều cácstatements Các statements này chỉ đơn giản được viết bằng các kiểu cách đơn giảntrong script Không nhất thiết phải có main() hoặc tương tự
Perl statements kết thúc bằng dấu “ ; “
Ví dụ: print”Hello, I’m Pham Si Thuc”;
Sử dụng “#” để Comments trong Perl, ví dụ :
# Comment here
Trang 37CHƯƠNG 2 DỊCH VỤ ĐỊNH VỊ PHÂN CẤP (HLS)
Một khó khăn của dịch vụ định vị homezone là thực tế rằng mỗi node chỉ tồntại chỉ một vùng chứa các server định vị Các cập nhật phải được gửi trong nhữngkhoảng thời gian ngắn tới homezone này làm cho các cập nhật phải thường xuyên.Hơn nữa, một gói tin yêu cầu phải được chuyển tiếp tới một homzone của node mụctiêu ngay cả sender và mục tiêu chỉ cách có vài hop Sự nhân bản homezone có thểgiảm chi phí yêu cầu nhưng sẽ tăng chi phí của các cập nhật Trong các mạngMANET, số lượng tối đa của các node tham gia bị hạn chế theo phương pháp này.GLS có thể mở rộng tốt hơn Homzone bởi vì nó sử dụng thông tin cục bộ Cácserver định vị xa nhau có thể được cập nhật ít thường xuyên hơn một server cục bộ
mà không làm giảm hiệu năng của các dịch vụ định vị Tuy nhiên, GLS bị giới hạnbởi cập nhật phức tạp của và chiến lược yêu cầu của nó và sự lựa chọn server định vịkhông dựa trên vị trí
HLS khắc phục những hạn chế của các dịch vụ định vị ở trên với sự phối hợpvới các dịch vụ ở trên Vùng của mạng MANET được phân vùng theo giống như cây
tứ phân Mỗi node có một cái nhìn của nó trên cây tứ phân phụ thuộc vào vị trí của
nó Với cách nhìn này, một node có thể xác định vị trí của các server định vị củachính nó cũng như cho các node khác Ngược lại với GLS, sự xác định các serverđịnh vị chỉ dựa trên vị trí Với HLS một node có thể trở thành server định vị cho mộtnode khác nếu nó ở một vị trí chính xác trong mạng cho dù ID của nó là không thíchhợp Các cập nhật và các yêu cầu vị trí là độc lập với các server định vị khác củanode
2.1 Cells
2.1.1 Cấu trúc
Trang 38Dịch vụ định vị phân cấp phân vùng mạng Ad-hoc thành các cell (tế bào) vànhóm chúng thành các region (khu vực) Mỗi cell và region có thể được xác địnhbởi một ID duy nhất Sự phân vùng là cố định và được biết bởi mọi node trongmạng Các cell hình lục giác bao phủ miền mạng với số lượng các cell ít nhất có thể(có thể có một số hình dạng khác) Mỗi node trong cell C có thể broadcast gói tin tớimọi node là thành viên của C, điều này đạt được bằng cách sử dụng cell với bánkính nhỏ hơn phạm vi thu phát của node.
Hình 2-1 Nhóm các cell tạo thành các region
Các cell được tập hợp lại giống như hình 2-1 Một số lượng các cell thành lậpmột region cấp 1, một số lượng các region lân cận nhóm 1 thành lập một regionnhóm 2 và cứ tiếp tục như vậy Tiến trình của việc xây dựng các region được tiếptục cho tới khi bao phủ toàn bộ diện tích của mạng Vùng này được gọi là vùng cấpcao nhất
Trang 39candidate cell (ứng cử viên) bằng cách áp dụng hàm băm với sự kết hợp của ID của
A và vị trí của B Việc thiết lập hàm băm đảm bảo rằng sự giao nhau giữa cáccandidate cell và các responsibel cell là không rỗng
Theo một cách trừu tượng, điều này được biểu thị như dưới đây: N là tập hợp
các node, L là tập hợp các cấp, X xY là tập hợp bộ dữ liệu với các tọa độ hợp lệ cho
một node và C là tập hợp các cell Region ở cấp l L bao phủ vị trí pos X x Y
được định nghĩa là:
R(l,pos) := {c C| c là thành viên của vùng cấp l mà chứa pos}.
Hàm băm F có thể được định nghĩa như sau:
F : N x L x (X x Y) R(l,pos) với (n,l,pos) c
n N, l L, pos X x Y và c R(l,pos).
Cụ thể hơn, một node A lựa chọn một resonsible cell cho mỗi cấp trong phâncấp Tại cấp n, RC được chọn theo thuật toán dưới đây:
1 Tính tập hợp S(A,n) của những cell thuộc region cấp n mà có chứa A.
2 Lựa chọn một trong những ô này với một hàm băm dựa trên các đặc điểm của
S (như số lượng của các cell trong S) và node ID của A
Một hàm băm có thể đơn giản như: H(A,n) = ID(A) mod ||S(A,n)|| Với giá trị được tính toán bởi hàm băm, một cell trong S(A,n) được chọn.
Trang 40Hình 2-2 hiển thị phân cấp được áp dụng bởi hàm băm Nó hiển thị các cell làcác candicate cell cho các responsible cell của một node A trong một hoạt cảnh vớicác region của 3 mức khác nhau Các candidate cell được kết nối với nhau bởi cácmũi tên để trực quan hơn về phân cấp, cấu trúc này giống như một cây nên gọi làcandidate tree
Hình 2-2 Candidate tree ở phân cấp 3 cấp