Mạng máy tính (Computer Networking)
dành cho chuyên ngành Khoa học dữ liệu
Học phần được xây dựng cho sinh viên chuyên ngành Khoa học dữ liệu, với cách tiếp cận xem mạng máy tính như một hệ thống hoàn chỉnh: từ dữ liệu, phân tầng, giao thức, truyền dẫn và hiệu năng đến an toàn, giám sát và phân tích bằng dữ liệu.
Mục tiêu học phần
Sau khi hoàn thành học phần, người học có khả năng:
- Hiểu dữ liệu được truyền qua mạng như thế nào qua các tầng của kiến trúc TCP/IP và mô hình Internet năm tầng.
- Nhận diện và giải thích vai trò của các thành phần mạng cơ bản như host, switch, router, access point, modem/ONT và firewall.
- Đọc và phân tích các giao thức, công nghệ cốt lõi gồm Ethernet, IPv4, IPv6, ARP, ICMP, TCP, UDP, DNS, DHCP, HTTP, HTTPS và Wi-Fi.
- Thực hiện các phép tính và phân tích cơ bản liên quan đến subnetting, định tuyến, NAT, độ trễ, throughput, goodput, packet loss, jitter, RTT và các đại lượng hiệu năng mạng.
- Sử dụng Python, NumPy, pandas và Matplotlib ở mức phù hợp để biểu diễn, xử lý, thống kê và trực quan hóa dữ liệu mạng.
- Chuyển từ dữ liệu packet sang flow, xây dựng các đặc trưng phục vụ phân tích hiệu năng và giám sát mạng.
- Áp dụng các kỹ thuật học máy cơ bản như hồi quy, phân loại, phân cụm và phát hiện bất thường vào một số bài toán dữ liệu mạng.
- Nhận diện các nguyên lý bảo vệ hệ thống mạng, các dấu hiệu tấn công, nguồn dữ liệu giám sát và giới hạn của việc suy luận từ dữ liệu.
- Xây dựng một quy trình phân tích mạng hoàn chỉnh gồm xác định câu hỏi, chuẩn bị dữ liệu, xây dựng baseline, lựa chọn mô hình, đánh giá, diễn giải kết quả và nêu giới hạn sử dụng.
Yêu cầu đối với người học
- Dự lớp đầy đủ, tham gia các hoạt động học tập và thảo luận; không nghỉ quá 20% thời lượng học phần.
- Hoàn thành các bài tập, bài thực hành và nhiệm vụ tự học được giao.
- Có khả năng thực hiện các bài tập Python cơ bản phục vụ xử lý và phân tích dữ liệu mạng.
- Khi phân tích dữ liệu, phải hiểu ý nghĩa của từng observation, variable, feature và đơn vị đo trước khi sử dụng công cụ hoặc mô hình.
- Không chỉ báo cáo kết quả tính toán hoặc độ chính xác của mô hình; cần diễn giải kết quả trong bối cảnh kỹ thuật mạng và chỉ rõ các giới hạn của phép đo hoặc mô hình.
- Các hoạt động thu thập và phân tích traffic phải được thực hiện trong môi trường hợp pháp, được phép hoặc trên dữ liệu do giảng viên/dataset công khai cung cấp.
Phương pháp, hình thức kiểm tra và đánh giá
- Kết hợp đánh giá quá trình học tập với đánh giá kết thúc học phần.
- Điểm quá trình học tập chiếm 30%, bao gồm mức độ chuyên cần, tham gia học tập và bài kiểm tra/bài tập trong quá trình học.
- Điểm kết thúc học phần chiếm 70%, thực hiện theo hình thức bài tập lớn/báo cáo theo nhóm gắn với một bài toán Mạng máy tính có xử lý dữ liệu, Python và Machine Learning ở mức cơ bản.
- Mỗi nhóm tối đa 4 sinh viên; báo cáo kết thúc học phần tối thiểu 20 trang nội dung chính và phải có dataset, mã nguồn Python, kết quả thực nghiệm và phần phân tích.
- Điểm được chấm theo thang điểm 10 và làm tròn đến một chữ số thập phân sau dấu phẩy.
Cấu trúc học phần
Học phần gồm bốn phần chính:
- Phần I - Nền tảng: dữ liệu, phân tầng, truyền dẫn, Ethernet và tầng liên kết.
- Phần II - TCP/IP và giao thức: IP, định tuyến, NAT, TCP/UDP, giao thức ứng dụng, mạng không dây, mạng di động và hiệu năng.
- Phần III - An toàn và phân tích mạng: nguyên lý bảo vệ, tấn công, giám sát và phát hiện bất thường.
- Phần IV - Tổng hợp: xây dựng quy trình phân tích mạng hoàn chỉnh và báo cáo kết quả.
Nội dung môn học
Chương 1: Mạng máy tính và dữ liệu được truyền qua mạng
Khái niệm và vai trò của mạng máy tính; host, switch, router, access point; message, segment, datagram, packet, frame, connection và flow; bandwidth, throughput, goodput, delay, packet loss, jitter; dữ liệu đo mạng và góc nhìn an toàn nhập môn.
Chương 2: Phân tầng, đóng gói và mô hình TCP/IP
Service, interface, protocol, SDU và PDU; mô hình OSI, TCP/IP và mô hình Internet năm tầng; encapsulation/decapsulation; định danh theo tầng; overhead; quan hệ giữa Ethernet, IP, TCP/UDP, DNS và HTTP/HTTPS.
Chương 3: Truyền dẫn, Ethernet và tầng liên kết dữ liệu
Bit, tín hiệu và môi trường truyền; transmission delay và propagation delay; Ethernet frame; MAC address; switch; VLAN; phát hiện lỗi và CRC; dữ liệu dạng array/DataFrame, trực quan hóa và an toàn tầng Data Link.
Chương 4: IPv4, IPv6, subnetting, ARP và ICMP
Cấu trúc địa chỉ và packet IPv4; CIDR, subnetting và VLSM; default gateway; ARP; ICMP; IPv6; missing value, thống kê và outlier trong dữ liệu mạng; spoofing, ARP poisoning và giới hạn diễn giải.
Chương 5: Chuyển tiếp, định tuyến và NAT
Forwarding và routing; routing table; longest-prefix matching; đồ thị và shortest path; static/dynamic routing; RIP, OSPF và BGP ở mức khái quát; NAT, PAT và port mapping; phân tích routing table/traceroute bằng Python; an toàn định tuyến.
Chương 6: UDP, TCP và truyền dữ liệu đầu cuối
Port, socket và process-to-process communication; UDP; TCP three-way handshake; sequence number, acknowledgment và retransmission; flow control, congestion control, MSS, RTT, window và BDP; network flow, flow feature và các rủi ro ở tầng Transport.
Chương 7: DNS, DHCP, HTTP, HTTPS và các giao thức ứng dụng
Nguyên lý tầng Application; DNS hierarchy, record, cache, recursive/iterative query; DHCP DORA, lease và relay; HTTP request/response, method, status code, header và body; TLS/HTTPS và certificate; phân tích dữ liệu DNS/HTTP và các rủi ro tầng Application.
Chương 8: Mạng không dây và mạng di động
Tần số, kênh, RSSI, SNR, nhiễu và suy hao; kiến trúc WLAN; beacon, scanning, authentication, association và roaming; CSMA/CA và hidden node; PHY rate, throughput và goodput; kiến trúc 4G/5G ở mức khái quát; phân tích dữ liệu Wi-Fi và các rủi ro không dây.
Chương 9: Hiệu năng mạng và phân tích bằng hồi quy
Bandwidth, throughput, goodput, utilization, delay, RTT, jitter, loss và percentile; transmission/propagation delay, BDP, queue, congestion và bufferbloat; QoS/QoE/SLA; observation, feature, target và X/y; train-test split, baseline, Linear Regression, MAE, RMSE, residual, leakage và drift.
Chương 10: Các nguyên lý bảo vệ hệ thống mạng
Asset, threat, vulnerability, risk và control; confidentiality, integrity và availability; identification, authentication, authorization và accounting; mật mã, hash, HMAC, chữ ký số và TLS ở mức nền tảng; firewall, segmentation, defense in depth và nguyên tắc vận hành an toàn.
Chương 11: Tấn công mạng, giám sát và phát hiện bất thường
Threat, attack, event, alert, incident và compromise; scanning, spoofing, credential attack, malware, C2, exfiltration và DoS/DDoS; packet/flow/DNS/authentication/endpoint/application log; IDS/IPS, SIEM và correlation; Logistic Regression, Decision Tree, clustering, anomaly detection, precision, recall, false positive và phân tích lỗi.
Chương 12: Các quy trình phân tích mạng hoàn chỉnh
Chuyển yêu cầu vận hành thành câu hỏi phân tích; xác định observation, feature, target và schema; làm sạch và chia dữ liệu; baseline và metric; quy trình hồi quy cho hiệu năng Web; phân loại flow cần ưu tiên điều tra; phân cụm và anomaly scoring; diễn giải kết quả theo bối cảnh mạng; báo cáo có khả năng tái lập và sử dụng kết quả có trách nhiệm.
Công cụ và phương pháp thực hành
Tùy từng nội dung, người học có thể sử dụng:
- Python và thư viện chuẩn;
- NumPy, pandas và Matplotlib;
- scikit-learn cho các mô hình Machine Learning cơ bản;
- Wireshark hoặc dữ liệu PCAP được cung cấp/hợp pháp;
- các công cụ hệ thống như
ping,traceroute/tracert,ipconfig/ifconfigvà các công cụ phân tích mạng tương đương; - dataset mạng công khai hoặc dữ liệu tự thu thập trong môi trường được phép.
Giáo trình và tài liệu tham khảo
- Slides môn học
- Đề bài thi hết môn
- James F. Kurose, Keith W. Ross, Computer Networking: A Top-Down Approach, 8th Edition, Pearson, 2020.
- Andrew S. Tanenbaum, David J. Wetherall, Computer Networks, 5th Edition, Pearson, 2010.