MỤC LỤC

LỜI NÓI ĐẦU. .......................................................................................................................................... 3 THUẬT NGỮ VIẾT TẮT. ....................................................................................................................... 6 CHƯƠNG I :TỔNG QUAN VỀ MẠNG AD-HOC . .............................................................................. 8 1.1. TổNG QUAN Về MạNG AD-HOC .............................................................. 8 1.2 ĐặC ĐIểM CủA MạNG AD-HOC . ...................................................................................10 1.3 CÁC ứNG DụNG CủA MạNG AD-HOC . ............................................................................................13 1.3.1 Ứng dụng trong quân đội. ......................................................................13 1.3.2 Các ứng dụng trong cuộc sống . ......................................................................................14 1.4 VấN Đề AN NINH ..............................................................................................................16 CHƯƠNG II : HOẠT ĐỘNG CỦA CÁC GIAO THỨC PROACTIVE TRONG MẠNG AD-HOC ...................................................................................................................................................................17 2.1 TổNG QUAN Về ĐịNH TUYếN . ......................................................................................17 2.2 GIAO THứC ĐịNH TUYếN VECTOR KHOảNG CÁCH THEO YÊU CầU AODV . .........................................19 2.2.1 Tìm đường ...............................................................................................................................19 2.2.2 Thiết lập đường đảo chiều. .....................................................................................................20 2.2.3 Thiết lập đường chuyển tiếp . ..................................................................................................20 2.2.4 Quản lý bảng định tuyến .........................................................................................................21 2.2.5 Duy trì tuyến. ..........................................................................................................................22 2.2.6 Xử lý lỗi, hết hạn và xóa bỏ tuyến. ..........................................................................................23 2.2.7 Quản lý kết nối nội vùng .........................................................................................................25 2.2.8 Sửa chữa nội vùng . .................................................................................................................26 2.3 CLUSTERHEAD GATEWAY ROUTING SWITCH (CGSR) ................................................................28 2.3.1 Tổng quan về giao thức...................................................................CGSR. 28 2.3.2 Kiến trúc của giao thức...................................................................CGSR. 28 2.4 GIAO THứC OLSR (OPTIMIZED LINK STATE ROUTING) ...............................................................30 2.4.1 Khái quát giao thức OLSR. ..............................................................................................30 2.4.2 Chuyển tiếp đa điểm . ....................................................................................31 2.4.3 Nguyên tắc trao đổi bản tin. ............................................................................................33 2.4.4 Khả năng áp dụng . .......................................................................................35 2.5 GIAO THứC ĐịNH TUYếN KHÔNG DÂY ( WRP ). ............................................................................35
2.6 Định tuyến nguồn động (DSR)........................................................................................ 36

2.7

GIAO THứC ĐịNH TUYếN TUầN Tự TạM THờI TORA . .....................................................................38 2.7.1 Chức năng giao thức . ...................................................................................40 2.7.2 Tạo đường trong TORA ................................................................................41

CHƯƠNG III: GIỚI THIỆU PHẦN MỀM NS2 VÀ ỨNG DỤNG XÂY DỰNG CÁC KỊCH BẢN MÔ PHỎNG GIAO THỨC MẠNG . .....................................................................................................43 3.1 3.2 TổNG ĐạI 3.2.1 3.2.2
QUAN . ...........................................................................................................................43 CƯƠNG Về

NS . .........................................................................................................44

Các chức năng của NS. ....................................................................................................44 Các thành phần của NS . ..................................................................................................45

3.2.3 Kiến trúc của NS . .........................................................................................45 3.3 Sử DụNG PHầN MềM NS-2 Để MÔ PHỏNG MạNG . ..........................................50 3.3.1 Cơ bản về Tcl . ..............................................................................................50 3.3.2 Cơ bản về OTcl . ...........................................................................................52 3.3.3 Các bước cơ bản của một kịch bản mô phỏng NS-2. ................................................................................................................................................53 3.3.4 Thực hiện mô phỏng mạng không dây trong NS...........56 CHƯƠNG IV: MÔ PHỎNG VÀ ĐÁNH GIÁ HIỆU NĂNG CÁC GIAO THỨC ĐỊNH TUYẾN PROACTIVE TRONG AD-HOC ...........................................................................................................62 MộT Số Độ ĐO ĐÁNH GIÁ HIệU NĂNG. . ....................................................................62 4.1.1 Các độ đo định tính ................................................................................62 4.1.2 Các độ đo định lượng . ...........................................................................64 4.2 ĐÁNH GIÁ HIệU NĂNG DựA TRÊN CÁC THÔNG Số ..........................................................................66 4.3 ĐÁNH GIÁ HIệU NĂNG DựA TRÊN KếT QUả MÔ PHỏNG .......................................................................70
4.3.1 Mô hình hóa các kịch bản mô phỏng. .............................................................................................. 70

4.1

4.3.2
4.3.2.1 4.3.2.2 4.3.2.3

Khảo

sát

và phân tích kết quả .............................................................................71

Tỷ lệ chuyển tiếp gói tin.................................................................................. 71 Khả năng truyền gói tin . ....................................................................................... 73 Độ tối ưu về đường đi . .................................................................................... 73

KẾT LUẬN . .............................................................................................................................................75 TÀI LIỆU THAM KHẢO. ......................................................................................................................77

2

LỜI NÓI ĐẦU
Các hệ thống mạng tế bào không dây đã được đưa vào sử dụng từ những thập kỷ 80. Các hệ thống không dây hoạt động với sự trợ giúp của một cấu trúc hỗ trợ tập trung như một AP( Access Point). Các AP này giúp người dùng duy trì sự kết nối với hệ thống không dây khi họ di chuyển từ địa điểm này tới địa điểm khác. Sự có mặt của cấu trúc hỗ trợ cố định giới hạn khả năng thích nghi của các hệ thống không dây. Nói cách khác hệ thống không thể làm việc hiệu quả ở những nơi không có cơ sở hạ tầng cố định. Các hệ thống không dây trong tương lai sẽ yêu cầu sự triển khai dễ dàng và nhanh chóng của các mạng không dây. Sự triển khai mạng nhanh chóng này không thể thực hiện được với kiến trúc hiện tại của các hệ thống không dây. Sự cải tiến gần đây như Bluetooth đã đưa ra một loại mới của các hệ thống không dây gọi là các mạng Ad-Hoc (Mobile Ad-hoc Network). Ad-Hoc có một số đặc trưng, những lợi thế riêng của nó so với các mạng vô tuyến truyền thống. Trong mô hình mạng này, tất cả các thành phần tham gia đều có khả năng di động, chúng truyền thông tin với nhau theo các đường truyền đa bước. Để thực hiện được yêu cầu truyền thông này, tất cả các nút thạm gia trong mạng đều đóng vai trò như một router thực thụ. Các “router” này có khả năng đảm bảo tất cả các chức năng như định tuyến, quảng bá đường đi, sửa lỗi liên kết…. Để có được ưu thế về tính linh động, loại mạng này đã phải đánh đổi với nhiều khó khăn khác nhau cần giải quyết. Khi các thành phần mạng di động, việc cấp phát nguồn cho chúng trở nên khó khăn hơn. Nếu công suất của một nút trong mạng giảm xuống mức nhất định thì nút đó không thể thực hiện các chức năng đầy đủ của một router thực sự. Vì vậy, việc thiết kế các giao thức cho nó phải đát ứng được yêu cầu về công suất tiêu tốn khi hoạt động để đáp ứng được chất lượng dịch vụ của người dùng. Trong tương lai, việc triển khai Ad-Hoc có thành công hay không phụ thuộc vào các ứng dụng internet hiện tại và tương lai mà nó có thể hỗ trợ cũng như các giao thức có khả năng cải thiện hiệu năng của nó. Một số yếu tố có thể

3

ảnh hưởng đến hiệu năng của bất cứ hoạt động của giao thức nào trong Ad-Hoc. Ví dụ như sự di chuyển của các nút gây ra hiện tượng đứt liên kết, tác động tiêu cực đến khả năng định tuyến và QoS của mạng. Kích thước mạng, chi phí điều khiển và cường độ lưu lượng sẽ được xem xét trong khả năng ổn định của mạng. Các yếu tố này kèm theo các thuộc tính không đồng nhất có thể gây ra các thay đổi khả năng cải thiện hiệu năng mạng. Có thể chỉ ra năm yếu tố tác động đến hiệu năng của Ad-Hoc đó là tốc độ, thời gian tạm dừng của nút, kích thước mạng, số lượng nguồn lưu lượng và giao thức định tuyến. Các thông số khác nhau có thể được sử dụng để đánh giá hiệu năng của mạng. Với những kiến thức thu thập được em đã chọn đề tài “ Đánh giá hiệu năng một số giao thức Proactive của công nghệ mạng Ad-Hoc” làm đồ án tốt nghiệp của mình. Nội dung của đồ án được bố cục như sau: Chương 1: Tổng quan về mạng Ad-Hoc Chương này trình bày một cách tổng quan nhất về mạng Ad-Hoc như: Khái niệm về mạng Ad-Hoc, lịch sử hình thành và phát triển, công nghệ sử dụng trong mạng Ad-Hoc, đặc điểm của mạng Ad-Hoc, các ứng dụng trong mạng AdHoc và vấn đề an ninh trong mạng Ad-Hoc. Chương 2 : Hoạt động của các giao thức Proactive trong mạng Ad-Hoc Chương này đề cập một cách tổng quát nhất đến vấn đề định tuyến trong mạng Ad-Hoc, sự phân loại các giao thức định tuyến trong mạng Ad-Hoc và giới thiệu một số giao thức định tuyến Proactive trong mạng Ad-Hoc. Chương 3: Giới thiệu phần mềm NS2 và ứng dụng xây dựng các kịch bản mô phỏng giao thức mạng. Chương này đi sâu nghiên cứu hoạt động của phần mềm NS và từng bước ứng dụng NS để mô phỏng hoạt động của mạng Ad-Hoc. Chương 4: Đánh giá hiệu năng các giao thức định tuyến Proactive trong mạng Ad-Hoc. Chương này khảo sát ảnh hưởng của các giao thức định tuyến đối với hiệu
năng mạng thông qua các mô hình hóa, mô phỏng và đưa ra các kết quả mô phỏng. Trên cơ sở đó phân tích và đánh giá các điều kiện tối ưu đối với cấu hình mạng và giao thức định tuyến.

4

Để hoàn thành đồ án này em xin chân thành cảm ơn thầy giáo - Ths Đỗ Đình Cường, giảng viên khoa CNTT-ĐHTN đã chỉ bảo tận tình và giúp đỡ em trong suốt quá trình làm đồ án. Trong quá trình làm do điều kiện thời gian và trình độ có hạn, bên cạnh đó đây còn là một công nghệ còn khá mới ở Việt Nam nên ít có điều kiện tiếp xúc với thực tế do đó không thể tránh khỏi những sai sót. Vì vậy em rất mong nhận được những ý kiến chỉ bảo quý báu của các thày cô, các ý kiến đóng góp của bạn bè để em có thể kịp thời bổ sung, sửa chữa những thiếu sót của mình. Em xin chân thành cảm ơn! Thái Nguyên, tháng 6 năm 2010 Sinh viên

Lê Thị Hương

5

THUẬT NGỮ VIẾT TẮT
ACK AODV CSMA/CA CTS DCF DSR ETT ETX FIFO FTP HTTP ML ICMP LLACKS LSA MAC MANET MIC MID MPR NAV OLSR QoS RD RERR RM Acknowledgment Ad-hoc on-demand distance vector routing Carrier sense multiple access/ Colision Avoid Clear To Send Distributed Coordination Function Dynamic Source Routing Expected Transmission Time Expected Transmission Count First In First Out File Transfer Protocol Hypertext Transfer Protocol Minimum Loss Internet Control Message Protocol link-layer acknowledgments Link-state advertisement Medium Access Control Mobile Ad-hoc Network Metric of Interference and Channel-switching multiple interface declaration Multi-Point Relay Network Allocation Vector Optimized Link State Routing Protocol Quality of service Route Discovery Route Error Route Maintenance Công bố đa giao diện Chuyển tiếp đa điểm Véc tơ định vị mạng Giao thức định tuyến trạng thái lien kết tối ưu. Chất lượng dịch vụ Khám phá tuyến Lỗi tuyến Duy trì tuyến Báo nhận Định tuyến cự ly véc tơ theo yêu cầu tùy biến Đa truy nhập cảm nhận sóng mang/ tránh xung đột Xóa để gửi Chức năng phối hợp phân tán Định tuyến nguồn động Thời gian truyền dẫn mong đợi Dự báo số truyền dẫn mong đợi Vào trước ra trước Giao thức truyền dẫn file Giao thức truyền dẫn siêu văn bản tổn thất tối thiểu Giao thức điều khiển truyền tin trên mạng Báo nhận lớp liên kết Quảng bá trạng thái lien kết Điều khiển truy nhập môi trường Mạng tùy biến di động Tham số nhiễu và chuyển mạch kênh

6

RREP RREP- ACK RREQ RREQ ID RTS SYN TC TCP TORA TTL UDP WCETT WLAN WMAN WMN WPAN WWAN

Route Reply Route Reply Acknowledgment Route Request Route Request Identification Request To Send Synchronization Topology Control Transmission Control Protocol Temporally-Ordered Routing Algorithm Time to live User Datagram Protocol Weighted Cumulative ETT Wireless Local Area Network Wireless Metropolitan Area Network Wireless Mesh Network Wireless Personnal Area Network Wireless Wide Area Network

Hồi đáp tuyến Báo nhận hồi đáp tuyến Yêu cầu tuyến Nhận dạng yêu cầu tuyến Yêu cầu để gửi Đồng bộ Điều khiển cấu hình mạng Giao thức điều khiển truyền vận Thuật toán định tuyến tuần tự tạm thời Thời gian sống Giao thức dữ liệu người dùng Thời gian truyền dẫn mong đợi tích lũy tải Mạng cục bộ không dây Mạng không dây đô thị Mạng mắt lưới không dây Mạng không dây cá nhân Mạng không dây diện rộng

7

CHƯƠNG I :TỔNG QUAN VỀ MẠNG AD-HOC
Chương này đề cập đến các vấn đề : + Tổng quan về mạng Ad-Hoc + Đặc điểm của mạng Ad-Hoc + Các ứng dụng của mạng Ad-Hoc + Vấn đề an ninh mạng Ad-Hoc

1.1. Tổng quan về mạng Ad-Hoc
Vào những năm 1970, mạng không dây đã trở nên ngày càng phổ biến trong ngành công nghiệp máy tính. Điều này đặc biệt đúng trong thập kỷ vừa qua đã được thấy mạng không dây đang được thích nghi để cho phép di động. Hiện tại có hai dạng mạng di động không dây. Mạng đầu tiên được biết đến như mạng cơ sở hạ tầng, đó là các mạng cố định và có cổng dây . Cầu cho các mạng này được gọi là trạm cơ sở . Đơn vị di động trong mạng này được kết nối và giao tiếp với trạm cơ sở gần đó là trong giao tiếp bán kính của nó. Khi di động trên phạm vi của một trạm cơ sở và vào trong phạm vi khác, chuyển giao xảy ra từ trạm cơ sở cũ đến trạm cơ sở mới và là điện thoại di động có thể tiếp tục liên lạc liên tục trong suốt mạng. Ứng dụng điển hình của kiểu mạng này bao gồm các là mạng không dây cục bộ WLAN (Wireless Local Area Network ). Loại thứ hai của mạng di động không dây là mạng di động không có cơ sở hạ tầng, thường được gọi là mạng tùy biến. Mạng không có cơ sở hạ tầng là mạng không định tuyến; tất cả các nút có khả năng chuyển động và có thể được kết nối một cách ngẫu nhiên. Các nút của các mạng này có chức năng như router mà nó phát hiện ra và duy trì các router đến các nút khác trong mạng. Với tiến bộ gần đây về lĩnh vực máy tính và công nghệ truyền thông, ứng dụng của công nghệ di động không dây sẽ ngày càng được sử dụng rộng rãi, nhiều trong số đó sẽ liên quan đến việc sủ dụng bộ giao thức mạng ( IP ). Khả năng của mạng di động tùy biến không dây là để hỗ trợ mạnh mẽ các hoạt động có hiệu quả trong mạng di động không dây bằng cách kết hợp các chức năng

8

định tuyến vào các nút di động. Mạng này được nhận định có nhiều khả năng phát triển, đôi khi có thể thay đổi nhanh chóng, ngẫu nhiên. Trong Internet, hiện nay giao thức định tuyến hỗ trợ cho máy chủ trở thành công nghệ “IP di động ”. Đây là công nghệ hỗ trợ máy chủ lưu động, nơi máy chủ di chuyển có thê kết nối tới Internet thông qua các phương tiện khác ngoài địa chỉ cố đinh tên miền không gian của nó. Máy chủ có thể kết nối trực tiếp với mạng cố định trên một subnet ngoài hoặc có thể kết nối thông qua đường dẫn không dây, dòng địa chỉ v.v…Hỗ trợ dưới hình thức máy chủ di động ( di chuyển ) yêu cầu quản lý địa chỉ. Giao thức cải tiến khả năng tương tác và thích nghi, nhưng các chương trình cốt lõi của mạng như định tuyến hop-by-hop hiện giờ vẫn dựa vào các giao thức định tuyến hoạt động trong mạng cố định. Ngược lại, mục tiêu của Ad-Hoc là mở rộng tính di động vào các lĩnh vực độc lập, di động, lĩnh vực không dây, nơi cài đặt các nút - nơi có thể kêt hợp routers và máy chủ-- tự tạo thành mạng lưới cơ sở hạ tầng trong mạng tùy biến không dây. Trong thế hệ tiếp theo của hệ thống truyền thông không dây ,sự triển khai nhanh chóng độc lập với người dùng di động thực sự cần thiết. Những ví dụ quan trọng bao gồm thiết lập sự tồn tại ,hiệu quả, truyền thông linh động đói với các hoạt động khẩn cấp ,các nỗ lực cứu nguy các thảm họa và các mạng quân đội. Hầu hết các kịch bản mạng không thể dựa trên kết nối đã được sắp xếp và kiểm soát điều này có thể tưởng tượng như các ứng dụng của mạng Ad-Hoc. Các mạng Ad-Hoc (Mobile ad-hoc network) hay các mạng “tồn tại ngắn ” hoạt động mà không cần cơ sở hạ tầng cố định. Chúng cung cấp sự triển khai nhanh chóng và dễ dàng cho mạng trong những tình huống không thể thực hiện theo cách nào khác. Ad-Hoc là một từ latinh có nghĩa là “dành cho” hoặc “chỉ dành cho”. Ad-Hoc là một hệ tự quản bao gồm một tập các người dùng di động truyền thông với nhau qua băng thông được ràng buộc bởi các liên kết không dây. Khi các nút (máy tính hoặc thiết bị tham gia vào mạng) mạng di chuyển, hình trạng mạng (topo) có thể thay đổi một cách nhanh chóng và không thể đoán trước được. Mạng bị phân chuyển trong tất cả phạm vi hoạt động bao gồm việc tìm ra hình

9

trạng mạng và nhận các thông điệp phải được thực hiện bởi chính các nút mạng. Chức năng định tuyến sẽ được kết hợp chặt chẽ với các nút di động

Hình 1-1 . Một mạng AD-HOC gồm 7 nút. Hình tròn biểu diễn phạm vi hoạt động của mỗi nút Các nút trong mạng Ad-Hoc tự do di chuyển và tự tổ chức theo một cách tùy tiện.Mỗi người dùng tự do di chuyển trong khi truyền thông với những người khác. Đường truyền giữa mỗi cặp sử dụng có thể có nhiều liên kết và song radio giữa chúng có thể không đồng nhất ,điều này cho phép một sự kết hợp của nhiều liên kết khác nhau. Các mạng Ad-Hoc có thể hoạt động một cách độc lập hoặc có thể được kết nối với một mạng lớn hơn như Internet.

