目录

简介

先决条件

要求

使用的组件

规则

背景信息

问题

解决方案

解决方案 1

解决方案 2

相关信息

简介

本文档介绍使用网络地址转换(NAT)（基于此图示）的数据链路交换(DLSw)方案的解决方案，该方案涉及对等体无明显原因断开自身连接。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文件规则的更多信息请参见“ Cisco技术提示规则”。

背景信息

路由器A和C中的调试显示，连接通过CAP_EXG并达到CONNECT状态。DLSw的Cisco实施规定，在路由器A和路由器C之间建立连接时，将丢弃一个TCP连接，而不是在路由器A和路由器C之间使用两个TCP会话。

RFC 1795第7.6.7节确定丢弃的TCP连接 :

“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的IP地址，一旦它通过NAT。路由器A认为它的IP地址更高，因此它认为它必须断开其本地端口2065上的TCP连接。

路由器C认为其DLSw TCP会话在其自身(172.10.1.1)和123.112.5.10之间。路由器C认为它具有更高的IP地址，并且必须断开其本地端口2065上的TCP连接。

结果，两个TCP会话都被断开，使路由器处于DISCONNECT状态。

解决方案

解决方案 1

将NAT更改为将172.10.1.1转换为123.112.6.1，以避免混淆哪个IP地址更高。

解决方案 2

在dlsw peer命令配置中使用新的配置选项v2-single-tcp。此功能已引入Cisco Bug ID CSCeb47150（仅限注册客户），并集成到Cisco IOS®软件版本12.3(04.04)B、12.2(19.04)S、12.3(03.3)中03)T、012.003(003.003)、12.3(03.02)T和12.002(018.002)。

DLSw第2版(RFC 2166) ，定义DLSw TCP对等体与单个TCP会话一起启动。因此，上述问题不再存在，因为只有一个TCP会话，并且哪个端的IP地址数字更高或更低，这一点没有任何差别。

v2-single-tcp关键字指示此路由器启用DLSw第2版对等体，因此，两台路由器自动只使用一个TCP会话来建立对等体。

对于本文档中描述的拓扑，新关键字的使用应类似于以下内容：

分支路由器C尝试建立与数据中心路由器A对等的DLSw。数据中心路由器A运行Cisco IOS软件版本12.0或更高版本，该版本已支持DLSw版本2。数据中心路由器A上的dlsw local-peer 命令配置是混杂的，允许任何传入的对等连接，或者，如果必须单独配置每个连接，将对等分支路由器C配置为被动。

在此dlsw remote-peer命令上配置了新关键字v2-single-tcp，该关键字启动与中央数据中心路由器A的第2版对等体：

- dlsw remote-peer 0 tcp 123.112.5.10 v2-single-tcp

有关更多详细信息，请参阅Cisco Bug ID CSCeb47150(仅限注册客户)的发行说明。

相关信息

- DLSw技术支持页

- DLSw+技术支持页

- 技术支持 - Cisco Systems