JP2014007501A - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
JP2014007501A
JP2014007501A JP2012140915A JP2012140915A JP2014007501A JP 2014007501 A JP2014007501 A JP 2014007501A JP 2012140915 A JP2012140915 A JP 2012140915A JP 2012140915 A JP2012140915 A JP 2012140915A JP 2014007501 A JP2014007501 A JP 2014007501A
Authority
JP
Japan
Prior art keywords
circuit
packet
cells
test
cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012140915A
Other languages
English (en)
Inventor
Kenji Mihashi
健治 三橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012140915A priority Critical patent/JP2014007501A/ja
Priority to US13/847,638 priority patent/US20130346837A1/en
Priority to CN201310129931.7A priority patent/CN103516631A/zh
Publication of JP2014007501A publication Critical patent/JP2014007501A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】データブロックの分割で得られた複数のセルの伝達経路上における障害箇所の特定の容易にする。
【解決手段】通信装置は、ネットワークから受信されたデータブロックを複数のセルに分割する分割回路と、複数のセルから前記データブロックを組み立てる組立回路と、分割回路と組立回路との間の複数のセルの伝達経路上に配置され、伝達経路から受信される複数のセルに対して所定の処理を実行する複数の処理回路と、組立回路に含まれた、又は前記組立回路から独立した制御回路とを含み、分割回路,組立回路,複数の処理回路のうちの少なくとも2つが、複数のセルの少なくとも1つに対するエラーチェック計算の計算結果を当該セルに格納し、制御回路がセルに格納された複数の計算結果に不一致があるか否かを判定する。
【選択図】図6

Description

