本文档使您能够排除数据链路交换(DLSw)对等体之间的IP连接问题。
本文档的读者应该了解IP和TCP的基本概念。
本文档不限于特定软件或硬件版本,而是Cisco IOS??在Cisco路由器中运行DLSw时,需要使用IBM功能集的软件。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
确定您是否具有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命令以激活两台Cisco路由器之间的对等体:
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对等体表示对等体已成功激活。