Mỗi thiết bị mạng đều có địa chỉ MAC, từ máy tính, máy in, máy chủ, Switch, Router, cục phát wifi,… Vậy tác dụng của địa chỉ MAC là gì? Nó khác địa chỉ IP như thế nào? Nếu bạn đang thắc mắc những điều này thì đây chính là bài viết cho bạn. Mình là Hợp – chuyên gia thiết bị mạng với gần 10 năm kinh nghiệm. Trong bài này, chúng ta sẽ đi tìm hiểu thật kỹ càng về địa chỉ MAC với các nội dung chính sau đây:

Địa chỉ MAC là gì?

Địa chỉ MAC là một chuỗi số giống như mã định danh duy nhất thường được các nhà sản xuất đặt trong Card mạng (hay gọi là NIC) của thiết bị được dùng để phân biệt các thiết bị trong môi trường mạng. Địa chỉ MAC được biểu diễn dưới dạng sáu nhóm hai chữ số thập lục phân. Nó còn được gọi với các tên khác như: “địa chỉ phần cứng” hay “địa chỉ Ethernet.

Cấu trúc địa chỉ MAC
Cấu trúc địa chỉ MAC

Địa chỉ MAC được sử dụng trong các công nghệ mạng như Ethernet, Wi-Fi, và Bluetooth. Tại mô hình mạng OSI, nó hoạt động trong giao thức con của lớp 2 – lớp liên kết dữ liệu. Khi các thiết bị gửi dữ liệu tới nhau trong một mạng LAN, các frame (khung) sẽ chứa thông tin về địa chỉ MAC (gồm địa chỉ MAC nguồn và đích). Các bộ chuyển mạch Switch sẽ sử dụng địa chỉ MAC để thực hiện chuyển tiếp dữ liệu.

Một địa chỉ MAC có thể được lưu trữ trong phần cứng, chẳng hạn như trong bộ nhớ chỉ đọc của thẻ, hoặc thông qua một cơ chế firmware. Tuy nhiên, nhiều giao diện mạng hỗ trợ thay đổi địa chỉ MAC của chúng.

Mỗi giao diện mạng trong một thiết bị được gán một địa chỉ MAC duy nhất. Cho nên một thiết bị có thể có nhiều địa chỉ MAC. Ví dụ như Laptop của bạn có cả cổng Ethernet và kết nối Wifi vậy thì nó sẽ có 2 địa chỉ MAC tương ứng.

Các bộ chuyển mạch có nhiều giao diện kết nối phải có một địa chỉ MAC duy nhất cho nhiều NIC trong cùng một mạng. Thậm chí, hai NIC kết nối với 2 mạng khác nhau có thể sử dụng cùng một địa chỉ MAC.

Các nhà sản xuất thiết bị sẽ quyết định địa chỉ MAC cho thiết bị đó. Tuy nhiên, để có tính nhất quán trên toàn cầu, một địa chỉ MAC sẽ gồm 2 thành phần:

  • Mã định danh của nhà sản xuất (OUI) được tổ chức như IEEE cấp phát cho nhà sản xuất. Mã OUI này chiếm 24 bit đầu tiên trong địa chỉ MAC.
  • ID của thiết bị: chiếm 24 bit phía sau của địa chỉ MAC cho biết địa chỉ của thiết bị.

Ví dụ, nếu địa chỉ MAC là 01:23:45:67:89:AB, thì 01:23:45 là OUI, và 67:89:AB là ID của thiết bị trong tổng số địa chỉ được cấp phát cho nhà sản xuất đó. Lưu ý rằng có hai loại địa chỉ MAC chính là EUI-48 (48-bit) và EUI-64 (64-bit), nhưng thông thường, khi nói về địa chỉ MAC trong ngữ cảnh mạng, ta thường nói về EUI-48.

Các loại địa chỉ MAC

Thường thì 1 địa chỉ MAC sẽ được định danh cho 1 thiết bị, nhưng nhiều thiết bị cũng có thể sử dụng chung một địa chỉ MAC. Do đó, mà ta chia địa chỉ MAC thành 3 loại sau:

1. Địa chỉ MAC Unicast

Địa chỉ MAC Unicast

Địa chỉ Unicast định danh cho 1 thiết bị cụ thể. Khi đó 1 frame với địa chỉ MAC Unicast sẽ được switch chỉ định dẫn tới NIC cụ thể. Nếu một địa MAC có bit cuối cùng bên phải trong Octet đầu tiên bằng 0 thì nó là địa chỉ Unicast. Trong mạng, địa chỉ MAC của máy nguồn chắc chắn luôn là Unicast.

2. Địa chỉ MAC Multicast

địa chỉ MAC Multicast

Địa chỉ Multicast định danh cho một nhóm thiết bị. Khi frame với địa chỉ này được gửi đi thì Switch sẽ chuyển tiếp nó tới nhiều thiết bị NIC khác nhau. Bit đầu tiên của địa chỉ multicast thường được đặt là 1 để phân biệt với địa chỉ unicast (địa chỉ một thiết bị cụ thể). Bit thứ hai của địa chỉ multicast thường được sử dụng để xác định loại multicast (global hoặc local)

IEEE đã quy định cấu trúc địa chỉ loại này là: 01-80-C2-xx-xx-xx (tức là từ 01-80-C2-00-00-00 đến 01-80-C2-FF-FF-FF).

3. Địa chỉ Broadcast

địa chỉ MAC Broadcast

Khi một thiết bị gửi dữ liệu với địa chỉ broadcast, nó được gửi đến tất cả các thiết bị trong mạng, cho phép mọi thiết bị đều nhận được và xử lý dữ liệu đó. Địa chỉ broadcast chủ yếu được sử dụng trong các tình huống như gửi thông báo mạng, yêu cầu DHCP, và các tác vụ tương tự mà yêu cầu sự tham gia của tất cả các thiết bị trong mạng.

Địa chỉ broadcast được biểu diễn bằng một chuỗi chứa toàn bộ bit 1, tức là tất cả các bit đều là 1. Ví dụ: FF:FF:FF:FF:FF:FF hoặc 255.255.255.255 là địa chỉ broadcast trong không gian địa chỉ MAC của Ethernet.

Địa chỉ EUI-48 và EUI-64

EUI-48  và EUI-64 là các quy tắc đánh số được sử dụng để tạo ra các địa chỉ duy nhất trong các mạng, đặc biệt là địa chỉ MAC trong môi trường Ethernet.

EUI-48 và EUI-64

EUI-48

  • Chiều dài 48 bit tương đương với 6 byte hoặc 12 chữ số thập lục phân.
  • Cấu trúc gồm 24 bit đầu tiên (3 byte) được gọi là OUI (Organizationally Unique Identifier), thường được cấp phát cho nhà sản xuất thiết bị. 24 bit còn lại (3 byte) là ID của thiết bị trong phạm vi của nhà sản xuất đó.
  • Phổ biến trong các thiết bị mạng như Ethernet, Wi-Fi, và Bluetooth.

EUI-64

  • Chiều dài 64 bit tương đương với 8 byte hoặc 16 chữ số thập lục phân.
  • Cấu trúc gồm 24 bit đầu tiên (3 byte) là OUI. 40 bit còn lại (5 byte) được tạo ra bằng cách thêm vào ID của thiết bị một số giá trị để tạo ra địa chỉ MAC duy nhất.
  • Thường được sử dụng trong môi trường IPv6, nơi địa chỉ MAC có thể được sử dụng để tạo địa chỉ IPv6 tạm thời.

Trong các mạng truyền thống, ta sẽ chủ yếu làm việc với địa chỉ MAC theo dạng EUI-48. Tuy nhiên, vấn đề địa chỉ IPv4 cạn kiệt đã thúc đẩy nhu cầu từ IPv6. Trong môi trường này, địa chỉ MAC có thể được sử dụng để tạo địa chỉ IPv6 bằng cách chèn FF:FE giữa giữa 24 bit đầu và 24 bit cuối của địa chỉ MAC. Quá trình này tạo ra EUI-64 từ địa chỉ MAC.