本開示は、通信装置に関する。
IP(Internet Protocol)ネットワークを構成するコアルータ及びエッジルータのよ
うな通信装置には、高速かつ大容量のパケットフォワーディングが要求される。このため、パケットフォワーディングをハードウェア処理によって実行する通信装置がある。パケットフォワーディングをハードウェア処理(ハードウェアロジック)によって実行する通信装置では、通信装置内において、ネットワークから受信された可変サイズのパケットを複数の固定サイズのセルに分割し、セル状態で一律なスイッチングやバッファリングを行う。これによって、高速なパケットフォワーディングが実現される。その後、複数のセルからパケットが組み立てられ、パケットは、ネットワークへ送出される。
特開平5-22329号公報
上記した通信装置は、例えば、ネットワークから受信されたパケットのフォワーディングに係る処理を行う複数のフォワーディング部と、パケットの分割により生成された複数のセルに対するスイッチングを行うスイッチング部とを備える。スイッチング部は、一般に複数のスイッチを含む多段スイッチを備える。複数のフォワーディング部の1つで受信されたパケットは、複数のセルに分割され、スイッチング部に入力される。スイッチング部は、セルに付与された情報を参照し、セルを送信側のフォワーディング部へセルを転送する。送信側のフォワーディング部では、複数のセルから元のパケットを組み立てる。組み立てられたパケットがエラーを含むか否かのエラーチェックが実施された後、パケットは、ネットワークへ送出される。このように、セルは、受信側のフォワーディング部から多段スイッチを経由して送信側のフォワーディング部に至る所定のセル伝達経路を流れる。
上述したような、復元されたパケットがエラーを有するか否かを判定するエラーチェック方法では、パケットのエラーの存在を確認することができる。しかし、エラーを発生させたセル伝達経路上の障害発生箇所を特定することはできなかった。従って、障害発生箇所を特定するために、通信装置のサービスを中断して、障害発生箇所を特定するための作業が要求される可能性があった。このとき、セル伝達経路の全体に亘るチェックが要求される可能性があった。
また、エラーが発生した場合には、エラーの原因となる障害を解消するため、当該エラーが一過性のエラーであるのか、恒久的な(間歇的に発生し得る)エラーであるのかを判別することが要求される。このような判別のために、通常、エラーが発生したときと同じリソース、同じデータパターンを用意した再現試験が実施される。しかしながら、再現試験を通信装置のサービス中に実施することは困難であった。
本開示の目的は、セルの伝達経路における障害発生箇所の特定を容易にすることができる技術を提供することである。
本開示は、ネットワークから受信されたデータブロックを複数のセルに分割する分割回路と、
前記複数のセルから前記データブロックを組み立てる組立回路と、
前記分割回路と前記組立回路との間の前記複数のセルの伝達経路上に配置され、前記伝達経路から受信される複数のセルに対して所定の処理を実行する複数の処理回路と、
前記組立回路に含まれた、又は前記組立回路から独立した制御回路とを含み、
前記分割回路,前記組立回路,前記複数の処理回路のうちの少なくとも2つが、前記複数のセルの少なくとも1つに対するエラーチェック計算の計算結果を当該セルに格納し、
前記制御回路が前記セルに格納された複数の計算結果に不一致があるか否かを判定する通信装置である。
本開示によれば、セルの伝達経路における障害発生箇所の特定を容易にすることができる技術を提供することができる。
図1は、実施形態に係る通信装置を適用し得るネットワークシステムの例を示す。 図2は、実施形態に係る通信装置の回路構成を模式的に示す。 図3は、図2に示した各回路ブロックの詳細を例示する図(ハードウェア構成図)である。 図4Aは、L2/L3処理エンジンによるパケットのセル化を模式的に示す図である。 図4Bは、セルのフォーマット例を示す図である。 図5は、図3に示した通信装置のハードウェアによって実現される機能を模式的に示す図である。 図6は、通信装置の動作例の説明図であり、セルに対する情報格納の例を示す。 図7は、パケット分割回路(L2/L3処理エンジン)の処理例を示すフローチャートである。 図8は、QoS処理回路(トラフィックマネージャ)の処理例を示すフローチャートである。 図9は、スイッチ(スイッチデバイス)の処理例を示すフローチャートである。 図10は、パケット組立回路(L2/L3処理エンジン)の処理例を示すフローチャートである。 図11は、テストパケットT1を用いた再現試験の動作例の説明図である。 図12は、テストパケットT2及びT3を用いた再現試験の動作例の説明図である。 図13は、共有メモリアドレス情報を用いた共有メモリ診断処理の説明図である。 図14は、上述した再現試験及び障害確認試験に係る装置制御回路(再現試験モジュール)の処理例を示すフローチャートである。 図15は、障害通知情報の表示例を示す。 図16は、障害通知情報の表示例を示す。
以下、図面を参照して本発明の実施形態を説明する。実施形態の構成は例示であり、本
発明は実施形態の構成に限定されない。
<ネットワーク構成例>
図1は、実施形態に係る通信装置を適用し得るネットワークシステムの例を示す。図1において、ネットワークシステムは、コアネットワーク1と、コアネットワークと接続される複数のアクセスネットワーク2とを含む。コアネットワーク1は、アクセスネットワーク2間を結ぶ基幹網として機能する。
コアネットワーク1は、アクセスネットワーク2とコアネットワーク1との境界(コアネットワークの入口及び出口)に配置されるエッジルータ(エッジノードとも呼ばれる)3と、エッジルータ3間を結ぶコアルータ(コアノードとも呼ばれる)4とを備える。図1に示すエッジルータ3及びコアルータ4の数及び接続状態(トポロジ)は例示であり、コアネットワーク1の目的に応じて適宜設定される。
アクセスネットワーク2は、例えば、光ネットワークであり、エッジルータ3は、アクセスネットワーク2から受信する光信号を電気信号に変換し、IPパケットを得る。IPパケットは、例えば、当該IPパケットのあて先アドレスに従って、入口のエッジルータ3から1以上のコアルータ4を経て出口のエッジルータ3に到達する。出口のエッジルータ3において、IPパケットは再び光信号に変換され、出口のエッジルータ3に接続されたアクセスネットワーク2に送出される。
上記したエッジルータ3,コアルータ4は、通信装置の一例である。ただし、通信装置
の用途は、エッジルータ3やコアルータ4に制限されない。また、エッジルータ3及びコアルータ4間が光回線で接続されていても良い。また、アクセスネットワーク2が光ネットワークであることは必須の要件ではなく、コアネットワーク1に電気的に接続されるアクセスネットワークであっても良い。アクセスネットワーク2は、“ネットワーク”の一例である。
また、上記したIPパケットは、“パケット”の一例であり、パケットは“データブロック”の一例である。データブロックは、MACフレームのようなフレームを含むことができる。
<通信装置の構成例>
図2は、実施形態に係る通信装置の回路構成を模式的に示す。図2は、通信装置の例示として、上記したエッジルータ3やコアルータ4として適用可能なレイヤ3スイッチ(L3SW)の構成を例示する。もっとも、図2に示すL3SWは、レイヤ2スイッチ(L2SW)として機能し得る。このように、通信装置は、L2SW及びL3SWを含む。以下、図2に示す通信装置10について、主にL3SWとしての機能に係る構成を説明する。
図2において、通信装置10は、複数の回線処理回路11と、各回線処理回路11に接続された複数のフォワーディング処理回路12と、複数のフォワーディング処理回路12が接続されたスイッチング回路13と、スイッチング回路13と接続された装置制御回路14とを備える。また、各フォワーディング処理回路12は、パケット処理回路15と、QoS(Quality of Service)処理回路16と、制御回路17とを備える。
図3は、図2に示した各回路ブロックの詳細を例示する図(通信装置10のハードウェア構成図)である。但し、図2に示した複数の回線処理回路11及び複数のフォワーディング処理回路12は、同じ構成を有しているため、図3は、1つの回線処理回路11及び1つのフォワーディング処理回路12のハードウェア構成を例示している。
<<回線処理回路>>
回線処理回路11は、いわゆる通信インタフェース(通信インタフェース回路)であり、図2に示したアクセスネットワーク2のようなネットワークと接続される複数の回線を収容する。
図3において、回線処理回路11は、複数の回線を収容する複数の送信ポート及び複数の受信ポート(図示せず)を有し、さらに、光モジュール111と、PHY112と、MAC(Media Access Controller)113と、フレーマ(Framer)114とを備える。
光モジュール111は、受信ポートに接続された光回線(光ファイバ)から受信される光信号を電気信号に変換する処理(光-電気変換)を行う。また、光モジュール111は
、PHY112から受信される電気信号を光信号に変換する処理(電気-光変換)を行い
、光信号を送信ポートから出力する。
PHY112は、レイヤ1、すなわち物理層の処理を司る。例えば、PHY112は、光モジュール111から入力される電気信号波形整形を行う。MAC113は、MAC(Media Access Control)層を含むレイヤ2(データリンク層)に係る処理を司る。MAC113及びフレーマ114によって、電気信号からMACフレームが生成され、フォワーディング処理回路12に送信される。
光モジュール111,PHY112,MAC113,及びフレーマ114は、パケット処
理部15から受信されるMACフレームに関して上記と逆の動作を行い、最終的に生成された光信号を出力ポートから光回線へ送出する。
光モジュール111,PHY112,MAC113,及びフレーマ114は、汎用デバイ
スチップ(汎用回路チップ)の適用によって実現される。但し、専用のハードウェアチップを適用することもできる。フレーマ114は、例えば、FPGA(Field-Programmable Gate Array)及びASIC(Application Specific Integrated Circuit)の組み合わせで実現される。
<<フォワーディング処理回路>>
上記したように、フォワーディング処理回路12は、パケット処理回路15と、QoS処理回路16と、制御回路17とを備える。
[パケット処理回路]
パケット処理回路15は、L2/L3処理エンジン151と、CAM(Content Addressable Memory:連想メモリ)152と、メモリ153とを備える。メモリ153は、MACフレーム(IPパケット)の格納領域として使用される。
L2/L3処理エンジン151は、回線処理回路11から入力されるMACフレームに関するレイヤ2処理(例えば、MACフレームの受信処理)、及び受信されたMACフレームに含まれるIPパケットに対するレイヤ3処理(例えばルーティング)を実行する。
L2/L3処理エンジン151は、高速なパケット転送を通信装置10内で実行するために、IPパケットを複数のセルに分割するパケット分割回路(パケット分割デバイス)154(図5)として機能する。
図4Aは、L2/L3処理エンジン151によるIPパケットのセル化を模式的に示す図であり、図4Bは、セルのフォーマット例を示す図である。図4Aに示すように、L2/L3処理エンジン151は、可変サイズのユーザデータ(IPパケット)を、それぞれ固
定サイズを有する複数のセルに分割する。図4Aでは、1つのユーザデータが4つのセルに分割された例が示されている。但し、IPパケットの分割数(分割によって生成されるセルの数)は、ユーザデータのサイズに応じて変動する。
セルは、図4Bに示すように、それぞれ固定サイズを有するヘッダ,ペイロード,及びテイラーとからなる。ペイロードは、分割されたユーザデータの格納領域である。L2/L3処理エンジン151は、パケット分割回路154として、メモリ153に格納されたIPパケットを固定サイズのペイロードサイズで分割する。これによって、複数のユーザデータのセグメントが生成される。各セグメントがセルのペイロードとなる。なお、ユーザデータサイズがペイロードサイズで割り切れない場合には、余りのユーザデータセグメントに対応するペイロードは、余りのユーザデータセグメント及びパティングで形成される。この場合、パディングサイズがヘッダに格納される。
ペイロードには、ヘッダ及びテイラーが付与される。ヘッダには、セル識別子(例えばは、シーケンス番号),セルの宛先情報(宛先識別子),上記したパディングサイズ,セルの組立情報(例えば、パケットの分割数,オフセット位置(分割前のユーザデータに対するセグメントの相対位置))を含む装置内ヘッダ情報(通信装置10の内部でのみ使用される情報)が格納される。
宛先識別子は、通信装置10内におけるセルの転送に使用される内部識別子である。図3に示すCAM152は、MACアドレステーブル及びルーティングテーブルとして使用される。例えば、CAM152は、IPパケットの宛先IPアドレスが入力されると、この宛先IPアドレスに対応するセルの宛先識別子を出力する。L2/L3処理エンジン151(パケット分割回路154)は、出力された宛先識別子をヘッダに格納する。
テイラーには、セルのペイロード、又はヘッダ及びペイロードを形成するビット列を所定のハッシュ関数で計算した結果であるハッシュ値が格納される。ハッシュ関数の計算(ハッシュ演算)は、“エラーチェック計算”の一例であり、ハッシュ値は、“エラーチェック計算の計算結果”の一例である。但し、実施形態で適用し得るエラーチェック計算及びその計算結果は、ハッシュ演算及びハッシュ値に限られない。例えば、誤り訂正符号演算、及び誤り訂正符号演算によって得られた誤り訂正符号は、“エラーチェック計算”及び“エラーチェック計算の計算結果”として、ハッシュ演算及びハッシュ値の代わりに適用可能である。
また、テイラーには、そのセルについて複数回実施された複数のハッシュ値が書き込まれる。後述する動作例では、セル伝達経路上にある複数の回路(パケット分割回路154,QoS処理回路16,スイッチ1〜3,及びパケット組立回路155)が、セルについて
同一のハッシュ関数を用いたハッシュ演算を行い、ハッシュ値をセルのテイラーに格納する(図6参照)。複数のハッシュ値は、例えば、ハッシュ値を書き込む複数の回路の並び順と一致する状態でテイラーに書き込まれる。これによって、複数のハッシュ値の参照により、各ハッシュ値がどの回路で書き込まれたかが把握できる。さらに、複数のハッシュ値の状況から、セルのエラーの有無及びエラー原因となった障害発生位置を特定することができる。すなわち、複数のハッシュ値が不一致であればセルがエラーを有することを検出できる。さらに、ハッシュ値の変わり目から、各ハッシュ値を書き込んだ回路間で障害が発生したことを検出することができる。また、ハッシュ値はハッシュ値を書き込んだ回路の識別情報とともにテイラーに書き込まれても良い。
また、テイラーには、共有メモリアドレス情報が格納される。本実施形態では、QoS処理回路16が共有メモリとして使用されるメモリ162を有している。QoS処理回路16がセル格納のために使用した共有メモリのアドレスを示す情報が共有メモリアドレス
情報としてテイラーに格納される。“共有メモリアドレス情報”は、共有メモリのアドレス自体であっても良く、アドレスポインタであっても良い。また、セルのテイラーに格納されるハッシュ値及び共有メモリアドレス情報をまとめて、“テイラー情報”と呼ぶ。
さらに、L2/L3処理エンジン151は、スイッチング回路13から到来した複数のセルから元のユーザデータ(IPパケット)を組み立てるパケット組立回路(パケット組立デバイス)155として機能する。
すなわち、L2/L3処理エンジン151は、スイッチング回路13から到着した各セルをメモリ153に格納し、ヘッダとテイラーとを除去する。そして、セルのヘッダ情報に基づき、ペイロード同士を繋ぎ合わせることによって、元のユーザデータ(IPパケット)を組み立てる(復元する)。このとき、テイラーに格納されたハッシュ値及び共有メモリアドレス情報(“テイラー情報”と称する)は、装置制御回路14に送られる。
パケット処理回路15のCAM152及びメモリ153は、例えば、汎用デバイス(すなわち、CAMチップ、メモリチップ)を適用することができる。但し、専用のハードウェアチップを適用することもできる。L2/L3処理エンジン151は、例えばASICとネットワークプロセッサとの組み合わせによって実現される。
[QoS処理回路]
QoS処理回路16は、トラフィックマネージャ161と、メモリ162とを備えている。QoS処理回路16は、QoS処理回路16を通過する複数のセルフローに対して予め割り当てられたQoSクラスに応じたQoS処理を行う。QoS処理は、例えば、優先制御、或いは優先制御及び帯域制御である。
メモリ162は、パケット処理回路15から入力されるセルを一時的に格納する。例えば、メモリ162は、QoSクラスに応じて用意された複数のバッファ領域を有する。各バッファは、セルフロー間で共有される。従って、メモリ162は、共有メモリとして使用される。
トラフィックマネージャ161は、各セルのフローに対応するQoSクラスに基づき、各バッファに格納されたセルの読み出し制御を行う。すなわち、トラフィックマネージャ161は、セル読み出しタイミングのスケジューラとして機能し、スケジューラにて決定されたタイミングで、対応するバッファ領域からセルを読み出し、スイッチング回路13に送出する。
上記したメモリ162は、例えば、汎用のメモリチップを用いて実現される。一方、トラフィックマネージャは、ASICと汎用デバイスチップとの組み合わせによって実現されることができる。
[制御回路]
制御回路17は、回線処理回路11,パケット処理回路15及びQoS処理回路16とバスを介して接続されている。制御回路17は、CPU(Central Processing Unit)17
1Aとバスコントローラ171Bとを含むCPU/バスコントローラ171と、ROM(Read Only Memory)172Aとメモリ(例えばRAM(Random Access Memory))172Bとを含むROM/メモリ172とを備えている。
CPU171Aは、例えばROM172Aに格納されたプログラムをメモリ172Bにロードして実行する。これによって、CPU171Aは、バスコントローラ171Bを介して回線処理回路11,パケット処理回路15,及びQoS処理回路16の動作を制御す
る。
CPU171A,バスコントローラ171B,ROM172A,及びメモリ172Bは、
汎用デバイスチップを適用することができる。但し、専用のハードウェアチップを適用することもできる。なお、制御回路17は、各フォワーディング処理回路12に設けられた、ローカルな制御回路であり、通信装置10全体の制御は、装置制御回路14によって実行される。
なお、上記したパケット処理回路15,QoS処理回路16及び制御回路17は、それ
ぞれの目的を達成する機能を実現できる限り、上述した回路構成例と異なる回路構成を有することができる。
<<スイッチング回路>>
スイッチング回路13は、直列に接続された複数のスイッチデバイス131を備える。図3の例では、3つのスイッチデバイス131(131A,131B,131C)が例示されている。但し、スイッチデバイス131の数は適宜設定可能である。
各スイッチデバイス131は、複数の入力ポートと、複数の出力ポートとを備える。各スイッチデバイス131は、セルのヘッダに格納された宛先識別子を参照し、対応する出力ポートからセルを出力する。例えば、スイッチデバイス131は、宛先識別子と出力ポートとの対応テーブル(図示せず)を有し、宛先識別子に対応する出力ポートからセルを出力する。
或いは、対応テーブルが、宛先識別子と、出力側の宛先識別子と、出力ポートとの対応関係を保持し、スイッチデバイス131が、入力されたセルの宛先識別子に対応する出力ポートへ当該セルを転送する前に、セルに格納された宛先識別子を出力側の宛先識別子に書き換える構成を採用することもできる。
各スイッチデバイス131は、図3では図示を省略しているが、図2に示す各フォワーディング処理回路12と接続されている。各スイッチデバイス131は、セル(IPパケット)の宛先に対応するフォワーディング処理回路12へ向けてセルを送出する。
すなわち、各スイッチデバイス131は、セルの宛先識別子が特定のフォワーディング処理回路12への転送を示す場合には、当該特定のフォワーディング処理回路12へセルを転送する。これに対し、セルの宛先識別子が次のスイッチデバイス131への転送を示す場合には、各スイッチデバイス131は、当該セルを次のスイッチデバイス131へ転送する。このように、複数のスイッチデバイス131は、スイッチング回路13に入力されたセルを、目的のフォワーディング処理回路12へ振り分ける多段スイッチとして機能する。
さらに、各スイッチデバイス131は、受信したセルに対するエラーチェック計算(ハッシュ演算)を実行し、計算結果(ハッシュ値)をセルのテイラーに格納する。ハッシュ演算は、スイッチデバイス131毎に実行される。
<装置制御回路>
装置制御回路14は、CPU141A及びバスコントローラ141Bを含むCPU/バスコントローラ141と、ROM142A及びメモリ(例えばRAM)142Bを含むROM/メモリ142とを備える。
装置制御回路14は、各フォワーディング回路12及びスイッチング回路13とバスを
介して接続されている。CPU141Aは、例えばROM142Aに格納されたプログラムをメモリ142Bにロードして実行する。これによって、装置制御回路14は、フォワーディング回路12及びスイッチング回路13の動作を監視し、バスコントローラ142Bを通じて監視結果に基づく制御を行う。例えば、装置制御回路14は、後述する再現試験や共有メモリ診断、障害処理を実行する。装置制御回路14は、“第2の制御回路”の一例である。CPU141A,バスコントローラ141B,ROM142A,及びメモリ1
42Bは、それぞれ汎用のデバイスチップを用いて実現可能である。
図5は、図3に示した通信装置10のハードウェアによって実現される機能を模式的に示す図である。図5に示すように、パケット処理回路15は、パケット分割回路154と、パケット組立回路155とを備えた回路として機能する。一方、スイッチング回路16は、図4に示した複数のスイッチデバイス131A,131B,131Cに対応する多段スイッチ(スイッチ1,スイッチ2,及びスイッチ3)を備えた装置として機能する。パケット分割回路154及びパケット組立回路155は、“分割回路”及び“組立回路”の一例である。
パケット分割回路154で受信されるIPパケット(図5,P)は、複数のセル(図5,C)に分割されて出力される。各セルは、QoS処理回路16を経た後、スイッチング回路13に入力される。図5に示す例では、スイッチング回路13に入力された各セルは、スイッチ1(スイッチデバイス131A),スイッチ2(スイッチデバイス131B),スイッチ3(スイッチデバイス131C)を通過した後に、パケット処理回路15のパケット組立回路155に到達する。パケット組立回路155は、パケットを組み立てて出力する。
このように、IPパケットから生成された複数のセルは、通信装置10内に形成された所定のセル伝達経路(パケット分割回路154→QoS処理回路16→スイッチ1→スイッチ2→スイッチ3→パケット組立回路155)を流れる。また、QoS処理回路16及びスイッチ1〜3は、“セル伝達経路上に配置され、セルに対して所定の処理を行う複数の処理回路”の一例である。
なお、図5に示す例は、説明を簡単にするため、パケット分割回路154と、パケット組立回路155とが、同一のフォワーディング処理回路12(パケット処理回路15)に備えられている例を示す。複数のセルを生成するパケット分割回路154を備えるフォワーディング処理回路12が、複数のセルからIPパケットを組み立てるパケット組立回路155を備えるフォワーディング処理回路12と異なるケースは、通常起こり得る。
従って、後述する再現試験に係る処理は、セル伝達経路が二つのフォワーディング処理回路12に跨るケースを想定して、装置全体の制御を実行する装置制御回路14にて実行される。
<動作例>
<<テイラー情報格納>>
図6は、通信装置10の動作例の説明図であり、セルに対するテイラー情報格納の例を示す。図7は、パケット分割回路154(L2/L3処理エンジン151)の処理例を示すフローチャートである。図8は、QoS処理回路16(トラフィックマネージャ161)の処理例を示すフローチャートである。図9は、スイッチ1〜3(スイッチデバイス131)の処理例を示すフローチャートである。図10は、パケット組立回路155(L2/
L3処理エンジン151)の処理例を示すフローチャートである。
図6において、IPパケットがパケット分割回路154に入力されると、パケット分割
回路154は、図7に示した処理を開始する。パケット分割回路154は、受信されたIPパケットを複数のセルに分割する(01)。続いて、パケット分割回路154は、セル毎に、ペイロードのハッシュ演算を行い、各セルのテイラーにハッシュ値を書き込む(02)。そして、パケット分割回路154は、各セルを送信する。
本動作例では、図4Aに図示したように、IPパケットがパケット分割回路154によって、セル1,セル2,セル3,及びセル4に分割され、出力された場合を仮定する。但し、図6には、セル3のみを例示する。各セル1〜4のテイラーには、パケット分割回路154で計算されたハッシュ値“H1”が格納される(図4A,及び図6<1>)。
その後、セル1〜4は、QoS処理回路16に入力される。QoS処理回路16は、受信したセル1〜4に対して、図8に示した処理を開始する。すなわち、QoS処理回路16は、最初に、セル1〜4のヘッダのパリティチェックを実行し、ヘッダ情報にエラーがないことを確認する(011)。
次に、QoS処理回路16は、セル毎に、ペイロードのハッシュ演算を行い、セル1〜4のテイラーにハッシュ値を書き込む(012)。次に、QoS処理回路16は、共有メモリ(メモリ162のバッファ)にセル1〜4を格納し、メモリ162上に作成されたアドレス管理FIFO(First-In First-Out)にアドレスポインタ(書き込み開始ポインタ及び書き込み終了ポインタ)を登録する。そして、QoS処理回路16は、アドレスポインタをセル1〜4のテイラーに書き込む(013)。アドレスポインタは、“共有メモリアドレス情報”の一例である。そして、QoS処理回路16は、スケジューラによるセルの読み出し(QoS処理)を行う(014)、バッファから読み出されたセル1〜4は、スイッチング回路13へ送信される。なお、012の処理と013の処理の順序は逆でもよい。
図8に示す処理によって、セル1〜4は、QoS処理回路16が備えるメモリ162(共有メモリ)に一時的に格納される。その後、セル1〜4は、QoSクラスに応じた読み出しタイミングで読み出され、スイッチング回路13に送出される。
また、QoS処理回路16では、トラフィックマネージャ161が、セル1〜4のテイラーに、ハッシュ値“H2”を格納する(図6<2>)。また、トラフィックマネージャ161は、セルが書き込まれたメモリ162のアドレス、すなわち共有メモリアドレス情報“P1”をセル1〜4のテイラーに格納する(図6<3>)。
セル1〜4は、スイッチング回路13のスイッチ1に入力される。すると、スイッチ1は、図9に示す処理を開始する。すなわち、スイッチ1は、セルヘッダのパリティチェックを行う(021)。続いて、スイッチ1は、セル毎に、ペイロードのハッシュ演算を行い、セルのテイラーにハッシュ値を書き込む(022)。そして、スイッチ1は、スイッチング処理を行う(023)。スイッチング処理によって、スイッチ1は、セル1〜4を、セル1〜4のヘッダに格納された宛先識別子に従って、スイッチ2へ転送する。このとき、セル1〜4のテイラーには、再計算されたハッシュ値“H3”が格納される(図6<
4>)。
スイッチ2は、図9に示した処理を行い、セル1〜4を、宛先識別子に従って、スイッチ3へ転送する。このとき、スイッチ2は、スイッチ1と同様に、セル1〜4に対するハッシュ演算を実施し、ハッシュ値“H4”をセル1〜4のテイラーに格納する(図6<5>)。
スイッチ3でも、スイッチ1及び2と同様の処理(図9)が行われ、セル1〜4のテイ
ラーには、スイッチ3でのハッシュ演算結果であるハッシュ値“H5”が格納される(図6<6>)。各セル1〜4は、宛先識別子に従って、パケット処理回路15のパケット組立回路155に送られる。
パケット組立回路155では、到来するセル1〜4について、図10に示す処理を実行する。すなわち、パケット組立回路155は、セルヘッダのパリティチェックを行う(031)。続いて、パケット組立回路155は、セル毎に、ペイロードのハッシュ演算を行い、セル1〜4のテイラーにハッシュ値“H6(不図示)”を書き込む(032)。
次に、パケット組立回路155は、セル1〜4に関して、セルのテイラーに書き込まれた全てのハッシュ値が一致するか否かをチェックする(033)。このとき、全てのハッシュ値が一致する場合には、パケット組立回路155は、ペイロードのビットエラーなしと判定し(034のNO)、処理を036に進める。これに対し、ハッシュ値が不一致である場合には、パケット組立回路155は、ペイロードにビットエラーありと判定し(034のYES)、処理を035に進める。
035では、パケット組立回路155は、セルのテイラーに格納された共有メモリアドレス情報(アドレスポインタ情報)を抽出する。その後、パケット組立回路155は、セル1〜4のヘッダ情報に基づいて元のIPパケットの組立処理を実行する(036)。なお、上記した031〜035の処理は、セル1〜4に対して個別に実行されるようにしても良い。
次に、パケット組立回路155は、再現試験が必要か否かを判定する(037)。ここでは、上記したハッシュ値の不一致が見つかった場合には、再現試験が必要と判定され、全てのハッシュ値が一致した場合には、再現試験は不要と判定される。
再現試験が必要な場合(037のYES)には、パケット組立回路155は、制御回路17へ組み立てられたIPパケットを転送し、制御回路17は、装置制御回路14へIPパケットを転送する。すなわち、装置制御回路14へIPパケットが送信される。これに対し、再現試験が不要な場合(037のNO)には、パケット組立回路155は、対応する回線処理回路11にIPパケット(MACフレーム)を送信する。
図10に示す処理例では、パケット分割回路155が、ハッシュ値の一致・不一致判定を行う。すなわち、パケット分割回路155(組立回路)が“セルに格納された複数の計算結果(ハッシュ値)に不一致があるか否かを判定する制御回路を含む”構成が採用されている。これに対し、パケット組立回路155が、セルのテイラーに格納された情報を制御回路17に送り、制御回路17のCPU171Aが、上記した033,034,035,
037の処理を実行するようにしても良い。すなわち、パケット分割回路155(分割回路)から独立した制御回路が“セルに格納された複数の計算結果(ハッシュ値)に不一致があるか否かを判定する”構成を採用することもできる。
[[ハッシュ値(エラーチェック計算結果)の格納による作用効果]]
以上のように、実施形態によれば、パケット分割回路154,パケット組立回路155,及びセルに対して所定の処理を行う複数の処理回路(QoS処理回路16及びスイッチ1〜3)において、各セル1〜4のテイラーにペイロードのハッシュ値が格納される。そして、パケット分割回路154にて、テイラーに格納された複数のハッシュ値が一致するか否かがセル毎に判定される。
このとき、セル内の全てのハッシュ値が一致すれば、ペイロードが正常であり、且つセルの伝達経路に障害がないと判定することができる。これに対し、セル内の複数のハッシ
ュ値間に不一致があれば、セルのペイロードがビットエラーを含むと解釈することができ、セルの伝達経路上で障害が生じていると判定することができる。さらに、不一致のハッシュ値を書き込んだ回路間で障害が発生したと推定することができる。
例えば、上記したように、ハッシュ値H1〜H6がセルのテイラーに書き込み順で格納される構成を仮定する。ここで、ハッシュ値H1と、ハッシュ値H2〜H6とが不一致であれば、ハッシュ値H1を格納したパケット分割回路154とハッシュ値H2を格納したQoS処理回路16との間でビットエラーが発生したことを推定ないし特定することができる。或いは、ハッシュ値H1〜H3と、ハッシュ値H4及びH5とが不一致であれば、スイッチ1とスイッチ2との間でビットエラーが発生したことを推定ないし特定することができる。
さらに、例えば、ハッシュ値H1及びH2と、ハッシュ値H3及びH4と、ハッシュ値H5及びH6が不一致であれば、QoS処理回路16とスイッチ1との間でビットエラーが発生し、さらに、スイッチ2とスイッチ3との間でもビットエラーが発生したことを推定ないし特定することができる。このようにして、セルの伝達経路上における1以上の障害の発生箇所を推定ないし特定することができる。
セル内の複数のハッシュ値が不一致を有する場合に、例えば、当該複数のハッシュ値が出力(例えば、図3に示す端末20が有する表示装置に表示、或いは図示しない印刷装置によってシートに印刷)される構成を適用することができる。当該構成が採用される場合には、出力された不一致を有する複数のハッシュ値を参照することで、目視によりセルの伝達経路上における障害(エラー)の発生箇所を特定することができる。
なお、上述した実施形態では、分割によって得られたすべてのセルにハッシュ値が格納される構成を例示した。但し、ハッシュ値は、分割によって得られた複数のセルの少なくとも1つに格納されれば良い。但し、ハッシュ値が格納されるセルが増えることで、エラーの検出機会が高まる。すなわち、エラー検知精度が向上する。
また、上述した実施形態では、パケット分割回路154,QoS処理回路16,スイッチ1〜3,及びパケット分割回路155がハッシュ演算を行いハッシュ値をセルに格納する
構成を例示した。もっとも、セル伝達経路上でセルに対する処理を行う全ての回路がハッシュ値を格納することは必須要件ではない。すなわち、セル伝達経路(始点及び終点を含む)上でセルに対する処理を行う複数の回路のうち、少なくとも2つの回路がハッシュ値を格納すれば良い。例えば、パケット組立回路155がハッシュ値格納を行わない構成、スイッチ1〜3のみがハッシュ値格納を行う構成、QoS処理回路16及びスイッチ1〜3のみがハッシュ値格納を行う構成、のような様々なハッシュ値格納を行う回路の選択を実施可能である。
<<再現試験>>
次に、図10に示したパケット組立回路155の処理終了後に実施される再現試験の動作例について説明する。図11は、テストパケットT1を用いた再現試験の動作例の説明図である。図12は、テストパケットT2及びT3を用いた再現試験の動作例の説明図である。図13は、共有メモリアドレス情報を用いた共有メモリ診断処理の説明図である。
[テストパケットT1を用いた再現試験]
図10に示したように、パケット組立回路155において、再現試験が必要と判定された場合(037のYES)には、パケット組立回路155(L2/L3処理エンジン151)で組み立てられた、再現試験対象のIPパケット(以下、“エラーパケットE1”と称する(図11参照))が、装置制御回路14に送信される(図11<1>)。このとき、各
セルのテイラー情報(複数のハッシュ値及び共有メモリアドレス情報)も、装置制御回路14に送信される。
エラーパケットE1及びテイラー情報は、装置制御回路14のメモリ142Bに格納される。CPU141Aは、エラーパケットE1が受信されると、プログラムの実行によって再現試験モジュール143(図11参照)として機能し、以下のような動作を行う。
すなわち、再現試験モジュール143は、再現試験用のテストパケットを生成する。本実施形態では、再現試験モジュール143は、エラーパケットE1のコピーにテストフラグ(テストパケット識別子)を設定したテストパケットT1を生成する。テストパケットT1は、“テストデータブロック”の一例である。
テストパケットT1は、エラーパケットE1のオリジナルを分割したパケット分割回路154(パケット処理回路15)を有するフォワーディング処理回路12の制御回路17に転送される。
制御回路17は、パケット分割回路154にテストパケットT1を送る(図11<2>)。これによって、パケット分割回路154,QoS処理回路16,スイッチ1〜3,及びパ
ケット組立回路155は、テストパケットT1に対し、オリジナルのIPパケットと同様の処理を行う(図11<3>)。
すなわち、パケット分割回路154にてテストパケットT1が複数のテストセルに分割される(図11では、テストパケットT1が4つのテストセルTC1〜TC4に分割された例を図示)。複数のテストセルは、QoS処理回路16,スイッチ1〜3を通過して、
パケット組立回路155に到達する。すなわち、複数のテストセルは、オリジナルのセルと同じセル伝達経路を流れる。このとき、各セルのテイラーには、オリジナルのセルと同様に、ハッシュ値H1〜H6と、共用メモリアドレス情報とが格納される。
そして、パケット組立回路155で組み立てられたテストパケットT1と、テストパケットT1に係るテイラー情報とが、再現試験モジュール143へ送信される(図11<4>)。パケット組立回路155は、組み立てられたIPパケットがテストフラグを有することを以て、IPパケットがテストパケットであると認識する。パケット組立回路155は、テストパケットと認識したIPパケットを回線処理回路11へ送ることはない。
再現試験モジュール143は、テイラー情報に基づき、テストパケットT1に係るセル内の複数のハッシュ値が全て同じであった場合には、エラーパケットE1の発生原因となった障害が一過性障害であると判定することができる。これに対し、複数のハッシュ値の不一致の状況がオリジナルのIPパケットに係る複数のハッシュ値の不一致の状況と同一視できる場合には、障害が再現されている、すなわち、恒久障害(間歇的に発生する障害)が発生していると判定することができる。
例えば、オリジナルのIPパケットに係る複数のハッシュ値(ハッシュ値H1〜H6を仮定する)が、ハッシュ値H1〜H5とハッシュ値H6との間で不一致であり、テストパケットT1に係る複数のハッシュ値が、ハッシュ値H1〜H5とハッシュ値H6との間で不一致であれば、同一の箇所で障害が発生していると判断することができる。
なお、エラーパケットE1,すなわちテストパケットT1は、オリジナルのIPパケッ
トに対するビットエラー及びテストフラグを含んでいる。このため、セル伝達経路が仮に正常であったとしても、オリジナルのIPパケットに対して算出されるハッシュ値と異なるハッシュ値が算出される。
[テストパケットT1に係る再現試験の作用効果]
上記したテストパケットT1を用いた再現試験によれば、エラーパケットE1のコピーであるテストパケットT1を用いた再現試験が実施される。これによって、オリジナルのIPパケットに係る障害発生時とほぼ同じ条件で再現試験を実施することができる。これによって、再現性有無の確認を高い精度で実施することができる。また、オリジナルに係る障害発生時とほぼ同条件の再現試験が実施されることで、障害被疑箇所の絞り込みが可能となる。
また、テストパケットT1をセル伝達経路に投入する(パケット分割回路154に入力する)ことで再現試験を実行することができる。このため、通信装置10の作動中(サービス中)に再現試験を実施することができる。換言すれば、再現試験のために通信装置10の運転を停止することを回避することができる。
例えば、オリジナルに係る複数のハッシュ値が、ハッシュ値H1〜H4と、ハッシュ値H5及びH6との間で不一致であった場合に対し、テストパケットT1に係る複数のハッシュ値が、ハッシュ値H1〜H5とハッシュ値H6との間で不一致であった場合を仮定する。この場合、ハッシュ値H5に対応する箇所(スイッチ2とスイッチ3との間)の障害は一過性障害であると判定できる。一方で、ハッシュ値H6に対応する箇所(スイッチ3とパケット組立回路155との間)は、恒久障害箇所である可能性(被疑度)が高いと判定することができる。上記したテストパケットT1を用いた再現試験の回数は、1回に限られず、必要な回数を実施することができる。これにより、一過性障害と恒久障害の切り分け、及び恒久障害の被疑箇所の絞り込み精度を高めることができる。
[テストパケットT2及びT3を用いた再現試験]
セルのペイロードのビットエラーを引き起こす障害が、パケット処理回路15,QoS
処理回路16,スイッチデバイス131が備えるメモリのメモリスタック障害(メモリの
或るアドレスが“1”又は“0”で固定され、書き換えられなくなる現象)により生じる場合がある。
オリジナルのIPパケットのビットエラーがメモリスタック障害によるビット反転により生じている状況下で、テストパケットT1を用いた再現試験を行う場合を仮定する。この場合、テストパケットT1に含まれるビットエラー(反転ビット)はメモリスタック障害によるビット反転で生じている。このため、メモリスタック障害により固定化されたアドレスのビット値と、反転ビットのビット値とは同じである。したがって、テストセルがオリジナルのセルと同じアドレスに書き込まれる場合には、オリジナルのセルと同様のビット反転は起こらない。これによって、テストセルT1のペイロードのハッシュ値にメモリスタック障害が反映されず、障害が再現性なしと誤判断される可能性があった。
上記問題を解決するために、再現試験モジュール143で実施される再現試験では、以下の処理が行われる。すなわち、図12に示すように、再現試験モジュール143は、少なくともエラー判定用領域における全てのビット値が“0”である(テストフラグ“ON”=1を除く)テストパケット(オールゼロパケット)T2と、少なくともエラー判定用
領域における全てのビット値が“1”である(テストフラグ“ON”=1)テストパケッ
ト(オールワンパケット)T3とを生成し、テストパケットT2及びT3に関して、テストパケットT1と同様の再現試験を行う。
テストパケットT2及びT3は、オリジナルのIPパケットと同じサイズを有する。エラー判定用領域は、テストパケットT2及びT3が有するテストフラグの格納領域を除いた領域である。但し、テストパケットT2及びT3にテストフラグを設定することなく、
受信パケットがテストパケットか否かを判断できる場合には、テストフラグの格納領域も、“0”又は“1”とすることができる。例えば、受信パケット中の“0”又は“1”の占有率が所定閾値以上である場合に、テストパケットT2又はT3であると判定する処理を行うことで、テストパケットT2又はT3に対するテストフラグの設定を回避することができる。テストパケットT2は、“第2テストデータブロック”の一例であり、テストパケットT3は、“第3テストデータブロック”の一例である。
テストパケットT2及びT3は、パケット分割回路154に送られ、複数のテストセルに分割される。各テストセルは、オリジナルのセルと同様のセル伝達経路を辿り、パケット組立回路155で受信される。パケット組立回路155は、受信されたテストセルを用いてテストパケットT2及びT3を組み立てる。パケット組立回路155は、組み立てたテストパケットT2及びT3と、これらの組立に用いたテストセルのテイラー情報とを、再現試験モジュール143に送信する。
再現試験モジュール143は、テストパケットT2及びT3のテイラー情報に含まれる、セル内の複数のハッシュ値が同じか否かを判定する。テストパケットT2又はT3に係る複数のハッシュ値が不一致である場合には、ペイロードの少なくとも1つのビットが反転していることを意味する。したがって、複数のハッシュ値が不一致である場合には、ハッシュ値の変動が最初に現れた箇所でメモリスタック障害が生じていると判定することができる。さらに、再現試験モジュール143は、ハッシュ値の不一致が生じた場合には、ハッシュ値の不一致を生じたテストパケットT2及びT3の一方を1回以上パケット分割回路154へ再度送り、ハッシュ値について同一の結果が得られるか(障害が再現されるか)を判定することができる。
上述した処理によって、再現試験モジュール143は、パケット組立回路155(組立回路)でそれぞれ組み立てられたテストパケットT2(第2テストデータブロック)及びテストパケットT3(第3テストデータブロック)の少なくとも一方のエラー判定用領域が反転したビット値を持つか否かを判定することができる。
[テストパケットT2及びT3を用いた再現試験の作用効果]
上記したテストパケットT2及びT3を用いた再現試験によれば、テストパケットT1では検出できないメモリスタック障害を検出することができ、再度のテストパケットT2又はT3の送信によって、メモリスタック障害の再現性を確認することができる。
また、テストパケットT2及びT3を用いた再現試験も、テストパケットT1を用いた再現試験と同様に、テストパケットT2及びT3をパケット分割回路154に送信する(入力する)だけである。したがって、通信装置10の作動状態(サービス状態)において再現試験を実施することができる。
[共用メモリアドレス情報を用いた障害確認試験(共有メモリ診断)]
上述したように、QoS処理回路16では、複数のセルフローのセルが共有メモリ(メモリ162)に格納される。このため、或るセルフローのセルのメモリ162に対する書込み位置は、他のセルフローのセルの格納状況に応じて変動する。したがって、上記の再現試験において、テストセルのメモリ162に対するセルの書き込み位置が、オリジナルのセルの書込み位置と同じであることは保証されない。このため、QoS処理回路16のメモリ162に起因するビットエラーが疑われる場合であっても、オリジナルのセルと同条件で再現試験を行うことが困難であった。
このため、再現試験モジュール143は、エラーパケットE1が発生したときのセル内の複数のハッシュ値の不一致状況から、QoS処理回路16とスイッチ1との間の障害が
疑われる場合には、以下のような、テイラー情報に含まれる共用メモリアドレス情報を用いた障害確認試験を実施する。
障害確認試験は、テストパケットT1を用いた再現試験、又はテストパケットT2及びT3を用いた再現試験と並列に、又は独立して実施することができる。障害確認試験は、通信装置10が作動中(サービス中)である場合には、共有メモリアドレス情報から定まるアドレスが空き状態であるときに実施される。例えば、制御回路17がメモリ162の空き状態を監視して装置制御回路14(CPU141A)に通知し、CPU141A(再現試験モジュール143)は、試験対象アドレスの空き状態を検知したときに障害確認試験を実施する。
障害確認試験は、次のようにして行われる。すなわち、図12に示すように、再現試験モジュール143は、テイラー情報に含まれる共有メモリアドレス情報、すなわちメモリ162のアドレスポインタに基づくメモリ領域の書込み/読み出し(W/R)試験を実行する。
具体的には、装置制御回路14のCPU141A(再現試験モジュール143)が、対応するフォワーディング処理回路12の制御回路17(CPU171A)に対し、当該メモリ領域のW/R試験の指示を送り、CPU171Aが、指示に従ってメモリ162にアクセスし、W/R試験を実施する。W/R試験の書込みデータと読み出しデータとは、再現試験モジュール143に送信される。もっとも、CPU171Aが書込みデータと読み出しデータとの一致・不一致の判定結果をさらに送信するようにしても良い。或いは、一致・不一致の判定結果のみが再現試験モジュール143に送信されるようにしても良い。
再現試験モジュール143は、書込みデータと読み出しデータとが不一致である場合に、試験対象の共有メモリ領域に障害があると判定する。このように、障害確認試験によれば、共有メモリ領域の障害が疑われる場合に、当該領域のW/R試験(すなわち、共有メモリの診断)によって、被疑箇所が障害を有するか否かを判定することができる。
[再現試験モジュールの処理例]
図14は、上述した再現試験及び障害確認試験に係る装置制御回路14の処理例を示すフローチャートである。図14に示す装置制御回路14の処理は、CPU141Aのプログラム実行による機能である再現試験モジュール143によって実施される。
図14において、再現試験モジュール143(CPU141A)は、パケット受信によって処理を開始する。最初に、再現試験モジュール143は、受信されたパケットがテスト用パケットか否かを判定する(041)。すなわち、再現試験モジュール143は、パケットがテストフラグを有する(テストフラグがオンである)か否かで、受信パケットが通常パケット(エラーパケットE1)かテストパケットかを判定する。受信パケットがエラーパケットE1であれば、処理が042に進む。
042では、再現試験モジュール143は、エラーパケットの確認処理を実行する。すなわち、エラーパケットE1とともに受信されたテイラー情報に含まれるセル内の複数のハッシュ値を参照し、ハッシュ値が不一致、すなわちエラーが発生していることを確認する。続いて、再現試験モジュール143は、テイラー情報に含まれる共用メモリアドレス情報を確認する(043)。なお、再現試験モジュール143が、上記042の処理にあたって制御回路17にテイラー情報の転送を要求するようにしても良い。
次に、再現試験モジュール143は、テストパケットT1〜T3を生成する(044)。すなわち、再現試験モジュール143は、テストパケットT1(エラーパケットE1の
コピー),テストパケットT2(オールゼロパケット),及びテストパケットT3(オールワンパケット)をメモリ142B上で生成し、各テストパケットT1〜T3にテストフラグを設定する。また、テストパケット番号を各テストパケットT1〜T3に設定し、各テストパケット番号をメモリ142Bに格納する。例えば、テストパケットT1,T2,T3には、テストパケット番号“1”,“2”,“3”が与えられる。
そして、再現試験モジュール143は、パケット分割回路154へテストパケットT1〜T3を送信する。
その後、再現試験モジュール143は、パケット組立回路155で組み立てられたテストパケットT1〜T3と、対応するテイラー情報とを受信し、メモリ142Bへ格納する。テストパケットT1〜T3の受信時には、041の処理が実行される。このとき、テストパケットT1〜T3にはテストフラグが設定されているので、処理が045に進む。
045では、再現試験モジュール143が、テスト結果(事象再現性)の確認処理を実行する。すなわち、テイラー情報を用いた複数のハッシュ値の不一致状況が、オリジナルの不一致状況と一致するかの判定を行う。さらに、再現試験モジュール143は、テストパケットT2及びT3のテイラー情報(ハッシュ値)に基づくビットエラー(メモリスタック障害によるビット反転)の有無を判定する。このようにして、再現試験モジュール143は、テストパケットT1〜T3に基づく障害の再現性の有無を確認する。
なお、上記した045の処理の代わりに、テイラー情報を取得するパケット組立回路154、又は当該パケット組立回路154が含まれたフォワーディング処理部12の制御回路17が上記した045の処理と同様の判定処理を行って再現性の確認結果を再現試験モジュール143に送信し、045では、再現試験モジュール143が送信された再現性の確認結果の内容の確認のみを行う構成を適用することもできる。
次に、再現試験モジュール143は、事象に再現性があるか否かを判定する(046)。事象に再現性があると判定する場合(046のYES)には、再現試験モジュール143は、事象が恒久障害であるとして、障害処理を起動する。
これに対し、事象に再現性がないと判定する場合(046のNO)には、恒久障害の被疑箇所がQoS処理回路16か否かを判定する(047)。当該判定は、複数のハッシュ値の不一致が、QoS処理回路16でセルに格納されるハッシュ値“H2”を起点に生じているか否かを判定することで、実施することができる。
恒久障害の被疑箇所がQoS処理回路16でない場合(047のNO)には、オリジナルのIPパケットに対して起こったビットエラーは、一過性障害により生じたものと判定される。これに対し、恒久障害の被疑箇所がQoS処理回路16である場合(047のYES)には、再現試験モジュール143は、上述した共有メモリアドレス情報を用いた共有メモリ診断を実行する(048)。
そして、事象の再現性があるか否かを判定する(049)。049では、再現試験モジュール143は、共有メモリ診断におけるW/R試験の結果として、書込みデータと読み出しデータとの間の不一致を認めた場合に、再現性なしと判断する(049のNO)。そして、オリジナルのIPパケットのビットエラーが一過性障害により生じたと判定される。これに対し、再現試験モジュール143が、書込みデータと読み出しデータとの間の不一致を認めた場合に、再現性ありと判断する(049のYES)。この場合、恒久障害は生じているとして、障害処理が起動される。
<障害処理>
障害処理として、以下の処理が実施される。例えば、再現試験モジュール143(装置制御回路14)は、装置制御回路14に接続された監視端末(コンソール)20(図2)に含まれる表示装置(図示せず)に、少なくともテイラー情報を用いた障害通知情報を表示する。
図15及び図16は、障害通知情報の表示例を示す。図15は、ハッシュ値の不一致(不整合)に再現性がある場合の障害通知情報を表で示す。但し、図15の表において、“Hash1”は、QoS処理回路16で格納されるハッシュ値を示し、“Hash2”はスイッチ1で格納されるハッシュ値を示す。また、“Hash3”はスイッチ2で格納されるハッシュ値
を示し、“HashX”はパケット組立回路155で格納されるハッシュ値を示す。すなわち
、パケット分割回路154及びスイッチ2のハッシュ値の表示は省略されている。なお、図15において、パケット分割回路154及びスイッチ2のハッシュ値は“Hash1”と同
じである。
表において、パケット番号は、パケットの識別情報であり、図14に示した044で設定される。テストタイプは、再現試験に用いられるテストパケットのタイプを示す。図15の例では、“0”がオリジナルのIPパケット、“1”がテストパケットT1,“2”
がテストパケットT2,“3”がテストパケットT3を示す。開始ポインタ及び終了ポイ
ンタは、各パケットのテイラー情報に含まれる共有メモリアドレス情報(すなわち、アドレスポインタ)を示す。
なお、テイラー情報は、セル毎に得られるので、図15に示す表は、セル毎に表示するようにしても良い。但し、例えば、障害処理起動の判定に用いた1つのセルのテイラー情報のみが表示されるようにしても良い。
図15の表に示す例では、テストタイプ“0”(オリジナルのIPパケット)のレコードにおける“Hash3”の値と“HashX”の値とから、スイッチ3とパケット組立回路155との間でペイロードのビットエラーが生じたことが検出される[1−A]。
さらに、テストタイプ“1”(テストパケットT1)のレコードにおける“Hash3”の
値と“HashX”の値とから、ハッシュ値変動の発生状況がオリジナルと一致、すなわちエ
ラーの再現性が確認される[1−B]。このような再現性確認を契機として障害処理が起動される[1−C]。
図16は、障害通知情報の他の表示例を示す。図16は、ハッシュ値の不整合の再現性がなく、かつ恒久障害の被疑箇所に共有メモリが含まれる場合の障害通知情報を表で示す。図16の表でも、図15の表と同様に、パケット分割回路154及びスイッチ3のハッシュ値の表示は省略されている。なお、図16において、パケット分割回路154のハッシュ値は、“Hash1”と同じである。スイッチ3のハッシュ値は、“Hash3”と同じである。
図16の表に示す例では、テストタイプ“0”(オリジナルのIPパケット)のレコードにおける“Hash1”の値と“Hash2”の値とから、QoS処理回路16とスイッチ1との間でペイロードのビットエラーが生じたことが検出される[2−A]。
しかし、その後のテストタイプ“1”(テストパケットT1),テストタイプ“2”(
テストパケットT2),及びテストタイプ“3”(テストパケットT3)に対応する各レ
コードにおけるハッシュ値の値からは、エラーの再現性が確認できない[2−B]。
このため、テストタイプ“0”のレコードの開始ポインタ及び終了ポインタ(共有メモリアドレス情報)を用いた共有メモリ診断(W/R試験)が実施される[2−C]。そして、書込みデータと読み出しデータとの不一致が検出された場合には障害処理が起動される[2−D]。
障害処理として、装置制御回路14は、複数のハッシュ値から恒久障害箇所を特定する。すなわち、装置制御回路14のROM/メモリ142には、通信装置10の装置情報として、上述したセル伝達経路においてハッシュ値を格納する各回路の情報が予め記憶されている。装置制御回路14のCPU141Aは、ハッシュ値と回路との対応付けを図ることで、ハッシュ値の変動がどの回路間で生じているかを認識し、ハッシュ値変動の起点となった回路を恒久障害箇所の回路として特定する。例えば、スイッチ1が格納したハッシュ値とスイッチ2が格納したハッシュ値との間で値が異なっていれば、CPU141Aは、装置情報とハッシュ値との対応付けによりスイッチ1とスイッチ2との間で障害が発生していると判定し、スイッチ2を恒久障害箇所として特定する。
そして、恒久障害箇所として特定された回路(デバイス)を障害処理対象とする復旧(リカバリ)処理が実行される。復旧処理は、例えばリロード処理であり、リロード処理として、例えば回路(デバイス)のデバイスドライバの書き換えなどが実行される。このとき、恒久障害箇所として特定された回路(デバイス)が冗長構成を有している場合には、予備システム(予備回路(予備デバイス))への切替処理の後に、復旧処理が実行される。冗長構成がない場合には、通信装置10を一時的に停止して復旧処理が実行される。このような障害処理は、通信装置10内で自律的に実行される。もっとも、障害処理がマニュアルで実行されるようにしても良い。このように、特定された恒久障害箇所を対象とする局所的な障害処理(リロード処理)が実施されることによって、復旧に要する時間の短縮化、作業の軽減を図ることができる。なお、図15、図16に示したテストタイプ0のレコードが再現試験前に端末20に表示されるよう様にしてもよい。
<実施形態の作用効果>
以上説明した実施形態によれば、IPパケットが分解された複数のセルが転送されるセル伝達経路上における障害発生箇所の特定を容易化することができる。また、通信装置10の作動状態において、再現試験を実施し、障害が一過性障害か恒久障害かを判別するこができる。よって、間歇的に異常が検出される障害被疑箇所を特定し、障害処理を迅速かつ装置自律で起動させることが可能となる。また、障害被疑箇所が特定されることで、復旧処理の範囲を最小限に止めることが可能となる。
なお、実施形態は、L3SWの構成例について説明したが、通信装置10としてL2SWが適用される場合には、IPパケットの代わりにMACフレームがセル分割の対象となる。IPパケット及びMACフレームは、“データブロック”の一例である。
<その他>
上記実施形態は、以下の付記を開示する。付記に記載された事項は、適宜組み合わせることができる。
(付記1) ネットワークから受信されたデータブロックを複数のセルに分割する分割回路と、
前記複数のセルから前記データブロックを組み立てる組立回路と、
前記分割回路と前記組立回路との間の前記複数のセルの伝達経路上に配置され、前記伝達経路から受信される複数のセルに対して所定の処理を実行する複数の処理回路と、
前記組立回路に含まれた、又は前記組立回路から独立した制御回路とを含み、
前記分割回路,前記組立回路,前記複数の処理回路のうちの少なくとも2つが、前記複数
のセルの少なくとも1つに対するエラーチェック計算の計算結果を当該セルに格納し、
前記制御回路が前記セルに格納された複数の計算結果に不一致があるか否かを判定する通信装置。(1)
(付記2) 前記複数の計算結果に不一致があるときに、前記複数のセルから組み立てられた前記データブロックのコピーであるテストデータブロックを前記分割回路に供給し、前記複数の処理回路を経て前記組立回路に到達する、前記分割回路での前記テストパケットの分割によって生成された複数のテストセルの少なくとも1つに格納された前記エラーチェック計算の複数の計算結果の不一致状態が、前記データブロックに係る前記複数の計算結果と一致するか否かを判定する第2の制御回路をさらに含む
付記1に記載の通信装置。(2)
(付記3) 前記第2の制御回路は、前記テストパケットに加えて、少なくともエラー判定用領域の全てのビット値が0である第2テストデータブロックと、少なくともエラー判定用領域の全てのビット値が1である第3テストデータブロックとを前記分割回路に供給し、前記再現判定処理に加えて、前記組立回路でそれぞれ組み立てられた第2テストデータブロック及び第3テストデータブロックの少なくとも一方のエラー判定用領域が反転したビット値を持つか否かを判定する
付記2に記載の通信装置。(3)
(付記4) 前記複数の処理回路の少なくとも1つは、前記複数のセルに対する処理のために共有メモリに前記複数のセルを格納するとともに、前記計算結果が格納される前記複数のセルの少なくとも1つに、前記複数のセルの格納に用いた共有メモリのアドレスを示す共有メモリアドレス情報を格納し、
前記第2の制御回路は、前記データブロックに係る前記複数の計算結果に不一致がある場合に、前記共有メモリアドレス情報を用いた前記共有メモリの診断処理を実行する
付記2又は3に記載の通信装置。
(付記5) ネットワークから受信されたデータブロックを分割回路によって複数のセルに分割し、
前記複数のセルから前記データブロックを組立回路によって組み立て、
前記分割回路と前記組立回路との間の前記複数のセルの伝達経路上に配置された複数の処理回路が、前記伝達経路から受信される複数のセルに対して所定の処理を実行し、
前記分割回路,前記組立回路,前記複数の処理回路のうちの少なくとも2つが、前記複数のセルの少なくとも1つに対するエラーチェック計算の計算結果を当該セルに格納し、
前記組立回路に含まれた、又は前記組立回路から独立した制御回路が前記セルに格納された複数の計算結果に不一致があるか否かを判定する
ことを含む通信装置の障害検知方法。
E1・・・エラーパケット
T1〜T3・・・テストパケット
1・・・コアネットワーク
2・・・アクセスネットワーク
3・・・エッジルータ
4・・・コアルータ
10・・・通信装置
11・・・回線処理回路
12・・・フォワーディング処理回路
13・・・スイッチング回路
14・・・装置制御回路
15・・・パケット処理回路
16・・・QoS処理回路
17・・・制御回路
111・・・光モジュール
112・・・PHY
113・・・MAC
114・・・フレーマ
131・・・スイッチデバイス
141,171・・・CPU/バスコントローラ
142,172・・・ROM/メモリ
143・・・再現試験モジュール
151・・・L2/L3処理エンジン
152・・・CAM
153,162・・・メモリ
154・・・パケット分割回路
155・・・パケット組立回路
161・・・トラフィックマネージャ

