TÀI LIỆU HỌC TẬP VÀ ÔN TẬP CUỐI KỲ: NHẬP MÔN MẠNG MÁY TÍNH


Tổng quan về giáo trình

Tài liệu học tập Ôn tập cuối kỳ môn Nhập môn Mạng máy tính (biên soạn bởi nhóm tác giả Nguyễn Thành Nhân - MMTT2022.2, Nguyễn Phi Học - KTPM2022.1, và Lê Hoàng Vũ - MMTT2022.3) là hệ thống bài giảng và bài tập phục vụ cho học phần Nhập môn Mạng máy tính tại bậc đại học. Trong chương trình đào tạo các ngành Công nghệ Thông tin, Mạng máy tính và Truyền thông dữ liệu (MMTT), cũng như Kỹ thuật Phần mềm (KTPM), học phần này giữ vai trò là khối kiến thức cơ sở ngành bắt buộc, đặt nền móng cho việc hiểu rõ nguyên lý vận hành của Internet và các hệ thống phân tán.

Mục tiêu học tập của tài liệu tập trung vào việc chuẩn hóa và hệ thống lại toàn bộ các khái niệm thuộc mô hình phân tầng mạng, đặc biệt đi sâu vào hai tầng then chốt: Tầng vận chuyển (Transport Layer) với giao thức TCP và Tầng mạng (Network Layer) với giao thức IP. Sau khi hoàn thành nội dung, người học có khả năng phân tích chi tiết cấu trúc tiêu đề (header) của các giao thức, giải thích quy trình thiết lập/giải phóng kết nối, cơ chế truyền dữ liệu tin cậy, điều khiển luồng, điều khiển tắc nghẽn, cũng như thực hiện các phép tính toán kỹ thuật về ước lượng thời gian truyền trễ (RTT), phân mảnh gói tin IP (Fragmentation) và chia mạng con (Subnetting).

Cấu trúc tài liệu được thiết kế theo mô hình phân tầng mạng tiêu chuẩn, tiếp cận trực tiếp từ lý thuyết nền tảng đến cấu trúc dữ liệu nhị phân của gói tin và áp dụng vào các bài toán định lượng thực tế. Điểm đặc thù của tài liệu là việc kết hợp chặt chẽ giữa định nghĩa lý thuyết, sơ đồ giao thức và các bước tính toán có số liệu mẫu cụ thể.


Nội dung kiến thức cốt lõi

                    MÔ HÌNH PHÂN TẦNG VÀ CÁC CHỦ ĐỀ CỐT LÕI

Các chương/chủ đề chính

