Trên các mạng sử dụng giao thức TCP / IP, tại sao địa chỉ IP được dịch thành địa chỉ MAC?
Ý tôi là, khi mọi thiết bị đều biết IP của nó, tại sao lại sử dụng địa chỉ MAC và không sử dụng số IP làm địa chỉ trực tiếp?
Trên các mạng sử dụng giao thức TCP / IP, tại sao địa chỉ IP được dịch thành địa chỉ MAC?
Ý tôi là, khi mọi thiết bị đều biết IP của nó, tại sao lại sử dụng địa chỉ MAC và không sử dụng số IP làm địa chỉ trực tiếp?
Câu trả lời:
Sự khác biệt chính là địa chỉ IP được sử dụng bởi IP là giao thức mạng và địa chỉ MAC được Ethernet sử dụng giao thức lớp liên kết (2). IP có thể chạy trên các giao thức lớp 2 khác nhau, do đó, nó không bao gồm chức năng "truy cập phương tiện". Bạn có thể chạy IP qua các dòng Nối tiếp, Ethernet, DSl, ISDN, v.v.
Ví dụ: DHCP cung cấp địa chỉ IP động qua Ethernet; máy chủ DHCP cần địa chỉ MAC để có thể gán địa chỉ IP cho PC.
Bởi vì TCP / IP được sử dụng qua Ethernet , sử dụng địa chỉ MAC.
Một cách khác để xem xét điều này là đặt câu hỏi ngược: Tại sao chúng ta cần địa chỉ IP khi chúng ta đã có địa chỉ MAC được gán cho phần cứng?
Điều này đã được thảo luận trong tập 29 của podcast Security Now ( bản sao HTML ).
Với địa chỉ MAC, máy tính của chúng tôi có thể giao tiếp trực tiếp với một máy. Nhưng, để biết làm thế nào để đến đó, chúng ta cần phải chuyển các gói của mình đến đó. Thật không thực tế khi có bảng tra cứu địa chỉ MAC toàn cầu trên mỗi máy tính của chúng tôi.
Mặt khác, địa chỉ IP được sắp xếp theo thứ bậc. Các máy tính của chúng tôi có thể xác định địa chỉ IP nào có trong mạng LAN và phần còn lại được gửi đến cổng LAN (ví dụ: bộ định tuyến gia đình). Sau khi rời mạng LAN, các bộ định tuyến liên tiếp nhìn vào địa chỉ IP và định tuyến các gói đến bộ định tuyến khác. Cuối cùng, một bộ định tuyến có địa chỉ IP đích trên mạng LAN của nó có thể xác định địa chỉ MAC và gửi gói đến máy tính đích.
Chúng dành cho các lớp khác nhau trong ngăn xếp mạng. Địa chỉ MAC là về lớp mạng ethernet và địa chỉ IP là về lớp IP. Bạn có thể sử dụng IP trên các phương tiện vận chuyển khác nhau như SLIP khi không có MAC vì không có ethernet. Bạn cũng có thể sử dụng giao thức khác với IP qua ethernet nếu bạn muốn.
Nếu bạn nghĩ về nó, nếu tôi quay số qua kết nối SLIP, một gói IP có thể bắt đầu bằng MAC không được liên kết và sau đó có MAC khác khi nó chuyển từ bộ định tuyến này sang bộ định tuyến khác khi nó được chuyển qua internet đến đích IP cuối cùng.
Địa chỉ MAC được đảm bảo là duy nhất cho máy (card mạng thường chứa địa chỉ MAC) và không thay đổi, trong khi bạn có thể xác định lại địa chỉ IP trên bất kỳ máy nào.
Ngoài ra, địa chỉ IP công cộng có thể được chia sẻ bởi cả một công ty bằng cách sử dụng Dịch địa chỉ mạng, vì vậy địa chỉ IP công cộng không được đảm bảo có sự tương ứng một-một với máy hoặc người.
Tôi có thể trả lời câu hỏi của bạn bằng một câu hỏi khác: Bạn có số điện thoại, vậy tại sao bạn cần số an sinh xã hội / số nhận dạng quốc gia?
Nói cách khác, họ phục vụ các mục đích khác nhau. Một là để xác định bạn là ai (SSN, MAC), trong khi cái còn lại là để xác định cách liên lạc với bạn (số điện thoại, địa chỉ IP).
Hơn nữa, có thể liên hệ với ai đó qua điện thoại nếu họ không có SSN (ví dụ: quốc gia khác) giống như có thể liên hệ với ai đó trên Internet nếu họ không có MAC (loại lớp liên kết khác) . Các lớp liên kết khác nhau có các phương pháp khác nhau để xác định đích và nguồn của gói dữ liệu.
Bạn không biết địa chỉ MAC của stackoverflow.com vì nó không nằm trong mạng cục bộ của bạn. Địa chỉ MAC được sử dụng làm định danh cho bước nhảy tiếp theo trong chuỗi. "IP" chỉ được sử dụng trong một giao thức có gợi ý về việc nó sẽ gửi gói tin của bạn theo hướng nào (cổng nào sẽ sử dụng tiếp theo).
Hãy lấy một ví dụ
Nếu bạn nộp đơn xin việc ở công ty .. họ sẽ cho bạn điều đó mà không biết danh tính của bạn chứ? chắc chắn là không .... vì vậy bằng chứng nhận dạng thực tế của bạn là địa chỉ Mac
và khi bạn gia nhập công ty, họ sẽ cung cấp cho một ID nhân viên khác để liên lạc giữa các nhân viên của công ty đó .. đây là địa chỉ IP.
ID nhân viên của bạn có thể được sửa đổi nếu bạn thay đổi công ty nhưng thông tin thực tế về bạn không bao giờ có thể thay đổi (tuổi, tên, v.v.) ....
Câu hỏi của bạn là một câu hỏi rất chính đáng! Sự thật là về mặt lý thuyết, một hệ thống chỉ IP có thể được tạo và hoạt động tốt mà không cần hệ thống địa chỉ MAC. Lớp Liên kết dữ liệu có thể được tạo để bỏ qua mọi bộ lọc MAC, để lại chức năng này cho lớp Mạng, để lọc ra theo địa chỉ IP của chính nó. Các hệ thống như vậy đã tồn tại trong quá khứ, chẳng hạn như các mạng dựa trên các thiết bị liên kết thông qua các cổng UART (ví dụ: RS232). Rõ ràng, các giao diện mạng này không mang địa chỉ MAC hoặc bất kỳ hình thức nhận dạng vật lý duy nhất nào khác. Tuy nhiên, nó có thể khiến việc gán địa chỉ IP tập trung, ví dụ như máy chủ DHCP, một cơn ác mộng, bởi vì sẽ không có cách nào để đảm bảo một thiết bị sẽ không nhận được nhiều hơn số lượng địa chỉ IP được xác định trước được phép cho mỗi thiết bị. Cũng thế, sẽ rất khó để xác định rõ ràng và riêng lẻ từng thiết bị. Địa chỉ MAC là duy nhất, ít nhất là trong một mạng con, đóng vai trò là mã thông báo nhận dạng duy nhất. Tất nhiên, việc gán địa chỉ IP riêng lẻ cho các thiết bị có thể giải quyết vấn đề, nhưng khi số lượng lớn thiết bị có mặt trên mạng, việc thiết lập và duy trì sơ đồ như vậy là không thực tế.
Địa chỉ IP giống như mã ZIP hoặc như mã quốc gia hoặc mã ISD, wchich đơn giản hóa địa chỉ vị trí nếu không rất khó để sắp xếp tất cả địa chỉ MAC hoặc xác định vị trí chính xác nếu không máy tính sẽ mất thời gian xác định địa chỉ hoặc lưu giữ cơ sở dữ liệu khổng lồ của địa chỉ MAC trên máy tính cục bộ.