数据链路交换(DLSw)是由IBM实施的标准,它支持通过WAN传输逻辑链路控制(LLC)。DLSw是远程源路由桥接(RSRB)的更详细形式,对于它可以桥接或无法桥接的内容,它更加具体。DLSw要求路由器传输有效的LLC2会话或NetBIOS会话。
思科路由器实施RFC 1795(DSLw标准)和2166(DLSw版本2)。 此外,与其他方法相比,DLSw实现了更多广播控制功能,并通过WAN传输的信息也更少。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
本节介绍重要的DLSw命令、配置DLSw的命令以及排除DLSw故障的命令。
配置DLSw的第一步是添加source-bridge ring-group命令。这将连接执行源路由桥接(SRB)的令牌环接口。
任务 | 命令 |
---|---|
定义环组。 | source-bridge ring-group ring-group [virtual-mac-address] |
注意:在只有以太网接口的路由器上执行DLSw时,无需设置环组。
下一个选项是定义本地对等体标识。这是同一个框中的IP地址。这基本上在路由器中启动DLSw。
任务 | 命令 |
---|---|
定义DLSw+本地对等体。 | dlsw local-peer [peer-id ip-address] [group group] [border] [cost cost] [lf size] [keepalive seconds] [passive] [promiscuous] [biu-segment] |
配置DLSw的最基本选项是建立本地对等ID ip地址。以下是命令参数的说明:
group和border — 这些命令一起发出以在网络中创建边界对等体。
cost — 当有多条路径到达同一位置时,发出此命令。此命令告知路由器如何首先使用最低开销的路径到达这些远程站点。
lf — 此命令确定此对等体可以处理的最大帧大小。帧大小可以是:
最大帧大小为516-516字节
最大帧大小为1470-1470字节
最大帧大小为1500-1500字节
2052-2052字节最大帧大小
最大帧大小为4472-4472字节
最大帧大小为8144-8144字节
11407-11407字节最大帧大小
11454-11454字节最大帧大小
17800-17800字节最大帧大小
keepalive — 此命令定义keepalive数据包之间的间隔。间隔范围可以是0到1200秒。为按需拨号路由(DDR)配置DLSw时,通常设置为0。
passive — 此命令将路由器配置为不从路由器启动对等设备。
promiscuous — 此命令表示路由器接受来自请求对等体启动的任何远程对等体的连接。此命令在拥有多个对等体的大型站点中非常有用,因为您无需在核心路由器中定义所有远程对等体。
biu-segment — 此命令是DLSw的一个选项,它允许DLSw在系统网络架构(SNA)层中控制更高的网段大小。此命令使终端站相信它们可以发送更大量的数据。
定义本地对等体后,即可定义远程对等体。您可以定义三种对等体:TCP、快速序列传输(FST)、直接高级链路控制(HDLC)和帧中继。以下是用来定义远程对等体的命令的说明:
任务 | 命令 |
---|---|
帧中继上的直接封装 | dlsw remote-peer list-number frame-relay interface serial number dlci-number [backup-peer ip-address] [bytes-netbios-out bytes-list-name] [cost] [dest-mac-address] [dmac-output-list access-list-number] [host-netbios-out host-list-name] [keepalive seconds] [lf size] [linger minutes] [lsap-output-list] [pass-thru] |
HDLC上的直接封装 | dlsw remote-peer list-number interface serial number [backup-peer ip-address] [bytes-netbios-out bytes-list-name] [cost cost] [dest-mac mac-address] [dmac-output-list access-list-number] [host-netbios-out host-list-name] [keepalive seconds] [lf size] [lingminutes] [lsap-output-list list] [pass-thru] |
FST | dlsw remote-peer list-number fst ip-address [backup-peer ip-address] [bytes-netbios-out bytes-list-name] [cost] [dest-mac-address] [dmac-output-list access-list-number] [host-netbios-out host-list-name] [keepalive seconds] [lf size] [linger minutes] [lsap-output-list] [pass-thru] |
TCP | dlsw remote-peer list-number tcp ip-address [backup-peer ip-address] [bytes-netbios-out bytes-list-name] [cost cost] [dest-mac mac-address] [dmac-output-list access-list-number] [dynamic] [host-netbios-out host-list-name] [inactivity minutes] [keepalive seconds] [lf size] [linger minutes] [lsap-output-list list] [no-llc minutes] [priority] [tcp-queue-max size] [timeout] [timeout seconds] [v2-single-tcp] [timeout] [timeout] [tips] [timeout] |
以下是命令选项的说明:
backup peer — 此命令选项定义在第一个对等体发生故障时备份此对等体的对等体。
cost — 此命令选项定义此对等体的成本。当有多条路径可到达一个目标时,以及需要首选支持方案时,可使用此命令。
dest-mac、dynamic、no-llc和inactivity — 这些命令选项将在本文档的备份/成本对等部分讨论。
dmac-output-list — 发出此命令选项以定义访问列表,告诉路由器允许或拒绝浏览器流量的远程目标MAC地址。
host-netbios-out — 发出此命令选项以应用NetBIOS主机过滤器名称。
keepalive — 发出此命令选项以确定keepalive之间的时间间隔(以秒为单位)。它主要用于DDR设置。
lf — 此命令选项指定对等体允许的最大大小。
linger — 此命令选项指定在主链路再次变为活动状态后(由于主链路故障)路由器保持备用对等体打开的时间量。
priority — 此命令选项创建多个对等体以对DLSw流量进行优先级排序。
tcp-queue-max — 此命令选项会更改TCP队列的默认值200。
timeout — 此命令选项是TCP在断开连接之前等待确认的秒数。
V2-single-tcpM — 此命令选项设计用于网络地址转换(NAT)环境。每个对等体都认为自己的IP地址较高,以防止每个对等体断开其中一个TCP连接。
以下是DLSw中使用的计时器的说明:
参数 | 描述 |
---|---|
icannotreach-block-time | 不可达资源的缓存寿命,在此过程中会阻止对该资源的搜索。有效范围为1至86400秒。默认值为0(禁用) |
netbios-cache-timeout | 本地和远程可达性缓存的NetBIOS名称位置的缓存寿命。有效范围为1至86400秒。默认值为16分钟。 |
netbios-explorer-timeout | IOS®软件在标记资源不可达(LAN和WAN)之前等待资源管理器响应的时间长度。 有效范围为1至86400秒。默认时间为 6 秒钟。 |
netbios-retry-interval | NetBIOS资源管理器重试间隔(仅限LAN)。 有效范围为1至86400秒。默认值为1秒。 |
netbios-verify-interval | 创建缓存条目和将该条目标记为陈旧时之间的间隔。如果搜索请求进入过时的缓存条目,则会发送定向验证查询以确保它仍然存在。有效范围为1至86400秒。默认值为4分钟。 |
sna-cache-timeout | SNA MAC/服务接入点(SAP)位置缓存条目在被丢弃(本地和远程)之前存在的时间长度。 有效范围为1至86400秒。默认值为16分钟。 |
sna-explorer-timeout | IOS软件在标记资源不可达之前(LAN和WAN)等待浏览器响应的时间长度。 有效范围为1至86400秒。默认时间为 3 分钟。 |
sna-retry-interval | SNA浏览器重试间隔(LAN)。 有效范围为1至86400秒。默认时间为 30 秒钟。 |
sna-verify-interval | 创建缓存条目和将该条目标记为陈旧时之间的间隔。如果搜索请求进入过时的缓存条目,则发送定向验证查询以确保它仍然存在。有效范围为1至86400秒。默认值为4分钟。 |
explorer-wait-time | 路由器等待所有探查器返回的时间(以秒为单位),然后确定使用哪个对等体。 |
这些参数非常有用。例如,您可以更改路由器发送资源管理器的时间间隔(以秒为单位)。这样可以通过增加探查者之间的时间来帮助减少网络中的探查者数量。此外,还可以更改路由器超时缓存条目的值。
以下是其他重要的DLSw命令:
dlsw allroute-sna/netbios — 发出此命令以更改DLSw的行为,以便使用所有路由探查器而不是单个路由探查器。
dlsw bridge-group — 发出此命令以将透明桥接域与DLSw关联。它在使用以太网配置NetBIOS时广泛使用。
dlsw explorer-depth — 此命令设置DLSw资源管理器队列的值。此命令在常规source-bridge explorer-queue命令之后发出,但它引用了需要处理的所有CANUREACH(CUR)帧。此命令很重要,因为它覆盖了来自以太网的数据包,尽管source-bridge explorer-depth命令未涵盖此命令。有关此命令的详细信息,请参阅了解源和路由桥接故障排除。
本节中介绍的show命令和输出在排除DLSw故障时非常有用。
此命令提供有关对等体的信息。此处会显示配置的每个远程对等体,包括传输和接收的数据包的数量。
Peers: state pkts_rx pkts_tx type drops ckts TCP uptime TCP 5.5.5.1 CONNECT 2 2 conf 0 0 0 00:00:06
这些是可能的状态:
CONNECT — 此状态表示DLSw对等体已启动并正在运行。
DISCONNECT — 此状态表示对等体已关闭或未连接。
CAP_EXG — 此状态意味着DLSw正在与远程对等体进行功能交换。
WAIT_RD — 此状态是启动对等设备的最后一步。此对等体正在等待远程对等体打开读取端口。有关对等体何时启动和发出debug dlsw peer命令的详细信息,请参阅本文档的调试部分。
WAN_BUSY — 此状态表示TCP出站队列已满,无法传输数据包。
show dlsw peer命令还显示丢弃数、特定对等体上的电路数量、TCP队列和正常运行时间。丢弃计数器因以下原因而增加:
直接对等体的WAN接口未启用。
DLSw尝试在对等体完全连接之前发送数据包(等待TCP事件或功能事件)。 出站TCP队列已满。
FST序列号计数不匹配。
无法获得缓冲来降低交换机FST数据包的速度。
高端的CiscoBus控制器故障;无法将数据包从接收缓冲区移动到传输缓冲区,反之亦然。
FST数据包的目标IP地址与本地对等体ID不匹配。
FST对等体的WAN接口未启用。
未配置SRB route cache命令。
低端系统上的管理环缓冲区已满:WAN对LAN的传输速度太快。
DLSw: Capabilities for peer 5.5.5.1(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) 4500 Software (C4500-J-M), Version 10.3(13), RELEASE SOFTWARE (fc2) Copyright (c) 1986-1996 by cisco Systems, Inc.
DLSw MAC address reachability cache list Mac Addr status Loc. peer/port rif 0800.5a0a.c51d FOUND LOCAL TokenRing3/0 06B0.0021.00F0 0800.5a49.1e38 FOUND LOCAL TokenRing3/0 06B0.0021.00F0 0800.5a95.3a13 FOUND REMOTE 5.5.5.1(2065) DLSw NetBIOS Name reachability cache list NetBIOS Name status Loc. peer/port rif PIN-PIN FOUND LOCAL TokenRing3/0 06B0.0021.00F0 QUENEPA FOUND LOCAL TokenRing3/0 06B0.0021.00F0 WIN95 FOUND REMOTE 5.5.5.1(2065)
status字段是show dlsw reach命令最重要的部分。以下是可能的状态:
已找到 — 路由器已找到设备。
SEARCHING — 路由器正在搜索资源。
NOT_FOUND — 负缓存已启用,工作站尚未响应查询。
UNCONFIRMED — 工作站已配置,但DLSw尚未验证。
VERIFY — 验证缓存信息,因为缓存已过期,或者正在验证用户配置。
Index local addr(lsap) remote addr(dsap) state 1622193728 4001.68ff.0001(04) 4000.0000.0001(04) CONNECTED PCEP: 60A545B4 UCEP: 60B0B640 Port:To3/0 peer 5.5.5.1(2065) Flow-Control-Tx CW:20, Permitted:32; Rx CW:20, Granted:32 RIF = 06B0.0021.00F0
发出show dlsw circuit命令时,请注意流量控制。流量控制以每条电路为基础。这是两个DLSw对等体为电路分配可能传输的窗口时发生的通信。该值根据电路尝试通过的流量大小而增减。该值可能会根据云的拥塞而改变。
show dlsw circuit命令在IOS 11.1中更加广泛。现在,该命令允许您查看服务接入点(SAP)值或MAC值上的DLSw电路,这简化了故障排除时查找电路的过程。以下是输出示例:
ibu-7206#sh dlsw cir Index local addr(lsap) remote addr(dsap) state 1622193728 4001.68ff.0001(04) 4000.0000.0001(04) CONNECTED ibu-7206#sh dls cir det ? <0-4294967295> Circuit ID for a specific remote circuit mac-address Display all remote circuits using a specific MAC sap-value Display all remote circuits using a specific SAP <cr> ibu-7206#show dlsw circuit detail mac 4000.0000.0001 Index local addr(lsap) remote addr(dsap) state 1622193728 4001.68ff.0001(04) 4000.0000.0001(04) CONNECTED PCEP: 60A545B4 UCEP: 60B0B640 Port:To3/0 peer 5.5.5.1(2065) Flow-Control-Tx CW:20, Permitted:29; Rx CW:20, Granted:29 RIF = 06B0.0021.00F0 241-00 4000.0000.0001(04) 4001.68ff.0000(04) CONNECTED Port:To0 peer 5.5.7.1(2065) Flow-Control-Tx CW:20, Permitted:27; Rx CW:20, Granted:27 RIF = 0630.00F1.0010 s5e#sh cls DLU user: DLSWDLU SSap:0x63 type: llc0 class:0 DTE:0800.5a95.3a13 0800.5a0a.c51d F0 F0 T1 timer:0 T2 timer:0 Inact timer:0 max out:0 max in:0 retry count:0 XID retry:0 XID timer:0 I-Frame:0 DTE:4000.0000.0001 4001.68ff.0000 04 04 T1 timer:0 T2 timer:0 Inact timer:0 max out:0 max in:0 retry count:0 XID retry:0 XID timer:0 I-Frame:0 TokenRing0 DTE: 4000.0000.0001 4001.68ff.0000 04 04 state NORMAL V(S)=23, V(R)=23, Last N(R)=22, Local window=7, Remote Window=127 akmax=3, n2=8, Next timer in 1240 xid-retry timer 0/0 ack timer 1240/1000 p timer 0/1000 idle timer 10224/10000 rej timer 0/3200 busy timer 0/9600 akdelay timer 0/100 txQ count 0/200
默认情况下,DLSw在路由器上终止LLC会话(local-ack)。 此外,因为它会终止路由信息字段(RIF),因此还需要考虑其他设计问题。最常见的DLSw问题在本节中描述。
关于DLSw,需要记住的最重要的事情之一是RIF终止。这是一个问题,因为很容易在网络中形成主环路。此图演示了一个循环:
在这种情况下,由于DLSw会终止RIF,因此数据包将无限循环。这是因为,每当CUR帧从对等体发送到对等体时,接收对等体都会创建新的资源管理器(NO RIF)并发送它。介绍浏览器的步骤:
环路11中的3174发送一个资源管理器以到达主机。
SF1和网桥都会复制该帧。
SF1创建到LA1(其对等)的CUR帧以告知LA13174要到达主机。
SF2接收数据包并执行相同操作。
现在LA1和LA2创建资源管理器并将其发送到环路。
LA1和LA2收到彼此创建的资源管理器。
现在有一个困境,因为双方都认为3174是本地连接的。
每台路由器都有3174,包括本地和远程。
现在,它们分别向SF1和SF2发送Icanreach帧,从而产生从主机到3174的响应。
SF1和SF2都将explorer响应放在令牌环上,并且各自都知道主机的MAC地址可以本地和远程访问。
DLSw可达性可有效防止浏览器环路不确定。但是,使用未编号信息(UI)帧时,这可能会造成环路,从而将CPU和线路利用率提高到100%。
如果发生这种情况,请验证路由器中的虚拟环在云的每一端是否完全相同,如下图所示:
此网云两端的路由器具有完全相同的虚拟环号。这可确保其中一个路由器发送已经通过环路的探测器,然后路由器将其丢弃。当LA1为SF1收到的CUR帧生成一个探查器时,LA2会丢弃该探查器,因为探查器已经通过环1。在这种情况下,如果数据包指向同一环(即网络的LA端),路由器必须配置不同的网桥。
在同一场景的以太网版本中,必须禁用对等设备。下图中显示了一个示例:
由于以太网上的数据包没有RIF,路由器无法确定由LAN上的另一路由器创建的广播是来自另一路由器还是来自始发站。使用SNA时,数据包是本地源或远程的。由于令牌环环境中的探查器实际上同时具有源和目的MAC地址,因此它们不是以太网上的广播,而是从另一个站点到某个站点的定向帧。
上图中的内容按以下步骤说明:
从3174向主机发送一个资源管理器。
SF1和SF2都接受此浏览器。
SF1和SF2各自生成到另一侧LA1和LA2的CUR。
这些命令会生成一个由主机响应的探测器;由于它是单路由资源管理器,因此使用全路由资源管理器对其进行响应。
LA1和LA2都创建到SF1和SF2的CUR帧,为3174创建数据包。
SF1侦听到来自以太网的主机MAC地址,现在认为该主机位于本地LAN上。但在SF1的缓存中,主机ID正在从远程对等体响应。
这会强制路由器具有本地和远程主机,这意味着DLSw已断开。
备份对等体会在对等体丢失时向DLSw添加容错功能。这通常在核心环境中设置,以便当核心路由器发生故障时,另一个路由器可以接受发生故障的路由器。本部分中的配置和图表说明了备份对等体设置。
D3B |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3b ! ! source-bridge ring-group 2 dlsw local-peer peer-id 1.1.14.1 cost 2 promiscuous ! interface Loopback0 ip address 1.1.14.1 255.255.255.0 ! interface Serial0 ip address 1.1.6.2 255.255.255.0 bandwidth 125000 clockrate 125000 ! interface TokenRing0 ip address 1.1.5.1 255.255.255.0 ring-speed 16 source-bridge 3 1 2 source-bridge spanning ! |
D3C |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3c ! ! source-bridge ring-group 2 dlsw local-peer peer-id 1.1.12.1 cost 4 promiscuous ! interface Loopback0 ip address 1.1.12.1 255.255.255.0 ! interface Serial0 ip address 1.1.4.1 255.255.255.0 bandwidth 500000 clockrate 500000 ! interface TokenRing0 ip address 1.1.5.2 255.255.255.0 ring-speed 16 source-bridge 3 2 2 source-bridge spanning ! |
D3A |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3a ! ! source-bridge ring-group 2 dlsw local-peer peer-id 1.1.13.1 dlsw remote-peer 0 tcp 1.1.14.1 dlsw remote-peer 0 tcp 1.1.12.1 dlsw timer explorer-wait-time 2 ! interface Loopback0 ip address 1.1.13.1 255.255.255.0 ! interface Serial0 ip address 1.1.6.1 255.255.255.0 bandwidth 500000 ! interface Serial1 ip address 1.1.4.2 255.255.255.0 bandwidth 125000 ! interface TokenRing0 ip address 1.1.1.1 255.255.255.0 ring-speed 16 source-bridge 3 1 2 source-bridge spanning ! |
关于DLSw成本对等体,首先要记住的是两个对等体都处于活动状态。路由器只维护一个备份对等体。如果配置了linger,则一次可以有2个。以上图中所发生的情况如下:
D3a接收一个探查器,通过向每个远程对等体发送CUR帧来启动该过程。
D3B和D3C接收CUR帧。每台都生成一个探查器到主机,主机回复D3B和D3C。
D3B和D3C都使用Icanreach响应D3A。
D3A向终端站发送探测响应。
远程站启动dlsw电路,为SNA设置交换标识(XID),为NetBIOS设置异步平衡模式扩展(SABME)。
D3A选择可达性范围内的较低成本。
D3A中有一个计时器,可以定义它来告诉路由器等待所有探险者返回D3A需要多长时间。这样可以避免路由器使用第一个资源管理器时可能出现的开销问题。发出dlsw timer explorer-wait-time <seconds>命令以设置此计时器。
此外,在执行边界对等体时,DLSw仅向最低开销的对等体发送一个CUR帧。其行为与在不使用边界对等体的情况下执行成本时不同。
备份对等体的运作方式略有不同。您指定对等体中的备份对等体将为指定对等体进行备份。这意味着具有备份语句的对等体是备份对等体本身。
指定linger选项,以便当主对等体再次正常运行时,电路无法立即断开。如果主要对等体因您不想使用故障对等体而上下变化,则此功能很有用。
这演示了备份对等体的配置:
D3B |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3b ! ! source-bridge ring-group 2 dlsw local-peer peer-id 1.1.14.1 promiscuous ! interface Loopback0 ip address 1.1.14.1 255.255.255.0 ! interface Serial0 ip address 1.1.6.2 255.255.255.0 bandwidth 125000 clockrate 125000 ! interface TokenRing0 ip address 1.1.5.1 255.255.255.0 ring-speed 16 source-bridge 3 1 2 source-bridge spanning ! |
D3C |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3c ! ! source-bridge ring-group 2 dlsw local-peer peer-id 1.1.12.1 promiscuous ! interface Loopback0 ip address 1.1.12.1 255.255.255.0 ! interface Serial0 ip address 1.1.4.1 255.255.255.0 bandwidth 500000 clockrate 500000 ! interface TokenRing0 ip address 1.1.5.2 255.255.255.0 ring-speed 16 source-bridge 3 2 2 source-bridge spanning ! |
D3A |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3a ! ! source-bridge ring-group 2 dlsw local-peer peer-id 1.1.13.1 dlsw remote-peer 0 tcp 1.1.14.1 dlsw remote-peer 0 tcp 1.1.12.1 backup-peer 1.1.14.1 linger 5 dlsw timer explorer-wait-time 2 ! interface Loopback0 ip address 1.1.13.1 255.255.255.0 ! interface Serial0 ip address 1.1.6.1 255.255.255.0 bandwidth 500000 ! interface Serial1 ip address 1.1.4.2 255.255.255.0 bandwidth 125000 ! interface TokenRing0 ip address 1.1.1.1 255.255.255.0 ring-speed 16 source-bridge 3 1 2 source-bridge spanning ! |
通过发出show dlsw peer命令断开对等体的连接:
d3a#sh dls peer Peers: state pkts_rx pkts_tx type drops ckts TCP uptime TCP 1.1.14.1 CONNECT 464 1286 conf 0 0 0 03:17:02 TCP 1.1.12.1 DISCONN 0 0 conf 0 0 - -
边界对等体是重要的DLSw功能,因为它们解决了网络中的广播控制问题。此示例说明如何配置边界对等体,以及会话启动时会发生什么:
D3E |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3e ! ! dlsw local-peer peer-id 1.1.11.1 group 1 border promiscuous dlsw remote-peer 0 tcp 1.1.12.1 ! interface Loopback0 ip address 1.1.11.1 255.255.255.0 ! interface Serial0 ip address 1.1.3.1 255.255.255.0 ! interface Serial1 ip address 1.1.2.2 255.255.255.0 clockrate 500000 ! interface TokenRing0 ip address 10.17.1.189 255.255.255.0 ring-speed 16 ! router ospf 100 network 1.0.0.0 0.255.255.255 area 0 ! |
D3C |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3c ! ! dlsw local-peer peer-id 1.1.12.1 group 2 border promiscuous dlsw remote-peer 0 tcp 1.1.11.1 ! interface Loopback0 ip address 1.1.12.1 255.255.255.0 ! interface Serial0 ip address 1.1.4.1 255.255.255.0 no fair-queue clockrate 500000 ! interface Serial1 ip address 1.1.3.2 255.255.255.0 clockrate 500000 ! interface TokenRing0 no ip address shutdown ring-speed 16 ! router ospf 100 network 1.0.0.0 0.255.255.255 area 0 ! |
D3F |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3f ! ! source-bridge ring-group 2 dlsw local-peer peer-id 1.1.10.1 group 1 promiscuous dlsw remote-peer 0 tcp 1.1.11.1 dlsw peer-on-demand-defaults inactivity 1 ! interface Loopback0 ip address 1.1.10.1 255.255.255.0 ! interface Serial0 ip address 1.1.2.1 255.255.255.0 no fair-queue !! interface TokenRing0 ip address 1.1.1.1 255.255.255.0 ring-speed 16 source-bridge 1 1 2 source-bridge spanning ! router ospf 100 network 1.0.0.0 0.255.255.255 area 0 |
D3A |
---|
Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname d3a ! ! source-bridge ring-group 2 dlsw local-peer peer-id 1.1.13.1 group 2 promiscuous dlsw remote-peer 0 tcp 1.1.12.1 dlsw peer-on-demand-defaults inactivity 1 ! interface Loopback0 ip address 1.1.13.1 255.255.255.0 ! interface Serial0 ip address 1.1.4.2 255.255.255.0 ! interface TokenRing0 ip address 1.1.5.1 255.255.255.0 ring-speed 16 source-bridge 3 1 2 source-bridge spanning ! router ospf 100 network 1.0.0.0 0.255.255.255 area 0 ! |
配置边界对等体的第一部分是创建混杂对等体。混杂对等体接受来自尝试与此路由器打开对等体的任何DLSw路由器的连接。例如,在前面的图中,您希望D3A使用D3F打开对等体。如果没有边界对等体,则需要在网络中设置静态对等体。这工作正常,但当您有数百个站点,并且使用静态对等体时,路由器需要远程查找站点,则路由器必须向每个对等体发送CUR帧。这可能会导致大量开销。
另一方面,当您使用边界对等体时,该远程路由器只需向边界对等体发送一个请求。然后,通过组传播此请求,远程路由器会打开与另一个远程路由器的对等体以启动电路并建立连接。此过程如下图所示:
当D3A收到浏览器时,它会向D3C发送广播。D3C是D3A连接的边界对等体。
当D3C收到CUR帧时,它会将CUR帧发送到组中的所有对等体。D3C还将测试帧发送到已配置为这样做的任何本地接口,并将CUR帧发送到另一个组中的边界对等体。
D3E从另一组中的D3C接收CUR。然后,D3E通过向组中的所有对等体和任何本地接口发送CUR执行相同操作。
D3F接收CUR帧并向本地接口发送测试轮询。如果D3F的对等设备指向另一路由器,则它无法将CUR帧回应到另一路由器。
当D3F收到终端站的应答时,它会将Icanreach帧返回给D3E。
D3E将其发送到D3C,D3C将其转发到D3A。D3A向设备发送测试响应。
当终端站启动dlsw电路(SNA为XID,NetBIOS为SABME)时,D3A发起与D3F的对等连接并启动会话。
这是此过程中来自D3C和D3A的调试:
d3a# DLSW Received-ctlQ : CLSI Msg : TEST_STN.Ind dlen: 40 CSM: Received CLSI Msg : TEST_STN.Ind dlen: 40 from TokenRing0 CSM: smac c001.68ff.0000, dmac 4000.0000.0001, ssap 4 , dsap 0 DLSw: sending bcast to BP peer 1.1.12.1(2065)
检测到进入路由器的测试帧。然后,路由器生成一个通向D3C的CUR帧。D3C练习显示以下输出:
DLSw: Pak from peer 1.1.13.1(2065) with op DLX_MEMBER_TO_BP DLSw: recv_member_to_border() from peer 1.1.13.1(2065) DLSw: passing pak to core originally from 1.1.13.1 in group 2 %DLSWC-3-RECVSSP: SSP OP = 3( CUR ) -explorer from peer 1.1.13.1(2065) DLSw: Pak from peer 1.1.11.1(2065) with op DLX_RELAY_RSP DLSW: relaying pak to member 1.1.13.1 in group 2
当D3C收到来自D3A的数据包时,它会将该数据包转发到核心。稍后,您会看到从正在中继回D3A的远程对等设备发出的响应。然后,D3A在此调试中启动与远程对等体D3F的连接(按需对等):
DLSw: Pak from peer 1.1.12.1(2065) with op DLX_RELAY_RSP DLSW: creating a peer-on-demand for 1.1.10.1 DLSw: passing pak to core originally from 1.1.10.1 in group 1 %DLSWC-3-RECVSSP: SSP OP = 4( ICR ) -explorer from peer 1.1.10.1(2065) DISP Sent : CLSI Msg : TEST_STN.Rsp dlen: 44 DLSW Received-ctlQ : CLSI Msg : ID_STN.Ind dlen: 54 CSM: Received CLSI Msg : ID_STN.Ind dlen: 54 from TokenRing0 CSM: smac c001.68ff.0000, dmac 4000.0000.0001, ssap 4 , dsap 4 DLSw: new_ckt_from_clsi(): TokenRing0 4001.68ff.0000:4->4000.0000.0001:4 DLSw: action_a() attempting to connect peer 1.1.10.1(2065) DLSw: action_a(): Write pipe opened for peer 1.1.10.1(2065) DLSw: peer 1.1.10.1(2065), old state DISCONN, new state WAIT_RD DLSw: passive open 1.1.10.1(11003) -> 2065 DLSw: action_c(): for peer 1.1.10.1(2065) DLSw: peer 1.1.10.1(2065), old state WAIT_RD, new state CAP_EXG DLSw: CapExId Msg sent to peer 1.1.10.1(2065) DLSw: Recv CapExId Msg from peer 1.1.10.1(2065) DLSw: Pos CapExResp sent to peer 1.1.10.1(2065) DLSw: action_e(): for peer 1.1.10.1(2065) DLSw: Recv CapExPosRsp Msg from peer 1.1.10.1(2065) DLSw: action_e(): for peer 1.1.10.1(2065) DLSw: peer 1.1.10.1(2065), old state CAP_EXG, new state CONNECT DLSw: peer_act_on_capabilities() for peer 1.1.10.1(2065) DLSw: action_f(): for peer 1.1.10.1(2065) DLSw: closing read pipe tcp connection for peer 1.1.10.1(2065) DLSw: new_ckt_from_clsi(): TokenRing0 4001.68ff.0000:4->4000.0000.0001:4 DLSw: START-FSM (1474380): event:DLC-Id state:DISCONNECTED DLSw: core: dlsw_action_a() DISP Sent : CLSI Msg : REQ_OPNSTN.Req dlen: 106 DLSw: END-FSM (1474380): state:DISCONNECTED->LOCAL_RESOLVE
路由器从边界对等体收到中继的数据包后,会按需打开与远程对等体D3F(1.1.10.1)的对等体并启动电路。
任何DLSw网络的第一步都是启动对等体。没有对等体,就不会进行数据交换。RFC 1795中详细介绍了DLSw对等体之间的情况。
注意:如果通过DLSw与非思科设备通信,请使用DLSw。但是,在Cisco路由器之间使用DLSw+。
此输出来自发出debug dlsw peers并在两台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 dlsw core以观察会话故障并验证电路是否正在启动。
这是3174通信控制器通过DLSw+到主机的流程:
debug dlsw输出显示正确启动的会话的流:
ibu-7206#debug dlsw DLSw reachability debugging is on at event level for all protocol traffic DLSw peer debugging is on DLSw local circuit debugging is on DLSw core message debugging is on DLSw core state debugging is on DLSw core flow control debugging is on DLSw core xid debugging is on ibu-7206# DLSW Received-ctlQ : CLSI Msg : UDATA_STN.Ind dlen: 208 CSM: Received CLSI Msg : UDATA_STN.Ind dlen: 208 from TokenRing3/0 CSM: smac 8800.5a49.1e38, dmac c000.0000.0080, ssap F0, dsap F0 CSM: Received frame type NETBIOS DATAGRAM from 0800.5a49.1e38, To3/0 DLSw: peer_put_bcast() to non-grouped peer 5.5.5.1(2065) DLSw: Keepalive Request sent to peer 5.5.5.1(2065)) DLSw: Keepalive Response from peer 5.5.5.1(2065) DLSW Received-ctlQ : CLSI Msg : TEST_STN.Ind dlen: 41 CSM: Received CLSI Msg : TEST_STN.Ind dlen: 41 from TokenRing3/0 CSM: smac c001.68ff.0001, dmac 4000.0000.0001, ssap 4 , dsap 0
请注意,测试帧从LAN(本地)从站点c001.68ff.0001发往MAC地址4000.0000.0001。每个.Ind都表示数据包来自LAN。当路由器向LAN发送数据包时,您会看到.RSP。
DLSw: peer_put_bcast() to non-grouped peer 5.5.5.1(2065) %DLSWC-3-RECVSSP: SSP OP = 4( ICR ) -explorer from peer 5.5.5.1(2065) DISP Sent : CLSI Msg : TEST_STN.Rsp dlen: 44
现在您可以看到发送到远程对等设备的广播和初始信元速率(ICR)响应。这意味着远程路由器将站点识别为可达站点。TEST_STN.Rsp是向站点发送测试响应的路由器。
DLSW Received-ctlQ : CLSI Msg : ID_STN.Ind dlen: 54 CSM: Received CLSI Msg : ID_STN.Ind dlen: 54 from TokenRing3/0 CSM: smac c001.68ff.0001, dmac 4000.0000.0001, ssap 4 , dsap 4
站点收到测试响应后,会发送第一个XID。您可以使用IS_STN.Ind注意到这一点。现在,路由器必须暂时保留此帧,直到它清除两个DLSw路由器之间的几个详细信息。
DLSw: new_ckt_from_clsi(): TokenRing3/0 4001.68ff.0001:4->4000.0000.0001:4 DLSw: START-FSM (1622182940): event:DLC-Id state:DISCONNECTED DLSw: core: dlsw_action_a() DISP Sent : CLSI Msg : REQ_OPNSTN.Req dlen: 108 DLSw: END-FSM (1622182940): state:DISCONNECTED->LOCAL_RESOLVE DLSW Received-ctlQ : CLSI Msg : REQ_OPNSTN.Cfm CLS_OK dlen: 108 DLSw: START-FSM (1622182940): event:DLC-ReqOpnStn.Cnf state:LOCAL_RESOLVE DLSw: core: dlsw_action_b() CORE: Setting lf size to 30 %DLSWC-3-SENDSSP: SSP OP = 3(CUR) to peer 5.5.5.1(2065) success DLSw: END-FSM (1622182940): state:LOCAL_RESOLVE->CKT_START %DLSWC-3-RECVSSP: SSP OP = 4(ICR) from peer 5.5.5.1(2065) DLSw: 1622182940 recv FCI 0 - s:0 so:0 r:0 ro:0 DLSw: recv RWO DLSw: START-FSM (1622182940): event:WAN-ICR state:CKT_START DLSw: core: dlsw_action_e() DLSw: sent RWO DLSw: 1622182940 sent FCI 80 on ACK - s:20 so:1 r:20 ro:1 %DLSWC-3-SENDSSP: SSP OP = 5(ACK) to peer 5.5.5.1(2065) success DLSw: END-FSM (1622182940): state:CKT_START->CKT_ESTABLISHED
在这里,您可以看到两个对等体之间的DLSw的内部流。这些数据包对于每次会话启动都是正常的。第一阶段是从断开状态移动到CKT_ESTABLISHED状态。两台路由器都会为电路本身传输CUR帧。这称为是否可以到达电路设置(CURCS)。 当发起CURCS帧的对等体收到ICRCS帧时,它会发送确认并进入电路建立状态。现在,两台DLSw路由器都已准备好进行XID处理。
DLSw: START-FSM (1622182940): event:DLC-Id state:CKT_ESTABLISHED DLSw: core: dlsw_action_f() DLSw: 1622182940 sent FCA on XID %DLSWC-3-SENDSSP: SSP OP = 7(XID) to peer 5.5.5.1(2065) success DLSw: END-FSM (1622182940): state:CKT_ESTABLISHED->CKT_ESTABLISHED
路由器在将测试响应发送到站点后收到XID。它将此XID保存片刻,然后通过电路将其传输到对等体。这意味着您将数据包发送至/来自带有电路ID标记的对等设备。这样,DLSw就可以了解两个站点之间的活动。请记住,DLSw在云的两端终止逻辑链路控制,类型2(LLC2)。
%DLSWC-3-RECVSSP: SSP OP = 7(XID) from peer 5.5.5.1(2065) DLSw: 1622182940 recv FCA on XID - s:20 so:0 r:20 ro:0 DLSw: START-FSM (1622182940): event:WAN-XID state:CKT_ESTABLISHED DLSw: core: dlsw_action_g() DISP Sent : CLSI Msg : ID.Rsp dlen: 12 DLSw: END-FSM (1622182940): state:CKT_ESTABLISHED->CKT_ESTABLISHED DLSW Received-ctlQ : CLSI Msg : ID.Ind dlen: 39 DLSw: START-FSM (1622182940): event:DLC-Id state:CKT_ESTABLISHED DLSw: core: dlsw_action_f() %DLSWC-3-SENDSSP: SSP OP = 7(XID) to peer 5.5.5.1(2065) success DLSw: END-FSM (1622182940): state:CKT_ESTABLISHED->CKT_ESTABLISHED
您首先会注意到之前发送的第一个XID的响应。在ID.Rsp中,您会看到XID已发送到该站,该站向其响应ID.Ind。这是另一个发送到DLSw对等体的XID。
%DLSWC-3-RECVSSP: SSP OP = 8(CONQ) from peer 5.5.5.1(2065) DLSw: START-FSM (1622182940): event:WAN-CONQ state:CKT_ESTABLISHED
这一部分向我们展示了位于另一端的站点使用SABME(CONQ)响应XID。XID协商已终止,路由器已准备好启动会话。
DLSw: core: dlsw_action_i() DISP Sent : CLSI Msg : CONNECT.Req dlen: 16
然后,路由器在CONNECT.Req中将SABME发送到工作站。
DLSw: END-FSM (1622182940): state:CKT_ESTABLISHED->CONTACT_PENDING DLSW Received-ctlQ : CLSI Msg : CONNECT.Cfm CLS_OK dlen: 8 DLSw: START-FSM (1622182940): event:DLC-Connect.Cnf state:CONTACT_PENDING DLSw: core: dlsw_action_j() %DLSWC-3-SENDSSP: SSP OP = 9( CONR ) to peer 5.5.5.1(2065) success DISP Sent : CLSI Msg : FLOW.Req dlen: 0 DLSw: END-FSM (1622182940): state:CONTACT_PENDING->CONNECTED
然后,您会收到来自站点的未编号确认(UA),如CONNECT.Cfm消息所示。这通过CONR发送到远程对等设备。然后使用FLOW.Req启动相对速率(RR)过程。
%DLSWC-3-RECVSSP: SSP OP = 10(INFO) from peer 5.5.5.1(2065) DLSw: 1622182940 decr r - s:20 so:0 r:19 ro:0 DLSw: START-FSM (1622182940): event:WAN-INFO state:CONNECTED DLSw: core: dlsw_action_m() DISP Sent : CLSI Msg : DATA.Req dlen: 34 DLSw: END-FSM (1622182940): state:CONNECTED->CONNECTED DLSw: 1622182940 decr s - s:19 so:0 r:19 ro:0 DLSW Received-disp : CLSI Msg : DATA.Ind dlen: 35 DLSw: sent RWO DLSw: 1622182940 sent FCI 80 on INFO - s:19 so:0 r:39 ro:1 %DLSWC-3-SENDSSP: SSP OP = 10(INFO) to peer 5.5.5.1(2065) success %DLSWC-3-RECVSSP: SSP OP = 10(INFO) from peer 5.5.5.1(2065) DLSw: 1622182940 decr r - s:19 so:0 r:38 ro:1 DLSw: 1622182940 recv FCA on INFO - s:19 so:0 r:38 ro:0 DLSw: 1622182940 recv FCI 0 - s:19 so:0 r:38 ro:0 DLSw: recv RWO DLSw: START-FSM (1622182940): event:WAN-INFO state:CONNECTED DLSw: core: dlsw_action_m() DISP Sent : CLSI Msg : DATA.Req dlen: 28 DLSw: END-FSM (1622182940): state:CONNECTED->CONNECTED
DATA.Req表示路由器传输了I帧。Data.Ind表示路由器收到了一个I帧。您可以使用此信息确定通过DLSw路由器的数据包流。
DLSW Received-ctlQ : CLSI Msg : DISCONNECT.Ind dlen: 8 DLSw: START-FSM (1622182940): event:DLC-Disc.Ind state:CONNECTED
此部件包含DISCONNECT.Ind。.Ind表示来自LAN的数据包。在这种情况下,工作站发送DISCONNECT,导致路由器开始拆除电路。
DLSw: core: dlsw_action_n() %DLSWC-3-SENDSSP: SSP OP = 14( HLTQ ) to peer 5.5.5.1(2065) success DLSw: END-FSM (1622182940): state:CONNECTED->DISC_PENDING %DLSWC-3-RECVSSP: SSP OP = 15( HLTR ) from peer 5.5.5.1(2065) DLSw: START-FSM (1622182940): event:WAN-HLTR state:DISC_PENDING
路由器收到DISCONNECT后,会向远程对等设备发送HALT并等待响应。剩下的就是向站点发送UA并关闭电路,如下面的调试所示DISCONNECT.Rsp:
DLSw: core: dlsw_action_q() DISP Sent : CLSI Msg : DISCONNECT.Rsp dlen: 4 DISP Sent : CLSI Msg : CLOSE_STN.Req dlen: 4 DLSw: END-FSM (1622182940): state:DISC_PENDING->CLOSE_PEND DLSW Received-ctlQ : CLSI Msg : CLOSE_STN.Cfm CLS_OK dlen: 8 DLSw: START-FSM (1622182940): event:DLC-CloseStn.Cnf state:CLOSE_PEND DLSw: core: dlsw_action_y() DLSw: 1622182940 to dead queue DLSw: END-FSM (1622182940): state:CLOSE_PEND->DISCONNECTED
DLSw最后执行的操作是将电路放入死队列。从那里,指针被清理并准备好新电路。
DLSw以不同方式处理NetBIOS会话,但调试过程非常相似。
注意:请记住,XID不会流向NetBIOS站,并且DLSw路由器会交换NetBIOS名称查询系统交换机处理器(SSP)帧和NetBIOS名称已识别。这是主要区别。