IP : シリアル トンネル(STUN)

シリアルトネリング (STUN) の設定とトラブルシューティング

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2005 年 9 月 9 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

Serial Tunneling(STUN; シリアル トンネリング)とは、SDLC フレームを WAN 内でトンネリングすることです。 従来のシステム ネットワーク アーキテクチャ(SNA)の分野では、リモート コントローラは POTS(一般電話サービス)または専用回線に接続された一連のモデムを介してフロントエンド プロセッサ(FEP)に接続されます。

はじめに

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

前提条件

STUN SDLC が最も一般的に使用されているのは、次の 2 つの環境です。 FEP とリモート コントローラ、AS/400 とリモート コントローラを接続。

使用するコンポーネント

Cisco IOS を使用する STUN のトラブルシューティングか。 リモートコントローラ仕様問題へのソフトウェア コマンド、また AS/400。

背景説明

ネットワークの統合が進みリモート オフィスに異なるサービス(NetBIOS、IP、IPX など)が必要になるにつれ、メンテナンスとコストの観点から、すべてのサービスを単一のデバイスに統合することが当然なこととなりました。 たとえば、次の図では Windows ステーションの NetBIOS トラフィックで 3270 端末をホストに統合しています。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-3.gif

STUN では IP を使用して、Synchronous Data Link Control(SDLC)フレームを WAN またはその他のメディアのネットワーク経由で転送することができます。 これにより、専用線や POTS を新たに準備する必要がなくなります。 Cisco ルータの SDLC 機能の 1 つに、メディア変換機能があります。 メディア変換では、ルータがセッションを SDLC から論理リンク制御タイプ 2(LLC2)に変換します。 これについては、「SDLC から LLC へのネットワークメディア変換の説明とトラブルシューティング」で詳しく説明しています。

STUN には 2 種類の設定があります。 STUN Basic と STUN SDLC の 2 つです。 STUN Basic は、High-Level Data Link Control(HDLC; ハイレベル データ リンク コントロール)から派生するタイプのフレームに使用され、STUN SDLC は SDLC だけのフレームに使用されます。 SDLC に STUN Basic を使用することも可能ですが、ローカル ACK などの機能は使用できません。 SDLC のトラブルシューティングには、一般に STUN Basic を使用します。これは、ルータに SDLC 固有のパラメータを設定する必要がないからです。

STUN の設定

STUN 設定(Basic または SDLC)の最初のコマンドは、stun peer-name コマンドです。 このコマンドを実行しないと、ルータで次の設定手順に進めません。

タスク コマンド
特定の IP アドレスに対して STUN を有効化する。
stun peer-name ip-address

ルータから有効な IP アドレスを選択する必要があります。 この IP アドレスは、ルータ内で最も信頼できるインターフェイスにする必要があります。 最適な結果を得るには、ループバック インターフェイスを使用してルータを設定してください。 (ループバック インターフェイスの設定方法については、シスコの文書を参照してください)。

次に、使用する STUN モードを決定します。 STUN Basic では、フレームの開始とデリミタ([7e])を探して、相手側にフレームが転送されます。 この動作モードでは、STUN はセッションの特定の状態や詳細な SDLC 情報(ポーリング アドレスなど)を考慮しません。 もう 1 つのモードは STUN SDLC です。 ローカル ACK やマルチポイントを使用する場合に特に言えることですが、このモードではルータに、より詳細な内容についての決定が要求されます。 次の表に、STUN モードの指定に使用するコマンドを示します。

タスク コマンド
基本プロトコル グループを指定し、グループ番号を割り当てる。
stun protocol-group group-number basic 
SDLC プロトコル グループを指定し、グループ番号を割り当てる。
stun protocol-group group-number sdlc

次に、シリアル インターフェイスを STUN 用に設定します。 インターフェイスで選択するグループは、protocol-group で定義したグループに一致している必要があります。 仮想マルチポイントの場合、各仮想マルチポイントに別々の番号を使用して stun protocol-group(STUN プロトコル グループ)を作成する必要があります。 sdlc-tg を設定するのでない限り、常に、stun-group ごとにセカンダリ インターフェイスを 1 つだけ設定してください。 「STUN プロトコルグループ」を参照してください。

タスク コマンド
シリアル インターフェイスで STUN 機能を有効化する。
encapsulation stun
インターフェイスを前の手順で定義した STUN グループに入れる。
stun group group-number

この設定は、Cisco 7000、Cisco 7500、またはネットワークの実働時に CxBUS、CyBUS を使用するその他のルータでは行わないでください。 この設定は、ルータのインターフェイスの MTU を 2,032 バイトに変更します。これにより CBUS バッファが分割され、ルータのすべてのインターフェイスが不安定になります(リセット)。 トークン リング環境では、トークン リングが最大 16 秒間ダウンする可能性があることを意味します。 また、Cisco 7000 は通常コアの中心となるため、このような問題は多くのユーザに影響を及ぼします。

STUN 設定の次の手順は、stun route 文を追加することです。 この定義には、stun route all または stun route [address] を使用します。 次の表に、設定オプションを示します。

タスク コマンド
この IP アドレスへのすべての TCP トラフィックを転送する。
stun route all tcp ip-address

TCP カプセル化を指定する。
stun route address address-number tcp ip-address [priority] [tcp-queue-max]

上記のコマンドは TCP カプセル化ピア用のコマンドです。 直接的なカプセル化を STUN に設定することもできますが、この設定はあまり行われません。 すべての設定の中で最も頻繁に使用されるのが、STUN のローカル ACK の設定です。

