Mạng cá nhân (Personal Are Networ k PAN)

Một phần của tài liệu Tìm hiểu công nghệ manet và xây dựng ứng dụng truyền tệp (Trang 28 - 86)

MANET tầm ngắn có thể đơn giản hoá việc truyền thông giữa các thiết bị di động ( PDA, laptop, cellphone). Những dây cáp được thay thế bằng việc kết nối vô tuyến. Mạng MANET cũng có thể mở rộng chức năng truy cập Internet như các mạng khác, thí dụ như WLAN, GPRS, và USTM. PAN là một lĩnh vực có tiềm năng ứng dụng đầy hứa hẹn của MANET phổ biến trong tương lai.

Hình 1.11: Ứng dụng PAN

1.6. Kế luận chƣơng 1

Chương đầu tiên của luận văn đã thực hiện giới thiệu về mạng MANET, phân loại MANET, định tuyến, chế độ bảo mật và ứng dụng của MANET. Chương tiếp theo sẽ tìm hiểu về giao thức định tuyến và một vài phương thức truyền tệp.

Chƣơng 2. GIAO THỨC ĐỊNH TUYẾN TRONG MANET VÀ MỘT SỐ PHƢƠNG THỨC TRUYỀN TỆP

2.1. Giao thức định tuyến trong MANET 2.1.1. Định tuyến trong hệ thống mạng 2.1.1. Định tuyến trong hệ thống mạng

Thông thường, tiến trình định tuyến thường chỉ hướng đi dựa vào bảng định tuyến được tổ chức trong bộ nhớ của router (bộ định tuyến), đó là bảng chứa những lộ trình tốt nhất đến các đích khác nhau trên mạng. Vì vậy, việc xây dựng bảng định tuyến là vô cùng quan trọng trong việc định tuyến trên các hệ thống mạng.

Để thực hiện được việc chuyển các gói dữ liệu đến mạng đích một cách chính xác, các router phải nhớ thông tin về đường đi tới các mạng khác. Nếu router chạy định tuyến động thì router sẽ tự động nhớ những thông tin này từ các router khác. Còn nếu router chạy định tuyến tĩnh thì người quản trị mạng phải cấu hình các thông tin đến các mạng khác cho các router.

2.1.2. Phân loại giao thức định tuyến

Mạng MANET (Mobile Adhoc Network) là mạng không dây đặc biệt gồm tập hợp các thiết bị di động, giao tiếp không dây, có khả năng truyền thông trực tiếp với nhau hoặc thông qua các nút trung gian làm nhiệm vụ chuyển tiếp. Các nút mạng vừa đóng vai trò như thiết bị truyền thông vừa đóng vai trò như thiết bị định tuyến . Với nguyên tắc hoạt động như vậy , nó không bị phụ thuộc vào cơ sở hạ tầng mạng cố định nên có tính linh động cao, đơn giản trong việc lắp đặt, chi phí triển khai và bảo trì thấp.

Như vậy, khi sử dụng các giao thức định tuyến thông thường dựa trên các giải thuật Distance-Vector (véc tơ khoảng cách) hoặc Link-State (trạng thái liên kết) trong mạng Adhoc sẽ dẫn đến một số vấn đề phát sinh [4],[8],[10]:

Tiêu hao băng thông mạng và năng lƣợng nguồn nuôi cho các cập nhật định kỳ

Hầu hết các thiết bị di động trong mạng Adhoc sẽ hoạt động dựa trên nguồn pin, việc truyền hoặc nhận gói tin sẽ tiêu tốn đáng kể đến nguồn năng lượng này. Ở các mạng thông thường, việc kết nối các bộ định tuyến nhìn chung là không thay đổi về vị trí, chính vì thế ít xảy ra việc thay đổi cấu hình tôpô mạng nên việc hội tụ mạng là ít xảy ra.Tuy nhiên, trong mạng Adhoc, các nút luôn thay đổi vị trí dẫn đến cấu hình tôpô mạng thay đổi, nên đòi hỏi cần phải có sự hội tụ của mạng cho các tuyến mới một cách nhanh chóng. Để thực hiện được việc này, các giao thức định tuyến phải liên tục gửi cập nhật định tuyến, dẫn đến việc tiêu tốn khá nhiều băng thông và năng lượng.

 Các đƣờng đi dƣ thừa đƣợc tích lũy một cách không cần thiết