Claims (4)

  1. ネットワークから受信されたデータブロックを複数のセルに分割する分割回路と、
    前記複数のセルから前記データブロックを組み立てる組立回路と、
    前記分割回路と前記組立回路との間の前記複数のセルの伝達経路上に配置され、前記伝達経路から受信される複数のセルに対して所定の処理を実行する複数の処理回路と、
    前記組立回路に含まれた、又は前記組立回路から独立した制御回路とを含み、
    前記分割回路,前記組立回路,前記複数の処理回路のうちの少なくとも2つが、前記複数のセルの少なくとも1つに対するエラーチェック計算の計算結果を当該セルに格納し、
    前記制御回路が前記セルに格納された複数の計算結果に基づきセルのエラーの有無及びエラー原因となった障害発生箇所を特定する
    通信装置。
  2. 前記複数の計算結果に不一致があるときに、前記複数のセルから組み立てられた前記データブロックのコピーであるテストデータブロックを前記分割回路に供給し、前記複数の処理回路を経て前記組立回路に到達する、前記分割回路での前記テストパケットの分割によって生成された複数のテストセルの少なくとも1つに格納された前記エラーチェック計算の複数の計算結果の不一致状態が、前記データブロックに係る前記複数の計算結果と一致するか否かを判定する第2の制御回路をさらに含む
    請求項1に記載の通信装置。
  3. 前記第2の制御回路は、前記テストパケットに加えて、少なくともエラー判定用領域の全てのビット値が0である第2テストデータブロックと、少なくともエラー判定用領域の全てのビット値が1である第3テストデータブロックとを前記分割回路に供給し、前記再現判定処理に加えて、前記組立回路でそれぞれ組み立てられた第2テストデータブロック及び第3テストデータブロックの少なくとも一方のエラー判定用領域が反転したビット値を持つか否かを判定する
    請求項2に記載の通信装置。
  4. 前記複数の処理回路の少なくとも1つは、前記複数のセルに対する処理のために共有メモリに前記複数のセルを格納するとともに、前記計算結果が格納される前記複数のセルの少なくとも1つに、前記複数のセルの格納に用いた共有メモリのアドレスを示す共有メモリアドレス情報を格納し、
    前記第2の制御回路は、前記データブロックに係る前記複数の計算結果に不一致がある場合に、前記共有メモリアドレス情報を用いた前記共有メモリの診断処理を実行する
    請求項2又は3に記載の通信装置。
