1. Trang chủ
  2. » Luận Văn - Báo Cáo

Định tuyến có đảm bảo chất lượng dịch vụ trong mạng manet

72 40 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 2,24 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Do đó, việc thiết kế các giao thức định tuyến trong mạng Adhoc thường xem xét một số các yếu tố sau đây [5]:  Hoạt động phân tán: cách tiếp cận tập trung sẽ thất bại do sẽ tốn rất nhiều

Trang 2

Ngành: Công nghệ thông tin

Chuyên ngành: Truyền dữ liệu mạng máy tính

Mã số: 604815

LUẬN VĂN THẠC SĨ NGÀNH TRUYỀN DỮ LIỆU MẠNG MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Đình Việt

HÀ NỘI - 2015

Trang 3

và điều kiện có hạn nên luận văn không tránh khỏi có những thiếu sót, tôi rất mong nhận được sự góp ý từ bạn bè, thầy cô và những người quan tâm đến đề tài này

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số liệu và kết quả nghiên cứu nêu trong luận văn là trung thực, đƣợc các đồng tác giả cho phép sử dụng và chƣa từng công bố trên bất cứ công trình nào khác

Học viên

Nguyễn Thành Trung

Trang 5

MỤC LỤC

LỜI CẢM ƠN 3

LỜI CAM ĐOAN 4

MỤC LỤC 5

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 7

DANH MỤC BẢNG BIỂU 8

DANH MỤC HÌNH VẼ, ĐỒ THỊ 9

CHƯƠNG 1: GIỚI THIỆU CHUNG 10

1.1 Mạng MANET 10

1.1.1 Sự phát triển và các ứng dụng trong mạng MANET 10

1.1.2 Các đặc điểm của mạng MANET 11

1.2 Các vấn đề cần giải quyết 12

1.2.1 Định tuyến trong mạng MANET 12

1.2.2 Vấn đề tiết kiệm năng lượng 13

1.2.3 Vấn đề đảm bảo chất lượng dịch vụ 15

1.2.3.1 Giới thiệu 15

1.2.3.2 Tham số đặc trưng QoS 15

1.3 Mục tiêu nghiên cứu luận văn 15

CHƯƠNG 2: MỘT SỐ GIAO THỨC ĐỊNH TUYẾN TRONG MANET 17

2.1 Giao thức DSDV (Destination – Sequenced Distance – Vector) 17

2.2 Giao thức AODV 19

2.2.1 Tổng quan về giao thức AODV 19

2.2.2 Cơ chế hoạt động 20

2.2.2.1 Tiến trình Discovery 20

2.2.2.2 Tạo Route Request: 21

2.2.2.3 Chuyển tiếp Route Request 22

2.2.2.4 Tạo Route Reply 23

2.2.2.5 Chuyển tiếp Route Relay 24

2.2.3 Quản lý cục bộ 24

2.2.4 Duy trì đường đi 25

2 2 5 T h ờ i g i a n h ế t h ạ n v à v i ệ c h ủ y b ỏ m ộ t đ ư ờ n g đ i 26

2.3 Phân tích giao thức AODV 26

2.3.1 Modified AODV (MAODV) 26

2.3.1.1 Giới thiệu 26

2.3.1.2 Giao thức MAODV (Modified AODV) 27

CHƯƠNG 3: BỘ MÔ PHỎNG MẠNG NS-2 VÀ MỘT SỐ CÔNG CỤ PHÂN TÍCH SỐ LIỆU MÔ PHỎNG 29

3.1 Tổng quan NS-2 29

3.2 Đại cương về NS-2 30

3.2.1 Các chức năng mô phỏng của NS-2 30

3.2.2 Các thành phần của NS 30

3.2.3 Kiến trúc của NS-2 31

3.2.4 Các thành phần của mạng 34

Trang 6

3.3 Các mô hình chuyển động của các nút mạng được NS-2 hỗ trợ 37

3.3.1 Mô hình Random Waypoint 38

3.3.2 Mô hình Random Walk 39

3.4 Công cụ để phân tích và biểu diễn kết quả mô phỏng 40

3.4.1 Perl 40

3.4.2 GNUPLOT 41

3.5 Thiết lập mạng mô phỏng MANET 42

3.5.1 Thiết lập tô-pô mạng 42

3.5.2 Thiết lập tham số của mô hình chuyển động của các nút mạng và thời gian mô phỏng 44

3.5.3 Thiết lập các nguồn sinh lưu lượng đưa vào mạng 45

3.5.4 Lựa chọn thời gian mô phỏng 45

CHƯƠNG 4: MÔ PHỎNG 47

4.1 Các độ đo hiệu năng được dùng trong luận văn 47

4.2 Thực nghiệm mô phỏng 48

4.2.1 Thiết lập giá trị cho các thông số mô phỏng 48

4.2.2 Xây dựng và thi hành chương trình mô phỏng: 49

4.3 Phân tích số liệumô phỏng và đánh giá, so sánh các giao thức định tuyến AODV, DSDV 50

4.3.1 Kết quả thực hiện 50

4.3.1.1 Đánh giá, so sánh tỷ lệ phân phát gói tin thành công theo tốc độ chuyển động tăng dần của các nút mạng 50

4.3.1.2 Đánh giá, so sánh trễ đầu cuối trung bìnhtheo tốc độ chuyển động tăng dần của các nút mạng 52 4.3.1.3 Đánh giá, so sánh thông lượng đầu cuốitheo tốc độ chuyển động tăng dần của các nút mạng 54 4.3.1.4 Đánh giá, so sánh tải định tuyến chuẩn hóa theo tốc độ chuyển động tăng dần của các nút mạng 57 4.3.2 Đánh giá hiệu năng hai giao thức AODV, DSDV 59

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU 61

Kết quả đạt được của luận văn 61

TÀI LIỆU THAM KHẢO 63

PHỤ LỤC 64

1 Chương trình mô phỏng mạng Adhoc 64

2 Đoạn mã Perl để phân tích tệp vết, tính thời gian trễ end-to-end trung bình 67

3 Đoạn mã Perl để phân tích tệp vết, tính chi phí định tuyến chuẩn hóa 68

4 Đoạn mã Perl để phân tích tệp vết, tính tỉ lệ phân phát gói tin thành công 69

5 Đoạn mã Perl để phân tích tệp vết, tính thông lượng trung bình 70

Trang 7

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

IEEE Institute of Electrical and Electronics Engineer

DSDV Destination-Sequenced Distance-Vector Routing

Trang 8

DANH MỤC BẢNG BIỂU

Bảng 3-1: Bảng mẫu dữ liệu để vẽ trong gnuplot 41

Bảng 3-2: Thiết lập định dạng cho bản vẽ và thực hiện vẽ đồ thị: 41

Bảng 3-3: Cấu hình mạng mô phỏng 43

Bảng 4-1: Bảng dữ liệu tỷ lệ phân phát gói tin thành công với mô hình RandomWaypoint 50

Bảng 4-2: Bảng dữ liệu tỷ lệ phân phát gói tin thành công với mô hình RandomWalk 51 Bảng 4-3: Bảng dữ liệu độ trễ đầu cuối trung bình với mô hình Random Waypoint 53

Bảng 4-4: Bảng dữ liệu độ trễ đầu cuối trung bình với mô hình Random Walk 53

Bảng 4-5: Bảng dữ liệu thông lƣợng với mô hình Random Waypoint 55

Bảng 4-6: : Bảng dữ liệu thông lƣợng với mô hình Random Walk 56

Bảng 4-7: Bảng dữ liệu tải định tuyến chuẩn hoá với mô hình Random Waypoint 57

Bảng 4-8: Bảng dữ liệu tải định tuyến chuẩn hoá với mô hình Random Walk 58

Trang 9

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Hình 2-1 Ví dụ định tuyến của DSDV 17

Hình 2-2: Quá trình lan truyền của gói tín RREQ 21