Trong môi trường mạng Adhoc, có rất nhiều đường đi từ nút nguồn đến nút đích và những đường đi này sẽ được cập nhật tự động vào bảng định tuyến trong các thiết bị định tuyến (thiết bị di động), dẫn đến việc dư thừa đường đi trong bảng định tuyến.

Các giao thức định tuyến trong mạng Adhoc được chia thành 3 loại: Giao thức định tuyến theo bảng ghi (Table-Driven Routing Protocol), Giao thức định tuyến điều khiển theo yêu cầu (On-Demand Routing Protocol) và Giao thức định tuyến kết hợp (Hybrid Routing Protocol).

Hình 2.1: Phân loại các giao thức định tuyến trong MANET

2.1.2.1. Giao thức định tuyến theo bảng (Table-Driven Routing Protocol)

Giao thức định tuyến theo bảng còn được gọi là giao thức chủ ứng (Proactive). Theo giao thức này, bất kỳ một nút trong mạng đều luôn duy trì trong bảng định tuyến của nó thông tin định tuyến đến tất cả các nút khác trong mạng. Thông tin định tuyến được phát broadcast (đến tất cả các máy) trên mạng theo một khoảng thời gian quy định để giúp cho bảng định tuyến luôn cập nhật những thông tin mới nhất. Chính vì vậy, một nút nguồn có thể lấy thông tin định tuyến ngay lập tức khi cần thiết.

Tuy nhiên, với những mạng mà các node di chuyển nhiều hoặc các liên kết giữa các node bị đứt thì cần phải có cơ chế tìm kiếm hoặc sửa đổi thông tin của nút bị đứt trong bảng định tuyến, nhưng nếu các liên kết đó không sử dụng thì sẽ trở nên lãng phí tài nguyên, ảnh hưởng đến các băng thông của

GIAO THỨC ĐỊNH TUYỀN TRONG MANET

CÁC GIAO THỨC ĐỊNH TUYẾN THEO BẢNG

CÁC GIAO THỨC ĐỊNH TUYẾN THEO YÊU

CẦU CÁC GIAO THỨC ĐỊNH TUYẾN KẾT HỢP AODV DSR TORA DSDV CLSR WRP ZRP ZHLS HARP

mạng. Chính vì thế giao thức định tuyến theo bảng ghi chỉ áp dụng trong các mô hình mạng MANET mà các nút ít di chuyển.

Các giao thức hoạt động theo kiểu giao thức định tuyến theo bảng ghi như: Giao thức DSDV (Destination Sequenced Distance Vector), Giao thức WRP (Wireless Routing Protocol), Giao thức GSR (Global State Routing),…

2.1.2.2. Giao thức định tuyến điều khiển On-Demand Routing Protocol

Một phương pháp khác với phương pháp định tuyến điều khiển theo bảng ghi đó là định tuyến điều khiển theo yêu cầu còn được gọi là giao thức phản ứng (Reactive). Theo phương pháp này, các con đường đi sẽ được tạo ra nếu như có nhu cầu. Khi một nút yêu cầu một tuyến đến đích, nó phải khởi đầu một quá trình khám phá tuyến để tìm đường đi đến đích (Route Discovery). Quá trình này chỉ hoàn tất khi đã tìm ra một tuyến sẵn sàng hoặc tất cả các tuyến khả thi đều đã được kiểm tra.

Khi một tuyến đã được khám phá và thiết lập, nó được duy trì thông số định tuyến (route maintenance) bởi một số dạng thủ tục cho đến khi hoặc là tuyến đó không thể truy nhập được từ nút nguồn hoặc là không cần thiết đến nó nữa.