1.2 Đặc điểm của mạng Ad-Hoc
Mạng Ad-Hoc gồm những nền tảng di động ( ví dụ một router với nhiều máy chủ và thiết bị liên lạc không dây) -- ở đây gọi là các nút mà chúng có thể tự do di chuyển. Các nút có thể ở trong hoặc trên máy bay, tàu, xe tải, xe hơi, thậm chí trên người hoặc những thiết bị rất nhỏ, và có thể có nhiều máy chủ trên mỗi router. Mạng Ad-Hoc là một hệ thống tự động của các nút di động. Hệ thống có thể hoạt động độc lập hoặc có thể có cổng vào ra và giao diện với một mạng cố định. Trong chế độ hoạt động sau, nó được hình dung như một cái mạng gốc kết nối với một mạng cố định.

10

Các nút trong mạng Ad-Hoc được trang bị truyền thông không dây và thu nhận sử dụng ăng-ten có thể phát sóng theo mọi hướng, hướng cao (điểm tới điểm), hay một số sự kết hợp. Tại một điểm được đưa ra trong một thời gian, tùy thuộc vào vị trí của các nút truyền và nhận an toàn. Topo trong mạng Ad-Hoc có thể thay đổi theo thời gian như các nút di chuyển hoặc điều chỉnh sự truyền dẫn và tiếp nhận các thông số của chúng. Một số dặc điểm nổi bật của Ad-Hocs: 1. Chức năng của topo: Các nút di chuyển tự do, do đó các topo mạng thường là multihop có thể thay đổi ngẫu nhiên và nhanh chóng vào các thời điểm không thể đoán trước, có thể bao gồm các liên kết hai chiều và theo đường dẫn duy nhất. 2. Băng thông hạn chế, khả năng thay đổi liên kết: Liên kết không dây sẽ tiếp tục có công suất thấp hơn các loại khác . Ngoài ra, thông qua việc thực hiện các giao tiếp không dây sau khi đã tính toán ảnh hưởng của người truy cập, sự nhiễu sóng, tiếng ồn và sự can thiệp có điều kiện v.v. thường nhỏ hơn rất nhiều so với khả năng truyền tối đa của sóng vô tuyến. Một trong những ảnh hưởng tương đối thấp đến khả năng liên kết trung bình đó là tình trạng tắc nghẽn chuẩn chứ không phải là ngoại lệ, đó là tổng hợp các ứng dụng có khả năng tiếp cận vượt quá công suất mạng thường xuyên. Khi các mạng di động thường chỉ đơn giản là một phần mở rộng của cơ sở hạ tầng mạng cố định, mạng di động tùy biến của người dùng sẽ yêu cầu các dich vụ tương tự. Những yêu cầu này sẽ tiếp tục tăng lên như máy tính đa phương tiện và các ứng dụng mạng cũng gia tăng. 3. Hạn chế năng lượng hoạt động: Một vài hoặc tất cả các nút trong mạng ADHOC có thể dựa vào năng lượng yếu hoặc cạn kiệt. Đối với các nút, qua trọng nhất khi thiết kế hệ thống là tiêu chí tối ưu hóa có thể bảo tồn được năng lượng. 4. Giới hạn an ninh vật lý: Mạng di động không dây thường dễ bị đe dọa về an ninh vật lý hơn là cáp cố định. Khả năng nghe trộm, giả mạo và từ chối các cuộc truy nhập của dịch vụ nên được xem xét cẩn thận. Kỹ thuật liên kết bảo

11

mật thường được áp dụng giữa các mạng không dây để giảm thiểu tối đa đe dọa về an ninh mạng. Như là một lợi ích, sự phân cấp kiểm soát trong mạng Ad-Hoc cung cấp mạnh mẽ các bổ sung chống lại điểm lỗi duy nhất hơn là phương pháp tập trung. Đặc điểm chính của mạng Ad-Hoc đó là: Sử dụng phân quyền cho các nút mạng. Các nút mạng tự nó sắp xếp tuyến và tự nó triển khai tuyến, mạng AdHoc là một mạng có cấu trúc mạng động. Mạng Ad-Hoc không có đường truyền chuyên dụng (specialized routers), Ngoài ra nó không dùng các đường truyền cố định (fixed routers ) hay các đường truyền vật lý (dây dẫn). Mạng Ad-Hoc có cấu trúc và biến đổi cấu trúc một cách thường xuyên, cấu trúc mạng có tính chất tạm thời, các nút liên kết với nhau theo kiểu mạng ngang hàng, các nút có vai trò như nhau và có chức năng tìm kiếm, duy trì và định tuyến. Mạng Ad-Hoc dùng một số kỹ thuật liên quan đến các vấn đề kỹ thuật dùng để truyền thông vô tuyến và nó có những đặc tính: - Tính không đồng nhất giữa các thiết bị. - Đặc trưng lưu lượng mạng. - Di chuyển của các nút trong một tuyến. Ưu điểm của mạng Ad-Hoc Trong mạng cơ bản thì cơ sở hạ tầng, các trạm trung gian, thu phát sóng là yếu tố quan trọng quyết định chất lượng của mạng, còn trong mạng Ad-Hoc các nút mạng kết nối thông qua các nút mạng ( không cần đến các trạm thu phát), các nút mạng có thể di chuyển tự do trong cấu trúc mạng do đó nó có tính chất cơ động cao và do đó làm giảm bớt sự phụ thuộc vào cơ sở hạ tầng, làm cho mạng dễ phát triển dễ dàng, tốc độ phát triển của mạng nhanh. Những thách thức đối với mạng Ad-Hoc: - Chi phí cho việc sử dụng phổ tần số. - Việc định tuyến. - Hiệu quả sử dụng nguồn điện.

12

- Giao thức điều khiển truyền. - Định vị cung cấp và truy nhập dịch vụ.

1.3 Các ứng dụng của mạng Ad-Hoc
Các công nghệ của mạng không dây kiểu không cấu trúc đem lại rất nhiều lợi ích so với các mạng truyền thống (cả không dây và có dây) trong những ngữ cảnh khó có thể triển khai được một cơ sở hạ tầng mạng cố định hoặc việc triển khai là không khả thi do những lý do về mặt thực hành (địa hình,…) hoặc do những lý do về kinh tế (chi phí cáp trong một không gian lớn, chi phí thiết lập nhiều điểm truy cập). Công nghệ của mạng Ad-Hoc giống như một gói mạng phát sóng di động. Mạng lưới di động( một thuật ngữ xuất hiện trong tác phẩm ECONOMIST về cấu trúc của các mang trong tương lai) và di động, Multihop, mạng không dây ( có lẽ là thuật ngữ chính xác nhất mặc dù hơi rườm rà ). Đó là hiện tại và tương lai cho mạng Ad-Hoc. Một lĩnh vực mới nổi của máy tính và điện thoại di động với tính nhấn mạnh hiện thời về IP di động, dần dần sẽ mở rộng và đòi hỏi công nghệ mạng di động cao để quản lý hiệu quả Multihop, mạng tùy biến không dây có thể hoạt động tự động hoặc hơn thế được kèm theo ở một số điểm tới mạng cố định. Một số ứng dụng của công nghệ mạng Ad-Hoc có thể bao gồm các ứng dụng công nghiệp và thương mại liên quan đến trao đổi dữ liệu trên điện thoại di động. Ngoài ra, dựa trên mạng lưới điện thoại di động có thể hoạt động mạnh mẽ, thay thế các phương pháp rẻ tiền hoặc cải tiến các thiết bị dựa trên cơ sở hạ tầng mạng. Phần dưới đây sẽ giới thiệu các ứng dụng của mạng Ad-Hoc.

1.3.1 Ứng dụng trong quân đội
Những thành tựu mới của công nghệ thông tin thường được áp dụng trong quân sự đầu tiên, và mạng không dây kiểu không cấu trúc cũng không phải là một ngoại lệ. Nhiều năm nay, quân đội đã sử dụng các mạng “packet radios” – một nguyên mẫu đầu tiên của mạng chuyển mạch gói không dây ngày nay.

13

Mạng Ad-Hoc thuần túy Mạng Ad-Hoc dùng cho quân Hình 1-2: Mô hình di động của mạng Ad-Hoc thuần túy và giải pháp dùng trong quân đội Giải pháp mạng Ad-Hoc cho quân đội có những đặc điểm khác so với mạng Ad-Hoc thuần túy. Mạng Ad-Hoc thuần túy thường tuân theo một mô hình điểm ngẫu nhiên, các nút tự do di chuyển theo bất cứ hướng nào, với bất cứ tốc độ nào. Trong mô hình mạng Ad-Hoc cho quân đội, các nút phân nhóm theo bản chất tự nhiên của chúng khi chúng cùng thực hiện một nhiệm vụ cụ thể. Xu hướng di động ở đây là theo nhóm (group mobility). Do đó, nếu đưa ra được một mô hình chuyển động theo nhóm, các vấn đề của mạng Ad-Hoc sẽ trở nên cụ thể hơn (ví dụ: định tuyến, sử dụng các ứng dụng thời gian thực như tiếng nói, video,…), cho phép phát triển một giải pháp tối ưu.

1.3.2 Các ứng dụng trong cuộc sống
Mạng Ad-Hoc là rất lý tưởng trong các trường hợp không có sẵn một cơ sở hạ tầng thông tin, tuy nhiên lại cần phải thành lập một mạng tạm thời nhằm trao đổi thông tin và hợp tác cùng làm việc. Cứu hộ Tại các vùng bị thiên tai, thảm họa, khó có thể có được một cơ sở hạ tầng về thông tin vững chắc. Hệ thống có trước đó rất có thể bị hỏng hoặc bị phá hủy hoàn toàn.

14

Tại vùng có thảm họa, tất cả các phương tiện và hệ thống truyền thông đều bị phá hủy hoàn toàn. Mỗi chiếc xe của cảnh sát, cứu hỏa, cứu thương,… đều được trang bị như một thiết bị đầu cuối di động – là một phần của mạng ad-hoc. Mỗi nhân viên cũng mang theo một thiết bị đầu cuối di động. Các thiết bị đầu cuối này đều liên kết với nhau, hình thành nên một mạng tạm thời nhằm trao đổi thông tin. Cấu hình mạng thay đổi theo những thời điểm khác nhau. Ngoài ra, các thiết bị đầu cuối di động không chỉ cung cấp chức năng gửi và nhận thông tin mà còn có thể chuyển tiếp thông tin – đóng vai trò như router trên Internet . Hội thảo Khác với cách làm truyền thống khi những người tham gia hội thảo muốn chia sẻ tài liệu cho nhau là gửi file đính kèm qua email hoặc sao chép qua các thiết bị lưu trữ thứ cấp có khả năng di động, tất cả những người tham dự hội thảo đều có thể sử dụng thiết bị di động để tạo thành một mạng ad-hoc trong suốt thời gian đó. Các thiết bị có thể truyền thông với nhau, truyền/nhận các tài liệu được sử dụng trong hội thảo. Khi hội thảo kết thúc, các thiết bị được tắt nguồn, mạng tự bị hủy bỏ. Đời sống hàng ngày Giả sử một em học sinh sử dụng thiết bị cầm tay di động đi học hàng ngày bằng xe bus. Khi lên xe bus, thiết bị đầu cuối của em chuyển sang chế độ ad-hoc. Em gặp bạn và muốn trao đổi file để so sánh kết quả bài tập toán về nhà. Sau đó, hai em muốn chơi trò chơi điện tử. Để có thể chơi với những người chơi khác, hai em phải kiểm tra xem trên xe buýt hoặc trong các ô tô xung quanh có một mạng chơi trò chơi điện tử nào hay chưa. Em chạy một ứng dụng ngang hàng và tìm một trò chơi nào đó có thể chơi trong lúc đi trên xe buýt. Rất may, một ai đó trên xe buýt đã chia sẻ các trò chơi và cho phép người khác tải về từ thiết bị đầu cuối của anh ta. Em chọn một trò chơi. Trò chơi được tự động tải về, cài đặt và cấu hình trên thiết bị đầu cuối của em. Em có thể chơi điện tử ngay sau đó. Bạn em cũng có thể tham gia vào trò chơi nếu muốn, ngay trên máy của em.

15

Hình vẽ 1-3: Mạng ad-hoc thuần túy (môi trường trên xe buýt) Môi trường mạng ở đây là một mạng không dây kiểu không cấu trúc thuần túy, tức là không có cơ sở hạ tầng về cáp, các thiết bị đầu cuối tự cấu hình để thành lập mạng, mà không có sự quản lý tập trung. Mạng này có thể tự chia nhỏ thành các mạng con: một mạng riêng giữa em học sinh và bạn của em, một mạng “chung” được khởi tạo bởi người muốn chia sẻ các chương trình trò chơi điện tử trên máy của anh ta. Hai mạng này được trộn lẫn vào nhau một cách động.

1.4 Vấn đề an ninh
Mạng di động không dây nói chung đều dễ bị đe dọa về an ninh hơn mạng cố định. Một số cấp độ bảo mật thường đươc áp dụng giữa các mạng không dây để giảm bớt các mối đe dọa. Không có liên kết mã hóa tại các tầng mạng,vấn đề bức xúc nhất là một trong các route các thực trước khi trao đổi điều khiển thông tin mạng. Một số cấp độ xác thực khác nhau, từ không có an ninh và chia sẻ những phương pháp tiếp cận đơn giản và đầy đủ. Để hỗ trợ các phương thức làm việc nhóm, một số chế độ xác thực tùy chọn được chuẩn hóa để sử dụng trong Ad-Hocs.

Tổng kết chương I
Chương này đã đề cập đến những vấn dề tổng quát nhất trong mạng AdHoc từ lịch sử hình thành ,khái niệm. Đặc biệt trong chương này đã đề cập và giới thiệu một số công nghệ được sử dụng trong mạng Ad-Hoc từ công nghệ phổ biến là Bluetooth đến các công nghệ đã và sẽ được triển khai trong tương lai như UWB,FSO hứa hẹn sẽ đem lại một tương lai tươi sáng nhất cho mạng không dây nói chung và mạng Ad-Hoc nói riêng.

16

CHƯƠNG II : HOẠT ĐỘNG CỦA CÁC GIAO THỨC PROACTIVE TRONG MẠNG AD-HOC
Chương này đề cập đến các chủ đề + Tổng quan về định tuyến trong mạng Ad-Hoc. + Vấn đề định tuyến và sự phân loại các giao thức định tuyến trong mạng Ad-Hoc. + Hoạt động của một số giao thức định tuyến Proactive trong mạng Ad-Hoc.

2.1 Tổng quan về định tuyến
Vấn đề định tuyến về cơ bản chính là vấn đề tìm đường đi ngắn nhất cho một gói tin được gửi từ một nút mạng tới nút đích của nó. Mỗi gói tin chứa ID của nút đích trong header của nó. Khi một nút nhận một gói tin nó sẽ kiểm tra ID trong header của gói tin nếu không phải là gửi cho nó nó sẽ chuyển tiếp gói tin tới nút kế tiếp gần nó nhất. Quá trình chuyển tiếp gói tin tiếp diễn cho đến khi nó tới được nút đích. Vì lý do này các phương pháp định tuyến được đưa ra với một mục tiêu chung là định ra cho mỗi gói tin được truyền đi một đường đi tối ưu. Vấn đề định tuyến trong mạng Ad-Hoc là một thách thức do các nút mạng luôn có xu hướng tự do chuyển động. Các liên kết có thể bị phá vỡ hoặc khôi phục bất cứ lúc nào và có những đặc điểm khác hẳn với những lý do khác. Ngoài ra, dải thông trong mạng không dây là thấp, các nút bị hạn chế bởi nguồn nuôi nên tổng lưu lượng dành cho định tuyến cần phải nhỏ. Từ khi xuất hện gói DARPA của mạng Radio vào đầu những năm 1970, nhiều giao thức được phát triển cho mạng Ad-Hoc. Các giao thức phải đối mặt với nhiều hạn chế của mạng này, trong đó bao gồm cả thiêu thụ công suất cao, đường truyền thấp và tỉ lệ lỗi cao. Như trong hình 1, giao thức định tuyến được phân loại thành: (a) điều khiển theo bảng và (b) Phương pháp định tuyến theo yêu cầu khởi phát từ nguồn. Đường nét liền trong hình này mô tả trực tiếp các lớp con. Mặc dù được thiết kế cho các mạng cùng loại ở lớp dưới, nhưng đặc

17

trưng của mỗi giao thức thức này khá rõ ràng. Những phần sau mô tả đặc điểm của các giao thức và phân loại theo đặc điểm của chúng.

Hình 2-1 : Các dạng định tuyến trong mạng Ad-Hoc Các giao thức định tuyến điều khiển theo bảng ( Proactive) cố gắng duy trì thông tin định tuyến cập nhật liên tục từ mỗi nút đến mọi nút khác trong mạng. Các giao thức này yêu cầu mỗi nút duy trì một hoặc nhiều bảng ghi để lưu trữ thông tin định tuyến, và chúng đáp ứng những thay đổi trong topo mạng bằng cách phát quảng bá rộng rải các thông tin cập nhật tuyến qua mạng để duy trì tầm kiểm soát mạng một cách liên tục. Những vùng nào khác nhau về số các bảng ghi liên quan đến định tuyến cần thiết và các phương thức thay đổi cấu trúc mạng sẽ được phát quảng bá để cho tất cả mọi nút đều có thể biết được. Các giao thức định tuyến proactive sử dụng phương pháp tràn lụt (Floading) để quảng bá thông tin tới các thiết bị. Phương pháp này cho phép thời gian thiết lập đường nhanh dựa trên các tham số gửi tới thiết bị sẵn sàng cho kết nối. Tuy nhiên, việc lưu lượng thông tin tiêu đề tăng lên chính là nhược điểm của phương pháp này. Giao thức định tuyến trạng thái liên kết tối ưu OLSR (Optimized Link State Routing) [RFC 3626], giao thức định tuyến vector khoảng cách tuần tự đích DSDV (Dynamic Destination-Sequenced Distance-Vector Routing) [IBM,1996], giao thức Clusterhead Gateway Routing Switch (CGSR), giao thức Wireless Routing Protocol ( WRP ) là một số ví dụ của giao thức định tuyến proactive. 18

2.2 Giao thức định tuyến vector khoảng cách theo yêu cầu AODV
AODV là một giao thức định tuyến phản ứng được phát triển đặc biệt cho Ad-Hoc. Trong AODV khi một nút cần gửi dữ liệu cho nút khác mà đường đi chưa được xác định trước, nó sẽ cố tìm một đường đi mới bằng cách sử dụng bản tin yêu cầu tìm đường RREQ, bản tin RREQ này được quảng bá trong mạng, chứa địa chỉ IP của nút nguồn và nút đích mà nó cần tìm. Bản tin RREQ sẽ được broadcast trên toàn mạng cho đến khi nào có một nút biết được đường tới nút đích hoặc chính nút đích đáp ứng lại với bản tin phản hồi RREP. Bản tin RREP được gửi trở lại nút nguồn và nút nguồn sẽ sử dụng thông tin đường đi của bản tin này để thiết lập đường liên kết end to end từ nút khởi đầu đến nút đích. Giao thức định tuyến AODV sẽ thực hiện một số quá trình xử lý như sau.

2.2.1 Tìm đường
Quá trình tìm đường được khởi tạo bất cứ khi nào một nút cần truyền thông tin với nút khác mà đường liên kết giữa chúng không được tìm thấy trong bảng định tuyến. Mỗi nút duy trì hai bộ đếm riêng biệt: một số thứ tự nút và một ID quảng bá. Nút nguồn bắt đầu tìm đường bằng việc quảng bá một gói tin yêu cầu đường RREQ (Route REQuest) tới các nút lân cận của nó. Gói tin RREQ chứa một số trường sau: <source_addr source sequence# Broadcast ID dest_addr dest_sequence# hop cnt> <địa chỉ nguồn, thứ tự nguồn#, ID quảng bá, địa chỉ đích, thứ tự đích#, hop count> Cặp <source_addr, broadcast_id> xác định đơn nhất một RREQ, broadcast_id được tăng lên mỗi khi nguồn phát ra một gói tin RREQ mới. Mỗi nút lân cận sẽ gửi lại một bản tin trả lời RREP (Route REPly) nếu thỏa mãn yêu cầu của gói RREQ hoặc sẽ quảng bá gói tin RREQ sau khi tăng giá trị của trường hop_cnt. Một nút có thể nhận nhiều bản sao của cùng một gói tin RREQ từ các nút khác nhau. Khi một nút trung gian nhân nhận được một RREQ, nếu nó đã nhận được một RREQ với cùng broadcast_id và địa chỉ đích, nó sẽ loại bỏ gói tin RREQ đến sau. Nếu một nút không thỏa mãn RREQ, nó giữ lại các thông