Hình 2-3 Đường đi ngược được tạo ra khi RREQ lan truyền trong môi trường 23

Hình 2-4: Đường đi từ nút nguồn và nút đích được hình thành 24

Hình 2-5: Lan truyền gói tin RERR 26

Hình 2-6: Khám phá tuyến trong MAODV 27

Hình 2-7: Minh họa việc gửi các gói tin RREP về nút nguồn 28

Hình 3-1: Mức độ phổ biến của các 29

Hình 3-2: Đơn gian hóa cách nhìn người sử dụng 31

Hình 3-3: Tính đối ngẫu của C++ và Otcl 33

Hình 3-4: Kiến trúc chung của NS-2 34

Hình 3-5 Sự phân cấp lớp đối tượng Otcl 34

Hình 3-6: Nút Unicast và Multicast 35

Hình 3-7 Liên kết 36

Hình 3-8 Chèn các đối tượng Trace 36

Hình 3-9 Giám sát hàng đợi 37

Hình 3-10: Di chuyển một nút theo mô hình Random Waypoint 38

Hình 3-11: Di chuyển của 8 nút theo mô hình Random Walk 39

Hình 3-12:Diện tích mạng mô phỏng và các nút mạng 43

Hình 4-1: Tỷ lệ phân phát gói tin thành công với mô hình Random WayPoint 50

Hình 4-2: Tỷ lệ phân phát thành công với mô hình Random Walk 51

Hình 4-3: Độ trễ trung bình đầu cuối của gói dữ liệu 53

Hình 4-4: Độ trễ trung bình đầu cuối với mô hình Random Walk 54

Hình 4-5: Thông lương đầu cuối với mô hình Random Waypoint 55

Hình 4-6: Thông lượng đầu cuối với mô hình Random Walk 56

Hình 4-7: Tải định tuyến chuẩn hóa với mô hình Random Waypoint 57

Hình 4-8: Tải định tuyến đầu cuối với mô hình Random Walk 59

Trang 10

CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Mạng MANET

1.1.1 Sự phát triển và các ứng dụng trong mạng MANET

Mạng di động đặc biệt MANET (Mobile Adhoc Netwowk) là mạng tự cấu hình của các nút di động kết nối với nhau thông qua các liên kết không dây tạo nên mạng độc lập không phụ thuộc vào cơ sở hạ tầng mạng Các thiết bị trong mạng có thể di chuyển một cách tự do theo mọi hướng, do đó liên kết của nó với các thiết bị khác cũng thay đổi một cách thường xuyên

Nguyên lý làm việc của mạng Adhoc bắt nguồn từ nguyên lý làm việc của mạng ALOHA, ra đời từ năm 1968 Trong mạng ALOHA, tuy các trạm làm việc là cố định nhưng giao thức ALOHA thực hiện việc quản lý truy cập kênh truyền dưới dạng phân tán, đây là cơ sở lý thuyết để phát triển kỹ thuật truy cập kênh phân tán vào mạng Adhoc

Năm 1973 tổ chức DARPA đã bắt đầu làm việc trên mạng vô tuyến gói tin PRnet Đây là mạng vô tuyến gói tin đa chặng đầu tiên Trong đó các nút mạng hợp tác với nhau để gửi dữ liệu tới một nút nằm ở xa khu vực kết nối thông qua một nút khác Nó cung cấp cơ chế cho việc quản lý hoạt động trên cơ sở tập trung và phân tán

Sau đó năm 1983 mạng SURAN (Surviable Radio Network) được đề xuất để có quy mô mạng lớn hơn Ngày nay mạng MANET được tổ chức IEEE quy chuẩn trong 802.11

Ứng dụng:

Quân sự: Hoạt động phi tập trung của mạng Adhoc và không phụ thuộc vào cơ sở

hạ tầng mạng là một yếu tố thiết yếu đối với lĩnh vực quân sự, nhất là trong các trường hợp chiến đấu khốc liệt, các cơ sở hạ tầng mạng bị phá hủy Lúc này mạng Adhoc là lựa chọn số một để các thiết bị truyền thông liên lạc với nhau một cách nhanh chóng

Trang 11

Trường học: Chúng ta cũng có thể thiết lập các mạng Adhoc trong trường học,

lớp học, thư viện, sân trường,… để kết nối các thiết bị di động (laptop, smartphone) lại với nhau, giúp sinh viên, thầy cô giáo có thể trao đổi bài một cách nhanh chóng thông qua mạng Adhoc vừa tạo

Gia đình: Tại nhà bạn có thể tạo nhanh mạng Adhoc để kết nối các thiết bị di

động của bạn với nhau, nhờ đó ta có thể di chuyển tự do mà vẫn đảm bảo kết nối truyền tải dữ liệu

Kết nối các thiết bị điện tử với nhau: Trong những năm tới khi mà các thiết bị

điện tử đều được gắn các giao tiếp không dây, giúp chúng có thể trao đổi giao tiếp với nhau thì mạng Adhoc sẽ rất phù hợp để tạo nên một hệ thống thông minh có khả năng liên kết với nhau

1.1.2 Các đặc điểm của mạng MANET

Mỗi nút di động khác nhau trong mạng MANET đều có những đặc điểm về nguồn năng lượng, bộ phận thu phát sóng khác nhau Chúng có thể di chuyển về mọi hướng theo các tốc độ khác nhau, do đó ta có thể nhận thấy rõ một số đặc điểm chính của mạng MANET như sau:

 Cấu hình mạng động: Cấu hình mạng luôn biến đổi theo các mức độ di chuyển của nút mạng, kết nối giữa các nút mạng có thể thường xuyên bị đứt Chính vì thế mà việc xác định các tuyến đường cần được thực hiệnthường xuyên hơn và khả năng mất gói tin cao hơn do việc xác định tuyến không kịp thời

 Khoảng cách sóng ngắn: Khoảng cách thu phát sóng tin cậy của các thiết bị di động là rất hạn chế, do đó việc truyền thông trong mạng thường là qua nhiều chặng (multihop)

 Hạn chế năng lượng: Các nút mạng di động thường chạy pin nên vấn đề tiết kiệm năng lượng là rất quan trọng Điều này trở thành vấn đề lớn hơn trong mạng MANET bởi vì mỗi nút hoạt động vừanhư là một hệ thống đầu cuối vừa là một

bộ định tuyến, do đó cần nhiều năng lượng hơn cho việc chuyển tiếp các gói tin của các nút khác trong mạng

 Bảo mật yếu: Đặc điểm của mạng MANET là truyền sóng qua môi trường

Trang 12

cáp vì nó tiềm ẩn nhiều nguy cơ bịnghe lén đường truyền, giả mạo, tấn công DoS,…

 Băng thông hạn chế: Các liên kết không dây có băng thông thấp hơn so với đường truyền cáp và chúng còn chịu ảnh hưởng của sự nhiễu, suy giảm tín hiệu,hiệu ứng truyền đa đường, các điều kiện giao thoa …

 Khó đảm bảo chất lượng dịch vụ: Việc đảm bảo chất lượng dịch vụ QoS là quan trọng trong việc phân phối thành công lưu lượng mạng đa phương tiện Các yêu cầu về QoS thường chỉ tới một tập các độ đo bao gồm thông lượng, tỷ lệ mất gói tin, độ trễ, thăng giáng độ trễ, Với cấu hình mạng luôn thay đổi và băng thông bị hạn chế thì việc duy trì đảm bảo chất lượng dịch vụ luôn là thách thức trong mạng MANET

1.2 Các vấn đề cần giải quyết

1.2.1 Định tuyến trong mạng MANET

Định tuyến mạng là việc tìm đường đi từ nguồn tới đích qua hệ thống mạng Giao thức định tuyến có chức năng chính là lựa chọn đường cho các cặp nguồn đích và phân phát gói tin tới đích chính xác Truyền thông trong mang MANET dựa trên các đường

đi đa chặng, do vậy định tuyến các gói tin là hoạt động quan trọng Khác với các mạng

