Tại sao cần dịch địa chỉ IP sang MAC?


9

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:


18

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.


2
+1 Đây thực sự là vấn đề chính. IP có thể chạy trên các lớp vật lý khác nhau. Các lớp vật lý khác nhau đòi hỏi địa chỉ vật lý khác nhau. MAC là địa chỉ được sử dụng bởi Ethernet. Và có các giao thức dựa trên Ethernet khác không sử dụng IP bao gồm BootP, DUX và IPX. Ethernet vật lý tương tự cũng có thể xử lý đồng thời IPv4 và IPv6. Nhưng cuối cùng, mọi thứ được chuyển đến MAC trên Ethernet.
Rob Napier

Cũng quan trọng để hiểu rằng thời gian khác nhau, bạn sẽ thấy các mảnh khác nhau. Máy tính của bạn có thể nhận được một gói từ ai đó mà nó cần phản hồi và chưa biết MAC của họ (mac mà nó thấy sẽ là từ thiết bị kết nối gần nhất nhưng điều đó không quan trọng) và cần phải arp hoặc đảo ngược và Rarp. Hoặc có tên máy chủ nhưng cần mac hoặc ..... bất kỳ số lượng cấu hình và giao thức kết hợp khác nhau
PsychoData


4

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.


Tại sao các địa chỉ MAC không thể thông minh như IP và được triển khai theo cách được tổ chức theo thứ bậc? Có phải họ chỉ đơn giản là bất cẩn hoặc có một hạn chế mà làm cho nó không thể?
Pacerier

2
Địa chỉ MAC được chỉ định bởi các nhà sản xuất phần cứng và họ không biết các thiết bị mạng sẽ được triển khai ở đâu cũng như trong cấu hình nào. Có rất nhiều trang web (chẳng hạn như trang này ) cho phép bạn xác định nhà sản xuất card mạng theo địa chỉ MAC.
Doug Harris

Lập luận tốt (và giải thích thx!)
Pacerier

3

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.


3

Đị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.


3

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.


1

Các IP hoặc là quy định trong hệ điều hành hoặc phần mềm driver cho card mạng của bạn, hoặc trao cho bạn bởi mạng của bạn, và có thể được thay đổi linh hoạt. Các MAC là một định danh cho card mạng của bạn, tức là phần cứng. Không có mối quan hệ 1-1 giữa chúng.


0

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).


0

Bởi vì địa chỉ MAC là cần thiết để liên lạc trên Lớp Liên kết (địa chỉ IP được sử dụng một lớp trên lớp IP).


0

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.) ....


Tôi có thể thay đổi danh tính thực sự của tôi? : P Nhưng đây không thực sự là một câu trả lời, chỉ là một phép ẩn dụ có phần kỳ lạ và sai trái
PsychoData

0

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ế.


-3

Đị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ộ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.