次に、このコマンドのパラメータついて説明します。

  • stun route 文の priority オプションは、2 つの STUN ピア間に複数の TCP パイプを作成し、カスタム キューイングまたはプライオリティ キューイングを使用したプライオリティ構造を作成するのに使用します。

  • tcp_queue_max オプションは、2 つの STUN ピア間の TCP キューを増減するのに使用します。 これは、ピア間の TCP セッションの信頼性があまり高くなく、ピア間の問題点を特定する必要がある場合に便利です。 トラフィックの多い STUN FEP 間では使用されます。

次の表に、ローカル ACK を行う STUN の設定コマンドを示します。

タスク コマンド
STUN 対応ルータに SDLC プライマリ ロールを割り当てる。
stun sdlc-role primary
STUN 対応ルータに SDLC セカンダリ ロールを割り当てる。
stun sdlc-role secondary

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-2.gif

これらのコマンドは、STUN 設定の「ロール」を定義します。 上の図のホストの場合、ルータは primary に設定されます。つまり、セッションを開始するのはホストです。 3174 は secondary に設定されます。 STUN Basic を使用している場合、セッションの開始側を把握する必要がないためロールの定義は不要です。 ただし、ローカル ACK には回線自体の詳細が必要になるため、ロールを定義することでルータにセッション開始のフローを知らせます。ルータはこれを確認してから、ローカル ACK に移る必要があります。

AS/400 STUN 環境でローカル ACK を行う場合、ロールを(回線の説明で)*neg ではなく *pri に設定することが非常に重要です。 これは、純粋な環境(直接モデム接続)では、AS/400 でロールのネゴシエーションが可能であるからです。 目的のロールを回線にコーディングすることにより、ルータには確実に AS/400 とは逆のロールが割り当てられます。 通常は、AS/400 にセッションを開始させる必要があります(回線の「vary on」を設定)。 回線の設定に進み、この設定を *pri に対して行います。 AS/400 により、次のような回線デスクリプションが表示されます。 これは、回線デスクリプションの作成またはコピー中にだけ設定できます。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-as400-3.gif

次の表に、ローカル ACK を行う STUN の設定コマンドを示します。

タスク コマンド
TCP カプセル化を使用して SDLC ローカル ACK を確立する。
stun route address address-number tcp ip-address [local-ack] [priority] [tcp-queue-max]

ここで重要となるパラメータは、local-ack を指定した stun route [address] です。 STUN local-ack は、TCP カプセル化とフレームリレー カプセル化(RFC 1490 を使用)でのみ行えます。

RSRB と DLSw での場合と同様、TCP ピア間の STUN フローのキープアライブによってピア接続が up になっていることを確認します。 キープアライブの消失によりピアがダウンやアップする場合は、キープアライブの調節を行います。 次の表に、キープアライブを設定する STUN コマンドを示します。

タスク コマンド
切断されたリモート ピアの検出を有効化する。
stun remote-peer-keepalive seconds

ピアの「ダウン」を宣言するまでに、ピア接続を試行する回数 stun keepalive-count quantity

SDLC Basic の設定例

STUN Basic は STUN の最もシンプルな構成です。 このモードでは、ルータが片方の側から受信するすべてのパケットが次のルータに転送されます。 以下の図に、STUN Basic の設定を示します。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-1.gif

このダイアグラムのルータは、次のように設定されています。

4700 2522
Current configuration:
!
version 10.3
service udp-small-servers
service tcp-small-servers
!
hostname s5e
!
stun peer-name 10.17.5.1
stun protocol-group 1 basic
!
interface Loopback1
 no ip address
!
interface Serial0
 ip address 10.17.5.1 255.255.255.0
 clockrate 2000000
!
interface Serial1
 no ip address
 encapsulation stun
 nrzi-encoding
 clockrate 56000
 stun group 1
 stun route all tcp 10.17.5.2
!

Current configuration:
!
version 11.0
no service pad
service udp-small-servers
service tcp-small-servers
!
hostname rick
!
stun peer-name 10.17.5.2
stun protocol-group 1 basic
!
interface Serial0
 ip address 10.17.5.2 255.255.255.0
 no fair-queue
 no cdp enable
!
interface Serial1
 ip address 10.17.92.4 255.255.255.0
 no fair-queue
 no cdp enable
!
interface Serial2
 no ip address
 encapsulation stun
 nrzi-encoding
 clockrate 56000
 stun group 1
 stun route all tcp 10.17.5.1

STUN SDLC の設定例

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-1.gif

4700 2522
Current configuration:
!
version 10.3
service udp-small-servers
service tcp-small-servers
!
hostname s5e
!
stun peer-name 10.17.5.1
stun protocol-group 1 sdlc
!
interface Loopback1
 no ip address
!
interface Serial0
 ip address 10.17.5.1 255.255.255.0
 clockrate 2000000
!
interface Serial1
 no ip address
 encapsulation stun
 nrzi-encoding
 clockrate 56000
 stun group 1
 stun sdlc-role secondary
 sdlc address DD
 stun route address DD tcp 10.17.5.2
!

Current configuration:
!
version 11.0
no service pad
service udp-small-servers
service tcp-small-servers
!
hostname rick
!
stun peer-name 10.17.5.2
stun protocol-group 1 sdlc
!
interface Serial0
 ip address 10.17.5.2 255.255.255.0
 no fair-queue
 no cdp enable
!
interface Serial1
 ip address 10.17.92.4 255.255.255.0
 no fair-queue
 no cdp enable