19

tin cần thiết để thiết lập đường chuyển tiếp đảo chiều cho gói tin RREP, các thông tin này bao gồm:  Địa chỉ IP đích  Địa chỉ IP nguồn  ID quảng bá  Thời gian sống cho đường đảo chiều  Số thứ tự của nút nguồn

2.2.2 Thiết lập đường đảo chiều
Có hai số thứ tự (ngoại trừ số thứ tự của broadcast_id) trong một RREQ đó là: Số thứ tự nguồn và số thứ tự đích mới nhất. Số thứ tự nguồn được sử dụng để duy trì thông tin về “độ mới” của tuyến đường đảo chiều đến nguồn, số thứ tự đích chỉ rõ tuyến đường tới đích phải “mới” như thế nào mới được nút nguồn chấp nhận. RREQ đi từ một nguồn đến nhiều đích khác nhau, các đường đảo chiều về nút nguồn sẽ được thiết lập tự động tại tất cả các nút mà nó đi qua. Để thiết lập đường đảo chiều, một nút ghi lại địa chỉ của nút lân cận từ bản sao RREQ đầu tiên mà nó nhận được. Tuyến đường đảo chiều này được duy trì trong khoảng thời gian ít nhất đủ cho gói tin RREQ đi qua mạng và tạo được một phản hồi về cho bên gửi.

2.2.3 Thiết lập đường chuyển tiếp
Khi một nút trung gian nhận được bản tin RREQ, nếu nó có chứa tuyến đường đến đích mong muốn trong bảng định tuyến, nó sẽ kiểm tra tính khả dụng của tuyến đường đó bằng cách so sánh số thứ tự đích tương ứng với tuyến đường có trong bảng định tuyến của nó với số thứ tự đích trong gói tin RREQ mà nó nhận được. Nếu số thứ tự đích của RREQ lớn hơn số thứ tự đích được lưu giữ bởi nút trung gian thì nút đó không được sử dụng thông tin về tuyến đường đến đích trong bảng định tuyến để trả lời cho gói tin RREQ. Thay vào đó nó sẽ phải tiếp tục quảng bá gói tin RREQ. Nút trung gian chỉ có thể phản hồi khi nó có một tuyến đường đến đích với số thứ tự đích tương ứng lớn hơn hoặc bằng số thứ tự đích chứa trong RREQ. Khi nút trung gian có một tuyến đến đích khả

20

dụng và gói tin RREQ chưa được xử lý trước đó, thì nó sẽ trả lời bằng một gói tin RREP theo đường truyền đơn hướng ngược lại nút mà nó đã nhận RREQ trước đó. Một RREP chứa các thông tin sau: <source_addr, dest_addr, dest_sequence#, hop_cnt, lifetime> <địa chỉ nguồn, địa chỉ đích, số thứ tự đích, hop count, thời gian sống> Khi RREQ được quảng bá đến một nút có thể cung cấp tuyến đường đến đích mong muốn, một đường đảo chiều tới nút nguồn của RREQ sẽ được thiết lập. Mỗi nút dọc theo tuyến đảo chiều mà RREP quay lại nguồn sẽ đóng vai trò là một nút chuyển tiếp, các nút này sẽ cập nhật lại toàn bộ thông tin về tuyến đường giữa nguồn và đích đồng thời ghi lại số thứ tự đích gần nhất của nút đích. Tuyến đường mà RREP quay lại nguồn được gọi là đường chuyển tiếp. Các nút không nằm trên tuyến chuyển tiếp sẽ xóa các tuyến ngược chiều mà chúng đã thiết lập trước đó khi khoảng thời gian ACTIVE_ROUTE_TIMEOUT kết thúc (3000 mili giây). Một nút sẽ truyền gói tin RREP đầu tiên về nguồn ngay khi nó nhận được. Nếu nó nhận nhiều gói tin RREP, cập nhật thông tin định tuyến và truyền bản tin RREP chỉ được thực hiện khi RREP chứa số thứ tự đích lớn hơn so với giá trị số thứ tự đích trong RREP trước đó hoặc bằng nhưng tuyến đường mới có số hopcount nhỏ hơn. Việc tăng số lượng RREP gửi về nguồn đảm bảo thông tin được cập nhật nhanh và nhiều nhất. Nút nguồn có thể thực hiện truyền dữ liệu sớm nhất có thể khi nó hoàn thành quá trình cập nhật thông tin từ RREP đầu tiên mà nó nhận được và có thể tiếp tục cập nhật thông tin định tuyến nếu nó học được một tuyến đường tốt hơn.

2.2.4 Quản lý bảng định tuyến
Ngoài các số thứ tự nguồn và đích, có thông tin hữu dụng khác cũng được lưu trong các mục của bảng định tuyến gọi là “trạng thái mềm” và được liên kết với các mục. Liên kết với các mục định tuyến đường đảo chiều là một bộ đếm thời gian được gọi là “bộ đếm thời gian giới hạn yêu cầu đường”. Với các nút không nằm trên tuyến đường từ nguồn đến đích, thông tin về các đường đảo

21

chiều sẽ được xóa khi thời gian giới hạn kết thúc. Thời gian giới hạn này phụ thuộc vào độ lớn của mạng. Một tham số quan trọng khác liên quan đến các mục định tuyến là giới hạn thời gian lưu trữ cho các tuyến đường, sau khoảng thời gian này tuyến đường đó được xem như không hợp lệ. Trong mỗi mục của bảng địch tuyến, địa chỉ hoạt động của các lân cận thông qua các gói tin định tuyến cũng được duy trì. Một nút lân cận được xem là liên kết với nguồn nếu nó khởi tạo hoặc chuyển tiếp ít nhất một gói tin cho nguồn đó trong ACTIVE_ROUTE_TIMEOUT gần nhất. Thông tin định tuyến này được duy trì để tất cả các nút nguồn hoạt động có thể được thông báo khi một liên kết dọc theo đường tới đích bị phá vỡ. Một mục tuyến đường được xem là hiệu dụng nếu nó được sử dụng bởi bất kỳ nút lân cận nào. Giống với DSDV, tất cả các tuyến trong bảng định tuyến được xác định với các số thứ tự đích để đảm bảo không xẩy ra hiện tượng lặp vòng trong quá trình định tuyến. Một nút có thể duy trì mục bảng định tuyến cho mỗi nguồn quan tâm. Mỗi mục bảng định tuyến chứa các thông tin sau:  Đích  Next hop  Số hop (giá hay chi phí của tuyến đường)  Các nút lân cận hiệu dụng cho tuyến đường  Thời gian giới hạn cho bảng mục tuyến đường Trong khoảng thời gian hiệu dụng, tuyến đường sẽ được sử dụng cho truyền dữ liệu từ nguồn đến đích, thời điểm hết hạn sẽ được cập nhật lại bằng cách cộng thời điểm thực hiện truyền dẫn với khoảng thời gian giới hạn. Nếu một tuyến mới được yêu cầu cho một nút, nó sẽ so sánh số thứ tự đích của tuyến đường mới với số thứ tự đích của tuyến đường hiện tại. Tuyến đường với số thứ tự đích lớn hơn sẽ được chọn. Nếu các số thứ tự là như nhau, tuyến mới chỉ được chọn khi nó có chi phí nhỏ hơn (số hop-cont nhỏ hơn) để đến đích.

2.2.5 Duy trì tuyến
Di chuyển của các nút không nằm trên tuyến đường nguồn - đích thì không ảnh hưởng đến hoạt động liên kết giữa hai nút này. Nếu nút nguồn di

22

chuyển, nó có thể khởi tạo lại thủ tục tìm đường để thiết lập một tuyến đường mới tới đích. Khi đích hoặc một số nút trung gian di chuyển, một gói tin RREP đặc biệt sẽ được gửi từ các nút chịu ảnh hưởng. Các bản tin Hello (hello periodic) theo chu kỳ có thể được sử dụng để đảm bảo các liên kết đối xứng, cũng như hưỡng lỗi liên kết. Theo cách khác, lỗi có thể được phát hiện bằng sử dụng các báo nhận lớp liên kết LLACK (Link-Layer-ACKnowleddgments). Một tuyến lỗi cũng được chỉ ra nếu nỗ lực chuyển tiếp một gói tin đến nút kế tiếp thất bại. Khi một nút không thể vươn tới nút kế tiếp, nó sẽ truyền ngược lại một gói tin RREP không liên kết với số thứ tự mới lớn hơn số thứ tự đã được biết trước đó và hop-count của của tất cả các nút lân cận hoạt động ngược chiều. Các nút này tiếp tục chuyển tiếp gói tin cho đến khi nào tất cả các nút nguồn hoạt động được thông báo. Nó sẽ kết thúc do AODV chỉ duy trì các tuyến đường không lặp và chỉ có một số lượng nút hưu hạn trong mạng. Khi nhận các thông báo về một liên kết bị phá vỡ nút nguồn có thể khởi động lại quá trình tìm đường nếu nó vẫn yêu cầu một tuyến đường đến đích. Để xác định một tuyến đường như vậy trước tiên nó kiểm tra xem có tuyến đường nào được sử dụng gần đấy hay không, cũng như kiểm tra các khối điều khiển giao thức lớp trên để biết được có kết nối nào đang hoạt động với đích hay không. Khi một nút quyết định cần xây dựng lại tuyến đường đến đích, nó sẽ gửi một gói tin RREQ với một số thứ tự đích lớn hơn số thứ tự đích được biết trước đó đảm bảo tuyến đường đang xây dựng là hoàn toàn mới, và sẽ không có nút nào trả lời nếu chúng vẫn xem tuyến đường trước đó là hợp lệ.

2.2.6 Xử lý lỗi, hết hạn và xóa bỏ tuyến
Thông thường, việc xử lý RERR và liên kết gãy cần đến các bước sau đây:  Làm mất hiệu lực các tuyến hiện tại.  Liệt kê các đích bị ảnh hưởng.  Xác định rõ nếu có bất kì nút lân cận nào có thể bị ảnh hưởng.  Thực hiện một RERR tới các nút lân cận.

23

Một bản tin RERR có thể là broadcast, unicast hay multicast. Ngay cả khi bản tin RERR là một unicast lặp lại tới một số chặng trước, nó được xem là một bản tin điều khiển đơn. Với cách hiểu đó, một nút không nên khởi tạo nhiều hơn một lượng RERR_RATELIMIT bản tin RERR trên một giây. Một nút bắt đầu xử lý cho một RERR trong ba hoàn cảnh sau: i. Nếu nó phát hiện một liên kết gãy cho chặng tới của một tuyến

hoạt động trong bảng định tuyến của nó trong khi truyền dữ liệu. ii. Nếu có được một gói dữ liệu đi đến một nút mà nó không có một

tuyến hoạt động và không được sửa chữa. iii. Nếu nó nhận một RERR từ một nút lân cận cho một hoặc nhiều

tuyến hoạt động. Đối với trường hợp (i), đầu tiên nút tạo một danh sách các nút không tới được chứa các nút lân cận không tới được và bổ sung bất kỉ đích nào trong bảng định tuyến nội vùng cái mà sử dụng các nút lân cận không thể tới được như các chặng tiếp theo. Trong trường hợp này, nếu một tuyến mạng con được tìm thấy là khổng thể tới được, một đỉa chỉ IP đích cho mạng con này được thiết lập bằng việc chèn các số 0 vào tiền tố mạng con như được chỉ ra trong mục bảng định tuyến. Đối với trường hợp (ii), chỉ có một đích không thể tới được, cái mà là đích của gói dữ liệu mà không thể được phân phát. Trong trường hợp (iii), danh sách nên bao gồm các đích này trong RERR. Một vài đích không tới được trong danh sách có thể được sử dụng bởi các nút nút lân cận, và vì thế nó có thể cần thiết cho việc gửi một RERR. RERR nên chứa các đích đó là một phần danh sách được tạo ra của các đích khồng đến được và có một danh sách cách chặng trước không trống rỗng. Các nút láng giềng mà có thể nhận RERR là tất cả các nút thuộc về một danh sách chặng trước của ít nhất một đích không thể tới được trong RERR mới được tạo. Trong trường hợp có duy nhất một nút lân cận mà cần nhận RERR, RERR nên được truyền unicast theo hướng nút lân cận đó. Nếu không RERR được gửi quảng bá các địa chỉ nội vùng ( IP đích là 255.255.255.255 và TTL =1)

24

với các đích không thể đến được, và chỉ số thứ tự đích tương ứng của các đích đó, được chứa trong gói tin. Trường DestCount của gói RER xác định số lượng các đích không tới được đã bao gồm tron gói tin. Ngay trước khi truyền RERR, những cập nhật đã chắc chắn được tạo trên bảng định tuyến mà có thể ảnh hưởng tới chỉ số thứ tự cho các đích không thể đến được. Đối với mỗi một đích này, các mục bảng định tuyến tương ứng được cập nhật như sau:  Chỉ số thứ tự đích của mục định tuyến này, nếu hiện tại nó là hợp lệ, được tăng trong các trường hợp (i) và (ii) ở trên, và được sao chép từ RERR đến trong trường hợp (iii) ở trên.  Mục được cho là không hợp lệ bởi sự đánh dấu của mục tuyến khi không hợp lệ.  Trường Lifetime được cập nhật bằng thời gian hiện tại cộng với thời gian DELETE_PERIOD. Trước thời gian này, mục không nên được xóa. Trường Lifetime trong bảng định tuyến đóng hai vai trò: đối với một tuyến hoạt động nó là thời gian hết hạn, và đối với một tuyến không hợp lệ nó là thời gian xóa. Nếu một gói dữ liệu được nhận một tuyến không hợp lệ, trường Lifetime được cập nhật bằng thời gian hiện tại cộng với thời gian DELETE_PERIOD.

2.2.7 Quản lý kết nối nội vùng
Các nút có thể học thông tin từ nút lân cận của chúng bằng một hoặc nhiều cách khác nhau. Bất cứ khi nào một nút nhận được quảng bá từ một nút lân cận, nó cập nhật thông tin kết nối nội bộ để đảm bảo đang liên kết với nút lân cận này. Khi một nút chưa gửi gói tin nào cho các nút lân cận trong khoảng thời gian Hello, nó quảng bá tới các nút lân cận một bản tin Hello, một bản tin RREP đặc biệt chứa nhận dạng và số thứ tự của nó. Số thứ tự của nút không được thay đổi khi truyền dẫn bản tin Hello. Bản tin Hello này không được quảng bá ra ngoài vùng lân cận do giá trị thời gian sống Time-To-Live (TTL) là 1. Các nút lân cận nhận gói tin này sẽ cập nhật thông tin kết nối nội bộ chứa trong gói tin. Nhận một quảng bá hoặc một bản tin Hello từ một nút lân cận mới hoặc mất liên

25

tục các gói tin Hello từ một nút lân cận trước đó trong vùng lân cận được ngầm hiểu là kết nối nội bộ đã bị thay đổi. Nếu các bản tin Hello không được nhận từ nút kế tiếp dọc theo tuyến đường hiệu dụng, các nút lân cận hoạt động sẽ dựa vào nút kế tiếp đó để gửi thông báo lỗi kết nối. Số lần mất Hello cho phép lý tưởng là hai. Quản lý kết nối nội bộ với các bản tin Hello có thể được sử dụng để đảm bảo chỉ các nút có kết nối song hướng mới được xem là lân cận của nhau. Với mục đích này, mỗi Hello được gửi bởi một nút liệt kê danh sách các nút mà nó nghe được. Mỗi nút kiểm tra để đảm bảo nó chỉ sử dụng các tuyến đường đến các nút lân cận mà nó nghe được qua bản tin Hello.