Với các cơ chế đó, các giao thức định tuyến điều khiển theo yêu cầu không phát broadcast đến các nút lân cân về các thay đổi của bảng định tuyến theo thời gian, nên tiết kiệm được tài nguyên mạng. Vì vậy, loại giao thức này có thể sử dụng trong các mạng MANET phức tạp, các node di chuyển nhiều.

Một số giao thức định tuyến điều khiển theo yêu cầu tiêu biểu như: Giao thứ CBRP (Cluster Based Routing Protocol), Giao thức AODV (Adhoc On Demand Distance Vector), Giao thức DSR (Dynamic Source Routing), Giao thức TORA (Temporally Ordered Routing Algorihm),…

Trong giao thức định tuyến này có kết hợp cả hai cơ chế giao thức định tuyến chủ ứng (Proactive) và giao thức định tuyến phản ứng (Reactive). Giao thức này phù hợp với những mạng quy mô, kích thước lớn, mật độ các nút mạng dày đặc.

Trong giao thức định tuyến này, mạng được chia thành các vùng (zone). Mỗi node duy trì cả thông tin về kiến trúc mạng trong vùng của nó và thông tin về các vùng láng giềng. Đều đó có nghĩa là giao thức Hybrid sử dụng giao thức định tuyến phản ứng (Reactive) giữa các zone và giao thức định tuyến chủ ứng (Proactive) cho các node mạng trong cùng zone. Do đó, đường đi đến nỗi node trong cùng một zone được lập mà không cần phải định tuyến ra ngoài zone, trong khi đó các tiến trình khám phá đường và duy trì đường thì được sử dụng để tìm kiếm và duy trì đường đi giữa các zone với nhau.

Các giao thức định tuyến tiêu biểu sử dụng kiểu Hybrid: Giao thức ZPR (Zone Routing Protocol), Giao thức ZHLS (Zone-based Hierarchical Link State Routing Protocol),…

2.1.3. Giao thức định tuyến điều khiển theo yêu cầu trên MANET

Việc định tuyến trên các hệ thống mạng là khá quan trọng, quá trình định tuyến có thể xảy ra trước khi hệ thống có nhu cầu truyền dữ liệu hoặc trong khi hệ thống truyền dữ liệu . Các phương thức này cũng là một trong những yếu tố ảnh hưởng đến sự hoạt động của toàn bộ hệ thống mạng . Định tuyến điều khiển theo yêu cầu là một trong những phương thức định tuyến cơ bản

trong hệ thống mạng không dây đặc biệt là hệ thống mạng MANET. Theo

phương thức này , việc định tuyến chỉ xảy ra khi hệ th ống có nhu cầu truyền dữ liệu. Có rất nhiều giao thức định tuyến sử dụng theo phương thức này . Hai giao thức định tuyến được sử d ụng phổ biến nhất hiện nay là giao thức DSR và giao thức AODV [4],[10],[11].

DSR (Dynamic Source Routing – Định tuyến nguồn động) là giao thức định tuyến đơn giản và hiệu quả được thiết kế riêng cho mạng MANET. DSR cho phép mạng tự động tổ chức và cấu hình mà không cần đến sự can thiệp của người quản trị hoặc cơ sở hạ tầng sẵn có của mạng.

Giao thức DSR là giao thức định tuyến phản ứng (Reactive) sử dụng cơ chế định tuyến nguồn (source routing), nghĩa là bên gửi sẽ biết toàn bộ thông tin về đường đi đến đích. Phần Header của gói dữ liệu sẽ lưu trữ thứ tự các nút mà gói tin cần phải đi qua để đạt tới đích. Do vậy, các nút trung gian chỉ cần giữ liên lạc với các nút hàng xóm của nó để chuyển tiếp các gói tin.