!
interface Serial2
 no ip address
 encapsulation stun
 nrzi-encoding
 clockrate 56000
 stun group 1
 stun sdlc-role primary
 sdlc address DD
 stun route address DD tcp 10.17.5.1

STUN マルチポイント(local-ack 使用)の設定例

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-4.gif

4700 2522
hostname s5e
!
!
!
stun peer-name 10.17.5.1
stun protocol-group 1 sdlc
stun remote-peer-keepalive 5
!
interface Serial0
 ip address 10.17.5.1 255.255.255.0
 clockrate 2000000
!
interface Serial1
 no ip address
 encapsulation stun
 idle-character marks
 nrzi-encoding
 clockrate 56000
 stun group 1
 stun sdlc-role secondary
 sdlc K 1
 sdlc address 01
 sdlc address DD
 stun route address 1 tcp 10.17.5.2 local-ack
 stun route address DD tcp 10.17.5.2 local-ack
!

hostname rick
!
!

!
stun peer-name 10.17.5.2
stun protocol-group 1 sdlc
stun remote-peer-keepalive 5
!
interface Serial0
 ip address 10.17.5.2 255.255.255.0
 no fair-queue
 no cdp enable
!
interface Serial2
 no ip address
 encapsulation stun
 nrzi-encoding
 clockrate 56000
 stun group 1
 stun sdlc-role primary
 sdlc address DD
 stun route address DD tcp 10.17.5.1 local-ack
!
interface Serial3
 no ip address
 encapsulation stun
 clockrate 19200
 stun group 1
 stun sdlc-role primary
 sdlc address 01
 stun route address 1 tcp 10.17.5.1 local-ack

AS400 ルータで sdlc k1 およびアイドル文字のマークを使用しています。 詳細については、「フィールド アラート」のセクションを参照してください。

show コマンド

STUN で使用する最初の show コマンドは show stun です。 このコマンドの出力は、STUN Basic を使用している場合と、local-ack を設定した STUN SDLC を使用している場合とでは異なります。 以下に示す STUN Basic の部分には、送受信されたパケットしか示されていません。

rick#sh stun
This peer: 10.17.5.2
 
 *Serial2  (group 1 [basic])
                              state       rx_pkts   tx_pkts     drops
all     TCP 10.17.5.1        closed           5729      5718         0

以下に示す local-ack を設定した STUN SDLC の部分からは、セッションが既知になったことから詳細な情報を入手できます。

rick#sh stun
This peer: 10.17.5.2
 
 *Serial2  (group 1 [sdlc])
                              state       rx_pkts   tx_pkts     drops    poll
DD     TCP 10.17.5.1        open       *      182        94         0
 
 
  Serial3  (group 1 [sdlc])
                              state       rx_pkts   tx_pkts     drops    poll
1     TCP 10.17.5.1        open       *      209        89         0
 
SDLC Local Acknowledgement:
 
 *Serial2  (group 1 [sdlc])
                                 slack_state conn disc iframe_s iframe_r
DD     TCP 10.17.5.1                  Active    1    0        0        0
 
  Serial3  (group 1 [sdlc])
                                 slack_state conn disc iframe_s iframe_r
1     TCP 10.17.5.1                  Active    1    0        3        3

show interface コマンドを実行すると、STUN Basic または STUN SDLC のどちらを使用しているかに応じて、それぞれ異なる情報が表示されます。 STUN Basic の show interface の実行結果は、通常のシリアル回線の場合と同じです。 show interface 出力の各エントリについての説明は、シスコの文書を参照してください。以下に、サンプル出力を示します。

Serial2 is up, line protocol is up
  Hardware is CD2430 in sync mode
  MTU 1500 bytes, BW 115 Kbit, DLY 20000 usec, rely 255/255, load 1/255
  Encapsulation STUN, loopback not set
  Last input 1:10:40, output 0:18:12, output hang never
  Last clearing of "show interface" counters 0:21:49
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     4 packets output, 312 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets, 0 restarts
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up

ローカル ACK を行う STUN SDLC での show interface の実行結果には、さらに多くの情報が含まれます。 次に、local-ack を設定したシリアル インターフェイスの場合のサンプル出力を示します。

Serial3 is up, line protocol is up
  Hardware is CD2430 in sync mode
  MTU 1500 bytes, BW 115 Kbit, DLY 20000 usec, rely 255/255, load 1/255
  Encapsulation STUN, loopback not set
    Router link station role: PRIMARY (DCE)
    Router link station metrics:
      slow-poll 10 seconds
      T1 (reply time out) 3000 milliseconds
      N1 (max frame size) 12016 bits
      N2 (retry count) 20
      poll-pause-timer 10 milliseconds
      poll-limit-value 1
      k (windowsize) 7
      modulo 8
  sdlc addr 01 state is CONNECT
      VS 1, VR 0, Remote VR 1, Current retransmit count 0
      Hold queue: 0/200 IFRAMEs 16/12
      TESTs 0/0 XIDs 0/0, DMs 0/0 FRMRs 0/0
      RNRs 316/0 SNRMs 2/0 DISC/RDs 1/0 REJs 0/0
      Poll: clear, Poll count: 0, ready for poll, chain: 01/01
  Last input 0:00:00, output 0:00:00, output hang never
  Last clearing of "show interface" counters 1d06
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 0 bits/sec, 1 packets/sec
  5 minute output rate 0 bits/sec, 1 packets/sec
     332226 packets input, 664647 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     332227 packets output, 665220 bytes, 0 underruns
     0 output errors, 0 collisions, 3444 interface resets, 0 restarts
     0 output buffer failures, 0 output buffers swapped out
     5 carrier transitions
     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up