Phân biệt địa chỉ IP và địa chỉ MAC

so sánh địa chỉ IP và MAC

Địa chỉ IP và địa chỉ MAC đều được sử dụng trong môi trường mạng và cũng được sử dụng để phân biệt các thiết bị với nhau. Chính vì vậy mà rất nhiều người hay nhầm lẫn giữa 2 thiết bị này. Thực chất, chúng hoạt động ở các lớp khác nhau và có chức năng khác nhau.

Địa chỉ IP hoạt động ở trong tầng mạng của mô hình OSI (quản lý địa chỉ và định tuyến dữ liệu mạng). Nó được sử dụng để định danh và định vị một thiết bị trong mạng Internet. Địa chỉ IP là một chuỗi số được chia thành các phần, thường là dạng “xxx.xxx.xxx.xxx” trong IPv4. Mỗi phần có thể chứa giá trị từ 0 đến 255.

Trong khi đó, địa chỉ MAC nằm ở tầng liên kết dữ liệu (quản lý liên kết dữ liệu giữa các thiết bị). Địa chỉ MAC sử dụng để định danh và định vị các thiết bị trong mạng LAN.

Như vậy, ta sẽ hiểu như sau: “Để chuyển tiếp dữ liệu một cách chính xác trong môi trường mạng, ta sẽ cần địa chỉ đính kèm trong gói tin. Địa chỉ MAC được sử dụng để chuyển tiếp dữ liệu trong mạng LAN còn địa chỉ IP được sử dụng để chuyển tiếp dữ liệu trong mạng Internet. Hai địa chỉ này đảm nhiệm vị trí khác nhau và kết hợp để ta có thể chuyển tiếp dữ liệu trong mạng”

Tại sao cần cả địa chỉ IP và địa chỉ MAC

Trong quá trình truyền dữ liệu trong mạng, cần có chuyển đổi giữa địa chỉ IP và địa chỉ MAC. Địa chỉ IP được sử dụng ở tầng mạng, trong khi địa chỉ MAC được sử dụng ở tầng liên kết dữ liệu. Việc chuyển đổi này được thực hiện bằng giao thức ARP.

Khi dữ liệu từ máy tính, gói tin sẽ chứa tiêu đề IP (gồm địa chỉ IP đích và nguồn). Sau đó, gói tin được được gói tiếp trong tiêu đề MAC (gồm địa chỉ MAC nguồn và đích). Nếu gói tin được truyền từ giữa các thiết bị trong mạng LAN thì Switch sẽ sử dụng tiêu đề MAC để chuyển tiếp dữ liệu nhanh chóng mà không cần tiêu đề IP.

Nhưng khi dữ liệu truyền từ mạng này sang mạng khác. Có nghĩa là truyền từ Router này sang Router khác thì tiêu đề MAC sẽ bị loại bỏ và một địa chỉ mới sẽ được tạo ra. Tuy nhiên, tiêu đề IP vẫn được giữ nguyên cho đến khi đến đích.

Do đó, địa chỉ MAC giúp kết nối “hop to hop” và địa chỉ IP được sử dụng trong kết nối “end-to-end” để đảm bảo dữ liệu đến đích cuối cùng. Như vậy, ta cần phải sử dụng cả địa chỉ IP và địa chỉ MAC.

Tại sao địa chỉ MAC là duy nhất?

Địa chỉ MAC là duy nhất trong môi trường mạng. Tức là không có 2 địa chỉ MAC giống nhau trong cùng một mạng LAN. Tại sao lại thế? Bởi vì địa chỉ MAC được sử dụng để xác định đích đến truyền dữ liệu trong mạng cục bộ. Do đó, nó phải là duy nhất để không bị nhầm lẫn.

Bộ chuyển mạch sẽ đảm nhiệm vai trò sử dụng địa chỉ MAC để xác định truyền dữ liệu và kết nối các thiết bị. Nó lưu trữ các thông tin về địa chỉ, số cổng của các thiết bị mà nó kết nối trong bảng CAM. Dựa vào đấy, nó biết chính xác dữ liệu đến từ đâu và cần phải gửi đi đâu.

