Địa chỉ IP được ánh xạ tới địa chỉ MAC như thế nào?


14

Tôi đã đọc về sự khác biệt giữa địa chỉ MAC và IP và tại sao chúng ta cần cả hai.

Tóm lại, địa chỉ MAC là ID duy nhất không thể thay đổi vật lý cho mọi thiết bị trong khi địa chỉ IP được gán, có thể thay đổi và ảo. Để tương tự, địa chỉ MAC giống như những người có tên thường trú và địa chỉ IP là nơi họ hiện đang sống.

Trong thế giới thực, chúng tôi liên kết các địa chỉ và tên với sự trợ giúp của danh bạ. Cơ chế nào liên kết địa chỉ IP với địa chỉ MAC và cơ chế này nằm ở đâu trong mạng?


5
Sau khi xem xét các câu hỏi của bạn, tôi nghĩ rằng bạn sẽ được hưởng lợi từ một cuốn sách hay. Cân nhắc nghiên cứu một cái gì đó dọc theo dòng TCP / IP Illustrated, Vol. 1: Các giao thức của Stevens (FYI, phiên bản năm 1993 thường được coi là tốt hơn so với phiên bản phát hành lại năm 2011, mặc dù phiên bản năm 1993 chỉ bao gồm IPv4 theo chiều sâu).
Mike Pennington

"Mạng được minh họa: Cách thức TCP / IP hoạt động trong một mạng hiện đại" và / hoặc "Hướng dẫn TCP / IP: Tham khảo các giao thức Internet minh họa, toàn diện" cũng có thể đáng xem.
Liên kết Jens

4
@MikePennington Cảm ơn bạn, đó là một cách hay để nói, trái ngược với "RTFM" và -1. Tôi đang đọc nó trực tuyến :)
CodyBugstein


1
Địa chỉ MAC là, thực tế, không vật lý, không thể thay đổi, cũng không phải là duy nhất. Tôi đã thấy các thiết bị ngẫu nhiên MAC của họ mỗi lần khởi động lại. Chắc chắn có các tiện ích cho bất kỳ nền tảng nào để thay đổi tạm thời hoặc vĩnh viễn MAC của gần như mọi giao diện. iOS 8 thậm chí sẽ chọn ngẫu nhiên MAC wifi cho các mạng quét.
MacLemon

Câu trả lời:


19

Cơ chế này được gọi là Giao thức phân giải địa chỉ (ARP) . Mỗi ARP thiết bị IPv4 của ethernet để phân giải địa chỉ mac ethernet cho IP đích. Ánh xạ IP đến mac được lưu trữ trong bảng ARP của mỗi thiết bị (danh bạ điện thoại tương tự của bạn).

Để đơn giản hóa: Trong hầu hết các trường hợp, để giải quyết địa chỉ MAC được liên kết với địa chỉ IP, bạn gửi gói ARP quảng bá (đến tất cả các thiết bị trong mạng), hỏi ai có địa chỉ IP đó. Thiết bị có địa chỉ IP đó trả lời ARP (với địa chỉ MAC của nó).


Tôi nghĩ rằng hầu hết thời gian nó nhìn lên từ một bảng arp địa phương. Chỉ lần đầu tiên nó phải phát sóng
Cruncher

^ vâng, sau khi phát hiện ra thiết bị MAC, nó sẽ lưu trữ trong bảng ARP một thời gian (vài phút), do đó không phải lặp lại quy trình truy vấn ARP cho mỗi gói.
mulaz

Ồ, tôi đã không nhận ra rằng nó đã đánh rơi cái bàn sau vài phút. Tôi nghĩ rằng nó được tổ chức trong một thời gian. Điều đó có nghĩa là chất độc ARP, bạn cần gửi phản hồi ARP gần như thường xuyên?
Cruncher

Có, và máy chủ "thực", không được gửi bất kỳ gói tin nào đến máy bị nhiễm độc, hoặc máy sẽ lưu trữ MAC 'thực'.
mulaz

1
Tùy thuộc vào những gì bạn đang cố gắng để đạt được.
mulaz

13

Vì câu hỏi được gắn thẻ IPv6, tôi sẽ trả lời vì IPv6 rất khác so với IPv4.