この出力の各部分について説明します。

  • MTU:インターフェイスで使用するバッファの物理サイズ。

  • PRIMARY(DCE):これが回線上のポーリング ステーションであり、クロックを提供することを示します。 実際のプライマリに接続されている側を調べているとしたら、この出力は SECONDARY となるはずです。

  • N1:ルータのシリアル インターフェイスで対応できる SDLC フレームの使用可能なサイズの値。

  • T1:回線をタイムアウトにする前に、ポーリングに対する応答を待機する時間。

  • poll-pause-timer:ポーリング間のデルタ時間(ミリ秒)。

  • k:P/F 間で未処理のまま保持できるウィンドウ サイズまたはフレーム数。

  • state:次のいずれかの値を取る、現在のセッション状態。

    • 切断

    • 接続済み

    • THEMBUSY(通常、ルータが RNR を受信している場合に設定される)

    • USBUSY(通常、ネットワーク側に応答を返せない場合に設定される)

  • RNRs:送信または受信した RNR の数。

  • DTR/RTS:ほとんどの半二重マルチドロップ環境で使用される回線。 STUN 環境のデバッグで、コントローラの場所を見ている場合は RTS に注目してください。 DTR および CTS の負荷が高い間、断続的にダウンする場合、それは DTE が半二重になっているためです。

最後に紹介する STUN の重要な show コマンドは、show tcp です。このコマンドは、ピア間の TCP セッションに関する情報を表示します。 次に出力例を示します。

Stand-alone TCP connection from host 10.17.5.1
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 10.17.5.2, Local port: 1994
Foreign host: 10.17.5.1, Foreign port: 11035
 
Enqueued packets for retransmit: 0, input: 0, saved: 0
 
Event Timers (current time is 0x1B2E50):
Timer          Starts    Wakeups            Next
Retrans           229          0             0x0
TimeWait            0          0             0x0
AckHold           229          0             0x0
SendWnd             0          0             0x0
KeepAlive           0          0             0x0
GiveUp              0          0             0x0
PmtuAger            0          0             0x0
 
iss: 2847665974  snduna: 2847667954  sndnxt: 2847667954     sndwnd:   9728
irs: 3999497423  rcvnxt: 3999499452  rcvwnd:       9672  delrcvwnd:    568
 
SRTT: 300 ms, RTTO: 607 ms, RTV: 3 ms, KRTT: 0 ms
minRTT: 0 ms, maxRTT: 300 ms, ACK hold: 300 ms
Flags: passive open, higher precedence
 
Datagrams (max data segment is 1460 bytes):
Rcvd: 459 (out of order: 0), with data: 229, total data bytes: 2028
Sent: 457 (retransmit: 0), with data: 228, total data bytes: 1979

トラブルシューティング

STUN 設定のトラブルシューティングは、ピアツーピア規定の場合と同様です。 転送の問題が発生した場合は、その問題を診断してからでないと、SDLC/STUN 部分のトラブルシューティングを行うことはできません。 通常、ピアからピアに ping を発行し、IP が正しく設定されていることを確認することが最初の手順です。 また、信頼性の高い転送であることを確認するために、拡張パケット タイプで ping を発行します。

SDLC Basic のトラブルシューティング

STUN Basic 設定のトラブルシューティングについて説明します。 この例では、WAN が正常に機能していることを前提とします。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-1.gif

このシナリオでは、5494 を AS/400 に接続するように STUN Basic が設定されています。 STUN の設定で最初に確認する点は、ルータにピアが設定されているかどうかです。 これを確認するには、show stun peer コマンドを使用します。 このコマンドにより、ピアの状態と、送受信されたパケットに関する情報を入手できます。 次に出力例を示します。

rick#sh stun peer
This peer: 10.17.5.2

 *Serial2  (group 1 [basic])
                              state       rx_pkts   tx_pkts     drops
all     TCP 10.17.5.1        open             5729      5718         0

上記のようにピアがオープン状態になっている場合は、show interface コマンドを使用して、パケットに何が起きているのかを確認します。 以下に、このコマンドのサンプル出力を示します。

Serial2 is up, line protocol is up
  Hardware is CD2430 in sync mode
  MTU 1500 bytes, BW 115 Kbit, DLY 20000 usec, rely 255/255, load 1/255
  Encapsulation STUN, loopback not set
  Last input 1:10:40, output 0:18:12, output hang never
  Last clearing of "show interface" counters 0:21:49
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     4 packets output, 312 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets, 0 restarts
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up

まず、ルータですべてのシリアル信号が up になっているか確認します。 上記の出力の最後には、2522 で「Serial2」のすべての信号が「up」であることが示されています。 DTR および RTS は、コントローラがすでに回線自体をアクティブ化し、AS/400 から送信される初期メッセージ交換を待機していることを示しています。

次に、ルータの AS/400 側に対する show interface コマンドの出力を確認します。 以下の出力には、AS/400 に接続されているシリアル インターフェイスが「down/down」であることが示されています。 これは AS/400 が「varied off」になっている可能性があることを示しています。 回線が「varied on」であるものの回線が up になっていないか半二重で稼働していない場合、RS-232/V.35 接続を確認する必要があります。

