JP2018055284A - 通信装置、及び通信装置の送信方法 - Google Patents

通信装置、及び通信装置の送信方法 Download PDF

Info

Publication number
JP2018055284A
JP2018055284A JP2016188832A JP2016188832A JP2018055284A JP 2018055284 A JP2018055284 A JP 2018055284A JP 2016188832 A JP2016188832 A JP 2016188832A JP 2016188832 A JP2016188832 A JP 2016188832A JP 2018055284 A JP2018055284 A JP 2018055284A
Authority
JP
Japan
Prior art keywords
frame
transmission
field
unit
priority
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
JP2016188832A
Other languages
English (en)
Inventor
勝彦 音琴
Katsuhiko Nekoto
勝彦 音琴
鉄太 坂部
Tetsuta Sakabe
鉄太 坂部
信之 福田
Nobuyuki Fukuda
信之 福田
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 JP2016188832A priority Critical patent/JP2018055284A/ja
Priority to US15/682,173 priority patent/US20180092113A1/en
Publication of JP2018055284A publication Critical patent/JP2018055284A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

【課題】複数の優先度が設定されたフレームを混在して伝送する通信装置及び通信装置の送信方法に関し、高優先度のデータの伝送遅延の発生を抑える汎用的な方法を提供する。【解決手段】第1のフレーム601を送信中に、高優先度の第2のフレーム602の送信契機が発生すると、第1のフレーム601の送信が中断され、送信中のフレームが第1のフレーム601の一部を含む第3のフレーム603に変換される。第3のフレーム603の送信後、高優先度の第2のフレーム602が送信される。その後、第1のフレーム601のEtherヘッダ610と第1のフレーム601中の未送信データを含む第4のフレーム604が生成され送信される。第3のフレーム603と第4のフレーム604は、Etherヘッダ610に挿入されるVLANタグフィールド611の特定TPIDと、ペイロードの最後尾に付加されるFragmentフィールドにより、組立制御される。【選択図】図6

Description

