[CCNA – Switching Fundamentals] Switch học địa chỉ MAC như thế nào? Cơ chế nền tảng mà mọi Network Engineer cần hiểu
Khi mới học mạng, rất nhiều người biết rằng Switch có thể chuyển tiếp dữ liệu cực nhanh giữa các thiết bị trong mạng LAN.
Nhưng đã bao giờ bạn tự hỏi:
👉 Làm sao Switch biết máy tính nào đang kết nối ở cổng nào?
👉 Làm sao Switch biết Frame cần được gửi đến đúng thiết bị đích thay vì phát tán khắp mạng?
👉 Khi một Switch mới khởi động và hoàn toàn chưa biết bất kỳ địa chỉ MAC nào thì điều gì sẽ xảy ra?
Đây chính là lúc cơ chế MAC Address Learning phát huy vai trò của mình.
Mặc dù là kiến thức nền tảng của Switching, nhưng đây cũng là một trong những chủ đề quan trọng xuất hiện xuyên suốt từ CCNA, CCNP cho đến các môi trường doanh nghiệp thực tế. Switch hoạt động ở đâu trong mô hình OSI?
Switch là thiết bị hoạt động chủ yếu ở:
Layer 2 – Data Link Layer
Khác với Router sử dụng địa chỉ IP để đưa ra quyết định chuyển tiếp, Switch sử dụng:
MAC Address
để xác định vị trí của thiết bị trong mạng LAN.
Để làm được điều đó, Switch duy trì một bảng gọi là:
MAC Address Table
Hay còn được gọi là:
CAM Table
Bảng này lưu trữ thông tin:
Giả sử chúng ta có một Switch kết nối với ba máy tính:
H1 = MAC AAA
H2 = MAC BBB
H3 = MAC CCC
Kết nối:
H1 → Port 1
H2 → Port 2
H3 → Port 3
Ban đầu khi Switch vừa khởi động:
MAC Address Table = Rỗng
Switch hoàn toàn chưa biết:
Giả sử H1 muốn gửi dữ liệu đến H2.
Frame sẽ có:
Source MAC = AAA
Destination MAC = BBB
Frame được gửi vào:
Port 1
Ngay khi nhận được Frame này, Switch thực hiện bước đầu tiên: Học địa chỉ MAC nguồn
Switch kiểm tra:
Source MAC = AAA
và ghi nhận:
AAA nằm trên Port 1
Lúc này bảng MAC trở thành:
AAA → Port 1
Đây chính là quá trình:
MAC Learning
Điều quan trọng cần nhớ:
Switch luôn học từ:
Source MAC Address
chứ không học từ Destination MAC Address. Switch có biết BBB nằm ở đâu không?
Câu trả lời là:
Chưa biết
Lúc này Switch chỉ mới học được:
AAA → Port 1
Nhưng địa chỉ:
BBB
chưa xuất hiện trong bảng MAC.
Do đó Switch không biết phải gửi Frame đi đâu. Unknown Unicast Flooding
Khi không tìm thấy MAC đích trong bảng CAM, Switch sẽ thực hiện:
Unknown Unicast Flooding
Nghĩa là:
Switch gửi Frame ra tất cả các cổng ngoại trừ cổng nhận vào.
Trong ví dụ:
Port 2
Port 3
đều nhận được Frame. H2 phản hồi
Khi H2 nhận được dữ liệu và gửi phản hồi về H1:
Frame mới sẽ có:
Source MAC = BBB
Destination MAC = AAA
Frame đi vào:
Port 2
Lúc này Switch học tiếp:
BBB → Port 2
Bảng MAC trở thành:
AAA → Port 1
BBB → Port 2
Đồng thời Switch kiểm tra MAC đích:
AAA
và phát hiện đã tồn tại trong bảng.
Do đó Switch chỉ gửi Frame đến:
Port 1
thay vì Flood như trước. Khi H3 tham gia mạng
Tương tự, khi H3 gửi dữ liệu:
Source MAC = CCC
Switch tiếp tục học:
CCC → Port 3
Kết quả:
AAA → Port 1
BBB → Port 2
CCC → Port 3
Lúc này Switch đã biết chính xác vị trí của tất cả thiết bị trong mạng. Lợi ích của MAC Learning
Hãy tưởng tượng nếu Switch không có khả năng học địa chỉ MAC.
Mỗi Frame nhận được sẽ phải gửi đến mọi thiết bị trong mạng.
Điều đó gây ra:
Nhờ MAC Learning:
Switch có thể gửi dữ liệu chính xác đến thiết bị đích.
Đây là lý do mạng Ethernet hiện đại có thể hoạt động hiệu quả với hàng trăm hoặc hàng nghìn thiết bị. MAC Address Table có tồn tại mãi không?
Câu trả lời là không.
Switch sử dụng cơ chế:
Aging Time
Nếu trong một khoảng thời gian nhất định không thấy lưu lượng từ địa chỉ MAC đó, Switch sẽ tự động xóa bản ghi.
Điều này giúp bảng MAC luôn được cập nhật chính xác khi:
Trên Cisco IOS:
show mac address-table
Lệnh này cho phép xem:
Đây là một trong những lệnh được sử dụng rất thường xuyên khi Troubleshooting Layer 2. Kết luận
MAC Address Learning là nền tảng của công nghệ Switching.
Một Switch thông minh không phải vì nó được cấu hình sẵn mọi thứ, mà vì nó có khả năng tự học từ lưu lượng đang đi qua hệ thống.
Điều quan trọng cần nhớ:
✅ Switch học từ Source MAC Address.
✅ Khi chưa biết MAC đích, Switch sẽ thực hiện Unknown Unicast Flooding.
✅ Khi đã học được vị trí thiết bị, Switch Forward trực tiếp đến đúng cổng.
✅ Bảng MAC luôn được cập nhật và tự động làm mới theo Aging Time.
Đây là kiến thức cơ bản nhưng cực kỳ quan trọng đối với bất kỳ ai đang học CCNA, CCNP hay làm việc trong lĩnh vực quản trị mạng.
💬 Bạn đã từng gặp trường hợp MAC Address Table gây ra lỗi mất kết nối hoặc hiện tượng "MAC Flapping" trong thực tế chưa?
Hãy chia sẻ kinh nghiệm của bạn cùng cộng đồng Quản Trị Mạng VnPro!
🎓 Muốn học bài bản về Switching, VLAN, STP, EtherChannel, Routing và các công nghệ Cisco thực chiến?
Liên hệ VnPro để được tư vấn lộ trình học từ CCNA → CCNP Enterprise → CCIE Enterprise Infrastructure.
📞 Hotline/Zalo: 093 3427 079
📧 Email: phongkinhdoanh@vnpro.org
🌐 Website: vnpro.vn
vnpro#QuanTriMang#Cisco#CCNA#CCNP#CCIE#Switching#MACAdd ress#CAMTable#NetworkEngineer#CiscoNetworking#HocC CNA#HocCCNP#HocMang
Khi mới học mạng, rất nhiều người biết rằng Switch có thể chuyển tiếp dữ liệu cực nhanh giữa các thiết bị trong mạng LAN.
Nhưng đã bao giờ bạn tự hỏi:
👉 Làm sao Switch biết máy tính nào đang kết nối ở cổng nào?
👉 Làm sao Switch biết Frame cần được gửi đến đúng thiết bị đích thay vì phát tán khắp mạng?
👉 Khi một Switch mới khởi động và hoàn toàn chưa biết bất kỳ địa chỉ MAC nào thì điều gì sẽ xảy ra?
Đây chính là lúc cơ chế MAC Address Learning phát huy vai trò của mình.
Mặc dù là kiến thức nền tảng của Switching, nhưng đây cũng là một trong những chủ đề quan trọng xuất hiện xuyên suốt từ CCNA, CCNP cho đến các môi trường doanh nghiệp thực tế. Switch hoạt động ở đâu trong mô hình OSI?
Switch là thiết bị hoạt động chủ yếu ở:
Layer 2 – Data Link Layer
Khác với Router sử dụng địa chỉ IP để đưa ra quyết định chuyển tiếp, Switch sử dụng:
MAC Address
để xác định vị trí của thiết bị trong mạng LAN.
Để làm được điều đó, Switch duy trì một bảng gọi là:
MAC Address Table
Hay còn được gọi là:
CAM Table
Bảng này lưu trữ thông tin:
- Địa chỉ MAC
- VLAN tương ứng
- Cổng kết nối của thiết bị
Giả sử chúng ta có một Switch kết nối với ba máy tính:
H1 = MAC AAA
H2 = MAC BBB
H3 = MAC CCC
Kết nối:
H1 → Port 1
H2 → Port 2
H3 → Port 3
Ban đầu khi Switch vừa khởi động:
MAC Address Table = Rỗng
Switch hoàn toàn chưa biết:
- AAA nằm ở đâu
- BBB nằm ở đâu
- CCC nằm ở đâu
Giả sử H1 muốn gửi dữ liệu đến H2.
Frame sẽ có:
Source MAC = AAA
Destination MAC = BBB
Frame được gửi vào:
Port 1
Ngay khi nhận được Frame này, Switch thực hiện bước đầu tiên: Học địa chỉ MAC nguồn
Switch kiểm tra:
Source MAC = AAA
và ghi nhận:
AAA nằm trên Port 1
Lúc này bảng MAC trở thành:
AAA → Port 1
Đây chính là quá trình:
MAC Learning
Điều quan trọng cần nhớ:
Switch luôn học từ:
Source MAC Address
chứ không học từ Destination MAC Address. Switch có biết BBB nằm ở đâu không?
Câu trả lời là:
Chưa biết
Lúc này Switch chỉ mới học được:
AAA → Port 1
Nhưng địa chỉ:
BBB
chưa xuất hiện trong bảng MAC.
Do đó Switch không biết phải gửi Frame đi đâu. Unknown Unicast Flooding
Khi không tìm thấy MAC đích trong bảng CAM, Switch sẽ thực hiện:
Unknown Unicast Flooding
Nghĩa là:
Switch gửi Frame ra tất cả các cổng ngoại trừ cổng nhận vào.
Trong ví dụ:
Port 2
Port 3
đều nhận được Frame. H2 phản hồi
Khi H2 nhận được dữ liệu và gửi phản hồi về H1:
Frame mới sẽ có:
Source MAC = BBB
Destination MAC = AAA
Frame đi vào:
Port 2
Lúc này Switch học tiếp:
BBB → Port 2
Bảng MAC trở thành:
AAA → Port 1
BBB → Port 2
Đồng thời Switch kiểm tra MAC đích:
AAA
và phát hiện đã tồn tại trong bảng.
Do đó Switch chỉ gửi Frame đến:
Port 1
thay vì Flood như trước. Khi H3 tham gia mạng
Tương tự, khi H3 gửi dữ liệu:
Source MAC = CCC
Switch tiếp tục học:
CCC → Port 3
Kết quả:
AAA → Port 1
BBB → Port 2
CCC → Port 3
Lúc này Switch đã biết chính xác vị trí của tất cả thiết bị trong mạng. Lợi ích của MAC Learning
Hãy tưởng tượng nếu Switch không có khả năng học địa chỉ MAC.
Mỗi Frame nhận được sẽ phải gửi đến mọi thiết bị trong mạng.
Điều đó gây ra:
- Lãng phí băng thông
- Tăng Broadcast Traffic
- Giảm hiệu suất hệ thống
Nhờ MAC Learning:
Switch có thể gửi dữ liệu chính xác đến thiết bị đích.
Đây là lý do mạng Ethernet hiện đại có thể hoạt động hiệu quả với hàng trăm hoặc hàng nghìn thiết bị. MAC Address Table có tồn tại mãi không?
Câu trả lời là không.
Switch sử dụng cơ chế:
Aging Time
Nếu trong một khoảng thời gian nhất định không thấy lưu lượng từ địa chỉ MAC đó, Switch sẽ tự động xóa bản ghi.
Điều này giúp bảng MAC luôn được cập nhật chính xác khi:
- Người dùng đổi vị trí kết nối
- Thiết bị bị tháo khỏi mạng
- Có thay đổi trong hệ thống
Trên Cisco IOS:
show mac address-table
Lệnh này cho phép xem:
- Địa chỉ MAC đã học
- VLAN tương ứng
- Interface kết nối
Đây là một trong những lệnh được sử dụng rất thường xuyên khi Troubleshooting Layer 2. Kết luận
MAC Address Learning là nền tảng của công nghệ Switching.
Một Switch thông minh không phải vì nó được cấu hình sẵn mọi thứ, mà vì nó có khả năng tự học từ lưu lượng đang đi qua hệ thống.
Điều quan trọng cần nhớ:
✅ Switch học từ Source MAC Address.
✅ Khi chưa biết MAC đích, Switch sẽ thực hiện Unknown Unicast Flooding.
✅ Khi đã học được vị trí thiết bị, Switch Forward trực tiếp đến đúng cổng.
✅ Bảng MAC luôn được cập nhật và tự động làm mới theo Aging Time.
Đây là kiến thức cơ bản nhưng cực kỳ quan trọng đối với bất kỳ ai đang học CCNA, CCNP hay làm việc trong lĩnh vực quản trị mạng.
💬 Bạn đã từng gặp trường hợp MAC Address Table gây ra lỗi mất kết nối hoặc hiện tượng "MAC Flapping" trong thực tế chưa?
Hãy chia sẻ kinh nghiệm của bạn cùng cộng đồng Quản Trị Mạng VnPro!
🎓 Muốn học bài bản về Switching, VLAN, STP, EtherChannel, Routing và các công nghệ Cisco thực chiến?
Liên hệ VnPro để được tư vấn lộ trình học từ CCNA → CCNP Enterprise → CCIE Enterprise Infrastructure.
📞 Hotline/Zalo: 093 3427 079
📧 Email: phongkinhdoanh@vnpro.org
🌐 Website: vnpro.vn
vnpro#QuanTriMang#Cisco#CCNA#CCNP#CCIE#Switching#MACAdd ress#CAMTable#NetworkEngineer#CiscoNetworking#HocC CNA#HocCCNP#HocMang