cố định có cấu hình ít thay đổi hoặc gần như không thay đổi, các vấn đề về không dây

và tính chất động của mạng Adhoc khiến cho các giao thức định tuyến được thiết kế cho các mạng cố định không thể áp dụng hoặc gần như thất bại trong mạng Adhoc Việc thiết kế một giao thức định tuyến làm việc hiệu quả trong mạng Adhoc là một bài toàn khó

Do đó, việc thiết kế các giao thức định tuyến trong mạng Adhoc thường xem xét một số các yếu tố sau đây [5]:

 Hoạt động phân tán: cách tiếp cận tập trung sẽ thất bại do sẽ tốn rất nhiều thời gian để tập hợp các thông tin trạng thái hiện tại của mạng, tính toán các tuyến và phân phát cho tất cả các nút trong mạng Trong thời gian đó, cấu hình mạng có thể đã có các thay đổi, các thông tin định tuyến mà các nút nhận được không còn giá trị sử dụng

Trang 13

 Không có lặp định tuyến: hiện tượng xảy ra khi một phần nhỏ các gói tin quay vòng trong mạng trong một khoảng thời gian nào đó Một giải pháp có thể áp dụng là sử dụng giá trị thời gian quá hạn cho các gói tin

 Tính toán đường dựa trên yêu cầu: thay thế việc tính toán và duy trì định tuyến tới tất cả các nút tại tất cả các thời điểm, kể cả khi chưa có yêu cầu truyền, bằng việc thích ứng với dạng truyền thông, chỉ thực hiện tìm đường khi một nút có yêu cầu truyền đến một nút khác trong mạng Mục đích là để tiết kiệm năng lượng và băng thông, mặc dù độ trễ tăng lên do sự phát hiện đường cần thời gian

 Tính toán đường trước: Khi cần có độ trễđịnh tuyến nhỏvà băng thông cũng như các tài nguyên năng lượng cho phép, việc tính toán đường trước khi có yêu cầu truyền sẽ giảm độ trễ phân phát gói tin

 Bảo mật: Giao thức định tuyến mạng Adhoc có khả năng bị tấn công dễ dàng bằng một số dạng như xâm nhập truyền thông, phát lại, thay đổi các tiêu đề gói tin, điều hướng các thông điệp định tuyến Do vậy, cần có các phương pháp bảo mật thích hợp để ngăn chặn việc sửa đổi hoạt động của giao thức

 Hoạt động nghỉ: giao thức định tuyến cần có cơ chế bảo tồn năng lượng của các nút khi có thể, ví dụ khi một nút không có yêu cầu truyền hoặc không

có nhiệm vụ chuyển tiếp gói tin cho các nút khác

 Hỗ trợ liên kết đơn hướng: Khi thực hiện định tuyến đa chặng trong mạng Adhoc, giao thức cần hỗ trợ trường hợp có một số chặng là khi các liên kết đơn hướng, nghĩa là tuyến đường từ nút nguồn đến nút đích và tuyến đường

từ nút đích đến nút nguồn có thể không hoàn toàn trùng nhau

1.2.2 Vấn đề tiết kiệm năng lượng

Để thiết lập các tuyến đường giữa các nút, một giao thức định tuyến hiệu quả là cần thiết kế để việc khám phá đường trong mạng MANET Năng lượng của nút là một trong những tiêu chí thiết kế quan trọng cho mạng MANET do cấu trúc liên kết năng động của mạng MANET Thời gian hoạt động của các nút di động bị hạn chế bởi dung lượng pin của chúng Khi một nút di động bị hết năng lượng, không những chính nút đó ngưng làm việc, mà còn làm đứt tất cả các kết nối đa chặng đi qua nó, làm ảnh hưởng

Trang 14

đến hiệu suất của mạng do phải xây dựng lại các tuyến đường bị lỗi Việc xây dựng các tuyến đường mới hay khôi phục các tuyến đường bị lỗi sẽ cần đến việc gửi, nhận và xử

lý nhiều gói tin và làm tiêu hao năng lượng và do đó làm tuổi thọ của mạng giảm bớt Một nút di động tiêu thụ năng lượng pin của nó không chỉ khi chủ động gửi hoặc nhận gói tin, mà còn cả khi nó ở trạng thái nhàn rỗi nhưng vẫn nghe các nút khác trong mạng xem có yêu cầu thông tin liên lạc từ các nút khác hay không Như vậy, một giao thức định tuyến hiệu quả năng lượng là giao thức làm giảm thiểu tối đa năng lượng truyền thông dành cho việc truyền tải và nhận gói dữ liệu hoặc trong thời gian không hoạt động [6]

Phương pháp điều khiển năng lượng truyền tải có thể xác định đường đi tối ưu để giảm thiểu tổng số năng lượng truyền dẫn cần thiết để chuyển gói dữ liệu đến đích [7] Mỗi nút có thể tiết kiệm năng lượng bằng cách chuyển chế độ hoạt động của nó vào trạng thái ngủ, tiêu hao ítnăng lượng hơn trạng thái làm việc, hoặc đơn giản là tắt nó khi không có dữ liệu để truyền hoặc nhận Điều này có thể dẫn đến việc tiết kiệm năng lượng một cách đáng kể, đặc biệt khicác ứng dụng truyền thông trên mạng có yêu cầu truyền thông thấp Tuy nhiên nó đòi hỏi một giao thức định tuyến được thiết kế tốt để đảm bảokhả năng truyền dữ liệu ngay cả khi hầu hết các nút ngủ và không chuyển tiếp các gói tin cho nút khác Một cách tiếp cận quan trọng để tối ưu hóa năng lượng hoạt động là phương pháp phân phối tải Trong khi trọng tâm chính của hai phương pháp trên là để giảm thiểu tiêu hao năng lượng của từng nút riêng biệt, mục tiêu chính của phương pháp phân bổ tải trọng là để cân bằng việc sử dụng năng lượng giữa các nút và

để tối đa hóa tuổi thọ mạng bằng cách tránh việc sử dụng thường xuyên một số nút mạng nhất định khi lựa chọn một con đường định tuyến, dù tuyến đi qua các nút đó là tuyến tối ưu

Dựa trên những nghiên cứu trình bày ở trên luận văn của tôi sẽ tập trung nghiên cứu việc cải thiện sử dụng năng lượng trong mạng MANET dựa trên hai giao thức định tuyến AODV- MAODV

Trang 15

1.2.3 Vấn đề đảm bảo chất lượng dịch vụ

1.2.3.1 Giới thiệu

QoS (Quality of Service) là khả năng giúp cho việc truyền dữ liệu với thời gian trễ, tỉ lệ mất/ lỗi gói tin nằm trong phạm vi cho phép và cung cấp băng thông đủ lớn cho những ứng dụng truyền thông đa phương tiện thời gian thực

Vấn đề chất lượng dịch vụ được nghiên cứu và triển khai áp dụng trên môi trường mạng Internet và các mạng khác từ khá lâu, các vấn đề chính được đề cập đến hiện nay như định tuyến có QoS, đảm bảo QoS bằng cách kiểm soát truy cập và đặt trước tài nguyên

Mạng MANET và mạng có dây truyền thống có sự khác biệt cơ bản về tính di động, hạ tầng mạng, nguồn năng lượng của các nút mạng và khả năng tự tổ chức giữa các kiến trúc mạng Sự khác biệt này làm nảy sinh rất nhiều khác biệt và yêu cầu cải tiến trong những mảng bài toán mô hình hóa, điều khiển môi trường truyền, định tuyến, bảo mật, tổ chức thông tin, đảm bảo chất lượng dịch vụ, tiết kiệm năng lượng cho nguồn…

Dựa trên những đặc điểm đó, chúng tôi đưa ra một số đề xuất khi tiếp cận nghiên cứu về đảm bảo chất lượng dịch vụ trên mạng MANET

1.2.3.2 Tham số đặc trưng QoS