複数の優先度が設定されたフレームを混在して伝送する通信装置、及び通信装置の送信方法に関する。
例えばイーサネット(登録商標)上の、レイヤ2(L2)スイッチやルータ装置といった中継ノードにおいて、低優先度のデータと高優先度のデータとの間で競合が発生する場合がある。また、終端点のノードでも、低優先度のデータを扱うサービスと高優先度のデータを扱うサービスとの間でデータの送信等において競合が発生する場合がある。より具体的には、低遅延、リアルタイム性が求められるサービスやデータ中継において、周期的に来るはずの高優先度の情報がその間に低優先度のデータ長の長い情報があるために周期的に来なくなるような、遅延揺らぎが発生し得る。
また、LTE(Long Term Evolution)などの無線ネットワークシステムにおいても、同様の問題が発生し得る。VoLTEやテレビ電話サービス、TDD−LTE(Time Division Duplex−Long Term Evolution)、PTP(Precision Time Protocol)では、遅延揺らぎの小さいメッセージ伝送が求められる。また、LTE−Advanced Proや5Gといった次世代の無線ネットワークシステムでは、V2X(Vehicle to X)や産業機械等のIoTサービス提供を見据えて、1ミリ秒以内の遅延が求められている。
トラフィックの負荷に影響されず高優先フレームを低遅延で伝送する技術として、低優先フレームを分割(フラグメント)して伝送する技術が知られている(例えば特許文献1から5)。例えば、低優先フレームを予めフラグメントして伝送することにより、高優先フレームを優先して伝送できるようにする従来技術が知られている(例えば特許文献1及び2)。また、送信中のフレームより優先度の高いフレームが送信可能になった時に低優先フレームのデータ送信を中断して高優先フレームを送信できるようにする従来技術も知られている(例えば特許文献3から5)。一従来技術(例えば特許文献5)において、フォーマット変換部は、低優先の先発パケットに含まれるデータの送信途中に、先発パケットよりも高優先の後発パケットの送信契機が到来したときに、以下の処理を行う。すなわち、フォーマット変換部は、低優先の先発パケットに含まれるデータの送信途中で先発パケットを分割して2つのフラグメントパケットに変換する。L1処理部は、変換後の2つのフラグメントパケット間で高優先の後発パケットを送信する。
特開2001−257686号公報 特開2011−172135号公報 特開2015−126499号公報 特表2013−534103号公報 特開2016−005023号公報
しかしながら、従来技術では、優先度の高いデータの伝送遅延の発生を抑える汎用的な方法が実現できていなかった課題があった。
そこで、本発明の1つの側面では、優先度の高いデータの伝送遅延の発生をより的確に抑える汎用的な方法を提供することを目的とする。
態様の一例では、フレームを送信する送信部と、送信部での第1のフレームの送信中に、第1のフレームより優先度の高い第2のフレームの送信契機が発生すると、第1のフレーム中のデータの送信を中断して、送信中のフレームを第1のフレームの一部を含む第3のフレームに変換する変換部と、を備え、送信部は、第3のフレームの送信後に、第2のフレームを送信し、変換部は、第2のフレームの送信後、第1のフレームのヘッダと第1のフレーム中の未送信のデータを含む第4のフレームを送信部に送信させる。
優先度の高いデータの伝送遅延の発生を抑える汎用的な方法を提供することが可能となる。
通信装置の一実施形態が適用されるシステムの構成例を示す図である。 通信装置の一実施形態における送信側装置の構成例を示す図である。 通信装置の一実施形態における受信側装置の構成例を示す図である。 VLANタグフィールドとフラグメントフィールドのデータフォーマットの例を示す図である。 本実施形態における低優先度のフレームのデータフォーマットの例を示す図である。 通信装置の一実施形態における送信側装置のL2処理部内のL2送信部の詳細動作例を示す説明図である。 通信装置の一実施形態における受信側装置のL2処理部内の分離部及び組立部の詳細動作例を示す説明図である。 本実施形態と比較される従来技術の動作例を示す説明図である。 通信装置の一実施形態を適用した終端装置の動作例を示す説明図である。 通信装置の一実施形態を適用した中継装置の動作例を示す説明図(組立て/分割の両方に対応する場合)である。 通信装置の一実施形態を適用した中継装置の動作例を示す説明図(分割のみに対応する場合)である。 通信装置の一実施形態を適用した中継装置の動作例を示す説明図(組立てのみに対応する場合)である。 通信装置の一実施形態を適用しない中継装置の動作例を示す説明図である。 L2送信部の処理例を示すフローチャートである。 分離部、組立部の処理例を示すフローチャートである。 優先度クラスが3つ以上の場合のL3監視部の処理例を示すフローチャートである。 優先度クラスが3の場合における、通信装置の一実施形態における送信側装置のL2処理部内のL2送信部の詳細動作例を示す説明図である。 送信側装置及び受信側装置の実施形態を終端装置として実現可能なハードウェア構成例を示す図である。 送信側装置及び受信側装置の実施形態を中継装置として実現可能なハードウェア構成例を示す図である。
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。図1は、通信装置の一実施形態が適用されるシステムの構成例を示す図である。通信装置の一実施形態は、イーサネット100上の、レイヤ2スイッチ(図中「NodeB(L2SW)」)101や、ルータ装置(図中「NodeC(Router)」又は「NodeD(Router)」)102等の中継ノードに適用可能である。また、通信装置の一実施形態は、終端点のノード(図中「NodeA(終端)」又は「NodeE(終端)」)103にも適用可能である。
通信装置の一実施形態では、送信側装置から低優先度の第1のフレームを送信中に、第1のフレームより優先度の高い第2のフレームの送信契機が発生すると、送信側装置は次の動作を実行する。送信側装置は、第1のフレーム中のデータの送信を中断して、送信中のフレームを第1のフレームの一部を含む第3のフレームに変換する。そして、送信側装置は、第3のフレームの送信後に、高優先度の第2のフレームを送信し、その後、第1のフレームのヘッダと第1のフレーム中の未送信のデータを含む第4のフレームを送信する。これにより、優先度の高いデータの伝送遅延の発生を抑える汎用的な方法を提供するものである。
図2は、通信装置の一実施形態における送信側装置200の構成例を示す図である。この送信側装置200は例えば、通信装置の出力ポート毎に実装される。L3処理部201は、上位装置から引き渡されたL3レイヤのIP(Internet Protocol)パケットに対して、優先度制御を実行する。送信側装置200を含む通信装置が、例えば図1のNodeB(L2SW) 101や、NodeC/D(Router) 102等の中継ノードである場合には、上位装置はL3レイヤ(IPレベル)のルーティングを行う装置である。上位装置からL3処理部201へは、ルーティングされた結果としてのIPパケットが入力する。送信側装置200を含む通信装置が例えば図1のNodeA/E(終端) 103等の終端点のノードである場合には、上位装置は、アプリケーションプログラムの実行の結果出力される送信データが格納されたIPパケットを生成しL3処理部201に入力させる。IPパケットは続いて、L2処理部202で、イーサネットフレームに成形される。イーサネットフレームは更に、L1処理部(PHY:PHYsical layer)処理部203にて、送信側装置200が接続される伝送路の信号フォーマットを有する信号に変換されて送信される。
L3処理部201は、優先度クラス識別部211、高優先バッファ部212、低優先バッファ部213、及びL3送信部214を含む。
優先度クラス識別部211は、上位装置から引き渡された送信データのサービス名等を判別することにより、送信データの優先度クラスを識別する。例えば優先度クラスが2種類の場合であって、優先度クラス識別部211は、送信データの優先度が高優先度であると識別した場合、送信データを高優先バッファ部212に一時保持させる。一方、優先度クラス識別部211は、送信データのユーザ度が低優先度であると識別した場合、送信データを低優先バッファ部213に一時保持させる。優先度クラスは3種類以上であってもよく、その場合には、その種類に応じた各優先バッファ部が実装され、優先度クラス識別部211は、識別した優先度に対応する優先バッファ部に送信データを一時保持させる。
L3送信部214は、優先度クラスの種別に応じた出力割合で、各優先度の送信データを高優先バッファ部212又は低優先バッファ部213から読出する。そして、L3送信部214は、その送信データをL2処理部202に出力する。
L2処理部202は、L2フレーマ部221、L2送信部222、及びL3監視部223を含む。
L2フレーマ部221は、L3処理部201内のL3送信部214から順次送信されるIPパケットを入力する。L2フレーマ部221は、先頭にイーサネットヘッダ(以下「Etherヘッダ」と呼ぶ)、ペイロードに上記IPパケット、末尾にFCSが付加された、L2レイヤのイーサネットフレーム(以下単に「フレーム」と呼ぶ)を生成し、L2送信部222に出力する。Etherヘッダは、宛先MAC(Media Access Control)アドレス、送信元MACアドレス、及びタイプ又は長さの各フィールドを含む。
L3監視部223は、L3処理部201内のL3送信部214から、高優先度の送信データ又は低優先度の送信データのどちらがL2フレーマ部221に入力されたかを監視している。L3監視部223は、高優先度の送信データがL2フレーマ部221に入力されたことを検知すると、L2送信部222に、分割指示を通知する。
L2送信部222は、L2フレーマ部221から入力するフレームに対する変換及び送信処理を実行する。L2送信部222はまず、低優先度の第1のフレームの送信時に、そのフレームに設定されているEtherヘッダ中の送信元MACアドレスフィールドとタイプ又は長さフィールドの間に、VLAN(Virtual Local Area Network)タグフィールドを挿入する。VLANタグフィールドのフォーマットは、IEEE 802.1ワーキンググループが策定したIEEE 802.1Q規格に準拠する。IEEE(The Institute of Electrical and Electronics Engineers,Inc.)は、アメリカ合衆国に本部を持つ電気工学・電子工学技術の学会である。このとき、L2送信部222は、VLANタグフィールドに、第1のフレームがL2レイヤで分割されて送信される得ることを示す所定タグプロトコル識別子を格納する。続いて、L2送信部222は、上記第1のフレームのペイロードの最後尾に、フラグメントフィールド(以下「Fragmentフィールド」と記載)を付加する。このFragmentフィールドには、受信側で、このFragmentフィールドを含む第1のフレームが分割されたフレームではないことを示す情報が格納される。更に、L2送信部222は、新たに挿入されたVLANタグフィールドを含むEtherヘッダとペイロードとからFCSを再計算し、第1のフレームの末尾に付加する。このようにしてL2送信部222で修正された第1のフレームは、L1処理部203にて送信側装置200が接続される伝送路の信号フォーマットを有する信号に変換されて伝送路に送出される。
L2送信部222は、L2フレーマ部221からの上記第1のフレームの送信中に、第1のフレームより優先度の高い第2のフレームの送信契機が発生したことによる分割指示を、L3監視部223から通知されると、次の動作を実行する。L2送信部222は、第1のフレームのデータの送信を所定のバイト数まで送信したところで中断して、送信中のフレームを、第1のフレームの一部を含む第3のフレームに変換する(変換部として動作)。この第3のフレームにおいては、送信済みの第1のフレームのVLANタグフィールドを含むEtherヘッダがそのままこの第3のフレームのEtherヘッダとされ、第1のフレームのペイロードのデータの途中までがこの第3のフレームのペイロードとなる。続いて、L2送信部222は、上記第3のフレームのペイロードの最後尾に、フラグメントフィールド(以下「Fragmentフィールド」と記載)を付加する。このFragmentフィールドには、受信側で、このFragmentフィールドを含む第3のフレームを使って、分割前の元の第1のフレームを組み立てるための組立て情報が格納される。そして、L2送信部222は、第3のフレームにおいて、上記Fragmentフィールドに続いて、この第3のフレームのEtherヘッダ、ペイロード、及びFragmentフィールドのためのFCSを再計算して付加する。このようにして、L2送信部222は、第1のフレームと同じEtherヘッダと、第1のフレームのペイロード中の先頭の前半部分のデータと、Fragmentフィールドと、FCSが付加された第3のフレームを生成して送信する。L2送信部222から送信された第3のフレームは、L1処理部203にて送信側装置200が接続される伝送路の信号フォーマットを有する信号に変換されて伝送路に送出される。
次に、L2送信部222は、分割した低優先度の第3のフレームの送信後に、高優先度の第2のフレームをそのまま送信する(送信部として動作)。L2送信部222から送信された第2のフレームは、L1処理部203にて送信側装置200が接続される伝送路の信号フォーマットを有する信号に変換されて伝送路に送出される。
L2送信部222は、第2のフレームの送信後、分割された第1のフレームと同じEtherヘッダと、第1のフレームのペイロード中の分割された残りの未送信のデータを、それぞれEtherヘッダ及びペイロードとして有する第4のフレームを生成する。L2送信部222は、上記第4のフレームのペイロードの最後尾に、Fragmentフィールドを付加する。このFragmentフィールドには、受信側で、このFragmentフィールドを含む第4のフレームを使って、分割前の元の第1のフレームを組み立てるための組立て情報が格納される。L2送信部222は、上記Fragmentフィールドに続いて、この第4のフレームのEtherヘッダ、ペイロード、及びFragmentフィールドのためのFCSを計算して、第4のフレームに付加する。このようにして、L2送信部222は、第1のフレームと同じEtherヘッダと、第1のフレームのペイロード中の残りの未送信のデータと、Fragmentフィールドと、FCSが付加された第4のフレームを生成して送信する。L2送信部222から送信された第4のフレームは、L1処理部203にて送信側装置200が接続される伝送路の信号フォーマットを有する信号に変換されて伝送路に送出される。
図3は、通信装置の一実施形態における受信側装置300の構成例を示す図である。伝送路から受信された伝送路の信号フォーマットを有する受信信号は、L1処理部(PHY)301にて、L2レイヤのフレーム(イーサネットフレーム)に変換される。このフレームは、L2処理部302にて、IPパケットに変換される。このIPパケットは更に、L3処理部303に入力する。L3処理部303は、L2処理部202から入力したIPパケットを上位装置に引き渡す。受信側装置300を含む通信装置が、例えば図1のNodeC/D(Router) 102の中継ノードである場合には、上位装置はL3レイヤ(IPレベル)のルーティングを行う装置である。L3処理部303から上位装置へは、ルーティングされるべきIPパケットが入力する。受信側装置300を含む通信装置が例えば図1のNodeA/E(終端) 103等の終端点のノードである場合には、上位装置は、L3処理部303から受信したIPパケットから受信データを取り出し、実行されるアプリケーションプログラムに入力させる。
L2処理部302は、分離部321、組立部322、選択部323、及び送信部324を含む。
分離部321は、L1処理部301から入力したフレームのEtherヘッダに、図2の送信側装置200の説明で前述した所定タグプロトコル識別子が格納されたVLANタグフィールドが付加されているか否かを判別する。更に、分離部321は、上記フレーム中のペイロードの最後尾にそのフレームが分割されていることを示す前述したFragmentフィールドが付加されているか否かを判別する。分離部321は、上述の2つの判別結果がYESの場合には、L1処理部301から入力したフレームを、前述した低優先度の分割された第3又は第4のフレームであると判別して、組立部322に出力する。分離部321は、上述の2つの判別結果の少なくとも何れかがNOの場合は、L1処理部301から入力したフレームを、前述した低優先度の分割されていない第1のフレーム又は高優先度の第2のフレームであると判別して、選択部323にそのまま出力する。
選択部323は、組立部322から出力されるフレーム又は分離部321から出力されるフレームを選択して、送信部324に出力する。
送信部324は、L2レイヤのフレームからL3レイヤのフレームであるIPパケットを取り出して、L3処理部303に出力する。
分離部321で、前述した低優先度の分割されていない第1のフレーム又は高優先度の第2のフレームであると判別されたフレームは、そのまま選択部323から送信部324に転送される。そして、送信部324にて、選択部323から入力したフレームから取り出されたIPパケットが、L3処理部303に送られる。
分離部321から組立部322に入力するフレームは、高優先度のフレームの割込み送信により分割された低優先度の第3又は第4のフレームである。組立部322は、分離部321から入力する第3又は第4のフレームのFragmentフィールドに格納されている組立て情報に基づき、受信される第3又は第4のフレームの各々から分割の前の第1のフレームを組み立てる。そして、組立部322は、復元したその第1のフレームを、選択部323を介して送信部324に転送させる。そして、送信部324にて、上記第1のフレームから取り出されたIPパケットが、L3処理部303に送られる。
以上の図2の構成を有する送信側装置200及び図3の構成を有する受信側装置300の動作について、以下に詳細に説明する。図4は、前述した低優先度のフレームに付加されるVLANタグフィールドとフラグメントフィールドのデータフォーマットの例を示す図である。
図4(a)に示されるVLANタグフィールドのデータフォーマットは、前述したIEEE 802.1Q規約に準拠している。図4(a)において、各フィールドの括弧内の数字は、そのフィールドのビット数を表している。
図4(a)で、16ビットのTPID(Tag Protocol IDentifier:タグプロトコル識別子)フィールドには、通常は0x8100、0x9100(「0x」は16進歩数を表す)等の数値が格納される。これに対して、本実施形態では、TPIDフィールドに、このフレームが図2の送信側装置200においてL2レイヤで分割されて送信されたことを示す所定タグプロトコル識別子として、特番TPID値(例えば0x8101)が格納される。この特番TPID値は、上記0x8100、0x9100等の数値以外の16ビット値である。
図4(a)で、3ビットのPCP(Priority Code Point)フィールドは、優先度を指定するフィールドである。PCPフィールドは、フレームの優先度を0(最低)から7(最高)の各値で示し、音声、動画、データなどの各種トラフィックの優先順位付けに利用する。本実施形態では、分割された低優先度のフレームを更に複数の優先度に階層分けする場合に、このPCPフィールドに上記優先度が設定される。
図4(a)で、1ビットのCFI(Canonical Format Identifier)は、前述したMACアドレスフィールドが正規フォーマットであるか否かを1又は0の数値で表すフィールドである。このCFIフィールドは、イーサネットとトークンリングの相互接続時に使われるが、本実施形態はイーサネットを対象としているため、CFIフィールドには常に値1が格納される。
図4(a)で、12ビットのVID(VLAN Identifier:VLAN識別子)フィールドは、そのフレームが属するVLAN(Virtual Local Area Network:仮想ローカルエリアネットワーク)を指定する。VIDフィールドの値が0の場合には、そのフレームがどのVLANにも属していないことを意味し、VID=0であるVLANタグフィールドは単なる優先度タグフィールドとして使われていることになる。また、VIDフィールドの値0xFFFは予約されている。VIDフィールドの値0x001から0xFFEは、それぞれの値に対応するVLANに属するフレームとして送信、受信、又は中継処理される。
次に、本実施形態では、図2の送信側装置200の説明で前述したように、各分割フレームのペイロードの最後尾でFCSの手前に、図4(b)又は(c)のデータフォーマットを有するFragmentフィールドが付加される。このFragmentフィールドには、図3の受信側装置300のL2処理部302内の組立部322が分割フレーム(第3又は第4のフレーム)から元のフレーム(第1のフレーム)を組み立てるための組立て情報が格納される。
図4(b)のFragmentフィールドのデータフォーマット例では、上記組立て情報として、ID、FLAG、OFFSET、及びTOTAL_SIZEの各フィールドを有する。16ビットのIDフィールドは、そのFragmentフィールドを含む第3又は第4のフレーム(分割フレーム)がIDフィールドに対応する所定の第1のフレーム(分割前の元のフレーム)から分割されたことを示す識別子情報である。2ビットのFLAGフィールドは、そのフィールドを含む第3又は第4のフレームに、その第3又は第4のフレームに対応する第1のフレームから分割された他の第4のフレームが後続するか否かを示すフラグ情報であり、値1は後続あり、値0は後続なしを示す。14ビットのOFFSETフィールドは、そのフィールドを含む第3又は第4のフレームに格納される分割データの、その第3又は第4のフレームに対応する第1のフレームのデータ中でのオフセットを示すオフセット情報である。TOTAL_SIZEフィールドは、そのフィールドを含む第3又は第4のフレームに対応する第1のフレームのデータのサイズを示す情報である。
図4(c)のFragmentフィールドのデータフォーマット例では、上記組立て情報として、ID、分割数、順番の各フィールドを有する。16ビットのIDは、図4(b)の場合と同じである。8ビットの分割数フィールドは、そのフィールドを含む第3又は第4のフレームに対応する第1のフレームでの分割数−1を示す情報である。8ビットの順番フィールドは、そのフィールドを含む第3又は第4のフレームに格納される分割データの、その第3又は第4のフレームに対応する第1のフレームのデータ中での分割の順番を示す情報である。
図3の組立部322は、図4(b)又は(c)のデータフォーマットを有するFragmentフィールド内の組立て情報を参照することにより、IDフィールドの値が同じ第3又は第4のフレームから第1のフレームを組み立てることができる。
図5は、本実施形態において、図2又は図3のL2処理部202又は302が処理するL2レイヤの低優先度の第3又は第4のフレームのデータフォーマットの例を示す図である。第3又は第4のフレームにおいて、先頭にEtherヘッダが付加され、そのEtherヘッダ内の送信元MACアドレスフィールドとタイプ又は長さフィールドの間に、特番TPIDが格納されたVLANタグフィールドが挿入される。Etherヘッダ内の宛先MACアドレス、送信元MACアドレス、及びタイプ又は長さフィールドは、第3又は第4のフレームを生成した第1のフレームのEtherヘッダからそのままコピーされる。そのEtherヘッダに続くペイロードに、IPヘッダとデータとからなるL3レイヤのIPパケットが格納される。更に、そのペイロードの最後尾に、図4(b)又は(c)のデータフォーマットを有するFragmentフィールドが格納される。そして、第3又は第4のフレームの最後に、上記Etherヘッダ及びペイロードから計算されるFCSが付加される。
図6は、図2の送信側装置200のL2処理部202内のL2送信部222の詳細動作例を示す説明図である。
いま、L2送信部222が、低優先度の第1のフレーム601の送信処理を実行しているとする。この第1のフレーム601には、L2フレーマ部221によって、L2レイヤのEtherヘッダ610が付加されている。
L2送信部222は、その第1のフレームの分割の有無に関わらず、Etherヘッダ610において、VLANタグフィールド611がないときには、特番TPIDが設定されたVLANタグフィールド611を生成してEtherヘッダ610に格納する。
また、第1のフレーム601のペイロードには、L3レイヤのIPヘッダ612と、データ(前半)613及びデータ(後半)614を含むデータが格納されている。
L2送信部222は、上記ペイロードの末尾に、Fragmentフィールド615を生成して付加する。このとき、L2送信部222は、Fragmentフィールド615において、図4(b)のFLAGフィールドの値を後続なしを示す値0に設定し、かつOFFSETフィールドの値を先頭を表すオフセット値0に設定する。或いは、L2送信部222は、Fragmentフィールド615において、図4(c)の分割数フィールドの値を0に設定する。これにより、この第1のフレーム601が分割されないで送信されたことが、受信側装置300(図3)に通知される。
更に、L2送信部222は、第1のフレーム601の末尾のFCS616を、VLANタグフィールド611を含むEtherヘッダ610、IPヘッダ612、データ(前半)613、データ(後半)614、Fragmentフィールド615から再計算し修正する。
このようにして、L2送信部222は、L2フレーマ部221から入力した第1のフレーム601に、VLANタグフィールド611とFragmentフィールド615を付加する。そして、この結果得られる第1のフレーム601が、L2送信部222からL1処理部203を介して伝送路に送出される。
L2送信部222は、L3監視部223から第1のフレーム601の送信途中に高優先度の第2のフレーム602の送信契機が発生したことによる分割指示を通知されると、次の動作を実行する。
L2送信部222は、第1のフレーム601中のデータの送信をデータ(前半)613の末尾まで送信したところで中断して、送信中のフレームを、第1のフレーム601の一部を含む第3のフレーム603に変換する。この第3のフレーム603においては、送信済みの第1のフレーム501中のVLANタグフィールド611を含むEtherヘッダ610が、そのまま第3のフレーム603のEtherヘッダとされる(図6のS1)。また、第1のフレーム601のペイロード中のIPヘッダ612とデータ(前半)613が、第3のフレーム603のペイロードとされる(図6のS2)。
続いて、L2送信部222は、第3のフレーム603のペイロードの最後尾に、Fragmentフィールド617を付加する。このFragmentフィールド617には、受信側装置300(図3)で、このFragmentフィールド617を含む第3のフレーム603を使って、分割前の元の第1のフレーム601を組み立てるための組立て情報が格納される。組立て情報は、図4(b)又は(c)に示される情報である。
図4(b)のデータフォーマットが採用される場合、IDフィールドには第1のフレーム601を一意に識別するための番号が生成されて格納される。FLAGフィールドには、第3のフレーム603に第1のフレーム601から分割された第4のフレーム604が後続することを示す値1が格納される。OFFSETフィールドには、第1のフレーム601のペイロード中でのデータ(前半)613のオフセット情報が格納される。第3のフレーム603のペイロードに格納されるデータ(前半)613は第1のフレーム601のペイロード中の先頭から格納されているため、オフセット情報としては値0が格納される。TOTAL_SIZEフィールドには、第1のフレーム601のペイロード中のデータの合計サイズ、即ち、データ(前半)613のサイズ+データ(後半)614のサイズが格納される。
一方、図4(c)のデータフォーマットが採用される場合、IDフィールドには第1のフレーム601を一意に識別するための番号が生成されて格納される。分割数フィールドには、図6の場合第1のフレーム601が第3のフレーム603と第4のフレーム604の2つに分割されることを示す値1が格納される。順番フィールドには、図6の場合第3のフレーム603が1番目の分割フレームであることを示す値1が格納される。
そして、L2送信部222は、第3のフレーム603において、上記Fragmentフィールド617に続いて、この第3のフレーム603のEtherヘッダ610、IPヘッダ612、データ(前半)613、及びFragmentフィールド617のためのFCS618を再計算して付加する。
このようにして、L2送信部222は、第1のフレーム601の送信途中に高優先度の第2のフレーム602の送信契機が発生した場合であっても、第1のフレーム601の一部分を送信状態のまま第3のフレーム603に変換して送信を続行できる。この第3のフレーム603は、第1のフレーム601と同じVLANタグフィールド611を含むEtherヘッダ610と、第1のフレーム601のペイロード中の先頭のデータ(前半)613と、Fragmentフィールド617と、FCS618を有する。このように、第1のフレーム601から第3のフレーム603への分割変換処理は、第1のフレーム601のペイロードのデータ(前半)613を取り出す処理と、Fragmentフィールド617とFCS618を生成し付加する処理だけで済む。このため、第1のフレーム601から第3のフレーム603への分割送信処理において、伝送遅延の発生を抑制できる。
次に、L2送信部222は、分割した低優先度の第3のフレーム603の送信後に、L2フレーマ部221から入力してくる高優先度の第2のフレーム602をそのまま送信する(図6のS3)。第2のフレーム602は、通常のEtherフレームを構成するEtherヘッダ610とIPヘッダ612とデータとFCSを有する。しかし、第2のフレーム602は、そのEtherヘッダには、第1のフレーム601、第3のフレーム603におけるようなVLANタグフィールドは付加されない。
L2送信部222は、第2のフレームの送信後、第4のフレーム604を生成する。この第4のフレーム604は、分割された第1のフレーム601と同じVLANタグフィールド611が格納されたEtherヘッダ610と同じEtherヘッダを有する。また第4のフレーム604は、第1のフレーム601のペイロード中の分割された残りの未送信のデータ(後半)614をペイロードとして有する。
続いて、L2送信部222は、第4のフレーム604のペイロードの最後尾に、Fragmentフィールド619を付加する。このFragmentフィールド619には、受信側装置300(図3)で、このFragmentフィールド619を含む第4のフレーム604を使って、分割前の元の第1のフレーム601を組み立てるための組立て情報が格納される。組立て情報は、図4(b)又は(c)に示される情報である。
図4(b)のデータフォーマットが採用される場合、IDフィールドには、第1のフレーム601を一意に識別するための、第3のフレーム603のFragmentフィールド617のIDフィールドに付与されたのと同じ番号が格納される。FLAGフィールドには、第4のフレーム604には第1のフレーム601から分割されたフレームの後続はないことを示す値0が格納される。OFFSETフィールドには、第1のフレーム601のペイロード中でのデータ(後半)614のオフセット情報が格納される。第4のフレーム604のペイロードに格納されるデータ(後半)614は、第1のフレーム601のペイロード中ではデータ(前半)613の次に格納されているため、オフセット情報の値としては、データ(前半)613の末尾のデータアドレスが格納される。TOTAL_SIZEフィールドには、第1のフレーム601のペイロード中のデータの合計サイズ、即ち、データ(前半)613のサイズ+データ(後半)614のサイズが格納される。
一方、図4(c)のデータフォーマットが採用される場合、IDフィールドには、第1のフレーム601を一意に識別するための、第3のフレーム603のFragmentフィールド617のIDフィールドに付与されたのと同じ番号が格納される。分割数フィールドには、図6の場合第1のフレーム601が第3のフレーム603と第4のフレーム604の2つに分割されることを示す値1が格納される。順番フィールドには、図6の場合第4のフレーム604が2番目の分割フレームであることを示す値1が格納される。
そして、L2送信部222は、第4のフレーム604において、上記Fragmentフィールド619に続いて、この第4のフレーム604のEtherヘッダ610、データ(後半)614、及びFragmentフィールド619のためのFCS620を再計算して付加する。
このようにして、L2送信部222は、高優先度の第2のフレーム602の送信に引き続いて、第1のフレーム601から分割された低優先度の第4のフレーム604を送信することができる。第1のフレーム601から第4のフレーム604への生成処理は、第1のフレーム601のペイロードからデータ(後半)614を取り出し、Etherヘッダ610をコピーし、Fragmentフィールド619とFCS620を生成し付加する処理だけで済む。このため、第1のフレーム601から第4のフレーム604への分割送信処理において、伝送遅延の発生を抑制できる。
図7は、図3の受信側装置300のL2処理部302内の分離部321及び組立部322の詳細動作例を示す説明図である。
図3の分離部321の説明で前述したように、分離部321は、L1処理部301から入力したフレームのEtherヘッダに、図2の送信側装置200の説明で前述した所定タグプロトコル識別子が格納されたVLANタグフィールドが付加されているか否かを判別する。更に、分離部321は、上記フレーム中のペイロードの最後尾にそのフレームが分割されていることを示す前述したFragmentフィールドが付加されているか否かを判別する。
図6の動作例で分割された第3のフレーム603又は第4のフレーム604が入力した場合、これらのフレームには、図6の動作例で付加された特番TPIDが格納されたVLANタグフィールド611が挿入されたEtherヘッダ610が付加されている。
更に、これらのフレームには、図6の動作例によりFragmentフィールド617又は619が付加されている。図4(b)のデータフォーマットが採用される場合、Fragmentフィールド617においては、FLAGフィールド値として後続ありを示す値1、OFFSETフィールド値=0(先頭)が設定されている。また、Fragmentフィールド619においては、FLAGフィールド値として後続なしを示す値0、OFFSETフィールド値=データ(前半)613の最終アドレス値が設定されている。
図4(c)のデータフォーマットが採用される場合、Fragmentフィールド617、619においては、分割数フィールド値として2個に分割されていることを示す値1が設定されている。
このように、分離部321は、入力したフレームのEtherヘッダに特番TPIDが格納されたVLANタグフィールドが付加されていると判別した場合に、更に分離部321は以下の判別処理を実行する。図4(b)のデータフォーマットが採用される場合、分離部321は、次の判定処理を実行する。分離部321は、入力したフレームのFragmentフィールドのFLAG又はOFFSETの何れかのフィールド値が0でない場合に、入力されたフレームを、分割された第3のフレーム603又は第4のフレーム604であるとして組立部322に出力する。また、図4(c)のデータフォーマットが採用される場合、分離部321は、次の判定処理を実行する。分離部321は、入力したフレームのFragmentフィールドの分割数フィールド値が1以上である場合に、入力されたフレームを、分割された第3のフレーム603又は第4のフレーム604であるとして組立部322に出力する。
この結果、図3の分離部321から組立部322に入力するフレームは、高優先度のフレームの割込み送信により図6に示される動作例により分割された、低優先度の第3のフレーム603又は第4のフレーム604となる。
組立部322は、分離部321から入力する第3又は第4のフレームのうち、FragmentフィールドのIDフィールド値が同じフレーム同士で、フレームの組立処理を実行する。図7に示される第3のフレーム603及び第4のフレーム604は、各Fragmentフィールド617、619の各IDフィールド値が同じであるとする。
この場合、組立部322はまず、Fragmentフィールド617のOFFSETフィールドの値が0(図4(b)の場合)又は順番フィールドの値0(図4(c)の場合)であるフレームを第3のフレーム603として検出する。次に、組立部322は、この第3のフレーム603のEtherヘッダ610からVLANタグフィールド611を削除してEtherヘッダ701を生成する(図7のS1)。そして、組立部322は、このEtherヘッダ701に、第3のフレーム603のペイロードに格納されているIPヘッダ612及びデータ(前半)613を結合する(図7のS2)。
次に、組立部322は、上記第3のフレーム603のFragmentフィールド617に格納されているIDフィールド値と同じIDフィールド値が設定されている他のフレームを検出する。更に、組立部322は、検出したフレームの中から、OFFSETフィールドの値が0以外(図4(b)の場合)又は順番フィールドの値が1(図4(c)の場合)であるフレームを上記第3のフレーム603に対応する第4のフレーム604として検出する。そして、組立部322は、この第4のフレーム604のペイロードに格納されているデータ(後半)614を取り出す(図7のS3)。
組立部322は、図7のS1、S2、S3で抽出したEtherヘッダ701、IPヘッダ612、データ(前半)613、及びデータ(後半)614を結合することにより、第1のフレーム601を復元する。
このように、本実施形態では、入力したフレームに付加され得るVLANタグフィールド及びFragmentフィールドを判別するだけで、分割された低優先度の第3及び第4のフレーム603、604から第1のフレーム601を復元することができる。この結果、第3及び第4のフレーム603、604から第1のフレーム601を復元することにより処理遅延(終端ノードの場合)又は伝送遅延(中継ノードの場合)を抑えることが可能となる。
図8は、図6及び図7の本実施形態の動作例と比較される、従来技術の動作説明図である。図6の動作例では、低優先度の第1のフレーム601の送信中に、高優先度の第2のフレーム602の送信契機の発生により、第1のフレーム601が第3のフレーム603と第4のフレーム604に分割されて送信される動作例であった。これに対して、図8の従来技術の動作例でも、低優先度の第1のフレーム801の送信中に、高優先度の第2のフレーム702の送信契機の発生により、第1のフレーム801が第3のフレーム803と第4のフレーム804に分割されて送信される。第1のフレーム801のペイロードにおいて、IPヘッダ及びデータ(前半)を含む部分810が第3のフレーム803のペイロードに分割格納され(図8のS1)、データ(後半)812が第4のフレーム804のペイロードに分割格納される(図8のS2)。
図8の従来技術の動作例では、フレームの分割は、L2レイヤでのEtherフレームに対してではなく、L3レイヤのIPパケットに対して行われる。即ち、分割処理は、図2の送信側装置200の構成例でいえば、L2処理部202内のL2送信部222ではなく、L3処理部201内のL3送信部214に相当するブロックで実行される。
従来技術におけるL3送信部は、低優先度の第1のフレーム801のペイロード内のIPパケットの送信途中に、第2のフレーム802のペイロード内の高優先度のIPパケットの送信契機が到来すると、次の処理を実行する。L3送信部は、第1のフレーム601のIPパケットの送信途中でそのIPパケットを分割して、第3のフレーム803のペイロード内のIPパケットと第4のフレーム804のペイロード内のIPパケットの、複数のフラグメントパケットに変換する。L3送信部は、第3のフレーム803のIPパケットの送信と第4のフレーム804のIPパケットの送信の間で、高優先度の第2のフレーム802のIPパケットを送信する。
このとき、従来技術では、第1のフレーム801のIPパケットから分割されたIPヘッダ及びデータ(前半)を含む部分801は既に送信済みである。このため、このIPヘッダを用いて第3のフレーム803のIPパケットがフラグメントパケットであることを示すことは難しい。そこで、従来技術のL3送信部は、送信済みデータ801の直後に、その送信済みデータ801を含む第3のフレーム803のIPパケットがフラグメントパケットであることを示す新IPヘッダ811を付加することで、先頭のフラグメントパケットを形成する。
一方、従来技術のL3送信部は、第1のフレーム601のIPパケットから分割されたデータ(後半)812がコピーされる第4のフレーム804のIPパケットの生成時には、そのIPパケット内のIPヘッダ813にフラグメントに関する情報を挿入する。
従来技術の受信側装置内のL3処理部は、上述の各フラグメントパケットが挿入された第3のフレーム803及び第4のフレーム804の受信時には、次の処理を実行する。受信側装置内のL3処理部は、第3のフレーム803から取り出される先頭のフラグメントパケットに含まれるIPヘッダとデータ(前半)を含む部分810のうちのIPヘッダを、その直後に付加された新IPヘッダ811によって置き換える。受信側装置内のL3処理部は、置き換えられた新IPヘッダ811内のフラグメントに関する情報と、第4のフレーム804から取り出されるフラグメントパケットのIPヘッダ813内のフラグメントに関する情報とに基づいて、元のIPパケットを復元する。
以上のように、従来技術では、高優先度のパケットの送信契機の発生時における低優先度のパケットの分割処理は、L3レイヤで実施される。この場合、IPのプロトコル規約により、フラグメントパケットの処理は、各パケットに付加されたIPヘッダ内のフラグメントに関する情報に基づいて実行される必要がある。従って、従来技術では、第3のフレーム803の送信時に、送信済みのIPヘッダを書き換えるための新IPヘッダ811を付加する必要があり、IPヘッダの書換え処理が複雑で、その分遅延が大きくなって伝送効率も低下する。また、この従来技術は、L3レイヤがIPであることが前提条件となり、L3レイヤの他のプロトコルには対応できないという問題がある。また、L2レイヤのみの処理機能を有するレイヤ2スイッチへの適用を考慮した場合、従来技術は適用することができない。
一方、図6及び図7の本実施形態では、第3のフレーム603の送信時に、送信済みのVLANタグフィールド611を含むEtherヘッダ610は書き換える必要がなく、ペイロード最後尾のFragmentフィールド617でフラグメント処理を行える。
従って、本実施形態では、Etherヘッダ等の書換え処理が不要で、処理が複雑にならないため、伝送遅延を抑えることが可能となる。
また、L3レイヤの制御は必要ないため、L3レイヤの他のプロトコルにも対応することが可能となる。
更に、L2レイヤのみの処理機能を有するレイヤ2スイッチ(例えば図1のNodeB(L2SW) 101)に対しても、本実施形態によるフレーム分割方式を適用することが可能となる。
図9は、通信装置の一実施形態を適用した終端装置(例えば図1のNodeA(終端) 103又はNodeE(終端) 103)の動作例を示す説明図である。
上述したように、本実施形態によると、低優先フレームと高優先フレームの優先割合を動的に変更させ、データをフラグメントフレームの識別子と誤認識することを抑制し、あるいは経路上に動的な分割に対応しないノードがあっても適用できる。また、IPによるレイヤ3の機能を実装できる場合に適用が限定されることはなく、IPヘッダの書き換え処理も不要となる。
図9(a)の送信時は、図6で前述したように、第1のフレーム601の送信中に高優先度の第2のフレーム602の送信契機が発生すると、第1のフレーム601が第3のフレーム603と第4のフレーム604に分割される(図9の901)。第3のフレーム603と第4のフレーム604には、Fragmentフィールド615(濃い色の部分)が付加される。低優先度の第3のフレーム603、高優先度の第2のフレーム602、低優先度の第4のフレーム604の順に、送信が実行される。
図9(b)の受信時は、図7で前述したように、第3のフレーム603、高優先度の第2のフレーム602、第4のフレーム604の順に受信が行われる。受信されたこれらのフレームは、高優先度の第2のフレーム602と、低優先度の第3のフレーム603及び第4のフレーム604とに分離される。そして、第3のフレーム603と第4のフレーム604とから、第1のフレーム601が組み立てられる(以上、図9の902)。
図10は、通信装置の一実施形態を適用した、組立て/分割の両方に対応する中継装置(例えば図1のNodeB(L2SW) 101、NodeC/D(Router) 102)の動作例を示す説明図である。
図10において、図9(b)の受信時の場合と同様に、入力ポートで、分割された低優先度の第3のフレーム603、高優先度Iの第2のフレーム602、分割された低優先度の第4のフレーム604の順に受信が行われる。受信されたこれらのフレームは、入力ポートで、図9(b)の受信時の場合と同様に、分割されていない高優先度Iの第2のフレーム602と、分割された低優先度の第3のフレーム603及び第4のフレーム604とに分離される。そして、第3のフレーム603と第4のフレーム604とから、第1のフレーム601(図示せず)が組み立てられる(以上、図10の1001)。
図10において、中継時には、図3の分離部321、選択部323、及び送信部324を介して、まず高優先度Iの第2のフレーム602が先に中継部に入力されて中継される。続いて、組み立てられた第1のフレーム601が中継される。
その後、出力ポートから、高優先度の第2のフレーム602に引き続いて、第1のフレーム601が出力ポートから出力される。このときに、この出力ポートにおいて更に高優先度IIの第2のフレーム602′の送信契機が発生したとする。この場合、出力ポートにおいて、組み立てられた第1のフレーム601が再度第3のフレーム603′と第4のフレーム604′に分割される。そして、高優先度Iの第2のフレーム602の出力に引き続き、第3のフレーム603′、高優先度IIの第2のフレーム602′、及び第4のフレーム604′の順に出力が行われる。
図11は、通信装置の一実施形態を適用した、分割のみに対応する中継装置(例えば図1のNodeB(L2SW) 101、NodeC/D(Router) 102)の動作例を示す説明図である。
図11において、入力ポートで、分割された低優先度の第3のフレーム603、高優先度Iの第2のフレーム602、分割された低優先度の第4のフレーム604の順に受信が行われる。
図11の中継装置は低優先度及び高優先度のフレームの分離・組立ての機能を備えていないので、受信されたこれらのフレームは中継装置においてそのまま中継処理される。
その後、出力ポートから、低優先度のデータ(前半)613(図6参照)を含む第3のフレーム603、高優先度Iの第2のフレーム602、低優先度のデータ(後半)614(図6参照)を含む第4のフレーム604の順で、各フレームが出力される。
ここで、この出力ポートから第4のフレーム604が出力されているときに、更に高優先度IIの第2のフレーム602′の送信契機が発生したとする。第3のフレーム603には例えばデータ(前半)613(図6参照)が、第4のフレーム604には例えばデータ(後半)614(図6参照)が分割して格納されている。第4のフレーム604の出力タイミングで高優先度IIの第2のフレーム602′の送信契機が発生すると、第4のフレーム604のデータ(後半)614が更に、データ(後半/前半)とデータ(後半/後半)に分割される。そして、低優先度の第4のフレーム604がデータ(後半/前半)が格納された低優先度の第3のフレーム603′に変換され、高優先度Iの第2のフレーム602に続いて出力される。その後、新たに発生した高優先度IIの第2のフレーム602′が出力される。そして、データ(後半/後半)が格納された低優先度の第4のフレーム604′が生成されて出力される。
この場合、第3のフレーム603及び新たな第3のフレーム603′に付加されるFragmentフィールド617(濃い色の部分)(図6参照)において、それぞれのOFFSETフィールドには、中継装置に入力時のオフセット値がそのまま設定される。
新たな第4のフレーム604′に付加されるFragmentフィールド619(濃い色の部分)のOFFSETフィールドには、第3のフレーム603のデータ(前半)613と、新たな第3のフレーム603′のデータ(後半/前半)の合計サイズが設定される。
また、第3のフレーム603、新たな第3のフレーム603′、新たな第4のフレーム604′の各Fragmentフィールド617、619において、それぞれのIDフィールドには、デフォルトゲートウェイでの送信元MACアドレスの付け替え等に対応するため、新たな識別値が設定し直される(以上、図11の1101)。
図12は、通信装置の一実施形態を適用した、分割のみに対応する中継装置(例えば図1のNodeB(L2SW) 101、NodeC/D(Router) 102)の動作例を示す説明図である。
図12において、中継時は、図9(b)の受信時の場合と同様に、入力ポートで、入力ポートで、分割された低優先度の第3のフレーム603、高優先度Iの第2のフレーム602、分割された低優先度の第4のフレーム604の順に受信が行われる。受信されたこれらのフレームは、入力ポートで、図9(b)の受信時の場合と同様に、分割されていない高優先度Iの第2のフレーム602と、分割された低優先度の第3のフレーム603及び第4のフレーム604とに分離される。そして、第3のフレーム603と第4のフレーム604とから、第1のフレーム601(図示せず)が組み立てられる(以上、図12の1201)。
図12において、中継時には、図3の分離部321、選択部323、及び送信部324を介して、まず高優先度Iの第2のフレーム602が先に中継部に入力されて中継される。続いて、組み立てられた第1のフレーム601が中継される。
その後、出力ポートから、高優先度の第2のフレーム602に引き続いて、第1のフレーム601が出力ポートから出力される。このときに、この出力ポートにおいて更に高優先度IIの第2のフレーム602′の送信契機が発生したとする。図12の中継装置は低優先度のフレームの分割の機能を備えていないので、高優先度IIの第2のフレーム602′は、出力中の低優先度の第1のフレーム601の出力完了を待ってから送信される。
図13は、通信装置の一実施形態を適用しない中継装置の動作例を示す説明図である。図13の中継装置1301は、本実施形態による低優先度のフレームの分割機能と、低優先度及び高優先度のフレームの分離・組立ての機能を備えていない。このため、中継装置1301に、本実施形態により分割された低優先度のフレームに付加されているVLANタグフィールドの特番TPIDを疎通させる設定をしておく。
図13において、入力ポートで、分割された低優先度の第3のフレーム603、高優先度Iの第2のフレーム602、分割された低優先度の第4のフレーム604の順に受信が行われる。
図13の中継装置は低優先度及び高優先度のフレームの分離・組立ての機能を備えていないので、受信されたこれらのフレームは中継装置においてそのまま中継処理される。
その後、出力ポートから、低優先度のデータ(前半)613(図6参照)を含む第3のフレーム603、高優先度Iの第2のフレーム602、低優先度のデータ(後半)614(図6参照)を含む第4のフレーム604の順で、各フレームが出力される。このときに、この出力ポートにおいて更に高優先度IIの第2のフレーム602′の送信契機が発生したとする。図13の中継装置1301は低優先度のフレームの分割の機能を備えていないので、高優先度IIの第2のフレーム602′は、出力中の低優先度の第4のフレーム604の出力完了を待ってから送信される。
以上のようにして、本実施形態では、図9のように、例えば図1のNodeA(終端) 103又はNodeE(終端) 103等の終端装置に対応することが可能である。また、本実施形態は、図1のNodeB(L2SW) 101、NodeC/D(Router) 102等の中継装置の様々な形態に汎用的に対応することができる。例えば、中継装置が、図10のように、本実施形態による低優先度のフレームの分割機能と、低優先度及び高優先度のフレームの分離・組立ての機能の両方を備えている場合、図11、図12のように、片方のみを備えている場合に、それぞれ対応することができる。更に、中継装置が、図13のように、上記2つの機能のどちらも備えていない場合であっても、本実施形態により分割された低優先度のフレームを問題なく疎通させることができる。
このように、本実施形態によれば、優先度の高いデータの伝送遅延の発生を抑える汎用的な方法を提供することが可能となる。
図14は、図2の送信側装置200におけるL2処理部202内のL2送信部222の処理例を示すフローチャートである。
L2送信部222は、自装置に分割機能が有効に設定されていて、かつ入力したフレームのペイロードに格納されているIPパケットの優先度が最高優先度ではないか否かを判定する(図14のステップS1401)。自装置に分割機能が有効に設定されているケースは、図9(a)、図10、又は図11のケースが相当する。また、入力したフレームのペイロードに格納されているIPパケットの優先度は、図2のL3監視部223から通知される。
自装置に分割機能が有効に設定されていて、かつ入力したフレームのIPパケットの優先度が最高優先度ではない場合(図14のステップS1401の判定がYESの場合)には、L2送信部222は、次の処理を実行する。L2送信部222は、入力したフレームのEtherヘッダに、自装置内のレジスタ等に予め指定されている特番TPIDが格納されたVLANタグフィールド611が付加されているか否かを判定する(図14のステップS1402)。
図9(a)のように、自装置が終端装置であり最高優先度ではないフレームが送信されるときは、対象フレームは自装置で最初に生成される図6に例示した第1のフレーム601である。この場合、このフレームのEtherヘッダ610には、最初はVLANタグフィールド611は付加されていない。また、図10のように、自装置が中継装置であり受信された低優先度の分割済みの第3のフレーム603又は第4のフレーム604が組み立てられてから(図10のS1001)中継、送信されるときは、対象フレームは図6に例示した第1のフレーム601である。この場合も、第1のフレーム601のEtherヘッダ610には、VLANタグフィールド611は付加されていない。更に、図10のように、自装置が中継装置であり受信された低優先度の非分割の第1のフレーム601が中継、送信されるときには、次のような制御が実施される。まず、受信時に、第1のフレーム601のEtherヘッダ610から、VLANタグフィールド611及びFragmentフィールド615が削除される(後述する図15のステップS1509参照)。従って、この第1のフレーム601が、中継後、出力ポートに入力したときには、その第1のフレーム601のEtherヘッダ610には、VLANタグフィールド611は付加されていない。以上の何れかの場合には、ステップS1402の判定がNOとなる。
一方、図11のように、自装置が中継装置であり受信されたフレームは組み立てられることなく中継され、その後最高優先度ではないフレームが送信されるときは、入力したフレームは次のフレームである。入力したフレームは、図6に例示した既にVLANタグフィールド611が付与されたEtherヘッダ610を有する低優先度の非分割の第1のフレーム601、或いは、低優先度の分割済みの第3のフレーム603、又は第4のフレーム604の何れかである。この場合は、ステップS1402の判定がYESとなる。
ステップS1402の判定がNOの場合には、L2送信部222は、例えば内部のメモリに変数として記憶している送信済データ量をクリアする(図14のステップS1403)。
続いて、L2送信部222は、自装置内のレジスタ等に予め指定されている特番TPIDが格納されたVLANタグフィールド611を、入力した第1のフレーム601のEtherヘッダ610に挿入する(図14のステップS1404)。
一方、ステップS1402の判定がYESの場合は、次の処理が実行される。L2送信部222は、入力した第1のフレーム601、第3のフレーム603、又は第4のフレーム604に付加されているFragmentフィールド615、617、又は619から、OFFSETフィールド値を取り出す。そして、L2送信部222は、そのOFFSETフィールド値を、例えば内部のメモリの変数に、送信済データとして設定する(以上、図14のステップS1405)。
上記ステップS1404又はS1405の処理の後、L2送信部222は、例えば内部のメモリに変数として記憶しているFragmentフィールドに設定するためのIDフィールド値をインクリメントする(図14のステップS1406)。以下のこのIDフィールド値を、Fragment用IDと呼ぶ。
L2送信部222は、VLANタグフィールド611が挿入されたEtherヘッダ610と、ステップS1406で更新したFragment用IDとを、内部の特には図示しないバッファに保持する(図14のステップS1407)。このEtherヘッダ610は、ステップS1402の判定がNOの場合には、ステップS1404で生成されたものである。また、このEtherヘッダ610は、ステップS1403の判定がYESの場合には、入力した第1のフレーム601、第3のフレーム603、又は第4のフレーム604に付加されているVLANタグフィールド611が挿入されたEtherヘッダ610である。
続いて、L2送信部222は、入力しているフレームにおいて、そのEtherヘッダをステップS1407でバッファに保持したEtherヘッダ610で置き換えた後に、そのフレームの送信を開始する(図14のステップS1408)。送信されるのは、置き換えられたVLANタグフィールド611が挿入されたEtherヘッダ610と、それに続くペイロード内のIPパケットである。
L2送信部222は、フレームの送信中にL3監視部223から高優先度の第2のフレーム602の送信契機が発生したことによる低優先度のフレームの分割指示が通知されたか否かを判定する(図4のステップS1409)。
高優先度の第2のフレーム602の送信契機が発生せず(ステップS1409の判定がYESにならず)に、フレームのペイロードの末尾までの送信が完了してステップS1409の判定がNOになると、L2送信部222は、次の処理を実行する。L2送信部222は、内部のメモリに保持している送信済データ量と、バッファに保持しているFragment用IDとから、送信フレームのペイロードに続いて付加されるFragmentフィールドを生成する。そして、L2送信部222は、生成したFragmentフィールドを、上記ペイロードに続いて送信する(図14のステップS1410)。なお、本実施形態では、Fragmentフィールドのデータフォーマットとして、図4(b)の形式を使用する。
L2送信部222は、ステップS1410において、生成されるFragmentフィールドのIDフィールド(図4(b)参照)に、ステップS1406でインクリメントされ、ステップS1407でバッファに保持されたFragment用IDを設定する。
次に、前述したステップS1402の判定がNOとなり、かつステップS1409の判定が一度もYESにならずにNOとなった場合には、入力した低優先度の第1のフレーム601が分割されずに送信されることになる。この場合、L2送信部222は、ステップS1410で、ステップS1403でクリアされた送信済データ量がOFFSETフィールドに設定されたFragmentフィールド615を生成する。そして、L2送信部222は、送信した第1のフレーム601のペイロードに続いて、上記生成したFragmentフィールド615を送信する。送信される第1のフレーム601は非分割なので、OFFSETフィールドの値はクリアされた値0である。
一方、前述したステップS1402の判定がYESとなり、かつステップS1409の判定が一度もYESにならずにNOとなった場合には、入力した第3のフレーム603又は第4のフレーム604が再分割されずに中継されて送信されることになる。この場合、L2送信部222は、前述したステップS1405において、入力した第3のフレーム603又は第4のフレーム604のFragmentフィールド617又は619のOFFSETフィールドの値を、送信済データ量として取り出している。L2送信部222は、ステップS1410で、この送信済データ量がOFFSETフィールドに設定されたFragmentフィールド617又は619を生成する。そして、L2送信部222は、送信した第3のフレーム603又は第4のフレーム604のペイロードに続いて、上記生成したFragmentフィールド617又は619を送信する。
なお、L2送信部222は更に、Fragmentフィールド615、617、又は619のFLAGフィールド(図4(b)参照)には、フレームが入力したときのFragmentフィールド615、617、又は619のFLAGフィールドの値を設定する。また、L2送信部222は、Fragmentフィールド615、617、又は619のTOTAL_SIZEフィールド(図4(b)参照)に、フレームのペイロードのサイズを設定する。
上記Fragmentフィールドの送信後、L2送信部222は、送信したフレームのEtherヘッダ、ペイロード、及びFragmentフィールドを含むFCSを計算して生成する。そして、L2送信部222は、その生成したFCSを、上記Fragmentフィールドに続いて送信して、フレームの送信を終了する(図14のステップS1411)。
ステップS1409の判定において、一度YESとなった後に再度の判定でNOとなって、上述のステップS1410及びS1411が実行される場合については後述する。
L2送信部222は、低優先度のフレームの送信中に高優先度の第2のフレーム602の送信契機が発生してステップS1409の判定がYESになると、現在送信中のフレームを55バイトまで送信する(図14のステップS1412の判定がNOの繰返し)。最初の55バイト分が、第1のフレーム601から分割され又は第4のフレーム604から再分割して送信される第3のフレーム603又は603′となる(図9(a)、図10、又は図11参照)。以下、「第3のフレーム603又は603′」を「第3のフレーム603等」と表記する。
最初の55バイト分の送信が完了してステップS1412の判定がYESになると、L2送信部222は、送信中の第3のフレーム603等のデータ送信を停止する(図14のステップS1413)。
L2送信部222は、内部のメモリに保持している送信済データ量と、バッファに保持しているFragment用IDとから、送信した第3のフレーム603等のペイロードに続いて付加されるFragmentフィールド617を生成する。そして、L2送信部222は、生成したFragmentフィールド617を、分割送信された第3のフレーム603等のペイロードに続いて送信する(図14のステップS1414)。この処理は、前述した図14のステップS1410と同様である。ただし、L2送信部222は、Fragmentフィールド617のFLAGフィールドに、後続する分割フレームがあることを示す値1を設定する。また、L2送信部222は、Fragmentフィールド617のTOTAL_SIZEフィールドに、分割又は再分割前のフレームのペイロードのデータサイズの値を設定する。
上記Fragmentフィールド617の送信後、L2送信部222は、送信した第3のフレーム603等のEtherヘッダ610、ペイロード、及びFragmentフィールド617を含むFCSを計算して生成する。そして、L2送信部222は、その生成したFCSを、上記Fragmentフィールド617に続いて送信して、強制的に第3のフレーム603等の送信を終了する(図14のステップS1415)。
L2送信部222は、メモリに保持している送信済データ量に、今回送信された第3のフレーム603等の送信データ量を加算することにより、上記送信済データ量を更新する(図14のステップS1416)。
その後、L2送信部222は、上記第3のフレーム603等の送信に引き続いて、送信契機が発生した高優先度の第2のフレーム602を送信する(図14のステップS1417)。
続いて、L2送信部222は、ステップS1408の処理に戻って、ステップS1413で送信を停止した56バイト目以降について、分割又は再分割された第4のフレーム604又は604′の送信を実行する(図9(a)、図10、又は図11参照)。以下、「第4のフレーム604又は604′」を「第4のフレーム604等」と表記する。
第4のフレーム604等の送信において、L2送信部222はまず、バッファに保持してあった第3のフレーム603等と同様のVLANタグフィールド611が挿入されたEtherヘッダ610から送信を開始する(図14のステップS1408)。
Etherヘッダ610の送信後、L2送信部222は、前述の56バイト目以降のデータを第4のフレーム604等のペイロードとして送信する。その間、再度高優先度の第2のフレーム602の送信契機が発生せずに、第4のフレーム604等のペイロードの末尾までの送信が完了してステップS1409の判定がNOになると、L2送信部222は次の処理を実行する。
L2送信部222は、内部のメモリに保持している送信済データ量と、バッファに保持しているFragment用IDとから、送信フレームのペイロードに続いて付加されるFragmentフィールドを生成する。そして、L2送信部222は、生成したFragmentフィールドを、上記第4のフレーム604等のペイロードに続いて送信する(図14のステップS1410)。
この場合、L2送信部222は、前述したステップS1416において分割により更新された送信済データ量がOFFSETフィールドに設定されたFragmentフィールド619を生成する。そして、L2送信部222は、送信した第4のフレーム604等のペイロードに続いて、上記生成したFragmentフィールド619を送信する。
L2送信部222は更に、Fragmentフィールド619のFLAGフィールド(図4(b)参照)には、後続する分割フレームがないことを示す値0を設定する。また、L2送信部222は、Fragmentフィールド619のTOTAL_SIZEフィールド(図4(b)参照)に、前述の送信済データ量に今回の第4のフレーム604のペイロードのデータサイズを加算して得た値を、設定する。
上記Fragmentフィールド619の送信後、L2送信部222は、送信した第4のフレーム604等のEtherヘッダ610、ペイロード、及びFragmentフィールド619を含むFCSを計算して生成する。そして、L2送信部222は、その生成したFCSを、上記Fragmentフィールド619に続いて送信して、第4のフレーム604等の送信を終了する(図14のステップS1411)。
図15は、図3の受信側装置300におけるL2処理部302内の分離部321及び組立部322の処理例を示すフローチャートである。
まず、分離部321は、入力したフレームのEtherヘッダに、自装置内のレジスタ等に予め指定されている特番TPIDが格納されたVLANタグフィールド611が付加されているか否かを判定する(図15のステップS1501)。
次に、ステップS1501の判定がNOならば、分離部321は、ステップS1502からS1507の組立部322の処理をスキップして、ステップS1508の処理に移行する。ここで、分離部321は、入力したフレームを図3のL2処理部302内の選択部323に送信する。この処理は、図3の分離部321の説明で前述したように、高優先度の第2のフレーム602が受信された場合に、その第2のフレーム602を分離部321が選択部323に送信する動作に対応する。
ステップS1501の判定がYESならば、分離部321は、次の処理を実行する。分離部321は、入力したフレームのFragmentフィールドのFLAG/OFFSET(図4(b)の場合)もしくは分割数(図4(c)の場合)の各フィールドが、分割有りを示しているか否かを判定する(図15のステップS1502)。図4(b)のフォーマットの場合、分離部321は、上記Fragmentフィールド615のFLAGフィールドに後続なしを示す値0が設定されており、かつOFFSETフィールドの値が0であれば、分割無しとしてステップS1502の判定をNOにする。図4(c)のフォーマットの場合、分離部321は、上記Fragmentフィールド615の分割数フィールドの値が0であれば、分割無しとしてステップS1502の判定をNOにする。
ステップS1502の判定がNOの場合は、第1のフレーム601が分割されずに受信される場合である。この場合、分離部321は、第1のフレーム601において、そのEtherヘッダ610から特番TPIDが格納されたVLANタグフィールド611を削除し、更にその第1のフレーム601のペイロードの最後尾に付加されているFragmentフィールド615を削除する。その後、分離部321は、ステップ1508の処理に移行する。この結果、図3のL2処理部302内の分離部321から選択部323に、受信された非分割の第1のフレーム601からVLANタグフィールド611とFragmentフィールド615が削除された第1のフレーム601が転送される。
ステップS1502の判定がYESの場合は、第3のフレーム603又は第4のフレーム604が受信される場合である、この場合は組立部322に制御が移る。
組立部322は、受信された第3のフレーム603又は第4のフレーム604から、Etherヘッダ610の送信元MACアドレス、VLANタグフィールド611のVID、Fragmentフィールド617又は619のIDの、各フィールド値を取得する。組立部322は、取得した送信元MACアドレス、VID、及びFragmentのIDと同一の値が紐づけられた組立中フラグが、内部のメモリに設定されているか否かを判定する(図15のステップS1503)。
ステップS1503の判定がNOならば、組立部322は、特番TPIDのVLANタグフィールド611を削除したEtherヘッダ610をバッファに格納する。組立部322は、バッファ上の上記Etherヘッダ610と、ステップS1503で取得した送信元MACアドレス、VID、及びFragmentのIDを紐づけた組立中フラグを、メモリに記憶する(以上、図15のステップS1504)。
ステップS1503の判定がYESならば、組立部322は、ステップS1504の処理はスキップする。
次に組立部322は、受信した第3のフレーム603又は第4のフレーム604のFragmentフィールド615のIDと、OFFSET(図4(b))又は順番(図4(c))の各フィールド値に応じた組立制御を実施する(図15のステップS1505)。この組立制御は、図7の動作例の説明で前述した通りである。
その後、組立部322は、組立てが完了したか否かを判定する(図15のステップS1506)。
ステップS1506の判定がNOならば、組立部322は、そのまま今回の組立処理を終了する。
ステップS1506の判定がYESならば、組立部322は、メモリ中の組立中フラグとそれに紐づけられている情報をクリアする(図15のステップS1507)。
そして、組立部322は、組立が完了した第1のフレーム601(図7参照)を、図3のL2処理部302内の選択部323に送信し(ステップS1508)、今回の組立処理を終了する。
図16は、優先度クラスが3つ以上の場合のL3監視部223の処理例を示すフローチャートである。いま、nを優先度クラスの数とし、優先度0>優先度1>・・・>優先度n−1の順で高優先度とする。
L3監視部223は、図2のL3処理部201内のL3送信部214に問い合わせることにより、以下の一連の判定処理を実行する。
L3監視部223はまず、優先度0のフレームの送信が可能であるか否かを判定する(図16のステップS1601)。
ステップS1601の判定がNOならば、L3監視部223は、優先度1のフレームの送信が可能であるか否かを判定する(図16のステップS1602)。
以下同様にして、L3監視部223は、優先度n−2のフレームの送信が可能であるか否かを判定する処理までを実行する。なお、優先度クラスの数n=2であれば、ステップS1602以下は存在せず、ステップS1601の判定処理のみが実行される。
L3監視部223は、ステップS1601、S1602、・・・の優先度判定処理において、何れかの判定がYESになると、送信可能となったフレームの優先度は、現在送信中のフレームより高優先度であるか否かを判定する(図16のステップS1610)。
ステップS1610の判定がYESならば、L2送信部222に対して、分割指示を発行する(図16のステップS1611)。この結果、前述のL2送信部222が実行する図14のフローチャートの処理において、ステップS1409の判定がYESとなる。
ステップS1610の判定がNOならば、ステップS1611の処理はスキップして分割指示は発行しない。
図17は、図16及び図14のフローチャートに基づく、優先度クラスが3の場合の、図2の送信側装置200のL2処理部202内のL2送信部222の詳細動作例を示す説明図である。図17において、図6の動作例の場合と同じ参照番号又は記号が付された部分は図6の場合と同様の動作であるとする。
今、低優先度の第1のフレーム601の送信処理中に、中優先度の第5のフレーム1701の送信契機が発生し、図2のL3監視部223から分割指示が通知されたとする(図16のステップS1602の判定がYES→S1610の判定がYES→S1611)。この結果、図14のステップS1409の判定がYESとなることにより、前述したように第1のフレーム601から変換された第3のフレーム603が送信される。このとき、当初第1のフレーム601として送信が開始されている第3のフレーム603のEtherヘッダ610内のVLANタグフィールド611には、前述した特定TPIDが設定される(図17のS1)。また、VLANタグフィールド611において、PCPフィールドの値として、最低の優先度を表す値0が設定される。更に、第3のフレーム603のFragmentフィールド617には例えば、図14のステップS1414で、ステップS1406で設定された最初のIDフィールド値=0が設定される。また、第3のフレーム603のFragmentフィールド617には、図14のステップS1414で、後続する分割フレームが有ることを示すFLAGフィールド値=1が設定される。更に、第3のフレーム603のペイロードには、第1のフレーム601のペイロードの前半部分(IPヘッダ+データ(前半))が格納される(図17のS2)。
第3のフレーム603の送信後、図14のステップS1417により、分割指示が発生した中優先度の第5のフレーム1701の送信処理が実行される。このとき、L2送信部222は、図14のフローチャートの送信処理を再起処理として呼び出して実行する。中優先度の第5のフレーム1701は最高優先度のフレームではないため、図14のステップS1401の判定がYESとなり、低優先度のフレームの場合と同様の処理が再起的に実行される。この結果、第5のフレーム1701の送信処理が始まる。このとき、その送信途中で更に、高優先度の第2のフレーム602の送信契機が発生することにより、図3のL3監視部223から更に分割指示が通知されたとする(図16のステップS1601の判定がYES→S1610の判定がYES→S1611)。
この結果、中優先度のフレームに対して再起的に実行される図14の送信処理で、ステップS1409の判定がYESとなる。この結果、既に送信が開始されている第5のフレーム1701の一部分が新たな第3のフレーム1702として送信される。このとき、新たな第3のフレーム1702のEtherヘッダとしては、既に送信が開始されている第5のフレーム1701のVLANタグフィールド1711が挿入されたEtherヘッダ1710がそのまま使用される(図17のS1′)。VLANタグフィールド1711において、低優先度の場合と同じ特定TPIDが設定され、PCPフィールドに中優先度を表す値1が設定される。更に、新たな第3のフレーム1702のペイロードには、第5のフレーム1701のペイロードの前半部分(IPヘッダ+データ(前半))が格納される(図17のS2′)更に、新たな第3のフレーム1702のFragmentフィールド1712には例えば、図14のステップS1414で、ステップS1406でインクリメントされたIDフィールド値=1が設定される。また、Fragmentフィールド1712には、図14のステップS1414で、後続する分割フレームが有ることを示すFLAGフィールド値=1が設定される。
新たな第3のフレーム1702の送信後、図14のステップS1417により、分割指示が発生した高優先度の第2のフレーム602の送信処理が実行される。このときも、L2送信部222は、図14のフローチャートの送信処理を再起処理として呼び出して実行する。高優先度の第2のフレーム602は最高優先度のフレームのため、図14のステップS1401の判定がNOとなる。この結果、L2送信部222は、図14のステップS1418により、L2フレーマ部221から受信した高優先度の第2のフレーム602を、そのまま送信する(図17のS3)。
高優先度の第2のフレーム602の送信後、中優先度のフレームに対して再起的に実行される図14の送信処理で、ステップS1408、S1409、S1410、S1411が実行される。この結果、第5のフレーム1701から分割された新たな第4のフレーム1703が生成され送信される。このとき、新たな第4のフレーム1703には、図14のステップS1408により、新たな第3のフレーム1702に付加されたのと同じVLANタグフィールド1711が挿入されたEtherヘッダ1710が付加される。また、新たな第4のフレーム1703のペイロードには、第5のフレーム1701のペイロードの後半部分(データ(後半))が格納される(図17のS4′)。更に、新たな第4のフレーム1703のFragmentフィールド1713には例えば、図14のステップS1410で、ステップS1406でインクリメントされたIDフィールド値=1が設定される。この値は、第5のフレーム1701から分割された新たな第3のフレーム1702のFragmentフィールド1712に付加されたIDフィールド値と同じである。従って、新たな第3のフレーム1702及び新たな第4のフレーム1703は、受信側装置300での図15の受信処理のステップS1503において、同じ第5のフレーム1701から分割されたフレームとして識別することが可能となる。また、新たな第4のフレーム1703のFragmentフィールド1713には、図14のステップS1410で、後続する分割フレームが無いことを示すFLAGフィールド値=0が設定される。
中優先度のフレームに対して再起的に実行されていた図14の送信処理が終了すると、低優先度のフレームに対して実行されていた図14のステップS1417の処理が終了する。続いて、低優先度のフレームに対して実行される図14の送信処理で、ステップS1408、S1409、S1410、S1411が実行される。この結果、第1のフレーム601から分割された第4のフレーム604が生成され送信される。このとき、第4のフレーム604には、図14のステップS1408により、第3のフレーム603に付加されたのと同じVLANタグフィールド611が挿入されたEtherヘッダ610が付加される。また、第4のフレーム604のペイロードには、第1のフレーム601のペイロードの後半部分(データ(後半))が格納される(図17のS4)。更に、第4のフレーム604のFragmentフィールド619には例えば、図14のステップS1410で、ステップS1406で最初に設定されたIDフィールド値=0が設定される。この値は、第1のフレーム601から分割された第3のフレーム603のFragmentフィールド617に付加されたIDフィールド値と同じである。従って、第3のフレーム603及び第4のフレーム604は、受信側装置300での図15の受信処理のステップS1503において、同じ第1のフレーム601から分割されたフレームとして識別することが可能となる。また、第4のフレーム604のFragmentフィールド619には、図14のステップS1410で、後続する分割フレームが無いことを示すFLAGフィールド値=0が設定される。
低優先度のフレームに対して実行されていた図14の送信処理が終了すると、全ての優先度のフレームに対する送信処理が終了する。
図17は、優先度クラスが3つの場合の動作例であるが、優先度クラスの数が更に多くても、図16及び図14のフローチャートの処理に基づいて、優先度毎の制御を実行することが可能となる。
一方、図3の受信側装置300のL2処理部202内の分離部321及び組立部322における処理は、優先度が複数であっても、図15のフローチャートの処理によって対応することができる。優先度が異なる分割フレームにおいては、Fragmentフィールド615のID値として優先度毎に異なる値が設定されるため、図15のステップS1503の判定処理により、優先度毎の分割フレームから元のフレームを組み立てることが可能となる。
図18は、図2の送信側装置200及び図3の受信側装置300の実施形態を、終端装置(例えば図1のNodeA(終端) 103又はNodeE(終端) 103)として実現可能なハードウェア構成例を示す図である。
図18(a)は、送信側装置200及び受信側装置300を、プロセッサ構成により実現するハードウェア構成例である。CPU(Central Processing Unit)であるNWP(NetWork Processor)1801は、メモリ1802に記憶された制御プログラムを実行することにより、図2の送信側装置200のL3処理部201とL2処理部202、図3の受信側装置300のL2処理部302とL3処理部303の各機能を実現する。物理層処理回路(PHY:PHYsical Layer処理回路)1803は、外線ネットワーク網に対する電気的又は光的なインタフェースを処理する回路であり、図2の送信側装置200のL1処理部203、図3の受信側装置300のL1処理部301の機能を実現する。
図18(b)は、送信側装置200及び受信側装置300を、FPGA(Field Programmable Array)により実現するハードウェア構成例である。FPGA1811は、CPU1814からの制御により、メモリ1812を使用しながら、
図2の送信側装置200のL3処理部201とL2処理部202、図3の受信側装置300のL2処理部302とL3処理部303の各機能を実現する論理回路を形成する。物理層処理回路(PHY)1813は、図18(a)の1803と同様であり、外線ネットワーク網に対する電気的又は光的なインタフェースを処理する回路であり、図2の送信側装置200のL1処理部203、図3の受信側装置300のL1処理部301の機能を実現する。
図19は、図2の送信側装置200及び図3の受信側装置300の実施形態を、中継装置(例えば図1のNodeB(L2SW) 101、NodeC/D(Router) 102)として実現可能なハードウェア構成例を示す図である。
図19(a)は、中継装置の機能をプロセッサ構成により実現するハードウェア構成例である。CPUであるNWP1901は、メモリ1902に記憶された制御プログラムを実行する。これにより、例えばL2レイヤの中継を行うL2スイッチ(L2SW)と、L2スイッチの入力ポート部分に配置される図3のL2処理部302と、L2スイッチの出力ポート部分に配置される図2のL2処理部202の機能が実現される。物理層処理回路(PHY)1903は、外線ネットワーク網に対する電気的又は光的なインタフェースを処理する回路であり、図2の送信側装置200のL1処理部203、図3の受信側装置300のL1処理部301の機能を実現する。
図19(b)は、ハードウェアにより実装されるL2スイッチ(L2SW)1914と、外線ネットワーク網に対する電気的又は光的なインタフェースを処理する物理層処理回路(PHY)1913とを有する。そして、L2スイッチの入力ポート部分に配置される図3のL2処理部302と、L2スイッチの出力ポート部分に配置される図2のL2処理部202の機能が、FPGA1911とメモリ1912により実現される。
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
フレームを送信する送信部と、
前記送信部での第1のフレームの送信中に、前記第1のフレームより優先度の高い第2のフレームの送信契機が発生すると、前記第1のフレーム中のデータの送信を中断して、送信中のフレームを前記第1のフレームの一部を含む第3のフレームに変換する変換部と、
を備え、
前記送信部は、前記第3のフレームの送信後に、前記第2のフレームを送信し、
前記変換部は、前記第2のフレームの送信後、前記第1のフレームのヘッダと前記第1のフレーム中の未送信のデータを含む第4のフレームを前記送信部に送信させる、
ことを特徴とする通信装置。
(付記2)
前記送信部は、レイヤ2のフレームの送信処理を実行し、
前記送信部は、前記第1のフレームのヘッダに、前記第1のフレームが分割され得ることを示す所定タグプロトコル識別子を格納したVLANタグフィールドを格納して送信し、
前記変換部は、前記第3及び第4のフレームのペイロードの最後尾に、前記第3及び第4のフレームから前記第1のフレームを組み立てるための組立て情報を格納したフラグメントフィールドとを付加する、
付記1に記載の通信装置。
(付記3)
前記変換部は、前記VLANタグフィールドに、前記送信されるフレームの優先度をプライオリティコードポイントとして格納する、付記2に記載の通信装置。
(付記4)
経路上のノードに配置される付記3に記載の通信装置以外の通信装置は、受信又は中継処理するフレームにおいて、前記VLANタグフィールドに格納されている前記プライオリティコードポイントの値に基づいて、受信又は中継処理するフレームに対して優先度制御を実行する、付記3に記載の通信装置。
(付記5)
レイヤ2のフレームの受信処理で、受信されたフレームに前記所定タグプロトコル識別子を格納したVLANタグフィールドが付加されており、かつ前記受信されるフレーム中のペイロードの最後尾に前記受信されたフレームが分割されていることを示すフラグメントフィールドが付加されているか否かを判別することにより、前記受信されたフレームを前記第3又は第4のフレームと前記第2のフレームとに分離する分離部と、
前記分離部により分離された前記第3又は第4のフレームから、前記第3又は第4のフレームに付加されている前記フラグメントフィールド内の前記組立て情報に基づいて、前記第3又は第4のフレームに対応する分割の前の前記第1のフレームを組み立てる組立部と、
を更に有する付記2乃至4の何れかに記載の通信装置。
(付記6)
前記組立て情報は、前記組立て情報を含む前記第3又は第4のフレームが所定の前記第1のフレームから分割されたことを示す識別子情報と、前記組立て情報を含む前記第3又は第4のフレームに、前記第3又は第4のフレームに対応する前記第1のフレームから分割された他の前記第4のフレームが後続するか否かを示すフラグ情報と、前記組立て情報を含む前記第3又は第4のフレームに格納される前記分割データの、前記第3又は第4のフレームに対応する前記第1のフレームのデータ中でのオフセットを示すオフセット情報と、前記組立て情報を含む前記第3又は第4のフレームに対応する前記第1のフレームのデータのサイズを示す情報とを含む、付記2乃至5の何れかに記載の通信装置。
(付記7)
前記組立て情報は、前記組立て情報を含む前記第3又は第4のフレームが同じ前記第1のフレームから分割されたことを示す識別子情報と、前記組立て情報を含む前記第3又は第4のフレームに対応する前記第1のフレームでの分割数を示す情報と、前記組立て情報を含む前記第3又は第4のフレームに格納される前記分割データの、前記第3又は第4のフレームに対応する前記第1のフレームのデータ中での分割の順番を示す情報とを含む、付記2乃至5の何れかに記載の通信装置。
(付記8)
経路上のノードに配置される前記通信装置は、前記VLANタグフィールド中の前記所定タグプロトコル識別子をVLANタグとして登録して参照することにより、前記VLANタグフィールドを含むフレームを、前記VLANタグフィールド中のVLAN識別子として0が設定された場合にはどのVLANにも属さないフレームとして送信、受信、又は中継処理し、前記VLAN識別子として1から4094までの間の所定値が設定された場合には所定のVLANに属するフレームとして送信、受信、又は中継処理する、付記2乃至7の何れかに記載の通信装置。
(付記9)
経路上のノードに配置される前記通信装置は、前記所定タグプロトコル識別子毎に設定した、前記フレームの分割のオン又はオフの情報、及び前記フレームの組立てのオン又はオフの情報に基づいて、送信する前記第1のフレームから前記第3又は第4のフレームへの分割処理、及び受信した前記第3又は第4のフレームから前記第1のフレームへの組立ての処理を実行するか否かを決定する、付記2乃至8の何れかに記載の通信装置。
(付記10)
経路上のノードに配置される付記1乃至9の何れかに記載の通信装置以外の通信装置は、受信又は中継処理するフレームにおいて、前記VLANタグフィールドに前記所定タグプロトコル識別子が格納されていない場合には、受信又は中継処理するフレームを疎通させる、付記2乃至9の何れかに記載の通信装置。
(付記11)
第1のフレームの送信中に、前記第1のフレームより優先度の高い第2のフレームの送信契機が発生すると、前記第1のフレーム中のデータの送信を中断して、送信中のフレームを前記第1のフレームの一部を含む第3のフレームに変換し、
前記第3のフレームの送信後に、前記第2のフレームを送信し、
前記第2のフレームの送信後、前記第1のフレームのヘッダと前記第1のフレーム中の未送信のデータを含む第4のフレームを前記送信部に送信させる、
通信装置の送信方法。
100 イーサネット
101 レイヤ2スイッチ(NodeB(L2SW))
102 ルータ装置(NodeC(Router)、NodeD(Router))
103 終端点のノード(NodeA(終端)、NodeE(終端))
200 送信側装置
201、303 L3処理部
202、302 L2処理部
203、301 L1処理部(PHY)
211 優先度クラス識別部
212 高優先バッファ部
213 低優先バッファ部
214 L3送信部
221 L2フレーマ部
222 L2送信部
223 L3監視部
321 分離部
322 組立部
323 選択部
324 送信部
601 第1のフレーム
602、602′ 第2のフレーム
603、603′、1702 第3のフレーム
604、604′、1703 第4のフレーム
610、1710 Etherヘッダ
611、1711 VLANタグフィールド
615,617、619、1712、1713 Fragmentフィールド
1701 第5のフレーム

