Bài tập lớn môn Mạng máy tính
Bước 3 – Tổ chức thực hiện và báo cáo- Sinh viên chia thành các nhóm để làm bài tập lớn, mỗi nhóm không quá 3 bạn.
- Lớp trưởng tập trung danh sách các nhóm và gửi lại cho thầy giáo trước khi làm bài tập lớn.
- Trong mỗi nhóm, cần phải phân công công việc rõ ràng cho từng sinh viên (có chỉ rõ trong báo
cáo).
- Vào cuối kỳ, sinh viên nộp báo cáo kết quả công việc làm được. Căn cứ vào báo cáo, thầy giáo
sẽ tổ chức báo cáo và thực hiện demo kết quả.
3 trang |
Chia sẻ: hachi492 | Ngày: 06/01/2022 | Lượt xem: 682 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài tập lớn môn Mạng máy tính, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
BÀI TẬP LỚN MÔN MẠNG MÁY TÍNH
Dành cho sinh viên ngành Điện tử - Viễn thông K56
PGS. TS. Nguyễn Hữu Thanh (thanh.nguyenhuu@hust.edu.vn)
Mục đích bài tập lớn:
- Tìm hiểu về kiến trúc mạng truyền thống (mô hình OSI, TCP/IP).
- Tìm hiểu về mô hình mạng SDN. Các khái niệm
- Tìm hiểu về controller FloodLight
- Bài tập
Bước 1 - Chuẩn bị
- Kiến thức nền tảng:
o Mô hình mạng phân lớp TCP/IP.
o Quá trình đóng gói gói tin, cấu trúc bản tin và các header
o Quá trình switching, routing ở từng layer
o Forwarding plane and control plane
- Mạng SDN:
o Cấu trúc mạng SDN
https://www.opennetworking.org/sdn-resources/sdn-definition
https://www.opennetworking.org/images/stories/downloads/sdn-
resources/technical-reports/TR_SDN_ARCH_1.0_06062014.pdf
o SDN Controller
Link giới thiệu và các bài giảng đi kèm.
Link về các api:
Link về cài đặt:
Link để trao đổi trực tuyến:
https://groups.google.com/a/openflowhub.org/forum/#!forum/floodlight-dev
o Giả lập mạng (sử dụng mininet) và Open VSwitch (OVS):
o Giao thức mạng OpenFlow:
- Cài đặt:
o Hệ điều hành: Ubuntu:
Trong các website đều có hướng dẫn cài đặt, chú ý phải cài đặt cả chương trình
dịch (GNU gcc, g++), được coi là tùy chọn trong tất cả các hệ điều hành Linux,
nếu không quen có thể cài với option là full để hệ điều hành cài tất cả các chương
trình cần thiết.
o Cài đặt Mininet bằng theo link sau (Option 2: Native Installation from Source)
o Cài đặt Floodlight theo link sau:
o Chạy thử floodlight và liên kết với mininet. Sinh viên không cần chỉnh gì cả, chạy lệnh
mininet trước, sau đó chạy floodlight trên eclipse sau, là floodlight tự động liên kết với
mininet. Câu lệnh chạy thử cụ thể như sau.
o Chạy mininet:
sudo mn --custom mininet/custom/file.py --topo mytopo --
controller=remote,ip=127.0.0.1,port=6633
Trong đó file file.py là tên file và đường dẫn chứa topology của mình. Trong thư
mục trên có mấy file nó tạo sẵn, SV có thể sử dụng topo có sẵn hoặc tự tạo topo
riêng.
o Chạy floodlight trong eclipse theo đúng hướng dẫn cài đặt ở trên.
o Chạy thử lệnh pingall (ping giữa các host trong topo) trong terminal của mininet, nếu ping
thành công nghĩa là floodlight đã kết nối được với mininet và điều khiển được topo của
mininet.
o Yêu cầu về bài tập: Các sinh viên cần hiển về giao thức OpenFlow và các bản tin trước
khi làm bài tập lớn.
Bước 2 - Thực hiện bài tập
1. Bài 1: Làm thử module đơn giản trên floodlight với 1 topo bất kì. Link thực hiện module:
- Sinh viên làm theo module, chạy thử, đọc và phân tích xem mục đích của mudule là gì,
nó thực thi ra sao, Sau đó chỉnh sửa module để nó hiển thị ra được địa chỉ nguồn, địa chỉ
đích của mỗi gói tin mà module nhận đươc.
2. Bài 2: Dùng mininet tao một topo gồm 2 switch liên kết với nhau, và 2 host, mỗi host liên kết với
1 switch. Sau đó tạo một module trên floodlight để định tuyến cho 2 host đó ping được với nhau.
- Để làm được điều này, Sinh viên phải xóa module forwarding trong list các module default
của floodlight, vì đó là module định tuyến có sẵn trong floodlight. Sau khi xóa, các host
sẽ không ping được nhau. Sinh viên phải tự code ra một module tương tự để định tuyến
đường đi cho chúng.
- Module định tuyến chỉ cần áp dụng cho topo trên, không yêu cầu cho bài toán tổng quát.
Sinh viên có thể dùng mọi cách có thể trên controller (Trừ việc sử dụng các module định
tuyến có sẵn trên floodlight) để 2 host có thể ping được với nhau. Tuy nhiên tốt nhất là
làm được đúng bản chất là định tuyến đường đi bằng gói tin openflowmod.
3. Bài 3: Dùng mininet, tạo một topo theo kiểu fat-tree
- link về fat tree
o
o
- Sinh viên viết file fat-tree (python) tổng quát với mọi giá trị K cho trước (Đầu vào là K).
- Sinh viên chạy mininet với topo đã tạo với một giá trị K bất kì. Chạy và pingall thành
công với floodlight.
Bước 3 – Tổ chức thực hiện và báo cáo
- Sinh viên chia thành các nhóm để làm bài tập lớn, mỗi nhóm không quá 3 bạn.
- Lớp trưởng tập trung danh sách các nhóm và gửi lại cho thầy giáo trước khi làm bài tập lớn.
- Trong mỗi nhóm, cần phải phân công công việc rõ ràng cho từng sinh viên (có chỉ rõ trong báo
cáo).
- Vào cuối kỳ, sinh viên nộp báo cáo kết quả công việc làm được. Căn cứ vào báo cáo, thầy giáo
sẽ tổ chức báo cáo và thực hiện demo kết quả.
Các file đính kèm theo tài liệu này:
- bai_tap_lon_mon_mang_may_tinh.pdf