Tải bản đầy đủ (.pdf) (24 trang)

Báo Cáo Đồ Án I - Đề Tài : Mạng Định Tuyến AODV – DRS

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 (641.85 KB, 24 trang )

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

VIỆN ĐIỆN TỬ - VIỄN THÔNG
---------------------------

BÁO CÁO ĐỒ ÁN I
Đề tài :

Mạng định tuyến AODV – DSR

***
Giảng viên hướng dẫn : TS . Nguyễn Trung Dũng
Ths . Nguyễn Ngọc Tuấn
Nhóm sinh viên thực hiện : Trần Thanh Phương

MSSV : 20133046

Đỗ Minh Phương

MSSV : 20133010

Đào Viết Phương

MSSV : 20125718


LỜI NĨI ĐẦU
Ngày nay, với sự phát triển khơng ngừng của công nghệ, các thiết bị di động như máy tính
xách tay, smartphone, tablet…ngày càng có những bước tiến dài về phần cứng như tốc độ
CPU, bộ nhớ lớn, và khả năng tryền tải nội dung đa phương tiện đã trở nên phổ biến trong
đời sống hàng ngày và trong công việc. Do nhu cầu kết nối mọi lúc, mọi nơi nên cùng với sự


phát triển của các thiết bị đầu cuối thì các cơng nghệ mạng khơng dây cũng đang phát triển
mạnh mẽ và có nhiều ứng dụng thiết thực trong đời sống. Với khả năng cơ động cao, thuận
tiện trong sử dụng, các công nghệ này đang dần dần thay thế các cơng nghệ mạng có dây
truyền thống. Song cũng do sự di chuyển của các thiết bị di động trong mạng làm cho topo
mạng luôn thay đổi, cùng với đó là tỷ lệ lỗi cao và giới hạn về băng thơng, năng lượng so
với các mạng có dây, nên các giao thức định tuyến trong mạng không dây trở nên phức tạp
hơn. Mạng Ad hoc là một mạng không dây mềm dẻo với khả năng tự tổ chức, hoạt động mà
khơng cần có cơ sở hạ tầng hỗ trợ đang thu hút được rất nhiều quan tâm trong vài năm trở
lại đây. Đồ án này thực hiện tìm hiểu về mạng Ad hoc, cách thức hoạt động của các giao
thức định tuyến trong mạng, đi sâu vào giao thức AODV và DSR.


CHƯƠNG I : TỔNG QUAN VỀ MẠNG AD HOC
1.1 Giới thiệu chung về mạng Ad hoc
Trong những năm gần đây, các thiết bị không dây và các hệ thống mạng không dây
được ứng dụng khá rộng rãi. Tuy tốc độ và băng thơng khơng thể so sánh được với
mạng có dây song với tính cơ động và thuận tiện cho người dùng, mạng không dây
đang được coi là một công nghệ chủ chốt trong tương lai. Dựa theo tính phụ thuộc vào
các thiết bị hạ tầng cố định, mạng không dây có thể được chia làm hai loại: mạng cơ sở
hạ tầng và mạng Ad-hoc:
• Mạng cơ sở hạ tầng (Infrastructure-based Network): bao gồm một mạng với các cổng
cố định và kết nối sẵn với nhau. Các thiết bị mobile truyền thông với nhau qua một trạm
gọi là trạm cơ sở (Base Station) nằm trong phạm vi của nó. Các đơn vị di động có thể
thay đổi vị trí trong khi giao tiếp. Khi một thiết bị ra khỏi phạm vi của trạm, nó sẽ tự động
kết nối với trạm mới và bắt đầu truyền thơng qua trạm đó. Các trạm BS có vị trí cố định.
Mạng cellular và Wlan thuộc dạng này.
• Mạng Ad-hoc (Mobile Ad-hoc Network, Manet): khác với mạng cơ sở hạ tầng, trong
mạng ad hoc tất cả các node mạng đều di động và thay đổi tùy ý. Tất cả các node trong
mạng này đều có thể đóng vai trị là một router, khám phá và duy trì tuyến tới các node
khác bên trong mạng. Tóm lại, mạng Ad-hoc tự mình tổ chức mạng một cách tự động