Serial1 is down, line protocol is down
  Hardware is HD64570
  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, rely 255/255, load 1/255
  Encapsulation STUN, loopback not set
  Last input never, output 1:51:24, output hang never
  Last clearing of "show interface" counters 0:00:01
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     0 packets output, 0 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets, 0 restarts
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
     DCD=up  DSR=up  DTR=down  RTS=down  CTS=up
s5e#

この時点で、その特定のコントローラの [設定ステータスの処理(Work with Configuration Status)] を確認します。以下に、AS/400 の画面の例を示します。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-as400-1.gif

次に、回線定義を vary on にします。 すると、ルータの回線が up/up になります。 回線が up/up になってもコントローラがアップにならない場合は、インターフェイスを調べて、AS/400 からインターフェイスにパケットが着信しているか確認します カウントがゼロの場合、AS/400 上の SDLC 回線のエンコーディング メカニズムを確認します。 これは、以下に示すように回線の説明に表示されます。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-as400-4.gif

この画面では、回線のエンコーディングとして NRZI が設定されています。 このエンコーディングを、設定オプション nrzi-encoding を使用してルータに設定する必要があります。

標準の SDLC 規定と同じように、この設定ではエンドツーエンドで NRZ/NRZI エンコーディングが要求されるという意味ではありません。一方を NRZI、もう一方を NRZ にすることができます。 ただし、SDLC 回線を共有するデバイスには同じエンコーディングを設定する必要があります。

NRZI については慎重に考慮する必要があります。 Cisco 2500 や 4500 などの新しいルータでは、NRZI はソフトウェアによって設定されます。 一方、Cisco 4000 の NP-2T を含む古いプラットフォームでは、ボード自体のジャンパを変更する必要があります。 その場合、おそらく AS/400 を NRZ/NRZI に変更するのが簡単です。 ただし、ジャンパを変更しなければならない場合は、特定のプラットフォームの Cisco ハードウェアのドキュメントを参照してください。

問題が続く場合は、debug stun packet 1 を実行します。 次の情報が表示されます。

STUN basic: 0:00:35 Serial1         SDI:   Data: c0bf324c056452530000
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1, changed state to down
%LINK-3-UPDOWN: Interface Serial1, changed state to down
STUN basic: 0:00:38 Serial1         SDI:   Data: c0bf324c056452530000
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1, changed state to up
%LINK-3-UPDOWN: Interface Serial1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1, changed state to down
STUN basic: 0:00:35 Serial1         SDI:   Data: c0bf324c056452530000
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1, changed state to down
%LINK-3-UPDOWN: Interface Serial1, changed state to down

AS/400 から複数の XID が流れているのに、それらに対する応答がないことがわかります(CO はポーリング アドレスで、bf が XID)。 パケットの発信元が SDI であることから、パケットは AS/400 から送られたものであることがわかります。 このコマンド出力には、2 種類の着信パケットが含まれています。

  • SDI: シリアル着信。SDLC インターフェイスから受信したパケットです。

  • NDI: ネットワーク着信。カプセル化解除された WAN からのパケットです。

次に、フレーム自体の XID 部分を確認します。 上記の例では、AS/400 が XID を IDBLOCK および IDNUM 05645253 と併せて送信しています。

コントローラが応答していないため、これはタイムアウトの問題です。 AS/400 で、「sysopr message queue」を調べて、問題を示すメッセージの有無を確認します。 以下に、障害が表示されている「SYSOPR」画面を示します。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-as400-2.gif

次は、2522 で debug stun packet 1 を実行して、パケットがコントローラに送信されているかどうかを調べます。 次に、このコマンドの出力例を示します。

STUN basic: 0:00:34 Serial2         NDI:   Data: c0bf324c056452530000
STUN basic: 0:00:42 Serial2         NDI:   Data: c0bf324c056452530000

この出力では、発信元が AS/400 側である XID がコントローラに送られているのに、コントローラが応答していないことがわかります。これは、コントローラに問題があるということです。 show interface により、すべての制御線がアップになっているかどうかがわかります。

Serial2 is up, line protocol is up
  Hardware is CD2430 in sync mode
  MTU 1500 bytes, BW 115 Kbit, DLY 20000 usec, rely 255/255, load 1/255
  Encapsulation STUN, loopback not set
  Last input 0:50:56, output 0:00:23, output hang never
  Last clearing of "show interface" counters 0:02:06
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     1 packets output, 78 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets, 0 restarts
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up

制御線はアップで、インターフェイスは up/up になっています。 また、ルータからパケットが出力されていて、パケットの着信はないことがわかります。 これは AS/400 で間違ったポーリング アドレスが設定されていることを意味しているので、次の手順で、コントローラのポーリング アドレスを検証します。

コントローラのタイプごとに、ポーリング アドレスを設定する固有の方法があるため、コントローラのマニュアルでその方法を確認する必要があります。

以下の例では、コントローラが使用しているポーリング アドレスは「DD」であることがわかります。 AS/400 でこれを変更してから debug stun packet を実行すると、出力は以下のようになります。

