Professional Documents
Culture Documents
Ghi chú: định dạng file bài nộp <Hoten>_<MSSV>_BTn.doc hoặc .zip nếu có yêu cầu chỉnh
sửa source
VD: NguyenVanA_13020010_BT2.doc
I. Nội dung
Tìm hiểu về chuẩn giao thức IEEE MAC 802.11 (WLAN). Ns-3 cung cấp một bộ các mô
hình của chuẩn giao thức IEEE 802.11 nhằm cung cấp mức độ mô phỏng gần như thực tế
nhất các đặc tả của chuẩn 802.11 ở cả tầng DataLink (MAC-level) và Physical (PHY-
level).
Mục tiêu:
Hiểu về cách vận hành của IEEE MAC 802.11 và cấu trúc gói tin
Hiểu về cách cài đặt giao thức trên trong ns-3.
1
2
3 0
II. Hướng dẫn xây dựng mô hình mô phỏng WLAN trong ns-3
Một số phương thức trong ns-3 dùng để tạo các node, tạo kênh kết nối Wifi có thể tham
khảo thêm ở đây.
NodeContainer: https://www.nsnam.org/doxygen/classns3_1_1_node_container.html
YansWifiChannelHelper:
https://www.nsnam.org/doxygen/classns3_1_1_yans_wifi_channel_hel
per.html
WifiHelper:
https://www.nsnam.org/doxygen/classns3_1_1_wifi_helper.html
1. Đầu tiên tạo các Node và lấy một node đầu tiên (Node0) làm AP
NodeContainer wifiStaNodes;
wifiStaNodes.Create (nWifi);
// Dùng node0 làm AP
NodeContainer wifiApNode = wifiStaNodes.Get (0);
2. Tạo kênh kết nối WLAN (YansWifiChannel trong ns-3)
YansWifiChannelHelper channel = YansWifiChannelHelper::Default
();
YansWifiPhyHelper phy = YansWifiPhyHelper::Default ();
phy.SetChannel (channel.Create ());
WifiHelper wifi;
wifi.SetRemoteStationManager ("ns3::AarfWifiManager");
// Cài đặt các thông số cho kênh truyền Wifi như SSID
WifiMacHelper mac;
Ssid ssid = Ssid ("ns-3-ssid");
mac.SetType ("ns3::StaWifiMac","Ssid", SsidValue (ssid),
"ActiveProbing", BooleanValue (false));
3. Cài đặt kênh kết nối WLAN lên các NetDevice của các node và AP
// Cài đặt kênh truyền WLAN lên các node
NetDeviceContainer staDevice=wifi.Install(phy,mac,wifiStaNodes);
// Cài đặt kênh truyền WLAN lên node AP
NetDeviceContainer apDevices=wifi.Install(phy, mac, wifiApNode);
4. Cài đặt IPv4_Stack lên tất các nodes và cấp phát IP Addr cho các NetDevice
Interfaces vừa cài đặt ở bước 3
// Cài đặt IPv4 Stack cho các node
InternetStackHelper stack;
stack.Install (wifiStaNodes);
Ipv4AddressHelper address;
// Cấp IP cho các nodes
address.SetBase ("10.1.1.0", "255.255.255.0");
Ipv4InterfaceContainer wifiInterfaces;
wifiInterfaces = address.Assign (staDevices);
address.Assign (apDevices);
6. Compile, chạy mô phỏng và quan sát kết quả thu được (Xem các file pcap)
Ns-3.25$ cp lab2.cc scratch/lab2.cc
Ns-3.25$ ./waf
Ns-3.25$ ./waf –-run scratch/lab2 –-vis
a. Tìm các gói tin (chụp hình hoặc copy và nêu tên/loại gọi tin) biểu diễn quá trình
kết nối giữa các node với AP. Gói Beacon Frame chứa những thông tin gì? (2đ)
b. Tìm các gói tin ARP biểu diễn quá trình client truy vấn địa chỉ MAC của server?
Tại sao sau khi tất cả các node đã kết nối tới AP rồi nhưng ta vẫn còn thấy các gói
Beacon Frame (2đ)
c. Tìm các gói tin biểu diễn quá trình UDP Packet đi từ client -> server.
(Gợi ý: chú ý port của server) (1đ)
Ghi chú: yêu cầu chụp hình hoặc copy nội dung các packet trong các câu trên (gồm
loại, size và chức năng của gói tin đó)
3. Biết dữ liệu data của gói UDP truyền đi là 1024 bytes, UDP header là 8 bytes. Quan
sát trong Wireshark thì chiều dài của frame truyền từ client-> server là 1088. Vậy phần
còn lại gồm những header gì và header size là bao nhiêu ? (1đ)
4. Hiện tại, trong source code trên, node0 vừa đóng vai trò là Access Point (AP) vừa là
một node bình thường kết nối đến AP. Sinh viên tìm hiểu và chỉnh sửa lại source code
để có mô hình mạng gồm 06 nodes. Trong đó, 01 node chỉ đóng vai trò là AP và 05
nodes còn lại sẽ kết nối đến AP (2đ)
5. Tạo thêm một UDP Client chạy trên node2 gửi dữ liệu đến UDP Server đã có. Compile,
chạy lại thử nghiệm và kiểm tra kết quả trong các file pcap (1đ).