Để bắt đầu, không có thứ gọi là ARPv6. Việc ánh xạ giữa các địa chỉ lớp 2 và IPv6 được thực hiện bởi Giao thức khám phá hàng xóm (NDP), được gửi qua ICMPv6. Vì vậy, bạn không được bỏ qua ICMPv6 và lọc nó đi, như là tùy chỉnh với IP kế thừa. NDP cung cấp hai loại thông báo được quan tâm ở đây: Quảng cáo hàng xóm và Quảng cáo hàng xóm. Một nút muốn tìm hiểu một địa chỉ lớp liên kết cho một địa chỉ IP cụ thể sẽ gửi một Neighbor Solicites đến địa chỉ multicast nút liên kết cục bộ theo liên kết - không còn phát sóng cho IPv6 nữa.

Ví dụ: nếu địa chỉ trong câu hỏi là 2001:db8::0011:2233:4455:6677, thì địa chỉ multicast nút theo yêu cầu là ff02::1:ff55:6677, và địa chỉ multicast theo ethernet là 33:33:ff:55:66:77. Tất cả các nút có địa chỉ kết thúc *55:6677thuộc về nhóm phát đa hướng đó và sẽ lắng nghe điều đó - rất có thể chỉ có chính hệ thống đích. Neighbor Solicites cũng chứa các địa chỉ IPv6 unicast và địa chỉ MAC của hệ thống chào mời.

Khi nhận, nút đích trả lời với Quảng cáo hàng xóm, được gửi đến địa chỉ unicast (lớp liên kết và IPv6) của nút chào mời. Do đó, nút chào tìm hiểu địa chỉ MAC của nút đích.

Và vâng, giả mạo NDP hoạt động giống như giả mạo ARP. Và không, IPsec không phải là câu trả lời.


" Bản thân ARP không thể được sử dụng, vì nó được tạo cho các địa chỉ lớp mạng 4 byte (tức là IPv4). " Điều này không đúng. ARP sử dụng các trường độ dài địa chỉ để chỉ định độ dài địa chỉ (tối đa 255 octet) cho cả địa chỉ lớp 2 và lớp 3 (xem RFC 826). Lý do ARP không thể được sử dụng với IPv6 là vì IPv6 không phát sóng.
Ron Maupin

1
ARP đã được thay thế bằng NDP trong v6 vì lý do bảo mật (và sau đó, giống như tất cả các giao thức liền kề v6 tốt, có kinh nghiệm về tính năng đáng kể), không phải vì v6 không phát sóng - ARP chỉ sử dụng phát L2 và dễ dàng được mở rộng để cung cấp địa chỉ v6.
Nick Bastin

2
Tôi không biết nếu ARP được thay thế vì lý do bảo mật ở nơi đầu tiên. Theo như tôi thấy, có mong muốn bao trùm tất cả các giao thức điều khiển của ICMPv6. Là một tác dụng phụ, vâng, bạn có thể bảo mật ICMPv6 bằng IPsec. Tuy nhiên, IPsec yêu cầu trao đổi khóa và IKE chạy trên UDP - yêu cầu địa chỉ IP. Một nhiệm vụ của NDP là đàm phán địa chỉ IP và trao đổi khóa thủ công không mở rộng, do đó, ý tưởng về NDP + IPsec = NDP an toàn không hoạt động theo cách này. Các lựa chọn thay thế như SeND chưa được gỡ bỏ (và có khả năng sẽ không bao giờ). Cuối cùng, tôi không thấy bất kỳ lợi thế bảo mật nào của NDP so với ARP.
phản ứng

4

Câu trả lời hàng đầu là tốt. Trong trường hợp có ích, đây là một mô tả về sự tương tự danh bạ của bạn. Điều khoản mạng thực trong ngoặc đơn.

Dựa vào tên của họ (địa chỉ IP), bạn biết họ sống trong khu phố của bạn (miền quảng bá). Trước tiên, bạn nhìn vào danh bạ (bộ đệm ARP) để xem bạn đã biết địa chỉ của họ (địa chỉ MAC) chưa. Nếu họ không có trong danh bạ, bạn ra ngoài và hét lên (phát sóng), ở đâu Steve sống? Cá đủ to để mọi người nghe (yêu cầu ARP). Giả sử Steve thực tế sống ở đó và anh ấy tỉnh táo, anh ấy trả lời chỉ với bạn, không hét lên trên tường. Đây là địa chỉ của tôi. Bạn viết nó vào danh bạ để tham khảo trong tương lai (bộ nhớ đệm ARP).