STUN basic: 0:24:03 Serial2         NDI:   Data: ddbf324c056452530000
STUN basic: 0:00:00 Serial2         SDI:   Data: ddbf3244073000dd0000
STUN basic: 0:00:00 Serial2         NDI:   Data: dd93
STUN basic: 0:00:00 Serial2         SDI:   Data: dd73
STUN basic: 0:00:00 Serial2         NDI:   Data: dd11
STUN basic: 0:00:00 Serial2         SDI:   Data: dd11
STUN basic: 0:00:00 Serial2         NDI:   Data: dd11
STUN basic: 0:00:00 Serial2         SDI:   Data: dd102f00000200016b80
STUN basic: 0:00:00 Serial2         NDI:   Data: dd31
STUN basic: 0:00:00 Serial2         SDI:   Data: dd11
STUN basic: 0:00:00 Serial2         NDI:   Data: dd31
STUN basic: 0:00:00 Serial2         SDI:   Data: dd11
.
.
.
.
STUN basic: 0:00:00 Serial2         NDI:   Data: dd31
STUN basic: 0:00:00 Serial2         SDI:   Data: dd71
STUN basic: 0:00:00 Serial2         NDI:   Data: dd362f00020080004b80
STUN basic: 0:00:00 Serial2         NDI:   Data: dd31
STUN basic: 0:00:00 Serial2         NDI:   Data: dd53
STUN basic: 0:00:00 Serial2         SDI:   Data: dd73

このデバッグ出力から、次の情報を確認できます。

STUN basic: 0:24:03 Serial2         NDI:   Data: ddbf324c056452530000

この回線には、AS/400 からコントローラに送信された XID が含まれています。 これは、NDI(クラウドから受信)、dd(ポーリング アドレス)、bf(XID)、IDBLOCK および IDNUM(05645253)からわかります。

STUN basic: 0:00:00 Serial2         SDI:   Data: ddbf3244073000dd0000

これはコントローラからの応答です。 これは SDI(SDLC 回線から受信)で示され、XID 応答(073000dd)を除いて(これは 5494 なので)上記と同じであることがわかります。

STUN basic: 0:00:00 Serial2         NDI:   Data: dd93

これは、AS/400 からコントローラへの SNRM(93)です。これは、この設定のプライマリです。

STUN basic: 0:00:00 Serial2         SDI:   Data: dd73

コントローラは UA(73)で応答しているため(SDI)、セッションは確立されて実行中であることがわかります。 次に、回線が varied off になったことから、AS/400 から切断されたことがわかります。

STUN basic: 0:00:00 Serial2         NDI:   Data: dd53
STUN basic: 0:00:00 Serial2         SDI:   Data: dd73

これらは、DISC(53)および UA 応答を示しています。 回線は現在ダウンしています。 以下の表に、これらの問題をデバッグするために必要な値を記載します。

制御フィールド:番号なし(1 バイト)
000z 0011  
0001 0111  
0001 0111  
0001 1111  
0011 0011  
0101 0011  
0101 0011  
0101 0011  
0111 0011  
1001 0011  
1001 0111  
101z 1111  
110z 0111  
111z 0011  
 
03-13    UI  
07-17    SIM  
07-17    RIM  
0F-1F    DM  
23-33    UP  
43-53    DISC  
43-53    RD  
43-53    RD  
63-73    UA  
83-93    SNRM  
87-97    FRMR  
AF-BF    XID  
C7-D7    CFGR  
E3-F3    TEST  
 
Unnumbered Information   
Set Initialization mode  
Request Intialization Mode   
Secondary in Disconnect Mode  
Unumber Poll  
Disconnect  
Request Disconnect  
Secondary Requests Disconnect  
Unnumbered Acknowledgement  
Set Normal Response Mode  
Frame Reject  
Exchange Identification  
Configure  
I-Field contains test pattern 
   

制御フィールド:監視(2 バイト)
rrrz cc01  
rrrz 0001  
rrrz 0101  
rrrz 1001  

 
xx-xx  
x1-x1  
x5-x5  
x9-x9  
 
 
Supervisory Format  
Receiver Ready  
Receiver Not Ready  
Reject  
  
   

制御フィールド:情報フレーム(2 バイト)
rrr1 sssz 

 
xx-xx
 
 
Information format
  
   

凡例:

z = P/F ビットは 0 または 1 になります。

rrr = 受信予定のブロック数。

sss = 送信されているブロック数。

ローカル確認応答がある場合とない場合の STUN SDLC のトラブルシューティング

このセクションでは、ローカル ACK を設定したシナリオを使用します。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-4.gif

STUN Basic とは対照的に、STUN SDLC では正しいポーリング アドレスを指定しなければ、ルータはパケットが着信したことにも気付きません。 このため、ポーリング アドレスがわからない場合はそれを調べるために STUN Basic が使用されます。また、ホストまたは AS/400 に到達できない場合にも、STUN Basic が使用されます。 上記の図には、local-ack を使用したマルチポイントのシナリオが示されています。

従来のポイントツーポイント環境では、ポーリングはエンドツーエンドで行われます。 ローカル ACK を導入した場合、ポーリングはクラウドの両端で終端されます。このため、各ルータで有限状態マシンを維持する必要があります。 有限状態マシンはすべてのセッションの経過を把握し、各ポーリング対象ステーションの回線状態を認識する必要があります。 このため、ステーションが SDLC プロトコルに従っていることを確認する必要があります。

まず、正しい STUN ロールが適用されていることを確認します。 従来のポイントツーポイント環境では、AS/400 はコントローラとロールをネゴシエートできません。 次の回線説明が表示されます。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-5.gif

この出力から、ルータのインターフェイスをセカンダリ ロールとして設定する必要があることがわかります。 AS/400 は作成時にデフォルトで *NEG に設定されるため、必ず回線を調べて、それが *PRI であることを確認してください。 NRZI*YES に設定されるため、nrzi-encoding をコーディングする必要があります。 また、idle-character marks をコーディングして、ウィンドウを 1 に設定します。それには、sdlc k 1を使用します(インターフェイスで idle-character marks が必要になる理由の詳細については、「FNA-IOS-0696-02 フィールド アラート」を参照してください)。 コーディングは次のようになります。