mà khơng cần có cơ sở hạ tầng hỗ trợ (chỉ cần có hai thiết bị khơng dây là có thể tạo ra
một mạng ad-hoc)
Mobile Ad-hoc Network –MANET trước đây cịn được gọi là mạng vơ tuyến gói,và được
tài trợ, phát triển bởi DARPA trong đầu thập niên 1970. Sau đó đến những năm
1980,mạng Ad-hoc được phát triển xa hơn và được triển khai là một phần của mạng
SUSAN (Adaptive Survivable Network) đề xuất bởi DARPA vào năm 1983 để hỗ trợ một
mạng quy mô lớn hơn,mạnh mẽ hơn. Đến đầu năm 1990 ,mạng ad-hoc đã được IETF
chính thức định nghĩa như sau: Mạng di động Ad-hoc là hệ thống tự trị của các router di
động kết nối qua vơ tuyến – sự kết hợp của các hình thái biểu đồ bất kì. Các router tự do
di chuyển ngẫu nhiên và được tổ chức tùy tiện; do đó topo của mạng vơ tuyến có thể
thay đổi nhanh chóng và khơng thể đốn trước được.
1.2 Đặc điểm của mạng Ad hoc
Một số đặc điểm chính của mạng Ad hoc:
• Tính di động : Các node tham gia trong mạng Ad hoc sử dụng sóng radio hoặc hồng
ngoại để truyền tin và không bị ràng buộc vật lý với nhau. Bởi vậy chúng có thể tự do di
chuyển và có thể triển khia ở những nơi có địa hình hiểm trở. Nhưng nó cũng có nhược
điểm là khiến topo mạng ln bị thay đổi, các node phải thường xuyên phải cập nhật lại
bảng định tuyến của mình.
• Tính đa chặng : một node nguồn muốn truyền một gói tin đến node đích cần phải đi
qua một hoặc nhiều node khác. Trong điều kiện sử dụng mạng Ad hoc để truyền tin trên
chiến trường, số node trung gian cần được giảm tối đa để tránh sự phát hiện của kẻ thù.
• Tự tổ chức: Khơng cần có cơ sở hạ tầng hỗ trợ, mạng Ad hoc phải tự động tính tốn
các cấu hình của nó bao gồm: địa chỉ mạng, định tuyến, xếp nhóm, phát hiện vị trí, điều
khiển năng lượng v.v…Trong một số trường hợp, một số node đặc biệt ( các node
đường trục) phải tự động di chuyển đến những vị trí xác định trong vùng địa lý để cung
cấp vùng phủ sóng rộng khắp.
• Tiết kiệm năng lượng : hầu hết các node trong mạng ad hoc được vận hành bằng các
nguồn năng lượng bị hạn chế như pin ,ắc quy và khơng có khả năng tự sạc lại.Việc nạp
lại năng lượng cho các node trong mạng thường khó khăn và không thể thực hiện



thường xuyên, do đó khả năng tiết kiêm năng lượng của các giao thức sử dụng trong
mạng ad hoc là một yếu tố quan trọng để đánh giá hiệu quả của giao thức
• Khả năng mở rộng : Ở một vài ứng dụng, mạng ad hoc có thể phát triển lên vài ngàn
node.
• Bảo mật: Khơng như mạng có dây, do mơi trường truyền của mạng Ad hoc là khơng
khí nên thơng tin truyền có thể dễ dàng bị thu bởi các thiết bị bên ngồi. Vì ngun nhân
này nên vấn đề bảo mật, mã hóa thơng tin, xác thực tài khoản được đặc biệt quan tâm
trong việc quản lý mạng Ad hoc.
• Băng thơng: Tốc độ mạng phụ thuộc vào băng thông hoạt động. Do băng thông của
mạng không dây thường nhỏ nên tốc độ mạng khá chậm.
• Nhiễu: Do mơi trường truyền là khơng khí nên mạng Ad hoc chịu ảnh hưởng lớn của
nhiễu từ môi trường xung quanh như mưa, gió,vật cản.
1.3 Phân loại mạng Ad hoc
1.3.1 Theo kích thước
Dựa trên phạm vi hoạt động của mạng Ad hoc, chúng ta có thể phân loại nó thành 4
nhóm chính : Body, Personal, Local, và Wide Area Network.Hiện nay mạng Ad hoc có
phạm vi nhỏ như BAN (Body Area Network), PAN (Personal Area Network), LAN (Local
Area Network) đã bắt đầu xuất hiện nhiều trong thực tế. Trong khi đó (WAN) Wide Area
Ad hoc Network là mạng khơng dây multihop di động, đòi hỏi nhiều giải pháp để đáp ứng
chất lượng mạng như : định tuyến, quản lí phân vùng, định địa chỉ, bảo mật … Do đó
trong thực tế hầu như chưa có ứng dụng cho mạng này.

1.3.2

Theo giao thức
• Single hop : mạng Manet định tuyến single hop là loại mơ hình mạng Ad-hoc đơn
giản nhất. Trong đó, tất cả các node đều nằm trong một vùng phủ sóng, nghĩa là các
node có thể kết nối trực tiếp với nhau mà không cần các node trung gian.
Mô hình này các node có thể di chuyển tự do nhưng chỉ trong một phạm vi nhất định

đủ các node liên kết trực tiếp với các node khác trong mạng


• Multi-hop : Đây là mơ hình phổ biến nhất trong mạng MANET, nó khác với mơ hình
trước là các node có thể kết nối với các node khác trong mạng mà có thể khơng cần
kết nối trực tiếp với nhau. Các node có thể định tuyến với các node khác thông qua
các node trung gian trong mạng. Để mô hình này hoạt động một cách hồn hảo thì
cần phải có giao thức định tuyến phù hợp với mơ hình mạng MANET.

1.3.3

Theo chức năng