Sau đây là tham số đặc trưng sẽ được sử dụng để đánh giá chất lượng dịch vụ trong mạng MANET:

 Thông lượng tối thiểu: (đơn vị kbps):

 Độ trễ tối đa (đơn vị là s): Thời gian độ trễ lớn nhất của một gói dữ liệu

 Jitter: Độ lệch của độ trễ hay biến động trễ

 PDR (Packet Delivery Ratio): Tỷ lệ phân phát gói tin đến đích thành công

1.3 Mục tiêu nghiên cứu luận văn

Việc sử dụng mạng mọi lúc mọi nơi và không phụ thuộc vào vị trí vật lý mạng không dây đặc biệt MANET cho phép các máy tính di động thực hiện các kết nôi truyền thông với nhau không cần dựa vào cơ sở hạ tầng có sẵn Tuy nhiên, bởi cấu trúc mạng

Trang 16

MANET có thể thường xuyên thay đổi do các nút có thể gia nhập hoặc rời bỏ mạng nên

để cho mạng có thể hoạt động thì tất cả các nút thi tất cả các nút cần phải thực hiện chức năng tương đương với một bộ định tuyến Vấn đề định tuyến tại tầng mạng được quan tâm nhiều nhất và cần giải quyết hai vấn đề cơ bản là tìm đường từ nút phát đến nút nhận và làm thế nào để duy trì tuyến đường đó Việc nghiên cứu giải quyết bài toán định tuyến thường gắn với việc tiết kiệm năng lượng Kèm theođó khi truyền thông đa phương tiện thành một nhu cầu quan trọng thì việc nghiên cứu vấn đề đảm bảo chất lượng dịch vụ cũng gắn với nghiên cứu các thuật toán định tuyến

Chính vì vậy, tôi chọn đề tài nghiên cứu: “Định tuyến có đảm bảo chất lượng dịch

vụ và tối ưu hóa năng lượng trong mạng MANET” Luận văn bao gồm mục đích sau:

 Nghiên cứu các đặc điểm mạng MANET

 Nghiên cứu các giao thức định tuyến, giao thức định tuyến có đảm bảo QoS trong mạng MANET Tôi tập trung chủ yếu vào việc nghiên cứu giao thức định tuyến DSDV, AODV, M-AODV

 Đánh giá khả năng năng tiêu thụ năng lượng của giao thức trên

Trang 17

CHƯƠNG 2: MỘT SỐ GIAO THỨC ĐỊNH TUYẾN TRONG MANET 2.1 Giao thức DSDV (Destination – Sequenced Distance – Vector)

Là một trong những giao thức đầu tiên được phát triển cho mạng Adhoc DSDV là một biến thể của giao thức định tuyếndistance vector theo kiểu chủ ứng (proactive), dựa trên ý tưởng của thuật toán định tuyến kinh điển Bell – Man –Ford với một chút cải tiến Cải tiến mới của DSDV là sử dụng kỹ thuật đánh số sequence number Kỹ thuật này dùng để nhận ra các con đường đi không còn giá trị trong quá trình cập nhật bảng định tuyến, do đó, sẽ tránh được vòng lặp trong quá trình định tuyến Mỗi nút sẽ tăng số sequence number khi gửi thông tin về bảng định tuyến của nó cho các nút khác trong mạng Các cơ chế trong DSDV:

 Quản lý bảng định tuyến: Mỗi nút luôn duy trì một bảng định tuyến đến các nút khác trong mạng Thông tin của mộtmục trong bảng định tuyến bao gồm:

 Địa chỉ của nút đích

 Số hop đến đích (hop – count)

 Next hop

 Số sequence number của nút đích

Để đảm bảo cho bảng định tuyến luôn luôn phù hợp với những thay đổi trong mạng thì các nútphải thường xuyên cậpnhật bảng định tuyến theo một khoảng thời gian nhất định khi mạng có sự thay đổi Do đó, các nút phải quảng bá thông tin định tuyến của nó cho các nút khác trong mạng bằng cách quảng bá (broadcast) những thay đổi trong bảng định tuyến của nó Khi một nút nhận gói tin cập nhật bảng định tuyến, nó sẽ kiểm tra số sequence number trong gói tin được cập nhật, nếu số này lớn hơn hoặc bằng với số sequence number trong bảng định tuyến và số có hopcount nhỏ hơn thì nút sẽ cập nhật thông tin đó vào bảng định tuyến.Ví dụ: DSDV cập nhật các số thứ tự định kì để cập nhật đầy đủ và nhanh chóng các thay đổi về thông tin định tuyến Giả sử nút X nhận được thông tin định tuyến của nút Y về một tuyến đường tời nút Z

Hình 2-1 Ví dụ định tuyến của DSDV

Trang 18

Cho S(X) và S(Y) biểu thị số thứ tự điểm đến nút Z được lưu trữ tại X, nếu Y gửi bảng định tuyến của nó tới X, tương ứng, nút X sẽ thực hiện so sánh như sau:

-Nếu S(X) > S(Y), thì X sẽ bỏ qua những thông tin định tuyến nhận được từ Y

-Nếu S(X) =S(Y), thì chi phí để qua Y nhỏ hơn so với các tuyến đường đến X, như vậy

Y sẽ đi thẳng tới Z

-Nếu S(X) < S(Y), S(X) sẽ cập nhật số thứ tự sao cho bằng với số thứ tự của S(Y) và đi đến Z

 Cách thức cập nhật bảng định tuyến trong DSDV

Bảng định tuyến sẽ được cập nhật theo hai cách:

Thứ nhất, cập nhật toàn bộ bảng định tuyến cho các nút láng giềng và có thể phải truyền trong nhiều packet, gọi là full-dump

Thứ hai, cập nhật các phần thay đổi trong bảng định tuyến của nó cho các nút láng giềng và thông tin thay đổi chỉ được gửi đi trong một packet, gọi là incremental – update

Đối với một mạng Adhoc tương đối ổn định, thì kiểu cập nhật incremental – update sẽ thường được sử dụng để hạn chế lưu lượng truyền trên mạng Trong khi đó, full – dump sẽ được dùng trong những mạng thiếu ổn định

 Quản lý sự thay đổi của Topology

Khi một nút di chuyển từ nơi này đến nơi khác thì các liên kết của nó với các nút láng giềng có thể không còn hiệu lực Khi một nút phát hiện rằng liên kết đến chặng kế tiếp (next hop) của nó không còn tồn tại thì đường đi qua next hop đó lập tức sẽ có hop-count là

∞ và số sequence number được tăng lên 1 Sau đó nút sẽ phát broadcast thông tin đó cho tất

cả các nút trong mạng và các nút sẽ cập nhật lại bảng định tuyến của mình

Ưu điểm của DSDV là đảm bảo không có đường định tuyến kín (không có vòng lặp định tuyến) bằng cách sử dụng số thứ tự để đánh dấu mỗi đường Số thứ tự cho biết mức độ “mới” của đường định tuyến, số càng lớn thì mức độ đảm bảo càng cao (đường

R được coi là tốt hơn R’ nếu số thứ tự của R lớn hơn, trong trường hợp có cùng số thứ

tự thì R phải có số bước nhỏ hơn) Số thứ tự sẽ tăng khi nút A phát hiện ra đường đến

Trang 19

đích D đị phá vỡ, sau đó nút A quảng bá đường định tuyến của nó tới nút D với số bước không giới hạn và số thứ tự sẽ tăng lên

DSDV phụ thuộc vào thông tin quảng bá định kỳ nên nó sẽ tiêu tốn thời gian để tổng hợp thông tin trước khi đường định tuyến được đưa vào sử dụng Thời gian này là không đáng kể đối với mạng có cấu trúc cố định nói chung (bao gồm cả mạng có dây), nhưng với mạng Adhoc thời gian này là đáng kể, có thể gây ra mất gói tin trước khi tìm

ra được định tuyến hợp lý Ngoài ra, bản tin quảng cáo định kỳ cũng là nguyên nhân gây