2.2.8 Sửa chữa nội vùng
Khi đứt liên kết xẩy ra các nút trong mạng sẽ cố gắng sửa chữa nội bộ liên kết nếu đường tới đích không dài hơn số bước nhảy đã được chỉ rõ. Để sửa liên kết các nút tăng số thứ tự đích và quảng bá bản tin RREQ tới các nút khác. TTL cho tiêu đề IP phải được tính sao cho quá trình sửa nội vùng không trải rộng ra mạng. Trường TTL của RREQ nên được thiết lập ban đầu bằng giá trị như sau: TTL = max (MIN_REPAIR_TTL, 0.5 x #hops) + LOCAL_ADD_TTL. Với #hops là số lượng các chặng tới nút khởi đầu của gói tin không phân phát được hiện tại. Như vậy, sửa chữa nội vùng cố gắng sẽ thường xuyên ẩn tới nút khởi đầu và sẽ luôn có TTL >= MIN_REPAIR_TTL + LOCAL_ADD_TTL. Nút khởi đầu sửa chữa sau đó đợi trong khoảng thời gian khám phá để nhận các RREP hồi đáp tới RREQ. Trong suốt thời gian sửa chữa nội vùng, các gói dữ liêuk nên được nhớ đệm. Nếu, tại thời điểm cuối cùng của một thời gian khám phá, nút sửa chữa không nhận được một RREP cho đích đó, nó sẽ gửi một bản tin RERR đối với đích đó. Mặt khác, nếu nút nhận một hay nhiều RREP trong suốt thời gian khám phá, đầu tiên nó sẽ so sánh giá trị hop count của tuyến mới với giá trị trong trường hop count của mục bảng định tuyến không hợp lệ cho đích đó. Nếu giá trị hop count của tuyến được xác định mới nhất tới đích lơn hơn hop count của tuyến được biết trước đó, nút nên phát ra một bản tin RERR cho đích với bit N được thiết lập. Sau nó đõ cập nhận mục bảng định tuyến cho đích đó.

26

Một nút nhận bản tin RERR với cờ N được thiết lập không được xóa bỏ tuyến tới đích đó. Chỉ nên thực hiện hành động truyền lại gói tin, nếu RERR được nhận từ chặng tiếp theo dọc tuyến đó, và nếu có một hoặc nhiều các nút chặng trước cho tuyến đó tới đích. Khi nút khởi đầu nhận một RERR với cờ N được thiết lập, nếu bản tin này đến từ chặng tiếp theo của nó dọc them tuyến của nó tới đích thì nút khởi đầu nên chọn khởi đầu lại khám phá tuyến. Sửa chữa nội cùng của các liên kết gãy trong các tuyến đôi khi cho kết quả là tăng độ dài tuyến tới các đích đó. Sự sửa chữa liên kết nội vùng có khả năng tăng số lượng các gói dữ liệu mà có thể được phân phát tới các đích, vì các gói sẽ không bị hủy bỏ khi RERR di chuyển tới nút khởi đầu. Việc gửi một RERR tới nút khởi đầu sau khi sửa chữa nội vùng liên kết gãy có thể cho phép nút khởi đầu tìm được một tuyến mới tới đích mà tốt hơn dựa trên vị trí nút hiện tại. Tuy nhiên, nó không yêu cầu nút khởi đầu xây dựng lại tuyến. Khi một liên kết gãy dọc một tuyến hoạt động, thường xuyên có nhiều đích mà trở nên không tới được. Nút mà là luồng lên của liên kết bị mất lập tức thử một sửa chữa nội vùng cho chỉ một đích theo hường mà gói dữ liệu được di chuyển. Các tuyến khác sử dụng cùng liên kết phải được đánh dấu là không hợp lệ, nhưng nút điều khiển sửa chữa nội vùng phải báo hiệu mỗi tuyến mất mới nhất khi sửa chữa nội vùng; cờ sửa chữa nội vùng này trong bảng định tuyến phải được đặt lại khi tuyến hết hạn. Trước khi thời gian hết hạn xảy ra, các tuyến khác này sẽ được sửa chữa khi cần thiết khi các gói đến các đích khác. Do đó, các tuyến này được sửa chữa khi cần; nếu một gói dữ liệu không đến tuyến nào, thì tuyến đó sẽ không được sửa chữa. Ngoài ra, tùy thuộc vào sự tắc nghẽn nội vùng, nút có thể bắt đầu xử lý thiết lập các sửa chữa nội vùng cho các tuyến khác, mà không đợi gói tin mới đến. Bằng việc sửa chữa tiên phong các tuyến mà đã gãy do mất liên kết, các gói dữ liệu đến cho các tuyến đó sẽ phải chịu sự trì hoãn sửa chữa tuyến và có thể ngay lập tức được chuyển tiếp. Tuy nhiên việc sửa chữa tuyến đường trước khi một gói dữ liệu được nhận có thể gặp phải rủi ro về việc các đường sửa chữa không còn tồn tại nữa. Vì vậy tùy thuộc vào lưu lượng nội vùng trong mạng và sự tắc nghẽn đang được trải

27

qua, nút có thể quyết định sửa chữa tiên phong các tuyến hay không trước khi một gói dữ liệu được nhận; nếu không, nó có thể đợi cho đến khi một gói dữ liệu được nhận, và sau đó bắt đầu sửa chữa tuyến.

2.3 Clusterhead Gateway Routing Switch (CGSR) 2.3.1 Tổng quan về giao thức CGSR
Clusterhead Gateway Routing Switch (CGSR) là một giao thức khác từ các giao thức trước đó trong các loại địa chỉ và mạng lưới làm việc. Thay thế một tầng mạng, CGSR là một nhóm các bước nhảy của mạng di động không dây với chương trình cài đặt định tuyến dựa trên thuật toán Heuristic [4]. Một nhóm tác giả cho rằng bằng việc có một cluster head kiểm soát một nhóm của nút Ad-hoc, một khung cho sự tách mã, truy cập tần số, tuyến đường và phân bố băng thông có thể đạt được. Môt cluster head chọn một giải thuật cho nút như cluster head sử dụng thuật toán phân phối bên trong cluster. Hạn chế của việc có một cluster head là thay đổi cluster head thường xuyên có thể ảnh hưởng đến giao thức đinh tuyến từ nút đang bận trong cluster head được chọn hơn là gói chuyển tiếp. CGSR sử dụng một a Least Cluster Change (LCC). Một sự thay đổi clusterhead chỉ xảy ra khi hai clusterheads đi vào một nhóm hay một trong các nút di chuyển ra khỏi phạm vi của tất cả các clusterheads.

2.3.2 Kiến trúc của giao thức CGSR

Hình 2-2: CGSR: Định tuyến từ node 1 đến node 12. CGSR sử dụng DSDV như hệ thống định tuyến bên dưới và từ đây có nhiều DSDV giống như ban đầu. Tuy nhiên, nó thay đổi DSDV bằng cách sử

28

dụng một cluster head có sự sắp xếp đến định tuyến gateway từ nguồn đến đích. Nút Gateway là những nút mà bên trong phạm vi truyền của hai hay nhiều cluster heads. Nếu có một nút để định tuyến một gói tin, nó tìm thấy các clusterhead gần nhất dọc theo tuyến đường đến đích theo bảng thành viên nhóm và bảng định tuyến này. Sau đó, nó sẽ tham khảo bảng định tuyến của nó để tìm bước kế tiếp để tiếp cận các clusterhead chọn ở trên và truyền các gói dữ liệu đến nút đó. Hình 2 là một ví dụ về định tuyến này. Tất cả các nút trong phạm vi giao tiếp của các clusterhead thuộc nhóm của nó. Một nút đó là trong phạm vi giao tiếp của hai hay nhiều clusterheads được gọi là gateway. Sử dụng phương pháp này, mỗi nút phải giữ một “ nhóm cluster heads ” , ở đâu đó sẽ lưu trữ đích đến của các cluster heads cho mỗi nút mạng khác nhau. Bảng thành viên cluster này được phát sóng theo định kì bởi mỗi nút sử dụng giải thuật DSDV. Những nút này sẽ cập nhật các mục trong bảng thành viên cluster heads của chúng trên một bảng mới từ một láng giềng. Nếu có một nút để định tuyến một gói tin, nó tìm thấy các clusterhead gần nhất dọc theo tuyến đường đến đích theo bảng thành viên nhóm và bảng định tuyến này. Sau đó, nó sẽ tham khảo bảng định tuyến của nó để tìm bước kế tiếp để tiếp cận các clusterhead chọn ở trên và truyền các gói dữ liệu đến nút đó. Vì vậy, nguyên tắc định tuyến trông như sau: 1. Tra cứu của clusterhead của nút đích 2. Tra cứu của hop kế tiếp 3. Gói gửi đến đích 4. Điểm đến clusterhead cung cấp gói Trước tiên, nguồn có để truyền các gói dữ liệu để clusterhead của nó. Sau đó, clusterhead này sẽ gửi gói sang nút cổng kết nối này clusterhead và clusterhead kế tiếp dọc theo tuyến đường đến đích đến. Gateway sẽ gửi gói đến clusterhead tiếp theo. Điều này sẽ đi vào cho đến khi clusterhead đích là đạt. Các clusterhead đích sau đó truyền tải các gói dữ liệu đến nút đích.

29

2.4 Giao thức OLSR (Optimized Link State Routing) 2.4.1 Khái quát giao thức OLSR
Như đã được giới thiệu, OLSR là một giao thức định tuyến khởi tạo theo chu kỳ được tối ưu các mạng tùy biến. Giao thức này thừa kế tính ổn định của thuật toán trạng thái liên kết và luôn sẵn sàng các tuyến đường khi cần thiết. Với mục đích giảm thiểu chi phí cho công việc tràn lụt lưu lượng điều khiển OLSR chỉ sử dụng các nút MPR được chọn để truyền dẫn các bản tin này. Kỹ thuật này làm giảm đáng kể số lượng yêu cầu truyền lại để tràn lụt một bản tin tới tất cả các nút trong mạng. OLSR chỉ sử dụng một phần thông tin trạng thái liên kết được tràn lụt để lựa chọn tuyến đường ngắn nhất. Có một yêu cầu cho tất cả MPR là phải thông báo các liên kết tới các nút đã lựa chọn chúng. Ngoài ra thông tin cấu hình mạng có thể được sử dụng cho mục đích dự phòng. OLSR có thể tối ưu các phản ứng khi cấu hình mạng thay đổi bằng cách giảm thời gian giữa hai lần truyền bản tin điều khiển. Hơn thế nữa, nó luôn duy trì các tuyến đến tất cả các đích trong mạng. Vì thế OLSR rất phù hợp cho truyền thông giữa các tập hợp nhiều nút mạng với nhau hoặc cho các cặp nguồn - đích thay đổi theo thời gian. Giao thức này đặc biệt phù hợp với các mạng lớn và giày đặc. Các lợi thế này được mang lại nhờ sử dụng kỹ thuật chuyển tiếp đa điểm cũng như các lợi thế của định tuyến khởi tạo theo chu kỳ. OLSR được thiết kế để làm việc trong các mạng phân tán và không phụ thuộc vào bất kỳ một thực thể trung tâm nào. Giao thức này không yêu cầu truyền dẫn tin cậy cho các bản tin điều khiển. Mỗi nút gửi các bản tin điều khiển theo chu kỳ và có thể duy trì một tỉ lệ mất gói hợp lý. Hiện tượng mất gói này xẩy ra thường xuyên trong mạng vô tuyến do xung đột hoặc các vấn đề về truyền dẫn. OLSR không yêu cầu chuyển tiếp tuần tự các bản tin. Mỗi bản tin điều khiển chứa một số thứ tự và được đặt tăng dần cho mỗi bản tin. Vì vậy bên nhận sẽ dễ dàng xác định được bản tin nào mới hơn thậm chí đối với các bản tin đã được sắp xếp lại trong quá trình truyền dẫn. Hơn thế OLSR còn có các hỗ trợ hổ xung như hoạt động trong chế độ ngủ và định tuyến đa phương (multicast). Các hỗ trợ xung này hoàn toàn tương thích với các phiên bản khác nhau của giao thức.

30

OLSR không yêu cầu bất kỳ thay đổi nào về khuôn dạng của gói tin IP vì thế nó hoàn toàn phù hợp với chồng giao thức IP hiện tại.

2.4.2 Chuyển tiếp đa điểm
Ý tưởng của những chuyển tiếp đa điểm sẽ tối thiểu hóa thủ tục bổ sung của việc bao phủ những thông tin trong mạng bằng việc giảm sự truyền lại không cần thiết trong cùng miền. Mỗi một nút mạng lựa chọn một tập hợp những nút trong 1-hop láng giềng đối xứng, cái có thể truyền lại thông tin của nó. Bộ những nút làng giềng được chọn được gọi là bộ MPR của nút đó. Những nút láng giềng của nút N không có trong bộ MPR nhận và xử lý những thông tin phát sóng nhưng không truyền lại những thông tin được nhận từ nút N. Mỗi nút lựa chọn bộ MPR của nó từ trong số những 1-hop láng giềng đối xứng của nó. Bộ này được lựa chọn như nó bao gồm (kì hạn của trạm phát sóng ) tất cả các nút 2-hop đối xứng . Bộ MPR của nút N được kí hiệu như MPR{N}, sau đó một tập hợp tùy ý của 1-hop lân cận đối xứng của N đã thỏa mãn điều kiện tiếp theo: mỗi nút trong 2-hop lân cận đối xứng của N phải có một liên kết đối xứng hướng về MPR{N}. Một bộ MPR nhỏ hơn, kết quả thông tin bổ sung ít lưu lượng điều kiện từ giao thức định tuyến. [2] một ví dụ và phân tích thuật toán lựa chọn MPR. Mỗi một nút duy trì thông tin về tập hợp những nút láng giềng đã lựa chọn nó như MPR. Bộ này được gọi là chuyển tiếp đa điểm của một nút. Một nút chứa những thông tin này từ những thông tin HELLO định kì nhận được từ các nút láng giềng. Thông tin phát sóng có mục đích truyền vào toàn bộ mạng, nó đến từ bất kỳ bộ chọn MPR của nút N được truyền lại bởi nút N nếu N vẫn chưa nhận được. Bộ cài đặt có thể thay đổi theo thời gian ( ví dụ như khi một nút lựa chọn một bộ cài đặt MPR khác) và được chỉ ra bởi những nút được lựa chọn trong bản tin HELLO của chúng. OLSR được phát triển cho mạng AD-HOC. Nó hoạt động như một bảng điều khiển, loại giao thức proactive đó là trao đổi thông tin poto với các nút khác của mạng theo quy tắc. Mỗi một nút sẽ lựa chọn những nút láng giềng của nó

31

như “ chuyển tiếp đa điểm ” ( MPR ). Trong OLSR chỉ những nút được chọn như MPR sẽ chịu trách nhiệm cho việc tăng cường kiểm soát lưu thông, dùng cho việc khuyếch tán vào toàn bộ mạng. MPR cung cấp một chơ chế hiệu quả cho việc kiểm soát lưu thông bằng việc giảm số lượng cần truyền. Những nút được chọn như MPR cũng có trách nhiệm đặc biệt khi khai báo thông tin trạng thái liên kết trong mạng. Như vậy, chỉ một yêu cầu cho OLSR cung cấp những đường truyền nhắn nhất tới tất cả các điểm đích là những nút MPR do khai báo thông tin trạng thái liên kết cho bộ chọn MPR của chúng. Thêm vào đó thông tin trạng thái liên kết có sẵn có thể được dùng cho trạng thái dư thừa. Những nút được chọn như MPR bởi vài nút láng giềng sẽ thông báo thông tin này theo chu kỳ trong thông tin điều khiển của chúng. Vì vậy một nút thông báo đến mạng thì đó là nó có thể đến với những nút đã lựa chọn nó như một MPR. Theo sự hoạch định đường truyền, những MPR được sử dụng để tạo lên đường truyền từ một nút đã định tới bất kỳ điểm đích nào trong mạng. Hơn nữa, giao thức sử dụng MPR để làm tăng hiệu quả của thông tin điều khiển trong mạng. Một nút được lựa chọn những MPR từ một trong số các nút láng giềng của nó với "symetric" như hai chiều, sự liên kết. Do đó, việc lựa chọn đường truyền thông qua MPR tự động tránh những vấn đề kết hợp với gói dữ liệu dịch chuyển qua sự liên kết một chiều ( như vấn đề của việc không thừa nhận lớp liên kết cho những gí dữ liệu tại mỗi hop, với những tầng liên kết áp dụng công nghệ này cho lưu lượng unicast. OLSR được phát triển để làm việc độc lập từ những giao thưc khác. Cũng như vậy, OLSR không tạo ra những giả thiết vầ tầng liên kết cơ bản. OLSR thừa hưởng khái niệm của việc vận chuyển và việc chuyển tiếp từ HIPERLAN ( một giao thức tầng MAC ) được tiêu chuẩn hóa bởi ETSI [3]. Giao thức được phát triển trong dự án IPANEMA ( một phần của chương trình Euclid ) và trong dự án PRIMA ( một phần của chương trình RNRT ).

32

2.4.3 Nguyên tắc trao đổi bản tin
Trong các giao thức định tuyến trạng thái đường liên kết, các nút truyền danh sách quảng bá đường định tuyến cho các nút lân cận trực tiếp với nó. Các bản tin quảng bá này được gọi là quảng bá trạng thái liên kết (LSA), nó được broadcast trên toàn mạng. Khi các mạng Ad-Hoc bị giới hạn bởi băng thông đường truyền. OLSR kết hợp một khái niệm gửi tràn lụt các bản tin định tuyến qua mạng dựa trên nguyên tắc chuyển tiếp đa điểm (MPRs). Mục đích của MPR là tối ưu hóa trong việc gửi tràn lụt các bản tin cập nhật trạng thái. Mỗi nút sẽ nhận các bản tin tràn lụt từ tất cả các hướng (từ bất cứ nút nào nằm trong giải truyền dẫn). Hình 2.6 mô tả một nút A khởi tạo và gửi tràn lụt các gói tin qua mạng.

A

Hình 2.3: Các gói tin định tuyến tràn lụt trong mạng

Cơ chế gửi tràn lụt không mấy hiệu quả do các nút khác nhau có thể nhận cùng một bản tin ở các thời gian khác nhau. Trong OLSR, một cơ chế nhiều hiệu quả hơn được sử dụng cho quá trình truyền dẫn thông tin định tuyến đó là mỗi nút chỉ có nhiệm vụ truyền thông tin trạng thái liên kết LSA của nó cho một số các nút lân cận đối xứng một bước (one-hop) của nó. Các nút đặc biệt này được chọn sao cho các bản tin quảng bá trạng thái đường liên kết LSA sẽ tới được tất cả các nút lân cận hai bước (two-hop) của nó. Các nút này được chọn để chuyển tiếp các bản tin quảng bá trạng thái đường liên kết được gọi là MPRs. Hình 2.7 mô tả quá trình một nút A truyền một bản tin cập nhật định tuyến, nó sẽ broadcast bản tin này. Tất cả các nút trong giải truyền phát đều nhận và xử lý bản tin này nhưng chỉ có các nút là MPRs của A mới tiếp tục gửi bản tin này.

33

Với cơ chế này OLSR có thể giảm được băng thông tiêu tốn cho việc quảng bá trạng thái đường liên kết. Trong OLSR, mỗi nút truyền các bản tin ‘Hello’ theo chu kỳ trên các giao diện của nút với mục đích duy trì liên kết với các nút lân cận trực tiếp (one-hop) của nó. Các bản tin ‘Hello’chỉ broadcast tới các nút lân cận một bước (one-hop) với nội dung chứa tên của nút khởi tạo, của các nút lân cận một bước đã được chọn từ trước. Các nút khởi tạo có thể chọn các MPRs cho nó. Một nút lắng nghe bản tin ‘hello’ và kiểm tra xem bản tin nào được phát ra từ một nút lân cận mới hay không, nếu có nút sẽ cập nhật vào danh sách nút lân cận một bước của nó. Đồng thời sẽ kiểm tra xem nó có được nút lân cận đó chọn làm MPR hay không. Nếu được chọn nó tiếp tục gửi tràn lụt thông tin cập nhật định tuyến và chỉ các nút lân cận là MRP của nó mới tiếp tục chuyển tiếp thông tin cập nhật định tuyến này. Các nút đều có thể tìm ra được các nút lân cận hai bước (two-hop) của nó thông qua danh sách các nút lân cận một bước trong các bản tin ‘Hello’ mà nó nhận được từ các nút lân cận một bước (one-hop). Mỗi nút chọn các MRPs dựa trên khu vực lân cận nút lân cận hai bước do đó đường tới các nút lân cận hai bước có thể đi qua các MPR.

Hình 2.4: Trao đổi thông tin trong OLSR

Cập nhật trạng thái đường liên kết được truyền qua mạng thông qua một bản tin được gọi là bản tin điều khiển topo mạng (TC-topology control message). Các bản tin TC được tràn lụt qua mạng và tất cả các nút đều có thể tính toán lại bảng định tuyến của nó thông qua thông tin chứa trong bản tin này. Quá trình tràn lụt được thực hiện bởi các MRPs được mô tả như trong hình 2.7. OLSR

34

không yêu cầu một nút phải quảng bá cho tất cả các nút lân cận của nó mà chỉ cho các nút được chọn làm MPR của nó. OLSR cũng bao gồm hai loại bản tin: Các bản tin liên kết host và mạng được các tuyên bố đa giao diện (MID-multiple interface declaration) chỉ được dùng bởi các nút có nhiều giao diện sử dụng OLSR, do đó các nút khác có thể liên kết với các giao diện khác nhau trên cùng một nút.

2.4.4 Khả năng áp dụng
OLSR là một giao thức định tuyến tiên phong cho mạng AD-HOCs[1][2]. Nó khá phù hợp với những mạng di động lớn và dày đặc cũng như sự tối ưu hóa đã hoàn thành việc dùng MPR làm việc ăn ý trong hình thưc này. Với mạng lớn và dày đặc hơn hì sự tối ưu hóa hơn có thể được hoàn thành cũng như so sánh được với thuật toán trạng thái liên kết điển hình. OLSR dùng định tuyến hop-byhop, ví dụ như mỗi nút sử dụng thông tin của nó tới các gói định tuyến. OLSR khá phù hợp với mạng mà lưu lượng là ngẫu nhiên và bất đinh giữa một tập hợp những nút lớn hơn và gần như trở thành duy nhất giữa một tập hợp những nút đặc biệt. Cũng như một giao thức tiên phong, OLSR cũng phù hợp cho những kịch bản nối những cáp truyền thông thay đổi qua thời gian: thêm vào đó, lưu lượng không điều khiển được tạo thành trong hoàn cảnh này từ khi những định tuyến được sửa chữa cho tất cả những điểm đich tại cùng một thời điểm.

2.5 Giao thức định tuyến không dây ( WRP )
The Wireless Routing Protocol ( WRP ) thuộc lớp thuật toán tìm đường dẫn. Để tránh bài toán phải tính đến vô cùng phải cưỡng bức mỗi nút thực hiện định tuyến liên tục kiểm tra thông tin trước đó được tất cả các nút lân cận báo cáo về. Điều này loại bỏ việc lặp lại không xác định và cho độ hội tụ tuyến nhanh hơn khi xảy ra sự cố trên đường thông . Trong WRP, các nút cần biết về sự tồn tại của các nút lân cận từ một số bản tin đặc biệt. Nếu một nút không phải đang gởi gói, nó phải gửi một bản tin HELLO trong một khoảng thời gian xác định để đảm bảo thông tin kết nối được

35

phản ánh một cách chính xác. Ngược lại, việc thiếu thiếu các bản tin từ nút có thể xác định sự cố đường thông vô tuyến và gây nên cảnh báo sai. Khi một nút thu được bản tin HELLO từ một nút mới, thông tin nút mới đó được thêm vào bảng định tuyến của nó, và nó sẽ gởi đến nút mới một bản sao thông tin bảng định tuyến của nó. WRP phải duy trì 4 bảng, đó là: Bảng cự ly, Bảng định tuyến, Bảng chi phí đường truyền, và Bảng ghi danh sách phát lại bản tin (MRL). Bảng ghi cự ly cho biết số chặng giữa một nút và nút đích của nó. Bảng ghi định tuyến cho biết nút ở chặng kế tiếp. Bảng ghi chi phí đường thông phản ánh độ trễ theo từng đường thông cụ thể. MRL chứa số thứ tự của bản tin cập nhật, bộ đếm số bản tin truyền lại, việc nhận biết vector cờ cần thiết, và danh sách thông tin cập nhật được gởi trong bản tin cập nhật. Các bản tin MRL cập nhật bản tin cần được phát lại và các nút lân cận phải biết về điều này. Để đảm bảo rằng thông tin định tuyến chính xác, các nút phải gởi bản tin cập nhật định kỳ đến các nút lân cận của nó. Bản tin cập nhật chứa thông tin cập nhật (danh sách nút đích, khoảng cách đến đích, các nút trước nút đích) cũng như danh sách các đáp ứng mà nút xác định được phải nhận biết để cập nhật. Một nút gửi các bản tin cập nhật sau khi xử lý thông tin cập nhật từ các nút lân cận hay khi phát hiện có sự thay đổi đường truyền. Khi sự cố đường thông xảy ra, các nút phát hiện sự cố sẽ gởi các bản tin cập nhật đến các nút lân cận của chúng, và các nút này sẽ hiệu chỉnh các thực thể trong Bảng ghi cự ly, đồng thời kiểm tra các đường dẫn mới khả thi thông qua các nút khác.

2.6 Định tuyến nguồn động (DSR)
Giao thức DSR (Dynamic Source Routing) là một giao thức định tuyến theo yêu cầu từ nút nguồn. Trong đó, các nút di động cần duy trì bộ nhớ đệm về tuyến chứa các tuyến nguồn mà nút di động nhận biết được. Các thực thể trong bộ nhớ đệm tuyến được cập nhật liên tục.

36

Hình 2-5: Định tuyến nguồn động DSR Giao thức này bao gồm 2 giai đoạn chính: a) Khám phá tuyến, b) Duy trì tuyến (Hình 3). Khi một nút di động gởi một gói đến một nút đích nào đó, trước hết nó phải tham vấn bộ nhớ đệm tuyến để xác định là nó đã có một tuyến để đến đích chưa. Nếu nó có một tuyến chưa hết hiệu lực để đến đích, nó sẽ sử dụng tuyến này để gởi gói đi. Trái lại, nếu không có một tuyến như thế, nó phải khởi đầu một quá trình khám phá tuyến bằng cách phát quảng bá một gói yêu cầu tuyến. Bản tin yêu cầu này chứa địa chỉ đích, cùng với địa chỉ nút nguồn và số nhận dạng duy nhất. Mỗi nút nhận được gói này sẽ tiến hành kiểm tra là nó có biết một tuyến nào để đến đích không. Nếu không, nó thêm địa chỉ của nó vào Bảng ghi định tuyến của gói và sau đó chuyển tiếp gói trên các đường truyền ngõ ra. Để giới hạn số yêu cầu tuyến phát trên các đường truyền ngõ ra của nút, một nút chỉ chuyển tiếp yêu cầu tuyến nếu nó chưa biết yêu cầu đó và nếu địa chỉ của nút di động chưa xuất hiện trong Bảng ghi tuyến. Một đáp ứng tuyến được tạo ra khi hoặc là yêu cầu tuyến đạt đến đích hoặc là khi nó đạt đến một nút trung gian chứa trong bộ nhớ đệm tuyến của nó một tuyến đến đích chưa hết hiệu lực. Đến lúc gói có thể đạt đến đích hay đến một nút trung gian như thế, nó chứa một Bảng ghi tuyến cho biết số tuần tự chặng đã trải qua.