Tài liệu được phân chia theo tiến trình hệ thống hóa 5 tầng mạng cùng phần giải bài tập chuyên sâu:

  1. Tổng quan các tầng mạng: Khái quát về Tầng ứng dụng (Application Layer), Tầng vận chuyển (Transport Layer), Tầng mạng (Network Layer), Tầng liên kết (Data Link Layer) và Tầng vật lý (Physical Layer).
  2. Tầng vận chuyển và Giao thức TCP (Transmission Control Protocol):
    • Khái niệm và đặc tính: TCP là giao thức hướng kết nối, đảm bảo truyền dữ liệu tin cậy, không mất mát và duy trì chính xác thứ tự của các byte dữ liệu.
    • Cấu trúc TCP Header: Phân tích chi tiết các trường nhị phân gồm:
      • Source port (16 bit) và Destination port (16 bit): Định danh cổng gửi và cổng nhận của tiến trình ứng dụng.
      • Sequence number (32 bit): Đánh số thứ tự byte đầu tiên của segment.
      • Acknowledgment number (32 bit): Báo nhận byte đã nhận và chỉ định số thứ tự byte kế tiếp kỳ vọng.
      • Flags (9 bit): Điều khiển trạng thái phiên làm việc gồm URG (dữ liệu khẩn), ACK (xác nhận), PSH (đẩy dữ liệu ngay lên ứng dụng), RST (thiết lập lại kết nối), SYN (đồng bộ số thứ tự khởi tạo ban đầu), FIN (chấm dứt kết nối).
      • Windows (16 bit): Kích thước cửa sổ nhận (rwnd) xác định lượng byte bên nhận có thể tiếp nhận.
      • Checksum (16 bit): Kiểm tra tính toàn vẹn và lỗi của segment.
      • Urgent pointer (16 bit) và Options (tối đa 32 bit): Mở rộng tính năng và trỏ dữ liệu ưu tiên.
    • Cơ chế truyền tin cậy và quản lý thời gian: Sử dụng số thứ tự (Sequence number) và ACK để duy trì tính liên tục; cơ chế truyền lại dựa trên bộ đếm thời gian (Timeout) và ACK lặp (Duplicate ACKs).
    • Công thức tính toán thời gian chờ:
      • Ước tính RTT mẫu: $EstimatedRTT = (1 - \alpha) \cdot EstimatedRTT + \alpha \cdot SampleRTT$ (với $\alpha = 0.125$).
      • Biên độ an toàn: $DevRTT = (1 - \beta) \cdot DevRTT + \beta \cdot |SampleRTT - EstimatedRTT|$ (với $\beta = 0.25$).
      • Khoảng thời gian chờ: $TimeoutInterval = EstimatedRTT + 4 \cdot DevRTT$.
    • Quản lý kết nối: Bắt tay 3 bước (Three-way Handshake) để đồng bộ số thứ tự (SYN, SYN-ACK, ACK) và thủ tục đóng kết nối độc lập hai chiều bằng cờ FIN và ACK.
    • Điều khiển luồng (Flow Control): Bên nhận sử dụng trường rwnd trong header để thông báo dung lượng bộ đệm khả dụng, ngăn ngừa tình trạng tràn bộ đệm bên nhận.
    • Điều khiển tắc nghẽn (Congestion Control): Quản lý kích thước cửa sổ tắc nghẽn (cwnd) và ngưỡng bắt đầu chậm (ssthresh). Phân biệt các giai đoạn:
      • Slow Start: Bắt đầu với $cwnd = 1\text{ MSS}$, tăng gấp đôi $cwnd$ sau mỗi khoảng RTT (hoặc tăng 1 MSS cho mỗi ACK hợp lệ).
      • Congestion Avoidance: Tăng tuyến tính $cwnd$ khi đạt ngưỡng $ssthresh$.
      • Phản ứng trước sự kiện mất gói tin: Nhận biết tắc nghẽn qua sự kiện 3 ACK trùng lặp hoặc hết thời gian chờ (Timeout).
  3. Tầng mạng (Network Layer) và Giao thức IP (Internet Protocol):
    • Chức năng chuyển tiếp (Forwarding) và Định tuyến (Routing): Phân định giữa hành động chuyển gói tin từ cổng vào sang cổng ra của một router (Forwarding) và quá trình thuật toán xác định đường đi tối ưu xuyên suốt mạng từ nguồn đến đích (Routing) dựa trên bảng chuyển tiếp.
    • Phân mảnh và tổng hợp IP Datagram (Fragmentation & Reassembly): Khắc phục giới hạn kích thước truyền tối đa (MTU - Maximum Transmission Unit) của các đường truyền liên kết:
      • Trường Identification (16 bit): Định danh gói tin gốc dùng để gộp các mảnh.
      • Trường Flags (3 bit): Bit biểu thị còn mảnh tiếp theo hay là mảnh cuối cùng (mảnh cuối có flag $= 0$, các mảnh trước có flag $= 1$).
      • Trường Fragmentation offset (13 bit): Xác định vị trí bắt đầu của dữ liệu phân mảnh trong datagram gốc theo đơn vị 8 byte ($\text{Vị trí byte} = Offset \times 8$).
    • Không gian địa chỉ IPv4 và Phân chia mạng con:
      • Cấu trúc địa chỉ IPv4 gồm 32 bit, chia thành 4 octet (dạng thập phân chấm dotted-decimal).
      • Phân định cấu trúc Subnet (phần mạng bên trái) và Host (phần máy trạm bên phải).
      • Chuyển đổi từ cơ chế phân lớp (Class A, B, C) sang định tuyến liên miền không phân lớp (CIDR - Classless InterDomain Routing) với định dạng $a.b.c.d/x$.
      • Quy tắc định danh: Địa chỉ mạng (toàn bộ bit host bằng 0), Địa chỉ quảng bá (toàn bộ bit host bằng 1).
      • Thuật toán chia mạng con: Mượn $i$ bit phần host ($2^i \ge n$, với $n$ là số mạng con cần chia; số bit mượn thỏa mãn $Subnet \le Host - 2$).

Bảng tổng hợp cấu trúc trường gói tin TCP và IP