ra lãng phí tài nguyên mạng, như băng thông, điện năng, thời gian xử lý

2.2 Giao thức AODV

2.2.1 Tổng quan về giao thức AODV

Giao thức AODV sử dụng một cách tiếp cận hoàn toàn mới so với các phương pháp truyền thống để xây dựng các đường đi trong mạng Khi một nút mạng muốn gửi một gói tin tới một nút nào đó, nó sẽ khởi tạo tiến trình xử lý phát hiện đường (discovery) để định vị nút đích Nếu không có một đường đi nào được tìm thấy trong một khoảng thời gian xác định, nút khởi tạo sẽ cho rằng không tồn tại đường đi tới nút đích,tiến trình xử lý phát hiện đường (discovery) sẽ kết thúc đồng thời các gói tin tương ứng sẽ hủy bỏ Ngược lại, nếu nútkhởi tạo tìm được một đường đi phù hợp, nó sẽ cập nhật đường đi này vào bảng định tuyến của nó như một đầu vào (entry) tương ứng với nút đích

Khi một đầu vào mới được tạo ra, tiến trình xử lý việc duy trì (mainternance) tuyến cũng đồng thời được kích hoạt để giám sát tình trạng của đường đi vừa được tạo

ra, nếu sau một khoảng thời gian đủ lớn mà đường đi không được sử dụng, nút mạng sẽ xóa đường đi này ra khỏi bảng định tuyến Nếu có lỗi xuất hiện trên một đường đi có trạng thái tích cực, nút mạng phát hiện chặng có lỗi sẽ lập tức thông báo ngược lại cho nút lân cận ở phía đầu tuyến về chặng bị lỗi bằng một gói tin điều khiển cụ thể Trong trường hợp nhận được gói thông báo lỗi trên, các nút mạng chịu ảnh hưởng sẽ khởi động lại tiến trình discovery để tìm đường đi thay thế nếu cần thiết

AODV quản lý các thông tin về đường đi theo kiểu phân tán Điều này có nghĩa

là mỗi nút trên đường đi sẽ có một thành phần trong bảng định tuyến tương ứng với nút đích của đường đi đó Cách quản lý này hoàn toàn trái ngược với phương pháp source

Trang 20

routing (tìm đường từ nút nguồn) trong đó chỉ có nút nguồn mới biết đường đi đầy đủ tới nút gốc AODV cũng cho phép mỗi nút chỉ duy trì một và chỉ một đường đi ứng với mỗi nút đích Tuy nhiên có một số giao thức tìm đường khác cho phép tìm nhiều đường ứng với mỗi nút đích Trong trường hợp, đường đi ban đầu bị lỗi, đường đi thay thế sẽ được sử dụng

Các thành phần của bảng định tuyến trong giao thức AODV được định dạng bao gồm các trường như sau:

<địa chỉ nút đích, địa chỉ chặng tiếp theo, số thứ tự, khoảngcách, danh sách các nút trước đó (precursor), ngày hết hạn >

+ Trường số thứ tự được sử dụng để ngăn chặn sự hình thành các vòng lặp và thể hiện mức độ cập nhật của các đường đi

+ Khoảng cách là số các bước truyền Khi một đường đi mất hiệu lực, số thứ

tự của nó sẽ tăng lên một và khoảng cách sẽ được đặt là vô cùng

+ Danh sách precursor chứa tập hợp các nút lân cận, sử dụng thành phần này

để chuyển tiếp các gói dữ liệu

+ Thời gian hết hạn được sử dụng để xác định thời gian tồn tại tối đa của thành phần, sau hạn đó nó sẽ bị xóa bỏ khỏi bảng định tuyến Tất nhiên giá trị của trường này sẽ được tăng lên mỗi lần thành phần này được sử dụng

2.2.2 Cơ chế hoạt động

2.2.2.1 Tiến trình Discovery

Tiến trình Discovery là một phương pháp kỹ thuật cho phép từng nút nguồn trong một mạng MANET có thể định vị (lấy được địa chỉ IP) một nút đích Tất nhiên, một nút khởi động tiến trình Discovery chỉ khi nút đích chưa từng được định vị trước đó hoặc không có thành phần nào trong bảng định tuyến tương ứng với nút đích Nếu đã có một thành phần tồn tại trong bảng định tuyến, gói tin sẽ lập tức được chuyển đi và bước thực hiện tiến trình Discovery được bỏ qua

Khi một nút khởi động cho tiến trình Discovery, nó phải gửi đi một gói tin yêu cầu tìm đường -RREQ (route request) tới tất cả các nút lân cận Gói tin này được lan truyền tới tất cả các nút khác trong mạng khi một đường đi được xác định

Trang 21

2.2.2.2 Tạo Route Request:

Nếu một nút nguồn S muốn tìm một nút đích D trong mạng MANET, S sẽ thông báo cho tất cả các nút khác trong mạng biết nó đang tìm kiếm nút D bằng cách gửi đi gói tin RREQ tới tất cả các nút lân cận RREQ chứa địa chỉ IP và số thứ tự của

cả nguồn và đích Số thứ tự đích tham chiếu đến số thứ tự của đường đi cuối cùng tới nút D mà nút S biết Nếu nút nguồn S không dò được một số thứ tự nào của đường đi tới nút D thì số thứ tự đích được đặt mặc định bằng 0

Cấu trúc gói tin RREQ:

<địa chỉ nguồn, thứ tự nguồn#, BROADCAST ID, địa chỉ đích, thứ tự đích#, hop-count>

Mỗi nút trong mạng khi nhận được gói tin RREQ sẽ lập tức lan truyền tiếp tới các nút lân cận của nó cho đến khi gói tin RREQ tới được nút D hoặc một nút nào đó biết một đường đi đầy đủ và cập nhật tới nút D ( dựa vào số thứ tự đích trong gói tin RREQ)

Gói tin RREQ còn chứa hai trường khác là TTL (TIME TO LIVE) và BROADCAST ID Trường TTL cho phép tiến trình Discovery điều khiển mức độ lantruyền của gói tin RREQ trong mạng Lấy ví dụ như một gói tin RREQ có trường TTL được đặt bằng 2 sẽ thực hiện nhiều nhất 2 bước truyền tính từ nút gốc Khi gói tin RREQ truyền đi, nút nguồn sẽ đặt giá trị cho trường TTL và chuyển vào trạng thái chờ Khoảng thời gian chờ của nút gốc tương ứng với giá trị của trường TTL trong

Hình 2-2: Quá trình lan truyền của gói tín RREQ

Trang 22

gói tin RREQ Nếu không có gì thay đổi, một đường đi được tìm thấy trước khi thời gian chờ kết thúc thì tiến trình khám phá tuyến đường (Discovery) kết thúc thành công Ngược lại, nếu trong khoảng thời gian chờ của nút nguồn nó không nhận được một gói tin trả lời nào, nút nguồn sẽ gửi lại một gói tin RREQ mới và tiếp tục chờ đợi Tất nhiên gói tin mới sẽ cần có giá trị của trường TTL lớn hơn và thời gian chờ đợi cũng kéo dài hơn vì thế gói tin RREQ sẽ lan truyền đến được nhiều nút mạng hơn Nếu vẫn không nhận được trả lời, nút nguồn sẽ gửi tiếp một gói tin RREQ với giá trị tối đa của trường TTL Sau lần này, tiến trình Discovery sẽ bị hủy bỏ Kỹ thuật này còn được gọi là kỹ thuật mở rộng dần vòng tìm kiếm

