Các thông số mặc định của giao thức AODV

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Hoàn thiện thủ tục phân tuyến AODV trong mạng cảm biến không dây và thực nghiệm trên phần mềm Opnet (Trang 45 - 52)

Thông số Giá trị mặc định

Khám phá tìm đƣờng

Số lần thử lại yêu cầu tìm

đƣờng 5

Tốc độ giới hạn yêu cầu

tìm đƣờng(pkts/s) 10

Cờ G trả lời yêu cầu tìm

đƣờng Tắt

Yêu cầu Ack Tắt Thời gian quá hạn của

đƣờng(s) 3

Khoảng thời gian bản tin

Hello(s) Uniform(1,1.1)

Cho phép mất bản tin

Hello 2

Đƣờng kính mạng 35

Thời gian gói tin qua

nút(s) 0.04

Giới hạn số bản tin RERR

(pkts/s) 10

Thời gian quá hạn bộ đệm 2

Thông số TTL TTL bắt đầu 1 Mức tăng TTL 2 Ngƣỡng TTL 7 Giá trị TTL cộng cục bộ 2 Kích thƣớc gói tin hàng

đợi (packets) Không giới hạn

Sửa chữa cục bộ Mở

Chế độ địa chỉ Ipv4

Ý nghĩa của các thông số nhƣ sau :

 Route Request Retries : số lần tối đa một nút sẽ gửi lại bản tin RREQ.

 Route Request Rate Limit : giới hạn số bản tin RREQ đƣợc tạo ra trong 1s.

 Gratuitous Route Reply Flag : sau khi một nút nhận một bản tin RREQ và trả lời lại một bản tin RREP nó sẽ xóa bỏ bản tin RREQ này, khi nút nguồn đƣợc đặt cờ G “Gratuitous Route Reply” trong bản tin RREQ, nút trung gian sẽ trả lời một bản tin RREP đến nút nguồn, đồng thời gửi một bản tin Gratuitous RREP đến nút đích để cập nhật và chắc chắn rằng đƣờng đi vẫn tồn tại. Điều này cho phép AODV có thể đáp ứng nhanh hơn yêu cầu tìm đƣờng đi.

 Destination Only Flag : khi một nút trung gian nhận thấy nó có một đƣờng đi đủ mới, nó sẽ trả lời một bản tin RREP về nút nguồn. Khi “Destination Only Flag” đƣợc bật, chỉ nút đích mới đƣợc gửi bản tin RREP về nút đích.

 Ack Required : để đảm bảo bản tin RREP không bị mất trên đƣờng truyền, bản tin “ACK Required” đƣợc gửi trở lại nút khởi tạo bản tin RREP.

 Active Route Timeout : nếu một đƣờng đi không đƣợc sử dụng và làm mới trong khoảng thời gian “Active Route Timeout”. AODV sẽ đánh dấu tuyến đƣờng đã không còn hiệu lực và xóa nó khỏi bảng định tuyến. Trong trƣờng hợp các nút thay đổi, giá trị “Active Route Timeout” nhỏ sẽ loại bỏ đƣợc các tuyến đƣờng cũ không còn sử dụng.

 Hello Interval(s) : xác định khoảng thời gian truyền bản tin Hello. Bản tin Hello đƣợc sử dụng cho việc bảo trì đƣờng đi, nó đƣợc sử dụng để tính toán thời gian một nút bị mất kết nối với nút hàng xóm. Nếu một nút không nhận đƣợc bất cứ một bản tin nào trong một khoảng thời gian "Allowed Hello Loss * Hello Interval", nút đó sẽ cho rằng kết nối đến nút hàng xóm đã bị mất. Với mạng mà các nút ít di động, thông số này nên đƣợc đặt ở một giá trị cao.

 Allowed Hello Loss : chỉ ra số bản tin Hello đƣợc phép mất mát trên đƣờng truyền. Với một mạng dày đặc, có tỉ lệ xung đột cao, thông số này nên đƣợc đặt ở một giá trị cao.

 Net Diameter : chỉ ra số lƣợng nút trung gian tối đa.

 Node Traversal Time : thời gian ƣớc lƣợng xử lý gói tin của một hop.

 Route Error Rate Limt : giới hạn số bản tin RERR.

 Timeout Buffer : thuộc tính này cung cấp một bộ đệm cho khoảng thời gian chờ nhận bản tin RREP. Thuộc tính này đƣợc dùng để tính toán “Ring Traversal Time”.

