Trong ít nhất một lần thực hiện, có một giới hạn cứng về khả năng của bảng ARP. Điều gì xảy ra khi bộ đệm ARP đầy và một gói được cung cấp với đích (hoặc hop tiếp theo) không được lưu trong bộ nhớ cache? Điều gì xảy ra dưới mui xe, và ảnh hưởng đến chất lượng dịch vụ là gì?
Ví dụ: bộ định tuyến Brocade NetIron XMR và Brocade MLX có hệ thống tối đa có thể định cấu hìnhip-arp
. Giá trị mặc định trong trường hợp đó là 8192; kích thước của một mạng con / 19. Không rõ tài liệu cho dù đây là trên mỗi giao diện hay cho toàn bộ bộ định tuyến, nhưng với mục đích của câu hỏi này, chúng ta có thể giả sử nó là trên mỗi giao diện.
Rất ít nhà mạng sẽ cấu hình một mạng con / 19 trên một giao diện trên mục đích, nhưng đó không phải là điều đã xảy ra. Chúng tôi đã chuyển một bộ định tuyến lõi từ mô hình của Cisco sang thổ cẩm. Một trong nhiều điểm khác biệt giữa Cisco và Brocade là Cisco chấp nhận các tuyến tĩnh được xác định bằng cả giao diện ngoài và địa chỉ hop tiếp theo, nhưng Brocade nhấn mạnh vào cái này hay cái khác. Chúng tôi bỏ địa chỉ next-hop và giữ giao diện. Sau đó, chúng tôi đã học được lỗi của các cách của chúng tôi và thay đổi từ giao diện sang địa chỉ hop tiếp theo, nhưng mọi thứ dường như đang hoạt động ban đầu.
+----+ iface0 +----+
| R1 |-----------| R2 |---> (10.1.0.0/16 this way)
+----+.1 .2+----+
10.0.0.0/30
Trước khi di chuyển, R1 là một Cisco và có lộ trình sau.
ip route 10.1.0.0 255.255.0.0 iface0 10.0.0.2
Sau khi di chuyển, R1 là một thổ cẩm và có lộ trình sau đây.
ip route 10.1.0.0 255.255.0.0 iface0
R2 là một bộ định tuyến của Cisco và các bộ định tuyến của Cisco thực hiện ARP proxy theo mặc định. Đây là cấu hình (mis-) trong sản xuất đặt giai đoạn cho những gì hóa ra là tràn bộ đệm ARP.
- R1 nhận được gói tin dành cho mạng 10.1.0.0/16.
- Trên cơ sở tuyến giao diện tĩnh, các ARP R1 cho đích đến
iface0
- R2 nhận ra rằng nó có thể đến đích và phản hồi ARP bằng MAC của chính nó.
- R1 lưu trữ kết quả ARP kết hợp IP trong mạng từ xa với MAC của R2.
Điều này xảy ra cho mọi đích khác biệt trong 10.1.0.0/16. Do đó, mặc dù / 16 được đặt chính xác ngoài R2 và chỉ có hai nút trên liên kết tiếp giáp với R1 và R2, nhưng R1 bị quá tải bộ đệm ARP vì nó khiến R2 hoạt động như thể tất cả các địa chỉ 65k được kết nối trực tiếp.
Lý do tôi hỏi câu hỏi này là vì tôi hy vọng nó sẽ giúp tôi hiểu được các báo cáo sự cố dịch vụ mạng (ngày sau đó) dẫn chúng tôi, cuối cùng, đến bộ đệm ARP tràn. Theo tinh thần của mô hình StackExchange, tôi đã cố gắng chắt lọc rằng điều mà tôi tin là một câu hỏi rõ ràng, cụ thể có thể được trả lời một cách khách quan.
EDIT 1 Để rõ ràng, tôi hỏi về một phần của lớp keo giữa liên kết dữ liệu (lớp 2) và mạng (lớp 3), không phải bảng chuyển tiếp MAC trong lớp liên kết dữ liệu. Một máy chủ hoặc bộ định tuyến xây dựng địa chỉ IP trước để ánh xạ địa chỉ IP thành địa chỉ MAC, trong khi đó, một công tắc sẽ xây dựng địa chỉ sau để ánh xạ địa chỉ MAC tới các cổng.
EDIT 2 Mặc dù tôi đánh giá cao nỗ lực của những người trả lời đã giải thích lý do tại sao một số triển khai không bị tràn bộ đệm ARP, tôi cảm thấy rằng câu hỏi này rất quan trọng để giải quyết những vấn đề đó. Câu hỏi đặt ra là "chuyện gì xảy ra khi" chứ không phải "nhà cung cấp X có dễ bị" không. Tôi đã thực hiện phần của mình bây giờ bằng cách mô tả một ví dụ cụ thể.
EDIT 3 Một câu hỏi khác không phải là "làm cách nào để ngăn bộ đệm ARP tràn ra?"