JPH08102761A - プロトコル変換装置およびプロトコル変換方法 - Google Patents

プロトコル変換装置およびプロトコル変換方法

Info

Publication number
JPH08102761A
JPH08102761A JP26128094A JP26128094A JPH08102761A JP H08102761 A JPH08102761 A JP H08102761A JP 26128094 A JP26128094 A JP 26128094A JP 26128094 A JP26128094 A JP 26128094A JP H08102761 A JPH08102761 A JP H08102761A
Authority
JP
Japan
Prior art keywords
protocol
atm
cell
processing
processor
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
JP26128094A
Other languages
English (en)
Inventor
Mikio Hashimoto
幹生 橋本
Keiji Tsunoda
啓治 角田
Yasuro Shohata
康郎 正畑
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP26128094A priority Critical patent/JPH08102761A/ja
Publication of JPH08102761A publication Critical patent/JPH08102761A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 誤り検出符号計算処理を高速化したプロトコ
ル変換装置を提供すること。 【構成】 ATMプロトコルに従う第1の伝送情報とA
TMプロトコル以外のプロトコルに従う第2の伝送情報
の相互間で、該伝送情報に対するプロトコル変換処理を
行うとともに、該プロトコル変換処理のうち誤り検出処
理を含む少なくとも一部の処理を少なくとも1つのプロ
セッサを用いて処理するプロトコル変換装置において、
前記第1及び第2の伝送情報に対して、プロトコル変換
前のプロトコルにおける誤り検出処理を施す手段と、前
記第1及び第2の伝送情報のうちプロトコル変換にて内
容が変化された部分に対して、変換後のプロトコルにお
ける誤り検出処理を施す手段とを具備したことを特徴と
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ATMとATM以外の
インタフェース形式の通信を相互接続する装置および方
法に係り、それぞれのインタフェース固有の形式で送信
されるデータを相互に変換するプロトコル変換装置およ
び方法に関する。
【0002】
【従来の技術】2つの通信方式の間で情報を互いに転送
するために設けられる装置は、プロトコル変換装置(I
nter Working Functionと呼ばれ
る。ここではATMとフレームリレーとの間を結ぶプロ
トコル変換装置(以下、IWFと呼ぶ)を例としてAT
Mインタフェースを持つ従来のIWFの技術を説明す
る。
【0003】フレームリレーは、ITU−T勧告X.2
5に代表される既存パケット網を高速化する場合に有力
なプロトコルである。フレームリレー(以下、FRと略
す)では、通信路の伝送品質向上にともなって、リンク
毎に行っていた再送制御などのプロトコルを簡略化した
結果、既存パケット通信に近い利用者インタフェースを
持ちながら、通信速度、遅延性能が向上している。
【0004】一方、ATMは音声、データなどの各種通
信を統合するプロトコルである。ATMでは、情報はセ
ルという比較的短いパケットに格納され、ルーティング
される。
【0005】図11に、交換装置の中に実装された場合
のIWFの概念図を示す。このIWFは、ATMとFR
の2種類のインタフェースを持つ。
【0006】ATMインタフェース11121〜111
23から入力されたセルは、ATMスイッチ11101
でスイッチングされ、そのうちの予め定められたコネク
ションのセルはIWF11111〜11113に入力さ
れる。IWFはセルの形で入力されたパケットをFR形
式に変換し、その他必要な処理を行ってFRのラインイ
ンタフェースに出力する。IWFは、FRのインタフェ
ースから入力されたパケットをセルに分解し、ATMへ
と送出する処理も行う。
【0007】IWF機能仕様については、ITU−T勧
告I.365.1 Specific Converg
ence Sublayer(FR−SSCS)bet
ween Frame Relaying and B
−ISDN)に定められている。仕様上、IWFは単純
にそれぞれのプロトコル機能(Q.922core,F
R−SSCS(Fame Relaying Serv
ice Specific Convergence
Sublayer))を接続することによって、例えば
図12に示すように簡単に実現可能である。
【0008】ところで、従来、2つのプロトコル機能
は、それぞれ次のような方法で実装されてきた。
【0009】(ハード/ソフトの分担構成例)図13
は、従来のIWF内部の機能配置の概念図である。図1
3において、11301,11302,11303は、
それぞれプロセッサ、メモリ、プロセッサバスを表す。
11311,11321,11322は、それぞれハー
ドウェアによって構成されるFR−PHY部,AAL5
−CPCS部,ATMレイヤ機能である。また、113
32,11332は、それぞれプロセッサによって実行
されるフレームリレープロトコル処理(以下Q.922
処理と略す)、FR−SSCS処理である。
【0010】フレームリレープロトコルの処理機能のう
ち、レイヤ1とレイヤ2の一部に属する機能は、ITU
−T勧告I.431に従うレイヤ1物理レイヤ処理を論
理ゲートによって構成した専用ハードウェア11311
として実現される。また、ITU−T勧告Q.922コ
アに従うレイヤ2処理は、プロセッサによるソフトウェ
ア処理11331として実装される。
【0011】また、ATM側の機能のうち、ATMレイ
ヤ機能とAAL5−CPCS部の機能は、専用ハードウ
ェアとして実装される。そして、AALのサービス固有
部、FR−SSCRは、プロセッサによるソフトウェア
処理として実装される。
【0012】ATMレイヤ機能からCPCS機能まで
が、専用ハードウェアによって実装されるのは、高速な
ATMインタフェースに対応する場合にはソフトウェア
処理では必要な速度が出ないためである。
【0013】(処理フローの概要)次に、図14に基づ
いてIWFで行われる処理の内容をより詳細に説明す
る。図14において、11411,11412,114
13,11414,11415,11416は、フレー
ムリレーインタフェースからの入力を処理する機能群で
あり、それぞれ物理レイヤ機能部、Q.922機能部、
AAL5機能部、ATMレイヤ機能部、シェイピング
(空セル挿入)機能部、出力セルバッファを表す。ま
た、11421,11422,11423,1142
4,11425,11426は、ATMスイッチ114
41からの入力を処理する機能であり、それぞれ入力セ
ルバッファ、ATMレイヤ多重化機能部、空セル/無効
セル処理機能部、AAL5機能部、Q.922機能部、
物理レイヤ機能部を表す。11431は、入出力共通の
OAM機能部を表す。
【0014】(ATMからFRへの変換)ATMスイッ
チ11441から入力したATMセルは、ITU−T勧
告I.361に記述されている仕様に基づいて、ATM
レイヤ機能部11422でコネクション毎に分離され
る。セルの分離に先だって、ATMスイッチ11441
内のルーティングやOAMのために付加されたルーティ
ングタグ情報は削除される。
【0015】OAMセルは、OAM機能部11431へ
送られ、空セル/無効セルはそれぞれのセルを扱う機能
によって廃棄される。予め定められたAALコネクショ
ンに対応するヘッダ値を持つセルは、AAL機能部11
424に渡され、当該AAL機能部11424によって
処理される。セルを受信したAAL機能部11424の
SARサブプレイヤでは、ITU−T勧告I.363に
記述されている仕様に基づいて、セルヘッダ情報を参照
しながら、複数のセルペイロードをつなぎ合わせて、S
AR−SDUを再構成する。そして、AALのCPCS
サブレイヤ機能部で誤り検出などの処理が行われる。こ
れらの処理をハードウェア的に行う方法は、広く知られ
実用化されている。図13の構成図に示したATMレイ
ヤ機能部11322、AAL5−CPCS機能部113
21がこれに対応する。
【0016】図13の構成例では、次の処理はプロセッ
サ11301によって行われる。CPCSサブレイヤの
バッファメモリに格納されたCPCS−SDUは、プロ
セッサによって読み出されてプロセッサのバッファメモ
リ(図示せず)に転送される。AAL機能のうちFR−
SSCSは、CPCSサブレイヤから受けとったCPC
S−SDUのヘッダのフィールドを一部書き換えること
だけなので、バッファメモリ上のデータを操作すること
により容易に実現可能である。そして、今度はこのパケ
ットデータに、Q.922機能部11425の処理が行
われる。ここでの処理は、論理チャネルによる多重化、
DLCIの付け換えである。FR−SSCSから渡され
たパケットデータのDLCIフィールドを、予めその値
毎に定められた書き換えDLCI値に書き換える。
【0017】以下の処理は、図13の構成例ではFR−
PHY11311によって行われる。まず、レイヤ2パ
ケットについて、CRC−16の計算手順に基づいてC
RCが計算され、パケットの末端に付加される。そし
て、フレームの前後に、フラグパタンが付加される。こ
のデータ内容にフラグパタンと同じパタンが出現するこ
とを防ぐために、1bit単位で値0のビットデータが
挿入され、このデータに本来の物理レイヤ(レイヤ1)
処理すなわちラインコーディングの処理が行われて、フ
レームリレーインタフェースのライン出力としてデータ
が送出される。
【0018】(FRからATMへの変換)FRからAT
Mへの変換も、ほぼ同じ手順をたどる。多少異るのは、
ATMレイヤにおいて送信コネクションが予め定められ
た送信レートを越えないように、適宜他のコネクション
やOAMのセルを多重化しながら、あるいはそれで不十
分な場合は強制的に空セルを挿入することによって、送
信コネクションの送信レートを規定値以下に押えるシェ
イピング機能部11415があることである。
【0019】このようにして従来からあるATMやフレ
ームリレーの専用ハードウェアを組み合わせることによ
ってIWFを実現することが可能である。
【0020】ところで、これらの処理を実装する上で
は、必ずしも専用ハードウェアが必須とは限らない。汎
用プロセッサによる通信プロトコル処理の方法を用いれ
ばATMレイヤ、AAL、FR物理レイヤのプロセッサ
による処理が実用に耐える速度が達成できる可能性があ
る。従来専用ハードウェアによって実現されていた機能
を高性能汎用プロセッサのソフトウェア機能によって実
現することにより、専用ハードウェアを開発するコスト
を削減するのみならず、汎用プロセッサ部分の量産化に
よるコストダウンも期待できる。
【0021】既に説明したように、ATM−フレームリ
レーIWFをソフトウェア処理によって実現すること自
体は、従来技術を単純に組み合わせることによって容易
に実現可能である。だが、この実装方法は、プロセッサ
処理の特性に合わせた最適化の余地を残しており、プロ
セッサ処理に適した処理方式をとることによって性能の
向上もしくはコストの引下げを図ることが可能である。
また、ATMレイヤ機能/AAL機能をソフトウェア処
理によって実現することにより、将来別のATMレイヤ
機能やAAL機能に基づくサービスが現れても、既存の
IWFのハードウェアはそのままで対応が可能になる。
【0022】ところが、ATM−FRインタワーキング
におけるフトウェアによる通信機能の高速化は困難であ
った。これは、1つにはプロセッサ処理固有の問題点に
起因している。
【0023】プロセッサ処理固有の問題として、まず、
プロセッサ−メモリ間転送のオーバヘッドが挙げられ
る。近年の高性能プロセッサの速度向上はめざましい
が、一方で周辺の記憶装置の速度向上がプロセッサに追
い付かないため、メモリアクセスが処理速度の制限要因
になる、いわゆるvon neumann bottl
eneckの現象が顕著になって生じている。とりわ
け、次々と到着する新しいデータを処理しなければなら
ない通信装置で、この問題が顕著に現れることが指摘さ
れている(D.Banks,Mprudence.“A
High Performance Network
Architecture for aPA−RIS
C Workstation”.IEEE Journ
al onSelected Areas in Co
mmunication 1993 vol.10 N
o.1)。複雑なデータの操作ではなく、主記憶のある
部分から別の部分への単なるコピーのために、プロセッ
サが長時間使用されてしまうのである。特に、階層型プ
ロトコルをそのまま実装した場合、プロトコルの階層毎
にデータのコピーを行うことは、大変なプロセッサ能力
とプロセッサバス転送能力の浪費である。
【0024】従来からある解決法として、DMA転送に
よってプロセッサの動作と並行してデータ転送を行うこ
とも可能である。だが、プロセッサと記憶装置を共有し
て並行処理を行うためには、複雑な競合制御の機構が必
要である。また、複雑な機構には、それ自身にオーバヘ
ッドが発生し、コピーを並行処理しただけの性能の向上
が見込めない場合も多い。さらに、複雑な機構は、コス
ト増を招いてしまう。近年の高性能汎用プロセッサで
は、パイプラインと呼ばれる命令操作の並列実行によっ
て、メモリ−メモリ間転送においてDMA転送と同等の
性能を発揮するものがある。もちろん、プロセッサを使
ってデータ転送を行っている間はプロセッサによるデー
タ処理はできないが、これはDMA装置をとり入れるこ
ととの間のトレードオフ関係であり、現在の技術におい
てはデータ転送の速度はプロセッサを使用する場合もD
MA装置を使用する場合も大差ない。プロセッサ自身の
データ転送能力を有効に利用すれば、バスマスタがプロ
セッサのみの単純なハードウェア構成で比較的高速なデ
ータ転送処理を行うことができる。さらに、従来のプロ
トコル処理にあった不要なデータ転送を減らすことが必
要となる。
【0025】データ転送の問題とは別に、プロセッサ処
理には、不向きな処理がある。例えば、単純なビット操
作を数多く繰り返す、スクランブル/デスクランブル処
理や、CRCの計算処理である。プロセッサは、ワード
幅のテータを効率よく処理することはできるが、ワード
に跨ったデータの処理やワード内のビットフィールドに
対する繰り返し処理の効率は良くないためである。
【0026】
【発明が解決しようとする課題】従来のプロトコル変換
装置および方法では、誤り検出符号の計算処理を効率良
くかつ高速に行うことはできなかった。また、誤り検出
符号の計算をプロトコル変換前と変換後の2つのパケッ
ト形式のそれぞれについて計算しなければならなかった
ので、変換後も変わらない部分の計算については無駄が
生じており、処理速度の向上を妨げるものとなってい
た。
【0027】本発明は、上記事情に鑑みてなされたもの
であり、誤り検出符号計算処理を高速化したプロトコル
変換装置および方法を提供することを目的とする。
【0028】
【課題を解決するための手段】本発明は、第1のプロト
コルに従う第1の伝送情報を入力し、該第1の伝送情報
を第2のプロトコルに従う第2の伝送情報にプロトコル
変換するプロトコル変換装置において、入力した前記第
1のプロトコルに従う第1の伝送情報に対して、該第1
のプロトコルにおける誤り検出処理を、少なくとも1つ
のプロセッサ内で処理する第1の誤り検出処理手段と、
前記第2のプロトコルへとプロトコル変換された前記第
2の伝送情報のうち、該プロトコル変換後に内容が変化
する部分に対して、該第2のプロトコルにおける誤り検
出処理を、少なくとも1つのプロセッサ内で処理すると
ともに、該プロトコル変換後に内容が変化しない部分に
対しては、前記第1の誤り検出処理手段による処理結果
を利用する第2の誤り検出処理手段とを具備したことを
特徴とする。
【0029】また、本発明は、ATMプロトコルに従う
第1の伝送情報とATMプロトコル以外のプロトコルに
従う第2の伝送情報の相互間で、該伝送情報に対するプ
ロトコル変換処理を行うとともに、該プロトコル変換処
理のうち誤り検出処理を含む少なくとも一部の処理を少
なくとも1つのプロセッサを用いて処理するプロトコル
変換装置において、前記第1及び第2の伝送情報に対し
て、プロトコル変換前のプロトコルにおける誤り検出処
理を施す手段と、前記第1及び第2の伝送情報のうちプ
ロトコル変換にて内容が変化された部分に対して、変換
後のプロトコルにおける誤り検出処理を施す手段とを具
備したことを特徴とする。
【0030】また、本発明は、ATMプロトコルに従う
第1の伝送情報とATMプロトコル以外のプロトコルに
従う第2の伝送情報の相互間で、該第1及び第2の伝送
情報に対して相互間でプロトコル変換処理を行うととも
に、該プロトコル変換処理のうち誤り検出処理を含む少
なくとも一部の処理を少なくとも1つのプロセッサを用
いて行うプロトコル変換装置において、プロトコル変換
前後の前記伝送情報中に重複部分が存在する場合、該重
複部分の誤り検出処理を変換前後において一度だけ行う
手段を具備したことを特徴とする。
【0031】また、本発明は、ATMプロトコルに従う
第1の伝送情報とATMプロトコル以外のプロトコルに
従う第2の伝送情報の相互間で、該伝送情報に対するプ
ロトコル変換処理を行うプロトコル変換処理方法におい
て、いずれかの前記プロトコルに従う前記伝送情報を入
力するステップと、前記伝送情報に基づき所定の誤り検
出処理を行うとともに、該伝送情報のフォーマット変換
を行うステップと、前記伝送情報のうちフォーマット変
換によって内容が変化された部分に対して、変換後のプ
ロトコルにおける誤り検出処理を施すステップとを有す
ることを特徴とする。
【0032】
【作用】本発明では、プロトコル変換前後の伝送情報中
に重複部分が存在する場合、プロトコル変換の前後で行
う誤り検出符号計算処理(例えばCRC計算処理)は、
該重複部分に対しては変換前後において一度だけ行う。
【0033】例えばATMとフレームリレーの相互間で
のプロトコル変換では、どちらの形式のパケットにも誤
り検出のためCRC符号が付加される。プロトコル変換
の過程で書換えられたり付加/削除される領域はごく僅
かなので、この2種類のパケットは大半のデータ領域が
重複部分となる。
【0034】従来、2種類のインタフェースを処理する
機能を単純に結合していたので、この共通データ部分す
なわち重複部分に誤り検出符号計算処理を2度行ってい
たのに対し、本発明では、データ領域の大半をしめる重
複部分に対して、誤り検出符号計算処理は変換前後にお
いて一度だけ行うので、プロトコル変換処理の高速化が
期待できる。
【0035】また、誤り検出符号計算処理をプロセッサ
処理にて行う場合、処理負荷の大き誤り検出符号計算処
理を該重複部分に対しては一度だけで済ますことによ
り、処理負荷の削減を図ることができる。
【0036】
【実施例】以下、図面を参照しながら本発明の実施例を
説明する。
【0037】<実施例の基本構成>はじめに、本発明の
一実施例の基本構成・動作を説明する。
【0038】本実施例では、プロトコル変換装置(IW
F装置)にプロセッサ処理を適用する場合の基本構成に
ついて説明する。以下、図1〜6に基づいて本実施例を
説明する。
【0039】図1において、501はプロセッサ、50
2はプロセッサバス、503はプロセッサメモリ、50
4はATMセルをATMスイッチに出力するための出力
セルバッファ、505はATMスイッチからATMセル
を入力するための入力セルバッファ、506はフレーム
リレーライン入力を受信してレイヤ2パケットを生成す
るフレームリレー物理レイヤ処理機能(以下FR−PH
Yとする)、507はレイヤ2パケットを入力してフレ
ームリレーラインへ出力を行うフレームリレー物理レイ
ヤ処理機能(以下FR−PHYとする)、508はプロ
セッサがメモリへデータを書き込むと同時にそのCRC
を計算するCRC計算機能、509はATMスイッチで
ある。
【0040】図2において、601は受信側ATMレイ
ヤ機能プロセス、602はATMセルをパケットに組み
上げてフレームリレー形式に変換する、AAL5(FR
−SSCS)とQ.922プロトコルの一部を処理する
ATM−Q.922変換機能プロセス(以下ATM−F
R変換機能プロセスと呼ぶ)、603はフレームリレー
パケットを変換してATMセルに分解するQ.922プ
ロトコルの一部とAAL5(FR−SSCS)を処理す
るQ.922−ATM変換機能プロセス(以下FR−A
TM変換機能プロセスと呼ぶ)、604は送信側ATM
レイヤ機能プロセス、605はOAM機能プロセス、5
04は入力セルバッファ、505は出力セルバッファ、
507は出力FR−PHY、506は入力FR−PH
Y、509はATMスイッチである。
【0041】図3は、ATM−FR変換におけるプロセ
ッサの入出力装置、各機能プロセスとデータとの関係を
示している。
【0042】図3において、505は入力セルバッフ
ァ、601はATMレイヤプロセス、712はセルヘッ
ダ−機能変換テーブル、721はATMレイヤプロセス
から呼ばれる空セル処理機能サブルーチン、722はA
TMレイヤプロセスから呼ばれるOAMセル処理機能サ
ブルーチン、723はATMレイヤプロセスから呼ばれ
るAAL(SAR)機能サブルーチン、605はOAM
プロセス、732はOAMセルバッファ、741はAT
M−FR変換機能プロセス、742はAALバッファ、
508はCRC計算機能、751はAALバッファ74
1の中にあるバッファ1、752はAALバッファ74
1の中にあるバッファ1、753はAALバッファ74
1の中にあるバッファ1、507は出力FR−PHYで
ある。
【0043】図4は、FR−ATM変換におけるプロセ
ッサの入出力装置、各機能プロセスとデータとの関係を
示している。
【0044】図4において、504は入出力セルバッフ
ァ、601は出力ATMレイヤプロセス、812はコネ
クション−機能変換テーブル、821はATMレイヤプ
ロセスから呼ばれるOAMセル処理機能サブルーチン、
822はATMレイヤプロセスに対してOAM出力デー
タが存在することを示す出力セル表示、823はATM
レイヤプロセスから呼ばれれるAAL(SAR)機能サ
ブルーチン、824はATMレイヤプロセスに対してA
AL出力データが存在することを示す出力セル表示、6
05はOAMプロセス、832はOAMセルバッファ、
841はFR−ATM変換機能プロセス、842はAA
Lバッファ、508はCRC計算機能、851はAAL
バッファ841の中にあるバッファ1、852はAAL
バッファ841の中にあるバッファ2、853はAAL
バッファ841の中にあるバッファ3、506は入力F
R−PHYである。
【0045】図5は、IWFで処理される各パケットの
形式を示している。
【0046】図5において、901はフレームリレー伝
送線上を伝送される形式の信号を表す。902,903
はフラグパタン、911はレイヤ2フレーム、912〜
914はそれぞれレイヤ2フレームを構成するヘッダ、
情報フィールド、FCS、921はCPCS−PDU、
922〜923はそれぞれCPCS−PDUを構成する
情報フィールド、トレイラ、924〜928はそれぞれ
トレイラを構成するPAD,CPCS−UU,CPI,
Length,CRC、931−1,931−2〜93
1−nはセルである。
【0047】図6に、2portRAMを用いた場合の
本実施例の構成を示す。
【0048】1001はプロセッサ、1002はプロセ
ッサバス、1003は受信メモリ、1004は送信メモ
リ、1005は出力セルバッファ、1006は入力セル
バッファ、1007は受信側FR−PHY、1008は
送信側FR−PHY、1009はCRC計算機能、10
10はATMスイッチである。
【0049】以下、本実施例をさらに詳細に説明する。
【0050】本実施例においては、メモリという語句
は、通常のプロセッサメモリであるところのメインメモ
リではなく、現在の高速プロセッサにおける「キャッシ
ュメモリ」を示すものとする。高速キャッシュメモリと
比較的低速なメインメモリの併用によって、高速化とメ
モリの大容量化ができることはよく知られているが、通
信プロトコル処理の場合、キャッシュ機構が効率よく動
作する条件すなわちアクセスの局所性が少なくともデー
タについては成立しない。また、通信プロトコル処理の
場合、内部にタイマを持つため、命令のスワップアウト
を行うことによる実行時間の不確定性は、実装を困難に
する要因である。よって、ここでは命令/データともキ
ャッシュに括りつけて実行することを考える。また、プ
ロセッサ周辺装置も、いわゆるプロセッサバスではなく
キャッシュメモリのバスもしくは同等の高速バスに接続
することを前提としている。これは、メモリアクセス時
にプロセッサ中のパイプライン動作を乱さないよう、F
IFOを内蔵しているものとする。
【0051】次に、本実施例の前提となるプロセッサ処
理によるATM−FR−IWF装置の基本動作を、AT
M−FR変換、FR−ATM変換の順序で説明する。
【0052】[概略動作]図1及び図2に基づいて、本
発明の基本となるハードウェアとプロセッサ上のプロセ
スの動作の概要を説明する。
【0053】まず、ATMスイッチ509から入力した
セルは、入力セルバッファ505に蓄積される。この内
容は、プロセッサ501によって読み出され、以降はプ
ロセッサ501上のプロセスで扱われる。
【0054】ATMレイヤプロセス601は、セルヘッ
ダの値に基づいて予め定められた処理を起動する。フレ
ームリレー対応のコネクションのセルは、プロセッサメ
モリ503に転送され、セルに分割されたパケットが再
構成される。再構成されたパケットデータは、ATM−
FR変換プロセス602に渡されて、ATMとフレーム
リレーの変換に必要な処理が施される。ここまででプロ
セッサ501上の処理が終り、パケットはFR−PHY
507に引き渡されて、ラインインタフェースに送信さ
れる。
【0055】受信側では、FR−PHY506でレイヤ
2パケットが検出されると、プロセッサ501上のFR
−ATM変換プロセス603が起動され、データはプロ
セッサメモリ503に転送されて、パケットがAAL5
(FR−SSCS)形式に変換される。このパケット
は、ATMレイヤプロセス604でセルに分割され、A
TMレイヤプロセス604の一機能であるシェイピング
機能によってコネクション毎に予め定められたセルレー
トを越えないようにして、セル流として出力セルバッフ
ァ504に書き込まれ、ATMスイッチ509へ出力さ
れる。
【0056】次に、図3及び図4に基づいてプロセッサ
メモリ上のデータ構造を含めて詳細に動作を説明する。
【0057】[ATMからFRへの変換] (セルの入力 ATMプロセスの起動タイミング)AT
Mスイッチから出力されたセルは、FIFOバッファ5
05に格納される。FIFOバッファ505に蓄積され
たセルの量が予め定められた一定値を越えると、プロセ
ッサに割り込み信号が入力される。この割り込み信号に
よって、受信側ATMレイヤプロセス711が起動され
る。セルの到着をプロセッサへ通知することは、割り込
み信号によらず、例えばプロセッサからの定期的なポー
リングによっても可能ではあるが、一般に割り込み処理
はポーリングよりも応答が高速かつ無駄な監視処理が不
要なので、プロセッサの処理負荷が少いため、割り込み
処理の方が有利である。
【0058】(セル入力 バイト単位のアラインメン
ト)バッファにセルを格納する際には、プロセッサの扱
いを容易にするため、ワード単位でアラインメントを取
ることが望ましい。例えば1ワードが8バイトで構成さ
れるバスインタフェースにおいては、セルの先頭に3バ
イトの付加部分(PAD)を設けて、1セルのヘッダが
ワードの中で常に同じように位置するように格納する方
法が知られている。一般に、スイッチでセルを扱う場合
には、53byteのセルに数byteのルーティング
タグを付加して扱うことが多い。11byteのルーテ
ィングタグを付加することによって、セル長を64by
teとしてアラインメントをとることも可能である。
【0059】(セル先頭信号でヘッダを認識)また、A
TMスイッチからのセル先頭信号の出力を入力セルバッ
ファの中で保持し、プロセッサによるワード読みだしの
時に、当該ワードセル先頭であることをプロセッサ側に
通知する。
【0060】(テーブルの検索/対応機能の繰り返しと
ATMレイヤプロセスの終了)このように整列した状態
で入力セルバッファ505に格納されたデータを、受信
側ATMレイヤプロセス711が順番に読み出す。プロ
セッサは、セルヘッダを読み出すと同時に、予め設定さ
れたセルヘッダ値−機能変換テーブル712を検索し、
上記テーブル712のセルヘッダ値対応に記述された機
能を実行する。ヘッダが有効であることは、セルがAT
Mスイッチを通過する前に受信側の物理レイヤで確認済
みなので、ここで強いてヘッダのチェックは行う必要は
ない。ただし、スイッチ機能検査などのために、ヘッダ
やルーティングタグを検査してもよい。ATMレイヤプ
ロセス711は、繰り返しセルヘッダを読みだし、対応
する機能を実行する動作を予め定められた回数だけ行っ
て、プロセスの実行を終了する。そして、スイッチから
入力セルバッファ505にセルが入力され、ある定めら
れた数以上のセルが蓄積すると、再びATMレイヤプロ
セス711が起動される。
【0061】(空セルの処理)さて、例えばセルヘッダ
が空セルを示す値VPI=VCI=0であれば、セルヘ
ッダ値−機能変換テーブル712の対応するフィールド
に記述された動作すなわちヘッダに続くペイロード部分
(48byte)のデータの廃棄をFIFOに支持する
動作を行う。データの廃棄とは、データをプロセッサの
バスに送出することなく、次に読み出されるべき入力セ
ルバッファの先頭の内容を消去することである。データ
を廃棄することによって、不要なデータがバスを占有す
る無駄を減らすことができる。ATMレイヤ以上のレイ
ヤでは、空セルのペイロードを参照することはないの
で、ペイロードを消去することはなんら問題ない。空セ
ルについては、プロセッサが読み出したヘッダの廃棄す
る。
【0062】(コネクション対応機能の記述法)コネク
ション対応機能をテーブルに記述する方法は、例えば空
セル廃棄機能を実行するサブルーチンの先頭アドレスを
記述するなどの方法がある。この場合には、受信セルの
VPI/VCI値=0に合致するテーブルのエントリに
対応するフィールドのアドレスに制御を移すことによ
り、空セル機能721が実行される。
【0063】(無効セルの扱いと判定法)コネクション
設定されていないユーザセル、OAMセルで、OAM機
能が扱わない無効セルなどについては、空セルと同じよ
うにペイロードを読むことなく廃棄しても良い。例えば
コネクション設定されていないVPI/VCI値のセル
は、ペイロードを読むことなく廃棄する。メタシグナリ
ングチャネルを扱わないインタフェース装置でのメタシ
グナリングチャネルを示すヘッダ値のセルなども同様に
廃棄する。
【0064】テーブルには、設定されたコネクション、
OAM機能が扱うタイプのセルヘッダ値のみを記述して
おき、それらに含まれないものを無効セルとして扱う。
空セルもテーブルに記述することを省き、無効セルと同
様に扱っても良いが、セル統計情報について空セルと無
効セルの扱いは異るので、セル単位の統計情報が必要な
場合には別とする。
【0065】(テーブルの検索方法)セルがOAMセル
かユーザセルかを判定するには、VPI/VCI値とP
TIの両方のフィールドを見る必要がある。このような
場合、それぞれのフィールドだけを検査するために、ヘ
ッダの特定のビットにAND演算を行い、複数のフィー
ルドに対して行ったそれらの判断を組み合わせて判定を
行なうことが一般的である。
【0066】この方法によって、単純にセルヘッダの値
を比較するやり方に比べて、ヘッダ検査に必要なステッ
プ数やテーブル量を削減することができる。
【0067】(検索方法の動的変更)さて、テーブルの
検索には良く知られたハッシュ、番兵等のテーブル検索
高速化の技法が応用できる。
【0068】その他に、テーブル検索を高速化するため
に、入力セルの発生頻度に応じて検索テーブルの配列を
変更する手法がある。だが、従来はヘッダ検索順序の変
更はコネクション単位に限られており、コネクションの
記述されたテーブルの配列を変更するのみだった。
【0069】ヘッダテーブルの検索時間は検索手順はも
ちろん、テーブルの設定コネクション数やコネクション
種別毎のセルの発生頻度にも依存する。また、検索時間
最短となる検索手順もこれらのパラメータによって異る
が、検索手順を動的に変更することにより、テーブル検
索時間の最適化を図ることができる。
【0070】ところが、従来の方法ではコネクションの
セル発生頻度については検索効率を最適化することはで
きても、ユーザセルとOAMセルの間での頻度変化に対
して検索効率を最適化することはできない。なぜなら
ば、OAMセルを判定するための特定のビットフィール
ドを見る操作はコネクション設定テーブルの外、すなわ
ちプログラムのコード内に書き込まれてしまっていたた
めである。
【0071】ここではヘッダ検査手順を固定せず、セル
ヘッダを比較するためのヘッダテーブルを検索手順を記
述した書換え可能なテーブルとすることによって、動的
に検査手順を変えることも可能とする。検索手順を記述
したテーブルは、具体的にはコネクション単位の機能の
記述と同様に、ヘッダのコネクション識別子の値や、特
定のビットフィールドの値を検査するような検索手順を
実行するサブルーチンのエントリのアドレスを記述すれ
ば良い。
【0072】検索の実行はテーブルに記述されたエント
リ、例えばユーザコネクション振り分けと対応機能の実
行、ローカルに終端するOAMセルの分離とOAMプロ
セスへの引き渡し等のサブルーチンの実行を、いずれか
のサブルーチンがあらかじめ定められた検索終了の返り
値を返すまで順番に繰り返すことによって行われる。
【0073】そして、IWFのATMレイヤ機能とは非
同期的に実行されるOAM機能が、一定時間毎に受信セ
ルのヘッダ値毎の到着頻度表に基づいて検索時間が最短
になるように検索の順序を記述したテーブルを書き換え
る。
【0074】例えば通常時、始めにVPI/VCI値に
ついてヘッダの検索を行い、次にPTに基づいてOAM
セルとユーザセルの分離を行っていたものとする。ユー
ザセルが多い場合には、まずVPI/VCI値によって
コネクション毎にセル分離する操作をする方が効率がよ
い。一方、F5(VCIレベル)セグメントOAMセル
はPTIのみで判別可能である(PTI=100)。故
障などの何らかの原因によってF5レベルOAMセルの
割合が増えた場合には、まずPTIによってOAMセル
を分離する方が検索の効率がよい。また、OAMセルの
終端処理はすべてのコネクションについて共通のレイヤ
管理エンティティーが行うことも多いので、OAMセル
についてはコネクション毎に分離して処理する必要がな
い場合もある。
【0075】逆に、AALサブレイヤでCOM/EOM
のようにセルヘッダによって処理が異なる場合には、A
TMレイヤのヘッダ−機能振り分けでそれぞれのヘッダ
値に対応する機能サブルーチンを実行しても良い。
【0076】OAMプロセスが上記テーブルを書きかえ
ている間にも、随時、ATMレイヤのヘッダ検索処理が
起動されることがある。ATMレイヤ処理が書き換えが
未完了のテーブルを参照すると、例えば同じエントリを
2回検索してしまうなど、正常な検索ができない。この
問題は、例えばテーブルを2組持って一つを書きかえ用
に、もう一つをATMレイヤの参照用として、書換えが
完全に終了すると書き換えたテーブルをATMレイヤ処
理が参照するように指示することで解決可能である。
【0077】また、この書き換え操作は必ずしも検索時
間最短だけを目的とせず、IWFの内部状態や上位制御
装置の判断による指示によって変更しても良い。
【0078】例えば、通常動作では最初にVPI/VC
I値についてテーブルを検索して振り分ける検索サブル
ーチンを実行し、次にPT/CLPを参照して必要な処
理をしているIWFで、IWFのプロセッサが輻輳状態
に陥った時には受信セルのCLP(Cell Loss
Priority)を最初に検索し、CLP=1のセ
ルはどのコネクションのセルであろうと直ちに廃棄する
措置を取ることによって、CLP=1のセルの受信処理
と、対応するテーブルの検索処理の負荷を低減してIW
Fを輻輳状態から回復させることができる。
【0079】このように検索手順を動的に変更すること
によって、従来よりも広い範囲で検索と処理の効率が最
適化されることが期待できる。
【0080】(OAMセルの受信処理)次に、OAMセ
ルの受信処理について説明する。該セルのヘッダ値がO
AMセルを示すものであれば、OAMセル処理サブルー
チン722が呼び出される。OAMセル処理サブルーチ
ン722は、OAMプロセス731とOAMセルバッフ
ァ732を共有しており、現在の書き込みアドレスと読
みだしアドレスを示すポインタを持つ。
【0081】OAMセル処理サブルーチンとOAMプロ
セスは、別々のプロセスとして実行される。両者の間で
バッファの競合制御は、例えば次のような方法で実現す
ることができる。
【0082】(リングバッファによるOAMセルバッフ
ァの競合制御)OAMセルバッファ732はリングバッ
ファであり、OAMセルが到着すると、ヘッダ値とペイ
ロードの内容が書き込みアドレスから始まるバッファ領
域に書き込まれ、書き込みアドレスポインタは1セルバ
ッファ分増加される。一方、OAMプロセスは、1つの
セルの読み出しが終了すると、現在読んだ読みだしアド
レスのポインタを1アドレス分増やす。いずれのポイン
タも、バッファの終了アドレスまで到達する前に先頭ア
ドレスに戻される。OAMセル処理サブルーチンは、書
き込み前に書き込みポインタが読みだしポインタと同じ
値でないことを検査するので、両プロセスのアクセスが
競合することはない。書き込みポインタが読みだしポイ
ンタと同じアドレスを指した場合は、バッファのオーバ
ーフローなので、書き込みを予定していたセルデータを
廃棄する。
【0083】OAMプロセスは、バッファに蓄積した全
てのセルのセルの処理を終えるまで繰り返し、OAMセ
ルの処理を実行する。ただし、ATMレイヤプロセスの
実行優先度はOAMプロセスより高くしておき、ATM
レイヤプロセスの実行が妨げられて受信セルバッファが
オーバーフローすることを防ぐ。従って、OAMプロセ
スが処理を実行中にもATMレイヤプロセスが起動し
て、OAMセルバッファに新たなセルが書き込まれるこ
とがある。
【0084】(OAMプロセスの起動条件)OAMプロ
セスが全てのセルの処理を終えた時、すなわち読みだし
ポインタが書き込みポインタに追い付いた時、OAMプ
ロセスは休眠する。ATMレイヤプロセスは、実行終了
の度にOAMプロセスを休眠状態から起床させることに
より、一度休眠したOAMプロセスの実行を再開させ
る。
【0085】OAMプロセスは、ATMレイヤプロセス
に次ぐ優先度で実行される。
【0086】(ポインタ渡しのメッセージを使う方法)
ここまでに説明したリングバッファとポインタを使うバ
ッファ制御方式の他に、ATMレイヤプロセス(OAM
セル処理サブルーチン)とOAMプロセスとの間で、書
き込みバッファアドレス及び処理済みバッファアドレス
のポインタをメッセージとして送受信して、バッファの
排他制御を行う方式をとってもよい。ポインタをメッセ
ージとしてやりとりする場合の詳細は、以下に述べるA
AL機能と同様なので省略する。この場合は、メッセー
ジの受信がOAMプロセスの起動条件になる。
【0087】(AAL機能)次に、ユーザコネクション
のAAL機能サブルーチンについて説明する。
【0088】OAMセルや空セルと同様に、ヘッダ値が
ヘッダ−機能変換テーブル712に記述された値に適合
するAALコネクションのセルが到着すると、対応する
フィールドに記述されたサブルーチンが実行される。こ
こでは、AALサブルーチン723を指定するセルが到
着したものとする。
【0089】(AALコネクション対応のバッファ管
理)AAL5(FR−SSCS)コネクションでは、到
着セルヘッダのPTI値によって処理が異る。AAL5
のパケットは、末尾のセルがATM−UU=EOMで、
残りのセルはATM−UU=COMのセルで構成され
る。
【0090】(COMのセルの扱いバッファ構成)はじ
めに、ATM−UU=COMのセルが到着した時の動作
を説明する。ATM機能から実行されたAAL機能サブ
ルーチン723は、セルペイロードをAAL5用に定義
されたバッファに格納していく。AAL機能は、少くと
もそのコネクションで予め定められた最大パケット長の
データを複数個格納できる連続したバッファ領域AAL
バッファ742を持つ。図3においては、3つのパケッ
トを格納できるバッファ構成を示し、バッファ1〜3,
751〜753がそれぞれ最大パケット長を格納でき
る。
【0091】(COMセルの扱いバッファオーバフロ
ー)AAL機能サブルーチンは、バッファの現在の書き
込みアドレスを保持する書き込みポインタを持ってお
り、入力セルバッファ505から読みだしたセルペイロ
ードを該ポインタの示すアドレスに書き込みながらポイ
ンタを更新していく。もし、バッファ長がコネクション
で予め定められた最大長を越えて、バッファの最終アド
レスを越えてしまう場合は、それまでに蓄積されたデー
タは無効として廃棄され、書き込みポインタその他の変
数と後述のCRC計算機能の値は予め定められた初期値
に戻される。AAL5では、この最大長はMax SD
Deliver Lengthとしてコネクション
設定時に指定される。輻輳などによってAAL5コネク
ションのEOMセルが廃棄された時には、このような現
象が起きる場合がある。
【0092】(CRCの計算)受信セルのペイロード
は、前記バッファ書き込みポインタの指すアドレスに書
き込まれる。このとき、同時にCRC32の計算も行わ
れる。CRC32の計算をソフトウェア的に行うにはn
bitのデータに対してn回のシフトと平均でn/2
回の(データによって変わる)排他的論理和の計算が必
要になる。これは、データ転送の時間に比べてかなり大
きい。例えばFIFO及びメモリへの転送のペナルティ
をそれぞれプロセッサのシステムクロックの4倍と仮定
すると、1ワード(32bit)の転送時間は8クロッ
クとなる。だが、1ワードのCRCを計算するには、少
くとも32×3/2クロックの時間が必要になる。CR
C計算を高速化することで、メモリ転送の最適化以上に
AAL5機能のプロセッサ処理を高速化することができ
る。
【0093】ここでは、補助的な専用ハードウェアCR
C計算機能508を用いて、プロセッサによるメモリへ
の書き込みと同時にそのハードウェアがそのデータを取
り込み、CRC計算を行う。CRC計算の回路は、シフ
トレジスタを用いたものが広く知られている。
【0094】まず初期状態では、CRC計算回路のレジ
スタ値は0に設定される。計算回路は、プロセッサのメ
モリ上のAALバッファ領域742に値が書き込まれた
時に、次の計算を行う。その他のメモリ領域、例えばプ
ログラムやスタックの領域をプロセッサがアクセスして
も、CRC計算機能は無視する。AAL5での誤り検査
符号はCRC32と呼ばれ、M(X)を情報例、G
(X)を生成多項式とする一般のCRC即ちM(X)X
k mod G(X)の値をそのままは用いない。CRC32
では、(M(X)X32+(X31+…+X+1)Xk )mo
d G(X)(mod 2)の和の1の補数を取ったものが用
いられる。これは、一般のG(X)を生成多項式とする
CRCの結果に一定値を加えたものと同値である。以下
では説明を簡単にするため、一般のCRCの計算方法に
基づいて説明する。
【0095】
【数1】 プロセッサからメモリへの書き込みアドレス出力が予め
定められたバッファの範囲である時に該CRC計算回路
に値が書き込まれてCRC計算が行われるような回路を
構成することは容易である。ただし、データバスの幅N
は生成多項式G(X)の次数の整数倍でなければならな
い。G(X)の次数は32でセルも48byteすなわ
ち4byte(32bit)の倍数なので、N=32の
時にはパケットを構成するセルの転送終了とともにCR
C計算回路にCRC計算の結果が格納される。CRC3
2の計算のためには、パケット先頭セルの最初の4by
te(32bit)を反転したデータについてCRCの
計算を行えば良い。なお、ここではデータバスが32b
itの場合について述べたが、データバス幅が64bi
tになってもまだこの条件が成立する。
【0096】(CRC計算の速度について)CRC計算
回路がプロセッサからメモリへのデータ書き込みサイク
ル内に終了する程十分高速に動作すれば、プロセッサが
連続的にメモリにデータを書き込んだとしても正しくC
RC計算ができる。
【0097】一方、CRCがデータ書き込み1サイクル
のうちに終了しない場合には、CRC計算が継続中であ
ることを検出する回路を該回路に設け、計算が継続して
いる間は書き込みを待ち状態に保留することによって正
しいCRCを求めることが可能である。
【0098】(COM/EOM時の処理CPCS−LP
/CIの求め方)受信セルのヘッダのCLPまたはCI
のビットが1になっているセルがあれば、当該AAL機
能がローカルに持つ変数CPCS−LPまたはCPCS
−CIを1に設定する。これらの変数は、ITU−T勧
告I.363.6に記述されるCPCSサブレイヤの同
名のプリミティブCPCS−LP,CPCS−CIに対
応し、初期状態では値0が代入される。
【0099】以上の処理を行ってAAL機能サブルーチ
ンは終了し、実行はATMレイヤに復帰する。当該コネ
クションのセルの到着の度にサブルーチンが実行され、
バッファにパケットが蓄積される。
【0100】(EOMの処理)受信セルのATMユーザ
情報がパケットの終りを表すEOMの場合は、ペイロー
ド転送が完了してCRCの計算完了後、計算回路の値を
期待された値と比較する。比較の結果が不一致ならばビ
ットエラーまたはセル廃棄が発生しているため、当該パ
ケットはエラー(無効)であり、AAL機能サブルーチ
ン723の変数を初期化する。
【0101】EOM受信時にはデータが有効/無効いず
れの場合にも、データ書き込みポインタ、受信セル数、
CPCS−LP,CPCS−CIの各変数とCRC計算
機能の内部レジスタは予め定められた初期状態へ戻され
る。
【0102】(ATMレイヤプロセス(AALサブルー
チン)→ATM→FRプロセスへのデータ渡し)有効な
パケットが検出された場合、AALサブルーチンはバッ
ファ751の先頭アドレスとパケット長、及びCPCS
−LP/CIの値をATM−FR変換プロセス741に
通知する。ATM−FR変換プロセスは、この通知によ
って起動される。具体的には、この通知は、OSのメッ
セージボックス機能が用いられる。
【0103】(EOM終了処理)次に、AALサブルー
チンは、ATM−FRプロセスが処理終了したバッファ
752のアドレスをメッセージボックスから取り出し、
書き込みポインタのアドレスとした上で、その他の変数
を初期化してサブルーチンを終了する。もし、メッセー
ジボックスが空であればバッファ領域が不足しているの
で、例えば書き込みポインタに値0などのバッファアド
レスが無効であることを示す値を代入するなどして、次
に到着するセルの格納を中止する。
【0104】(バーストとバッファ量の関係)ATM側
の入力がバースト的に発生してフレームリレー側の出力
が間に合わない場合に、このような現象が生じる。大き
なバーストを許容するには、AALバッファ742に含
まれるバッファの個数を増やす必要がある。セルの到着
頻度が常に一定ならば、バッファの個数はAAL組み立
て用とフレームリレー出力用の2個だけで良い。
【0105】(バッファオーバーフロー対策)書き込み
ポインタが無効な状態においても当該AALコネクショ
ンのセルが到着する度にAALサブルーチンは起動さ
れ、データ廃棄動作を行う。もし、メッセージボックス
にATM−FR変換プロセスが処理を終了したバッファ
のアドレスが通知されていれば、そのアドレスを書き込
みポインタとして初期設定を行い、セルの格納を開始す
る。
【0106】(ATM−FR変換プロセス)次に、AT
M−FR変換プロセスについて説明する。
【0107】(フォーマット変換)さて、次にデータの
処理を行うのは、ATM−FRプロセスである。ATM
−FR変換プロセス741は、AAL機能サブルーチン
723からパケットに関する情報をメッセージとして受
信することによって起動される。
【0108】(制御メッセージの分離)AALバッファ
に再構成されたパケットは、トレイラが末尾に附属した
CPCS−PDU921の形式である。このヘッダ部分
922に必要な変更を加えてFRのレイヤ2(以下L2
とする)パケット形式に変換し、ヘッダ部分922と情
報フィールド923をFR−PHYに転送するのがAT
M−FR変換プロセスである。
【0109】変換プロセスは、まずヘッダに含まれるデ
ータリンク識別子を認識する。データリンク識別子が受
信コネクションのものであり、パケットが制御/保守メ
ッセージでないことを確認してパラメータ設定処理を開
始する。もしパケットが制御/保守メッセージであれ
ば、OAMプロセスに通知して所定の処理を行う。
【0110】(ヘッダの書き換え)FRのL2パケット
形式への変換は、パケットのヘッダのうちの幾つかのフ
ィールドの値を書き換えるだけである。
【0111】CPCS−LPの値すなわち受信コネクシ
ョンのCPCS−LP値とパケットに含まれるデータ優
先度(Data Eligibility)の値のOR
をとったものを、パケットのデータ優先度(Data
Eligibility)のフィールドに書き込む。
【0112】FECNには、元のパケットのFECNフ
ィールド自身の値とCPCS−CIの値のORをとった
ものをパケットのFECのフィールドに書き込む。
【0113】(DLCI書き換え)もし物理リンク毎に
データリンク識別子DLCI書き換える必要がある場合
には、入り側DLCIと出側DLCIを対応した表に基
づいて入り側DLCIを鍵として出側DLCIを検索
し、DLCIを書き換える。
【0114】(FR−PHYへのデータ出力)これで、
パケットフォーマットの変換は終了する。このパケット
のヘッダ及び情報フィールドを、L2パケットの送信処
理を行うハードウェアFR−PHY507に転送する。
【0115】送信処理は、具体的にはフレーム前後のフ
ラグパターン、FCS(CRC16)の付加、0挿入と
物理レイヤ処理(ラインコーディング)である。
【0116】(転送時間の問題)本実施例では、ATM
セルのSAR処理を行うためのバッファをFR−PHY
へのデータ出力用バッファと共用しているために、FR
−PHYへデータ転送を行っている間はATMレイヤプ
ロセスが該バッファをアクセスすることができない。F
R−PHYへのデータ転送の間に入力セルバッファのオ
ーバーフローが生じないように、FIFOの容量を十分
大きくとっておくことが必要である。
【0117】(転送手順)まず、プロセッサがFR−P
HYに新しいパケットの出力を開始する指示を発行し、
予め各AALコネクション対応に用意されたパケットの
先頭を示すアドレスから始まるデータをプロセッサが読
み出し、前記FR−PHYに設けられたデータ出力用レ
ジスタに書き込んでいく。全てのデータ書き込みが終了
すると、パケットのデータ長を含むデータ出力終了指示
をFR−PHYに発行する。
【0118】この処理は、例えばプロセッサがFR−P
HYに付随するDMA機能に送信開始を指示し、プロセ
ッサメモリの内容をDMA機能によって読みだしてFR
−PHYのデータ処理/送信機能へ転送して処理すると
いう実装形態をとっても良い。
【0119】ただし、ハードウェア機能を簡素化すると
いう観点からは、DMAのようなバス調停を伴う複雑な
機能は避けることが望ましい。今までに説明した通信プ
ロトコル処理においては、メモリアクセスが大きな比重
を占めるため、DMAがバスを占有している状態では処
理が進行できないためである。ただし、FR−PHYと
プロセッサ間のバスインタフェースについてはプロセッ
サを使った場合には、データ転送効率が直接処理時間を
左右するため、高速なものを使うことが望ましい。
【0120】バス調停機構を簡略化しつつ、データ転送
の間にプロセッサバスが占有される問題を回避する手段
として、FR−SSCS機能のパケット用バッファのた
めに確保されるメモリを2portのRAMとして、片
方のポートをFR−PHYのDMAバスに接続する方法
がある。図6に、その構成図を示す。このようにすれ
ば、FR−PHYのデータ転送中にも他の処理を進める
ことができる。ただし、2portRAMは単一por
tRAMに比較して複雑であり、コスト高を招いてしま
う。
【0121】(FR−PHYにおける処理)FR−PH
Yでは、入力データの内容についてCRC−16の計算
手順に基づいてCRCが計算され、パケットの末端に付
加される。そして、フレームの前後にフラグパタンが付
加される。このデータ内容にフラグパタンと同じパタン
が出現することを防ぐために、1ビット単位で値0のビ
ットデータが挿入され、このデータに本来の物理レイヤ
(レイヤ1)処理すなわちラインコーディングの処理が
行われて、フレームリレーインタフェースのライン出力
としてデータが送出される。
【0122】(ATM−FR変換プロセスの終了)AT
M−FR変換プロセス741は、FR−PHYへのデー
タ出力を終えると、出力を終えたバッファのアドレスを
AALサブルーチン723のメッセージボックスに出力
して、該バッファは再びセルの格納のために使われる。
以上で、ATM−FR変換プロセスは終了する。
【0123】(FRからATMへの変換)次に、FRか
らATMへの変換機能について図4を参照しながら説明
する。
【0124】(物理レイヤ)フレームリレーインタフェ
ースのラインから入力された信号は、受信側FR−PH
Y506においてITU−T勧告I.431に基づく処
理、すなわちライン入力、クロック抽出、ビット再生、
デスクランブル、フレーム同期、L2フレーム検出(t
ime fill除去)を施される。PHY−FRは、
許容される最大長のフレーム2つ分以上のバッファを持
ち、プロセッサにパケットの到着を通知してから該パケ
ットの転送が終了するまでの間も、ラインから入力され
るデータを受信してバッファへ格納する動作を継続す
る。また、FR−PHYにおいては、L2フレームの検
出と並行して該L2フレームのCRC計算も行う。
【0125】(Q.922フレーム検出)フレームリレ
ーのL2プロトコルデータユニット(以下PDU)は、
図5の911に示すフレーム構造をとる。FR−PHY
は、フレーム終了側のフラグパタンを検出すると、割り
込み信号をプロセッサに入力してフレームの到着を通知
する。
【0126】(FR−ATM変換プロセスの起動)割り
込みを受けたプロセッサは、FR−ATMプロセス84
1を起動する。受信側FR−ATMプロセス841は、
FR−PHY506が受信データについてCRCを計算
した結果を期待される値と比較し、両者が異ればエラー
としてパケットの廃棄をPHY−FRに指示する。この
結果は、プロセッサのメインメモリ上にマッピングされ
た予め定められたFR−PHYのレジスタに表示され
る。
【0127】(ヘッダの読みだし前準備)FR−ATM
への変換のために、プロセッサは、L2PDUのヘッダ
が含まれる1セルペイロード分のデータをFR−PHY
から読み出して、以下の処理を行う。
【0128】(パケット格納バッファの確保)予め定め
られたFR−PHYのレジスタに該パケットのデータ長
が表示され、プロセッサはこれを読み出してFR−PH
Yから転送を行うデータのバイト数を知る。もしデータ
長がプロトコル規約上違反しているものであれば、該パ
ケットの廃棄をFR−PHYに指示する。データ転送先
のバッファは、ATM−FRへの変換の場合と同様に、
当該コネクションで許される最大パケット長のデータを
複数個格納できる連続したバッファ領域AALバッファ
842を持つ。図4においては、3つのパケットを格納
できるバッファ構成を示し、バッファ1〜3,851〜
3がそれぞれ最大パケット長を格納できる。
【0129】ここで、バッファ長をQ.922プロトコ
ルの最大長だけでなく、最大長のパケットをAAL5形
式に変換するのに十分なだけの大きさをとっておけば、
プロトコル変換に当たってデータの移動やつなぎ合わせ
を行う必要がなくなる。
【0130】また、AALサブルーチンでの取り扱いを
簡単にするためにバッファはセルペイロードの整数倍即
ち48の整数倍の長さとすることが望ましい。
【0131】(ヘッダの認識:制御メッセージの分離)
FR−ATM変換プロセス841は、データリンク識別
子を認識する。データリンク識別子が受信コネクション
のものであり、パケットがコントロール/保守メッセー
ジでないことを確認してパラメータ設定処理を開始す
る。データリンク識別子がコントロール/保守メッセー
ジを示すものであれば、当該パケットの処理をOAMプ
ロセス831に渡してFR−ATMプロセスを終了す
る。
【0132】(ヘッダパラメータの書き換え)対向側の
ATMからFRへの変換と同様に、ヘッダパラメータの
ほとんどはそのままの値で利用される。変更されるの
は、FECN,BECN(Forward/Backw
ard Explicit Congestion N
otification)とDLCIのみである。
【0133】(DLCI書き換え)もし物理リンク毎に
データリンク識別子DLCI書き換える必要がある場合
には、入り側DLCIと出側DLCIを対応した表に基
づいて入り側DLCIを鍵として出側DLCIを検索
し、DLCIを書き換える。
【0134】(FECN,BECNの書き換え)FEC
Nフィールドには値0を、BECNフィールドには対向
側AAL受信機能において受信されたAAL機能623
が持つ変数CPCS−CIの値を、それぞれ代入する。
これで、パケットの変換は終了する。
【0135】(FR−SSCS機能:PAD)次に、パ
ケットはAAL5CPCS形式921に変換され、CP
CSトレイラが付加される。トレイラは、924に示す
ようなフォーマットからなる。パケットをセル単位に分
割する時に、トレイラがセル間に跨って格納されること
を防ぎトレイラが常に最終セルの同じ部分に位置してト
レイラの認識を容易にするため、トレイラと情報フィー
ルドとの間にはPADと呼ばれる可変長の領域が付加さ
れる。PAD領域は、値0のオクテッドで埋められる。
【0136】(FR−SSCS機能:trailer)
CPCSトレイラ本体には、CPCS−UU,CPI,
Length,CRCのフィールドがある。CPCS−
UUは、FR−SSCSでは値0に設定される。CPI
の利用法はまだ未定であるが、当面値0で埋めることが
規定されている。Lengthフィールドは、ペイロー
ドのオクテット数を入れる。CRCフィールドには、C
RC32の計算結果が格納される。これで、AAL5−
CPCS形式のパケットが準備できたことになる。この
パケットの先頭アドレスとセル数をFR−SSCSコネ
クションに対応するAALサブルーチン823の入力キ
ューに渡して、FR−ATM変換プロセスは終了する。
この通知は、具体的にはOSのメッセージボックス機能
等が用いられる。
【0137】(AAL機能へのデータ渡し)出力側AA
L機能823は、出力側ATMレイヤプロセス601か
ら呼び出される。AAL機能は、初期状態ではまず、F
R−ATM変換プロセス841からの入力キューから出
力パケットの先頭アドレスとセル数を読み出して、出力
セル表示824をセルありに書き換える。
【0138】キューが空の場合は、出力セル表示をセル
無しとして終了する。
【0139】初期化が終了している場合、まず転送セル
数を表す状態変数を1増加し、FR−ATM変換プロセ
ス841から渡された転送セル数と比較し、転送終了な
らば予めコネクションデータが書き込まれたヘッダデー
タのPTを、EOMそうでなければPTにCOMを書き
込んで、ATM−SWバッファに出力する。そして、先
頭アドレスの示すメモリから1セルペイロード分の48
byteのデータを読み出して、ATM−SWバッファ
に書き込む。転送を終えると、先頭アドレスを48by
te増加して、その値を保持しておく。
【0140】転送終了ならば、転送アドレスと転送セル
数の2つの変数を初期状態に戻して、FR−ATM変換
プロセスからの入力キューから出力パケットの先頭アド
レスとセル数を読み出して、変数を初期化する。キュー
にデータがない場合は、出力セル表示をセル無しとして
終了する。
【0141】パケットの転送が途中の場合も、1セルデ
ータの転送完了とももにAALサブルーチンは終了し
て、制御をATMレイヤプロセスに戻す。
【0142】(送信側ATMレイヤプロセス)送信側A
TMレイヤプロセスは、各ユーザコネクション毎にコネ
クション設定時に合意したトラヒックパラメータを守る
ように、予め定められたアルゴリズムにしたがって順番
にセルの出力権をOAMあるいはユーザのコネクション
に割り当てる。設定されているコネクションとトラヒッ
クパラメータは、ヘッダ−機能変換テーブル812に記
述されており、ATMレイヤプロセスはこの表と各コネ
クションの出力セル表示822,824に基づいてセル
を出力するスケジュールを決定する。
【0143】先に説明した通り、呼び出された各コネク
ションセル出力サブルーチンは、一度の呼出毎に1個の
セルを出力する。
【0144】スケジューリングの際にセルを出力すべき
コネクションを割り当てられない時は、空セル出力を割
り当てる。空セル出力は、空セル出力専用のサブルーチ
ンを持っても良いが、空セルは一定パターンなので、空
セルパタンの出力機能をATM−SWバッファに組み込
み、プロセッサが空セル出力の指示を行うようにしても
良い。
【0145】(ATMレイヤプロセスの優先度)ATM
レイヤプロセスは、起動時に一度各コネクション対応の
出力セル表示を読み、セル出力のスケジュールを決定す
る。従って、出力セルのないコネクションのセル出力サ
ブルーチンが呼び出されることはない。ATMレイヤプ
ロセスは一連のFR−ATM変換に関わるプロセスの中
でもっとも優先度が高いため、ATMレイヤプロセスの
実行中に各コネクションの出力セル状態が変化してしま
うことは考慮しなくても良い。
【0146】出力セルの有無に関わらず、テーブル81
2に基づいて予めスケジュールを定めておき、各コネク
ションのセル出力サブルーチンを呼び出しても良いが、
出力セルのないコネクションのサブルーチンが何度も呼
び出される無駄がある。
【0147】このようにしてATMとフレームリレーを
相互変換するIWFを実現できる。
【0148】[複数インタフェース]これまでの説明で
はAALコネクション及びフレームリレーインタフェー
スが1つだけの例を示したが、IWFが複数のフレーム
リレーインタフェースを持ち、それに複数のATMコネ
クションが接続される場合にも既に説明したハードウェ
ア/ソフトウェア構造が適用できる。複数コネクション
に対応するには、AALのバッファ742,842およ
びコネクションのバッファ管理用変数(書き込みポイン
タなど)とFR−PHY506をコネクション数だけ増
やすことにより容易に実現可能である。CRC計算機能
については、1セルペイロードの転送毎にCRC計算機
能508の内部状態をプロセッサメモリに退避すること
で複数コネクションに対応できる。また、ATM−FR
(図3)、FR−ATM(図4)ごとにCRC計算機能
を設けることなく、計算機能を共有してもよい。
【0149】本実施例では、プロセッサの周辺装置から
プロセッサのメモリ上で一度パケットを再構成し、パケ
ットフォーマットの変換を行って周辺装置に出力してい
る。プロセッサバス占有率の削減=データの転送回数の
削減という観点から、プロセッサメモリの上でパケット
を再構成することなく、周辺装置から周辺装置へ直接デ
ータを転送するような構成も実現可能である。
【0150】以上、本実施例の基本構成を説明してき
た。
【0151】以下では、本実施例のCRC計算機能につ
いて詳細に説明する。
【0152】<AAL5とEtherの間のプロトコル
変換装置の一例>まず、CRCの方式が同一であるAA
L5とEtherとの間のプロトコル変換におけるCR
Cの計算省略方法について説明する。
【0153】図7は、ATM,AAL5,Ehtern
et(IEEE802.3)のパケットフォーマットを
示したものである。
【0154】図7において、1101はイーサネットの
パケット、1111はパケットのヘッダ、1115はパ
ケットの情報部、1116はパケットのFCS(CRC
32)をそれぞれ表す。
【0155】また、パケットのヘッダは、送信先番地1
112、発信元番地1113、長さ情報1114から構
成される。
【0156】1102は、AAL5のCPCS−PDU
であり、ヘッダ1121、情報部1122、PAD11
23,CPCS−UU1124,CPI1125,le
ngth1126,CRC32(1127)のそれぞれ
で構成される。
【0157】1103−1から1103−nは、CPC
S−PDUの分解または組立で生成または受信されたA
TMセルである。
【0158】図8は、AAL5とEtherとの間のプ
ロトコル変換を行う場合の装置構成の一例を示したもの
である。
【0159】図8において、501はプロセッサ、50
2はプロセッサバス、503はバッファメモリ、504
は出力セルバッファ、505は入力セルバッファ、12
06はイーサネットインタフェース(Ether−I/
F)、508はCRC計算機能、508はATMスイッ
チである。
【0160】(フレームリレーとイーサネットの相違
点)前述した本実施例の基本構成においては、フレーム
リレーとATMを相互接続するIWFを説明したが、同
様にATMとイーサネット(IEEE802.3)を相
互接続するIWFを考えることができる。このIWFの
インタフェース仕様は、例えばATM forum L
AN Emulation Over ATMなどがあ
るが、ここでは単純にAAL5のSSCS(サービス依
存部分)がNULLで、そこにイーサネットのパケット
を乗せこむこととする。
【0161】図8のように、ATMとイーサネットの相
互接続も、フレームリレーのFR−PHYをイーサネッ
トの伝送処理を行うEther−I/F1206に置き
換えるだけでよい。処理方法についても、パケットフォ
ーマットの違いをヘッダ書き換えに反映する程度で、前
述した本実施例の基本構成から容易に類推可能である。
ここでは、前述のフレームリレーの場合との違いについ
てのみ説明する。
【0162】まず、イーサネットではQOSが定義され
ていないため、パケットがある時間内に必ず出力できる
とは限らない。フレームの衝突が発生している間はフレ
ームの送出ができないのである。フレームの送出ができ
ない時に新たなフレームの到着が続けば、フレームを廃
棄せざるを得ない。
【0163】この問題を解決するには、ATMコネクシ
ョンの側でフロー制御を行う方法がある。または、AT
MコネクションをQOSなしのコネクションとしてフレ
ーム廃棄を許容することを前提として利用しても良い。
【0164】フレームリレーでは、パケットの誤り検出
符号はCRC16で、AAL5のCRC32とは計算方
法が違う。だが、イーサネットのパケットの誤り検出符
号はAAL5のCRC32と同じなので、AAL5とイ
ーサネットのフレームのフォーマット変換に対する不変
部分のCRC32の計算を省略することができる。以下
この発明について説明する。
【0165】イーサネットのパケット1101の誤り検
出符号FCSは、次のように表される。
【0166】
【数2】 一方、CPCS−PDU1102の誤り検出符号は、次
のように表される。
【0167】
【数3】 (2)式第2項は次のように変形できる。
【0168】
【数4】 つまり、(3)式を求めるためには、(1)式の結果の
第2項を利用できる。
【0169】さて、プロセッサでCRCの計算を行う場
合には、被演算数のビット数オーダーの演算が必要なこ
とは前述した本実施例の基本構成で触れた。従って、
(1)の右辺第2項(B(X)mod G(X))から
(3)を得るには、3/2×LT 回のビットシフト/X
OR演算を行えば良い。LT はトレイラのビット数で、
64〜440回の演算が必要であるがパケット全体のビ
ット数に比べればごく少い。
【0170】イーサネットのパケットの最大長1600
octetと最短長368octetの平均984oc
tetとトレイラ部分の平均の長さ31octer(5
5と8の平均)を比較すると、トレイラ部分の全パケッ
トに占める割合は3%程度である。
【0171】それぞれの処理時間を考えてみる。前述し
た本実施例の基本構成と同様に、FIFO及びメモリへ
の転送のペナルティを、それぞれプロセッサのシステム
クロックの4倍と仮定する。ペイロード部分の1ワード
(32bit)の転送時間は8クロックとなり、全ペイ
ロードの転送時間は984×8クロック(読み込み+書
き込み)で7872クロックである。ハードウェハ処理
のCRC計算は、これと同時に行われる。
【0172】トレイラ部分のCRC計算では、トレイラ
長の平均長、31octetのCRC計算はメモリアク
セスが4(word)×4クロック(読み込みのみ)、
シフト/XOR演算が248×3/2で合計388クロ
ックかかる。
【0173】ペイロード部に対するトレイラ部の処理時
間の割合は、388/7872=0.049で約5%で
ある。
【0174】トレイラは必ずしも4バイトでアライメン
トがとられているわけではないので、この計算では4バ
イトのワード単位で動作するCRC計算回路が使えると
は限らない。
【0175】トレイラ部の演算を専用ハードウェアで行
うには、オクテット単位すなわちシフト演算の回数を8
回単位を任意に設定できるようなCRC計算回路が必要
である。だが、これまで述べたようにLT はあまり大き
くないので、計算はプロセッサによる処理で行っても全
体の性能は5%悪化する程度である。
【0176】また、予めオクテット単位に計算したCR
Cの結果を格納したテーブルを組み合わせてソフトウェ
アによるCRC計算処理を単純なビットシフト処理に比
べて、数倍高速に処理することが考えられるが、トレイ
ラ部分の計算にこの方法を利用することも可能である。
【0177】(2)式の第1項
【0178】
【数5】 の計算ではA′(X)はA(X)から書換えられている
ので、(1)の結果を使ってシフト/XOR演算の回数
を減らすことはできない。従って、データのビット数
(LA +LB +LT )オーダーの演算が必要になる。だ
が、(4)でデータの可変領域はA′(X)の先頭の1
4byteだけで、残りは(LB +LT )bitの値0
の固定値である。
【0179】演算の開始時にA′(X)のデータとLB
の数を与えて(4)の結果を計算する回路は、CRC計
算回路にLB 回だけ値0のビットを入力する回路を付加
することにより実現できる。この計算には当然LB +L
T 回の演算が必要であり、LB +LT >>14×8(ヘッ
ダ部A′(X)のビット長)ならば、V(X)の計算と
ほぼ同じオーダーの時間がかかるが、プロセッサから見
る限り1回のデータ書き込みで(4)式の値が求められ
る。従って、計算の所要時間そのものは本実施例の基本
構成で示したメモリ書き込みと同時にCRC計算を行う
方式と同等のオーダーだが、この間バスアクセスの必要
がないためにプロセッサと並行して処理を進めることが
でき、プロセッサとバスへの処理の負荷が小さくなる。
【0180】また、多数のコネクションが多重化されて
いる場合、1セルを受信する度にCRC計算機能の値を
退避/回復させなければならないが、このやり方であれ
ばCRC計算機能の状態を退避/回復する必要がなくな
る。
【0181】(2)式の第3項
【0182】
【数6】 はCRC計算機能またはソフトウェア処理によって計算
する。この計算の繰り返しオーダーは、ビット数32〜
408回であり、さほど多くはない。
【0183】これで(3),(4),(5)の値の和を
とることによって、(2)式の値が求められる。
【0184】実際の処理手順を図9に従って説明する。
【0185】イーサネットパケット全体1101、ヘッ
ダ部1112〜1114、情報部1115をそれぞれ、
C(X),A(X),B(X)とすると、次の式が成立
する。
【0186】
【数7】 また、AAL5パケット全体1102、ヘッダ部112
1、情報部1123、トレイラ部1123〜1127を
それぞれ、C′(X),A′(X),B′(X),T′
(X)とすると、次の式が成立する。
【0187】
【数8】 まず、処理ステップS1311,S1312で、ヘッダ
部分1112〜1114、情報部分1115の転送と同
時にそれらのCRC1301,CRC1302が計算さ
れる。ステップS1313でイーサネットパケット11
01全体のCRCがそれらの和(1303)として求め
られる。
【0188】AAL5形式パケットのCRC計算は、次
のように行う。
【0189】まず、ステップS1314でパケット先頭
の書き換えと同時にそのCRCを計算する。既に述べた
ように、CRC1302の結果を用いることにより、そ
の計算量はトレイラのビット数分(XのLT 乗)だけで
済む。ステップS1316でトレイラの付加と同時にト
レイラ部分1123〜1126のCRCを計算し、ステ
ップS1317でそれらの和をとることによって、AA
L5形式のパケット1102の全体が計算できる。
【0190】<フレームリレーとATMの間のプロトコ
ル変換装置の一例>上記のAAL5とEtherの間の
プロトコル変換装置の一例で説明した同一データの同一
CRC計算を省略する方法は、CRCの生成多項式が異
る場合にも拡張が可能である。
【0191】以下では、CRCの方式が異なるフレーム
リレーとATMとの間のプロトコル変換におけるCRC
の計算省略方法について、前述した本実施例の基本構成
のフレームリレーとATMのIWFに該CRCの計算省
略方法を適用する場合について説明する。
【0192】(不変部分)図5において、フレームリレ
ーパケットの情報フィールド913とCPCS−PDU
における対応部分923は、パケットフォーマット変換
の前後で変化しない。それぞれのパケットで計算される
CRCは、生成多項式がそれぞれ16次と32次と異っ
ていて互いに素である。
【0193】まず、実施例2で説明した方法を用いて、
これらの不変領域のCRCを他の部分と独立して計算す
ることができる。
【0194】
【数9】 さて、ここで2つの生成多項式G1(X),G2(X)
の積G(X)を考える。G(X)の次数は16+32=
48である。A(X)をG(X)で割った剰余を求め
る。
【0195】
【数10】 G1(X),G2(X)は互いに素なので(8),
(9)について次の式が成立する。
【0196】
【数11】 このように2つの生成多項式の積を生成多項式として剰
余を求め、それを本来の生成多項式で割ることによって
も、(9),(10)を求めることができる。剰余を本
来の生成多項式で割る演算は、G(X)の次数オーダー
すなわちこの場合では高々48次なので処理負荷はごく
小さい。
【0197】生成多項式の次数が32次から48次とな
っても、CRC計算機能のハードウェア規模は高々1.
5倍になるにすぎない。また、プロセッサによって計算
する場合には、64bitCPUを使えば処理ステップ
数は全く変わらない。
【0198】このようにして、生成多項式が異る場合に
ついても、CRCの計算を共通化することができる。
【0199】実際の処理手順を図10に従って説明す
る。
【0200】フレームリレーパケット全体912、ヘッ
ダ部912、情報部913をそれぞれ、C(X),A
(X),B(X)とすると、次の式が成立する。
【0201】
【数12】 また、AAL5パケット全体912、ヘッダ部922、
情報部923、トレイラ部924〜928をそれぞれ、
C′(X),A′(X),B′(X),T′(X)とす
ると、次の式が成立する。
【0202】
【数13】 G(X)=G1(X)G2(X),G1(X)は、フレ
ームリレーのCRCの生成多項式、G2(X)はAAL
5のCRCの生成多項式とする。
【0203】まず、処理ステップS1411,S141
2でヘッダ部分912、情報部分91の転送と同時にそ
れらのG(X)による剰余1401,剰余1402が計
算される。ステップS1413でフレームリレーパケッ
ト921全体の剰余がそれらの和(1403)として求
められる。
【0204】AAL5形式パケットのCRC計算は、次
のように行う。
【0205】まず、ステップS1415でパケット先頭
の書き換えと同時にそのCRCを計算する。そしてステ
ップS1316での情報部分923のCRC計算では、
第2の実施例と同様に、前記処理ステップS1412で
得た結果(剰余1402)を利用する。ステップS14
17でトレイラの付加と同時にトレイラ部分924〜9
28のCRCを計算し、ステップS1318でそれらの
和を取ることによって、AAL5形式のパケット110
2全体のG(X)による剰余1408が計算できる。
【0206】ステップ1419でG(X)による剰余1
408をG1(X)で割った余りを求めることにより、
フレームリレーのCRCが求められる。
【0207】本発明は上述した各実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で、種々変形し
て実施することができる。
【0208】
【発明の効果】本発明では、プロトコル変換前後の伝送
情報中に重複部分が存在する場合、プロトコル変換の前
後で行う誤り検出符号計算処理は、該重複部分に対して
は変換前後において一度だけ行うので、誤り検出符号計
算処理の高速化、従ってプロトコル変換処理の高速化が
期待できる。
【0209】また、誤り検出符号計算処理をプロセッサ
処理にて行う場合、処理負荷の大き誤り検出符号計算処
理を該重複部分に対しては一度だけで済ますことによ
り、処理負荷の削減を図ることができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係る基本的なハードウェア
構成を示す図
【図2】本実施例におけるプロセスの概念を説明するた
めの図
【図3】本実施例のATM−FRにおけるプロセスおよ
び周辺ハードウェアとデータフローの関係を示す図
【図4】本実施例のFR−ATMにおけるプロセスおよ
び周辺ハードウェアとデータフローの関係を示す図
【図5】本実施例におけるATM(AAL5)とフレー
ムリレーのパケットフォーマットを示す図
【図6】2ポートRAMを使用したハードウェア構成の
一例を示す図
【図7】イーサネットとATMのパケットフォーマット
を示す図
【図8】イーサネット−ATM間のプロトコル変換装置
のハードウェア構成の一例を示す図
【図9】CRC計算の処理手順を示すフレーチャート
【図10】CRC計算の他の処理手順を示すフレーチャ
ート
【図11】インタフェース概念図
【図12】プロトコル概念図
【図13】ソフト/ハードによって実現される機能分割
を説明するための図
【図14】プロトコル変換装置における処理の流れを示
す図
【符号の説明】
501…プロセッサ、502…プロセッサバス、503
…プロセッサメモリ、504…出力セルバッファ、50
5…入力セルバッファ、506…フレームリレー物理レ
イヤ処理機能、507…フレームリレー物理レイヤ処理
機能、508…CRC計算機能、509…ATMスイッ
チ、601…受信側ATMレイヤ機能プロセス、602
…ATM−Q.922変換機能プロセス、6031…
Q.922−ATM変換機能プロセス、604…送信側
ATMレイヤ機能プロセス、605…OAM機能プロセ
ス、712…セルヘッダ−機能変換テーブル、721…
空セル処理機能サブルーチン、722…OAMセル処理
機能サブルーチン、723…AAL(SAR)機能サブ
ルーチン、732…OAMセルバッファ、741…AT
M−FR変換機能プロセス、742…AALバッファ、
751…バッファ、752…バッファ、753…バッフ
ァ、812…コネクション−機能変換テーブル、821
…OAMセル処理機能サブルーチン、822…出力セル
表示、823…AAL(SAR)機能サブルーチン、8
24…出力セル表示、832…OAMセルバッファ、8
41…FR/ATM変換機能プロセス、842…AAL
バッファ、851…バッファ、852…バッファ、85
3…バッファ、1001…プロセッサ、1002…プロ
セッサバス、1003…受信メモリ、1004…送信メ
モリ、1005…出力セルバッファ、1006…入力セ
ルバッファ、1007…受信側FR−PHY、1008
…送信側FR−PHY、1010…ATMスイッチ、1
201…プロセッサ、1202…プロセッサバス、12
03…バッファメモリ、1204…出力セルバッファ、
1205…入力セルバッファ、1206…イーサネット
インタフェース、1208…ATMスイッチ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 9371−5K H04L 13/00 305 B

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】第1のプロトコルに従う第1の伝送情報を
    入力し、該第1の伝送情報を第2のプロトコルに従う第
    2の伝送情報にプロトコル変換するプロトコル変換装置
    において、 入力した前記第1のプロトコルに従う第1の伝送情報に
    対して、該第1のプロトコルにおける誤り検出処理を、
    少なくとも1つのプロセッサ内で処理する第1の誤り検
    出処理手段と、 前記第2のプロトコルへとプロトコル変換された前記第
    2の伝送情報のうち、該プロトコル変換後に内容が変化
    する部分に対して、該第2のプロトコルにおける誤り検
    出処理を、少なくとも1つのプロセッサ内で処理すると
    ともに、該プロトコル変換後に内容が変化しない部分に
    対しては、前記第1の誤り検出処理手段による処理結果
    を利用する第2の誤り検出処理手段とを具備したことを
    特徴とするプロトコル変換装置。
  2. 【請求項2】ATMプロトコルに従う第1の伝送情報と
    ATMプロトコル以外のプロトコルに従う第2の伝送情
    報の相互間で、該伝送情報に対するプロトコル変換処理
    を行うとともに、該プロトコル変換処理のうち誤り検出
    処理を含む少なくとも一部の処理を少なくとも1つのプ
    ロセッサを用いて処理するプロトコル変換装置におい
    て、 前記第1及び第2の伝送情報に対して、プロトコル変換
    前のプロトコルにおける誤り検出処理を施す手段と、 前記第1及び第2の伝送情報のうちプロトコル変換にて
    内容が変化された部分に対して、変換後のプロトコルに
    おける誤り検出処理を施す手段とを具備したことを特徴
    とするプロトコル変換装置。
  3. 【請求項3】ATMプロトコルに従う第1の伝送情報と
    ATMプロトコル以外のプロトコルに従う第2の伝送情
    報の相互間で、該第1及び第2の伝送情報に対して相互
    間でプロトコル変換処理を行うとともに、該プロトコル
    変換処理のうち誤り検出処理を含む少なくとも一部の処
    理を少なくとも1つのプロセッサを用いて行うプロトコ
    ル変換装置において、 プロトコル変換前後の前記伝送情報中に重複部分が存在
    する場合、該重複部分の誤り検出処理を変換前後におい
    て一度だけ行う手段を具備したことを特徴とするプロト
    コル変換装置。
  4. 【請求項4】ATMプロトコルに従う第1の伝送情報と
    ATMプロトコル以外のプロトコルに従う第2の伝送情
    報の相互間で、該伝送情報に対するプロトコル変換処理
    を行うプロトコル変換処理方法において、 いずれかの前記プロトコルに従う前記伝送情報を入力す
    るステップと、 前記伝送情報に基づき所定の誤り検出処理を行うととも
    に、該伝送情報のフォーマット変換を行うステップと、 前記伝送情報のうちフォーマット変換によって内容が変
    化された部分に対して、変換後のプロトコルにおける誤
    り検出処理を施すステップとを有することを特徴とする
    プロトコル変換方法。