Claims (11)

  1. フレームを送信する送信部と、
    前記送信部での第1のフレームの送信中に、前記第1のフレームより優先度の高い第2のフレームの送信契機が発生すると、前記第1のフレーム中のデータの送信を中断して、送信中のフレームを前記第1のフレームの一部を含む第3のフレームに変換する変換部と、
    を備え、
    前記送信部は、前記第3のフレームの送信後に、前記第2のフレームを送信し、
    前記変換部は、前記第2のフレームの送信後、前記第1のフレームのヘッダと前記第1のフレーム中の未送信のデータを含む第4のフレームを前記送信部に送信させる、
    ことを特徴とする通信装置。
  2. 前記送信部は、レイヤ2のフレームの送信処理を実行し、
    前記送信部は、前記第1のフレームのヘッダに、前記第1のフレームが分割され得ることを示す所定タグプロトコル識別子を格納したVLANタグフィールドを格納して送信し、
    前記変換部は、前記第3及び第4のフレームのペイロードの最後尾に、前記第3及び第4のフレームから前記第1のフレームを組み立てるための組立て情報を格納したフラグメントフィールドとを付加する、
    請求項1に記載の通信装置。
  3. 前記変換部は、前記VLANタグフィールドに、前記送信されるフレームの優先度をプライオリティコードポイントとして格納する、請求項2に記載の通信装置。
  4. 経路上のノードに配置される請求項3に記載の通信装置以外の通信装置は、受信又は中継処理するフレームにおいて、前記VLANタグフィールドに格納されている前記プライオリティコードポイントの値に基づいて、受信又は中継処理するフレームに対して優先度制御を実行する、請求項3に記載の通信装置。
  5. レイヤ2のフレームの受信処理で、受信されたフレームに前記所定タグプロトコル識別子を格納したVLANタグフィールドが付加されており、かつ前記受信されるフレーム中のペイロードの最後尾に前記受信されたフレームが分割されていることを示すフラグメントフィールドが付加されているか否かを判別することにより、前記受信されたフレームを前記第3又は第4のフレームと前記第2のフレームとに分離する分離部と、
    前記分離部により分離された前記第3又は第4のフレームから、前記第3又は第4のフレームに付加されている前記フラグメントフィールド内の前記組立て情報に基づいて、前記第3又は第4のフレームに対応する分割の前の前記第1のフレームを組み立てる組立部と、
    を更に有する請求項2乃至4の何れかに記載の通信装置。
  6. 前記組立て情報は、前記組立て情報を含む前記第3又は第4のフレームが所定の前記第1のフレームから分割されたことを示す識別子情報と、前記組立て情報を含む前記第3又は第4のフレームに、前記第3又は第4のフレームに対応する前記第1のフレームから分割された他の前記第4のフレームが後続するか否かを示すフラグ情報と、前記組立て情報を含む前記第3又は第4のフレームに格納される前記分割データの、前記第3又は第4のフレームに対応する前記第1のフレームのデータ中でのオフセットを示すオフセット情報と、前記組立て情報を含む前記第3又は第4のフレームに対応する前記第1のフレームのデータのサイズを示す情報とを含む、請求項2乃至5の何れかに記載の通信装置。
  7. 前記組立て情報は、前記組立て情報を含む前記第3又は第4のフレームが同じ前記第1のフレームから分割されたことを示す識別子情報と、前記組立て情報を含む前記第3又は第4のフレームに対応する前記第1のフレームでの分割数を示す情報と、前記組立て情報を含む前記第3又は第4のフレームに格納される前記分割データの、前記第3又は第4のフレームに対応する前記第1のフレームのデータ中での分割の順番を示す情報とを含む、請求項2乃至5の何れかに記載の通信装置。
  8. 経路上のノードに配置される前記通信装置は、前記VLANタグフィールド中の前記所定タグプロトコル識別子をVLANタグとして登録して参照することにより、前記VLANタグフィールドを含むフレームを、前記VLANタグフィールド中のVLAN識別子として0が設定された場合にはどのVLANにも属さないフレームとして送信、受信、又は中継処理し、前記VLAN識別子として1から4094までの間の所定値が設定された場合には所定のVLANに属するフレームとして送信、受信、又は中継処理する、請求項2乃至7の何れかに記載の通信装置。
  9. 経路上のノードに配置される前記通信装置は、前記所定タグプロトコル識別子毎に設定した、前記フレームの分割のオン又はオフの情報、及び前記フレームの組立てのオン又はオフの情報に基づいて、送信する前記第1のフレームから前記第3又は第4のフレームへの分割処理、及び受信した前記第3又は第4のフレームから前記第1のフレームへの組立ての処理を実行するか否かを決定する、請求項2乃至8の何れかに記載の通信装置。
  10. 経路上のノードに配置される請求項1乃至9の何れかに記載の通信装置以外の通信装置は、受信又は中継処理するフレームにおいて、前記VLANタグフィールドに前記所定タグプロトコル識別子が格納されていない場合には、受信又は中継処理するフレームを疎通させる、請求項2乃至9の何れかに記載の通信装置。
  11. 第1のフレームの送信中に、前記第1のフレームより優先度の高い第2のフレームの送信契機が発生すると、前記第1のフレーム中のデータの送信を中断して、送信中のフレームを前記第1のフレームの一部を含む第3のフレームに変換し、
    前記第3のフレームの送信後に、前記第2のフレームを送信し、
    前記第2のフレームの送信後、前記第1のフレームのヘッダと前記第1のフレーム中の未送信のデータを含む第4のフレームを前記送信部に送信させる、
    通信装置の送信方法。
