如何配置網路路由器以轉發(重播)wcf 發現
我無法通過網路路由器執行 wcf 發現。
我有一個客戶端和伺服器應用程序。將這兩個應用程序部署到同一區域網路上的任何兩台電腦時,它都能完美執行。客戶端應用程序找到伺服器應用程序並開始通信。當我將客戶端移動到另一個由路由器隔開的網路時,它找不到伺服器。
路由器是 Cisco Catalyst 3750。我擁有更改設置的完全權限,但我不確定哪些設置適用於 wcf 發現數據包。
我的目標是更改路由器配置,以便在客戶端區域網路上廣播的 wcf 發現數據包通過路由器重新廣播到伺服器的區域網路。
你能舉出任何通過路由器執行 wcf 發現的例子嗎?你知道我應該尋找的任何路由器設置嗎?
經過大量研究,我認為這要麼是不可能的,要麼至少完全不切實際。根據網路定義,通過路由器廣播 udp 的行為不會返回任何有意義的結果。
例如,假設我可以讓路由器將消息重新廣播到所有其他子網。可以想像,我可以從一個子網(我們稱之為 PC1)上的 10.0.1.5 和另一個子網(PC2)上的 10.0.1.5 獲得結果。TCP/IP 技術無法區分它們。此外,嘗試打開一個到 10.0.1.5 的通道和另一個到 10.0.1.5 的通道將是愚蠢的。因此,即使我知道我會根據我的網路拓撲得到獨特的結果,路由器也無法證明這一點。
更糟糕的是,路由器實際上對我隱藏了 PC1 和 PC2 ip。這是通過 NAT(網路地址轉換)技術完成的。我可能必須定址 10.3.3.64 才能到達 PC1,而 10.3.4.64 才能到達 PC2。同樣,我的拓撲不會導致這些晦澀的數字,它們非常獨特且可預測,但係統無法證明這一點。
結論:我決定建立一個“跟踪器”。這就是 P2P 網路的工作方式。所有電腦都將向已知的跟踪器報告,客戶端將向跟踪器詢問其所需伺服器的地址。