JP2012140915A 2012-06-22 2012-06-22 通信装置 Pending JP2014007501A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012140915A JP2014007501A (ja) 2012-06-22 2012-06-22 通信装置
US13/847,638 US20130346837A1 (en) 2012-06-22 2013-03-20 Communication device
CN201310129931.7A CN103516631A (zh) 2012-06-22 2013-04-15 通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012140915A JP2014007501A (ja) 2012-06-22 2012-06-22 通信装置

Publications (1)

Publication Number Publication Date
JP2014007501A true JP2014007501A (ja) 2014-01-16

Family

ID=49775504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012140915A Pending JP2014007501A (ja) 2012-06-22 2012-06-22 通信装置

Country Status (3)

Country Link
US (1) US20130346837A1 (ja)
JP (1) JP2014007501A (ja)
CN (1) CN103516631A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020508004A (ja) * 2017-02-17 2020-03-12 ホアウェイ・テクノロジーズ・カンパニー・リミテッド パケット処理方法および装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015075763A1 (ja) * 2013-11-21 2015-05-28 富士通株式会社 情報処理システム、情報処理装置、及びデータ通信方法
CN105591814B (zh) * 2015-12-08 2018-10-23 河南誉凌电子科技有限公司 一种在线监测e1通道质量的方法及其监测***
US11907052B2 (en) * 2020-04-20 2024-02-20 Dell Products L.P. Systems and methods for encrypting unique failure codes to aid in preventing fraudulent exchanges of information handling system components

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6618366B1 (en) * 1997-12-05 2003-09-09 The Distribution Systems Research Institute Integrated information communication system
US6714553B1 (en) * 1998-04-15 2004-03-30 Top Layer Networks, Inc. System and process for flexible queuing of data packets in network switching
US6608861B1 (en) * 1998-10-05 2003-08-19 Motorola, Inc. Data terminal and coding method for increased data packet reliability in a frequency hopping system
KR100667739B1 (ko) * 2000-06-09 2007-01-12 삼성전자주식회사 무선 데이터 송수신 장치 및 그 방법
US7185153B2 (en) * 2003-12-18 2007-02-27 Intel Corporation Packet assembly
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
JP4786522B2 (ja) * 2006-12-25 2011-10-05 富士通株式会社 パケット中継方法及び装置
FR2943197B1 (fr) * 2009-03-13 2015-02-27 Thales Sa Procede et dispositif de transmission robuste de flux de paquets de donnees a en-tetes compresses sans augmentation de debit
US8891528B2 (en) * 2012-06-21 2014-11-18 Breakingpoint Systems, Inc. Managing the capture of packets in a computing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020508004A (ja) * 2017-02-17 2020-03-12 ホアウェイ・テクノロジーズ・カンパニー・リミテッド パケット処理方法および装置
US11218572B2 (en) 2017-02-17 2022-01-04 Huawei Technologies Co., Ltd. Packet processing based on latency sensitivity

