Gởi các gói dữ liệu qua các lớp trong cùng một nốt

Nguyên tắc phân lớp của ISO mục đích chính để phân chia công việc từng lớp. Trong OPNEt việc chia lớp còn có lợi trong việc xử dụng lại các chương trình cũ hay module cung cấp bởi OPNET.

Khi một nốt được phân lớp, việc trao đổi được thực hiện thông qua lệnh op_pk_send() và op_pk_get().

Ví dụ tôi xây dựng một nốt như sau, bao gồm 4 lớp.

opnet node model

Các đường “Packet Stream” phải được đánh địa chỉ. Mỗi lớp (tượng trưng bằng mỗi  processor như hình trên) có một chuỗi tối đa 9 đường vào (dest stream) và 9 đường ra (src stream) được đánh số từ 0 – 8. Tôi thường chọn đường ra bằng đường vào để dễ quản lý.

Ví dụ với hình trên tôi định nghĩa

/* Input and output streams */
#define APL_OUT_2_NWK_STRM      0 // from upper layer
#define MAC_OUT_2_NWK_STRM      2 // from mac layer
#define NWK_OUT_2_MAC_STRM     2  // toward mac layer
#define NWK_OUT_2_APP_STRM     0  // toward upper layer

Từ Source, muốn gởi tới Network dùng lệnh

op_pk_send (pkptr, APL_OUT_2_NWK_STRM);

Ở Network, để đọc gói này (khi ngắt được tạo ra) bằng lệnh tương đương

pk_ptr = op_pk_get (APL_OUT_2_NWK_STRM);

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s