Loading...

Bài 16: Switching cơ bản — Bảng MAC address, cơ chế Forwarding

💡 Liên hệ thực tế

Anh Nam VNExperts mới vào làm bưu tá cho một khu phố lạ — ngày đầu tiên, anh chưa biết nhà nào ở đâu, nên khi có thư gửi đến, anh phải đi rao khắp khu phố hỏi "ai là chủ nhà này". Nhưng mỗi lần giao thư thành công, anh ghi chú lại: "Nhà số 5 — ông Ba, cạnh quán cà phê". Sau vài ngày, anh đã thuộc lòng gần hết khu phố, không cần rao hỏi nữa, cứ thấy tên là đi thẳng đến đúng nhà.

🔌 Switch Cisco hoạt động chính xác theo cách đó — nó "học" dần địa chỉ MAC của từng thiết bị qua từng cổng, ghi vào một cuốn sổ gọi là bảng MAC address table, rồi dùng bảng đó để quyết định gửi dữ liệu đi đâu cho nhanh và chính xác.


📘 Kiến thức cốt lõi

📖 Bảng MAC Address Table là gì? Là một bảng ghi nhớ mà Switch tự động xây dựng, lưu thông tin: địa chỉ MAC nào được nhìn thấy ở cổng nào. Xem bằng lệnh show mac address-table trên switch Cisco.

Mac Address Table
-------------------------------------------
Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    aaaa.bbbb.cccc     DYNAMIC     Fa0/1
   1    dddd.eeee.ffff     DYNAMIC     Fa0/2

⚙️ 4 hành vi cốt lõi của Switch — nên nhớ theo đúng thứ tự xử lý:

Hành viKhi nào xảy raMô tả
1️⃣ Learn (Học) Khi nhận Frame từ 1 cổng Ghi lại địa chỉ MAC nguồn + cổng vào bảng MAC
2️⃣ Flood (Phát tràn) Khi chưa biết MAC đích ở cổng nào Gửi ra tất cả các cổng còn lại (trừ cổng vừa nhận)
3️⃣ Forward (Chuyển tiếp) Khi đã biết MAC đích Chỉ gửi ra đúng 1 cổng tương ứng trong bảng
4️⃣ Filter (Lọc bỏ) Khi MAC đích trùng với cổng nguồn Không gửi đi đâu cả — vì thiết bị đích đã ở cùng cổng đó rồi

🎯 Ví dụ minh họa toàn bộ quy trình — PC A gửi dữ liệu cho PC B lần đầu tiên:

  1. PC A (MAC: AAAA) gửi Frame vào cổng Fa0/1 của Switch, đích là PC B (MAC: BBBB).
  2. Switch Learn: ghi vào bảng — "MAC AAAA nằm ở cổng Fa0/1".
  3. Switch tra bảng, chưa thấy MAC BBBB ở cổng nào → Flood: gửi Frame ra tất cả cổng còn lại (Fa0/2, Fa0/3...).
  4. PC B nhận được Frame (vì nó nằm ở 1 trong các cổng được Flood), trả lời lại.
  5. Khi Frame trả lời đi qua Switch, Switch Learn tiếp: "MAC BBBB nằm ở cổng Fa0/2".
  6. Từ lần sau, khi PC A gửi cho PC B, Switch đã biết cả 2 MAC → chỉ Forward thẳng ra đúng cổng Fa0/2, không cần Flood nữa.

💡 Đây là lý do lần đầu tiên 2 máy nói chuyện với nhau qua Switch luôn phải trải qua bước Flood — Switch không có "thần giao cách cảm", nó chỉ biết được vị trí MAC sau khi đã ít nhất 1 lần nhận Frame từ chính địa chỉ MAC đó.

⏳ Bảng MAC không lưu vĩnh viễn — có thời gian hết hạn (Aging Time): Theo mặc định, Switch Cisco sẽ xóa một mục trong bảng MAC nếu sau 300 giây (5 phút) không nhận thêm bất kỳ Frame nào từ địa chỉ MAC đó. Điều này giúp bảng MAC luôn cập nhật đúng thực tế — nếu bạn rút dây mạng của PC A và cắm vào cổng khác, Switch sẽ tự học lại vị trí mới sau khi bảng cũ hết hạn.