• Mạng MANET phẳng (Flat) Trong kiến trúc này tất cả các node có vai trị ngang
hàng với nhau (peer-topeer) và các node đóng vai trị như các router định tuyến dữ
liệu gói trên mạng. Trong những mạng lớn thì cấu trúc Flat khơng tối ưu hóa việc sử
dụng tài ngun băng thơng của mạng vì những message điều khiển phải truyền trên
tồn bộ mạng. Tuy nhiên nó thích hợp trong những topo có các node di chuyển
nhiều
• Mạng MANET phân cấp ( Hierarchical) Đây là mơ hình sử dụng phổ biến nhất.
Trong mơ hình này thì mạng chia thành các domain, trong mỗi domain bao gồm một
hoặc nhiều cluste, mỗi cluster chia thành nhiều node. Có lai loại node là master node
và normal node. Master node là node quản trị một router có nhiệm vụ chuyển dữ liệu
của các node trong cluster đến các node trong cluster khác và ngược lại. Nói cách
khác nó có nhiệm vụ như một gateway. Normal node là các node trong cùng một
cluster. Nó có thể kết nối với các node trong cluster hoặc kết nối với các cluster khác
thông qua master node. Với các cơ chế trên, mạng sử dụng tài nguyên băng thơng
hiệu quả hơn vì các tin nhắn chỉ phải truyền trong 1 cluster. Tuy nhiên việc quản lý
tính chuyển động của các node trở nên phức tạp hơn. Kiến trúc mạng phân cấp

thích hợp cho các mạng có tính chuyển động thấp

• Mạng MANET kết hợp ( Aggregate) Mỗi mạng bao gồm hai mức topo : Topo mức
thấp (node level), và topo mức cao (zone level) Mỗi node đặc trưng bởi: node ID và
zone ID. Trong một Zone có thể áp dụng kiến trức phẳng hoặc kiến trúc phân cấp


CHƯƠNG II : GIAO THỨC ĐỊNH TUYỄN AODV

2 .1 Tổng quan về AODV
u càu cơ bản của thuật tốn có thể được gọi là các hệ thống tiếp nhận đường đi
theo yêu cầu thuần túy ; các nút không nằm trên tuyễn hoạt động thì khơng duy trì
bất kì thong tin định tuyến cũng như không tham gia vào bất kì bảng định tuyễn nào ,
Hơn nữa một nút khơng có gì để khám phá và duy trì tuyễn tới nút khác cho đến khi
hai nút phải kết nổi , trừ khi các nút trước cung cấp dịch vụ của mình như là trạm
trung chuyển để duy trì kết nối giữa hai nút khác . Khi khu vực kết nối của nút di
động được quan tâm , mỗi nút di động có thể nhận biết được các nút hang xóm của
mình nhờ việc sử dụng một số kĩ thuật , bao gồm quảng bá nội vùng ( khơng phải
tồn hệ thống ) được biết đến như là các bản tin Hello .
Bảng định tuyến của các nút lân cận được tổ chức tối ưu hóa thời gian để đáp ứng
nội vùng và cung cấp cho các yêu cầu thành lập tuyến mới . Mục tiêu chính của
thuật tốn là :
• Chỉ phát gói quảng bá khi cần thiết
• Để phân biệt giữa quản lý kết nối nội vùng và duy trì topo mạng nói chung
• Để phổ biễn thong tin về các thay đổi trong kết nối nội vùng với các nút di động
hang xóm có khả năng cần thơng tin.
AODV sử dụng một cơ chế khám phá tuyễn , cũng như được sử dụng ( với sửa đổi
và bổ sung ) trong thuật toán định tuyến nguồn động DSR . Thay vì dung tuyến
nguồn , AODV lại dựa vào bảng định tuyến thiết lập động tại các nút trung gian . Sự
khác biệt này phải trả giá trong mạng mà có nhiều nút , nơi mà chi phí lớn hơn là các

tuyễn nguồn được mang trong mỗi gói dữ liệu . Mỗi nút ad hoc duy trì một bộ đếm số
của chỉ số thứ tự tăng đơn điệu cái mà được dùng để thay thế cho bộ nhớ tuyến .
Sự kết hợp của kĩ thuật này tạo ra một thuật tốn sử dụng băng thơng một cách hiệu
quả ( bằng cách giảm tối thiểu tải trọng mạng để điều khiển và phân phát dữ liệu ) là
đáp ứng sự thay đổi topo và đảm bảo vòng lặp tuyến tự do.
Các vấn đề cơ bản của thuật toán định tuyến AODV là :
• Các bản tin ROUTER REQUEST và ROUTER REPLY
• Các bản tin ROUTER ERORR , HELLO và danh sách lưu trữ tuyến trước
• Các chỉ số thứ tự
• Hopcount
• Mở rộng vịng lặp định tuyến
2.2 Định dang các gói tin
2.2.1 Định dạng gói tin Router Request


Các trường trong gói tin RREQ :
-

