IP : IP トンネリング

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

2005 年 9 月 9 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2005 年 9 月 9 日) | フィードバック

目次

概要
はじめに
      表記法
      前提条件
      使用するコンポーネント
      背景説明
STUN の設定
STUN Basic の設定例
STUN SDLC の設定例
STUN マルチポイント(ローカル ACK を行う)の設定例
show コマンド
トラブルシューティング
      SDLC Basic のトラブルシューティング
      ローカル ACK を行う場合と行わない場合の STUN SDLC のトラブルシューティング
      SDLC 全二重マルチポイント インターフェイスのトラブルシューティング
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

Serial Tunneling(STUN; シリアル トンネリング)とは、SDLC フレームを WAN 内でトンネリングすることです。 元々の Systems Network Architecture(SNA; システム ネットワーク アーキテクチャ)の世界では、Plain Old Telephone Service(POTS; 一般電話サービス)または専用線で接続されたモデム一式をとおして、リモート コントローラが Front-end Processor(FEP; フロントエンド プロセッサ)に接続されていました。

はじめに

表記法

文書表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

前提条件

STUN SDLC が最も一般的に使用されているのは、次の 2 つの環境です。 FEP からリモート コントローラの間、および AS/400 からリモート コントローラの間が、これにあたります。

使用するコンポーネント

リモート コントローラ特有の問題に対して、Cisco IOS(R) ソフトウェア コマンドと AS/400 を使用した STUN トラブルシューティング。

背景説明

ネットワークの統合化が進み、リモート オフィスでさまざまなタイプのサービス(NetBIOS、IP、IPX など)が要求されるようになると、メンテナンスとコストの観点から、これらのサービスすべてを単一のデバイスに統合することが妥当な選択となります。 たとえば次のダイアグラムでは、ホストにつながる 3270 ターミナルが Windows ステーションの NetBIOS トラフィックと統合されています。

stun_3.gif

STUN では IP を使用して、Synchronous Data Link Control(SDLC)フレームを WAN またはその他のメディアのネットワーク経由で転送することができます。 これにより、専用線や POTS を新たに準備する必要がなくなります。 Cisco ルータの SDLC 機能の 1 つに、メディア変換機能があります。 メディア変換では、ルータにより、SDLC セッションが Logical Link Control, type 2(LLC2; 論理リンク制御タイプ 2)セッションに変換されます。 この詳細については、『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 環境ではあまり使用されませんが、トラフィックの多い STUN FEP 間では使用されます。

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

タスク

コマンド

STUN 対応ルータに SDLC プライマリ ロールを割り当てる。


 stun sdlc-role primary
 

STUN 対応ルータに SDLC セカンダリ ロールを割り当てる。


 stun sdlc-role secondary
 

stun_2.gif

これらのコマンドは、STUN 設定の「ロール」を定義します。 上記のダイアグラムのホストの場合、ルータがプライマリに設定されています。これは、ホスト側がセッションを開始するということを意味しています。 これにより 3174 はセカンダリになります。 STUN Basic を使用している場合、セッションの開始側を把握する必要がないためロールの定義は不要です。 ただし、ローカル ACK で回線自体の詳細が必要になります。ロールを定義しておくと、ルータはセッション開始のフローを把握できます。ルータは、この情報を検証してからでないとローカル ACK に移ることができません。

注:ローカル ACK を行う AS/400 の STUN 環境では、ロールを *neg から *pri に変更する(回線デスクリプションで)ことが重要です。 これは、純粋な環境(直接モデム接続)では、AS/400 でロールのネゴシエーションが可能であるからです。 回線にロールを指定することで、ルータのロールが常に AS/400 のロールの逆になるようにします。通常、AS/400 をセッションの開始側にします(回線の「vary on」を使用)。 回線設定に移動し、回線を *pri に設定します。 AS/400 により、次のような回線デスクリプションが表示されます。 これは、回線デスクリプションの作成またはコピー中にだけ設定できます。

as400_3.gif

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

タスク

コマンド

TCP カプセル化を使用して SDLC ローカル ACK を確立する。


 stun route address address-number tcp ip-address 
[local-ack] [priority] [tcp-queue-max]

ここで重要なパラメータは、ローカル ACK を行う stun route [address] です。 STUN ローカル ACK は、TCP カプセル化とフレームリレー カプセル化(RFC 1490 を使用)でだけ行うことができます。

RSRB および DLSw では、TCP ピア間の STUN フローのキープアライブを使用して、ピア接続のアップ状態が確認されます。 キープアライブの消失によりピアがダウンやアップする場合は、キープアライブの調節を行います。 次の表に、キープアライブを設定する STUN コマンドを示します。

タスク

コマンド

失われたリモート ピアの検出を有効にする。


 stun remote-peer-keepalive seconds
 
 

ピアの「ダウン」を宣言する前に試行する、ピア接続の回数

  stun keepalive-count quantity  

STUN Basic の設定例

STUN Basic は STUN の最もシンプルな構成です。 このモードでは、ルータが一方で受信したパケットがすべて次に転送されます。 次のダイアグラムに、STUN Basic の構成を示します。

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 の設定例

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 マルチポイント(ローカル ACK を行う)の設定例

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 を使用している場合と、ローカル 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
 
 

次に示す STUN SDLC(ローカル ACK を行う)の出力には、より詳細な情報が表示されています。これはセッション状態が認識されているからです。

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 の実行結果には、さらに多くの情報が含まれます。 次に、ローカル 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:次のいずれかの値を取る、現在のセッション状態。

    • DISCONNECT

    • CONNECTED

    • 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 が正しく機能していることを前提としています。

