Switch

強制從自定義硬體更 新凸輪表的策略

  • March 1, 2017

我有一個由控制 PC、兩層交換機和 50 個自定義設備組成的系統。PC 以總計 5.8MB/秒(6000 乙太網幀/秒)的速度連續向設備流式傳輸。

我發現每個設備端點都看到了所有這些流量,而不僅僅是針對該設備的流量。這導致設備上的韌體有點阻塞。

我對為什麼會發生這種情況的理論是:PC 設置了靜態 ARP 表。設備發送數據的唯一時間是響應 ICMP 回顯或 ARP 請求。由於我們在正常操作期間不 ping 設備,並且由於 PC 的 ARP 表是靜態的(因此不會發出 ARP 請求),因此設備永遠不會發送任何數據,交換機也永遠不會學習它們的 MAC 地址。

問題1:這個分析正確嗎?

我必須解決這個問題。有四個選項:

  1. 手動配置所有開關中的凸輪表。
  2. 更新設備韌體以定期發送某些內容,從而更新開關凸輪表。
  3. 讓控制 PC 定期 ping 設備,從而導致設備響應,從而導致交換機更新。
  4. 來自評論:在控制PC上啟用動態ARP,將ttl配置為小於交換機條目的ttl。

那麼,問題 2:選項 1 是絕對正確的方法嗎?

現在,選項 1 的問題是現有的交換機不受管理,我無法配置它們。為了使用選項 1,我們需要將交換機替換為託管交換機。我相信從長遠來看這是值得的,但由於多種原因,現在它不可行。

我不想使用選項 3 或 4,因為我希望此問題的解決方案對控制 PC 和其他各種原因是透明的(特別是,選項 4 在此應用程序中存在微妙但明顯的性能問題,在評論中進行了描述以下)。

因此,我現在正在追求選項 2。我選擇修改每台設備上的韌體,以大約每 30 秒發送一次帶有廣播 MAC 目標的免費 ARP 請求。我之所以選擇 ARP,是因為從概念上講它似乎是最合適的,儘管我也可以發送例如空白乙太網幀。我選擇了廣播目的地,希望數據包能夠通過 L2 交換機並到達 L1 交換機,並使它們也更新它們的表。

**問題 3:**雖然這可能不是最正確的選擇,但它會起作用嗎?從所有 50 台設備定期發送無償 ARP 請求會導致任何意外的副作用嗎?我不知道交換機的凸輪表條目的ttl是什麼,我隨意選擇了30秒。

**問題 4:**還有其他我沒有考慮的選擇嗎?

問題:由於沒有 MAC 表,乙太網交換機在所有埠上泛洪數據包,這種流量導致某些設備出現問題。

解決方案:正如您已經想到的:生成一些流量,以便建構 MAC 表。一種方法是讓網路監視器程序對每個設備進行 ping 操作。這既可以建構 MAC 表,也可以讓您檢查某些設備是否偶爾會從網路中掉線。

注意:刪除了關於 ARP 的錯誤答案

引用自:https://serverfault.com/questions/575734