Làm thế nào để một công tắc tìm hiểu một địa chỉ MAC không có trong bảng tra cứu của nó?


11

Tôi có một câu hỏi tương đối ngớ ngẩn. Giả sử Switch mới bắt đầu và nó nhận được một khung chứa địa chỉ MAC đích cho một thiết bị mạng không có trong bảng địa chỉ MAC của nó.

Điều gì xảy ra sau đó? Nó có phát sóng (địa chỉ MAC ff:ff:ff:ff:ff:ff) và nhận câu trả lời từ các thiết bị được kết nối không, hoặc có một giao thức dành riêng cho cái được sử dụng không? Tôi không nghĩ rằng công tắc sử dụng ARP (Giao thức phân giải địa chỉ)?


1
Nếu bạn nghĩ về nó, khi một công tắc thực sự không thể chuyển đổi một khung (vì nó không có địa chỉ cần thiết trong bảng của nó), thì nó thường phải coi khung đó là một trung tâm vì lý do tương thích.
Todd Wilcox

Thực sự cảm ơn tất cả mọi người cho câu trả lời.

Câu trả lời:


27

Câu hỏi hay. Tôi sẽ trả lời nó bằng một hình ảnh động:

nhập mô tả hình ảnh ở đây

Khi Máy chủ A gửi khung, công tắc không có bất cứ thứ gì trong bảng địa chỉ MAC của nó. Khi nhận được khung, nó ghi lại Địa chỉ MAC của Máy chủ A để chuyển ánh xạ Cổng . Vì nó không biết địa chỉ MAC đích ở đâu, nó tràn vào tất cả các cổng.

Điều này đảm bảo rằng nếu máy chủ B tồn tại (mà tại thời điểm này, công tắc chưa biết), thì nó sẽ nhận được nó. Hy vọng rằng, khi nhận được khung, Máy chủ B sẽ tạo khung phản hồi, cho phép Switch tìm hiểu ánh xạ địa chỉ MAC từ khung trả về.

Bạn có thể đọc thêm về cách thức hoạt động của Switch tại đây (nơi tôi lấy hình ảnh động từ đó). Tôi cũng đề nghị đọc toàn bộ loạt bài viết để xem kỹ hơn cách thức gói tin di chuyển qua mạng .

Một lưu ý cuối cùng liên quan đến các điều khoản Flooding vs Broadcast . Công tắc không bao giờ phát khung, phát sóng không phải là hành động mà công tắc có thể thực hiện. Một công tắc chỉ có thể làm ngập một khung. Một phát sóng chỉ đơn giản là một khung có địa chỉ MAC đích ffff.ffff.ffff. Điều này thường bị nhầm lẫn bởi vì hiệu ứng cuối cùng là như nhau, nhưng chúng thực sự khác nhau .


Sự khác biệt chính giữa lũ lụt và phát sóng là cách các nút tiếp theo sẽ phản ứng
Ferrybig

2
@Ferrybig Đúng. Nhưng tôi sẽ cụm từ nó hơi khác nhau ... Sự khác biệt chính giữa một switch tràn ngập một unicast khung hình, và một công tắc tràn ngập một phát sóng khung là cách nút tiếp theo (s) sẽ phản ứng. Không có thứ gọi là chuyển mạch phát khung. (Nhận xét này và câu trả lời của tôi là nói về lưu lượng quá cảnh, không phải quản lý lưu lượng đến / từ công tắc)
Eddie

4

Khi một công tắc nhận được một khung, nó sẽ cập nhật bảng địa chỉ MAC của nó với địa chỉ MAC nguồn và cổng mà nó nhận được khung. Nếu địa chỉ MAC đích không nằm trong bảng địa chỉ MAC của nó (unicast không xác định), nó sẽ tràn khung vào tất cả các cổng, ngoại trừ cổng mà khung được nhận.


Ngoại trừ khi lũ lụt, nó không tràn khung trở lại cổng mà nó nhận được khung, phải không?
Todd Wilcox

1
Đúng. nó không gửi nó đến cổng mà khung được nhận.
Ron Maupin

3
Tôi sẽ chỉ thêm rằng công tắc không học địa chỉ MAC (đích) mới cho đến khi thiết bị trả lời.
Ron Trunk

Bằng cách làm ngập khung cho tất cả các cảng, có rủi ro bảo mật?

3
Nó có thể. Và đó là lý do tại sao một số / nhiều thiết bị chuyển mạch hỗ trợ vô hiệu hóa lũ lụt unicast không xác định (cũng như phát đa hướng.) Trong ba thập kỷ kết nối mạng, tôi chưa bao giờ có nhu cầu sử dụng nó.
Ricky Beam

4

Công tắc không sử dụng ARP, nhưng ARP có thể giúp ngăn chặn tình huống này xảy ra ngay từ đầu, vì hai lý do:

  1. Nếu nút A đang gửi gói IP đến nút B không có trong bộ đệm ARP của nó, trước tiên, nó sẽ gửi yêu cầu ARP (là gói phát sóng và sẽ tự động bị ngập tới tất cả các cổng bởi công tắc). Khi nút B gửi trả lời ARP của nó, công tắc sẽ tìm hiểu địa chỉ MAC của nó. Vì vậy, tại thời điểm truyền dữ liệu thực tế xảy ra, công tắc đã biết địa chỉ MAC của những người tham gia và không cần phải làm ngập gói dữ liệu.

  2. Nhiều thiết bị, khi liên kết của chúng tăng lên, sẽ gửi một gói ARP vô cớ . Ngoài việc cập nhật bộ đệm ARP của các nút khác trên mạng, GARP cũng sẽ điền vào bảng địa chỉ MAC của công tắc.

IPv6 không sử dụng ARP, nhưng NDP hoàn thành mục đích tương tự.

Vì vậy, về tổng thể, mặc dù các thiết bị chuyển mạch chắc chắn sẽ tràn khung vào các địa chỉ unicast mà chúng chưa học, nhưng nó không cần thiết như bạn nghĩ, bởi vì nó thường sẽ có cơ hội tìm hiểu địa chỉ của các nút từ các khung phát sóng trước đó. Tuy nhiên, bạn chắc chắn có thể quan sát nó bằng một công tắc có bảng MAC bị tràn hoặc vừa mới khởi động lại.

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.