Tải bản đầy đủ (.docx) (14 trang)

Tìm hiểu các giao thức định tuyến trong MANET

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (678.23 KB, 14 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Đề tài môn học Các giao thức định tuyến:
Tìm hiểu các giao thức định tuyến trong MANET
Giảng viên hướng dẫn: PGS. TS Trương Thị Diệu Linh
Nhóm sinh viên thực hiện:

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI


VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Đề tài môn học Các giao thức định tuyến:
Tìm hiểu các giao thức định tuyến trong MANET
Giảng viên hướng dẫn: PGS. TS Trương Thị Diệu Linh
Nhóm sinh viên thực hiện:

Hà Nội, tháng 4 năm 2018


MỤC LỤC
Mục lục
Lời nói đầu
Tìm hiểu về MANET
Khái niệm
Cấu trúc mạng MANET
Đặc điểm
Mạng gồm các thiết bị di động không dây
Tính tự thiết lập
Đồ hình mạng thay đổi liên tục


Một số đặc điểm khác
Ứng dụng của mạng MANET
Định tuyến trong mạng MANET
Các yêu cầu đối với việc định tuyến
Phân loại các kỹ thuật định tuyến
Các kĩ thuật truyền thống
Link-state
Distance-vector
Các kĩ thuật định tuyến trong mạng MANET
Hướng tiếp cận proactive
Hướng tiếp cận reactive
Giao thức định tuyến AODV
Giới thiệu
Hoạt động của giao thức AODV
Quá trình khám phá tuyến
Khởi tạo đường ngược
Khởi tạo forward-path
Duy trì đường đi
Ví dụ về giao thức AODV

3

3
4
5
5
5
5
6
6

6
6
7
7
8
8
10
10
10
11
11
12


LỜI NÓI ĐẦU
Từ thập kỷ 90 của thế kỷ trước với sự ra đời của kỹ thuật số đã đẩy nhanh sự
phát triển các công nghệ và ứng dụng chúng vào các lĩnh vực đời sống hàng ngày,
đặc biệt là truyền thông và công nghệ thông tin. Các hệ thống truyền thông từ cố
định đến di động đã phủ rộng khắp thế giới làm cho con người khắp nơi trên thế
giới có thể thông tin với nhau mọi lúc, mọi nơi. Tuy vậy, trong một số hoàn cảnh
đặc biệt như thiên tai, động đất, chiến tranh, … ở đó cơ sở hạ tầng viễn thông bị
phá vỡ, lúc đó con người sẽ liên lạc với nhau như thế nào?
Để giải quyết bài toán đó, gần đây một dạng công nghệ mạng ra đời, đó là
MANET (Mobile Ad hoc Network). MANET là một tập hợp các nút mạng di động
không dây, nằm phân tán về mặt địa lý tạo thành một mạng tạm thời mà không sử
dụng bất cứ cấu trúc hạ tầng mạng có sẵn hay quản lý tập trung nào.
Với đặc điểm đó, một loạt thách thức với mạng MANET được đặt ra cần giải
quyết:
Năng lượng: Các phần tử của mạng hoạt động được nhờ nguồn năng
lượng là pin. Vì vậy vấn đề tuổi thọ của pin, công suất pin cần đặc biệt

quan tâm.
Cấu hình mạng không có cấu trúc và biến đổi ngẫu nhiên.
Chất lượng liên lạc thấp.
Băng thông rất hạn chế.
Khả năng mở rộng phải tốt vì mạng có rất nhiều nút mạng.
Với những bài toán cơ bản đó, nhiều giải thuật định tuyến đã được phát triển
nhằm tối ưu hiệu năng của mạng. Trong khuôn khổ đề tài, nhóm sẽ trình bày khái
quát về mạng MANET và giao thức định tuyến AODV.

4


TÌM HIỂU VỀ MANET
I. Khái niệm:
MANET là viết tắt của cụm từ Mobile Ad hoc Network – Mạng di động tùy
biến không dây. Mạng MANET là một tập hợp các nút mạng di động không dây nằm
phân tán về mặt địa lý tạo thành một mạng tạm thời mà không sử dụng bất cứ cấu trúc hạ
tầng mạng có sẵn hay sự quản lý tập trung nào. Môi trường mạng có thể thiết lập dễ dàng
ở bất cứ nơi nào và không tốn nhiều chi phí.
II. Cấu trúc mạng MANET
Do các đặc điểm của mạng MANET (di động, vô tuyến, không dự tính trước) nên
việc xác định các thành phần của một mạng MANET là rất khó khăn, nếu không nói là
không thể trong một số trường hợp nhất định. Tại một thời điểm mạng MANET có thể
bao gồm một số nút nào đó, nhưng tại thời điểm sau đó mạng này có thể chia thành nhiều
mạng MANET. Sau đó nó lại có thể nhập lại thành một nhóm mới các nút và tạo thành
mạng MANET lớn hơn. Các router nhất định trong một mạng MANET có thể kết nối với
các vùng định tuyến khác nhau. Các router này được gọi là router biên BR (border
router), và chúng thường chạy nhiều giao thức định tuyến. Các router biên có nhiệm vụ
lựa chọn thông tin định tuyến để thông báo giữa các vùng định tuyến liên quan đến nhau.
Router biên cũng cho thấy các router có thể tiếp cận được thông qua nó. Khi các thành

viên trong mạng MANET thay đổi, thì kết nối của các router biên trong mạng MANET
cũng thay đổi. Do vậy, rất khó để router biên có thể thể hiện tập hợp cố định các nốt tiếp
cận được (reachable node). Nó có thể lựa chọn không thông báo bất kì thông tin định
tuyến nào về mạng MANET đó cho các vùng định tuyến khác
III. Đặc điểm
1. Mạng gồm các thiết bị di động không dây
Mạng MANET gồm các thiết bị không dây, kích thước nhỏ có thể mang theo người,
đặt trên các đối tượng thường xuyên di chuyển hoặc các vị trí khó khăn không thể triển
khai mạng có dây. Các thiết bị có thể sử dụng sóng điện từ ở nhiều dải khác nhau để liên
lạc và trao đổi dữ liệu, tuy nhiên trong một mạng cụ thể thì cần thống nhất về tần số. Hai
nút mạng có thể liên lạc với nhau nếu chúng ở trong vùng phủ sóng của nhau. Nếu hai
nút ở ngoài vùng của nhau muốn liên lạc, chúng phải thông qua các nút trung gian để
định tuyến.
2. Tính tự thiết lập
Mạng MANET không phụ thuộc vào cấu trúc mạng có sẵn hoặc sự quản lý tập trung
nào. Các nút mạng có vai trò ngang nhau và hoạt động độc lập nên chúng phải đảm
nhiệm chức năng của một bộ định tuyến di động. Các nút mạng phải tự thiết lập các
5


thông tin cần thiết cho chính nó, bao gồm địa chỉ mạng, thông tin định tuyến, … khi gia
nhập vào mạng cũng như phải cập nhật khi mạng thay đổi. Các bộ định tuyến tự do di
chuyển một cách ngẫu nhiên và tự tổ chức một cách tùy tiện, vì vậy cấu hình không dây
của mạng thay đổi nhanh chóng và không thể đoán trước. Do đó, giao thức định tuyến
trong mạng MANET cần có cơ chế tự thiết lập, quản lý các thông tin và cập nhật cho
từng nút mạng.
3. Đồ hình mạng thay đổi liên tục
Do các nút mạng là các thiết bị không dây, chúng có thể tham gia và rời mạng bất cứ
lúc nào mà không có thông báo trước. Vị trí của một nút trong mạng cũng có thể thay
đổi, làm cho việc định tuyến từ nguồn đến đích thường xuyên thay đổi. Đây là một vấn

đề cần giải quyết với việc định tuyến trong mạng MANET.
4. Một số đặc điểm khác
Do các thiết bị là di động và phải sử dụng pin, bị hạn chế về kích thước và hiệu năng
nên cần giảm đến mức tối thiểu tài nguyên sử dụng.
Nút mạng sử dụng kết nối không dây nên bị hạn chế về khoảng cách liên lạc và băng
thông thấp, chịu ảnh hưởng của nhiễu nhiều hơn môi trường có dây.
Liên kết giữa hai nút mạng có thể không đối xứng, tức là việc truyền tin giữa hai nút
là không như nhau theo hai chiều.
Trong mạng tồn tại nhiều liên kết dư thừa.
Ngoài ra, việc truyền tin bằng sóng làm tăng nguy cơ bị tấn công.
IV. Ứng dụng của mạng MANET
- Đáp ứng nhu cầu truyền thông mang tính tạm thời.
- Đáp ứng truyền thông tại những nơi xa trung tâm, vùng sâu, vùng xa.
- Tăng tính hiệu quả trong một vài trường hợp nhất định.
V. Định tuyến trong mạng MANET
1. Các yêu cầu đối với việc định tuyến
- Thích ứng nhanh khi tô-pô mạng thay đổi: khi các nút mạng di chuyển
nhanh, yêu cầu kết nối tăng lên thì các giao thức hoạt động theo cơ chế
tiếp cận tập trung sẽ giảm hiệu quả rõ rệt do phải tốn nhiều thời gian để
thu thập thông tin về trạng thái hiện tại và phát tán lại nó. Trong khi đó
cấu hình mạng có thể đã thay đổi khác đi rồi.
- Đảm bảo hiệu quả trong môi trường truyền khi các nút đứng yên. Lúc
này topo mạng là cố định không thay đổi nên các giao thức định tuyến
chỉ cần gửi các cập nhật khi có yêu cầu hoặc mạng thay đổi như việc một
nút nào đó tắt kết nối.
6


- Không có lặp định tuyến: Cần ngăn chặn hiện tượng này, bởi vì khi đó
các gói tin bị định tuyến sai, dẫn đến việc bị truyền quay vòng liên tục

trong một số kết nối mạng, khiến cho băng thông mạng và các tài nguyên
khác như năng lượng nguồn nuôi bị tiêu tốn vô ích.
- Bảo mật: Việc định tuyến trong mạng MANET có nguy cơ bị tấn công dễ
dàng bằng các phương pháp như xâm nhập đường truyền, phát lại, thay
đổi các gói tin tiêu đề, điều hướng các thông điệp định tuyến. Do đó khi
thiết kế các giao thức định tuyến cần phải có phương pháp để phát hiện
được và ngăn chặn các loại tấn công.
2. Phân loại các kỹ thuật định tuyến
2.1. Các kỹ thuật định tuyến truyền thống
2.1.1. Link-state
Khi áp dụng các thuật toán định tuyến link-state, mỗi nút sử dụng dữ
liệu cơ sở của nó như là một bản đồ của mạng với dạng một đồ thị. Để
làm điều này, mỗi nút phát đi tới toàn mạng những thông tin về các nút
khác mà nó có thể kết nối được, và từng nút góp thông tin một cách độc
lập vào bản đồ. Sử dụng bản đồ này, mỗi nút sau đó sẽ xác định được
tuyến đường tốt nhất từ nó đến mọi nút khác.
Thuật toán làm theo cách này là Dijkstra, bằng cách xây dựng cấu trúc
dữ liệu khác, dạng cây, trong đó nút hiện tại là gốc, và chứa mọi nút khác
trong mạng. Bắt đầu với một cây ban đầu chỉ chứa chính nó. Sau đó lần
lượt từ tập các nút chưa được thêm vào cây, nó sẽ thêm nút có chi phí
thấp nhất để đến một nút đã có trên cây. Tiếp tục quá trình đến khi mọi
nút đều được thêm vào cây.
Cây này sau đó phục vụ để xây dựng bảng định tuyến, đưa ra bước
truyền kế tiếp tốt ưu, … để từ một nút đến bất kỳ nút khác trên mạng.
2.1.2. Distance-vector
Thuật toán này dùng thuật toán Bellman-Ford, trong đó chỉ định một
con số, gọi là chi phí (hay trọng số), cho mỗi một liên kết giữa các nút
trong mạng. Các nút sẽ gửi thông tin về đường đi từ điểm A đến điểm B
qua các đường truyền (kết nối) mang lại tổng chi phí thấp nhất (là tổng
các chi phí của các kết nối giữa các nút được dùng).

Thuật toán hoạt động với những hành động rất đơn giản. Khi một nút
khởi động lần đầu, nó chỉ biết các nút kề trực tiếp với nó, và chi phí trực
tiếp để đi đến đó (thông tin này, danh sách của các đích, tổng chi phí đến
từng đích và bước kế tiếp để gửi dữ liệu đến đó tạo nên bảng định tuyến,
7


hay bảng khoảng cách). Mỗi nút, trong một tiến trình, gửi đến từng
“hàng xóm” tổng chi phí của nó để đi đến các đích mà nó biết. Các nút
“hàng xóm” phân tích thông tin này, và so sánh với những thông tin mà
chúng đang “biết”; bất kỳ điều gì cải thiện được những thông tin chúng
đang có sẽ được đưa vào các bảng định tuyến của những “hàng xóm”
này. Đến khi kết thúc, tất cả nút trên mạng sẽ tìm ra bước truyền kế tiếp
tối ưu đến tất cả mọi đích, và tổng chi phí tốt nhất.
Khi một trong các nút gặp vấn đề, những nút khác có sử dụng nút
hỏng này trong lộ trình của mình sẽ loại bỏ những lộ trình đó, và tạo nên
thông tin mới của bảng định tuyến. Sau đó chúng chuyển thông tin này
đến tất cả nút gần kề và lặp lại quá trình trên. Cuối cùng, tất cả nút trên
mạng nhận được thông tin cập nhật, và sau đó sẽ tìm đường đi mới đến
tất cả các đích mà chúng còn tới được.
2.2. Các kỹ thuật định tuyến trong mạng MANET
2.2.1. Hướng tiếp cận proactive
Giao thức định tuyến hướng proactive cũng được gọi là định tuyến
theo bảng điều khiển (Table-driven). Sử dụng một giao thức định tuyến
chủ động, các nút trong một mạng MANET sẽ liên tục đánh giá các
đường đi đến các nút có thể và cố gắng duy trì sự nhất quán, cập nhật
thông tin định tuyến. Di đó, một nút nguồn có thể có được một đường
định tuyến ngay lập tức nếu cần.
Trong hướng tiếp cận proactive, tất cả các nút cần phải duy trì một sự
nhất quán về topo mạng. Khi một sự thay đổi cấu hình mạng xảy ra, các

cập nhật tương ứng phải được truyền đi trên toàn mạng để thông báo sự
thay đồi. Giao thức định tuyến chủ động trong mạng MANET kế thừa
các thuật toán được sử dụng trong mạng có dây. Sử dụng thuật toán định
tuyến chủ động, các nút di động chủ động cập nhật trạng thái mạng và
duy trì một đường đi dù lưu lượng truy cập có tồn tại hay không. Một số
giao thức theo hướng tiếp cận này là DSDV, OLSR.
Ưu điểm: Tại mọi thời điểm các đường đi đều sẵn sàng nên độ trễ khi
bắt đầu gửi gói là nhỏ.
Nhược điểm: Tiêu tốn nhiều tài nguyên để duy trì và trao đổi các
thông tin định tuyến.
2.2.2. Hướng tiếp cận reactive
Các giao thức định tuyến hướng reactive cho mạng MANET cũng
được gọi là giao thức định tuyến theo yêu cầu khởi phát từ nguồn. Trong
8


giao thức định tuyến hướng reactive, các đường định tuyến được tìm khi
cần thiết. Quá trình tìm kiếm đường đi chấm dứt khi đã tìm được đường
đi hoặc không có đường đi nào có sẵn sau khi kiểm tra tất cả các đường.
Trong một mạng MANET, các tuyến đường đang hoạt động có thể bị
ngắt do sự di chuyển của các nút mạng. Vì vậy, sự duy trì đường định
tuyến là quá trình quan trọng của các giao thức định tuyến hướng
reactive. So với các giao thức định tuyến proactive cho mạng MANET, ít
chi phí điều khiển hơn là một lợi thế khác biệt của các giao thức định
tuyến hướng reactive. Như vậy, giao thức định tuyến hướng reactive có
khả năng mở rộng tốt hơn so với các giao thức định tuyến hướng
proactive trong mạng MANET. Tuy nhiên, nút nguồn có thể phải đợi thời
gian delay dài cho việc tìm kiếm đường đi trước khi nó có thể chuyển
tiếp các gói tin. Một số giao thức thuộc hướng tiếp cận này là DSR và
AODV.


9


GIAO THỨC ĐỊNH TUYẾN AODV
I. Giới thiệu
Giao thức AODV (Ad hoc On-demand Distance Vector) được phát triển vào
năm 2003 bởi C. Perkins, E. Belding-Royer và S. Das. Nó là một giao thức định
tuyến dựa trên thuật toán vector khoảng cách.
II. Hoạt động của giao thức AODV
1. Quá trình khám phá tuyến (Route Discovery)
Để tối thiểu hóa số bản tin quảng bá, AODV tạo ra các tuyến trên cở sở theo
yêu cầu (on-demand) mà không duy trì một danh sách hoàn chỉnh các tuyến.
Khi một nút nguồn muốn gởi một bản tin đến một nút đích nào đó và không
biết rằng đã có một tuyến đúng đến đích đó, nó phải khởi đầu một quá trình khám
phá đường truyền để xác định nút khác. Mỗi nút duy trì hai thành phần riêng biệt:
một số thứ tự của nút và một ID broadcast. Nút nguồn phát quảng bá một gói yêu
cầu tuyến (RREQ) đến các nút lân cận. Gói tin RREQ chứa các trường
source_addr
source_sequence#
broadcast_id
dest_addr
dest_sequence#
hop_count
Cặp <source_addr, broadcast_id> giúp phân biệt nguồn của một gói RREQ.
Mỗi khi nguồn phát một gói RREQ, broadcast_id được tăng lên, tức là một nguồn
không thể phát 2 gói tin RREQ với cùng broadcast_id.
Mỗi nút lân cận khi nhận được RREQ đó sẽ gửi tăng trường hop_count của gói
RREQ và broadcast gói RREQ đến nút lân cận khác. Tuy nhiên, một nút có thể
nhận được nhiều bản copy của cùng một gói RREQ từ nhiều nút truyền tới. Khi nút

trung gian nhận được một gói tin RREQ có trường source_addr và broadcast_id
trùng với một gói RREQ đã nhận trước đó thì nó sẽ không broadcast lại.
2. Khởi tạo đường ngược (Reverse Path)
Trong suốt quá trình chuyển tiếp RREQ, các nút trung gian ghi vào bảng định
tuyến của chúng địa chỉ của các nút lân cận từ khi nhận được bản sao đầu tiên của
gói quảng bá, theo đó thiết lập được một đường dẫn theo thời gian. Có hai số thứ tự
(ngoài broadcast_id) được bao gồm trong một gói RREQ: số thứ tự nguồn và số
thứ tự điểm đích cuối cùng. Số thứ tự nguồn được sử dụng để duy trì các thông tin
mới về các tuyến đường ngược về nguồn, và số thứ tự điểm đích chỉ ra sự mới mẻ
của một định tuyến tới đích trước khi nó được chấp nhận bởi nguồn. Khi RREQ đi
10


từ nguồn tới những điểm đích khác nhau, nó sẽ tự động thiết lập các con đường
ngược lại từ tất cả các nút về nguồn.
Để thiết lập một đường ngược lại, một nút ghi lại địa chỉ của những nút lân cận
mà nó nhận được những gói RREQ đầu tiên. Những mục tuyến đường ngược được
duy trì trong thời gian vừa đủ để gói RREQ đi qua mạng và gửi hồi đáp về nút gửi
tin.
3. Khởi tạo forward-path
Khi một gói tin đến một nút có thể là nút đích hoặc một nút có định tuyến tới
nút đích, nút nhận sẽ kiểm tra rằng RREQ được nhận thông qua liên kết hai chiều.
Nếu một nút trung gian có một mục định tuyến đến nút đích, nó sẽ quyết định
tuyến đường bằng cách so sánh các số thứ tự của nút đích trong RREQ với mục
định tuyến của nó. Nếu số thứ tự nút đích của RREQ lớn hơn thì nút trung gian
không được sử dụng bảng định tuyến của nó để hồi đáp RREQ. Thay vào đó, nút
trung gian sẽ truyền broadcast lại gói RREQ. Các nút trung gian có thể hồi đáp chỉ
khi nó có một đường định tuyến có số thứ tự lớn hơn hoặc bằng số thứ tự nút đích
trong gói tin RREQ. Nếu nó không có đường hiện tại tới đích và nếu RREQ không
được xử lý trước đó, các nút sẽ truyền unicast RREP trả về nút lân cận đã truyền

RREQ cho nó.
Một gói RREP chứa những thông tin sau:
source_addr
des_addr
des_sequence#
hop_cnt
lifetime
Khi RREP trở về nguồn, mỗi nút trên đường thiết lập một con trỏ về phía trước
tới nút đã gửi gói RREP, cập nhật thông tin timeout cho các mục định tuyến tới
nguồn và đích. Ghi số thứ tự điểm đến mới nhất cho các nút đích được yêu cầu.
4. Duy trì đường đi
Trong AODV, các tuyến đươc duy trì điều kiện như sau:
- Nếu một nút nguồn chuyển động, nó phải khởi động lại giao thức khám
phá tuyến để tìm ra một tuyến mới đến đích.
- Các nút không thuộc tuyến đường đang hoạt động di chuyển không gây
ảnh hưởng đến tuyến.
- Nếu một nút trên tuyến chuyển động, nút lân cận của nó truyền một bản
tin RREP đặc biệt đến các nút lân cận về phía nguồn. Các nút này tiếp tục
truyền RREP đến các nút lân cận gần phía nguồn hơn. Quá trình cứ tiếp
tục như vậy cho đến khi đạt đến nút nguồn. Nút nguồn sau đó có thể chọn

11


khởi động lại một quá trình khám phá tuyến cho đích đó nếu một tuyến
vẫn cần thiết.
Ngoài ra, giao thức này sử dụng bản tin HELLO được phát quảng bá định kỳ
bởi một nút để thông báo cho tất cả các nút khác về những nút lân cận của nó. Các
bản tin HELLO có thể được sử dụng để duy trì khả năng kết nối cục bộ của một
nút. Tuy nhiên, việc sử dụng bản tin HELLO là không cần thiết. Các nút lắng nghe

việc truyền lại gói dữ liệu để đảm bảo rằng vẫn đạt đến chặng kế tiếp. Nếu không
nghe được việc truyền lại như thế, nút có thể sử dụng một trong số các kỹ thuật, kể
cả việc tiếp nhận bản tin HELLO. Các bản tin HELLO có thể liệt kê các nút khác
mà từ đó nút di động đã nghe tin báo, do đó tạo ra khả năng liên kết lớn hơn cho
mạng.
III. Ví dụ về giao thức AODV

Giả sử ta có một mạng MANET với các nút mạng và các liên kết giữa chúng
như hình trên. Nút nguồn cần truyền tin là nút S và nút đích là nút D. Giả thiết rằng
các nút trung gian không nút nào có sẵn đường định tuyến đến D. Đầu tiên, S sẽ
gửi gói tin RREQ đến các nút lân cận là B, C, E như trong hình.

12


Khi các nút B, C, E nhận được gói tin RREQ, chúng sẽ forward gói tin
RREQ đến các nút lân cận với nó và ghi lại trong bảng định tuyến của chúng địa
chỉ của nút đã gửi gói tin RREQ đến, tức là nút S để xây dựng đường ngược sau đó
nếu cần thiết.
Quá trình được tiếp tục ở các nút trung gian khi chúng nhận được gói tin

RREQ

Quá trình này được tiếp tục cho đến khi gói tin RREQ đến được nút D. Khi nhận
được gói tin RREQ, nút D không forward nó mà trả lời bằng gói tin RREP theo
đường ngược được tạo ra trong quá trình khám phá tuyến.
13


Cuối cùng, S và D trao đổi thông tin với nhau thông qua tuyến đường đã được lựa

chọn S  E  F  J  D

14



×