Như ta đã biết, để bộ chuyển mạch có thể xác định được địa chỉ chính xác của thiết bị từ đó và chuyển tiếp dữ liệu tới đích hiệu quả cần phải có địa chỉ MAC. Trong bài viết hôm nay, chúng ta sẽ đi tìm hiểu chi tiết hơn về cách mà Switch học địa chỉ MAC như thế nào? Hay tính năng MAC Learning hoạt động ra sao?
Dưới đây là nội dung chính của bài viết:
- Cách Switch học địa chỉ MAC
- Cách Switch tìm hiểu địa chỉ MAC
- Bảng CAM không thể chia sẻ được
- Làm thế nào để xem thông tin bảng CAM
Cách Switch học địa chỉ MAC
Bộ chuyển mạch Switch học địa chỉ MAC theo 2 cách:
1. Thêm địa chỉ MAC vào bảng CAM thủ công (tĩnh):
- Theo cách này, người quản trị mạng thủ công nhập địa chỉ MAC của các thiết bị mạng vào bảng CAM (Content Addressable Memory) của Switch.
- Điều này thường được thực hiện thông qua giao diện quản trị của Switch, ta có thể xóa hoặc sửa đổi địa chỉ MAC tương ứng với các cổng cụ thể của Switch.
- Ưu điểm của phương pháp này là sự kiểm soát cao, tuy nhiên, nó đòi hỏi sự can thiệp thủ công và không phải là lựa chọn hiệu quả khi mạng lớn và động.
- Ngoài ra khi thay đổi bất kỳ thiết bị nào, ta đều sẽ cần phải nhập lại tất cả các mục khác.
2. Cấu hình tự động để Switch tự thêm địa chỉ MAC vào bảng CAM (động):
- Trong phương pháp này, Switch được cấu hình để tự động học địa chỉ MAC của các thiết bị kết nối thông qua giao thức học địa chỉ (Address Learning Protocol) như MAC learning hay Address Resolution Protocol (ARP).
- Khi một gói tin đến Switch từ một thiết bị, Switch sẽ tự động thêm địa chỉ MAC của thiết bị đó vào bảng CAM, liên kết với cổng mà thiết bị đó kết nối.
- Phương pháp này linh hoạt và hiệu quả trong môi trường mạng động với nhiều thiết bị kết nối và thay đổi vị trí.
Hiểu rõ hơn cách Switch tự động thêm MAC vào CAM:
Khi Switch nhận được một khung, nó đọc địa chỉ MAC nguồn và địa chỉ MAC đích của khung đó. Nó sử dụng địa chỉ MAC nguồn để biết về thiết bị được kết nối trên cổng nào. Và sử dụng địa chỉ địch để ra quyết định cổng nào sẽ chuyển tiếp khung.
Một bảng CAM gồm 3 trường: MAC Address, Port và Aging
- Trường MAC Address: switch lưu địa chỉ MAc mà khung có trong trường nguồn.
- Trường Port: lưu trữ thông tin cổng mà Switch nhận được frame.
- Trường Aging: lưu trữ thông tin từ bộ đếm thời gian.
Switch gán một bộ đếm thời gian cho mỗi mục trong bảng CAM để quản lý thời gian lão hóa. Tính năng lão hóa giúp Switch tự động loại bỏ các mục cũ từ bảng CAM sau một khoảng thời gian, tạo chỗ cho thông tin mới. Khi bảng CAM đầy, tính năng lão hóa đảm bảo rằng chỉ những địa chỉ MAC của các thiết bị liên tục gửi khung được giữ lại.
Cả hai phương pháp thêm địa chỉ MAC đều có ưu và nhược điểm của mình, nếu mạng bé thì ta có thể lựa chọn cách thủ công. Tuy nhiên nếu mạng lớn và hay thay đổi thì ta nên sử dụng cách động.
Cách Switch tìm hiểu địa chỉ MAC
Khi switch nhận được một frame (khung), nó sẽ đối chiếu địa chỉ nguồn của frame trong bảng CAM. Nếu tìm thấy nó sẽ đặt lại bộ đếm thời gian trong trường Aging. Nếu không tìm thấy nó sẽ thêm thông tin mới trong bảng CAM.
Bây giờ, ta sẽ đi vào một ví dụ cụ thể để hiểu rõ cách Switch hoạt động với địa chỉ MAC như thế nào?
Hãy quan sát mạng trong hình ảnh sau, mạng này có 3 PC liên kết với nhau thông qua 1 Switch. Lúc đầu bảng CAM của Switch sẽ trống và không ghi thông tin gì cả:
Khi PC-A gửi Frame tới PC-B, Switch nhận được khung trên cổng F0. Lúc này Switch sẽ thực hiện như sau:
- Tìm địa chỉ MAC nguồn và đích của Frame, rồi đối chiếu trong bảng CAM.
- Nếu tìm thấy mục trùng địa chỉ MAC đích, switch sẽ chuyển tiếp frame từ cổng có địa chỉ đích. Nếu không thấy, nó sẽ gửi tất frame từ tất cả các cổng trù cổng mà frame đến. Vì bảng CAM đang trống nên swithc sẽ gửi fram ra tất cả các cổng trừ cổng F0.
- Nếu nó không tìm thấy mục nhập địa chỉ MAC nguồn, nó sẽ tạo một mục nhập mới cho địa chỉ MAC này. Do bảng CAM trống nên Switch sẽ thêm địa chỉ MAC vào bảng CAM và gửi frame từ tất cả các cổng trừ FO.
Khi PC-B trả lời PC-A, Switch sẽ lấy địa chỉ MAC nguồn từ Frame và thêm vào bảng CAM cùng thông tin của cổng đã nhận. Lúc này, Switch đã biết vị trí của PC-A nên sẽ không làm tràn Frame nữa mà gửi frame từ cổng F0 luôn. Đây cũng chính là cách Switch học và chuyển tiếp dữ liệu dựa vào địa chỉ MAC.
Bảng CAM không thể chia sẻ được
Switch không chia sẻ bảng CAM của mình với các Switch khác. Nếu một mạng có nhiều Switch thì mỗi Switch sẽ sử dụng bảng CAM riêng để đưa ra quyết định chuyển tiếp dữ liệu. Hãy xem hình ảnh dưới đây để quan sát một mạng sử dụng 2 Switch.
Hình ảnh trên mô tả một mạng văn phòng nhỏ gồm 2 phòng ban:
- Sales gồm 3 máy tính A, B, C.
- Production gồm 2 máy tính D, E.
Mỗi phòng ban sử dụng một Switch riêng và 2 Switch này được liên kết với nhau. Ta có thể thấy rằng thông tin về bảng CAM của 2 Switch là hoàn toàn khác nhau.
Lúc này, nếu máy tính A muốn gửi khung đến máy tính E thì nó sẽ gửi gói tin tới Switch phòng Sales. Khi đó Switch lấy thông tin địa chỉ MAC nguồn và đích để đối chiếu và thấy có mục. Nó sẽ quyết định chuyển tiếp khung từ cổng G0.
Switch tại phòng Production nhận được khung và đối chiếu thông tin trong bảng CAM của mình. Nó thấy rằng địa MAC đích nằm ở cổng F1 nên sẽ chuyển tiếp khung từ cổng F1.
Trong trường hợp, máy tính E muốn trả lời thì quá trình này sẽ diễn ra tương tự.
Cách xem thông tin bảng CAM trên Switch
Để xem thông tin bảng CAM trên switch, ta sử dụng lệnh “show mac-address-table” ở chế độ privileged-exec. Lệnh này sẽ hiện thị các thông tin bảng CAM. Nếu Switch vừa bật và sử dụng lệnh này thì bảng CAM sẽ trống thông tin. Sau đó khi hoạt động nó sẽ thêm các thông địa chỉ MAC của thiết bị vào bảng CAM khi nhận được Frame từ thiết bị kết nối với cổng của nó. Ta có thể quan sát hình ảnh minh họa dưới đây:
Khi ta thay đổi vị trí của thiết bị trong mạng, Switch nhận được Frame từ thiết bị đó nhưng với thông tin cổng khác. Lúc này Switch biết rằn thiết bị này đã di chuyển và nó sẽ cập nhật thông tin cổng cùng bộ hẹn đếm giờ. Do đó, khi di chuyển thiết bị trong mạng sẽ không gây ra bất kỳ lỗi gì.
Tuy nhiên nếu sử dụng cách thêm địa chỉ tĩnh vào bảng CAM thì khi thay đổi vị trí ta sẽ cần phải thay đổi lại các mục khác nữa.
Đến đây, chúng ta đã tìm hiểu xong về cách Switch hoạt động với địa chỉ MAC như thế nào? Mong rằng bạn đã hiểu tính năng MAC Learning. Nếu có câu hỏi thắc mắc nào? Hãy để lại dưới phần bình luận để được mình hỗ trợ giải đáp!
Thông Tin Về Tác Giả
Nguyễn Thành Hợp là một chuyên gia về lĩnh vực thiết bị mạng, viễn thông gần 10 năm kinh nghiệm với nhiều chứng chỉ chất lượng như CCNA 200-301, CCNP, CCDA, CCDP,... do Cisco cung cấp. Sở thích cá nhân là khám phá những kiến thức mới mẻ về công nghệ nói chung và đặc biệt là liên quan đến lĩnh vực mạng!