Type : Xác định kiểu gói tin . Khi một nút khơng hiểu kiểu của một gói tin thì phải hủy
bỏ gói tin .
J : Join flag . Được dự trữ cho Multicast
R : Repair flag . Được dùng dự trữ cho Malticast
G : Gratuiuous RREP flag . Chỉ định một Gratitous RREP có nên được truyền tải
unicast hay không tới nút đã được chỉ định trong trường địa chỉ IP đích
D : Destination only flag . Xác định rõ là chỉ có một đích hồi đáp RREQ này
U : Unknow sequence number . Xác định rõ là chỉ số thứ tự đích khơng được biết
Hop count : Chỉ số chặng . Khi một nút trung gian quảng bá tiếp bản tin RREQ đến
các nút hang xóm , nó sẽ tăng chỉ số hop count lên một khi gửi
RREQ id : Chỉ số RREQ id được quyết định bởi nút khởi tạo RREQ . Mỗi khi nó khởi
tạo một RREQ mới thì chỉ số broadcast id được tăng thêm 1

Destination IP Address : Địa chỉ của nút đích mà cần tìm đường để thực hiện truyền
tin từ nút nguồn tới nút địch
Destination Sequence Number : Chỉ số thứ tự đích . Là chỉ số cuối cùng được nhận
bởi nguồn từ bất kì tuyến nào theo hướng tới đích
Originator IP Address : Địa chit của nút nguồn phat động bản tin RREQ
Originator Sequence Number : Chỉ số thứ tự hiện tịa được sử dụng trong mục tuyến
trỏ theo hướng nguồn của RREQ

2.2.2 Định dang gói Router Reply


Trong đó :
-

-

Type : 2
R : Repair flag , được sử dụng cho Malticast
A : Acknowledgment required
Prefix Size : Kích thước tiền tố . Nếu khác không , 5 bit kích thước tiền tố xác định
rằng các chỉ báo chặng tiếp theo có thẻ được sử dụng cho bất kì tuyến nào với cùng
một tiền tố định tuyến như đích được yêu cầu
Hop count : Chỉ số chặng . Khi một nút trung gian quảng bá tiếp bản tin RREQ đến
các nút hang xóm , nó sẽ tăng chỉ số hop count lên 1 khi gửi
Destination IP Address : Địa chỉ của nút đích mà cần tìm đường để thực hiện truyền
tin từ nút nguồn tới nút đích
Destination Sequence Number : Chỉ số thứ tự đích . Là chỉ số cuối cùng được biết
đến của đích được yêu cầu
Originator IP Address : Đia chỉ IP của nút khởi đầu RREQ
Lifetime : Thời gian tồn tại của gói tin sau khi được gửi


2.2.3 Định dang gói Router Error

Các trường trong gói RERR :
-

Type : 3
N : No delete flag . Cờ này được thiết lập khi một nút thực hiện sửa chữa một liên
kết nội vùng và các nút đường lên khơng nên xóa tuyến


-

Destination Count : Số luwngj các đích khơng thể đến được trong bản tin . Phải ít
nhất là 1
Unreachable Destination IP Address : Địa chỉ IP của đích mà khơng thể đến được do
liên kết gãy
Unreachable Destination Sequence Number : Chỉ số thứ tự trong mục bảng định
tuyến cho đích được liệt kê trong trường Unreachable Destination IP Address trước

2.2.4 Định dang gói Router Reply Acknowledgment

Trong đó :
-

Type : 4
Reserved : Được dùng để dự phòng

2.3 Nguyên lý hoạt động
2.3.1 Số Sequence number

Mỗi bảng định tuyến tại tất cả các node đều phải lưu giữ những thông tin mới nhất có thể về
số sequence của tất cả các node đích mà bảng định tuyến đang duy trì một đường đi khả
dụng đến đó. Số sequence này được gọi là “số sequence đích”. Nó được cập nhật bất cứ
khi nào node đó nhận được thơng tin mới về số sequence từ các bản tin RREQ, RREP,
hoặc RERR. Một node đích tăng số sequence của riêng nó trong 2 trường hợp:
-

Ngay lập tức trước khi node khởi tạo một bản tin yêu cẩu RREQ
Ngay lập tức khi node đích thực hiện khởi tạo bản tin đáp trả RREP để hồi đáp lại
bản tin RREQ nhận được.

Một node chỉ thực hiện thay đổi số sequence trong bảng định tuyến về một node nào đó
trong các trường hợp sau đây :
-

Bản thân nó là node đích, và nó chuẩn bị gửi bản tin hồi đáp RREP tới node tạo bản
tin yêu cầu RREQ về nó.
Nó nhận được một bản tin AODV với thơng tin về số sequence của node đích mới
hơn.
Đường đi tới node đích này bị gãy hoặc là bị hết hạn.

2.3.2 Quá trình tạo đường khỏi tạo kết nối
Một node khởi tạo bản tin yêu cầu RREQ khi nó xác định được rằng mình cần một tuyến
đường đến node đích nào đó và trong bảng định tuyến của nó, nó khơng có tuyến đường
khả dụng nào đến node này cả. Trường số sequence đích trong bản tin RREQ là số
sequence mới nhấtcủa node đích mà node khởi tạo có và giá trị này được sao chép từ
trường số sequence đích trong bảng định tuyến. Nếu khơng có số sequence đích, cờ “số
sequence không xác định” trong bản tin RREQ được dựng là 1. Số sequence nguồn trong



