DLSw(Data-link switching)는 WAN을 통한 LLC(Logical Link Control) 전송을 지원하는 IBM에서 구현한 표준입니다. DLSw는 좀 더 정교한 RSRB(remote source-route bridging)의 형태이며 브리징할 수 있는 것과 그렇지 않은 것에 대해 좀 더 구체적입니다. DLSw에서는 라우터가 유효한 LLC2 세션 또는 NetBIOS 세션을 전송해야 합니다.
Cisco 라우터는 RFC 1795(DSLw 표준) 및 2166(DLSw 버전 2)을 구현합니다. 또한 DLSw는 브로드캐스트 제어를 위해 더 많은 기능을 구현하며 다른 방법보다 WAN을 통해 더 적은 정보를 전송합니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
이 섹션에서는 중요한 DLSw 명령, DLSw 구성 명령 및 DLSw 문제 해결 명령에 대해 설명합니다.
DLSw 구성의 첫 번째 단계는 source-bridge ring-group 명령을 추가하는 것입니다. 이는 SRB(source-route bridging)를 수행하는 토큰 링 인터페이스를 연결합니다.
작업 | 명령을 사용합니다 |
---|---|
벨소리 그룹을 정의합니다. | source-bridge ring-group ring-group [virtual-mac-address] |
참고: 이더넷 인터페이스만 있는 라우터에서 DLSw를 수행할 경우 링 그룹을 설정할 필요가 없습니다.
다음 옵션은 로컬 피어 ID를 정의하는 것입니다. 같은 상자의 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 and 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(Dial-on-Demand Routing)용 DLSw를 구성할 때 0으로 설정됩니다.
passive - 이 명령은 라우터에서 피어 시작을 시작하지 않도록 라우터를 구성합니다.
promiscuous - 이 명령은 라우터가 피어 시작을 요청하는 원격 피어로부터의 연결을 수락함을 의미합니다. 이 명령은 피어 수가 많은 대규모 사이트에서 유용합니다. 코어 라우터의 모든 원격 피어를 정의할 필요가 없기 때문입니다.
biu-segment - 이 명령은 DLSw가 SNA(System Network Architecture) 레이어에서 세그먼트 크기를 더 크게 제어하도록 허용하는 DLSw에 대한 옵션입니다. 이 명령을 사용하면 엔드 스테이션에서 더 많은 양의 데이터를 전송할 수 있다고 판단할 수 있습니다.
로컬 피어를 정의한 후 원격 피어를 정의합니다. 다음과 같은 세 가지 피어 유형을 정의할 수 있습니다. TCP, FST(Fast-Sequenced Transport), HDLC(Direct High-Level Link Control) 및 프레임 릴레이 다음은 원격 피어를 정의하기 위해 실행되는 명령에 대한 설명입니다.
작업 | 명령을 사용합니다 |
---|---|
프레임 릴레이를 통한 직접 캡슐화 | 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] [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] |
FST | dlsw remote-peer list-number fst ip-address [backup-peer ip-address] [bytes-netbios-out bytes-list-name] [cost 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-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] [no-llc minutes] [priority] [tcp-queue-max size] [timeout[v2-single-tcp] |
다음은 명령 옵션에 대한 설명입니다.
backup peer— 이 명령 옵션은 첫 번째 피어가 실패할 경우 이 피어를 백업하는 피어를 정의합니다.
cost - 이 명령 옵션은 이 피어의 비용을 정의합니다. 이 명령은 대상에 대한 경로가 여러 개이고 선호하는 지원 시나리오가 필요한 경우에 사용됩니다.
dest-mac, dynamic, no-llc and inactivity — 이 명령 옵션은 이 문서의 Backup/Cost Peer 섹션에서 설명합니다.
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(Network Address Translation) 환경에서 사용하도록 설계되었습니다. 각 피어는 각 피어가 TCP 연결 중 하나를 해제하지 못하도록 더 높은 IP 주소를 가지고 있다고 생각합니다.
다음은 DLSw에 사용되는 타이머에 대한 설명입니다.
매개변수 | 설명 |
---|---|
icannotreach-block-time | 연결할 수 없는 리소스의 캐시 수명. 이 기간 동안 해당 리소스에 대한 검색이 차단됩니다. 유효한 범위는 1~86400초입니다. 기본값은 0(비활성화됨)입니다 |
netbios 캐시 시간 초과 | 로컬 및 원격 연결 캐시 모두에 대한 NetBIOS 이름 위치의 캐시 수명입니다. 유효한 범위는 1~86400초입니다. 기본값은 16분입니다. |
netbios 탐색기 시간 초과 | 리소스 연결 불가능(LAN 및 WAN)으로 표시하기 전에 IOS® 소프트웨어가 탐색기 응답을 기다리는 시간. 유효한 범위는 1~86400초입니다. 기본값은 6초입니다. |
netbios 재시도 간격 | NetBIOS 탐색기 재시도 간격(LAN에만 해당) 유효한 범위는 1~86400초입니다. 기본값은 1초입니다. |
netbios 검증 간격 | 캐시 항목을 만든 후 오래된 항목으로 표시된 시점 사이의 간격입니다. 부실 캐시 엔트리에 대한 검색 요청이 들어오면 직접 검증 쿼리가 전송되어 여전히 존재하는지를 확인합니다. 유효한 범위는 1~86400초입니다. 기본값은 4분입니다. |
sna 캐시 시간 초과 | SNA MAC/SAP(서비스 액세스 포인트) 위치 캐시 항목이 삭제되기 전에 존재하는 시간(로컬 및 원격)입니다. 유효한 범위는 1~86400초입니다. 기본값은 16분입니다. |
sna 탐색기 시간 초과 | 리소스 연결 불가능(LAN 및 WAN)으로 표시하기 전에 IOS 소프트웨어가 탐색기 응답을 기다리는 시간. 유효한 범위는 1~86400초입니다. 기본값은 3분입니다. |
sna-retry-interval | SNA 탐색기 재시도 간격(LAN). 유효한 범위는 1~86400초입니다. 기본값은 30초입니다. |
sna-verify-간격 | 캐시 항목을 만든 후 오래된 항목으로 표시된 시점 사이의 간격입니다. 부실 캐시 엔트리에 대한 검색 요청이 들어오면 직접 검증 쿼리가 전송되어 여전히 존재함을 확인합니다. 유효한 범위는 1~86400초입니다. 기본값은 4분입니다. |
탐색기 대기 시간 | 사용할 피어를 결정하기 전에 라우터가 모든 탐색기가 돌아올 때까지 대기하는 시간(초)입니다. |
이러한 매개변수는 매우 유용합니다. 예를 들어, 라우터가 탐색기를 전송하는 간격을 초 단위로 변경할 수 있습니다. 이렇게 하면 탐색자 간의 시간을 늘려 네트워크에 있는 탐색자의 수를 줄일 수 있습니다. 또한 라우터가 캐시 항목을 시간 초과하는 값을 변경할 수 있습니다.
다음은 추가로 중요한 DLSw 명령입니다.
dlsw allroute-sna/netbios— 이 명령을 실행하여 DLSw의 동작을 변경하여 단일 경로 탐색기 대신 모든 경로 탐색기가 사용됩니다.
dlsw bridge-group — 투명하게 브리지된 도메인을 DLSw와 연결하기 위해 이 명령을 실행합니다. 이더넷으로 NetBIOS를 구성할 때 광범위하게 사용됩니다.
dlsw explorerrq-depth — 이 명령은 DLSw 탐색기 큐 값을 설정합니다. 이 명령은 일반 source-bridge explorer-queue 명령 이후에 실행되지만 처리해야 하는 모든 CUR(CANUREACH) 프레임을 참조합니다. 이 명령은 source-bridge explorerq-depth 명령에서 다루지 않지만 이더넷의 패킷을 다루기 때문에 중요합니다. 이 명령에 대한 자세한 내용은 Understanding and Troubleshooting Source-Route Bridging을 참조하십시오.
이 섹션에서 설명하는 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 경로 캐시 명령이 없습니다.
로우엔드 시스템에서 매지 링 버퍼가 가득 찼습니다. 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)
상태 필드는 show dlsw reach 명령의 가장 중요한 부분입니다. 가능한 상태는 다음과 같습니다.
FOUND - 라우터가 디바이스를 찾았습니다.
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는 라우터(local-ack)에서 LLC 세션을 종료합니다. 또한 RIF(Routing Information Field)를 종료하므로 다른 설계 문제도 고려해야 합니다. 가장 일반적인 DLSw 문제는 이 섹션에서 설명합니다.
DLSw에 대해 기억해야 할 가장 중요한 사항 중 하나는 RIF 종료입니다. 이는 네트워크에 주요 루프를 쉽게 생성할 수 있기 때문에 문제가 됩니다. 이 다이어그램은 루프를 보여 줍니다.
이 경우 DLSw는 RIF를 종료하므로 패킷이 무한정 이동합니다. 이는 CUR 프레임이 피어에서 피어로 전송될 때마다 수신 피어가 새 탐색기(NO RIF)를 만들어 전송하기 때문입니다. Explorer의 단계는 다음과 같습니다.
링 11의 3174는 호스트에 도달하기 위해 탐색기를 전송합니다.
SF1과 브리지가 모두 프레임을 복사합니다.
SF1은 LA1(그 피어)에 CUR 프레임을 생성하여 LA1에 3174가 호스트에 도달하기를 원한다고 알립니다.
SF2는 패킷을 수신하고 동일한 작업을 수행합니다.
이제 LA1과 LA2에서 익스플로러를 만들어서 링으로 보냅니다.
LA1과 LA2는 서로 작성한 탐색기를 받습니다.
이제 딜레마가 있습니다. 왜냐하면 3174는 지역적으로 붙어 있다고 각 측이 믿기 때문입니다.
각 라우터에는 로컬 및 원격 모두 3174가 있습니다.
이제 Icanreach 프레임을 SF1 및 SF2에 각각 전송합니다. 그러면 호스트에서 3174에 대한 응답이 생성됩니다.
SF1과 SF2 모두 토큰 링에 탐색기 응답을 입력하고 각각 호스트의 MAC 주소가 로컬 및 원격으로 연결 가능한 것을 확인합니다.
DLSw 연결성은 익스플로러 루핑에 효과적으로 대응합니다. 그러나 번호가 지정되지 않은 정보(UI) 프레임을 사용하면 루프가 발생한 다음 CPU 및 라인 사용률을 최대 100%까지 높일 수 있습니다.
이 경우 다음 다이어그램에 표시된 대로 라우터의 가상 링이 클라우드의 각 면에서 정확히 동일한지 확인합니다.
이 클라우드의 양쪽 라우터에는 정확히 동일한 가상 링 번호가 있습니다. 이렇게 하면 라우터 중 하나가 이미 링을 통과한 탐색기를 전송한 다음 라우터가 이를 삭제합니다. LA1이 SF1에서 수신한 CUR 프레임에 대한 탐색기를 생성하면 탐색기가 이미 링 1을 통과했기 때문에 LA2가 이를 삭제합니다. 이 시나리오에서는 패킷이 동일한 링으로 향할 경우, 즉 네트워크의 LA 측에서 다른 브리지가 구성되어야 합니다.
동일한 시나리오의 이더넷 버전에서는 피어를 비활성화해야 합니다. 이 다이어그램에는 예가 나와 있습니다.
이더넷의 패킷에는 RIF가 없기 때문에 라우터는 LAN의 다른 라우터가 생성한 브로드캐스트가 다른 라우터에서 보낸 것인지 아니면 원래 스테이션에서 보낸 것인지를 확인할 수 없습니다. SNA를 사용하면 패킷이 로컬에서 시작되거나 원격에서 시작됩니다. 토큰 링 환경의 탐색기는 소스 및 목적지 MAC 주소를 모두 가지고 있으므로, 이더넷에서 브로드캐스트가 아니라 다른 스테이션에서 스테이션으로 직접 연결되는 프레임입니다.
위 다이어그램에서 발생하는 내용은 다음 단계에서 설명합니다.
탐색기는 3174에서 호스트로 전송됩니다.
이 탐색기는 SF1 및 SF2에서 모두 허용됩니다.
SF1과 SF2는 각각 타변(LA1, LA2)에 CUR을 발생시킨다.
이렇게 하면 호스트가 응답하는 탐색기가 생성됩니다. 단일 경로 탐색기이므로 모든 경로 탐색기로 응답합니다.
LA1 및 LA2 모두 SF1 및 SF2에 대한 CUR 프레임을 생성하며, 이는 3174에 대한 패킷을 생성합니다.
SF1은 이더넷에서 오는 호스트의 MAC 주소를 듣고 로컬 LAN에 호스트가 있다고 판단합니다. 그러나 SF1의 캐시에서 HOST ID는 원격 피어에서 응답합니다.
이렇게 하면 라우터가 로컬 및 원격 모두에서 HOST를 갖게 되며, 이는 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가 구성된 경우 한 번에 두 개를 가질 수 있습니다. 이는 이전 다이어그램에서 발생한 것입니다.
D3a는 탐색기를 수신하고 각 원격 피어에 CUR 프레임을 전송하여 프로세스를 시작합니다.
D3B 및 D3C는 CUR 프레임을 수신합니다. 각각은 호스트에 대한 탐색기를 생성하며, 이 탐색기는 D3B 및 D3C 모두에 다시 응답합니다.
D3B와 D3C 모두 Icanreach를 통해 D3A에 응답합니다.
D3A는 Explorer 응답을 엔드 스테이션으로 보냅니다.
원격 스테이션은 SNA에 대해 XID(exchange identification)를 사용하여 dlsw 회로를 시작하고 NetBIOS에 대해 SABME(asynchronous balanced mode extended)를 설정합니다.
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로 전송하고 D3A로 전달합니다. D3A가 디바이스에 테스트 응답을 보냅니다.
엔드 스테이션이 SNA의 경우 XID, NetBIOS의 경우 SABME를 사용하여 dlsw 회로를 시작하면 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 네트워크의 첫 번째 단계는 피어를 가동하는 것입니다. 피어가 없으면 데이터 교환이 이루어지지 않습니다. DLSw 피어 간에 발생하는 자세한 내용은 RFC 1795에서 대부분 설명합니다.
참고: DLSw를 통해 타사 장비와 통신하는 경우 DLSw를 사용합니다. 그러나 Cisco 라우터 간에는 DLSw+를 사용합니다.
이 출력은 debug dlsw 피어를 실행하고 두 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를 실행하여 세션 오류를 확인하고 회선이 시작되는지 확인합니다.
다음은 DLSw+를 통해 3174 통신 컨트롤러가 호스트로 전송되는 흐름입니다.
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(can u reach circuit setup)라고 합니다. 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는 클라우드의 양쪽에서 Logical Link Control, type 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에서는 스테이션이 ID.Ind로 응답한 스테이션에 XID가 전송된 것을 확인할 수 있습니다. 이는 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
이 부분은 반대편 정거장이 XID에 SABME(CONQ)로 응답한 것을 보여준다. XID 협상이 종료되었으며 라우터가 세션을 시작할 준비가 되었습니다.
DLSw: core: dlsw_action_i() DISP Sent : CLSI Msg : CONNECT.Req dlen: 16
그런 다음 라우터는 SABME를 CONNECT.Req의 스테이션으로 전송합니다.
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
그런 다음 스테이션에서 CONNECT.Cfm 메시지에 표시된 UA(Unnumbered Acknowledgement)를 수신합니다. 이는 CONR을 통해 원격 피어로 전송됩니다. 그런 다음 RR(상대 속도) 프로세스가 FLOW.Req로 시작됩니다.
%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가 수행하는 마지막 작업은 회로를 dead 큐에 넣는 것입니다. 여기서부터 포인터가 정리되어 새로운 회로를 준비합니다.
DLSw는 NetBIOS 세션을 다르게 처리하지만 디버깅은 매우 유사합니다.
참고: NetBIOS 스테이션에 대해 XID가 흐르지 않으며 DLSw 라우터가 NetBIOS SSP(Name Query System Switch Processor) 프레임을 교환하고 NetBIOS 이름이 인식된다는 점에 유의하십시오. 이것이 주된 차이점입니다.