Chắc chắn rồi. Đó là một bài tập thú vị đối với tôi. Những thứ thực sự như Broadcast / unicast không ánh xạ hoàn hảo vào sự tương tự (la hét / nói chuyện / mail?), Vì vậy hãy lấy một hạt muối.
Jacktose

Để chỉnh sửa: Tôi đã sử dụng địa chỉ sau này trong tương tự, cho MAC.
Jacktose

2
  1. Địa chỉ MAC có thể được thay đổi. Trên Linux, sử dụng ip hoặc ifconfig cho hầu hết Windows, xem các cài đặt trình điều khiển của giao diện mạng của bạn.

  2. Bạn không chuyển đổi bất cứ điều gì. Địa chỉ MAC nằm trên Layer-2, IP trên Layer-3 của mô hình OSI. Đối với IPv4 ARP được sử dụng để tìm ra địa chỉ MAC (Lớp 2) nào thuộc về một địa chỉ IP (Lớp 3) nhất định. Đối với IPv6 ICMPv6 (Neighbor Discovery) được sử dụng.


Xin lỗi, tôi nên nói "dịch" chứ không phải "chuyển đổi"
CodyBugstein

0

Giao thức phân giải địa chỉ (ARP)

Địa chỉ IP ---> ARP ---> Địa chỉ MAC

Địa chỉ MAC ---> RARP ---> Địa chỉ IP

Địa chỉ IP = Địa chỉ logic [32 bit]

Địa chỉ MAC = Địa chỉ vật lý [48 bit]

Lớp mạng (IP) ----> ARP ---> Lớp liên kết dữ liệu (MAC)

Địa chỉ IP là cần thiết trong Lớp Mạng để xác định Máy chủ Nguồn / Đích.

Địa chỉ MAC là cần thiết trong Lớp liên kết dữ liệu để xác định Máy chủ nguồn / đích.


Bạn không chính xác về RARP (nhiều người có ý tưởng không chính xác này). Đây là thứ được sử dụng để sử dụng bởi một máy chủ để xác định địa chỉ IP của chính nó, chứ không phải địa chỉ IP của các máy chủ khác. Nó không còn được sử dụng.
Ron Maupin

0

Ngăn xếp mạng trước tiên tìm IP đích trong bảng định tuyến của nó, từ đó xác định hai điều.

  1. Giao diện nào gói tin sẽ được gửi qua.
  2. Địa chỉ IP của bước nhảy tiếp theo là gì. Nếu không có bước nhảy tiếp theo nào được chỉ định trong bảng định tuyến, IP của đích sẽ được sử dụng làm bước nhảy tiếp theo.

Lưu ý rằng địa chỉ IP next-hop là một khái niệm hoàn toàn cục bộ, nó không bao giờ trở thành một phần của gói được gửi trên dây.

Nếu gói tin được gửi đi trên một lớp liên kết đa điểm (ví dụ Ethernet, v.v.), thì HĐH sẽ tìm kiếm bước nhảy tiếp theo trong bảng arp (ipv4) hoặc phát hiện hàng xóm (ipv6). Nếu nó tìm thấy một mục không cũ ở đó thì nó có địa chỉ MAC mà nó cần và có thể gửi gói.

Nếu nó không có mục có thể sử dụng được, nó sẽ đặt các gói tin cho mục đích tiếp theo đó và gửi yêu cầu tìm địa chỉ MAC. Các kỹ thuật ở đây khác nhau một chút giữa v4 và v6.

Trong v4 arp yêu cầu được gửi. Điều này thường được phát sóng nhưng trong một số trường hợp nếu máy chủ lưu trữ có mục cũ, nó có thể thử yêu cầu unicast trước và chỉ quay lại phát nếu thất bại. Câu trả lời thường là unicast.

Trong v6 neigbour yêu cầu chào mời được gửi đến một địa chỉ multicast được tạo từ địa chỉ bước nhảy tiếp theo. Mục tiêu trả lời với một quảng cáo hàng xóm unicast. Các máy chủ lưu trữ cũng có thể gửi quảng cáo hàng xóm đến nhóm "tất cả các nút" (hay còn gọi là phát sóng hiệu quả) để làm mới các mục trong bộ nhớ cache khám phá hàng xóm của chúng.

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.