Ngoài ra mỗi gói tin RREQ còn được gán một số thứ tự được gọi là BROADCAST ID Trường này được dùng cho các nút mạng phân biệt các gói tin nhận được có phải xuất phát từ cùng một nút hay không và nó được nút gửi RREQ tăng lên sau mỗi lần truyền đi Một cặp <địa chỉ IP nguồn, BROADCAST ID> là duy nhất cho mỗi gói tin RREQ và các gói tin có giá trị của BROADCAST ID lớn hơn thì mới hơn Khi một nút nhận được một gói tin RREQ nó sẽ ghi nhớ giá trị của trường BROADCAST ID Sau đó nếu nút đó tiếp tục nhận được các gói tin RREQ từ cùng một nút nguồn thì chỉ những gói tin có giá trị BROADCAST ID lớn hơn mà nó đã ghi nhớ mới được tiến hành xử lý Các gói tin có giá trị nhỏ hơn sẽ bị hủy bỏ

Trong mỗi gói tin RREQ còn có trườnghop-count được dùng để ghi số bước truyền mà gói tin đã được truyền qua

2.2.2.3 Chuyển tiếp Route Request

Giả sử trường hợp một nút I nhận được một gói tin RREQ xuất phát từ nút nguồn S, yêu cầu tìm đường tới nút đích D Đầu tiên nút I sẽ kiểm tra giá trị của trường BROADCAST ID nhỏ hơn hoặc bằng giá trị mà nút đã ghi nhớ trước đó, nếu giá trị này nhỏ hơn, gói tin RREQ sẽ bị hủy bỏ Trong trường hợp ngược lại, nút I sẽ xử lý gói tin RREQ Trước hết nó sẽ tạo hoặc cập nhật lại đường đi ngược tới nút S (hình2-3 dưới đây mô tả tất cả các đường đi được tạo ra khi gói tin RREQ lan truyền trong mạng) Đường đi này được sử dụng để chuyển thông báo trả lời – Route Reply trở lại nút S trong trường hợp đường đi tới nút D được tìm thấy

Trang 23

Sau khi một đường đi ngược được tạo ra, nút I sẽ kiểm tra xem nó có biết một đường

đi đầy đủ và cập nhật tới nút D hay không Nếu có nút I sẽ tạo ra một gói tin trả lời (route reply packet) và gửi ngược lại theo đường đi ngược vừa tạo ra Khi đó gói tin RREQ không cần phải tiếp tục phát quảng bá đi nữa Trong trường hợp ngược lại, nếu không biết một đường đi tới nút D, nút I sẽ tiếp tục lan truyền gói tin RREQ TrườngTTL trong gói tin RREQ sẽ bị giảm đi một, và nếu nó bằng 0, việc lan truyền sẽ chấm dứt Nếu vẫn tiếp tục được lan truyền, trườnghop-count trong gói tin sẽ được tăng lên một

2.2.2.4 Tạo Route Reply

Khi một nút mạng biết một đường đi đầy đủ và cập nhật (hoặc nó chính là nút đích hoặc bảng định tuyến của nó có một thành phần tương ứng với nút đích), nó sẽ tạo một gói tin trả lời RREP gửi ngược lại tới nút nguồn

Gói tin RREP sẽ chứa địa chỉ IP của cả nút nguồn và nút đích và số thứ tự củađường đi vừa tìm được Gói tin này cũng có trường count và trường lifetime (thời gian sống) chứa giá trị tương ứng với thời gian có hiệu lực của đường đi (nếu sau khoảng thời gian đó đường đi không được sử dụng nó sẽ bị xóa)

Hình 2-3 Đường đi ngược được tạo ra khi RREQ lan truyền trong môi trường

Trang 24

2.2.2.5 Chuyển tiếp Route Relay

Như trong hình, đường đi từ nút nguồn tới nút đích (forward path) được tạo ra khi gói tin trả lời RREP được truyền đi ngược từ nút đích về nút nguồn Mỗi nút nhận được gói tin RREP sẽ tạo ra trong bảng định tuyến của mình một thành phần tương ứng với nút đích D Hai trường số thứ tự và khoảng cách trong thành phần mới tạo ra sẽ nhận giá trị của số thứ tự đích và trường count trong gói tin RREP.Chặng tiếp theo là nút cuối cùng vừa chuyển tiếp gói tin RREP

Nếu gói tin RREP tới được nút nguồn S, nút S sẽ tạo một thành phần trong bảng định tuyến tương ứng với nút đích D và tự động hủy bỏ gói tin RREQ Tiến trìnhDiscovery cũng kết thúc và một đường đi mới được thiết lập

2.2.3 Quản lý cục bộ

Khi một đường đi tới nút đích được hình thành, mỗi nút mạng có thể sử dụng một số kỹ thuật để giám sát trạng thái của đường đi đó Nói một cách khác mỗi nút nằm trên đường đi sẽ cố gắng đảm bảo bước truyền tiếp theo trên đường đi luôn trong trạng thái sẵn sàng Nếu bước truyền tiếp theo ở trạng thái tích cực thì đường đi tương ứng vẫn có giá trị Trong trường hợp ngược lại, nút hiện thời phải lập tức thông báo cho các nút nằm trước nó trên đường đi

Quá trình giám sát tình trạng các tuyến trong mạng có thể được thực hiện theo hai phương pháp khác nhau: Proactive hoặc Reactive Đối với phương pháp Proactive,

nó sẽ sử dụng một số kiểu hoạt động đề phòng Mỗi nút mạng sẽ liên tục giám sát trạng thái thực tế của các nút lân cận bằng cách cập nhật bản đồ kết nối cục bộ (local

Hình 2-4: Đường đi từ nút nguồn và nút đích được hình thành

Trang 25

connective map) Bất cứ khi nào nhận được một gói tin thông báo (broadcast packet) gửi đến, nút hiện thời sẽ tiến hành cập nhật hoặc tạo mới thành phần trong bảng định tuyến tương ứng với nút gửi thông báo Thành phần này có thời gian sống – lifetime ngắn, tương ứng với khoảngcách thời gian lớn nhất mà một nút lân cận được cho phép giữ im lặng trước khi nút hiện thời cho rằng nút này đã mất giá trị Do đó, khi một nút lân cận vẫn ở trạng thái tích cực, thành phần tương ứng với nó trong bảng định tuyến của nút hiện thời vẫn có giá trị Trong trường hợp lifetime hết hạn mà không có thông báo mới, nút hiện thời sẽ cho rằng liên kết đã bị phá vỡ và thủ tục thông báo lỗi liên kết (link failurenotification procedure) lập tức được gọi Tuy nhiên tình trạng ''im lặng'' của một nútcó thể không phản ánh đúng trạng thái hiện tại của nó, do đó để đảm bảo tính chínhxác, AODV còn sử dụng thêm một bản tin (message) '' hello '' Khi không nhận được các gói tin thông báo trạng thái của các liên kết, nút hiện thời sẽ gửi message ''hello'' đến các nút lân cận để kiểm tra tình trạng thật sự của các nút đó

Phương pháp giám sát thứ hai được gọi là phương pháp Reactive Theo phương pháp này các liên kết bị phá vỡ chỉ bị phát hiện khi có việc truyền dữ liệu Trong trường hợp này, lỗi liên kết được phát hiện muộn, điều này không phù hợp với mục đích của mạng MANET bởi nó rất dễ gây ra tình trạng quá tải cho mạng

2.2.4 Duy trì đường đi

Khi một lỗi kết nối được phát hiện, các nút mạng sẽlan truyền ngược gói tin báo lỗi RERR (Route Error) Gói tin RERR chứa danh sách các nút đích bị mất và số thứ tựtương ứng của chúng được tăng lên một Khi nhận được một gói tin RERR, các nút chịu ảnh hưởng sẽ cập nhật lại bảng định tuyến của nó

Đối với mỗi nút đích trong gói tin RERR, nút hiện thời sẽ đặt lại giá trị cho trường khoảng cách thành vô cùng và cập nhật trường số thứ tự bằng cách sao chép số thứ tự của các nút tương ứng trong gói tin RERR Ngoài ra, nếu trường precursor của nút hiện thời chưa rỗng, gói tin RERR sẽ tiếp tục được truyền ngược lại