JP26128094A 1994-09-30 1994-09-30 プロトコル変換装置およびプロトコル変換方法 Pending JPH08102761A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26128094A JPH08102761A (ja) 1994-09-30 1994-09-30 プロトコル変換装置およびプロトコル変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26128094A JPH08102761A (ja) 1994-09-30 1994-09-30 プロトコル変換装置およびプロトコル変換方法

Publications (1)

Publication Number Publication Date
JPH08102761A true JPH08102761A (ja) 1996-04-16

Family

ID=17359634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26128094A Pending JPH08102761A (ja) 1994-09-30 1994-09-30 プロトコル変換装置およびプロトコル変換方法

Country Status (1)

Country Link
JP (1) JPH08102761A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005065342A (ja) * 2004-12-06 2005-03-10 Ntt Docomo Inc データ変換装置、信号、データ変換方法、dceおよびゲートウェイ
US7260107B1 (en) 1999-09-21 2007-08-21 Ntt Docomo, Inc. PPP data conversion apparatus and method
JP2017501631A (ja) * 2013-12-19 2017-01-12 トムソン ライセンシングThomson Licensing IP QoSメカニズムの自動選択のための方法、夫々のCPEデバイス及びコンピュータ可読記憶媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260107B1 (en) 1999-09-21 2007-08-21 Ntt Docomo, Inc. PPP data conversion apparatus and method
US7680122B2 (en) 1999-09-21 2010-03-16 Ntt Docomo, Inc. Communication method for data communication based on point-to-point protocol
JP2005065342A (ja) * 2004-12-06 2005-03-10 Ntt Docomo Inc データ変換装置、信号、データ変換方法、dceおよびゲートウェイ
JP2017501631A (ja) * 2013-12-19 2017-01-12 トムソン ライセンシングThomson Licensing IP QoSメカニズムの自動選択のための方法、夫々のCPEデバイス及びコンピュータ可読記憶媒体

