本檔案介紹使用網路位址轉譯(NAT)(基於此圖示)的資料連結交換(DLSw)案例(涉及對等點無明顯原因而自行斷開連線)的解決方案。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
路由器A和C中的調試顯示連線通過CAP_EXG並達到CONNECT狀態。Cisco的DLSw實現指定當兩台路由器之間建立連線時,將丟棄一個TCP連線,而不是在路由器A和路由器C之間使用兩個TCP會話。
根據RFC 1795 第7.6.7節判斷遭捨棄的TCP連線:
「TCP連線控制向量指示支援資料鏈路交換流量的備用TCP連線數。資料鏈路交換的基本實現支援兩個TCP連線,每個方向的資料流量各一個。
此控制向量是可選的。如果在DLSw功能交換中省略,則假定存在兩個TCP連線。另外還假設如果資料鏈路交換可以支援一個TCP連線,則它可以支援兩個TCP連線。
如果TCP連線CV值一致,並且連線數是1,則IP地址較高的DLSw必須斷開其本地埠2065上的TCP連線。」
DLSw plus(DLSw+)對等體在路由器A和C之間建立連線,但不會保持連線。
路由器A認為其DLSw TCP作業階段介於自身(123.112.5.10)和123.112.1.19之間,即路由器C通過NAT之後的IP位址。路由器A的結論是IP地址較高,因此認為必須斷開其本地埠2065上的TCP連線。
路由器C認為其DLSw TCP會話介於自身(172.10.1.1)和123.112.5.10之間。路由器C認為其IP地址較高,並且必須斷開其本地埠2065上的TCP連線。
因此,兩個TCP作業階段都會關閉,使路由器處於斷開連線狀態。
更改NAT以將172.10.1.1轉換為123.112.6.1,以免混淆哪個IP地址更高。
在dlsw peer命令配置中使用新的配置選項v2-single-tcp。此功能已隨Cisco錯誤ID CSCeb47150(僅註冊客戶)引入,並整合在Cisco IOS®軟體版本12.3(04.04)B、12.2(19.04)S、12.3(03.03)T、012.003(003.003)、12.3(03.02)T和12.00中(018.002)。
DLSw第2版(RFC 2166 )定義了使用單個TCP會話的DLSw TCP對等路由。這樣,由於只有一個TCP會話,所以上述問題不再存在,並且對於具有數字上更高或更低的IP地址的一端沒有區別。
v2-single-tcp關鍵字指示此路由器啟動DLSw版本2對等體,因此,兩台路由器都自動僅使用一個TCP會話來建立對等體。
對於本文檔中描述的拓撲,新關鍵字的使用應類似以下內容:
分支路由器C嘗試建立對資料中心路由器A的DLSw對等體。資料中心路由器A運行已支援DLSw版本2的Cisco IOS軟體版本12.0或更高版本。資料中心路由器A上的dlsw local-peer命令配置要麼承諾允許任何傳入對等體連線,要麼如果您必須單獨配置每個連線,則將對分支路由器C配置為被動連線。
在此dlsw remote-peer命令上使用新關鍵字v2-single-tcp配置分支路由器C,該關鍵字啟動與中央資料中心路由器A對等的第2版:
如需更多詳細資訊,請參閱Cisco錯誤ID CSCeb47150(僅限註冊客戶)的版本說明。