37

Nếu nút tạo ra đáp ứng tuyến là đích thì nó đặt Bảng ghi tuyến chứa trong yêu cầu tuyến vào đáp ứng tuyến. Nếu nút tương ứng là một nút trung gian, nó gắn thêm tuyến trong bộ nhớ đệm của nó vào Bảng ghi tuyến và sau đó tạo ra một đáp ứng tuyến. Để trả về đáp ứng tuyến, nút tương ứng phải có một tuyến để khởi đầu. Nếu nó có một tuyến để khởi đầu trong bộ nhớ đệm tuyến của nó, nó có thể sử dụng tuyến đó. Trái lại, nếu các đường truyền đối xứng được hỗ trợ, nút có thể khởi đầu một quá trình khám phá tuyến của nó và tiếp tục gởi đi đáp ứng tuyến trên một yêu cầu tuyến mới. Việc duy trì tuyến được hoàn thành thông qua sử dụng các gói lỗi tuyến và các bản tin xác nhận. Các gói lỗi tuyến được tạo ra ở một nút khi lớp liên kết dữ liệu gặp sự cố đường truyền. Nút nguồn luôn luôn bị dừng khi một tuyến bị cắt xén. Khi nhận được một gói lỗi tuyến, chặng bị lỗi sẽ bị loại bỏ khỏi bộ nhớ đệm tuyến của nút và tất cả các tuyến chứa chặng này đều bị cắt ở điểm đó. Ngoài các bản tin lỗi tuyến, các bản tin xác nhận được sử dụng để xác minh sự hoạt động chính xác của các đường thông tuyến. Các bản tin xác nhận như thế bao gồm cả xác nhận thụ động (khi nút di động có thể nghe việc chuyển tiếp gói ở chặng kế tiếp trên tuyến).

2.7 Giao thức định tuyến tuần tự tạm thời TORA
TORA là giao thức định tuyến được phát triển cho các mạng vô tuyến di động đa bước, nó sử dụng khuôn dạng gói tin IP trong một hệ thống tự trị. TORA không hoàn toàn là một loại giao thức định tuyến vector khoảng cách mà cũng không phải là một giao thức trạng thái đường liên kết mà nod là một bộ các thuật toán theo kiểu thuật toán “đảo ngược liên kết - link-reveral”. Phản ứng của giao thức được thực hiện như một thứ tự sắp xếp tạm thời các tính toán quá trình lan truyền. Mỗi tính toán bao gồm thứ tự của các đảo ngược liên kết trực tiếp. Giao thức này có khả năng tương thích cao và ổn định với các mạng di động lớn và mật độ cao. Trong các mạng này, phản ứng của giao thức đối với lỗi liên kết chỉ liên quan đến một “thông qua đơn - single pass” nội bộ của thuật toán phân tán. Thực thi mong muốn có thể đạt được thông qua việc sử dụng một đồng hồ logic hoặc vật lý để thiết lập “thứ tự tạm thời” của sự kiện thay đổi cấu hình mạng. Hoạt động của TORA phù hợp trong các điều kiện này nhờ các đặc điểm sau:

38

 Thực thi phân tán.  Mục đích cung cấp các đường truyền không lặp.  Cung cấp nhiều đường truyền nhằm mục đích giảm tần số phản ứng các thay đổi mạng hoặc khả năng nghẽn và xung đột.  Thiết lập đường truyền nhanh chóng.  Giảm thiểu chi phí định tuyến bằng cách sử dụng thuật toán định vị khi đối với các trường hợp thay đổi cấu hình trong điều kiện có thể. Việc này có thể tiết kiệm băng thông và tăng độ ổn định của giao thức . Đối với TORA, xác định đường đi ngắn nhất là không quan trong và nó cũng không cần thiết phai duy trì các tuyến đường giữa mọi cặp nguồn đích tại tất cả các thời điểm (giống như OLSR). Chi phí phát sinh để thiết lập một tuyến giữa một cặp nguồn - đích sẽ là lẵng phí nếu nguồn không yêu. TORA được thiết kể để giảm thiểu phản ứng đối với các thay đổi của cấu hình mạng. Các bản tin điều khiển được trao đổi trong một bộ rất nhỏ gần nhau và mang tính nội bộ mà không tập trung đến một chức năng cụ thể nào. TORA bao gồm cơ chế thứ hai cho phép lan truyền các bản tin điều khiển có tác động sâu rộng trong một số ít trường hợp nhằm tối ưu hóa tuyến đường và xác nhận các trạng thái mềm. Lan truyền này diễn ra theo chu kỳ với tỷ lệ rất ít phụ thuộc vào độ linh động của cấu hình mạng. TORA chỉ yêu cầu các nút duy trì thông tin về các nút lân cận một bước. Nó đảm bảo tất cả các tuyến là không lặp và cung cấp khả năng duy trì nhiều tuyến đường giữa các cặp nguồn - đích bất kỳ có yêu cầu liên kết cho truyền thông của chúng. TORA là một giao thức kiểu khởi tạo nguồn và nhanh chóng thiết lập được các tuyến đường khi có yêu cầu. Khi có thay đổi cấu hình mạng giao thức nhanh chóng thiết lập lại các tuyến đường. Khả năng khởi tạo và phản ứng với thay đổi trong mạng là không thường xuyên nhằm giảm chi phí định tuyến của giao thức. Khi giao thức phát hiện có sự cố trong một phần mạng nó sẽ xóa tất cả các tuyến đường lỗi.

39

2.7.1 Chức năng giao thức
TORA được thiết kế để làm việc dựa trên các cơ chế hoạt động của lớp thấp hơn đó là các giao thức cung cấp một số thông tin cơ bản giữa các router lân cận sau đây:  Cơ chế cảm nhận trạng thái liên kết và tìm kiếm nút lân cận.  Khả năng tin cậy, chuyển tiếp các gói tin điều khiển theo yêu cầu.  Cơ chế ánh xạ và phân giải địa chỉ lớp mạng và lớp liên kết dữ liệu.  Nhận thực bảo mật. TORA gán hướng cho các liên kết giữ các router nhằm thực hiện cấu trúc định tuyến được sử dụng để chuyển tiếp các gói dữ liệu tới đích. Một router gán một hướng “luồng lên hoặc luồng xuống” cho liên kết với mỗi router lân cận dựa trên các giá trị của một thông số liên kết với mỗi router. Thông số này được duy trì bởi một router có thể nhận biết thông qua “độ cao” của router (ví dụ các liên kết được hướng từ router cao hơn đến router thấp hơn). Ý nghĩa của “độ cao” và gán hướng liên kết là các router chỉ có thể chuyển tiếp các gói dữ liệu theo đường xuống (downstream). Nếu liên kết từ giữa hai router lân cận nhau không được định nghĩa “độ cao” và gán hướng liên kết thì xem như không thể dùng để chuyển tiếp thông tin. “Độ cao” của các router và gán hướng liên kết thực hiện một kiến trúc định tuyến đa đường và không lặp trong đó tất cả các đường từ nguồn tới đích được truyền theo đường xuống. Hình 2.5 miêu tả tương quan độ cao giữa các router trong mạng. Ta thấy rằng, C gần với đích hơn B khi nhưng thông số độ cao của C lại lơn hơn so với B. Nhìn vào hình ta có tương quan “độ cao” giữa các router như sau: HC > HB > HE > HDEST; HD > HA > HB > HE > HDEST.

40

Hình 2.6: Tương quan “độ cao” của các router trong mạng

TORA có thể chia thành bốn chức năng chính bao gồm: tạo đường, duy trì đường, xóa đường và tối ưu đường. Tạo đường tương ứng với việc lựa chọn các độ cao để xác định hướng tuần tự của các liên kết tới đích trong mạng hoặc một phần mạng chưa được định hướng trước đó. Duy trì đường liên quan đến việc thích ứng cơ chế định tuyến khi cấu hình mạng thay đổi. Ví dụ, do lỗi một số liên kết đường xuống hay một vài hướng liên kết tạm thời không còn dẫn tới đích được nữa. Sự kiện này khởi tạo một quá trình đảo ngược liên kết có hướng (do phải lựa chọn lại “độ cao” của các router) thực hiện định hướng lại kiến trúc định tuyến để tất cả các đường liên kết có hướng lại có thể dẫn tới đích. Trong trường hợp mạng bị phân chia, các liên kết bị cắt đứt sẽ phải gán mác vô hướng để thực hiện xóa các tuyến lỗi. Trong quá trình xóa dường này, các router thiết lập “độ cao” của chúng tới “không” và các liên kết kế cận sẽ trở thành vô hướng. Ngoài ra TORA cũng có cơ chế để tối ưu các tuyến đường trong đó các router sẽ chọn lại “độ cao” của chúng theo thứ tự để cải thiện kiến trúc định tuyến. TORA đạt được bố chức nhăng này thông qua sử dụng bốn gói tin điều khiển khác nhau bao gồm: truy vấn (QRY), cập nhật (UPD), xóa (CLR) và tối ưu hóa (OPT).

2.7.2 Tạo đường trong TORA
Việc tạo các tuyến đường tới đích có thể được thực hiện theo yêu cầu hoặc theo chu kỳ. Trong mọi trường hợp, các router lựa chọn độ cao và gán hướng cho các liên kết giữa các router lân cận. Trong chế độ thực hiện theo yêu cầu, việc tạo đường đạt được thông qua một cơ chế truy vấn - phản hồi sử dụng các gói tin QRY và UPD. Một nguồn

41

khời tạo quá trình bằng việc gửi một gói QRY tới các lân cận của nó định nghĩa đích cho tuyến đường được yêu cầu. Gói tin QRY được lan truyền (được xử lý và chuyển tiếp bởi các router lân cận) cho tới khi nó được nhận bởi một hoặc nhiều router có tuyến đường tới đích. Khi gói tin QRY đã được chuyển đi, các router sẽ xóa tất cả các gói tin QRY được nhận sau đó có cùng đích. Các router có đường tới đích phản hồi QRY bằng cách gửi gói tin UPD tới các router lân cận định nghĩa đích liên quan và “độ cao” của router đã gửi gói tin UPD. Các router duy trì thời điểm gói tin UPD được gửi gần nhất và thời điểm đường liên kết tới các router lân cận đi vào hoạt động để giảm các phản hồi thừa cho một yêu cầu đường. Khi một router nhận được gói tin UPD nó thiết lập “độ cao” của nó và gửi một gói UPD tới các lân cận của nó định nghĩa đích liên quan và “độ cao” mới của nó. Từ đó, các router trong mạng lựa chọn “độ cao” cho đích được yêu cầu. Việc học “độ cao” của các router lân cận cho đích yêu cầu và gán các hướng cho liên kết dựa trên các độ cao này. Trong chế độ thực hiện theo chu kỳ, router nguồn khởi tạo quá trình tạo đường bằng cách gửi một gói tin OPT sẽ được xử lý và chuyển tiếp bởi các bởi các router lân cận. Gói tin OPT định nghĩa đích đến, chế độ hoạt đọng cho đích và “độ cao” của router gửi gói tin OPT. Gói tin này cũng chứa số thứ tự được sử dụng để xác định tính duy nhất của gói tin và đảm bảo rằng mỗi router xử lý và chuyển tiếp gói tin OPT cho một nguồn nhiều nhất một lần. Khi gói tin OPT được chuyển đi, router thiết lập chế độ hoạt động tương ứng, chọn lại “độ cao” của nó và gửi một gói OPT tới các lân cận định nghĩa đích liên quan và “độ cao” mới của router đã gửi gói tin.

Tổng kết chương II
Chương này đề cập một cách tổng quát nhất đến vấn đề định tuyến trong mạng Ad-Hoc,sự phân loại các giao thức định tuyến trong mạng Ad-Hoc và giới thiệu một số giao thức định tuyến Proactive trong mạng Ad-Hoc .

42

CHƯƠNG III: GIỚI THIỆU PHẦN MỀM NS2 VÀ ỨNG DỤNG XÂY DỰNG CÁC KỊCH BẢN MÔ PHỎNG GIAO THỨC MẠNG
Chương này đề cập đến các vấn đề | + Tổng quan về phần mềm NS + Kiến trúc chung của NS + Lập trình trên phần mềm NS để mô phỏng một số giao thức định tuyến .

3.1 Tổng quan
Ngày nay cùng với xu hướng phát triển chung mạng không dây đã và đang được ứng dụng rộng rãi trong cuộc sống bởi những lợi ích mà nó mang lại như đã được trình bày trong chương I.Số lượng các thiết bị dùng cho mạng không dây sẽ sớm vượt qua số lượng các thiết bị dành cho mạng có dây, điều này cũng đồng nghĩa với việc sự nghiên cứu về mạng không dây cũng có sự tăng trưởng tương tự. Thông thường nghiên cứu mạng không dây bao gồm kiểm tra sự thực thi và sự nghiên cứu mô phỏng. Vấn đề mô phỏng mạng là một vấn đề rất thiết thực đã và đang được sự quan tâm và đầu tư thích đáng của các nhà cung cấp dịch vụ và thiết bị mạng bởi những lợi ích to lớn mà nó đem lại.Đã có rất nhiều phần mềm mô phỏng hoạt động mạng và các thiết bị mạng ra đời nhằm phục vụ cho việc mô phỏng đánh giá và nghiên cứu mạng. Phần mềm mô phỏng mạng là một công cụ quan trọng để phát triển ,kiểm tra và đánh giá các giao thức mạng. Sự mô phỏng có thể được sử dụng mà không dùng tới các thiết bị phần cứng ,điều này đem lại hiệu quả tiết kiệm mà vẫn thực hiện được đối với hầu hết các kích cỡ của topo mạng và các thiết đặt của chúng. Nó có thể mô phỏng một kết nối với bất kì băng thông và độ trễ nào thậm chí ngay cả với một kết nối không thể tồn tại trong thế giới thực. Với phần mềm mô phỏng mạng có thể thiết đặt mỗi nút được mô phỏng để sử dụng bất kì phần mềm mong muốn nào. Điều này có nghĩa là sự triển khai phần mềm không còn là một vấn đề. Các kết quả thu được cũng dễ dàng hơn cho việc phân tích bởi sự có được thông tin chính xác từ các điểm quan trọng của mạng được mô phỏng đơn giản bởi sự phân tích các file trace được tạo ra.

43

Hình 3.1 cho ta một cái nhìn tổng quan về các phần mềm đang được sử dụng hiện nay trong vấn đề mô phỏng và nghiên cứu các mạng

Hình 3.1.Các phần mềm mô phỏng mạng hiện nay Hình 3.1 Kết quả mô phỏng thông thường từ những khảo sát mô phỏng dựa trên tài liệu của hội nghị quốc tế ACM về Mobile ad-hoc networking and computing (Mobihoc) từ năm 2000 đến 2004. Trong chương này sẽ đi sâu nghiên cứu về phần mềm NS-2 Network Simulator -2(NS-2) là một môi trường mô phỏng mạnh và phổ biến.Số lượng người dùng NS-2 đang tăng lên mạnh mẽ trong những năm gần đây. Mặc dù ban đầu NS-2 được thiết kế là dùng để mô phỏng hoạt động cho các mạng có dây ,song giờ đây NS-2 đã được mở rộng để dùng cho cả các mạng không dây bao gồm WLAN ,Mobile ad-hoc networking (AD-HOCs),các mạng cảm biến và cả mạng vệ tinh

3.2 Đại cương về NS 3.2.1 Các chức năng của NS
– Đối với mạng có dây : + Định tuyến: Vector khoảng cách (DV),trạng thái liên kết (LS),multicast. + Các giao thức chuyển vận :TCP,UDP,RTP và SCTP + Các nguồn lưu lượng :Web,FTP,TELNET,CBR,STOCHASTIC + Các qui tắc hàng đợi :Drop-tail,RED,FQ,SFQ,DRR + Chất lượng dịch vụ QoS :IntServ và Differv

44

+ So sánh trạng thái – Đối với mạng không dây: + Định tuyến cho mạng ad-hoc (AODV,DSDV) và IP di động + Truyền theo hướng trực tiếp ,cảm biến MAC – Hình ảnh và các tiện ích minh họa khác

3.2.2 Các thành phần của NS
Các thành phần của NS bao gồm : – – NS phần mềm mô phỏng NAM :Netwok animator minh họa cho các kết quả đầu ra của NS ,giao diện GUI để tạo kịch bản cho NS – – Tiền xử lý :Khởi tạo topo mạng và lưu lượng Quá trình xử lý :Phân tích file trace với các công cụ của UNIX hoặc GNU/LINUX như AWK,Perl,Tcl,minh họa bằng hình ảnh với Xgraph Các thành phần chính của NS-2 : + Tcl/TK8.x(thường là 8.3.5) :Có thể tham khảo tại địa chỉ http://resource.tcl.tk/resource/sofware/tcltk/ + OTcl và Tclcl tclcl.sourceforge.net + NS-2 và NAM-1 Có thể tham khảo tại http://www.isi.edu/nsnam/dist + Các tiện ích khác xem tại http://www.isi.edu/nsnam/ns/ns-build.html + Tcl-debug,GT-ITM,Xgraph v.v…. :Có thể tham khảo tại địa chỉ http://otcl-