stun_1.gif

このシナリオでは、STUN Basic の設定により 5494 が AS/400 に接続されています。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
 

上記のようにピアの状態が open の場合、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
 

最初に、ルータのシリアル信号がすべてアップ状態になっていることを確認します。 上記の例の最後の行で、2522 の「Serial2」へのすべての信号が「up」になっていることを確認できます。DTRRTS は、コントローラがすでに回線自体をアクティブにしていて、AS/400 からの最初の会話を待機していることを示しています。

次に、ルータの AS/400 側で show interface を確認します。 次の出力で、AS/400 に接続されたシリアル インターフェイスが down/down であることを確認できます。 これは AS/400 が「varied off」になっている可能性があることを示しています。 回線が「varied on」に設定されていて回線をアップ状態にできない場合、または回線が半二重の場合、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 の画面は次のようになります。

as400_1.gif

次に、回線の説明で vary on を設定します。 すると、ルータの回線が up/up になります。 回線が up/up になっているのにコントローラが始動しない場合、インターフェイスを確認して、AS/400 からの着信パケットがインターフェイスに到達しているかどうかを確認します。カウントがゼロの場合、AS/400 の SDLC 回線のエンコーディング メカニズムを確認します。これは、次の図に示す「Display Line Description」で確認できます。

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 に変更する方が簡単です。 それでもジャンパの変更が必要な場合は、ご使用のプラットフォームのシスコ ハードウェア文書を参照してください。

問題が継続する場合は、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 はポーリング アドレスで、bfXID)。 パケットの発信元が SDI であることから、パケットは AS/400 から送られたものであることがわかります。 このコマンド出力には、2 種類の着信パケットが含まれています。

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

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

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

コントローラが応答していないため、これはタイムアウトの問題です。 AS/400 で「sysopr message queue」を見ると、問題を示すメッセージがあるかどうかを確認できます。 次は、障害を説明する「SYSOPR」画面です。

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 = 送信されているブロック数。

ローカル ACK を行う場合と行わない場合の STUN SDLC のトラブルシューティング

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

stun_4.gif

STUN Basic とは対照的に、STUN SDLC では正しいポーリング アドレスの指定が必要になります。指定しないと、ルータでパケットの着信さえ認識されません。このような理由から、情報を入手できない場合やホストまたは AS/400 に到達できない場合には、ポーリング アドレスを確認するために STUN Basic が使用されます。上記のダイアグラムは、ローカル ACK を行うマルチポイントのシナリオです。

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

最初に、正しい STUN ロールに入っていることを確認します。 従来型のポイントツーポイント環境において、AS/400 とコントローラ間のロールのネゴシエーションで問題が発生しています。 次の回線説明が表示されます。

stun_5.gif

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

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 回線で設定される回線速度パラメータには依存しません (このパラメータはパフォーマンス計算に使用されるもので、デフォルトの 9,600 のままにしておくことができます)。 回線に設定する交換識別情報は AS/400 のもの(AS/400 が送信する XID など)です。 最大コントローラは、作成してこの回線に接続することができる PU(コントローラ)の数です。

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

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 です。 データ リンクのロールは *NEG のままにしておくことができます。「Station address」は、セカンダリ インターフェイスおよびプライマリ インターフェイスの 1 つに設定された「sdlc address 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
 

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

stun_7.gif

この画面では、2 つ目のコントローラ(PU)が実際は 3174 であることが示されています。これは PU タイプ 2 です。この 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)の画面を示します。

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 デバイスの説明画面です。

stun_9.gif

これは 5494 のデバイス説明の画面です。リモート CP 名として「CP5494」が設定されています。これは 5494 で設定したものに一致している必要があります。NETID と Local Location にはデフォルトの「*NETATR」が設定されています。これは、前の例で LU9404 と NETA にコーディングされました。 これらの値も 5494 の Partner LU 名フィールドおよび NETID フィールドに一致している必要があります。

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

stun_10.gif

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

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

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 ルータでは、フラグまたはマークのいずれかを送信するように設定できますが、両方を送信するように設定できません。 回線の状態を反映するように、この 2 つが入れ替わることはありません。 ルータのデフォルトは、フラグの送信です。

この違いが全二重マルチドロップ環境で問題を引き起こします。 通常 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 IOS のバージョンによって、2 つの回避策が考えられます。 どちらの回避策でも、AS/400 に接続されているルータの設定変更が必要になります。

オプション 1

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


 idle-character marks 
 

このコマンドを AS/400 に接続された SDLC シリアル インターフェイスに追加します。このコマンドにより、ルータがフレーム間の中断を示すマーク文字を常に送信するようになります。 このため、セカンダリ デバイスでポーリングに失敗しても、AS/400 はアイドル回線を確認し、次のデバイスに対するポーリングに移るようになります。 これは、デバイスからデータ フレームが伝送されている最中でも、AS/400 がアイドル状態を認識してしまうという意味でもあります。 P/F ビットが 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 からポーリングされた非アクティブ セカンダリ デバイスについて、ルータが「disconnect mode」(DM)フレームで応答するようになります。すると、AS/400 は回線をリセットせずに、次のデバイスのポーリングに進みます。

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

ヒント:quick-response を設定したマルチポイント ラインを始動できない場合は、オプション 1 を実行します。ルータの stun quick-response コードは、ローカル ACK のための有限状態マシンの一部であり、一部の PU では手順外になる場合があります。 このコードはラボ環境でテストされ、5494、5394、および Perl494E での相互作用性が検証されています。 接続しようとしている PU に、quick_response が予期しているのとは異なるタイマーが設定されている場合には、問題が発生する可能性があります。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 16398