JP2016188832A 2016-09-27 2016-09-27 通信装置、及び通信装置の送信方法 Pending JP2018055284A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016188832A JP2018055284A (ja) 2016-09-27 2016-09-27 通信装置、及び通信装置の送信方法
US15/682,173 US20180092113A1 (en) 2016-09-27 2017-08-21 Communication method, communication device, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016188832A JP2018055284A (ja) 2016-09-27 2016-09-27 通信装置、及び通信装置の送信方法

Publications (1)

Publication Number Publication Date
JP2018055284A true JP2018055284A (ja) 2018-04-05

Family

ID=61685952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016188832A Pending JP2018055284A (ja) 2016-09-27 2016-09-27 通信装置、及び通信装置の送信方法

Country Status (2)

Country Link
US (1) US20180092113A1 (ja)
JP (1) JP2018055284A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021065370A1 (ja) * 2019-10-01 2021-04-08
JP2022543206A (ja) * 2019-07-26 2022-10-11 華為技術有限公司 データ送信方法及び装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111278062A (zh) * 2019-01-18 2020-06-12 维沃移动通信有限公司 一种以太帧的传输方法和相关设备
US11706010B1 (en) * 2019-12-30 2023-07-18 Nuro, Inc. Methods and apparatus for providing redundant networking capabilities for teleoperations

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022543206A (ja) * 2019-07-26 2022-10-11 華為技術有限公司 データ送信方法及び装置
JP7394960B2 (ja) 2019-07-26 2023-12-08 華為技術有限公司 データ送信方法及び装置
US12003319B2 (en) 2019-07-26 2024-06-04 Huawei Technologies Co., Ltd. Data transmission method and apparatus
JPWO2021065370A1 (ja) * 2019-10-01 2021-04-08
WO2021065370A1 (ja) * 2019-10-01 2021-04-08 日立Astemo株式会社 車両制御装置及びデータ転送制御方法
JP7431848B2 (ja) 2019-10-01 2024-02-15 日立Astemo株式会社 車両制御装置及びデータ転送制御方法