bản tin RREQ chính là số sequence của node khởi tạo bản tin RREQ này. Trường RREQ ID
được tãng thêm 1 từ số RREQ ID lần cuối được sử dụng tại node đó. Mỗi node chỉ có duy
nhất một số RREQ ID. Trường Hop Count được đặt là 0.
Một node nhận được bản tin RREQ, sẽ thực hiện gửi lại bản tin RREP khi :
-

Nó chính là node đích được chỉ ra trong bản tin RREQ
Nó biết đường đi tới node đích được chỉ ra trong bản tin RREQ, số sequence đích
trong bảng định tuyến cho node đích này là khả dụng và lớn hơn hoặc bằng số
sequence đích trong bản tin RREQ.

2.3.3 Duy trì kết nối
Mỗi node đều phải liên tục theo dõi các kết nối đang được sử dụng bằng cách giữ liên kết
với các node tiếp theo trong tuyến đường đi. Một số cách được AODV sử dụng để giữ liên
kết với các node kế tiếp :
-

-

Nếu có thể sử dụng các báo hiệu ở lớp liên kết, như là các báo hiệu được đưa ra
trong chuẩn IEEE 802.11, AODV sẽ sử dụng chúng để kiểm tra trạng thái của liên
kết. Mỗi khi có một bản tin được truyền đến một node kế tiếp, node đó sẽ đợi bản tin
ACK ở lớp liên kết. Nếu sau một số lần cho phép mà việc truyền lại đều không thành
cơng, điều đó sẽ chỉ răng liên kết với node tiếp theo đã bị gãy
Để giữ liên kết với node kế tiếp, AODV cịn sử dụng một bản tin đó là bản tin
hello.Một node chỉ thực hiện phát quảng bá bản tin hello nếu nó đang nằm trong một
tuyến đường đang được sử dụng để truyền tin. Cứ sau một khoảng thời gian là
HELLO_INTERVAL mili giây, node đó sẽ kiểm tra xem nó đã phát quảng bá một bản
tin nào chưa (bản tin RREQ hoặc một bản tin lớp 2 thích hợp). Nếu nó chưa, nó sẽ
thực hiện phát quảng bá một bản tin HELLO (chính là bản tin RREP với trường TTL

= 1, được gọi là bản tin HELLO). Các trường của bản tin Hello bao gồm:
▪ Destination IP address: địa chỉ IP của node đó
▪ Destination Sequence Number: số sequence hiện tại của node đó.
▪ Hop count: 0
▪ Lifetime:
thời
gian
sống
=
ALLOWED_HELLO_LOSS *
HELLO_INTERVAL

Một node sẽ xác định trạng thái của liên kết bằng cách lắng nghe bản tin HELLO từ các
node lân cận. Nếu trong khoảng thời gian ALLOWED_HELLO_LOSS * HELLO_INTERVAL
mili giấy, nó khơng nhận được bản tin nào từ hàng xóm (bản tin Hello hoặc các bản tin
khác), liên kết đó sẽ được coi là bị gãy, node sẽ thực hiện kiểm tra điều kiện xem có thể
thực hiện sửa cục bộ. Nếu điều kiện thỏa mãn, node sẽ thực hiện sửa cục bộ, cịn nếu
khơng, nó sẽ thực hiện gửi bản tin RERR về node nguồn để báo cho node nguồn thực hiện
định tuyến lại.
Bất cứ khi nào node nhận được một bản tin Hello từ hàng xóm, node sẽ kiểm tra xem nó có
tuyến đường nào đang được sử dụng mà node gửi bản tin Hello đóng vai trị là node kế tiếp
hay khơng, nếu khơng nó có thể tạo một bản ghi mới nếu cần thiết. Nếu thực sự có tuyến
đường sử dụng node hàng xóm đó làm node kế tiếp, nó sẽ thực hiện tăng giá trị của trường
thời gian sống (lifetime) trong bảng định tuyến. Những bản ghi trong bảng định tuyến được
tạo bởi việc gửi nhận bản tin hello mà không được dùng đến thì khi trường thời gian sống


(lifetime) hết hạn, tức là node hàng xóm đã di chuyển ra khỏi vùng phủ sóng hay gặp trục
trặc thì node đó sẽ xóa bản ghi đó mà khơng thực hiện gửi bản tin RERR nào cả.
2.3.4 Xử lý khi có lỗi xảy ra

Gồm các bước sau :
-

Đánh dấu tuyến đường bị lỗi.
Liệt kê các node đích bị ảnh hưởng
Xác định nếu có những node hàng xóm có thể bị ảnh hưởng
Gửi bản tin RERR phù hợp tới những node hàng xóm này