3.2.3 Kiến trúc của NS
NS là một phần mềm hướng đối tượng sử dụng hai ngôn ngữ C++ và OTcl.Phần dữ liệu và phần điều khiển được tách biệt + C++ cho phần dữ liệu :Xử lý mỗi gói tin ,thực thi nhanh chóng ,chi tiết hóa ,bổ sung đầy đủ cho việc điều khiển ,các thuật toán đối với bộ dữ liệu lớn + OTcl cho phần điều khiển : -Mô phỏng các cấu hình cho kịch bản -Thực thi nhanh chóng ,dễ dàng cấu hình lại

45

-Thao tác với các đối tượng C++ hiện tại -Viết mã nhanh chóng và thay đổi dễ dàng

Hình 3.2 Đơn giản hoá cách nhìn của người sử dụng NS không những được viết bởi OTcl mà còn được viết bởi C++. Vì lý do hiệu quả NS phân ra sự thực thi đường dẫn dữ liệu từ những sự thực thi đường dẫn điều khiển. Để giảm bớt thời gian xử lý gói và sự kiện (không phải là thời gian mô phỏng )lịch biểu sự kiện và các đối tượng thành phần cơ bản của mạng trong phần dữ liệu được viết và biên dịch sử dụng C++.Những đối tượng đã được biên dịch này được làm sẵn cho trình biên dịch OTcl qua một lien kết OTcl để tạo ra một đối tượng OTcl thích hợp với mỗi đối tượng C++ và thực hiện các chức năng điều khiển ,các biến cấu hình được cung cấp bởi đối tượng C++ hoạt động như các hàm thành viên và các biến thành viên của đối tượng OTcl tương ứng.

Hình 3.3 Tính đối ngẫu của C++ và OTcl Hình 3.3 cho thấy một ví dụ phân cấp đối tượng trong C++ và OTcl. Một điều cần lưu ý trong hình là các đối tượng C++ cho phép một sự kết nối OTcl

46

hình thành một sự phân cấp. Sự phân cấp đối tượng OTcl rất giống với sự phân cấp đối tượng C++ Hình 3.3 cho thấy kiến trúc chung của NS

Hình 3.4 Kiến trúc chung của NS Trong hình này một người dung chung (không phải là người phát triển NS) có thể đứng ở góc đáy trái thiết kế và thực thi những sự mô phỏng trong Tcl sử dụng các đối tượng mô phỏng trong thư viện OTcl. Các lịch biểu sự kiện và hầu hết các thành phần của mạng được thực hiện trong C++ và đưa đến OTcl qua một lien kết OTcl được thực hiện bởi sự sử dụng Tclcl. Toàn bộ những cái tạo nên NS là trình biên dịch Tcl hướng đối tượng mở rộng và các thư viện mô phỏng mạng. Các thành phần của mạng Như đã nói nhiều đến trong phần trên. Mục này sẽ trình bày về các thành phần của NS ,hầu hết là các thành phần cấu thành mạng .

Hình 3.5 Sự phân cấp lớp đối tượng OTcl

47

Hình 3.5 cho thấy một sự phân cấp lớp OTcl bộ phận của NS điều này sẽ giúp cho ta hiểu rõ các thành phần của mạng. Gốc của sự phân cấp là lớp TclObject là lớp gốc của tất cả các đối tượng thư viện OTcl (lịch biểu,các thành phần mạng,bộ định giờ và các đối tượng khác bao gồm cả NAM).Tương tự như lớp gốc OTcl NsObject là lớp gốc của tất cả các đối tượng thành phần mạng cơ bản điều khiển các gói tin mà có thể tạo ra các đối tượng cấu thành mạng cơ bản như là các nút và các liên kết. Các thành phần mạng cơ bản lại được chia ra thành hai lớp con gồm có Connector và Classifier dựa vào số đường dẫn dữ liệu đầu ra. Các đối tượng cơ bản cơ bản của mạng có thể có duy nhất một đường dẫn dữ liệu đầu ra đối với lớp Connector ,các đối tượng chuyển đổi có thể có nhiều đường dẫn dữ liẹu đầu ra đối với lớp Classifier + Nút và sự định tuyến : Một nút là một đối tượng hỗn hợp bao gồm toàn bộ đối tượng nút và các đối tượng phân loại như trong hình 3.6

Hình 3.6 Nút (Unicast và Multicast) Có hai loại nút trong NS. Một là nút Unicast có một bộ phân loại địa chỉ thực hiện việc định tuyến Unicast và một bộ phân loại cổng. Một nut Multicast bổ sung thêm một bộ phân loại để phân loại các gói tin Multicast từ các gói tin Unicast và bộ phân loại Multicast để thực hiện định tuyến Multicast. Trong NS các nút Unicast là các nút được mặc định. Để tạo ra các nút Multicast người dung phải khai báo rõ rang trong kịch bản OTcl đầu vào ngay sau khi tạo ra một đối tượng lịch biểu. Khi đó tất cả các nút sẽ được tạo ra là các nút Multicast. Sau

48

khi chỉ rõ kiểu nút người dùng cũng có thể lựa chọn một giao thức định tuyến đặc biệt khác hơn là sử dụng một giao thức định tuyến mặc định + Liên kết Một liên kết là một đối tượng cấu thành chính khác trong NS. Khi một người dung tạo ra một liên kết sử dụng một hàm thành viên duplex-link của đối tượng mô phỏng. Hai liên kết Simplex theo cả hai hướng được tạo ra :

Hình 3.7 Liên kết Một điều cần lưu ý là một hàng đợi đầu ra của một nút được thực hiện thực sự như một phần của đối tượng liên kết duplex-link. Các gói tin được lấy ra từ một hang đợi được đưa tới đối tượng Delay đóng vai trò độ trễ của mối liên kết ,các gói tin bị thả tại hang đợi được gửi tới đối tượng NullAgent và được giải phóng ở đó. Cuối cùng đối tượng TTL tính toán các thông số time to live cho mỗi gói tin nhận được và cập nhật trường TTL của gói tin - Tracing: Trong NS các hoạt động của mạng được mô tả xung quanh các liên kết Simplex. Nếu sự mô phỏng được định hướng mô tả các hoạt động của mạng (Sử dụng $ns trace-allfile hoặc $ns namtrace –allfile )Các liên kết được tạo ra sau dòng lệnh này sẽ được chèn các đối tượng trace như trong hình 3.8

Hình 3.8 Chèn các đối tượng Trace

49

Người dùng cũng có thể tạo ra một đối tượng trace đặc biệt giữa nút nguồn và nút đích khi sử dụng câu lệnh creat-trace(type file src dst). Khi mỗi đối tượng trace được chèn (Ví dụ EnqT,DeqT,DrpT,và RecvT)nhận một gói tin nó ghi vào một file trace đặc biệt mà không tiêu thụ bất kì thời gian mô phỏng nào và gửi gói tin đó đến đối tượng mạng kế tiếp - Queue monitor (giám sát hàng đợi) Về cơ bản các đối tượng tracing được tạo ra để ghi lại thời gian chuyển đến của gói tin tại nơi mà chúng đã được định vị. Mặc dù một người dung có đủ thông tin từ trace ,anh ta có thể quan tâm đến những gì đang diễn ra bên trong một hang đợi đầu ra đặc biệt. Ví dụ một người dung quan tâm đến hành vi của hàng đợi RED có thể muốn đo kích thước động trung bình của hàng đợi và kích thước hiện thời của hang đợi RED(cần thiết cho sự giám sát hang đợi ).Việc giám sát hang đợi có thể đạt được nhờ sử dụng các đối tượng monitor queue và các đối tượng snoop queue như trong hình 3.9

Hình 3.9 Giám sát hàng đợi Khi một gói tin được chuyển đến một đối tượng snoop queue thong báo cho đối tượng queue monitor sử dụng thong tin này để theo dõi hang đợi. Lưu ý rằng đối tượng snoop queue có thể được sử dụng song song với các đối tượng tracing mặc dù nó không được chỉ ra trong hình 3.9 3.3 Sử dụng phần mềm NS-2 để mô phỏng mạng

3.3.1 Cơ bản về Tcl
Để sử dụng được kịch bản Tcl tại dấu nhắc của dòng lệnh ta gõ “tclsh”. Để thoát khỏi chế độ soạn thảo Tcl ta gõ “exit” + Khai báo biến

50

+ Để khai báo các biến trong Tcl ta sử dụng câu lệnh set vừa để khai báo vừa để gán giá trị cho các biến Ví dụ :set x 10 điều này có nghĩa là khai báo biến x với giá trị khởi tạo x=10 Kí tự “$”được sử dụng để chứa giá trị của biến Ví dụ :set x2 $x1 có nghĩa là lấy giá trị của x1 gán cho x2 Lưu ý rằng ta không sử dụng $ khi biến được gán một giá trị cụ thể + Biểu thức toán học Set value [expr $x1 +($x2*3)] Ví dụ set c [expr $a +$b] Trong ví dụ trên từ khoá expr thông báo răng sau nó sẽ là một biểu thức toán học (cụ thể ở đây là phép cộng của hai giá trị của các biến a và b ) chỉ ra rằng tất cả các phép toán chứa trong nó sẽ được tính toán trước . Như vậy ví dụ trên có nghĩa là khai báo một biến c với giá trị khởi tạo c=a+b. In chuỗi ra màn hình Puts “ chuỗi cần in ra ” Ví dụ :puts “thuc thi kich ban tcl don gian” .Các cấu trúc điều khiển : If {điều kiện} then {………} for {set i 0} {$i <10}{incr i}{…………..} Khai báo thủ tục Proc tên thủ tục {arg1 arg2…}{} Làm việc với file + Mở một file để ghi Set f1 [open “try” “w”] + Ghi dữ liệu lên file và đóng file Puts $f1 “ghi mot cau len file” Close $f1 + Đọc dữ liệu từ file Set f1 [open “try” ”r”]

51

Set l1 [gets $f1] Puts “doc tai dong : $l1” 3.3.2 Cơ bản về OTcl Để làm việc với OTcl tại dấu nhắc của shell ta gõ lênh “OTclsh” và để thoát ra ta gõ lệnh “exit”. Khởi tạo một lớp Class ten_lop Class ten_lop superclass ten_lop_dan _xuat Định nghĩa các thủ tục instance Ten_lop instproc ten_thu_tuc {args}{….} Định nghĩa các biến instance $self instvar ten_bien Khởi tạo một instance Set new_inst [new ten_lop] Lưu ý :-$self tương đương với biến this trong C++.Nó nhắc đến instance hiện tại trong phạm vi hàm đang thực thi,nghĩa là nó nhắc đến chính nó - instvar được sử dụng để khai báo một biến thành viên và cũng theo một cách tương tự instproc được dung để khai báo một hàm thành viên. Cú pháp của một thủ tục cũng tương tự như trong Tcl ngoại trừ tên lớp phải khai báo trước và từ khoá “proc” được thay thế bởi “instproc”. - Lưu ý rằng biến trong NS được gán “[Simulator instance]” “Simulator” là tên lớp “instance ” là một hàm tĩnh trong lớp trả về instance của lớp Simulator. - Cú pháp để truy nhập hàm thành viên là $obj member-func parameters Ta có thể thấy điều này khi hàm duplex-link được gọi để tạo liên kết giữa các nút. Bây giờ khi đã có những khái niệm cơ bản về Tcl và OTcl. Trước khi bắt tay vào nghiên cứu NS-2 hoạt động ra sao hãy xem một chương trình nhỏ vơi Tcl. Tcl có hai chế độ làm việc đó là interative mode và batch mode .

52

+ Chương trình “Hello World ” trong chế độ Interative mode . Dinh_lam >ns % set ns [new Simulator] %$ns at 1 “puts\”Hello World !\”” %$ns at 1.5 “exit” %$ns run Kết quả Hello World ! + Chương trình “Hello World ” trong chế độ batch mode. Simple.tcl Set ns [new Simulator] $ns at 1 “puts\”Hello World !\”” $ns at 1.5 “exit” $ns run Dinh_lam > ns Simple.tcl Kết quả Hello World ! 3.3.3 Các bước cơ bản của một kịch bản mô phỏng NS-2 Một kịch bản mô phỏng của NS-2 thông thường bao gồm các bước sau : + Khởi tạo lịch biểu sự kiện + Bật chế độ tracing nếu cần + Khởi tạo topo mạng + Thiết đặt các giao thức định tuyến + Khởi tạo các tác nhân vận chuyển + Khởi tạo các lưu lượng source/sink + Chèn các thông báo lỗi nếu cần Khởi tạo lịch biểu sự kiện Cú pháp :Set ns [new Simulator] -Lịch biểu các sự kiện :$ns at <time><event> -Bắt đầu lịch biểu :$ns run Mở một file cho trace data Set nf [open out.nam w] $ns namtrace-all $nf 53

hoặc $ns namtrace-all-wireless $nf -Bật tracing trên các liên kết đặc biệt $ns namtrace-queue $n0 $n1 -Thủ tục để đóng file và bắt đầu phần mềm NAM Proc finish{}{ Global ns nf $ns flush-trace Close $nf Exec nam out.nam & Exit 0 } Khởi tạo topo mạng + Nút :set n0 [$ns node] Set n1 [$ns node] + Các liên kết và hàng đợi $ns duplex-link $n0 $n1 <băng thông><độ trễ><kiểu hàng đợi> Kiểu hang đợi có thể :DropTail,RED,CBQ,FQ,SFQ,DRR + Khởi tạo một tác nhân UDP và gắn nó với nút n0 Set udp [new agent/udp] $ns attach-agent $n0 $udp + Khởi tạo một nguồn lưu lượng CBR và gắn nó với udp0 Set cbr [new application/traffic/cbr] $cbr attach-agent $udp + Khởi tạo một tác nhân rỗng để làm suy giảm lưu lượng Set null [new agent/null] $ns attach-agent $n2 $null + Kết nối chúng $ns connect $udp $null + Thực thi lịch biểu sự kiện $ns at 0.5 “$cbr start” $ns at 3.5 “$cbr stop ”

54

+ Khởi tạo một tác nhân TCP và gắn nó với nút n0 Set tcp [new agent/tcp] $ns attach-agent $n0 $tcp + Khởi tạo một nguồn lưu lượng FTP và gắn nó với tcp0 Set ftp [new application/traffic/ftp] $ftp attach-agent $tcp + Khởi tạo một TCPSink để làm suy giảm lưu lượng Set sink [new agent/tcpsink] $ns attach-agent $n2 $sink + Thực thi lịch biểu sự kiện $ns at 0.5 “$FTP start” $ns at 3.5 “$FTP stop ” Thiết đặt sự định tuyến + Unicast : $ns rtproto <kiểu> Kiểu :Static,Session,DV,cost ,multi-path + Multicast: $ns multicast (ngay sau khi [new Simulator]) hoặc set ns [new Simulator-multicast on] $ns mrtproto <kiểu > Kiểu CtrMcast,DM,ST,BST Chèn các thông báo lỗi + Khởi tạo modul lỗi Set loss_module [new errrormodel] $loss_module set rate_0.01 $loss_module unit pkt $loss_module ranvar[new random variable/uniform] $loss_module drop-target[new agent/null] + Chèn module lỗi $ns lossmodel $loss_module $n0 $n1

55

3.3.4 Thực hiện mô phỏng mạng không dây trong NS
Trong mục này sẽ trình bày cách để sử dụng mô hình mô phỏng mạng không dậy di động trong NS. Mục này gồm hai phần, trong phần đầu tiên sẽ thảo luận xem làm thế nào để tạo ra và mô phỏng mạng không dây đơn giản với hai nút mạng, trong phần thứ sẽ mở rộng ví dụng trong phần một để tạo ra một sự mô phỏng mạng không dây phức tạp hơn. Tạo một kịch bản mô phỏng mạng không dây đơn giản Phần này mô phỏng một kịch bản mạng không dây rất đơn giản gồm hai nút mạng. Topo mạng bao gồm hai nút di động node_(0) và node_(1). Các nút di động này di chuyển trong một phạm vi đã được xác định là 500m x 500m. Ban đầu các nút bắt đầu tại hai vị trí đối diện nhau ở ngoài cùng của đường biên. tiếp đó chúng di chuyển hướng về nhau trong nửa đầu tiên của mô phỏng và rồi lại tiếp tục di chuyển ra xa trong phần thứ hai của sự mô phỏng. Một kết nối TCP được thiết lập giữa hai nút di động. các gói tin được trao đổi giữa các nút khi chúng đến trong phạm vi cảm nhận cua một nút khác. Khi chúng di chuyển ra xa các gói tin sẽ bát đầu bị loại bỏ. Giống như bất kì sự mô phỏng nào khác của NS trước tiên sẽ bắt đầu bằng việc tạo ra một kịch bản TCL cho sự mô phỏng mang không dây. File này được gọi là simple-wereless.tcl. Một nút di động bao gồm các thành phần của mạng như: Link Layer( LL tầng kết nối) Interface Queue (giao diện hàng đợi IFQ) ,MAC layer (lớp MAC) các kênh không dây truyền và nhận tín hiệu… Khi bắt đầu mô phỏng mạng không dây cần định nghĩa kiểu cho mỗi thành phần của mạng. ngoài ra còn định nghĩa các thông số khác như kiểu antenna, mô hình truyền sóng radio, kiểu giao thức định tuyến của mạng AD- HOC được sử dụng bởi các nút di động.. Xem các chú thích trong đoạn mã đối với những mô tả ngắn gọn của mỗi biến được định nghĩa. Mảng được sử dụng để định nghĩa những biến này như val() không phải là một biến toàn cục khi nó được sử dụng trong các kịch bản được mô tả trước đây.

56

Kịch bản simple- wireless. tcl bắt đầu với một danh sách của những thông số khác nhau được mô tả dưới đây như sau: # ========================================================= ============= # Define options # ========================================================= ============= set val(chan) set val(prop) set val(ant) set val(ll) set val(ifq) set val(ifqlen) set val(netif) set val(mac) set val(rp) set val(nn) Channel/WirelessChannel ;# channel type Propagation/TwoRayGround ;# radio-propagation model Antenna/OmniAntenna ;# Antenna type LL ;# Link layer type Queue/DropTail/PriQueue ;# Interface queue type 50 ;# max packet in ifq Phy/WirelessPhy ;# network interface type Mac/802_11 ;# MAC type DSDV ;# ad-hoc routing protocol 2 ;# number of mobilenodes

Tiếp theo đi vào phần chính của chương trình và bắt đầu tạo ra một trường hợp của sự mô phỏng. : set ns_ [new Simulator]

rồi cài đặt sự hỗ trợ trace bởi việc mở file simple.tr và gọi thủ tục trace-all {} như sau: set tracefd [open simple.tr w]

$ns_ trace-all $tracefd Tiếp đến tạo một đối tượng topology tuân theo đường đi của (sự di chuyển) các nút di động trong đường biên của topo mạng : set topo [new Topography] Như đã đề cập đến trước đây các nút di động chỉ di chuyển trong phạm vi một topo 500m x 500m. Cần cung cấp cho đối tượng topography với biên của toạ độ x,y (x=500, y=500): $topo load_flatgrid 500 500

57