Also Published As

Publication number Publication date
US20180092113A1 (en) 2018-03-29

Similar Documents

Publication Publication Date Title
US10367718B2 (en) Method for acquiring, by SDN switch, exact flow entry, and SDN switch, controller, and system
EP1386455B1 (en) Method and apparatus to perform network routing
US20210120065A1 (en) Method for Data Communication in an Industrial Network, Control Method, Device, Computer Program and Computer-Readable Medium
CN101573913B (zh) 用于多播路由选择的方法和设备
EP3079301B1 (en) Packet processing method, apparatus and system
JP2018055284A (ja) 通信装置、及び通信装置の送信方法
WO2016054956A1 (zh) 一种负载分担方法及装置
CA2439865A1 (en) Method and apparatus for priority-based load balancing for use in an extended local area network
CN110943933A (zh) 一种实现数据传输的方法、装置和系统
JP6121548B2 (ja) パケットを送信するための方法、ルーティング・ブリッジ、およびシステム
WO2021238741A1 (zh) 报文转发方法、系统、设备、节点设备和存储介质
US20090207860A1 (en) Method, apparatus and system for transferring data
US20210392084A1 (en) Transmission Of Packets Over A TSN Aware Network
KR20190084315A (ko) 네트워크 장치 및 네트워크 장치의 전송 선택 방법
US20110292940A1 (en) System and method for establishing a communication path using labels
WO2021043232A1 (zh) 主机网络性能需求可编程化的方法、设备和系统
US20220407742A1 (en) Time-sensitive transmission of ethernet traffic between endpoint network nodes
US20230031236A1 (en) Transmission of data packets
CN114079674A (zh) 一种数据处理方法、用户面功能及装置
US20090245263A1 (en) Apparatus and method for transmitting packets in a packet switched network
JP2016005023A (ja) パケット送信装置及びパケット受信装置
JP4990187B2 (ja) データ転送装置
CN108632149B (zh) 卫星帧中继网组播方法和路由装置
CN111030943A (zh) 一种报文的处理方法、装置、转发设备及存储介质
US20080170577A1 (en) Station Device, Message Transfer Method, and Program Storage Medium Storing Program Thereof