Địa chỉ MAC là gì?
MAC (Media Access Control) là một thành phần (tầng) cung cấp các cơ chế đánh địa chỉ và điều khiển truy cập kênh giúp máy tính này có thể trao đổi hoặc truyền dữ liệu với máy tính khác. Nó nằm trong mô hình kết nối các hệ thống mở OSI. Đây là mô hình căn bản về các tiến trình truyền thông trong mô hình luôn tuần thủ thiết kế 7 tần được gọi là 7 tầng OSI. Datalink là một tầng trong OSI, nó được chia thành hai tầng con đó là tầng Mac và tầng LLC. Địa chỉ MAC là một số thập lục phân gồm 12 chữ số được gán cho mỗi thiết bị mạng được sản xuất nhằm làm mã định danh duy nhất cho thiết bị. Địa chỉ MAC là duy nhất với mỗi thiết bị và duy nhất trên toàn cầu. Ví dụ về địa chỉ MAC là: 00:1A:2B:3C:4D:5E
Trong tiêu chuẩn IEE 802, lớp liên kết dữ liệu được chia thành 2 lớp con:
- Lớp kiểm soát liên kết logic (LLC)
- Lớp kiểm soát truy cập phương tiện (MAC)
Địa chỉ MAC được sử dụng bởi lớp kiểm soát truy cập phương tiện của lớp liên kết dữ liệu.
Địa chỉ MAC là địa chỉ duy nhất mà các nhà sản xuất gán cho thiết bị và sẽ không bao giờ thay đổi trong quá trình sử dụng. Các thiết bị chuyển mạch Switch sử dụng địa chỉ MAC để có thể phân biệt các thiết bị trong một mạng LAN và biết được cần phải chuyển tiếp dữ liệu đến thiết bị nào một cách chính xác nhất!
Định dạng địa chỉ MAC
Một địa chỉ MAC sẽ gồm 6 cặp ký tự. Trong đó 6 cặp ký tự đầu tiên được gọi là OUI và cho biết mã định danh tổ chức sản xuất ra thiết bị. 6 ký tự tiếp theo được gọi là NIC cho biết mã số định danh thiết bị mà tổ chức đó sản xuất.
Một số OUI nổi tiếng kể đến như:
- CC:46:D6 – Cisco
- 3C:5A:B4 – Google, Inc.
- 3C:D9:2B – Hewlett Packard
- 00:9A:CD – Huawei
Các loại địa chỉ MAC
Dựa trên đặc điểm và chức năng trong hệ thống mạng mà địa chỉ MAC được chia thành 3 loại chính gồm: Unicast MAC, Multicast MAC và Broadcast MAC
Địa chỉ MAC được chia thành ba loại chính là Unicast MAC, Multicast MAC và Broadcast MAC dựa trên các đặc điểm và chức năng của chúng trong mạng.
Unicast MAC Address:
Unicast MAC là loại địa chỉ MAC dùng để gửi dữ liệu từ một thiết bị đến một thiết bị duy nhất trong mạng. Nó được sử dụng để truyền dữ liệu riêng tư và chỉ thiết bị có địa chỉ MAC nhận được thông tin.
Địa chỉ MAC unicast là loại phổ biến nhất trong hệ thống mạng, và nó có dạng “XX:XX:XX:XX:XX:XX”, trong đó XX biểu thị các ký tự số hexa.
Ví dụ: Giả sử bạn (thiết bị A) muốn gửi một tin nhắn đến máy tính của bạn bè (thiết bị B) trong mạng. Khi bạn gửi tin nhắn, thiết bị A sẽ sử dụng địa chỉ MAC Unicast của thiết bị B làm địa chỉ đích trong gói dữ liệu. Chỉ có thiết bị B nhận được thông tin và hiểu rằng đó là tin nhắn dành cho nó.
Multicast MAC Address:
Multicast MAC là loại địa chỉ MAC dùng để gửi dữ liệu đến một nhóm thiết bị trong mạng. Nó được sử dụng để truyền dữ liệu từ một nguồn đến một nhóm đích, trong đó nhóm đích là một tập hợp các thiết bị được xác định bởi địa chỉ MAC multicast.
Địa chỉ MAC multicast có dạng “01:XX:XX:XX:XX:XX”, trong đó XX biểu thị các ký tự số hexa.
Ví dụ: Trong mạng LAN, một người dùng muốn gửi thông báo đa phương tiện (ví dụ: video stream) đến một nhóm máy tính đích để cùng xem. Khi gửi thông báo, thiết bị nguồn sẽ sử dụng địa chỉ MAC Multicast của nhóm đích trong gói dữ liệu. Tất cả các thiết bị trong nhóm đích nhận được thông tin và có thể xem video stream đó.
Broadcast MAC Address:
Broadcast MAC là loại địa chỉ MAC đặc biệt dùng để gửi dữ liệu đến tất cả các thiết bị trong mạng. Khi một thiết bị gửi dữ liệu với địa chỉ MAC broadcast, tất cả các thiết bị trong mạng sẽ nhận thông tin đó.
Địa chỉ MAC broadcast có dạng “FF:FF:FF:FF:FF:FF”.
Ví dụ: Khi một thiết bị muốn tìm kiếm các thiết bị khác trong mạng, nó có thể gửi yêu cầu bằng địa chỉ MAC Broadcast. Ví dụ như khi bạn khởi động máy tính và nó muốn tìm kiếm địa chỉ IP của máy chủ DHCP trong mạng. Máy tính gửi yêu cầu đến địa chỉ MAC Broadcast, tất cả các thiết bị trong mạng đều nhận được yêu cầu đó, và máy chủ DHCP sẽ trả lời cho máy tính cung cấp địa chỉ IP.
Tại sao cần có cả địa chỉ MAC và địa chỉ IP?
Như ta đã biết, để thiết bị có thể liên lạc với nhau trên Internet thì các thiết bị cần một địa chỉ IP. Bây giờ để truyền dữ liệu trong mạng cũng cần phải thêm địa chỉ MAC. Vậy tại sao phải cần sự rắc rối như vậy?
Điều này nằm ở việc hoạt động của Internet và cụ thể hơn là mô hình OSI. Mô hình này quy định cách thức để gửi và nhận dữ liệu qua mạn. OSI gồm 7 lớp, trong đó:
- Lớp 2 sử dụng địa chỉ MAC và chịu trách nhiệm phân phối dữ liệu từ hop này sang hop khác.
- Lớp 3 sử dụng địa chỉ IP và chịu trách nhiệm phân phối gói tin từ đầu đến cuối.
Khi máy tính gửi dữ liệu, nó sẽ bọc dữ liệu trong tiêu đề IP (bao gồm địa chỉ IP nguồn và đích). Tiêu đề IP này cùng với dữ liệu sau đó được gói gọn trong tiêu đề MAC (bao gồm địa chỉ MAC nguồn và đích).
Khi dữ liệu đi từ bộ định tuyến này sang bộ định tuyến khác, tiêu đề địa chỉ MAC sẽ bị loại bỏ và thay thế bằng một địa chỉ mới. Tuy nhiên tiêu đề IP vẫn còn nguôn cho đến khi dữ liệu được gửi tới đúng thiết bị cuối cùng.
Do đó, để Internet hoạt động tốt thì cần cả địa chỉ MAC và địa chỉ IP. Địa chỉ MAC giúp thuận lợi cho việc truyền dữ liệu lớp vật lý và địa chỉ IP đảm bảo dữ liệu được đi đến đúng thiết bị đích cuối cùng.
Cách xác định địa chỉ MAC
Để có thể định danh thiết bị, kiểm soát truy cập mạng, quản lý mạng, định tuyến và chuyển tiếp dữ liệu hay bảo mật mạng thì việc xác đinh địa chỉ MAC là vô cùng cần thiết. Tùy vào hệ điều hành khác nhau mà việc lấy địa chỉ MAC cũng được thực hiện bằng các bước khác nhau:
Hướng dẫn lấy địa chỉ MAC trên hệ điều hành Windows (Windows 10):
- Bước 1: Mở Command Prompt (dấu nhấn Windows + R, sau đó nhập “cmd” và nhấn Enter).
- Bước 2: Gõ lệnh sau và nhấn Enter: ipconfig /all
- Bước 3: Tìm đến phần “Physical Address” (địa chỉ vật lý) tương ứng với card mạng bạn quan tâm. Đây chính là địa chỉ MAC của card mạng đó.
Hướng dẫn lấy địa chỉ MAC trên macOS:
- Bước 1: Mở Terminal (Tìm trong Applications > Utilities > Terminal).
- Bước 2: Gõ lệnh sau và nhấn Enter: ifconfig
- Bước 3: Tìm đến phần “ether” trong kết quả hiển thị. Đây chính là địa chỉ MAC của card mạng.
Hướng dẫn lấy địa chỉ MAC trên Linux:
- Bước 1: Mở Terminal.
- Bước 2: Gõ lệnh sau và nhấn Enter: ifconfig hoặc ip addr
- Bước 3: Tìm đến phần “ether” trong kết quả hiển thị. Đây chính là địa chỉ MAC của card mạng.
Hướng dẫn lấy địa chỉ MAC trên điện thoại thông minh (Android và iOS):
- Bước 1: Mở ứng dụng Cài đặt (Settings).
- Bước 2: Tìm đến mục Wi-Fi hoặc Network (Mạng) và chọn Wireless (Wi-Fi).
- Bước 3: Nhấn vào tên mạng Wi-Fi bạn đang kết nối (tại Android) hoặc nhấn vào biểu tượng “i” bên cạnh tên mạng Wi-Fi (tại iOS).
- Bước 4: Tìm đến mục “MAC Address” (Địa chỉ MAC). Đây chính là địa chỉ MAC của thiết bị di động của bạn.
Lưu ý rằng địa chỉ MAC của mỗi card mạng trong cùng một thiết bị có thể khác nhau (ví dụ: một cho card mạng Ethernet và một cho card mạng Wi-Fi). Thông thường, địa chỉ MAC được hiển thị dưới dạng một chuỗi số hexadecimal (A, B, C, D, E, F và các số từ 0 đến 9).
Riêng với các thiết bị mạng như Switch, Router, Cục phát wifi,… thì hãy xem địa chỉ MAC trên nhãn sản phẩm hoặc phải truy cập vào trang quản lý thiết bị trên web để tra cứu thông tin.