Topography được chia thành từng ô và giá trị mặc định của độ phân giải ô là 1. Một giá trị khác có thể được sử dụng như một thông số thứ 3 với hàm loadflatgrid{}. Kế đến tạo đối tượng god như sau: create-god $val(nn) Tiếp theo cần tạo ra các nút di động: Các nút API được tạo ra đã được sửa lại còn ở đây các API mới được sử dụng để tạo ra các nút di động. Trước tiên cần cấu hình các nút trước khi tạo ra chúng. Cấu hinh nút API có thể bao gồm định nghĩa kiểu địa chỉ (flat,hierachical v.v.) kiểu giao thức định tuyến của ad-hoc link layer ,Mac layer , IfQ v.v..Cấu hình API có thể được định nghĩa như sau : (parameter examples) # $ns_ node-config -addressingType flat or hierarchical or expanded # # # # # # # # # # # # # # # # # # -adhocRouting DSDV or DSR or TORA -llType LL -macType Mac/802_11 -propType "Propagation/TwoRayGround" -ifqType "Queue/DropTail/PriQueue" -ifqLen 50 -phyType "Phy/WirelessPhy" -antType "Antenna/OmniAntenna" -channelType "Channel/WirelessChannel" -topoInstance $topo -energyModel "EnergyModel" -initialEnergy (in Joules) -rxPower (in W) -txPower (in W) -agentTrace ON or OFF -routerTrace ON or OFF -macTrace ON or OFF -movementTrace ON or OFF Tất cả các giá trị mặc định cho các tuỳ chọn này là NULL ngoại trừ

addressingtype :flat

58

Ở đây sử dụng giá trị mặc định của flat addressing.Ngoài ra hãy chỉ bật duy nhất AgentTrace và RouterTrace. Có thể thử với tất cả các trace bằng cách bật tất cả chúng lên. Tất cả các AgentTrace được đánh dấu với AGT,RouterTrace với RTR , MacTrace với MAC trong trường thứ 5 của chúng. MovementTrace khi được bật lên cho thấy các hoạt động của nút di động và trace được đánh dấu với M trong trường thứ hai của chúng. Sự cấu hình API cho các nút di động như sau : # Configure nodes $ns_ node-config -adhocRouting $val(rp) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -topoInstance $topo \ -channelType $val(chan) \ -agentTrace ON \ -routerTrace ON \ -macTrace OFF \ -movementTrace OFF Tiếp theo tạo ra hai nút di động như sau : for {set i 0} {$i < $val(nn) } {incr i} { set node_($i) [$ns_ node ] $node_($i) random-motion 0 ;# disable random motion } Ở đây sự di động ngẫu nhiên của các nút đã được vô hiệu hoá vì chúng cần cung cấp vị trí nút và hoạt động (tốc độ và hướng ) trong các chỉ thị tiếp theo.Bây giờ các nút di động đã được tạo ra, cần cung cấp cho chúng một vị trí để bắt đầu # Provide initial (X,Y, for now Z=0) co-ordinates for node_(0) and node_(1)

59

$node_(0) set X_ 5.0 $node_(0) set Y_ 2.0 $node_(0) set Z_ 0.0 $node_(1) set X_ 390.0 $node_(1) set Y_ 385.0 $node_(1) set Z_ 0.0 .Node0 có một vị trí bắt đầu (5,2) trong khi node1 bắt đầu bằng vị trí (390,385) Kế đến đưa ra một số hoạt động của nút # Node_(1) starts to move towards node_(0) $ns_ at 50.0 "$node_(1) setdest 25.0 20.0 15.0" $ns_ at 10.0 "$node_(0) setdest 20.0 18.0 1.0" # Node_(1) then starts to move away from node_(0) $ns_ at 100.0 "$node_(1) setdest 390.0 380.0 15.0" $ns_ at 50.0 "$node_(1) setdest 25.0 20.0 15.0" có nghĩa là tại thời điểm 50.0s node1 bắt đầu di chuyển hướng tới toạ độ (x=25,y=20) với tốc độ 15m/s.API này được sử dụng hướng và tốc độ hoạt động của các nút di động Tiếp theo thiết lập luồng lưu lượng giữa hai nút như sau : # TCP connections between node_(0) and node_(1) set tcp [new Agent/TCP] $tcp set class_ 2 set sink [new Agent/TCPSink] $ns_ attach-agent $node_(0) $tcp $ns_ attach-agent $node_(1) $sink $ns_ connect $tcp $sink set ftp [new Application/FTP] $ftp attach-agent $tcp $ns_ at 10.0 "$ftp start" Thiết lập một kết nối TCP giữa hai nút với một TCP nguồn trên node0. Cần định nghĩa thời gian cho mô phỏng kết thúc và thong tin cho các nút di động để xác lập lại các thành phần mạng nội bộ của chúng # Tell nodes when the simulation ends for {set i 0} {$i < $val(nn) } {incr i} { $ns_ at 150.0 "$node_($i) reset"; }

60

$ns_ at 150.0001 "stop" $ns_ at 150.0002 "puts \"NS EXITING...\" ; $ns_ halt" proc stop {} { global ns_ tracefd close $tracefd } Tại thời điểm 105.0s sự mô phỏng sẽ dừng.Các nút xác lập lại tại thời gian đó và “$ns_halt” được gọi tại 150.0002s một chút ngay sau khi xác lập lại các nút. Thủ tục stop{}dduwowcj gọi để xoá các trace và xoá các file trace Và cuối cùng dòng lệnh để bắt đầu mô phỏng puts "Starting Simulation..." $ns_ run Lưu file Simple-wireless.tcl Tại thời điểm kết thúc sự thực thi mô phỏng file trace-output Simple.tr được tạo ra.Khi đã bật AgentTrace và RouterTrace hãy quan sát các thông điệp định tuyến DSDV và các gói tin TCP sẽ được nhận và gửi bởi các đối tượng Router và Agent trong các node0 và 1. Lưu ý rằng tất cả các trace không dây bắt đầu với WL trong trường đầu tiên của chúng. Quan sát luồng TCP bắt đầu từ 10.0s tại node0 Bắt đầu cả hai nút đều cách xa nhau và như thế các gói tin TCP bị loại bỏ bởi node0 bởi vì nó không thể nhận được từ node1. Trong vòng 81.0s thông tin định tuyến bắt đầu được trao đổi giữa hai nút và trong vòng 100s sẽ quan sát thấy gói tin TCP đầu tiên sẽ được nhận bởi Agent ở node1 và rồi node1 gửi một ACK trở lại node0 và kết nối TCP được thiết lập. Dù sao khi node1 bắt đầu di chuyển ra xa node0 kết nối lại bị bẻ gãy trong khoảng thời gian 116.0s.Các gói tin bắt đầu bị huỷ khi các nút di chuyển ra xa nhau .

61

CHƯƠNG IV: MÔ PHỎNG VÀ ĐÁNH GIÁ HIỆU NĂNG CÁC GIAO THỨC ĐỊNH TUYẾN PROACTIVE TRONG AD-HOC 4.1 Một số độ đo đánh giá hiệu năng. 4.1.1 Các độ đo định tính
Để đánh giá chất lượng của một giao thức định tuyến, cần các độ đo cả về mặt định tính lẫn định lượng để đo độ phù hợp và hiệu năng của các giao thức. Các độ đo này là độc lập với bất kỳ một giao thức nào. Danh sách sau là danh sách các độ đo định tính đối với các giao thức định tuyến của mạng Ad-Hoc:  Hoạt động phân bố: Đây là một tính chất thiết yếu tuy nhiên nó có thể là trạng thái.  Tránh hiện tượng lặp vòng: Không yêu cầu phải định lượng nhưng thường được đưa ra để tránh khỏi các vấn đề xảy ra trong trường hợp tồi nhất. Ví dụ như một phần nhỏ của gói tin chạy vòng tròn trong mạng với thời gian tùy ý. Các giải pháp trong mạng ad hoc chẳng hạn như các giá trị TTL có thể giới hạn vấn đề này, nhưng việc tiếp cận một cách chuẩn hóa và có cấu trúc hơn là một việc làm cần thiết để đạt được một hiệu năng tổng thể của hệ thống tốt hơn.  Hoạt động trên cơ sở yêu cầu: Thay vì việc giả định một phân bố lưu lượng đồng bộ trong mạng (và duy trì thông tin định tuyến giữa các nút mạng ở mọi thời điểm), các thuật toán định tuyến có thể hoạt động để phù hợp với dạng lưu lượng trong mạng theo nhu cầu hoặc yêu cầu cơ bản. Nếu điều này được thực hiện một cách thông minh, nguồn tài nguyên năng lượng và băng thông của mạng sẽ được sử dụng một cách hiệu quả hơn cùng với việc tăng giá của thời gian trễ khi tìm đường.  Hoạt động thường xuyên: Đây là hoạt động ngược lại với kiểu hoạt động trên cơ sở yêu cầu. Trong một vài hoàn cảnh nào đó, thời gian trễ của hoạt động trên cơ sở yêu cầu có khả năng không thể chấp nhận được. Nếu các

62

nguồn tài nguyên về băng thông và năng lượng cho phép, hoạt động theo kiểu thường xuyên là phù hợp với các hoàn cảnh này.  Bảo mật: Một giao thức định tuyến cho mạng Ad-Hoc sẽ là một giao thức dễ bị tấn công theo một số dạng nào đó nếu không có sự bảo mật ở tầng mạng hoặc tầng liên kết dữ liệu. Các kiểu tấn công có thể thực hiện một cách khá đơn giản để đọc trộm dữ liệu trên mạng, truyền lại dữ liệu, sửa đổi phần header của các gói dữ liệu và định hướng sai lệch các thông điệp định tuyến. Trong khi những mối quan tâm này tồn tại trong cả các cơ sở hạ tầng mạng có dây cũng như với các giao thức định tuyến, vấn đề bảo mật môi trường truyền vật lý trong mạng Ad-Hoc sẽ trở nên khó khăn hơn rất nhiều so với vấn đề này trong mạng có dây. Các giao thức định tuyến có đủ sự bảo mật cần thiết để ngăn chặn những thay đổi không hợp lệ là các giao thức định tuyến được yêu cầu.  Hoạt động “ngủ” theo chu kỳ: Với mục tiêu bảo tồn năng lượng hoặc cần thiết phải đưa một nút vào tình trạng không hoạt động, các nút trong một mạng Ad-Hoc có thể ngừng truyền hoặc ngừng nhận trong các khoảng thời gian tùy ý. Một giao thức định tuyến phải có khả năng phù hợp với các chu kỳ “ngủ” của các nút này mà không làm kết quả đảo ngược lại hoàn toàn. Tính chất này có thể yêu cầu đóng sự kêt nối giữa với giao thức tầng liên kết dữ liệu qua một giao tiếp đã được chuẩn hóa.  Khả năng hỗ trợ liên kết một chiều: Khi thiết kế các thuật toán định tuyến, người ta thường giả sử có các liên kết hai chiều và nhiều thuật toán không có khả năng hoạt động một cách hoàn hảo qua các liên kết một chiều. Tuy nhiên, các liên kết một chiều hoàn toàn có thể tồn tại trong mạng không dây. Thông thường số lượng các liên kết song công đang tồn tại đủ để việc sử dụng các liên kết một chiều không có ý nghĩa nhiều lắm. Tuy nhiên trong tình huống một cặp liên kết một chiều (ở hai chiều ngược nhau) chỉ hình thành một liên kết hai chiều giữa hai vùng của mạng ad hoc thì khả năng các giao thức định tuyến có thể hoạt động tốt được lại có giá trị rất lớn.

63

4.1.2 Các độ đo định lượng
Các độ đo định lượng được sử dụng khi đánh giá hiệu năng của một giao thức định tuyến nào đó bao gồm:  Thông lượng dữ liệu đầu cuối và độ trễ: Các độ đo thống kê về hiệu năng định tuyến dữ liệu chẳng hạn như giá trị trung bình, phương sai, khả năng phân bố là rất quan trọng. Đây là các độ đo tính hiệu quả của một phương pháp định tuyến. Nói cách khác, các độ đo này sẽ đo xem một giao thức định tuyến tực hiện công việc của nó tốt đến mức nào.  Thời gian tìm đường: Đây là một dạng độ đo thời gian trễ đầu cuối được áp dụng khi đánh giá hiệu năng của các giao thức định tuyến hoạt động theo yêu cầu. Thời gian tìm đường là thời gian cần thiết để thiết lập một con đường khi có yêu cầu.  Phần trăm truyền không theo thứ tự: Một độ đo ngoài khi đánh giá hiệu năng của các giao thức định tuyến dạng không kết nối liên quan đến toàn bộ các giao thức ở tầng chuyển vận chẳng hạn như TCP (yêu cầu truyền theo thứ tự).  Độ hiệu quả: Nếu tính hiệu quả định tuyến dữ liệu là một độ đo ngoài về hiệu năng một chính sách định tuyến thì độ hiệu quả là độ đo trong của tính hiệu quả của các chính sách định tuyến. Để đạt được một cấp độ về hiệu năng định tuyến dữ liệu cho trước nào đó, hai chính sách định tuyến khác nhau có thể sử dụng lượng thông tin điều khiển khác nhau phụ thuộc vào độ hiệu quả trong của chúng. Độ hiệu quả của giao thức có thể hoặc không có thể ảnh hưởng trực tiếp đến hiệu năng định tuyến dữ liệu. Nếu việc truyền dữ liệu và thông tin điều khiển phải chia sẻ chung một kênh truyền và dung lượng của kênh truyền bị giới hạn thì việc đòi hỏi truyền thông tin điều khiển quá nhiều sẽ làm giảm hiệu năng định tuyến dữ liệu. Để làm rõ hơn độ hiệu quả trong của một giao thức, có một số thông số sau được đưa ra:  Giá trị trung bình của số lượng bit dữ liệu phải truyền chia cho số lượng bit cần truyền. Đây là một độ đo độ hiệu quả của việc truyền

64

dữ liệu trong mạng. Nói một cách gián tiếp, nó cung cấp số chặng trung bình mà các gói dữ liệu phải vượt qua.  Giá trị trung bình của số bit điều khiển phải truyền chia cho số bit dữ liệu cần truyền. Độ đo này là độ đo tính hiệu quả của giao thức về khả năng sử dụng dung lượng đường truyền dữ liệu để truyền các thông tin điều khiển. Thông tin điều khiển ở đây không chỉ là các bit trong các gói tin điều khiển định tuyến và còn là các bit trong phần header của các gói tin dữ liệu. Nói cách khác, những gì không phải là dữ liệu trong các gói tin sẽ là thông tin điều khiển và nó sẽ được tính là phần điều khiển của một giao thức.  Giá trị trung bình của số lượng gói tin dữ liệu và gói tin điều khiển chia được truyền chia cho số lượng gói tin dữ liệu cần truyền. Thay vì việc đo độ hiệu quả của thuật toán theo dạng tính bằng bit, độ đo này sẽ đo độ hiệu quả của việc truy nhập kênh truyền của một giao thức. Một số tham số sau cần phải quan tâm tới là “ngữ cảnh” của mạng khi ta thực hiện việc đánh giá hiệu năng của một giao thức:  Kích thước mạng – được đo bằng số lượng các nút.  Kết nối mạng – số lượng các nút hàng xóm trung bình quanh mỗi nút.  Tốc độ thay đổi hình trạng mạng  Dung lượng của liên kết – tốc độ liên kết có thật được đo bằng số bit/giây  Phần các liên kết một chiều – liên quan đến tính hiệu quả của một giao thức thực hiện khi có mặt các liên kết một chiều.  Dạng truyền – liên quan đến tính hiệu quả của một giao thức trong việc thích nghi với các dạng thức truyền khác nhau.  Tính di động – hình trạng mạng biến đổi theo thời gian và không gian đều ảnh hưởng đến hiệu năng của một giao thức định tuyến nào đó.

65

 Số lượng và tần số xuất hiện các nút không hoạt động - liên quan đến cách thực hiện của một giao thức khi có một cả các nút đang hoạt động và nút không hoạt động. Một giao thức trong mạng Ad-Hoc có thể hoạt động một cách có hiệu quả qua nhiều hoàn cảnh mạng khác nhau – từ mạng nhỏ, mạng trong phòng thí nghiệm, nhóm mạng ad hoc đến các mạng di động lớn và nhiều chặng. Các đặc tính và độ đo đánh giá hiệu năng trong mạng Ad-Hoc đôi khi hơi khác biệt so với các mạng có dây và đa chặng truyền thống. Môi trường mạng không dây luôn là một môi trường khan hiếm về băng thông và năng lượng của các nút mạng. Tóm lại, việc đưa mạng Ad-Hoc vào thị trường thương mại còn rất nhiều thách thức và các cơ hội nghiên cứu về mạng Ad-Hoc còn rất nhiều. Một sự thiết lập khác đi về hiệu năng đưa ra yêu cầu về các giao thức định tuyến mới để điều khiển mạng. Một câu hỏi có thể nảy sinh là “độ ‘tốt’ của một giao thức có thể được đo như thể nào”. Các độ đo về hiệu năng của các giao thức định tuyến có thể giúp ta trả lời được câu hỏi này và chúng rất có ý nghĩa khi so sánh và đánh giá hiệu năng của các giao thức. Có thể nhận ra rằng một giao thức định tuyến có khuynh hướng phù hợp với một dạng mạng đặc biệt nào đó nhưng lại không thích hợp với các dạng mạng khác. Các đặc tính của các giao thức cả về ưu điểm lẫn sự hạn chế cần phải được chú ý đến để xem chúng có phù hợp với ngữ cảnh của mạng định áp dụng hay không. Các thuộc tính này của một giao thức thường có thể tính toán được một cách ‘định tính’, ví dụ như một giao thức có thể hỗ trợ hay không thể hỗ trợ cơ chế định tuyến theo con đường ngắn nhất. Các mô tả định lượng cho phép đánh giá định lượng một cách chi tiết hơn về hiệu năng của các giao thức.

4.2 Đánh giá hiệu năng dựa trên các thông số
Bảng 4-1 đưa ra sự so sánh về hiệu suất của các giao thức AODV, DSR, TORA, ABR và SSR. Giao thức AODV triển khai một thủ tục tìm đường tương tự như DSR tuy nhiên giữa hai giao thức này có một số điểm khác biệt. Điều chú ý nhất ở đây là phần thông tin điều khiển của DSR thường có khả năng lớn

66

hơn phần thông tin điều khiển của AODV bởi vì mỗi một gói tin của DSR phải phải chứa đầy đủ mọi thông tin định tuyến trong khi đó các gói tin của AODV chỉ yêu cầu chứa địa chỉ đích. Tương tự như vậy, các thông điệp trả lời đường của DSR cũng chứa phần thông tin điều khiển lớn hơn của AODV bởi vì mỗi gói tin trả lời của DSR phải chứa đầy đủ địa chỉ của các nút trong đường đi quay ngược lại mà nó đi qua trong khi các gói tin của AODV chỉ chứa địa chỉ IP đích và số thứ tự. Bộ nhớ yêu cầu khi xử lý các thông điệp của DSR là lớn hơn so với bộ nhớ yêu cầu đối với thông điệp AODV bởi vì DSR yêu cầu phải nhớ toàn bộ các con đường trong khi AODV chỉ yêu cầu nhớ thông tin về chặng tiếp theo. Một ưu điểm nữa của AODV là nó hỗ trợ kiểu truyền multicast [18] trong khi rất ít giao thức đưa ra ở đây hỗ trợ kiểu truyền thông này. Mặt khác, AODV lại yêu cầu các liên kết đồng bộ giữa các nút và không thể sử dụng các con đường có các liên kết không đồng bộ. Theo khía cạnh này thì DSR là ưu việt hơn bởi vì nó không yêu cầu các liên kết đồng bộ. Các tham số hiệu năng
Độ phức tạp về thời gian khởi tạo Độ phức tạp về thời gian khi có sự thay đổi Độ phức tạp truyền thông khi khởi tạo Độ phức tạp truyền thông khi lỗi xảy ra Dạng địa chỉ định tuyến Tránh định tuyến lặp Khả năng truyền multicast Thông điệp Hello Khả năng đa đường Nơi lưu trữ đường Thời gian timeout khi lưu trữ đường đi

AODV
O(2d) O(2d) O(2N) O(2N) Phẳng Có Có Không Không Bảng định tuyến Có

DSR
O(2d) O(2d) O(2N) O(2N) Phẳng Có Không Không Có Bộ nhớ đường Không

TORA
O(2d) O(2d) O(2N) O(2x) Phẳng Có Không Không Có Bảng định tuyến Không

ABR
O(d+z) O(l+z) O(N+y) O(x+y) Phẳng Có Không Có Không Bảng định tuyến Không

SSR
O(d+z) O(l+z) O(N+y) O(x+y) Phẳng Có Không Có Không Bảng định tuyến Không

67

Cấu hình lại đường đi