2.3.5 Sửa cục bộ
Khi một liên kết bị gãy trong 1 tuyến đường đang được sử dụng xảy ra, node đầu tiên trong
tuyến đường từ chỗ đứt gẫy hướng về phía nguồn phát sẽ thực hiện sửa cục bộ nếu chiều
dài đoạn đường từ node đó đến node nguồn lớn hơn chiều dài từ node đó đến node đích.
Do q trình sửa cục bộ này có thể làm tuyến đường cần sửa dài ra hơn cần thiết, bởi vậy
với điều kiện giới hạn số node có thể thực hiện được sửa cục bộ, giao thức có thể hạn chế
được số bản tin cần gửi và qua đó có thể tiết kiệm được năng lượng và giảm độ trễ.
Để sửa kết nối bị gãy, node sẽ tăng số sequence của node đích cần tìm kiếm lên 1 và sau
đó sẽ phát quảng bá bản tin yêu cầu RREQ về node này. Trường TTL của bản tin RREQ sẽ
được gán giá trị bằng thời gian trường TTL của node bị mất kết nối đó trong bảng định
tuyến. Node thực hiện sửa cục bộ sẽ chờ bản tin hồi đáp RREP cho bản tin RREQ này để
thực hiện sửa kết nối. Trong quá trình sửa cục bộ này, các bản tin mang dữ liệu sẽ được
lưu vào bộ nhớ đệm. Nếu đến hết thời gian sửa mà node thực hiện sửa khơng nhận được
bản tin RREP nào về node đích bị mất kết nối này, nó sẽ thực hiện gửi bản tin RERR
Mặt khác, nếu node thực hiện sửa nhận được một hoặc nhiều bản tin RREP trong quá trình
sửa, node sẽ thực hiện cập nhật lại bảng định tuyến của mình và tiếp tục thực hiện tiếp việc
truyền dữ liệu đến node đích
CHƯƠNG III : GIAO THỨC ĐỊNH TUYẾN DSR
3.1 Tổng quan về DSR
DSR là giao thức định tuyến tự duy trì cho mạng khơng dây, cho phép mạng tự động tổ
chức và cấu hình mà khơng cần cơ sở hạ tầng sẵn có của mạng cũng như bất kỳ sự quản
trị mạng nào. DSR là một trong những giao thức tiêu biểu và hiệu quả được sử dụng phổ

biến trong mạng ad hoc hiện nay. Giao thức này được thiết kế đặc biệt để sử dụng trong
mơ hình multihop mạng tùy biến khơng dây. Các node có thể kết nối với các node khác
trong mạng mà không cần kết nối trực tiếp với nhau. Các node có thể định tuyến với các
node khácthông qua các node trung gian trong mạng. Khi các node trong mạng di chuyển,
tham gia vào mạng, rời khỏi mạng , hay môi trường mạng không dây bị nhiễu thì tất cả các
tuyến đường trong mạng tự động được xác định và duy trì bằng giao thức DSR.


Giao thức định tuyến DSR bao gồm hai cơ chế: Route Discovery và Route Maintenance,
nhờ hai cơ chế này mà các node có thể tìm và duy trì được các đường đi đến các node
trong mạng.
-

Route Discovery ( phát hiện đường đi) : là cơ chế tìm đường khi node gốc
muốn gửi gói dữ liệu đến node đích khi chưa biết đường đi.

-

Route Maintenance: là cơ chế mà một node bất kỳ có khả năng tìm đường đi
mới khi đường truyền đang sử dụng bị gián đoạn do cấu hình mạng bị thay
đổi hoặc kết nối giữa các node trong đường truyền không hoạt động. Khi phát
hiện đường truyền cũ bị đứt, node gốc có thể tìm một đường truyền khác đến
node đích mà nó đã biết con đường đó hoặc thực hiện cơ chế Route
Discovery để tìm ra đường đi mới.

Giao thức DSR chỉ duy trì các “chế độ mềm” soft state – một vài chế độ (state) biến mất sẽ
khơng can thiệp vào hoạt động chính xác của giao thức. Tất cả các chế độ được thiết lập khi
cần thiết và có thể tái thiết lập nếu thiết lập ban đầu thất bại mà không gây ra tác động đáng
kể nào cho giao thức.
Có thể giao tiếp mạng DSR này với mạng DSR kia hoặc với các mạng khác (mạng Internet

hoặc mạng ad hoc với các giao thức định tuyến ngồi DSR…).
3.2 Ngun lý hoạt động
Một đặc tính nổi bật khác của DSR là nó sử dụng kỹ thuật định tuyến nguồn Source
Routing. Theo đó, khi muốn gửi một gói tin, một tuyến nguồn sẽ được hình thành và lưu ở
tiêu đề của gói tin. Tuyến nguồn này chứa một danh sách có thứ tự đầy đủ về các node
mạng cần đi qua để tới đích, đồng nghĩa với việc node nguồn sẽ biết tồn bộ thơng tin
đường đi đến đích, điều này giúp cho việc định tuyến trên mạng khơng bị hiện tượng vịng
lặp (loop) , làm tăng hiệu năng của mạng. Để định tuyến được thì trong phần header của
packet lưu giữ thêm thông tin về source route. Thông tin về bảng định tuyến được lưu trong
bảng route cache. Nói cách khác, khi một node nguồn A cần gửi một gói tin tới node đích H ,
A ghi thứ tự các bước đi trong cả đường đi tới H vào phần thơng tin header của gói tin.
Trong giao thức DSR, mỗi cơ chế duy trì và phát hiện đường truyền hoạt động hoàn toàn
theo yêu cầu (on- demand) nên so với một số giao thức khác, DSR có những điểm vượt trội
hơn như: khơng phát quảng bá định tuyến định kỳ, hỗ trợ tìm đường đi qua cả các liên kết
không đối xứng và phù hợp với tính động của topo mạng. DSR khơng u cầu các gói gửi
theo định kỳ dưới bất kỳ hình thức và tầng nào trong mạng.
3.3 Cơ chế Router Discovery


