Các đối tƣợng mạng

Một phần của tài liệu Nghiên cứu khả năng tương tác với mạng thực của bộ mô phỏng NS-2 (Trang 79 - 80)

Việc truy cập các gói tin trong mạng thực được cung cấp bởi các đối tượng mạng. Có một vài đối tượng mạng được sử dụng phụ thuộc vào giao thức và tầng mà người nghiên cứu cần truy cập. Nó cung cấp một điểm vào (entry point) để truyền thông với các đối tượng trên mạng thực tại tầng cụ thể. Hiện tại, các đối tượng mạng bao gồm UDP/IP, raw IP, và đối tượng Pcap/BPF (Packet capture/ Berkeley Packet Filter). Khi sử dụng đối tượng mạng phải chỉ ra chế độ truy cập có thể là chế độ chỉ đọc, chế độ chỉ ghi hay chế độ vừa đọc vừa ghi.

Cấu hình đối tượng mạng theo cú pháp sau:

set <netobject> new Network/<network-object-type> Trong đó

<netobject> : là đối tượng mạng.

<network-object-type> : là kiểu đối tượng mạng, có thể là Pcap/Live, IP hay IP/UDP.

Thí dụ, tạo đối tượng mạng rawsocket để đưa gói tin ra mạng thực: set rawsocket new Network/IP

$rawsocket open writeonly

Các đối tượng mạng luôn được gắn trên một Tap Agent, và Tap Agent phải được gắn lên một node mạng để có thể truyền thông được, ví dụ:

set OUTnet [new Agent/Tap] $OUTnet network $rawsocket set exitnode [$ns node]

$ns attach-agent $exitnode $OUTnet

Đối tượng UDP/IP và raw IP hoạt động dựa trên các socket chuẩn, đọc hoặc ghi dữ liệu trên các socket. Tuy nhiên, hiện nay hai đối tượng này chủ

yếu được sử dụng để gửi các gói tin từ bộ mô phỏng ra mạng thực. Đối tượng mạng IP được cài đặt trong C++ là lớp Network/IP (ns-2~/emulate/net-ip.cc) và nó còn được sử dụng làm lớp cơ sở cho các lớp đối tượng mạng ở lớp cao hơn thừa kế.

Đối tượng Pcap/BPF cung cấp giao diện bắt gói tin, còn được gọi là lipcap (Thư viện này có thể tìm thấy tại địa chỉ ftp://ftp.ee.lbl.gov/libpcap.tar). Truy cập các gói tin ở mức frame được cung cấp bởi thư viện bắt gói tin (packet capture library) và bộ lọc gói tin BPF. Thư viện BPF cho phép lọc các gói tin từ luồng các gói tin bắt được tại giao diện mạng. Thực hiện lọc gói tin đơn giản chỉ là loại bỏ gói tin không mong muốn sớm nhất có thể được.

Việc cấu hình lọc được thực hiện trong ngôn ngữ Tcl có dạng như sau: $<Pcap/BPF object> filter <String>

Trong đó: < Pcap/BPF object>: là đối tượng mạng Pcap/BPF. <String>: chuỗi cấu hình lọc.

Thí dụ: $bpf filter "src 192.168.1.3 and dst 192.168.1.5 and tcp"

Nhằm lọc các gói tin tcp có địa chỉ nguồn 192.168.1.3 và địa chỉ đích 192.168.1.5.

Một phần của tài liệu Nghiên cứu khả năng tương tác với mạng thực của bộ mô phỏng NS-2 (Trang 79 - 80)