interface Serial1
no ip address
encapsulation stun
idle-character marks
nrzi-encoding 
clockrate 56000 (real clockrate on the line; see note about as400 line speed)
stun group 1
stun sdlc-role secondary (this must be secondary because the line is primary)
sdlc K 1
sdlc address 01
sdlc address DD
stun route address 1 tcp 10.17.5.2 local-ack
stun route address DD tcp 10.17.5.2 local-ack

ルータが生成するクロッキングは、AS/400 回線で設定される回線速度パラメータには依存しません (このパラメータはパフォーマンスの計算に使用されます。 デフォルト値の 9600 のままにして構いません)。 AS/400 が送信する XID などです。 最大コントローラは、作成してこの回線に接続することができる PU(コントローラ)の数です。

次の画面には、この回線に接続されている 2 つのコントローラのうちの 1 つである IBM 5494 が表示されています。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-6.gif

最初のコントローラが PU 2.1 になっています。これは、このコントローラのカテゴリが「*APPC」であるからです。 APPC は Advance Program-to-Program Communications の略で、T2.1 接続でだけ実現できます。 リモート ネットワーク ID もまた APPN/APPC に関係しており、「NETID」で示されます。 「*NETATR」は、「Network Attributes」というデータ領域で定義された NETID を使用することを指定するパラメータです。 このデータ領域は DSPNETA コマンドで表示されるので、必要に応じて値を変更できます。 [リモート コントロール ポイント(Remote Control point)] または [CP_name] は、PU2.1 で設定したコントロール ポイント名です。 この例の場合は、CP5494 です。 [データリンク ロール(Data link role)] は、*NEG のままで構いません。 [ステーション アドレス(Station address)] は、セカンダリ インターフェイスおよびいずれかのプライマリ インターフェイスの 1 つに設定した「SDLC アドレス DD」と一致している必要があります。

interface Serial2
 no ip address
 encapsulation stun
 nrzi-encoding
 clockrate 56000
 stun group 1
 stun sdlc-role primary
 sdlc address DD
 stun route address DD tcp 10.17.5.1 local-ack

コントローラの説明に表示される情報のほとんどが物理的なユニットに関連する内容で、ルータで設定できるものではないことがわかります。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-7.gif

この画面では、2 番目のコントローラ(PU)は、PU タイプ 2 の 3174 です。 この 3174 に設定されている XID は 05600001 です。 使用されている [ステーション アドレス(Station address)](SDLC アドレス)は 01 です。 セカンダリ インターフェイスおよびいずれかのリモート プライマリ インターフェイスの 1 つに、「sdlc address 01」が設定されている必要があります。 以下に示されているように、PU2 の設定は PU2.1 ほど複雑ではありません。

interface Serial3
 no ip address
 encapsulation stun
 clockrate 19200
 stun group 1
 stun sdlc-role primary
 sdlc address 01
 stun route address 1 tcp 10.17.5.1 local-ack

次に、AS/400 の [ネットワーク属性の表示(Display Networks Attributes)](DSPNETA)画面を示します。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-8.gif

この画面で、現在 AS/400 がネットワーク ID「NETA」用に設定されていることがわかります。これは、5494 もこれと同じネットワーク用に設定する必要があることを意味します。 残りの APPN 固有の設定と同じく、これは 5494 の 2 番目の設定画面に表示されます。 AS/400 のローカル コントロール ポイント名は「RTP400A」です。AS/400 の LU 名は「LU9404」です。この名前は、5494 の Partner LU 定義フィールドで設定した名前に一致している必要があります。 5494 で使用するモードは、デバイス説明に表示されるものに一致している必要があります。 たとえば、デバイスが「*NETATR」となっている場合、デフォルトの「BLANK」と一致する必要があります。

次は、5494 用に作成された APPC デバイスの説明画面です。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-9.gif

この画面には、5494 のデバイス説明に、リモート CP 名が「CP5494」と示されています。これは、5494 に設定した内容と一致していなければなりません。 NETID とローカル ロケーションはデフォルトで「*NETATR」に設定されています。これは、前の例で LU9404 および NETA にコーディングした値です。 これらについても、5494 のパートナー LU 名および NETID フィールドと一致している必要があります。

次は、接続の確立に関連するデバイス設定の最後の部分です。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-10.gif

この画面では、デバイス説明で使用されているモードが「QRMTWSC」であることがわかります。 これは *NETATR のデフォルト値ではありません。つまり、モードがデバイス説明で上書きされたことを示しています。 これは、IBM が基本 APPN サポートの一環として AS/400 に提供しているデフォルト モードの 1 つです。 これとは異なる内容が示されている場合、IBM に問い合わせてください。IBM が作成した別のモードで実行されているからです。 この例で確立するのは、基本的な接続です。 使用できるモードに関する情報を表示するには、コマンド WRKMODD または動作モード説明を使用できます。

次に、モード説明の画面を示します。

http://www.cisco.com/c/dam/en/us/support/docs/ip/serial-tunnel-stun/16398-stun-11.gif

この画面では、IBM 社から提供されたモード定義であることが明確に示されています。

SDLC 全二重マルチポイント インターフェイスのトラブルシューティング