Similar Documents

Publication Publication Date Title
JP3819484B2 (ja) Mpegパケットをパケット化およびセグメント化する装置および方法
EP0914749B1 (en) Method and apparatus for reassembly of data packets into messages in an asynchronous transfer mode communications system
US5917828A (en) ATM reassembly controller and method
KR100664778B1 (ko) 원격 통신 스위칭 네트워크 구조 소자
US6272144B1 (en) In-band device configuration protocol for ATM transmission convergence devices
US6097734A (en) Programmable reassembly of data received in an ATM network
JP3065026B2 (ja) Aal2パケット交換装置
JPH10173673A (ja) セル組立多重化装置及び分離装置
JPH05219098A (ja) フレーム変換方法及び装置
JP3761980B2 (ja) 加法によるデータパッキングのための装置及びその方法
US6490264B1 (en) Data transmission method and system
US6327271B1 (en) Programmable reassembly of data received in an ATM network
US6714562B1 (en) Method and apparatus for segmenting network traffic variable length frames
US7050461B2 (en) Packet buffer equipment
KR100236035B1 (ko) Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법
JPH07221762A (ja) パケット処理方法および通信インターフェイス装置
JPH08102761A (ja) プロトコル変換装置およびプロトコル変換方法
US20020114335A1 (en) Communication control apparatus
US7352754B2 (en) ATM-based data transmitting and receiving device and method
US6449254B1 (en) ATM cell filtering
JP3186707B2 (ja) Atm通信制御装置
KR0123251B1 (ko) 에이티엠(atm) 적응계층 타입 5 공통부의 셀 절단장치
US6801535B1 (en) Data reception apparatus for receiving ATM data streams
JP3576308B2 (ja) サイクリックデータ伝送方法
JP2001077832A (ja) プロトコル処理装置及びatmセル格納方法