Trong thuậttoán Bellman-Ford, mọi nút duy trì một bảng định tuyến hay ma trận chứathông tin khoảng cách và thông tin về nút kế tiếp của mình trên đường đingắn nhất tới đích bất kỳ, trong
Trang 1MÔ PHỎNG ĐÁNH GIÁ GIAO THỨC
ĐỊNH TUYẾN PROACTIVE VÀ
REACTIVE CHO MẠNG MANET
Trang 2AODV Ad hoc On- Demand Distance Vector
CGSR Clusterhead Gateway Switch Routing
DC Diffusion Computation
DSDV Destination Sequence Distance Vector
DSR Dynamic Source Routing
DV Distance Vector
FSR Fisheye State Routing
HARP Hybrid Ad hoc Routing Protocol
LS Link State
MANET Mobile Ad hoc Network
OLSR Optimized Link State Routing
TORA Temporally Orderd Routing Algorithm
WRP Wireless Routing Protocol
ZRP Zone Routing Protocol
AS
DBF
Trang 3CHƯƠNG 1 TÌM HIỂU MẠNG MANET
1.1 Định nghĩa
Manet (Mobile Ad Hoc Network) là một tập hợp của những node mạngkhông dây, những node này có thể được thiết lập tại bất kì thời điểm vàtại bất kì nơi nào Mạng Manet không dùng bất kì cơ sở hạ tầng nào Nó
là một hệ thống tự trị mà máy chủ di động được kết nối bằng đường vôtuyến và có thể di động tự do, thường hoạt động như một router
Hình 1- : Mobile Ad-hoc Network 1.2 Lịch sử phát triển
Mobile Ad-hoc Network trước đây còn được gọi là mạng vô tuyến gói, và được tàitrợ, phát triển bởi DARPA trong đầu thập niên 1970
Sau đó một mạng mới: SUSAN ( Survivable Adaptive Network) đã được đề xuấtbởi DARPA vào năm 1983 để hỗ trợ một mạng quy mô lớn hơn, mạnh mẽ hơn.Thời gian này, Ad-hoc đã được sử dụng để mô tả 1 loại mạng như tiêu chuẩnIEEE802.11
Mobile Ad-hoc Network được định nghĩa bởi IETF ( Internet Engineering TaskForce) Mạng Manet là một vùng tự trị ( AS) của các router (đó chính là các node)
Trang 4được kết nối với nhau bằng liên kết không dây, các node có thể di chuyển một cách
tự do nên kiến trúc của mạng thay đổi liên tục mà không thể dự đoán trước
1.3 Đặc điểm của mạng Manet
Ưu điểm:
Cấu hình mạng thay đổi liên tục và bất kỳ trong quá trình truyền dữ liệu
Do việc sử dụng kênh truyền không dây dẫn đến sự hạn chế về dung lượng
và băng thông
Do bản chất là sự lan truyền sóng vô tuyến nên chịu ảnh hưởng của
sự mất mát gói dữ liệu lớn, chịu delay lớn hơn mạng cố định
Các node mạng trong mạng Ad hoc sử dụng nguồn năng lượng chủ yếu
là pin.Vì thế tiết kiệm năng lượng là một tiêu chuẩn quan trọng trong việcthiết kế hệ thống
Nhược điểm:
Nguồn pin có hạn
Tính bảo mật thấp
1.4 Các định tuyến trong mạng Manet
Trong mạng thông tin vô tuyến nói chung và mạng Ad hoc nói riêng domọi nút mạng đều có khả năng di chuyển nên topo mạng cũng thay đổitheo thời gian Đặc điểm này gây ra khó khăn trong việc truyền tải góitin Riêng mạng Ad hoc gói tin muốn được đến đích thì phải truyền quanhiều trạm và nút mạng do đó để gói tin đến được đích thì nút mạng phải
Trang 51.4.1 Định tuyến Bellman-Ford:
Nhiều lược đồ định tuyến trước đây được xây dựng cho mạng không dây Adhoc dựa trên thuật toán Bellman-Ford Các lược đồ này cũng được nghiêncứu giải quyết các vấn đề của lược đồ Distance Vector (DV) Trong thuậttoán Bellman-Ford, mọi nút duy trì một bảng định tuyến hay ma trận chứathông tin khoảng cách và thông tin về nút kế tiếp của mình trên đường đingắn nhất tới đích bất kỳ, trong đó khoảng cách chính là chiều dài ngắn nhất
Các thông tin tính toán mới này sẽ được lưu trữ vào bảng định tuyến của nútnày và được trao đổi ở vòng cập nhật định tuyến tiếp theo
Định tuyến nay có ưu điểm là đơn giản và tính toán hiệu quả do đặc điểmphân bố Tuy nhiên nhược điểm của nó là hội tụ chậm khi topo mạng thayđổi và có xu hướng tạo các vòng lặp định tuyến đặc biệt là khi các điều kiệnliên kết không ổn định
Trang 6 Nguyên nhân dẫn đến sự thiếu chính xác là do nút mạng không có được cácthông tin trạng thái toàn mạng dẫn đến các quyết định đưa ra chỉ tối ưu trongphạm vi cục bộ, nó không đảm bảo một giải pháp tối ưu trong môi trường diđộng.
Thêm vào đó DBF chỉ duy trì một đường đi duy nhất tới đích, nó thiếu khảnăng thích nghi với các lõi liên kết và yêu cầu nghiên cứu mở rộng cho các
hỗ trợ multicasting
1.4.3 Định tuyến On-demand:
Định tuyến On-demand được biết đến như DC (Diffusion Computation) cũngđược sử dụng trong mạng không dây Trong lược đồ định tuyến On-demand,một nút xây dựng đường đi bằng cách chất vấn tất cả các nút trong mạng.Gói chất vấn tìm được ID trung gian và lưu giữ ở phần Path Khi dò tìm cácđường chất vấn, nút đích hay các nút đã biết đường đi tới đích tră lời phúcvấn bằng cách phúc đáp ”source router” cho nơi gửi Do nhiều phúc đáp nên
có nhiều đường đi tính toán và duy trì
Sau khi tính toán đường đi nút liên kết bất kì bắt đầu các chất vấn, phúc đápkhác nên luôn cập nhât định tuyến Mặc dù các tiếp cận dựa trên cơ sở DC có
đô chính xác cao hơn và phản ứng nhanh hơn với sự thay đổi mạng nhưngphụ trợ điều khiển quá mức do thường xuyên yêu cầu flooding đặc biệt khitính di động cao hơn và lưu lượng dày đặc phân bố đều nhau
Kết quả là các giao thức định tuyến On-demand chỉ phù hợp với mạng khôngdây, băng thông rộng và lưu lượng rất nhỏ
1.4.4 Định tuyến vùng:
Định tuyến vùng là giao thức định tuyến khác thiết kế trong môi trường Adhoc Đây là giao thức lai giữa định tuyến On-demand với một giao thức bất
kì đã tồn tại
Trang 7 Trong định tuyến vùng mỗi nút xác định nguồn riêng khi nút ở khoảng cáchnhất định Định tuyến vùng trung gian sử dụng định tuyến On-demand để tìmđường đi.
Ưu điểm: Khả năng mở rộng cấp độ khi nhu cầu lưu trữ cho bảng định tuyếngiảm xuống Tuy nhiên do gần giống với định tuyến On-demand nên địnhtuyến vùng cũng gặp phải vấn đề về trễ kết nối và điểm kết thúc với các góiyêu cầu
Trang 8CHƯƠNG 2 GIAO THỨC ĐỊNH TUYẾN PROACTIVE, REACTVE
VÀ PHẦN MỀM NS-2
2.1 Các giao thức định tuyến
2.1.1 Định tuyến theo bảng (proactive)
Trong phương pháp định tuyến theo bảng, các node trong mạng MANET liên tụcđánh giá các tuyến đến các node để duy trì tính tương thích, cập nhật của thông tinđịnh tuyến Vì vậy một node nguồn có thể đưa ra một đường dẫn định tuyến ngaylập tức khi cần
Trong giao thức này, tất cả các node cần duy trì thông tin về cấu hình mạng Khicấu hình mạng thay đổi, các cập nhật được truyền lan trong mạng nhằm thông báo
sự thay đổi Hầu hết các giao thức định tuyến theo bảng này sẽ chọn đường dẫnngắn nhất trong các mạng hữu tuyến truyền thống
Các thuật toán định tuyến theo bảng được sử dụng cho các node cập nhật trạngthái mạng và duy trì tuyến bất kì có lưu lượng hay không
Một số loại giao thức định tuyến Proactive:
OLSR (Optimized Link State Routing) :Trạng thái liên kết tối ưu
DSDV(Dynamic Destination-Sequenced Distance-Vector): giao thức địnhtuyến vector khoảng cách tuần tự đích
CGSR(Clusterhead Gateway Routing Switch)
WRP(Wireless Routing Protocol): Giao thức định tuyến không dây
+ Ư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ửigói là nhỏ
Trang 9+Nhược điểm: lãng phí băng thông đường truyền.
2.1.2 Định tuyến theo yêu cầu (reactive)
Các đường dẫn được tìm được tìm kiếm chỉ khi cần thiết, hoạt động tìm kiếmbao gồm xác định tuyến Trong mạng MANET, các tuyến hoạt động có thể ngừng
do tính di động của node
So với các giao thức định tuyến theo bảng, các giao thức định tuyến theo yêu cầuthường có tiêu đề trao đổi thông tin định tuyến nhỏ hơn Ví dụ về một số định tuyếntheo yêu cầu gồm:
Giao thức định tuyến nguồn động DSR (Dynamic Source Routing)
Giao thức định tuyến vector khoảng cách theo yêu cầu AODV ( Ad hoc demand Distance Vector routing)
On- Giao thức định tuyến theo thứ tự tạm thời TORA ( Temporally OrderedRouting Algorithm)
+Ưu điểm: không gây tổn hại đến băng thông
+ Nhược điểm: độ trễ cao vì mất thời gian thiết lập đường đi
Giao tuyến định tuyến lai ghép
+Các giao thức định tuyến lai ghép được đề xuất để kết hợp các đặc tính và ưu điểmcủa các giao thức định tuyến theo bảng và theo yêu cầu
+Một số ví dụ về giao thức định tuyến lai ghép:
Giao thức định tuyến vùng ZRP ( Zone Routing Protocol)
Giao thức định tuyến trạng thái liên kết dựa trên vùng ZHLS ( Zone-basedHierarchical Link State Routing)
Trang 10 Giao thức định tuyến tùy biến lai HARP ( Hybrid Ad hoc Routing Protocol),v.v…
2.2 Giao thức DSDV ( Destination Sequence Distance Vector)
- DSDV là giao thức định tuyến vector khoảng cách theo bảng
- Mỗi node trong mạng thu thập thông tin định tuyến từ các node lận cận và tínhđường đi ngắn nhất đến các node trong mạng
- Sau khi tạo ra bảng định tuyến mới nó sẽ quảng bá bảng định tuyến này đến cácnode lân cận
- Mục nhập sẽ có thông tin về địa chỉ IP của nút, số thứ tự được biết cuối cùng và sốhop để đến nút đó
+ Ưu điểm:
DSDV có đường dẫn vòng lặp tự do.
DSDV có quá trình đếm số thứ tự của các nút là vô hạn.
Băng thông trong quá trình truyền không bị giới hạn
Trong giao thức DSDV không có duy trì nhiều đường dẫn đến nút đích mà làduy nhất đường dẫn đến đích Vì không gian của các nút sẽ giảm đi đấng kể
+ Nhược điểm:
Quảng cáo trong DSDV sẽ dễ gây lãng phí tài nguyên
DSDV không hỗ trợ truyền đa đường
Khó có thể trì hoãn thời gian truyền khi quảng cáo trong bảng định tuyến
Đối với những mạng lớn hơn rất khó duy trì bảng định tuyến vì tiêu thụ băngthông rất nhiều và các nút không có sự đồng nhất
Trang 11- Mỗi nút DSDV duy trì hai bảng định tuyến: một cho các gói chuyển tiếp và mộtcho gói quảng cáo định tuyến gia tăng.
- Thông tin định tuyến đã được gửi định kì bởi một nút chứa số thứ tự mới, địa chỉđích, số bước nhảy tới nút đích và số thứ tự của nơi đến
- Khi cấu trúc liên kết của một mạng thay đổi, một nút phát hiện sẽ gửi một cập nhật
từ nút lận cận, một nút trích xuất thông tin từ gói và cập nhật bảng định tuyến củanó
- Thuật toán quy trình gói DSDV:
+ Nếu địa chỉ mới có số thứ tự cao hơn, nút chọn tuyến đường với số thứ tự cao hơn và loại bỏ số thứ tự cũ
+ Nếu số thứ tự đến giống hệt với số thứ tự hiện tại của tuyến đường, một tuyến đường có chi phí thấp nhất được chọn
+ Tất cả các số liệu được chọn từ thông tin định tuyến mới sẽ được tăng lên
+ Quá trình này tiếp tục cho đến khi tất cả các nút được cập nhật Nếu có bản sao của các gói được cập nhật, nút sẽ cân nhắc việc giữ gói với chỉ số chi phí thấp nhất
và loại bỏ phần còn lại
Quá trình tìm đường:
Trang 12Hình 2- : Quá trình truyền DSDV [4]
- Quá trình tìm đường ở hình trên thấy sự thay đổi của nút MH4 sau khi dichuyển MH1.Khi MH1 di chuyển vị trí của nó gần với MH7 và MH8 thìliên kết của MH2 và MH1 sẽ bị hỏng dẫn việc gán số thứ tự vô hạn tài MH2cho MH1 và số thứ tự sẽ thay đổi thành số lẻ trong nút MH2
Bảng 2- : Quá trình tìm đường của MH4 [4]
Trang 13Bảng 2- : Bảng chuyển tiếp của MH4 [4]
- MH2 sẽ cập nhật thông tin cho các nút lân cận.MH7 và MH8 cập nhật thôngtin.MH4 sẽ nhận được quá trình cập nhật từ MH6 nơi MH6 sẽ nhận hai góitin từ các nút khác để tiếp cận MH1 với cùng số thứ tự, nhưng chỉ số khácnhau Việc lựa chọn đường đi của nút đích MH4 phụ thuộc vào số hop ít hơnkhi trình tự số là như nhau
Bảng 2- : Bảng chuyển tiếp MH4 sau khi di chuyển MH1 [4]
Trang 143.1 Giao thức AODV( Ad hoc On-demand Distance Vector)
AODV (Ad Hoc On-Demand Distance Vector) tối thiểu hóa bản tin các tuyếnđường định tuyến với nhau tạo ra các đường truyền ổn định
Hình 2- : Sơ lược về AODV
Quy định nút nguồn là nút số 1.Nếu nút số 1 muốn gửi đi đến nút số 2 màđường đi chưa được xác định trước, nút 1 sẽ yêu cầu (discovery) đường đi sẽgửi một tập tin đến nút số 2 RREQ tìm đường đến nút 2 , gói tin gửi đi sẽ cóđịa chỉ IP của nút nguồn và nút đích mà cần tìm ra đường đi tối ưu
Bản tin RREQ sẽ được tìm trên toàn 3 nút khi nào một nút tìm được đườngtới nút nguồn hoặc nút đích nếu phản hồi gói RREP Sau đó gói tin RREP sẽđược gửi đi tới nút nguồn và nó sẽ tự tìm đường dựa theo Distance Vector đểthông các đường đi từ nút nguồn đến nút đích (end to end)
Tính chất của AODV:
+ AODV khám phá ra nhiều tuyến đường (tối ưu)
+ Không duy trì các tuyến của nút này đến nút khác
+Mỗi nút duy trì số thứ tự tăng dần tăng khi mỗi nút thông báo thay đổi trongvùng RREQ
Ưu điểm:
+ AODV có thể phản ứng rất nhanh với những thay đổi topo ảnh hưởng đếncác tuyến đang hoạt động,vì khả năng thích ứng của nó với các mạng cao
Trang 15+ AODV có thể hỗ trợ gói unicast và multicast ngay cả khi các nút đangchuyển động liên tục.
+ AODV có độ trễ thiết lập thấp hơn cho các kết nối và phát hiện tuyếnđường mới nhất đến nút đích
+ AODV không đưa thêm bất kỳ gói bổ sung vào gói dữ liệu vì nó không sửdụng định tuyến nguồn
+ AODV không có vòng lập,trình tự bắt đầu và không chia khoảng cách giữacác nút đang di động
+ Giao thức AODV là một giao thức định tuyến phẳng.Nó không cần bất kỳ
hệ thống quản trị trung tâm nào để xử lí quá trình định tuyến
Nhược điểm:
+ Số lượng lớn các nút di chuyển với nhau tạo ra liên kết vỡ.Các gói kiểmsoát tăng sự tắc nghẽn trong tuyến đường đang hoạt động
+ AODV có yêu cầu quá trình rất cao
+ Giao thức AODV chiếm khá nhiều băng thông trong quá trình truyền.+ AODV mất nhiều thời gian xây dựng bảng định tuyến
+ AODV có một quá trình truyền có thể hết hạn và việc truyền xác định thờigian hết hạn rất khó
+ Khi kích thước của mạng phát triển thì chỉ số hiệu suất của quá trình truyềnbắt đầu giảm
CHƯƠNG 4 Quá trình tìm đường:
Mỗi node trong mạng duy trì một bảng định tuyến bao gồm các thông tin:
Địa chỉ IP đích
Kích thước Host
Số tuần tự đích đến ( Destination Sequence Number)
Địa chỉ IP của hop kế tiếp ( next hop)
Quá trình này diễn ra giữa các nút với nhau khi các liên kết không tìm thấy trong bảng định tuyến
- Gói tin RREQ:
Trang 16<source_addr,source sequence, Broadcast ID, dest_addr
bá sẽ được tăng lên khi nút nguồn sử dụng RREQ (giống như DSDV) Góitin RREP:
<source_addr, dest_addr, dest_sequence#, hop_cnt, lifetime>
Trang 17Hình 2- : Quá trình tìm đường AODV khi gửi gói tin RREQ [2]
-Quá trình nhận packet từ gói 1 sang gói 2 ,nút số 2 mở và lưu trữ thông tin đượcchuyển đi từ nút số 1,thông tin lưu trữ gồm<sequence_add,des,source,hop> nhữngthông tin này để ngăn chặn phát cùng một gói RREQ
-Sau đó nút thứ 2 chèn thông tin <sequence_add,dest,next,hop>
Trang 18Hình 2- : Quá trình phủ sóng RREQ vào các nút lân cận [2]
Quá trình (Flooding) sẽ tràn ngập các nút khác cho diễn ra quá trình RREQ
Khi quá trình Flooding đã diễn ra bao trùm cả vùng broadcast thì nó sẽ xảy
ra quá trình RREP, tuyến đường ngược lại sẽ thiết (từ nút 4 đến 1).Nút 4 cốgắng gửi đến nút 1
Trang 19Hình 2- : Quá trình lấy bảng định tuyến của nút đích [2]
Quá trình (nút 4 1) gửi RREP để trả lời cho nút 1 biết (nút 4 là nút cầntìm)
Hình 2- : Quá trình gửi data đến nút đích [2]
Nút 1 sẽ gửi data đến nút 4 (Đó là nút cần tìm của nút 1)
Trang 20Hình 2- : Quá trình truyền gói bị lỗi [2]
Khi truyền dữ liệu bị lỗi packet sẽ gửi RERR về nút nguồn Khi nhận đượcRERR,một nút sẽ xóa thông tin từ nút nguồn đến nút đích.Khi nút nguồnnhận được thông tin RERR nút nguồn sẽ xóa và tạo một tuyến đườngRREQ mới
-Có 2 trường hợp sẽ xảy ra:
+ Phát hiện liên kết gãy tới node tiếp theo
+Nếu một node mạng được tìm thấy không tới được sẽ tạo một địa chỉ IP đíchcho mạng con này được thiết lập chèn số 0 vào nút mạng Nhận một RRER từmột nút lân cận cho một hoặc nhiều tuyến hoạt động
+Các nút lân cận có thể nhận RERR được truyền theo hướng unicast trongquá trình tới nút đích của gói RERR sẽ xác định được số lượng các đích khôngtới được và phải quay trở lại nút nguồn để tao RREQ mới
CHƯƠNG 5 Cơ chế khám phá tuyến (Router Discovery)
-Tiến trình khám phá tuyến được khởi động khi một node muốn trao đổi dữ liệuvới một node khác mà trong bảng định tuyến của nó không có thông tin định tuyếnđến node đích đó Khi đó tiến trình sẽ phát broadcast một gói RREQ cho các node
Trang 21láng giềng của nó Thông tin trong RREQ ngoài địa chỉ đích, địa chỉ nguồn, số count (được khởi tạo giá trị ban đầu là 0),… còn có các trường: số sequence numbercủa node nguồn, số broadcast ID, giá trị sequence number được biết lần cuối cùngcủa node đích Khi các node láng giềng nhận được gói RREQ, nó sẽ kiểm tra tuần
hop-tự theo các bước:
Hình 2- : Cơ chế xử lý khám phá đường tại node của AODV [3]
Bước 1: Xem các gói RREQ đã được xử lý chưa? Nếu đã được xử lý thì nó sẽ loại
bỏ gói tin đó và không xử lý thêm Ngược lại chuyển qua bước 2
Trang 22Bước 2: Nếu trong bảng định tuyến của nó chứa đường đi đến đích, thì sẽ kiểm tra
giá trị Destination sequence number trong entry chứa thông tin về đường đi với số Destination sequence number trong gói RREQ, nếu số Destination sequence numbertrong RREQ lớn hơn số Destination squence number trong entry thì nó sẽ không sử dụng thông tin trong entry của bảng định tuyến để trả lời cho node nguồn mà nó sẽ tiếp tục phát Broadcast gói RREQ đó đến cho các node láng giềng của nó Ngượclại nó sẽ phát Unicast cho gói RREP ngược trở lại cho node láng giềng của nó đểbáo đã nhận gói RREQ Gói RREP ngoài các thông tin như: địa chỉ nguồn, địa chỉđích,… còn chứa các thông tin: destination sequence number, hop-count, TTL.Ngược lại thì qua bước 3
Bước 3: Nếu trong bảng định tuyến của nó không có đường đi đến đích thì nó sẽ
tăng số Hop-count lên 1, đồng thời nó sẽ tự động thiết lập một đường đi ngược(Reverse path) từ nó đến node nguồn bằng cách ghi nhận lại địa chỉ của node lánggiềng mà nó nhận gói RREQ lần đầu tiên Entry chứa đường đi ngược này sẽ đượctồn tại trong một khoảng thời gian đủ để gói RREQ tìm đường đi đến đích và góiRREP phản hồi cho node nguồn, sau đó entry này sẽ được xóa đi
Quá trình kiểm tra này sẽ lặp tuần tự cho đến khi gặp node đích hoặc mộtnode trung gian mà có các đều kiện thỏa bước 2 Trong quá trình trả về gói RREP,một node có thể nhận cùng lúc nhiều gói RREP, khi đó nó sẽ chỉ xử lý gói RREP có
số Destination Sequence number lớn nhất, hoặc nếu cùng số Destination sequencenumber thì nó sẽ chọn gói RREP có số Hop-count nhỏ nhất Sau đó nó sẽ cập nhậtcác thông tin cần thiết vào trong bảng định tuyến của nó và chuyển gói RREP đi
CHƯƠNG 6 Cơ chế duy trì thông tin ngoại tuyến
-Cơ chế hoạt động của AODV là không cần phải biết thông tin về các nút lánggiềng, chỉ cần dựa vào các entry trong bảng định tuyến Vì vậy, khi một node nhậnthấy rằng Next hop (chặng kế tiếp) của nó không thể tìm thấy, thì nó sẽ phát một góiRRER (Route Error) khẩn cấp với số Sequence number bằng số Sequence numbertrước đó cộng thêm 1, Hop count bằng ∞ và gửi đến tất cả các node láng giềng đang
ở trạng thái active, những node đó sẽ tiếp tục chuyển gói tin đó đến các node láng
Trang 23giềng của nó, và cứ như vậy cho đến khi tất cả các node trong mạng ở trạng thái
active nhận được gói tin này [3]
- Sau khi nhận thông báo này, các node sẽ xóa tất cả các đường đi có chứa node hỏng, đồng thời có thể sẽ khởi động lại tiến trình khám phá tuyến nếu nó có nhu cầuđịnh tuyến dữ liệu đến node bị hỏng đó bằng cách gửi một gói tin RREQ (với sốSequence number bằng số Sequence number mà nó biết trước đó cộng thêm 1) đếncác node láng giềng để tìm đến địa chỉ đích
không thể xử lý các chuyển động của nút
ở tốc độ cao do thiếu các tuyến thay thế
Các tuyến đường được tìm hiểu theo yêucầu do đó các thông tin tuyến đườngkhông thể cũ được
3 Thông lượng giảm do các tuyến
đường định kỳ cập nhật thông tin và nếu
sự di chuyển của nút ở tốc độ cao
Thông lượng ổn định nởi vì nó khôngphát sóng mọi thông tin định tuyến
Broadcasting “Hello” nút bên cạnh Gửi liên tục các tuyến
đường trong quá trìnhtruyền
Truyền dữ liệu đến 1 nút Phải đặt ra điểm bắt đầu
và kết thúc (I/O)
Duy trì tất cả các tuyến vàkhông cần tìm các tuyếnđường khác( nhưng chỉ có
1 đường dẫn tốt nhất)
Trang 24- Thông thường nghiên cứu mạng không dây bao gồm kiểm tra và nghiên cứu môphỏng
- Vấn đề mô phỏng mạng là một vấn đề rất thiết thực nó đem lại cho cả quá trìnhthực hiện Đã có rất nhiều phần mềm mô phỏng hoạt động mạng và các thiết bịmạng ra đời nhằm phục vụ đánh giá và mô phỏng nghiên cứu mạng cho chất lượngtốt nhất
- NS2 là phần mềm mô phỏng mạng điều khiển sự kiện riêng rẽ hướng đối tượng,được phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và OTcl
- NS rất hữu ích cho việc mô phỏng mạng diện rộng (WAN) và mạng local (LAN).+ Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại
+ Khả năng đánh giá các giao thức mạng mới trước khi đưa vào sử dụng
+ Khả năng thực thi những mô hình mạng lớn mà gần như ta không thể thực thiđược trong thực tế
+ Khả năng mô phỏng nhiều loại mạng khác nhau
6.2.1 Đại cương về NS-2
Đối với mạng có dây:
Định tuyến: Vector khoảng cách (Distance Vector), trạng thái liên kết, vùngmulticast
Trang 25 Các giao thức chuyển vận: TCP,UDP,RTP và SCTP.
Các nguồn lưu lượng: Web,FTP,TELET,CBR,STOCHASTIC
Các qui tắc hàng đời: Drop-tail, RED, FQ, SFQ, DRR
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 Ad-hoc( AODV, DSDV) và IP di động
Truyền theo hướng trực tiếp,cảm biến MAC
6.2.2 Quá trình tải và cài đặt phần mềm NS2.
NS2 và NAM có thể cài đặt như sau:
Tải phần mềm giả lập VM Ware mới nhất.(hoặc bản trên 10.)
Tải đĩa Ubuntu bản giả lập Desktop để chạy giả lập Ubuntu bằng VMWare
Trang 26 Sau đó ta tiền hành cài bản mô phỏng NAM http://www.isi.edu/nsnam/ns/.
Ns-allinone-2.28 trong Ubuntu
Trang 27- C++ cho phần dữ liệu: Xử lý mỗi gói tin, thực thi nhanh chóng, chi tiết hóa,bổsung đầy đủ cho việc điều khiển,các thuật toán đối với bộ dữ liệu lớn
- Otcl cho phần điều khiển:
Simulation Program Chương trình Mô
phòng
rộng hướng đối tượng
NS Simulation Library Thư viện Mô phỏng NS
Event Scheduler Objects Các đối tượng bộ lập
lịch sự kiện Network Component Objects Các đối tượng thành
phần mạngNetwork Setup Helping Modules Các mô đun trợ giúp
thiết lập mạngPlumbling Modules Các mô đun Plumbling
Simulation Results Các kết quả mô phỏng
Trang 28Analysis Phân tíchNAM Network Animator Minh họa mạng
Hình 2- : Sự đối ngẫu của C++ và Otcl [2]
-NS không những được viết bởi OTcl mà còn được viết bởi C++
-NS phân ra thực thi quá trình dữ liệu và điều khiển.Quá trình C++ được viết vàbiên dịch sự dụng
-Có thể sử dụng C++ phiên dịch ra Otcl qua liên kết của Otcl thực hiện các chứcnăng và cấu hình như C++ hoạt động như các hàm tương ứng
Hình 2- : Kiến trúc NS-2 [2]
NS sử dụng hai ngôn ngữ lập trình: Ngôn ngữ kịch bản (Tcl – ToolCommand Language, đọc là tickle) và Ngôn ngữ lập trình hệ thống (C/C++)
NS là tầng biên dịch Tcl để chạy các kịch bản Tcl
Trang 29 Bằng cách sử dụng C++/OTcl, bộ mô phỏng mạng phải hoàn toàn là hướngđối tượng.
6.2.5 Các thành phần của mạng
Nút và sử định tuyến.
Hình 2- : Các nút trong miền Unicast và Multicast [7]
Có hai quá trình tạo nút trong NS
Unicast là có bộ phận phân loại địa chỉ thực hiện việc định tuyến Unicast vàmột bộ phân loại cổng
Một nút multicast bổ sung thêm một bộ phân loại để phân loại gói tinMulticast từ các gói tin Unicast và bộ phân loại Multicast để thực hiện địnhtuyến Multicast
Để tạo ra nút Multicast người dùng phải khai báo rõ ràng trong kịch bảngOtcl đầu vào ngay sau khi tạo ra một đối tượng lịch biểu.Khi đó tất cả cácnút sẽ được tao ra là các nút Multicast.Sau khi chỉ rõ kiểu nút người dùngcũ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ụngmột giao thức định tuyến mặc định
Liên kết
Trang 30+Một liên kết là một đối tượng cấu thành trong NS.Một người dùng tạo ra mộtliên kết sử dụng một hàm thành viên duplex-link của đối tượng mô phỏng.Hailiên kếtSimplex theo cả hai hưởng được tạo ra.
Hình 2- : Liên kết.
+Một điều cần lưu ý là một 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ới đối tượng Delay đóng vai trò độ trễ của mối liênkết,các gói tin được gửi đến NullAgent và được giải phóng ở đó.Cuối cùng là tínhtoán thông số thời gian mỗi gói tin nhận được
Trang 31Hình 2- : Quá trình Tracing [6]
Người dùng có thể tạo ra một đối tượng trace đặc biệt giữa nút nguồn
và nút đích khi sử dụng câu lệnh creat-trace
6.2.6 Sử dụng phần mềm NS-2 mô phỏng mạng
Khởi tạo và kết thúc
-Trong bộ công cụ giả lập ns-2, lớp quan trọng nhất là Simulator nó cung cấp cácthủ tục giao tiếp quản lý topology, lưu giữ các tham số cấu hình của các tham sốcấu hình của các thành phần trong topology
-Thông thường, các kịch bản giả lập bắt đầu bẳng việc giả lập, sau đó gọi cácphương thức để tạo các node, topo và cấu hình cho các node, các liên kết, ứngdụng
-Cú pháp để khởi tạo một đối tượng Simulator như sau:
Set tên_đối_tượng [new Simulator]
- Để có file đầu ra với dữ liệu mô phỏng hay các file sử dụng cho hiển thị (filenam) thì chúng ta cần tạo file này bằng cách sử dụng lệnh open như sau:
-Trong tập lệnh tcl,các file out.nam và out.tr không được gọi trực tiếp mà thông qua
1 tên biến tracefile1 và namfile
Trang 32- Phương thức trace-all là tên của file mà các trace sẽ chạy
- Để gọi thủ tục hàm finish ta dùng lệnh $ns at t “finish” ,trong đó t là
thời điểm muốn gọi hàm finish tính bằng giây
- Để bắt đầu quá trình mô phỏng : $ns run.
Danh sách các node láng giềng của nó (neighbor_)
Danh sách các Agent (agent_)
Trang 33 Loại node.
Module định tuyến của node
Trong NS-2 có 2 loại liên kết:
Liên kết đơn công ( simple link)
Liên kết song công (duplex link)
Simple Link: là loại liên kết theo kiểu point to point giữa 2 nút mà chỉ có 1 node
-Agent 1 chiều là một nút có thể gửi hoặc nhận
-Agent 2 chiều là một nút có thể vừa nhận vừa gửi
Các Agent nhận dữ liệu.
Agent / TCPSink
Agent / TCPSink / DelAck
Agent / TCPSink / Sack1
Agent / Null
Các TCP Agent truyền dữ liệu
Agent / TCP
Trang 34Agent/UDP là agent không hướng đối tượng là không cơ chế phát hiện gói tin bị
mất khi truyền và truyền lại gói tin khi bị mất
Kết nối agent cho các nút.
Cài đặt ứng dụng cho agent.
Tạo kết nối giữa 2 agnet
Cấu hình cho 1 agent UDP:
Cấu hình TCP.
Set tcp [new agent/TCP] “tạo ra biến con trỏ tcp cho tác nhân TCP”
Set sink [new agent/TCPSink] “định nghĩa nút TCP đích và gán nó cho biến con
trỏ”
$ns attach-agent $A0 $tcp “định nghĩa nút nguồn kết nối TCP”
$ns attach-agent $A1 $tcp_sink “ kết nối TCP giữa các nút nguồn và đích”
6.2.7 Ứng dụng của NS-2
Có 2 loại ứng dụng:
-Phát sinh lưu lượng mạng
-Giả lập mạng (Simulated Applications)
Trang 35 Phát sinh lưu lượng mạng
Có 3 loại phát sinh lưu lượng mạng:
-Exponential: Trạng thái ON,OFF
+ ON:Tốc độ dữ liệu không thay đổi
+ OFF:Không phát sinh thêm lưu lượng
PacketSize_ : kích thước của gói dữ liệu
burst_time_ : thời gian trung bình trong ở trạng thái ON
idle_time_ : thời gian trung bình trong ở trạng thái OFF
rate_ : tốc độ gởi các gói dữ liệu
$exponential set thamso
-Pareto: phát sinh lưu lượng theo trạng thái ON,OFF.
+ PacketSize_ : kích thước của gói dữ liệu
+ burst_time_ : thời gian trung bình trong ở trạng thái ON
+ idle_time_ : thời gian trung bình trong ở trạng thái OFF
rate_ : tốc độ gởi các gói dữ liệu
$pareto set thamso
- CBR: dùng phát sinh các gói dữ liệu theo một tốc độ bit không đổi.
PacketSize_ : kích thước của gói dữ liệu
rate_ : tốc độ truyền dữ liệu
interval_ : khoảng thời gian giữa hai lần truyền dữ liệu