Also Published As

Publication number Publication date
US20130346837A1 (en) 2013-12-26
CN103516631A (zh) 2014-01-15

Similar Documents

Publication Publication Date Title
US8295160B2 (en) Data communication system, device and method of detecting a failure on an access line in a network
JP6544816B2 (ja) フォワーディング・テーブルを検査するための方法および装置、並びにデバイス
CN100454853C (zh) 检测业务通道的方法及提供检测业务通道方法的***
US9106523B2 (en) Communication device and method of controlling the same
CN108964943B (zh) 一种实现ioam封装的方法及装置
US9253062B2 (en) Byte by byte received data integrity check
US20130223204A1 (en) Communication Device for a Redundantly Operable Industrial Communication Network and Method for Operating the Communication Device
CN106375158B (zh) 一种丢包检测方法、网络设备及***
CN102594600B (zh) 一种确定双向转发检测会话故障位置的方法及***
US6424632B1 (en) Method and apparatus for testing packet data integrity using data check field
US8812759B2 (en) Bus subscriber device for connection to a line-redundant data bus, and method for controlling the communication of a bus subscriber with a line-redundant serial data bus
US8547845B2 (en) Soft error recovery for converged networks
CN103200129B (zh) 一种异常报文的镜像方法和装置
CN109474495B (zh) 一种隧道检测方法及装置
US20200044964A1 (en) Defect detection in ip/mpls network tunnels
JP2014007501A (ja) 通信装置
US20160057043A1 (en) Diagnostic routing system and method for a link access group
JP2009117920A (ja) 通信装置、通信方法および通信プログラム
JP4724763B2 (ja) パケット処理装置およびインタフェースユニット
US9276876B2 (en) Data transfer apparatus and data transfer method
US8929200B2 (en) Communication device, communication system, and communication method
JP2008227890A (ja) Tdm回線エミュレーションにおける2重化構成の伝送方法、伝送システム及び受信装置
JP5843397B2 (ja) 通信装置
CN203135908U (zh) 一种afdx总线检测***
CN110971477B (zh) 一种通信方法、设备、***和存储介质