Xóa và thông báo Mới nhất và ngắn nhất

Xóa và thông báo Ngắn nhất

Sửa chữa

Quảng bá nội bộ Độ liên kết và ngắn nhất

Xóa và thông báo Độ liên kết và tính bền vững

Độ đo đường

Ngắn nhất

Ghi chú: d=Đường kính mạng; N=Số nút mạng; l=Bán kính đoạn bị ảnh hưởng; x=Số nút trực tiếp nhận gói REPLY; y=Bán kính truyền trực tiếp gói REPLY

Bảng 4-1: So sánh hiệu năng các giao thức định tuyến dạng on-demand Thuật toán DSR là thuật toán thích hợp để ứng dụng vào các mạng có các nút di chuyển với tốc độ trung bình theo khía cạnh độ trễ khi truyền gói tin [10]. Các giả thiết đưa ra khi thực hiện thuật toán này là đường kính mạng tương đối nhỏ và các nút mạng có thể hoạt động ở chế độ nhận hỗn hợp, trong đó mọi gói tin nhận được được truyền tới các driver mạng mà không có cơ chế lọc địa chỉ. Ưu điểm lớn nhất của DSR là nó tiết kiệm băng thông mạng và năng lượng của nút mạng bởi vì nó là kiểu giao thức hoạt động theo yêu cầu nghĩa là nó không truyền các gói tin định tuyến theo chu kỳ quảng bá. Do đó khi không có sự thay đổi hình trạng mạng, giao thức DSR không phải chịu tải của việc truyền các thông tin điều khiển. Thêm vào đó, DSR cho phép các nút lưu trữ đồng thời nhiều con đường đến một đích trong bộ nhớ đường của nó. Do đó, khi một liên kết trên một con đường bị phá vỡ, một nút nguồn có thể sử dụng ngay một con đường khác nếu con đường này có trong bộ nhớ đường của nó và nó sẽ không phải khởi tạo một thủ tục tìm đường. Trong trường hợp này, thời gian tìm đường sẽ nhanh hơn các giao thức định tuyến dạng on-demand khác. Tuy nhiên, nếu trong bộ nhớ đường không có con đường nào khác đến đích, DSR phải khởi tạo lại một thủ tục tìm đường cũng giống như AODV. Mặt khác, vì đường kính mạng được giả định là nhỏ và vì yêu cầu định tuyến nguồn, DSR là giao thức ít có khả năng co giãn trong các mạng lớn. TORA là một giao thức định tuyến rất phù hợp với các mạng lớn có mật độ các nút lớn [16]. Tính chất mới lạ của TORA bắt nguồn từ việc tạo ra các gói tin DAG để thành lập đường. Một trong những ưu điểm của TORA là nó hỗ trợ nhiều đường. TORA và DSR là các giao thức định tuyến theo yêu cầu có duy trì nhiều con đường đến một nút đích. Việc xây dựng lại một con đường là không 68

cần thiết cho đến khi tất cả mọi con đường đã biết đều đã rơi vào tình trạng không hợp lệ và do đó có thể tiết kiệm băng thông mạng hơn các giao thức khác không hỗ trợ vấn đề này. Một ưu điểm khác của TORA là hỗ trợ multicast mặc dù kiểu multicast của nó khác với AODV. Giao thức ABR là một giao thức kết hợp giữa giao thức định tuyến kiểu broadcast và định tuyến kiểu điểm-điểm và nó sử dụng cách tiếp cận chuyển tiếp gói tin dạng hướng kết nối. Việc chọn đường là một thao tác chính dựa trên sự kết hợp các nút nằm trên một con đường. Do đó, mặc dù con đường kết quả không cần thiết phải chứa một số lượng nhỏ nhất các nút nhưng con đường kết quả của ABR thường có thời gian sống dài hơn con đường kết quả của các giao thức khác. Một con đường có thời gian sống dài hơn sẽ yêu cầu số lần xây dựng lại con đường đó ít hơn và do đó thông lượng của mạng có thẻ cao hơn. Một ưu điểm khác của ABR là nó đảm bảo không có hiện tượng lặp gói dữ liệu bởi vì chỉ có một con đường tốt nhất được đánh dấu là con đường hợp lệ trong khi mọi con đường có thể khác vẫn là dạng bị động. Tuy nhiên giao thức ABR lại yêu cầu mỗi nút phải định kỳ gửi thông tin báo hiệu. Khoảng thời gian giữa hai lần gửi thông tin báo hiệu định kỳ phải đủ ngắn để đảm bảo độ chính xác theo không gian, thời gian của hình trạng mạng. Việc gửi thông tin báo hiệu định kỳ này yêu cầu tăng thêm khả năng về năng lượng và chiếm thêm băng thông của mạng. Không giống như DSR, giao thức ABR không thực hiện việc lưu trữ đường. Thuật toán SSR là một thuật toán được phát triển từ thuật toán ABR. Nó thực hiện một kỹ thuật chọn đường mới trên cơ sở độ mạnh của tín hiệu và tính ổn định theo khu vực của các nút dọc theo một con đường. Trong ABR, trong khi các con đường được lựa chọn không cần phải là con đường ngắn nhất tính theo số chặng nên con đường có độ ổn định và thời gian sống khá cao. Một nhược điểm chính của SSR là không giống như AODV và DSR, các nút trung gian không thể trả lời một yêu cầu đường tới một nút nguồn. Thêm vào đó, khi một liên kết trên một con đường bị phá vỡ, thuật toán tìm đường này phải được kích hoạt lại từ nút nguồn để tìm ra một con đường mới tới nút đích. Trong SSR,

69

không có cơ chế cho phép các nút trung gian có thể tự xây dựng lại các con đường của chúng.

4.3 Đánh giá hiệu năng dựa trên kết quả mô phỏng 4.3.1 Mô hình hóa các kịch bản mô phỏng
Hình 4.1 mô tả một trong số các kịch bản mô phỏng, gồm 9 nút di chuyển với vận tốc 20 m/s. Tám kịch bản được mô phỏng và thời gian chạy mỗi kịch bản là 900 giây (simulation time). Các kịch bản mô phỏng được thực hiện lặp lại nhiều lần với mục đích xác thực độ tin cậy của kết quả. Mỗi loại kịch bản sẽ mô phỏng bốn giao thức AODV, DSR, TORA, và DSDV. Việc phân loại các kịch bản mô phỏng nhằm mục đích kiểm tra tác động của tải và tốc độ di chuyển tới kết quả cuối cùng. Quá trình thu thập các thông số thống kê sự kiện riêng lẻ sẽ cho phép kiểm tra các thông số đánh giá hiệu năng cần thiết như khả năng truyền, tỉ lệ chuyển tiếp gói tin và độ tối ưu về đường đi.

Hình 4-1 : Một mô hình kịch bản mô phỏng

70

Các kịch bản được xây dụng trên quy mô mạng trường học trải rộng trên diện tích 1000m x 500m. Các nút mạng là các đầu cuối vô tuyến và server phân bố ngẫu nhiên trên vùng địa lý này. Trong các kịch bản, các nút di động sẽ trao đổi lưu lượng dữ liệu với cùng một server. Di chuyển của các nút được cấu hình với cùng một mobility config với chế độ di chuyển ngẫu nhiên nhằm mô tả sự di chuyển giống như trên thực tế. các nút di chuyển với vận tốc tối đa là 20m/s tùy theo các kịch bản khác nhau. Di chuyển của các nút được thực hiện dựa trên cơ chế giả ngẫu nhiên. Với cơ chế này, một nút sẽ chọn cho nó một đích để bám theo, khi đến được đích, nó sẽ tạm dừng 30 giây hoặc hơn để tính toán trạng thái tương quan và sau đó chọn cho nó một nút đích ngẫu nhiên khác rồi tiếp tục di chuyển. Cơ chế này được cấu hình với mục đích so sánh các thông số thống kê trong các khoảng thời gian dừng và di chuyển trong cùng một kịch bản.

4.3.2 Khảo sát và phân tích kết quả
Trong mục này sẽ thực hiện phân tích các kết quả mô phỏng thu được đồng thời đánh giá hiệu năng của các giao thức AODV, DSDV, TORA, DSR thông qua các thông số đầu vào. – Mạng gồm 9 nút di động. – Phạm vi trường học, diện tích 1000m x 500m. – Thời gian mô phỏng 900 giây. – Thời gian không di chuyển (Pause Time) gồm 7 mức: 0,30,60,120,300,600, và 900 – Tốc độ di chuyển tối đa là 20 m/s

4.3.2.1 Tỷ lệ chuyển tiếp gói tin
Tỷ lệ chuyển tiếp gói tin (PDR - Packet Delivery Ratio) là tỷ số giữa số gói tin được phát và số gói tin nhận được trong mạng. Thông số này đánh giá tỷ lệ mát dữ liệu cũng như độ chính xác và hiệu quả của giao thức định tuyến. Hình 4-2 biểu diễn tỷ lệ chuyển tiếp gói tin của các giao thức AODV, DSDV, TORA, DSR tại vận tốc 20m/s.

71

Hình 4-2. Tỷ lệ chuyển tiếp gói tin của các giao thức Tỷ lệ này khá cao với các giao thức DSR, AODV, TORA ngoại trừ giao thức DSDV tại thời điểm 300 giây đầu tiên, sau đó tỷ lệ này lại tăng lên khá cao. Do bản chất, DSDV là một giao thức định tuyến sửa đổi từ thuật toán định tuyến Bellman-Ford. Nó mất thời gian cho việc tạo và cập nhật bảng định tuyến tại mỗi nút. Tuy nhiên DSDV là một giao thức không hiệu quả bởi vì nó yêu cầu truyền các gói tin cập nhật một cách định kỳ mà không cần để ý đến số lần thay đổi hình trạng mạng. Sau đó tỷ lệ này cao hơn rất nhiều vào các giai đoạn sau đó. DSR có tỷ lệ chuyển tiếp gói tin cao nhất trong toàn bộ thời gian hoạt động và khá ổn định, thấp hơn là AODV. Hầu hết các giao thức đều có tỷ lệ không ổn định tại ba chặng đầu tiên của quá trình. TORA cũng giống như vậy nhưng thấp hơn và chỉ cao hơn DSDV. Nhìn chung giao thức DSR và AODV thực thi việc truyền nhận gói tin tốt hơn hai giao thức còn lại và DSDV hoạt động kém hiệu quả nhất. Tuy nhiên khi hình trạng mạng khá ổn định thì các giao thức hoạt động tốt hơn.

72

4.3.2.2 Khả năng truyền gói tin
Hình 4-2 biểu diễn khả năng truyền gói tin của các giao thức.

Hình 4-3: Khả năng truyền gói tin của các giao thức. Có sự khác biệt rõ ràng về khả năng truyền gói tin giữa các giao thức. Nhận thấy rằng giao thức TORA có khả năng truyền gói tin đạt hiệu quả cao nhất, tuy có sự suy giảm đáng kể về giao đoạn cuối nhưng vẫn là giao thức đạt hiệu quả cao. Điều này chứng tỏ TORA hoạt động tốt hơn khi có vận tốc di chuyển lớn. Đỉnh cao lưu lượng tại thời điểm bắt đầu mô phỏng cho thấy có nhiều lưu lượng định tuyến được đưa vào mạng tại thời điểm thiết lập ban đầu. Tiếp sau đó là AODV, giao thức này luôn chứng tở được khả năng truyền tin khá ổn định trong các môi trường khác nhau. DSDV đạt hiểu quả không cao nhưng lại khá ổn định. Khả năng truyền gói tin thấp nhất là giao thức DSR, có thể vận tốc di chuyển cao làm tăng khả năng gãy liên kết dẫn đến DSR phải phản ứng với tần số cao hơn, tác động của nó thể hiện rõ rệt.

4.3.2.3 Độ tối ưu về đường đi

73

Hình 4-4: Độ tối ưu về đường đi Dễ dàng nhận thấy tại thời điểm ban đầu, số lượng gói tin gửi đi là rất cao, sau đó số lượng này giảm dần theo các chặng đường đi. Ổn định nhất là giao thức AODV, sau đó là TORA. Giao thức định tuyến AODV có thể điều chỉnh các thay đổi trong thời gian tạm dừng và khởi động tại các vận tốc thấp nhưng khi di chuyển với vận tốc cao các nút mất thời gian để điều chỉnh và do đó mất dần sự tối ưu. Đỉnh cao lưu lượng tại thời điểm bắt đầu mô phỏng cho thấy có nhiều lưu lượng định tuyến được đưa vào mạng tại thời điểm thiết lập ban đầu. Độ tối ưu của TORA tăng theo số lượng nút trong mạng. Lúc đầu số lượng gói tin gửi đi của DSR là cao nhất nhưng sau đó thì giảm mạnh, do sự đứt gãy liên kết nên ảnh hưởng rõ rệt. Vận tốc di chuyển cao làm tăng khả năng gãy liên kết dẫn đến DSR phải phản ứng với tần số cao hơn; tác động của nó thể hiện rõ rệt khi các nút bắt đầu dừng và di chuyển trờ lại sau chu kỳ đầu của ổn định tương đối. DSDV là giao thức mất ổn định nhất, là một giao thức không hiệu quả bởi vì nó yêu cầu truyền các gói tin cập nhật một cách định kỳ mà không cần để ý đến số lần thay đổi hình trạng mạng. Điều này giới hạn một cách có hiệu quả số lượng các nút có thể kết nối vào mạng khi thông tin điều khiển tăng.

74

KẾT LUẬN
Để đánh giá hiệu suất của các giao thức định tuyến cần phải có các tiêu chí và độ đo đánh giá. Các độ đo đánh giá được chia thành hai nhóm là các độ đo định tính và các độ đo định lượng. Đồ án đã đưa ra các tiêu chí để đánh giá hiệu năng của một giao thức trong mạng Ad-Hoc. Cụ thể là tỷ lệ chuyển tiếp gói tin, khả năng truyền gói tin và độ tối ưu về đường đi. Trong đó tỷ lệ chuyển tiếp gói tin và khả năng truyền gói tin tác động trực tiếp đến độ tin cậy của giao thức, còn độ tối ưu về đường đi thể hiện hiệu năng sử dụng tài nguyên của giao thức. Hoạt động hiệu quả và tin cậy là điều mong muốn của các giao thức định tuyến trong mạng. Trong quá trình nghiên cứu ứng dụng TCP (truyền file FTP) đã được sử dụng với tất cả nguồn tới cùng một đích. Do cơ chế hoạt động của TCP, tỉ lệ chuyển tiếp gói tin cho tất cả giao thức trong các kịch bản chỉ đạt chưa quá 50%. Điều này chứng minh TCP không phù hợp với các giao thức định tuyến tùy biến hiện tại. Sử dụng các lưu lương UDP sẽ cho kết quả tỉ lệ chuyển tiếp gói tin cao hơn. Giao thức DSR thích hợp để ứng dụng vào các mạng có các nút di chuyển với tốc độ trung bình. Các giả thiết đưa ra khi thực hiện thuật toán này là đường kính mạng tương đối nhỏ và các nút mạng có thể hoạt động ở chế độ nhận hỗn hợp, trong đó mọi gói tin nhận được được truyền tới các driver mạng mà không có cơ chế lọc địa chỉ. Ưu điểm lớn nhất của DSR là nó tiết kiệm băng thông mạng và năng lượng của nút mạng bởi vì nó là kiểu giao thức hoạt động theo yêu cầu nghĩa là nó không truyền các gói tin định tuyến theo chu kỳ quảng bá. Do đó khi không có sự thay đổi hình trạng mạng, giao thức DSR không phải chịu tải của việc truyền các thông tin điều khiển. TORA là một giao thức định tuyến rất phù hợp với các mạng lớn có mật độ các nút lớn. Tính chất mới lạ của TORA bắt nguồn từ việc tạo ra các gói tin DAG để thành lập đường.

75

AODV hoạt động tốt hơn DSR và DSDV trong các mạng tải trung bình và thấp với tốc độ di chuyển của các nút thấp. Nó cũng hoạt động tốt hơn DSR và DSDV ở mạng tải lớn và tốc độ di chuyển cao. DSDV là giao thức hoạt động kém hiệu quả nhất, tốn nhiều thời gian và năng lượng hoạt động do các nút luôn phải cập nhật bẳng định tuyến. DSDV phù hợp với những mạng có kích thước nhỏ. Trong các giao thức được nghiên cứu không có một giao thức nào có hiệu năng vượt trội hoàn toàn trong tất cả các điều kiện mạng. Việc lựa chọn các giao thức phụ thuộc vào hoàn cảnh cụ thể của mạng. Mỗi một chiến lược định tuyến có những ưu điểm và nhược điểm khác nhau. Trong mạng không dây kiểu không cấu trúc, tùy theo hoàn cảnh, yêu cầu và các đặc tính của từng mạng cụ thể mà mỗi một giao thức định tuyến thể hiện các ưu, nhược điểm của mình theo các cấp độ khác nhau. Trong tương lai có thể thực hiện dánh giá hiệu năng của các giao thức định tuyến tùy biến hiện tại và các giao thức được thiết kế đặc biệt theo chuẩn IEEE 802.16 cho WiMAX di động. Hướng nghiên cứu này có thể cung cấp các thông tin về những tán thành và phản đối của các chuẩn đã được phát triển trong lĩnh vực này. Trong nghiên cứu này đã thực hiện đánh giá hiệu năng các giao thức định tuyến trong Ad-Hoc.

76

TÀI LIỆU THAM KHẢO
[1]. Subir Kumar Sarkar, T G Basavaraju, C Puttamadappa, Ad Hoc Mobile Wireless Networks: Principles, Protocols, and Applications, Taylor & Francis Group, LLC, 2008. [2]. Bained Nyirenda, Jason Mwanza, Performance Evaluation of Routing Protocols in Mobile Ad hoc Networks (MANETs), Blekinge Institute of Technology, January 2009 [3]. Dmitri D. Perkins, Herman D. Hughes, and Charles B. Owen, Factors Affecting the Performance of Ad Hoc Networks, Department of Computer Science and Engineering Michigan State University, East Lansing, MI 488241226. [4]. Anipakala Suresh, Bremen Institute of Technology, Performance Analysis of Ad hoc On-demand Distance Vector routing (AODV) using OPNET Simulator, 11th April 2005. [5]. RFC4728 - The Dynamic Source Routing Protocol (DSR), IETF. [6]. RFC3561 - Ad hoc On-Demand Distance Vector (AODV) Routing, IETF. [7]. RFC3626 - Optimized Link State Routing Protocol (OLSR), IETF. [8]. Temporally-Ordered Routing Algorithm (TORA) Version 1 Functional Specification, IETF. [9]. Edit by Mohammad Ilyas, florida Atlantic University, Boca Raton, Florida, The Handbook of Ad hoc Wireless Networks, CRC Press LLC, 2003. [10]. Farooq Anjum and Petros Mouchtaris, Security for Wireless Ad Hoc Networks, John Wiley and Sons, Feb 2007. [11]. Amitabh Míhra, Security and Quality of Service in Ad Hoc Wireless Networks, Cambridge Press, Mar 2008 [12]. Uyen Trang Nguyen and Xing Xiong, “Rate-adaptive Multicast in Mobile Ad hoc Networks,” IEEE International Conference on Ad hoc and Mobile Computing, Networking and Communications, WiMob, Montreal, Canada, 2005. [13]. Mohammad Naserian, Kemal E. Tepe and Mohammed Tarique, “Routing overhead analysis for reactive routing protocols in wireless ad hoc networks,” IEEE Conference on Wireless And Mobile Computing, Networking And Communications, WiMob, 2005, pp. 87 – 92.

77

[14]. Ad Hoc Networks Technologies And Protocols, Springer Science + Business Media, 2005. [15]. Nguyễn Quang Huy, D04VT2, đồ án tốt nghiệp: “Định tuyến trong mạng Mesh”. [16]. Phạm Đức Hòa, Lò Văn Duy, Nguyễn Hoàng Cương, Sand Sakda, D05VT2, chuyên đề kỹ thuật chuyển mạch: “Bảo mật định tuyến trong MANETs”. [17]. http://www.vntelecom.org/

78

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

…………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ………………………………………………

Chữ ký của giáo viên hướng dẫn

79