Tại mỗi một nút trong mạng luôn duy trì một bộ nhớ đệm (Router Cache), đây là cấu trúc dữ liệu lưu trữ các con đường đã biết. Khi có đường đi tồn tại trong Router Cache, các gói tin sẽ nhận thông tin về đường đi và thực hiện việc truyền tin trên con đường đã chọn. Ngược lại, khi không tồn tại đường đi trong Router Cache hoặc có tồn tại đường đi nhưng không còn hiệu lực, DSR sẽ thực hiện cơ chế phát hiện đường (Route Discovery) bằng cách gởi các gói tin quảng bá Route Request đến các nút lân cận trên toàn bộ mạng. Các nút trung gian nhận được gói tin quảng bá sẽ kiểm tra đường đi trong Route Cache. Khi đường đi được tìm thấy, gói tin Route Reply sẽ chứa thứ tự các chặng tới đích và được truyền trở lại nguồn.

Như vậy, hoạt động của giao thức DSR bao gồm hai cơ chế chính: cơ chế tạo thông tin định tuyến (Route Discovery) và cơ chế duy trì thông tin định tuyến (Route Maintanance).

2.1.3.2. Cơ chế xƣ̉ lý khám phá đƣờng của DSR

Trong mạng Adhoc tìm kiếm đường đi đến đích một cách tự động thông qua các node trung gian, tiến trình tạo thông tin định tuyến sẽ phát gói tin Route Request (RREQ) đến các node lân cận của nó trong mạng. Ngoài các trường bình thường như: địa chỉ nguồn, địa chỉ đích, đường dẫn…, thông tin

trong gói RREQ còn chứa một số request ID là một số được tạo ra bởi node nguồn và là số không trùng nhau. Khi một node nhận gói RREQ thì nó sẽ tiến hành kiểm tra thông tin trong RREQ như sau [4],[8]:

Hình 2.2: Cơ chế xử lý khám phá đường tại node của DSR Phát RREQ đến các node hàng xóm Trƣớc đó node chƣa nhận RREQ? <Source, Request_id>

Hủy gói RREQ

N

Node không có đƣờng đi đến đích trong Route

Cache?

Y

Node không là node đích?

Y

Phản hồi RREP về nguồn

Y

- Cập nhật thông tin về nguồn trong Router cache

- Cập nhật lại đƣờng dẫn cho gói RREQ

N

Kết thúc tiến trình khám phá

đƣờng Thêm <Source, Request_id> vào Router cache

của node

Nối đƣờng đi trong RREQ và đƣờng đi đã có trong Router cache, cập nhật vào

RREQ N Bắt đầu tiến trình khám phá đƣờng tại nguồn Kết thúc tiến trình xƣ̉ lý gói RREQ đã nhận

Bước 1: Thông qua trường request ID, nó sẽ kiểm tra xem đã nhận gói tin này hay chưa? Nếu đã tồn tại thì nó sẽ loại bỏ gói tin đó và không xử lí gì thêm. Ngược lại thì qua bước 2.

Bước 2: Nó kiểm tra trong Route Cache của nó có đường đi đến node đích mà

còn hiệu lực hay không? Nếu có đường đi đến đích thì nó sẽ phản hồi lại cho node nguồn bằng gói Route Reply (RREP) chứa thông tin về đường đi đến đích và kết thúc tiến trình. Ngược lại thì qua bước 3.

Bước 3: Nó kiểm tra địa chỉ đích cần tìm có trùng với điạ chỉ của nó hay

không? Nếu trùng thì nó gởi lại cho node nguồn gói Route Reply (RREP) chứa thông tin về đường đi đến đích và kết thúc tiến trình. Ngược lại thì nó sẽ phát quảng bá (broadcast) gói tin RREQ đến các nút láng giềng của nó. Các nút láng giềng sau khi nhận gói tin RREQ sẽ thực hiện quay về bước 1 kiểm tra thông tin

Như vậy, quá trình này cứ tiếp tục cho đến khi node nguồn nhận được thông tin về đường đi đến đích hoặc thông tin rằng không thể định tuyến đến đích. Gói Route Reply (RREP) được gởi đến nguồn bằng cơ chế phát Unicast với Source Route là đảo ngược Source Route trong gói RREQ.