Chú ý rằng các nút sẽ chỉ cập nhật lại bảng định tuyến nếu gói tin RERR mà nónhận được xuất phát từ bước truyền tiếp theo của nó trên đường đi tới nút đích Ví dụ như trong hình 2.5, nút 1' nhận được gói tin RERR thông báo đương đi tới nút D bị lỗi Nhưng nút 1' sẽ không cập nhật lại bảng định tuyến của nó ( thực tế đường đi từ 1'

Trang 26

đếnD không có sự cố ) vì gói tin RERR đó được gửi từ nút 2, mà nút 2 không phải là bướctruyền tiếp theo của nút 1' trên đường đi tới nút D Do đó ở nút 1', gói tin RERR sẽ

bị hủy bỏ

2 2.5 T h ờ i gi a n h ế t h ạ n v à v i ệ c h ủy b ỏ m ộ t đ ư ờ n g đ i

Trong mô hình AODV nếu một đường đi có trạng thái tích cực không được sử dụng sau một thời gian nhất định nó sẽ bị hủy bỏ Do đó nếu một đường đi có trạng thái tích cực không được sử dụng trong thời gian cho phép ACTIVE_ROUTE_TIMEOUT thì nút hiện tại sẽ hủy bỏ bằng cách tăng số thứ tự của đường đi và thiết lập giá trị của trường count lên thành vô cùng Tuy nhiên thành phần tương ứng với đường đi đó trong bảng định tuyến không bị xóa bỏ hẳn khỏi bảng định tuyến, nó chỉ được đánh dấu hết hạn sử dụng Trên thực tế, thành phần này vẫn tồn tại trong bảng thêm một khoảng thời gian DELETE_PERIOD trước khi bị xóa hoàn toàn

Lý do đằng sau của việc có thêm một khoảng thời gian DELETE_PERIOD là

để cho nút mạng có thể giữ được số thứ tự của đường đi đó mức lâu nhất có thể

2.3 Phân tích giao thức AODV

2.3.1 Modified AODV (MAODV)

2.3.1.1 Giới thiệu

Trong mạng AODV có 2 nguyên nhân chính dẫn đến việc mất dữ liệu là liên kết

bị hỏng và hàng đợi bị tràn đầy khi ở một nút trung gian

Hình 2-5: Lan truyền gói tin RERR

Trang 27

Nguyên nhân 1: Hỏng liên kết Do đặc trưng của mạng MANET là khả năng di động của các nút mạng sẽ dẫn đến việc sự thay đổi cấu trúc (topology) của mạng thường xuyên.Sự thay đổi này có thể làm gãy liên kết giữa hai nút nằm trên tuyến đường đang truyền dữ liệu từ nguồn đến đích Trong quá trình truyền dữ liệu nút nguồn chưa có thể xác định được tuyến đường bị đứt nên vẫn truyền dữ liệu Điều này dẫn đến việc mất dữ liệu

Nguyên nhân thứ 2: Khi một liên kết nằm trên tuyến đường bị hỏng thì nút sẽ bắt đầu quá trình sửa chữa địa phương, do nút nguồn không biết việc này nên vẫn tiếp tục gửi dữ liệu đến đích Khi đó dữ liệu sẽ bị giữ lại ở một bộ đệm của một nút cạnh liên kết

bị hỏng, nếu tình trạng này kéo dài thì bị tràn bộ đệm, các gói tin bị loại bỏ và không thểliệu đến đích

2.3.1.2 Giao thức MAODV (Modified AODV)

Trong giao thức này sẽ được thêm thông tin vào các gói tin điều khiển và sau đó

sẽ tìm kiếm và khám phá tất cả các tuyến đường Tuyến đường có số hop count bé nhất

sẽ được lựa chọn Trong giao thức mới này thì hai gói tin RREQ và RREP sẽ được định tuyến bằng cách phát quảng bá

Khi một nút có nhu cầu truyền dữ liệu nó sẽ kiểm tra trong bảng định tuyến xem

có đường nào tới đích không Nếu không có nó sẽ triển phải việc khám phá đường tới đích bằng cách phát các gói tin RREQ

Khi một nút bất kỳ nhận được gói tin RREQ thì nó sẽ kiểm tra xem trong bảng định tuyến của nó có đường nào tới đích không Nếu có thì nó sẽ trả lời bằng cách gửi

Hình 2-6: Khám phá tuyến trong MAODV

Trang 28

gói tin RREP trở về nguồn Nếu không có nó sẽ phát quảng bá gói tin RREP đến các hàng xóm của nó để có thể tìm thấy các tuyến đường có thể

Hình 2-7: Minh họa việc gửi các gói tin RREP về nút nguồn

Ở đây những tuyến đường sẽ được lựa chọn là:(S, N1, N3, N6, D) (S, N1, N4, N6, D), (S, N1, N4,N7, D), (S, N2, N5, N7, D), (S, N2, N4, N6, D), (S, N2, N5, N4, N6, D) và (S, N2, N5 , N4, N7, D) Khi chỉ với nút N4 thực hiện, những tuyến đường qua đó

sẽ không có hiệu lực Những tuyến đường sẽ được lựa theo mức độ thấp nhất là: (S, N1, N3, N6, D), (S, N2, N5, N7, D) Một đường sẽ là đường chính và một đường sẽ đường

dự phòng (thay thế)

Quá trình quản lý tuyến sẽ do nút nguồnđảm nhiệm và các nút trung gian chỉ có trách nhiệm chỉ vào bảng định tuyến của chúng Với những liên kết bị lỗi, nguồn dừng truyền tải và sẽ hoạt động trở lại sau khi tìm và chọn lựa được một con đường từ những con đường có sẵn chưa dùng của nó

Giao thức này có một sự ràng buộc: số tuyến đường được lựa chọn sẽ được nhận trong một khoảng nhỏ hơn hoặc bằng với n0 với ngưỡng là s0 Một khi ngưỡng đạt được trong truyền tải dữ liệu, thì giai đoạn khám phá tuyến mới được khởi tạo để xác định tuyến đường khác cho đến khi đạt “n0” Về mặt lý thuyết giải pháp này tạo ra một chi phí khá lớn nhưng có lợi thế là các tuyến đường để truyền bất cứ lúc nào cũng có Trong AODV ban đầu khi con đường bị hỏng, giai đoạn sửa chữa địa phương được khởi xướng và nếu thất bại được tuyên bố thì giai đoạn khám phá mới được tiến hành

Giai đoạn bảo trì tuyến đường vẫn theo quy tắc tương tự như AODV ban đầu bằng cách sử dụng gói tin “Hello”

Trang 29

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 lập mỗi nút mạng 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ínhxá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íchcác tệp vết sự kiện (trace file) đƣợc tạo ra

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 nayvà mức độ phổ biến của mỗi phần mềm trong vấn đề mô phỏng và nghiên cứu các mạng

Hình 3-1: Mức độ phổ biến của các

Trang 30