Giao thức Tên trường (Field Name) Độ dài (Bit) Chức năng kỹ thuật trong hệ thống
TCP Source Port / Destination Port 16 / 16 Định tuyến dữ liệu đến đúng tiến trình (process) tại tầng ứng dụng
TCP Sequence Number (Seq #) 32 Đánh số thứ tự byte đầu tiên trong segment để ghép luồng tin cậy
TCP Acknowledgment Number (ACK #) 32 Báo nhận dữ liệu thành công và thông báo byte kế tiếp đang chờ
TCP Flags (URG, ACK, PSH, RST, SYN, FIN) 9 Điều khiển trạng thái kết nối, đồng bộ phiên và ngắt kết nối
TCP Receive Window (rwnd) 16 Thông báo dung lượng bộ đệm trống phục vụ điều khiển luồng
TCP Checksum 16 Phát hiện lỗi bit trên toàn bộ header và dữ liệu segment
IP Identification 16 Gắn nhãn gói tin gốc để phục vụ tái hợp các phân mảnh
IP Flags (DF, MF) 3 Kiểm soát phân mảnh (bit MF $= 0$ cho mảnh cuối, $1$ cho các mảnh trước)
IP Fragmentation Offset 13 Chỉ số vị trí dữ liệu mảnh trong gói gốc (nhân 8 để ra vị trí byte)

Kiến thức nền tảng được xây dựng

Nội dung bài giảng củng cố ba khối kiến thức lý thuyết cơ bản:

  1. Nguyên lý chuyển mạch gói và truyền thông phân tầng: Phân tách chức năng độc lập giữa tầng vận chuyển (truyền thông giữa các tiến trình) và tầng mạng (truyền thông giữa các máy chủ đầu cuối).
  2. Lý thuyết hệ thống về truyền tin cậy qua kênh không tin cậy: Xây dựng thuật toán trạng thái máy hữu hạn cho bên gửi và bên nhận, tích hợp các cơ chế hẹn giờ, báo nhận âm/dương và truyền lại có chọn lọc.
  3. Mô hình toán học trong định tuyến và điều khiển luồng/tắc nghẽn: Ứng dụng đại số Boolean (phép tính bitwise AND) trong định tuyến địa chỉ IP và áp dụng trung bình trượt có trọng số (EWMA) để ước lượng tham số mạng biến thiên $EstimatedRTT$.

Kỹ năng phát triển

Tài liệu rèn luyện cho người học các kỹ năng chuyên môn:

  • Kỹ năng phân tích giao thức mạng: Giải mã và phân tích ý nghĩa các trường thông tin trong khung dữ liệu TCP segment và IP datagram.
  • Kỹ năng tính toán định lượng tham số mạng: Tính toán giá trị cập nhật của $EstimatedRTT$, $DevRTT$, và khoảng thời gian $TimeoutInterval$ sau từng chu kỳ nhận gói tin.
  • Kỹ năng phân mảnh gói tin: Xác định số lượng phân mảnh, tính toán kích thước trường dữ liệu payload, cờ Flag và chỉ số Fragmentation Offset tương ứng với từng mức MTU của liên kết.
  • Kỹ năng quy hoạch địa chỉ mạng: Thực hiện kỹ thuật chia mạng con (Subnetting), tính toán dải địa chỉ host khả dụng, địa chỉ mạng (Network Address) và địa chỉ quảng bá (Broadcast Address) dựa trên tiền tố CIDR.

Phương pháp giảng dạy và học tập

Phương pháp tiếp cận của tài liệu được triển khai theo hình thức sư phạm kết hợp giữa lý thuyết cấu trúc và giải quyết vấn đề thông qua các bài toán mẫu định lượng. Mỗi chủ đề đều đi kèm các ví dụ tính toán thực tế với đáp án chi tiết.

Các bài tập và ví dụ tính toán điển hình trong tài liệu

1. Bài toán tính toán RTT và Timeout của TCP

Dữ liệu đầu vào: $EstimatedRTT_0 = 240\text{ ms}$, $DevRTT_0 = 10\text{ ms}$, các giá trị mẫu đo được tiếp theo là $SampleRTT_1 = 360\text{ ms}$, $SampleRTT_2 = 320\text{ ms}$, $SampleRTT_3 = 390\text{ ms}$. Hệ số $\alpha = 0.125$, $\beta = 0.25$.

  • Lần đo 1 ($SampleRTT = 360\text{ ms}$):
    • $EstimatedRTT = (1 - 0.125) \cdot 240 + 0.125 \cdot 360 = 255\text{ ms}$
    • $DevRTT = (1 - 0.25) \cdot 10 + 0.25 \cdot |360 - 240| = 37.5\text{ ms}$
    • $TimeoutInterval = 255 + 4 \cdot 37.5 = 405\text{ ms}$
  • Lần đo 2 ($SampleRTT = 320\text{ ms}$):
    • $EstimatedRTT = (1 - 0.125) \cdot 255 + 0.125 \cdot 320 = 263.125\text{ ms}$
    • $DevRTT = (1 - 0.25) \cdot 37.5 + 0.25 \cdot |320 - 255| = 44.375\text{ ms}$
    • $TimeoutInterval = 263.125 + 4 \cdot 44.375 = 440.625\text{ ms}$

2. Bài toán phân mảnh gói tin IP qua đường truyền có giới hạn MTU

  • Trường hợp phân mảnh: Gửi một datagram 2400 byte (20 byte IP header, 2380 byte data) qua liên kết có $\text{MTU} = 700\text{ byte}$.
    • Kích thước tải tối đa mỗi mảnh $= 700 - 20 = 680\text{ byte}$ (chia hết cho 8).
    • Số lượng phân mảnh được tạo $= \lceil 2380 / 680 \rceil = 4\text{ mảnh}$.
    • Các mảnh 1, 2, 3 có dữ liệu 680 byte, cờ $\text{Flag} = 1$, Offset lần lượt là $0, 85, 170$. Mảnh thứ 4 chứa 340 byte dữ liệu, cờ $\text{Flag} = 0$, Offset là $255$.
  • Trường hợp truyền tệp lớn không phân mảnh tại IP layer: Truyền file MP3 kích thước $5 \times 10^6\text{ byte}$ qua đường link $\text{MTU} = 1500\text{ byte}$.
    • Header IP (20 byte) + Header TCP (20 byte) $\rightarrow$ Dữ liệu tối đa trong mỗi gói là 1460 byte.
    • Tổng số datagram cần tạo: $\lceil (5 \times 10^6) / 1460 \rceil = 3425\text{ datagram}$. Do mỗi datagram đều nhỏ hơn MTU nên không xảy ra phân mảnh ở tầng IP, các gói tin mang trường Identification độc lập.

3. Bài toán chia mạng con và phân tích không gian địa chỉ IPv4

  • Chia mạng con lớp B: Địa chỉ 172.16.0.0/16 chia thành 8 mạng con.
    • Cần mượn $i = 3\text{ bit}$ ($2^3 = 8$). Phần host còn lại $16 - 3 = 13\text{ bit}$.
    • Số lượng host khả dụng mỗi mạng con: $2^{13} - 2 = 8190\text{ host}$ (đáp ứng yêu cầu $\ge 1000\text{ host}$).
    • Subnet mask mới: 255.255.224.0 (tương đương /19).
  • Kiểm tra tính cùng mạng bằng phép AND logic: Xét hai địa chỉ 192.168.1.9/28 và 192.168.1.39/28.
    • Subnet mask /28: 255.255.255.240.
    • 192.168.1.9 AND 255.255.255.240 = Mạng 192.168.1.0/28 (Host thứ 9).
    • 192.168.1.39 AND 255.255.255.240 = Mạng 192.168.1.32/28 (Host thứ 7).
    • Kết luận: Hai địa chỉ IP không thuộc cùng một mạng cục bộ.

Phương pháp tự học hiệu quả đối với tài liệu là tiếp cận theo quy trình ba bước: Học thuộc cấu trúc tiêu đề $\rightarrow$ Nắm vững quy trình vận hành trạng thái giao thức $\rightarrow$ Giải tuần tự các bài toán định lượng và kiểm tra kết quả với đáp án mẫu.


Điểm nổi bật và cập nhật

Tài liệu thể hiện các đặc điểm chuẩn hóa theo các tài liệu kỹ thuật RFC và chương trình đào tạo chuẩn quốc tế:

  • Chuẩn hóa thông số kỹ thuật: Trình bày chính xác độ dài bit và vai trò của từng trường dữ liệu trong TCP header (từ 16 bit Port đến 9 bit Flags và trường Checksum) cùng IP header.
  • Tích hợp mô hình CIDR hiện đại: Thay thế hoàn toàn tư duy cố định của mạng phân lớp cũ (Classful A, B, C) bằng cơ chế định tuyến liên miền không phân lớp (CIDR $/x$), giải thích rõ ràng cơ chế tính toán địa chỉ mạng và địa chỉ quảng bá.
  • Công thức tính toán chuẩn RFC 6298: Cập nhật chuẩn xác các hệ số làm mịn $\alpha = 0.125$ và $\beta = 0.25$ trong thuật toán quản lý thời gian chờ của TCP.
  • Tính thực tiễn cao: Các bài tập sử dụng các hằng số mạng phổ biến trong thực tế như kích thước MTU 1500 byte chuẩn Ethernet, kích thước header mặc định 20 byte của IPv4 và TCP, giúp sinh viên làm quen trực tiếp với luồng dữ liệu mạng thực tế.

Đối tượng sử dụng giáo trình

Tài liệu được biên soạn phục vụ các nhóm đối tượng cụ thể:

  • Sinh viên đại học: Sinh viên năm thứ 2 hoặc năm thứ 3 thuộc các ngành Kỹ thuật Phần mềm (mã lớp KTPM2022), Mạng máy tính và Truyền thông dữ liệu (mã lớp MMTT2022), Khoa học Máy tính và Hệ thống Thông tin đang theo học học phần Nhập môn Mạng máy tính.
  • Điều kiện tiên quyết (Prerequisites): Người học cần có kiến thức nền tảng về Toán rời rạc (đại số logic Boolean, phép toán bitwise AND), Kiến trúc máy tính (hệ thống số nhị phân, cấu trúc bộ nhớ đệm), và kỹ năng lập trình cơ bản.
  • Giảng viên và Trợ giảng: Sử dụng làm tài liệu khung để tổ chức các buổi ôn tập cuối kỳ, xây dựng ngân hàng đề thi trắc nghiệm và bài tập tính toán định lượng cho sinh viên.
  • Người tự học và ôn thi chứng chỉ: Phù hợp cho kỹ sư phần mềm hoặc kỹ thuật viên mạng muốn củng cố lại lý thuyết tầng mạng và tầng vận chuyển phục vụ các kỳ thi chuyên môn hoặc chứng chỉ mạng cơ bản.

Câu hỏi thường gặp

1. Tài liệu này phù hợp nhất với đối tượng nào?

Tài liệu được thiết kế chuyên biệt cho sinh viên đại học đang ôn tập kiểm tra cuối kỳ môn Nhập môn Mạng máy tính, đặc biệt là sinh viên các ngành Mạng máy tính (MMTT) và Kỹ thuật phần mềm (KTPM).

2. Cần chuẩn bị những kiến thức nền tảng nào trước khi học?

Người học cần nắm vững biểu diễn số nhị phân, các phép toán logic trên bit (AND, OR), khái niệm về mô hình phân tầng máy tính và đơn vị dữ liệu giao thức (bit, byte, packet, segment, frame).

3. Điểm khác biệt của tài liệu này so với các sách giáo trình lý thuyết dày là gì?

Tài liệu tập trung trực diện vào các trọng tâm thi cử: định nghĩa ngắn gọn, cấu trúc header chi tiết, các công thức giải tích (RTT, Timeout, Subnetting) và các bài toán mẫu có lời giải từng bước, giảm thiểu các phần mô tả lịch sử không cần thiết.

4. Làm thế nào để tự học và làm tốt các bài tập trong tài liệu?

Người học nên tự vẽ lại cấu trúc TCP/IP header, ghi nhớ các công thức tính RTT và quy tắc chia mạng con, sau đó tự làm lại các ví dụ về phân mảnh MTU và tính toán Subnet trước khi đối chiếu đáp án.

5. Tài liệu có cung cấp phần bài tập trắc nghiệm và câu hỏi đánh giá không?

Có. Tài liệu tích hợp các câu hỏi trắc nghiệm về nhận diện trạng thái điều khiển tắc nghẽn (Slow Start, xác định ngưỡng ssthresh, nhận diện 3 ACK trùng lặp) và các bài toán chia subnet có phân tích kết luận chi tiết.


Kết luận

Tài liệu Ôn tập cuối kỳ môn Nhập môn Mạng máy tính cung cấp một hệ thống kiến thức súc tích, chuẩn xác về mặt kỹ thuật, tập trung vào hai thành phần cốt lõi của Internet là giao thức TCP và IP. Lộ trình học tập được thiết kế khoa học từ nhận diện cấu trúc trường dữ liệu, nguyên lý vận hành trạng thái đến giải quyết bài toán định lượng. Đây là tài liệu hỗ trợ học tập trực tiếp, đáp ứng nhu cầu ôn luyện và nắm vững bản chất kỹ thuật của môn học Mạng máy tính.