🖼️ Sơ đồ trực quan

Quy trình Learn, Flood, Forward của Switch khi PC A gửi dữ liệu cho PC B lần đầu Sơ đồ minh họa 3 bước: Switch học địa chỉ MAC của PC A ở cổng Fa0/1, sau đó phát tràn Frame ra các cổng còn lại vì chưa biết MAC đích, và cuối cùng chỉ chuyển tiếp thẳng khi đã học được vị trí của cả hai địa chỉ MAC Bước 1 — Learn Switch nhận Frame từ PC A ở Fa0/1 → ghi vào bảng MAC: "AAAA ở Fa0/1" Bước 2 — Flood (vì chưa biết MAC B ở đâu) Gửi Frame ra tất cả các cổng còn lại — Fa0/2, Fa0/3, Fa0/4... Bước 3 — Forward (những lần sau) Đã học cả AAAA (Fa0/1) và BBBB (Fa0/2) → chỉ gửi đúng cổng Fa0/2


💬 Hỏi & Đáp nhanh

❓ Nếu Switch chưa học được MAC đích, nó có gửi luôn cho tất cả các máy trong mạng đọc được nội dung không? ✅ Có gửi ra tất cả các cổng (Flood), nhưng chỉ có thiết bị đúng địa chỉ MAC đích mới xử lý và giữ lại Frame đó, các thiết bị khác nhận được nhưng sẽ tự động bỏ qua vì không phải MAC của chúng — không phải "ai cũng đọc được nội dung" theo nghĩa can thiệp được.

❓ Vì sao bảng MAC cần có thời gian hết hạn (aging time), sao không giữ mãi mãi cho tiện? ✅ Vì thiết bị mạng có thể di chuyển — ví dụ rút laptop cắm sang cổng khác, hoặc thay hẳn thiết bị mới ở cùng vị trí cũ. Nếu giữ bảng MAC mãi mãi, Switch sẽ gửi nhầm dữ liệu đến cổng cũ đã không còn đúng thiết bị. Aging time đảm bảo bảng MAC luôn phản ánh đúng thực tế hiện tại.

❓ Filter khác Forward ở điểm nào, vì cả hai đều là Switch "đã biết vị trí MAC"? ✅ Khác biệt nằm ở vị trí MAC nguồn và đích có trùng cổng hay không. Forward là khi 2 MAC ở 2 cổng khác nhau — cần chuyển Frame sang cổng khác. Filter là khi MAC đích đã ở cùng cổng với MAC nguồn (2 thiết bị nối chung 1 Hub cắm vào cùng 1 cổng switch chẳng hạn) — Switch nhận ra không cần chuyển đi đâu cả, tự loại bỏ Frame đó.


📝 Bài tập đánh giá

Câu 1: Switch thực hiện hành động "Flood" trong trường hợp nào?

  • A. Khi đã biết chính xác MAC đích ở cổng nào
  • B. Khi chưa biết MAC đích nằm ở cổng nào trong bảng MAC
  • C. Khi MAC nguồn và đích ở cùng 1 cổng
  • D. Khi switch mới khởi động lần đầu, chưa cắm dây nào

Câu 2: Mặc định, sau bao lâu Switch Cisco sẽ xóa một mục trong bảng MAC nếu không có Frame nào từ địa chỉ MAC đó?

  • A. 30 giây
  • B. 60 giây
  • C. 300 giây
  • D. Không bao giờ xóa

👉 Đáp án:

Câu 1: B — Flood xảy ra khi Switch chưa học được vị trí cổng của MAC đích, buộc phải gửi ra tất cả các cổng còn lại để đảm bảo Frame đến đúng nơi.

Câu 2: C — Thời gian hết hạn mặc định (aging time) của bảng MAC trên switch Cisco là 300 giây (5 phút).


📚 Bài viết thuộc khóa học CCNA miễn phí của VNExperts.

🧭 Điều hướng

⬅️ Bài trước🏠 Mục lục khóa họcBài kế tiếp ➡️
Bài 15: Ảo hóa mạng Mục lục khóa học CCNA Bài 17: Cân bằng tải & dự phòng — FHRP tổng quan