マルチポイント環境で AS/400 とのローカル ACK を行うには、AS/400、SYS/38、および SYS/36 ミニメインフレームで「SDLC 全二重マルチポイント インターフェイス」がどのように実装されているかを確認する必要があります。 FNA-IOS-0696-02 Field Alert(次に含まれる)に、この状況で発生する可能性のある問題のタイプの説明が表示されます。

簡単な説明

AS/400 に IBM PTF# MF10030 が適用されている場合、「キャリア検知」をグラウンドに接続するルータ ケーブルの変更で、時々発生する AS/400 による SDLC 回線のリセットを防止することはできません。 このアラートが適用されるのは、ルータの SDLC ケーブルがキャリア検知を無視するように変更された環境での AS/400 への STUN 全二重マルチドロップ接続だけです。

影響

STUN 接続およびすべての SDLC セカンダリ デバイスで定期的なリセットが発生し、接続の信頼性が失われます。

詳細説明/背景

マルチドロップ環境では、AS/400 の動作は他の IBM デバイスとは異なります。 FEP では、0x7E 文字(フラグ)または 0xFF 文字(マーク)のいずれかがフレーム間の「アイドル」スペースとして受け入れられますが、AS/400 では、これとは異なる方法でフラグとマークが処理されます。 アイドル文字として解釈されるのはマークだけです。 フラグは、「回線はまだアクティブで、保留されているデータがさらにある」ことを意味すると解釈されます。 Cisco ルータは、フラグまたはマークのいずれかを送信するように設定できますが、両方を送信することはできません。 フラグとマークは、回線の状態を同じように反映するわけではありません。 ルータのデフォルトは、フラグの送信です。

この違いが全二重マルチドロップ環境で問題を引き起こします。 通常、AS/400 はデータの有無を確認するために、あるデバイスをポーリングしてから次のデバイスをポーリングし、また次のデバイスをポーリングするといった具合に動作します。 デバイスが応答に失敗した場合、AS/400 は回線がまだアクティブであると判断すると、回線全体をリセットします。 ルータのデフォルトはフラグの送信であるため、AS/400 では常にアクティブ回線が認識され、次のデバイスに対するポーリングに移る代わりに回線をリセットします。

この問題を回避するため、シスコでは以前から Carrier Detect(CD; キャリア検知)信号を無効にするケーブル変更を推奨してきました。 この変更は、キャリアの不在を「アイドル回線状態」と解釈する AS/400 のロジックを利用しています。 したがって、変更を行うと、ルータがフレーム間文字を送信しているとしても、AS/400 は常にアイドル回線状態を検出します このため、セカンダリ デバイスが応答に失敗しても、AS/400 は CD を確認してアイドル回線を確認し、次のステーションに対するポーリングに移るようになります。

最近、IBM 社から AS/400 の修正プログラム PTF# MF10030 がリリースされました。この修正プログラムはマルチドロップ ライン環境でのキャリア検知ロジックを修正します。 この修正プログラムをインストールすると、AS/400 が全二重マルチドロップ ラインの CD の状態を完全に無視するようになります。 したがって、定期的な回線リセットを防止するために、Cisco ケーブルの変更は反映されなくなります。

回避策

ルータのモデルおよび稼動中の Cisco IOS のバージョンによって、2 つの回避策が考えられます。 両方のオプションとも、AS/400 に接続されたルータの設定変更が必要です。

オプション 1

SDLC アイドル文字をデフォルトのフラグ文字からマーク文字に変更します。 アイドル文字はルータのインターフェイス設定コマンドで変更できます。

idle-character marks 

このコマンドを、AS/400 に接続された SDLC シリアル インターフェイスに追加します。 このコマンドにより、フレーム間の休止に対して、ルータは常にマーク文字を送信するようになります。 このため、セカンダリ デバイスでポーリングに失敗しても、AS/400 はアイドル回線を確認し、次のデバイスに対するポーリングに移るようになります。 これは、デバイスからデータ フレームが伝送されている最中でも、AS/400 がアイドル状態を認識してしまうという意味でもあります。 poll/final ビットが 0 であっても、AS/400 は最初のフレームだけに確認応答します。 後続のフレームはすべて無視して次のデバイスをポーリングするため、不要なフレームが再送信されます。 再送信を回避するには、次のコマンドで SDLC ウィンドウ サイズを 1 に設定する必要があります。

sdlc k 1 

: idle-character コマンドは Cisco IOS バージョン 10.0(5.2) 以降でサポートされています。2500 シリーズ、NP-4T を搭載する 4x00、および 70x0/75xx ルータで機能します。

オプション 2

インターフェイス コマンドを使用して、アクティブでないセカンダリ デバイスの検出を有効化します。

stun quick-response

このコマンドにより、 非アクティブのセカンダリ デバイスに対して AS/400 によってポーリングされた「切断モード」(DM)フレームにルータが応答するようになります。 この応答を受けて、AS/400 は回線をリセットせずに、次のデバイスのポーリングを続行します。

このコマンドは、Cisco IOS 11.1、11.0(3.1) およびそれ以降のバージョン、または 10.3(7.2) 以降のバージョンでサポートされています。

ヒント: quick-response を設定したマルチポイント回線を up にできない場合は、オプション 1 を使用してください。 ルータ内の stun quick-response コードは、local-ack に対する有限状態マシンの一部であり、一部の PU では同調しない可能性があります。 5494、5394、および Perl494E での相互作用性が検証されています。 接続しようとしている PU に設定されているタイマーが、quick_response が期待するタイマーと異なる場合、問題が発生する可能性があります。


関連情報


Document ID: 16398