MAC Cloning là gì?

Các nhà cung cấp dịch vụ Internet (ISP) thường sử dụng địa chỉ MAC để quản lý việc cung cấp địa chỉ IP cho thiết bị người dùng. Để thực hiện điều này, họ sẽ sử dụng địa chỉ MAC để gán địa chỉ IP cho thiết bị cổng. Khi thiết bị người dùng kết nối với ISP, máy chủ DHCP ghi lại địa chỉ MAC và gán cho địa chỉ IP. Khi ngắt kết nối, thiết bị sẽ mất địa chỉ IP.

Khi người dùng muốn kết nối lại, máy chủ DHCP kiểm tra xem thiết bị này đã từng kết nối chưa. Nó sẽ cố gắn cùng một địa chỉ IP cho thiết bị. Khi người dùng đổi bộ định tuyến, phải thông báo cho ISP về địa chỉ MAC vì họ không xác định địa chỉ MAC mới.

Quản trị viên mạng có thể làm gì với địa chỉ MAC

Trong việc quản lý và cấu hình mạng, các nhà quản trị có thể sử dụng với nhiều mục đích sau:

  • Xác định và định danh các thiết bị cụ thể trong mạng, bao gồm cả máy tính, máy in, thiết bị mạng và nhiều thiết bị khác.
  • Có thể cấu hình danh sách điều khiển truy cập (ACL) dựa trên địa chỉ MAC để xác định quyền truy cập của từng thiết bị.
  • Thiết lập các VLAN trong mạng, tạo ra các mạng con ảo để tăng cường bảo mật và hiệu suất.
  • Thực hiện các biện pháp bảo mật như MAC filtering để ngăn chặn truy cập từ các thiết bị không được phép.

Làm thế nào để biết địa chỉ MAC của thiết bị?

Để xác định địa chỉ MAC của thiết bị máy tính, ta có thể thực hiện như sau:

1. Hệ điều hành Windows

  • Sử dụng Command Prompt (CMD): mở Command Prompt bằng cách nhấn tổ hợp phím Win + R, sau đó gõ cmd
  • Trong cửa sổ Command Prompt, nhập lệnh: ipconfig /all
  • Trong phần “Physical Address” (địa chỉ vật lý), đây là địa chỉ MAC của thiết bị.

2. Hệ điều hành macOS

  • Mở Terminal: Bạn có thể mở Terminal từ Applications > Utilities hoặc tìm trong Spotlight.
  • Nhập lệnh: ifconfig / grep ether
  • Trong kết quả, địa chỉ MAC sẽ xuất hiện sau từ “ether”.

3. Hệ điều hành Linux

  • Mở Terminal: Bạn có thể mở Terminal từ Menu hoặc tìm kiếm trong ứng dụng.
  • Nhập lệnh: ifconfig | grep HWaddr
  • Trong kết quả, địa chỉ MAC sẽ xuất hiện sau từ “HWaddr”.

Trong trường hợp bạn muốn biết địa chỉ MAC của Switch hay các thiết bị trong mạng, bạn sẽ thực hiện các cách sau:

  1. Sử dụng công cụ SNMP (thường trên switch) để thu thập thông tin về các thiết bị mạng.
  2. Sử dụng các lệnh “show mac-address-table” trong CLI để xem bảng địa chỉ MAC trên switch.
  3. Sử dụng công cụ quét mạng như Nmap hoặc Wireshark.
  4. Kiểm tra bảng ARP bằng lệnh “show arp” trên switch và lệnh “arp-a” trên máy tính.

Đến đây, mình đã chia sẻ chi tiết nhất có thể về địa chỉ MAC. Nếu còn câu hỏi gì thắc mắc, hãy để lại dưới phần bình luận để mình hỗ trợ giải đáp!

Thông Tin Về Tác Giả

Tổng Biên Tập at Thiết Bị Mạng Giá Rẻ | Website | + posts

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!