Route Discovery cho phép các host trong mạng Ad hoc 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 route discovery sẽ phát một
broadcast gói Route Request ( RREQ) lên mạng. Ngồi các trường bình thường, 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, nó sẽ tiến hành kiểm tra như sau:
-

Kiểm tra xem đây có phải là lần đầu tiên nó nhận gói RREQ có địa chỉ đích và số
request _ ID hay khơng? Nếu khơng phải thì nó sẽ loại bỏ gói tin này và khơng xử lý.
Ngược lại, sang bước tiếp theo.


-

Kiểm tra trong trường source route của gói RREQ đã có địa chỉ của nó hay chưa?
Nếu đã tồn tại thì nó cũng sẽ loại bỏ gói tin đó và khơng xử lý thêm. Ngược lại, qua
bước tiếp theo

-

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ó, nó sẽ phải 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, qua bước tiếp
theo

-

Kiểm tra địa chỉ đích cần tìm có trùng với địa chỉ của nó hay khơng? Nếu trùng, nó
cũng sẽ gởi lại cho node nguồn gói RREP chứa đường đi đến đích và kết thúc tiến
trình. Ngược lại, nó sẽ phát broadcast đến các hang xóm

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 RREP được gởi đến node
nguồn bằng cơ chế phát unicast với source route là đảo ngược với source route trong gói
RREQ.
Sơ đồ thực hiện Router Discovery ở nguồn S


Nguồn S tìm đường tới đích D ,
node E nhận được gói RREQ

Node E kiểm tra địa chỉ đích và số

request _ ID của gói RREQ

Địa chỉ đích và số requet_ID lần đầu xuất hiện

S

Đ

E kiểm tra trong trường source route của
gói RREG

S

Có địa chỉ của E trong source route của gói
RREQ

Đ
Kiểm tra route cache của S

Gửi RREP cho
nguồn S

Có đường còn hiệu lực

So sánh dịa chỉ của D và địa chỉ của E

Địa chỉ của E trùng với địa chỉ của D

Kết thúc


Phát
broadcast cho
node F


Trong quá trình route discovery, các node sẽ học được các con đường đi đến các node
khác và lưu trong route cache của mình:
-

Khi node nguồn tìm kiếm được đường đi đến node đích thì nó cũng biết được

đường đi đến các node trung gian. Ví dụ: Khi node S tìm được đường đi đến node D là
[S,E,F,J,D] thì node S sẽ biết được đường đi đến các node khác như node F là [S,E,F],
node J là [S,E,F,J]…
-

Trong quá trình broadcast gói RREQ, các node trung gian cũng biết được con

đường đi đến node nguồn. Ví dụ: Khi K nhận được gói RREQ với định tuyến nguồn là
[S,C,G] thì K biết được đường đi đến node nguồn S là [K,G,C,S]…
-

Trong q trình forward gói RREP thì các node trung gian biết được đường đi

đến node đích. Ví dụ: Khi node F forward gói RREP với định tuyến ngồn là [S,E,F,J,D]
thì F biết được đường đi đến D là [F,J.D]…
3.4 Cơ chế Router Maintenance
Trong giao thức định tuyến DSR, các node khi chuyển gói tin trên mạng đều phải có nhiệm
vụ xác nhận rằng gói tin đó đã chuyển đến next hop hay chưa? Trong một trường hợp nào
đó mà node đó phát hiện rằng khơng thể truyền gói tin đến next hop. Nó sẽ gởi gói Route

Error (RRER ) cho node nguồn để thơng báo tình trạng hiện thời của liên kết và địa chỉ hiện
thời của next hop mà khơng thể chuyển đi. Khi node nguồn nhận được gói RRER, nó sẽ
xóa con đường đi mà sử dụng liên kết bị hỏng trong route cache và tìm một đường đi khác
mà nó biết trong route cache hoặc khởi động một tiến trình route discovery mới nếu đường
đi này đang có nhu cầu sử dụng.


Một node nguồn S khởi tạo một quá trình khám phá con đường định tuyến khi S khơng
có một lộ trình hợp lệ đến đích trong bộ nhớ đệm D. Ví dụ, S gữi gói tin RREQ để khám
phá con đường đến bộ nhớ đệm D.

Node H nhận được gói RREQ từ node B,C có khả năng va chạm.


Node C vẫn nhận được gói RREQ từ node G, H nhưng nó sẽ khơng chuyển tiếp một lần
nữa, vì C đã chuyển tiếp một lần trước đây.

