本文档介绍使用网络地址转换(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状态。
将NAT更改为将172.10.1.1转换为123.112.6.1,以避免混淆哪个IP地址更高。
在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版对等体:
有关更多详细信息,请参阅Cisco Bug ID CSCeb47150(仅限注册客户)的发行说明。