Ring Traversal Time = 2 * Node Traversal Time * (TTL_Value + Timeout Buffer)[2].

 TTL Start : đƣợc sử dụng cho bản tin RREQ đầu tiên, nút nguồn sẽ bắt đầu đặt trƣờng TTL = “TTL Start” cho việc tìm đƣờng. Nếu không nhận đƣợc bản tin RREP, nút nguồn sẽ tăng TTL trong bản tin RREQ tiếp theo.

 TTL Increment : giá trị TTL sẽ đƣợc tăng thêm “TTL Increment” trong bản tin RREQ tiếp theo nếu nhƣ nút nguồn không nhận đƣợc bản tin RREP.

 TTL Threshold : giá trị tối đa cho TTL.

 Local Add TTL : thuộc tính này đƣợc sử dụng để tính toán giá trị TTL trong bản tin RREQ khi một nút thực hiện sửa chữa tuyến đƣờng. Giá trị này đƣợc tính nhƣ sau:

max (MIN_REPAIR_TTL, 0.5 * #Hops) + Local_Add_TTL[2]

trong đó MIN_REPAIR_TTL là số hop đƣợc cập nhật mới nhất đến nút đích.

 Packet queue size : xác định số lƣợng tối đa gói dữ liệu đƣợc lƣu trữ trong hàng đợi trong khi nút nguồn đang tìm đƣờng đến nút đích.

 Local repair : khi bật tính năng này, nút sẽ cố gắng sửa chữa tuyến đƣờng bị hỏng. Nút trung gian sẽ gửi bản tin RERR về nút nguồn và thực hiện sửa chữa. Nếu tắt tính năng này, nút trung gian sẽ chỉ gửi bản tin RERR về nút nguồn mà không thực hiện sửa chữa và sau đó hủy bỏ các gói tin.

 Addressing Mode : định nghĩa giao thức kết nối là IPv4 hay IPv6.

3.2.3 Tùy chỉnh, thay đổi các thông số của AODV

AODV là một trong những giao thức định tuyến phổ biến nhất trong MANET, OPNET đã cung cấp rất chi tiết và bộ mã nguồn mở AODV theo đúng chuẩn RFC 3561. Khi cần truyền dữ liệu, nếu không có đƣờng đi, AODV sẽ phát quảng bá một yêu cầu tìm đƣờng đến đích. Mỗi nút trung gian sẽ tự động xây dựng một con đƣờng kết nối ngƣợc về nút nguồn và đồng thời tiếp tục phát quảng bá yêu cầu tìm đƣờng đến các nút tiếp theo.Nút nguồn khi nhận đƣợc yêu cầu tìm đƣờng, sẽ phản hồi lại bằng cách gửi một bản tin phản hồi tìm đƣờng về nút nguồn[2].

AODV sẽ tìm đƣờng đi ngắn nhất đến đích. Tuy nhiên, không hẳn việc lựa chọn đi theo đƣờng ngắn nhất là tốt nhất[22]. Nếu các nút trên đƣờng đã tìm đƣợc đến đích có tốc độ truyền dữ liệukhác nhau cũng nhƣ thời gian sống của một số nút là ngắn, có thể là hết năng lƣợng thì nó sẽ ảnh hƣởng đến quá trình truyền dữ liệu, có thể dữ liệu sẽ không đến đƣợc đích.

Ý tƣởng đƣa ra là:

 AODV sẽ ƣu tiên lựa chọn đƣờng đi theo chi phí nhỏ nhất (tốc độ truyền dữ liệu cao), thay cho nguyên tắc ban đầu là dựa vào đƣờng đi ngắn nhất.Khi trong mạng có những nút có tốc độ truyền dữ liệu lớn hơn những nút còn lại, AODV sẽ lựa chọn những nút này thay cho những nút có tốc

độ truyền dữ liệu thấp hơn, từ đó dữ liệu đƣợc truyền tới đích nhanh hơn[12][21].

 Thay đổi thông số thời gian TTL[15][16].

 Thay đổi thông số quá trình tìm đƣờng[13].

Để AODV thực hiện ƣu tiên lựa chọn đƣờng đi theo chi phí cần điều chỉnh giao thức AODV :

 Quảng bá thêm chi phítrong gói tin RREQ và RREP.

 Thay đổi cách lựa chọn đƣờng đi của giao thức : từ lựa chọn đƣờng đi ngắn nhất đến lựa chọn đƣờng đi có chi phí tốt nhất.

Để tính chi phí băng thông của từng nút sử dụng công thức : Chi phí = Tốc độ truyền dữ liệu của từng nútTốc độ truyền dữ liệu tham chiếu[12] Trong đó :

 Tốc độ truyền dữ liệu tham chiếu : với 802.11b thì tốc độ truyền dữ liệu tham chiếu là 54Mbps.

 Tốc độ truyền dữ liệu của từng nút : với 802.11b thì một nút mạng có thể có những tốc độ truyền dữ liệusau : 1, 2,5.5 và 11 Mbps.

Để AODV có thể quảng bá thêm thông tin về giá trị chi phí của nút và thay đổi nguyên tắc lựa chọn đƣờng thì:

 Quảng bá bản tin RREQ : gửi một bản tin yêu cầu tìm đƣờng với giá trị chi phí của nút, mặc định nó sẽ không gửi giá trị này, giá trị “Đếm chặng” đặt ở giá trị 0.

 Chuyển tiếp bản tin RREQ :

 Nếu các bản tin RREQ đến có cùng số đếm nhƣng có chi phí thấp hơn so với bản tin trƣớc thì nút sẽ chuyển tiếp bản tin RREQ mới này. Mặc định thì bản tin RREQ có cùng số đếm với bản tin trƣớc đó đƣợc gửi từ cùng nút nguồn thì nó sẽ bị loại bỏ.

 Trƣớc khi chuyển tiếp bản tin RREQ, nút trung gian sẽ cộng thêm giá trị chi phí của nút đó vào giá trị chi phí trong RREQ. Mặc định là chỉ có giá trị “Đếm chặng” đƣợc tăng lên.

 Bản tin RREQ tại nút đích : nếu yêu cầu tìm đƣờng mới có chi phí thấp hơn đƣờng đi đang tồn tại, nút nguồn sẽ gửi bản tin RREP về nút nguồn. Mặc định nếu yêu cầu tìm đƣờng mới có giá trị “Đếm chặng” bé hơn thì nút nguồn sẽ cập nhật mới bảng định tuyến và sử dụng đƣờng đi mới này.

Đối với bản tin RREP :

 Một bản tin RREP đƣợc gửi lại nút đích với giá trị chi phí của nút đó, và giá trị này sẽ đƣợc cộng thêm khi qua các nút chuyển tiếp. Mặc định chỉ có giá trị “Đếm chặng” đƣợc tăng lên.

 Nút nguồn sẽ kiểm tra giá trị chi phí của nút RREP nhận đƣợc và nếu nó có giá trị nhỏ hơn giá trị của đƣờng đi đã tồn tại thì nó sẽ sử dụng đƣờng mới này. Mặc định một nút nguồn sẽ không nhận nhiều hơn 1 bản tin RREP.

Thực hiện điều chỉnh, thay đổi các thông số của AODV trong phần mềm OPNET[12].

Từ giao diện ban đầu của chƣơng trình, thực hiện mở file “Process

Model”:aodv_rte theo đƣờng dẫn : “C:\Program

Files\OPNET\14.5.A\models\std\manet”

Hình 3.2 : Giao diện ban đầu của OPNET

Hình 3.3 : Giao diện mở file của OPNET

Lựa chọn chức năng “FB: Edit Function Block” tại của sổ tiếp theo để thực hiện chỉnh sửa chƣơng trình của AODV.

Hình 3.4 : Giao diện Process Model của OPNET

Từ giao diện chỉnh sửa chƣờng trình AODV, thực hiện thêm vào đoạn mã sau để tính toán giá trị chi phí:

oms_pr_attr_get (process_record_handle, "link_speed", OMSC_PR_NUMBER, &wlan_data_rate);

aodv_cost = WLAN_REF_BANDWIDTH/wlan_data_rate;

Tiếp theo, thêm đoạn mã sau để thêm giá trị chi phí vào trong bảng các thông số AODV :

op_ima_obj_attr_get_toggle (aodv_parms_child_id, "Min Cost Routing", &min_cost_routing_enabled);

Thay đổi cơ chế quảng bá bản tin RREQ, thực hiện thêm giá trị chi phí vào đoạn mã quảng bá bản tin RREQ:

rreq_option_ptr = aodv_pkt_support_rreq_option_create (OPC_FALSE,

OPC_FALSE, grat_route_reply_flag, dest_only_flag, OPC_TRUE, 0,

route_request_id, dest_addr, dest_seq_num, INETC_ADDRESS_INVALID,

sequence_number, aodv_cost);

Đoạn mã này có chức năng tạo vào gửi bản tin RREQ, khi tạo một bản tin RREQ, AODV cũng sẽ thêm vào giá trị “aodv_cost” chính là giá trị chi phí vào bản tin RREQ.

Thực hiện tính toán để tăng giá trị chi phí “aodv_cost” sau mỗi lần bản tin RREQ qua nút trung gian:

rreq_option_ptr->cost += aodv_cost;

Thay đổi cơ chế truyền bản tin RREP:

rrep_option_ptr = aodv_pkt_support_rrep_option_create (OPC_FALSE,

ack_required, 0, rreq_option_ptr->dest_addr, sequence_number, rreq_option_ptr- >src_addr, my_route_timeout, AODVC_ROUTE_REPLY, aodv_cost);

Thực hiện tính toán để tăng giá trị chi phí “aodv_cost” sau mỗi lần bản tin RREP qua nút trung gian :

rrep_option_ptr->hop_count++;

Thực hiện thay đổi nguyên tắc của AODV dựa trên giá trị “aodv_cost” thay vì giá trị “hop count”:

if ((rrep_option_ptr->dest_seq_num > dest_seq_num) || ((rrep_option_ptr-

>dest_seq_num == dest_seq_num) && (route_entry_state ==

AodvC_Invalid_Route)) ||((min_cost_routing_enabled) && (rrep_option_ptr-

>dest_seq_num == dest_seq_num) && (rrep_option_ptr->cost < route_entry_ptr- >cost)) ||((!min_cost_routing_enabled) && (rrep_option_ptr->dest_seq_num == dest_seq_num) && (rrep_option_ptr->hop_count < route_entry_ptr->hop_count)))

{

if (LTRACE_ACTIVE || (op_prg_odb_ltrace_active ("1941_aodv")))

{ op_prg_odb_print_major (pid_string," Updating Route Table with new RREP", OPC_NIL);

}

route_entry_ptr->hop_count = rrep_option_ptr->hop_count; route_entry_ptr->cost = rrep_option_ptr->cost;

Với thông số thời gian TTL, thực hiện thay đổi các thông số nhƣ sau [15][16][31][32]:

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Hoàn thiện thủ tục phân tuyến AODV trong mạng cảm biến không dây và thực nghiệm trên phần mềm Opnet (Trang 45 - 52)

Tải bản đầy đủ (PDF)

(79 trang)