本檔案允許您對資料連結交換(DLSw)對等路由器之間的IP連線問題進行疑難排解。
本文的讀者應該瞭解IP和TCP的基本概念。
本檔案所述內容不限於特定軟體或硬體版本,而Cisco IOS??在Cisco路由器中運行DLSw需要具有IBM功能集的軟體。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
判斷您是否已建立IP連線的方法之一是發出延伸型ping(請參閱IP命令,然後向下滾動到ping(具許可權)一節。使用擴展ping,可將目標IP地址指定為遠端DLSw對等體地址,並將源指定為本地對等體IP地址。如果失敗,則可能存在IP路由問題;本地對等體沒有通往遠端對等體的路由,或者遠端對等體沒有通往本地對等體的路由。要排除IP路由故障,請參閱技術支援頁面的IP路由部分。
確認IP連線是否正常且擴展ping是否正常後,下一步是發出debug dlsw peer命令。
注意:debug dlsw peer命令可能會導致效能嚴重下降,尤其是當在設定為多個對等點同時出現的路由器上執行時。嘗試發出此debug命令之前,請參閱有關Debug命令的重要資訊。
發出$1?debug dlsw peer命令以啟用兩台思科路由器之間的對等體:
DLSw: passive open 5.5.5.1(11010) -> 2065 DLSw: action_b(): opening write pipe for peer 5.5.5.1(2065) DLSw: peer 5.5.5.1(2065), old state DISCONN, new state CAP_EXG DLSw: CapExId Msg sent to peer 5.5.5.1(2065) DLSw: Recv CapExId Msg from peer 5.5.5.1(2065) DLSw: Pos CapExResp sent to peer 5.5.5.1(2065) DLSw: action_e(): for peer 5.5.5.1(2065) DLSw: Recv CapExPosRsp Msg from peer 5.5.5.1(2065) DLSw: action_e(): for peer 5.5.5.1(2065) shSw: peer 5.5.5.1(2065), old state CAP_EXG, new state CONNECT DLSw: peer_act_on_capabilities() for peer 5.5.5.1(2065) DLSw: action_f(): for peer 5.5.5.1(2065) DLSw: closing read pipe tcp connection for peer 5.5.5.1(2065)
路由器啟動對等路由器,開啟與另一路由器的TCP會話,並開始交換功能。在積極交換功能後,對等體會連線。與遠端來源路由橋接(RSRB)相反,如果沒有流量,DLSw不會將對等體移動到關閉狀態;對等體始終保持連線。如果對等體保持斷開連線,您可以發出debug dlsw??peer??和debug ip tcp transactions命令,以確定連線未開啟的原因。
如果對等點間歇性連線,請確定對等點之間是否存在防火牆。如果是,請參閱設定資料連結交換和網路位址轉譯。如果您有幀中繼連線,請確保不會超過承諾資訊速率(CIR),從而不會丟棄TCP資料包。
以下輸出範例說明本檔案所討論的一些方法:
路由器配置
source-bridge ring-group 2 dlsw local-peer peer-id 172.17.240.35 dlsw remote-peer 0 tcp 172.17.140.17 ! interface Loopback0 ip address 172.17.240.35 255.255.255.0 |
source-bridge ring-group 2 dlsw local-peer peer-id 172.17.140.17 dlsw remote-peer 0 tcp 172.17.240.35 ! interface Loopback0 ip address 172.17.140.17 255.255.255.0 |
在DLSw對等體交換其功能並建立會話之前,TCP/IP必須在TCP/IP對等體地址之間建立路由。
如果您發出show ip route ip-address ,並在DLSw對等體地址之間執行擴展ping,則可以驗證此TCP/IP路由。
如果您懷疑IP路由有問題,則讓延伸ping執行幾分鐘並檢查它是否保持不變。
router2# show ip route 172.17.140.17 Routing entry for 172.17.140.0/24 Known via "connected", distance 0, metric 0 (connected, via interface) Routing Descriptor Blocks * directly connected, via Ethernet1/0 Route metric is 0, traffic share count is 1 |
router1# show ip route 172.17.240.35 Routing entry for 172.17.240.0/24 Known via "connected", distance 0, metric 0 (connected, via interface) Routing Descriptor Blocks * directly connected, via Ethernet1/0 Route metric is 0, traffic share count is 1 |
router2# ping Protocol [ip]: Target IP address: 172.17.140.17 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 172.17.240.35 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose [none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.17.140.17, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/4 ms |
router1# ping Protocol [ip]: Target IP address: 172.17.240.35 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 172.17.140.17 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose [none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.17.240.35, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/4 ms |
發出debug ip tcp transactions命令,檢查TCP/IP如何識別DLSw對等體地址之間的路由。
router2# debug ip tcp transactions TCP special debugging is on c1603r Mar 9 12:02:03.472: TCB02132106 created Mar 9 12:02:03.472: TCP0: state was LISTEN -> SYNRCVD [1998 -> 172.17.140.17(11001)] Mar 9 12:02:03.476: TCP0: Connection to 172.17.140.17:11011, received MSS 1460, MSS is 516 Mar 9 12:02:03.476: TCP: sending SYN, seq 1358476218, ack 117857339 Mar 9 12:02:03.480: TCP0: Connection to 172.17.140.17:11001, advertising MSS 1460 Mar 9 12:02:09.436: TCP0: state was SYNRCVD -> CLOSED [1998 -> 172.17.140.17(11001)] Mar 9 12:02:09.440: TCB 0x2132106 destroyed Mar 9 12:02:15.471: TCB0214088C created
如果存在有效路由且擴展ping成功,但DLSw對等體未能達到CONNECT狀態,則檢查防火牆(例如DLSw埠號2065上的訪問清單)是否不是問題的原因。
router2# show access-lists Extended IP access list 101 deny ip any any log-input deny tcp host 172.17.240.35 172.17.140.0 0.0.0.255 eq 2065 established permit ip any any
檢查網路地址轉換(NAT)是否沒有阻止DLSw對等裝置的連線。
router2# show ip nat tran Pro Inside global Inside local Outside local Outside global --- 172.17.240.200 10.1.1.1 --- --- --- 172.17.240.201 10.2.1.201 --- --- --- 172.17.240.202 10.2.1.202 --- ---
TCP/IP在DLSw對等體地址之間建立路由後,它們將交換能力(通過能力交換資料包),並且它們將建立對等體連線(它們進入CONNECT狀態)。
router1# show dls capabilities DLSw: Capabilities for peer 172.17.140.17(2065) vendor id (OUI) :'00C' (cisco) version number : 1 release number : 0 init pacing window : 20 unsupported saps : none num of tcp sessions : 1 loop prevent support : no icanreach mac-exclusive : no icanreach netbios-excl : no reachable mac addresses : none reachable netbios names : none cisco version number : 1 peer group number : 0 border peer capable : no peer cost : 3 biu-segment configured : no local-ack configured : yes priority configured : no version string : Cisco Internetwork Operating System Software IOS (tm) RSP Software (RSP-JSV-M), Version 12.1(1), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2000 by cisco Systems, Inc. Compiled Tue 14-Mar-00 23:16 by cmong
發出show dlsw peer命令以檢查DLSw對等體上的丟棄數。如果您看到計數最初或很快增加,則這可能表示在DLSw對等體的TCP隊列深度上存在擁塞。
對於DLSw電路,根據TCP隊列深度的擁塞程度,內部流量控制演算法將開始關閉各種優先順序流量的視窗。如果您開始遇到擁塞問題,請發出show dlsw peer命令以檢查隊列深度。
註:請記住,預設隊列深度值為200。此欄位中的任何值超過50(25%)都將開始導致流控制視窗大小減小。
router2# show dlsw peers Peers: state pkts rx pkts tx type drops ckts TCP uptime TCP 172.17.140.17 CONNECT 11 11 0 0 51 0:00:04:42
CONNECT狀態是您要檢視的狀態。處於CONNECT狀態的DLSw對等體表示對等體已成功啟用。