Protocol Internals

Một phần của tài liệu nghiên cứu chương trình mô phỏng mạng ns và các công cụ hỗ trợ, và cơ sở để áp dụng các bài toán ứng dụng trên ns để đánh giá tính khả thi và tối ưu của chúng trên mạng (Trang 57 - 58)

1. Mô phỏng các gói tin UDP/TCP

2.5Protocol Internals

Direct Routing: Giao thức này ghi lại trạng thái của liên kết gắn liền và duy trì các

đường định tuyến ngay lập tức tới các hàng xóm gần kề.Với các gikhác, nó duy trì các mảng biến instance nextHop_, rtpref_, và metric_, được đánh chỉ mục bởi handle của mỗi đích đến có thể trong tô pô

Thủ tục instance compute-routes{} tính toán đường đi dựa trên trạng thái hiện thời của link, và trạng thái trước đó của link gắn với nó.Không có thủ tục hay thủ tục instance khác được định nghĩa trong giao thức này.

Static Routing Thủ tục compute-routes{} trong lớp RouteLogic đầu tiên tạo ra ma trận

gần kề, và sauđó gọi các phương thức C++, compute_routes() của đối tượng.Cuối cùng, thủ tục khôi phục lại kết quả tính toán định tuyến tại mỗi node trong tô pô..

Session Routing: Lớp định nghĩa thủ tục init-all{}để tính toán dường đi khi khởi tạo mô

phỏng.Nó cũng định nghĩa thủ tục compute-all{} để tính toán các đường đi khi tô pô thay đôi.Mỗi thủ tục này sẽ gọi trực tiếp compute-routes{}.

DV Routing: Trong một cơ chế định tuyến động, các node gửi và nhận các thông điệp,

và tính toán đường đi trong tô pô dựa trên trao đổi thông điệp.Thủ tục init-all{} tạo một danh sách node làm tham số, mặc định là danh sách node trong tô pô.Tại mỗi một node thủ tục khởi tạo lớp rtObject và các agent lớp Agent/rtProto/DV .Nó xác định các DV đồng đẳng với mỗi agent DV được tạo ra. Và tạo các đối tượng rtPeer liên quan..

Constructor cho agent DV khởi tạo một số các biến instance, mỗi agent chứa một mảng được đánh chỉ mục bởi handle của node đích, của độ ưu tiên, metric, giao diện (hay link) tới next hop,

và các node ở xa, với đường đi tốt nhất cho mỗi đích đến được tính toán bởi các agent .agent tạo ra các biến instance và lập lịch gửi cập nhật đầu tiên trong 0.5 giây đầu tiên khi khởi động mô phỏng..

Mỗi agent chứa danh sách các đồng đẳng được chỉ ra bởi handle của node dồng đẳng.Mỗi peer là một cấu trúc đồng đẳng riêng biệt nắm giữ địa chỉ của agent đồng đẳng, metric và độ ưu tiên của đường đi tới đích được quảng bá bởi agent đó.Cấu trúc peer được khởi tạo bởi thủ tục add-peer{} được gọi bởi init-all{}.

Chu trình send-periodic-update{} gọi send-updates{} để gửi cập nhật thực tế, nó đặt lại lịch gửi bản cập nhật tiếp theo sau khi advertInterval để chống lại sự đồng bộ có thể.ảnh hưởng send-updates{} sẽ gửi các bản cập nhật tới tập các peer đã chọn, nếu mọt vài đường thay dổi hay không cạp nhật định kỳ, thủ tục sẽ gửi cập nhật tới tất cả các peer.Nói cách khác, néu vài link được lấy lại, thủ tục sẽ gửi cạp nhật tới peer sát đó chỉ gắn với link.

send-updates{} Dùng thủ tục send-to-peer{} để gửi các câph nhật thực tế, thủ tục này sẽ đóng gói các cập nhật, dùng cơ chế split-horizon and poison reverse .Nó gọi instproc-like, send- update{}để gửi cập nhật.Cập nhật thực tế được chứa trong biến lớp msg_ được đánh chỉ mục bởi số nguyên không giảm.instproc-like chỉ gửi msg_ tới peer ở xa. Điều này loại trừ sự cần phải chuyển đổi từ xâu OTcl xang dạng định dạng khác.Khi một peer nhận một cập nhật, đầu tiên nó sẽ kiểm tra nếu cập nhật có khác trước không.Agent sẽ tính toán đường định tuyến mới nếu bản cập nhật có thông tin mới

Một phần của tài liệu nghiên cứu chương trình mô phỏng mạng ns và các công cụ hỗ trợ, và cơ sở để áp dụng các bài toán ứng dụng trên ns để đánh giá tính khả thi và tối ưu của chúng trên mạng (Trang 57 - 58)