Trong chương này tôi sẽ đi sâu nghiên cứu về phần mềm NS-2 (Network Simulator 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 Adhoc Networking (ADHOCs), các mạngcảm biến và cả mạng vệ tinh

3.2 Đại cương về NS-2

3.2.1 Các chức năng mô phỏng của NS-2

– Đố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

+ Các mô hình đảm bảo chất lượng dịch vụ QoS: IntServ và Differv

– Đối với mạng không dây:

+Định tuyến cho mạng Adhoc (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

Trang 31

– Quá trình xử lý: Phân tích file trace với các công cụ của UNIX hoặcGNU/LINUX như AWK,Perl,Tcl,minh họa bằng hìnhảnh với Xgraph

+ 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 -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 gian hóa cách nhìn người sử dụng

Trang 32

Theo quan điểm người dùng thuần túy , NS là mô ̣t bô ̣ thông di ̣ch các ki ̣ch bản Tcl hướng đối tượng NS gồm có các bô ̣ đi ̣nh trình các sự kiê ̣n mô phỏng , các thư viê ̣n đối tươ ̣ng thành phần ma ̣ng , thư viê ̣n các m odule ta ̣o lâ ̣p ma ̣ng (thực tế viê ̣c kết nối các module đươ ̣c thực hiê ̣n bằng các hàm thành viên của các đối tượng mô phỏng cơ bản )

Khi sử du ̣ng NS -2, người dùng phải lâ ̣p trình b ằng ngôn ngữ kịch bản Tcl Để tạo lập và triển khai một mạng mô phỏng , người dùng viết mô ̣t ki ̣ch bản Tcl để khởi ta ̣o

mô ̣t bô ̣ đi ̣nh trình sự kiê ̣n , thiết lâ ̣p topo ma ̣ng thông qua viê ̣c sử du ̣ng các đối tượng thành phần mạng v à các hành liên kết trong các thư viện của NS Viê ̣c thiết lâ ̣p mô ̣t mạng là ghép nối các đường dữ liệu giữa các đối tượng mạng bằng cách đặt con trỏ của

mô ̣t đối tượng này tới đi ̣a chỉ của mô ̣t đối tượng khác tương ứng Khi muốn ta ̣o mô ̣t đối tươ ̣ng ma ̣ng mới, thì người dùng có thể tạo ra đối tượng đó bằng cách xây dựng một đối tươ ̣ng mới hoă ̣c tổ hợp các đối tượng có sẵn trong các thư viê ̣n đối tượng của NS và ta ̣o

ra các đường liên kết dữ liê ̣u giữa chúng

Mô ̣t thành phần quan tro ̣ng của NS (bên ca ̣nh các đối tượng ma ̣ng ) là bộ định trình sự kiện Mô ̣t sự kiê ̣n trong NS là mô ̣t mã nhâ ̣n da ̣ng gói , mã này là duy nhất đối với mô ̣t gói, sự kiê ̣n được đi ̣nh thời và gắn với một con trỏ trỏ đến đối tượng sẽ xử lý sự kiê ̣n đó Trong NS, bô ̣ đi ̣nh trình sự kiê ̣n giám sát toàn bô ̣ thời gian mô phỏng , quản lý

và kích hoạt các sự kiện theo một hàng đợi Khi mô ̣t sự kiê ̣n được kích hoa ̣ t, bô ̣ đi ̣nh trình sẽ gọi tới thành phần đối tượng mạng xử lý tương ứng (thường cũng là đối tượng tạo ra sự kiện đó ), cho phép đối tượng này thực hiê ̣n các tác vu ̣ thích hợp lên gói gắn với sự kiê ̣n Các thành phần đối tượng ma ̣ng truyền thông với nhau bằng cách trao đổi các gói Về nguyên tắc , tất cả các thành phần ma ̣ng luôn cần phải có mô ̣t khoảng thời gian nhất đi ̣nh để xử lý gói (trễ) Trễ này được thể hiê ̣n thông qua viê ̣c sử du ̣ng c ác bộ

đi ̣nh trình sự kiê ̣n : gửi đi mô ̣t sự kiê ̣n gắn với gói và chờ sự kiê ̣n đó được kích hoa ̣t trở lại trước khi xử lý các gói tiếp theo Ví dụ: mô ̣t thành phần ma ̣ng mô phỏng mô ̣t thiết bi ̣ chuyển ma ̣ch gói với 20 ms trễ, nó sẽ gửi đi một sự kiện trễ 20 ms gắn với gói cần phải chuyển ma ̣ch tới bô ̣ đi ̣nh trình sự kiê ̣n, bô ̣ đi ̣nh trình sau 20 ms sẽ đưa sự kiê ̣n đó ra khỏi hàng đội và kích hoạt nó trở lại thành phần mạng chuyển mạch , thành phần chuyển mạch sẽ thực hiện việc chuyển gói tương ứng tới đối tượng liên kết đầu ra của nó

Mô ̣t ứng du ̣ng nữa của bô ̣ đi ̣nh trình sự kiê ̣n là ta ̣o ra các bô ̣ đi ̣nh thời VD: giao thức TCP cần bô ̣ đi ̣nh thời để giám sát thờ i gian chờ khi phát đi mô ̣t gói nhằm thực hiê ̣n

Trang 33

viê ̣c phát la ̣i gói Khi đó, bô ̣ đi ̣nh thời sử du ̣ng bô ̣ đi ̣nh trình tương tự như trong trường

hơ ̣p giả lâ ̣p trễ, sự khác biê ̣t duy nhất là bô ̣ đi ̣nh thời đo giá tri ̣ thời gian gắn vớ i mô ̣t gói, thực hiê ̣n các tác vu ̣ liên quan đến gói đó sau mô ̣t khoảng thời gian nhất đi ̣nh trôi qua

mà không thực hiện việc mô phỏng trễ

NS đươ ̣c viết bằng hai ngôn ngữ OTcl và C ++ Để đảm bảo tính hiê ̣u quả NS phân chia đường dữ liê ̣u và đường điều khiển riêng biê ̣t Để giảm thời gian chương trình xử lý các sự kiê ̣n và gói (thời gian này không phải thời gian mô phỏng ),thì bộ định trình sự kiê ̣n và các đối tượng ma ̣ng cơ bản trong đường dữ liê ̣u đ ược viết và biên dịch bằng ngôn ngữ C++ Các đối tượng sau biên dịch vẫn có thể được sử dụng bởi bộ thông dịch Otcl thông qua các liên kết Otcl , các liên kết này tạo ra đối tượng OTcl tương ứng cho mỗi đối tươ ̣ng C ++, cũng nh ư ta ̣o ra các hàm và các biến thành viên trong đối tượng Otcl tương ứng với các biến và hàm thành viên trong đối tượng C ++ Bằng cách này viê ̣c điều khiển các đối tượng C ++ có thể được thực hiện thông quan OTcl , ngoài ra ta cũng có thể thêm các biến và hàm thành viên khác vào đối tượng OTcl Các đối tượng đươ ̣c viết bằng C ++ mà không cần thiết phải điều khiển trực tiếp trong quá trình mô phỏng cũng không cần phải liên kết sang OTcl

Mă ̣t khác m ột đối tượng không nằm trên đường số liệu có thể được xây dựnghoàn toàn bằng OTcl Hình 3-3 minh ho ̣a mô ̣t cây phân cấp đối tượng trong C ++ và OTcl

Hình 3-3: Tính đối ngẫu của C++ và Otcl

Trang 34

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 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âncấp đối tượng C++

Hình 3.4 cho thấy kiến trúc chung của NS-2

Trong hình này một người dùng chung (không phải là người phát triển NS-2) có thể đứng ở góc đáy trái và thực thi những kịch bản (scripts) mô phỏng viết bằng ngôn ngữ Tcl sử dụng các đối tượng mô phỏng trong thư viện OTcl Các bộ lập lịch sự kiện mạng 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 quamột liên kết OTcl được thực hiện bởisự sử dụng Tclcl Toàn bộ những cái tạonê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

Trang 35

Hình 3.5 cho thấy một sự phân cấp lớp OTcl bộ phận của NS-2, 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 (bộ lập lịch (Event Scheduler),các thành phần mạng(Network Component),bộ định giờ và các đối tượng khác bao gồm cả NAM).Tương tự như lớp gốc TclOTcl, 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ảnnhư 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ủa mạng có thể có duy nhất một đường dẫn dữ liệu đầu ra nố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 nối với lớp Classifier

Hình 3-6: Nút Unicast và Multicast

Trang 36

Sau 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 (Link):

Một liên kết là một đối tượng cấu thành khác trong NS Khi một người dùng 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 đơn công (Simplex link) theo cả hai hướng được tạo ra:

Một điều cần lưu ý là 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 hàng đợi được đưa tới đối tượng Delay đóng vai trò độ trễ của liên kết, các gói tin bị loại bỏ (drop) tại hàng đợ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

+ Tạo vết (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-7 Liên kết

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

Ngày đăng: 16/03/2020, 22:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w