Giả sử xét mô hình mạng Adhoc với mô hình truyền thông như hình 2.3, nút S cần truyền dữ liệu đến nút D. Hình 2.3: Mô hình mạng Adhoc S E A F B K G H I S D J

Khả năng thứ nhất: Trong Route Cache của các nút hiện tại là rỗng. Nút S sẽ phát gói tin Router Request (RREQ) đến các nút lân cận của nó [4].

Hình 2.4:Nút S phát gói tin RREQ đến các nút lân cận A, E, F

Nút A, E, F sẽ kiểm tra mình có phải là đích hay không? Nếu không sẽ kiểm tra trong Route Cache về đường đi đến đích. Theo giả thuyết ban đầu thì trong Route Cache sẽ không có thông tin về đường đi đến đích. Do đó, nút E, F, A sẽ cập nhật thông tin về đường đi về nguồn vào Route Cache thông qua gói tin RREQ, đồng thời sẽ phát gói tin RREQ đến các nút lân cận của nó.

Bảng 2.1: Thông tin lưu trữ trong Route Cache tại thời điểm 1

Nút A, E, F sẽ phát gói tin RREQ đến các nút lân cận của nó

Tại thời điểm này tại A và F đều nhận gói tin RREQ (vì A là nút láng giềng của F và ngược lại). Do đó, hai gói tin này sẽ bị hủy vì đã tồn tại trước đó. Đồng thời, quá trình tìm kiếm đường đi vẫn chưa hoàn thành vì chưa đạt đến đích. Vì vậy, các nút lân cận sẽ lưu trữ thông tin về đường đi đến nguồn trong Route Cache và tiếp tục gửi gói tin RREQ đến các nút lân cận của nó.

Bảng 2.2:Thông tin lưu trữ trong Route Cache tại thời điểm 2

Nút B, K, G sẽ phát gói tin RREQ đến các nút lân cận của nó

Hình 2.6:Nút B, K, G phát gói tin RREQ đến các nút C, G, H, K

Tại thời điểm này, nút H cùng nhận gói RREQ từ 2 nút K và G. Trong trường hợp này, gói tin nào đến sau sẽ bị loại bỏ. Giả sử gói tin gửi từ K đến sau, vì thế giao thức DSR sẽ loại bỏ gói tin này. Tiến trình khám phá đường đi vẫn tiếp tục thực hiện.

Nút H, C sẽ phát gói tin RREQ đến các nút lân cận của nó

Hình 2.7: Nút H, C phát gói tin RREQ đến các nút láng giềng I, D, J

Bảng 2.4:Thông tin lưu trữ trong Route Cache tại thời điểm 4

Tại thời điểm này, D nhận được gói RREQ và kiểm tra biết được mình chính là đích nên tiến trình khám phá đường đến đích dừng. Giao thức DRS sẽ thực hiện các công việc sau:

 D sẽ phát gói tin phản hồi Route Reply (RREP) về nguồn thông qua

đường đã tìm được.

 Nút I vẫn tiếp tục phát gói RREQ để tìm đường đến D. Tuy nhiên,

khi tìm thấy D thì gói tin RREQ sẽ lập tức bị hủy vì D đã nhận gói tin này trước đó, đồng thời D gửi gói tin RREP về nguồn S thông qua đường này.

 Nút J vẫn tiếp tục phát gói RREQ để tìm đến D. Tuy nhiên, trong trường hợp này nút I không tìm thấy và sẽ gửi gói RREP về nguồn.

Trong khi các gói tin RREP được gửi về nguồn, Route Cache sẽ tiếp tục lưu trữ đường đi ngược lại từ đích. Sau khi nút nguồn S nhận được gói tin

Một phần của tài liệu Tìm hiểu công nghệ manet và xây dựng ứng dụng truyền tệp (Trang 28 - 86)