Node J và K tuyền gói RREQ đến D và ẩn đi, chúng truyền có thể va chạm.

Node D nhận được gói RREQ và khơng chuyển tiếp chúng đi nữa, vì node D là mục tiêu
dự định của việc khám phá con đường.
Kết thúc, con đường ngắn nhất đã được tìm thấy đó là:RREQ [S,E,F,J,D]
Sau đó con đường này được lưu trữ vào bộ nhớ đệm để dùng nếu sau này cần.


Trong quá trình tìm đường, các router duy trì danh sách ID của những router trung gian
trong các yêu cầu tìm kiếm gần thời điểm đó để tránh phải xử lý cùng một yêu cầu tìm
kiếm (lặp). Yêu cầu tìm kiếm bị bỏ qua trong trường hợp chúng đã được xử lý gần thời
điểm đó và được xác định là một yêu cầu lặp. Khi một router nhận được yêu cầu và
nhận ra rằng ID của nó đã nằm sẵn trong danh sách router trung gian của u cầu

đó thì yêu cầu này sẽ bị bỏ qua.
Quá trình bảo trì đường dẫn diễn ra khi đường dẫn trở nên không thể sử dụng
được vì sự di chuyển khơng đốn trước của các router (đặc trưng của MANET). Mỗi
router quản lý tất cả đường dẫn để chuyển tiếp các gói, khi một đường dẫn hỏng, một
gói bảo cáo lỗi đường dẫn (Route error) lập tức được gửi về router nguồn và đường
dẫn tương ứng. Vì vậy, đường dẫn bị hỏng sẽ bị bỏ qua.
2.5 Nhược điểm của giao thức DSR
Để quản lý việc truyền gói dữ liệu điều khiển vốn khơng đảm bảo (topo mạng luôn
thay đổi), DSR phải dựa vào giao thức ngầm định MAC (XX) để đảm bảo nơi nhận ln
nhận được dữ liệu hoặc nó sẽ gửi gói dữ liệu điều khiển một số lần nhất định. Vì DSR là
một giao thức bị động, nó khơng thể biết được router đích bị ngắt kết nối hay yêu cầu tìm
đường bị mất. Vì vậy, chi phí vận hành sẽ lớn trong trường hợp giao thức MAC không đảm
bảo dữ liệu ln tới được đích. Đây là một vấn đề phổ biến của các giao thức bị
động, bởi vì khi khơng nhận được trả lời từ router đích, router có giao thức bị động sẽ
không thể phân biệt được hai trường hợp tìm đường lỗi xảy ra trong quá trình truyền dẫn
hoặc bảo trì đường dẫn một hoặc nhiều node mạng trở nên không thể sử dụng được.
Giao thức bị động thường sử dụng nhiều gói xác nhận (Acknowledgement) hoặc gửi
dữ liệu đi nhiều lần để khắc phục vấn đề này, tuy nhiên phương pháp này lại làm tăng


chi phí hoạt động. Giao thức chủ động phát đi các gói điều khiển định kỳ và bỏ qua các
node mạng khi chúng không trả lời sau một số lần phát nhất định, vì vậy giao thức này
khơng mắc phải vấn đề trên, tuy nhiên việc phát các gói điều khiển một cách định kỳ như
vậy cũng làm tăng chi phí.
CHƯƠNG IV : PHẦN MỀM MƠ PHỎNG NS2
4.1 Giới thiệu về NS2
NS (network simulation) là chương trình phần mềm dạng hướng đối tượng được sử dụng
để mô phỏng lại các sự kiện xảy ra trong hệ thống mạng. Hệ mô phỏng NS-2 được phát
triển ở trường đại học từ năm 1989, làm một phần trong dự án VINT (Virtual Internet
Testbed) của phịng thí nghiệm quốc gia Lawrence Berkeley. Ns thực thi các giao thức

mạng như Giao thức điều khiển truyền tải (TCP) và Giao thức gói người dùng (UDP); Các
dịch vụ nguồn lưu lượng như Giao thức truyền tập tin (FTP), Telnet, Web, Tốc độ bit cố định
(CBR) và Tốc độ bit thay đổi (VBR) ; các kỹ thuật quản lý hàng đợi như Vào trước Ra trước
(Drop Tail), Dò sớm ngẫu nhiễn (RED) và CBQ; các thuật toán định tuyến như Dijkstra… NS
cũng thực thi multicasting và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối
với mơ phỏng LAN
Để sử dụng NS-2, user lập trình bằng ngơn ngữ kịch bản OTcl. . Kịch bản OTcl có thể thực
hiện những việc sau:
-

Khởi tạo Bộ lập lịch Sự kiện

-

Thiết lập Mơ hình mạng dùng các đối tượng Thành phần Mạng

-

Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong Bộ lập
lịch Sự kiện

File nam trace (file.nam) được dùng cho công cụ Minh họa mạng NAM
File Trace (file.tr) được dùng cho công cụ Lần vết và Giám sát Mơ phỏng XGRAPH hay
TRACEGRAPH
Ta có sơ đồ hoạt động :



×