JP2015153150A - 通信システム、送信装置、受信装置、デバッグ方法、及び、プログラム - Google Patents

通信システム、送信装置、受信装置、デバッグ方法、及び、プログラム Download PDF

Info

Publication number
JP2015153150A
JP2015153150A JP2014026479A JP2014026479A JP2015153150A JP 2015153150 A JP2015153150 A JP 2015153150A JP 2014026479 A JP2014026479 A JP 2014026479A JP 2014026479 A JP2014026479 A JP 2014026479A JP 2015153150 A JP2015153150 A JP 2015153150A
Authority
JP
Japan
Prior art keywords
lower layer
debug
packet
layer packet
upper layer
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
JP2014026479A
Other languages
English (en)
Inventor
知明 西村
Tomoaki Nishimura
知明 西村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2014026479A priority Critical patent/JP2015153150A/ja
Publication of JP2015153150A publication Critical patent/JP2015153150A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】受信装置において、上位層に係る条件で指定された特定の通信に関する、下位層のデバッグ情報を取得する。
【解決手段】送信装置100のデバイスドライバ130は、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、受信装置200に送信する。受信装置200のデバイスドライバ230は、送信装置100から所定の領域に装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する。
【選択図】 図1

Description

本発明は、通信システム、送信装置、受信装置、デバッグ方法、及び、プログラムに関する。
複数コンピュータ等により構成される通信システムにおけるネットワーク障害の調査では、コンピュータ内での通信処理のデバッグが行われる。この場合、コンピュータ内で、トランスポート層やネットワーク層に係る条件で指定された特定の通信に関して、トランスポート層からネットワーク層、データリンク層までの複数のプロトコル層に跨った一連の処理のデバッグ情報が要求される場合がある。例えば、トランスポート層、ネットワーク層として、TCP/IP、データリンク層としてEthernet(登録商標)が用いられていると仮定する。この場合、特定のIPアドレスやポート番号を用いた通信に対して、TCP、IP、及び、Ethernetの一連の処理に係るデバッグ情報の取得が要求される。しかしながら、Ethernetの処理を行うデバイスドライバでは、TCP/IPのプロトコルを解釈できない。このため、デバイスドライバで、特定の通信に係るパケットを識別する方法が必要となる。
送信側のコンピュータ(送信装置)のデバイスドライバにおいて、特定の通信に係るパケットを識別する方法としては、例えば、TCP/IPの処理を行うネットワークスタックが、送信データを収容するデータ管理構造体にデバッグフラグを設定する方法がある。デバイスドライバは、デバッグフラグをもとに、送信データが特定の通信に係る送信データかどうかを判断できる。
受信側のコンピュータ(受信装置)のデバイスドライバにおいて、特定の通信に係るパケットを識別する方法としては、例えば、デバイスドライバにTCP/IPのプロトコル解析処理を追加する方法が考えられる。しかしながら、この場合、プロトコル解析処理の負荷や遅延に伴うデバッグ情報の損失や、本来共通な上位レイヤのプロトコル解析処理をデバイスドライバ毎に追加する手間等が生じる。
このように、受信装置のデバイスドライバでは、特定の通信に係るパケットを識別することが難しい。したがって、受信装置では、トランスポート層やネットワーク層等、上位層に係る条件で指定された特定の通信に関する、Ethernet等、下位層のデバッグ情報を取得することができない。
なお、特許文献1には、ネットワーク上のデバッグ支援装置において、コンピュータ間の特定の通信の情報を取得する技術が開示されている。しかしながら、特許文献1に開示された技術では、デバッグ支援装置を介することにより、ネットワーク上の転送経路や転送速度が変わる上、デバッグ支援装置で観測できる情報しか採取できないという問題がある。
特開平10−136055号公報
本発明の目的は、上述した課題を解決し、受信装置において、上位層に係る条件で指定された特定の通信に関する、下位層のデバッグ情報を取得可能な、通信システム、送信装置、受信装置、デバッグ方法、及び、プログラムを提供することである。
本発明の通信システムは、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、受信装置に送信する、第1の下位層処理手段を含む送信装置と、前記送信装置から前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する、第2の下位層処理手段を含む前記受信装置と、を備える。
本発明の送信装置は、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する受信装置に送信する、下位層処理手段を備える。
本発明の受信装置は、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、送信する送信装置から、前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する、下位層処理手段を備える。
本発明のデバッグ方法は、送信装置において、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、受信装置に送信し、前記受信装置において、前記送信装置から前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する。
本発明の第1のプログラムは、コンピュータに、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する受信装置に送信する、処理を実行させる。
本発明の第2のプログラムは、コンピュータに、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、送信する送信装置から、前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する、処理を実行させる。
本発明の効果は、受信装置において、上位層に係る条件で指定された特定の通信に関する、下位層のデバッグ情報を取得できることである。
本発明の実施の形態の特徴的な構成を示すブロック図である。 本発明の実施の形態における、通信システム1の構成を示すブロック図である。 本発明の実施の形態における、デバッグ対象情報を示す図である。 本発明の実施の形態における、通信システム1の処理を示すフローチャートである。 本発明の実施の形態における、データ管理構造体150、250、及び、Ethernetパケット400の例を示す図である。
次に、本発明の実施の形態について説明する。
はじめに、本発明の実施の形態の構成について説明する。図2は、本発明の実施の形態における、通信システム1の構成を示すブロック図である。
通信システム1は、送信装置100、及び、受信装置200を含む。送信装置100と受信装置200とは、ネットワークにより接続される。
送信装置100は、アプリケーション110、ネットワークスタック120(または、第1の上位層処理部)、デバイスドライバ130(または、第1の下位層処理部)、及び、NIC(Network Interface Card)140を含む。
受信装置200は、アプリケーション210、ネットワークスタック220(または、第2の上位層処理部)、デバイスドライバ230(または、第2の下位層処理部)、及び、NIC240を含む。
アプリケーション110、210は、それぞれ、ネットワークスタック120、220を用いて、相互に通信を行うプログラムである。
ネットワークスタック120、220は、トランスポート層、及び、ネットワーク層のプロトコルの処理を行うプログラムである。本発明の実施の形態では、トランスポート層、及び、ネットワーク層のプロトコルとして、TCP/IPを用いる。なお、トランスポート層、及び、ネットワーク層のプロトコルは、TCP/IP以外の他のプロトコルでもよい。
デバイスドライバ130、230は、データリンク層のプロトコルの処理、及び、NIC140、240の制御を行うプログラムである。本発明の実施の形態では、データリンク層のプロトコルとして、Ethernetを用いる。なお、データリンク層のプロトコルは、Ethernet以外の他のプロトコルでもよい。
また、ネットワークスタック120、220、デバイスドライバ130、230は、それぞれ、送信装置100、受信装置200で動作するOS(Operating System)により提供されてもよい。
また、本発明の実施の形態においては、ネットワークスタック120、220とデバイスドライバ130、230間のように、プロトコル層を超えて共通に使用可能なデータ管理構造体150、250に、処理対象のパケットを格納して処理する。ここで、データ管理構造体150、250には、デバッグマーク領域151、251が確保される。データ管理構造体150、250に格納されたパケットがデバッグ対象である場合、デバッグマーク領域151、251には、装置内デバッグフラグが設定される。
例えば、OSがLinux(登録商標)の場合、データ管理構造体150、250はskb(sk_buff構造体)であり、skb内のcb(Control buffer)配列が、デバッグマーク領域151、251として用いられる。
また、本発明の実施の形態においては、送信装置100から受信装置200へ転送されるEthernetパケット400がデバッグ対象である場合、Ethernetパケット400のVLANタグ401に、装置間デバッグフラグが設定される。
送信装置100のネットワークスタック120は、プロトコル処理部121、デバッグ対象記憶部122、デバッグ対象判定部123、デバッグ情報取得部124、及び、デバッグフラグ設定部125を含む。
プロトコル処理部121は、TCP/IPのプロトコルに従った送信処理を行う。プロトコル処理部121は、送信処理において、アプリケーション110から受信した送信データをペイロードとして含む、TCP/IPパケット300(上位層パケット)を生成する。
デバッグ対象記憶部122は、デバッグ対象のパケットの条件を指定するデバッグ対象情報を記憶する。図3は、本発明の実施の形態における、デバッグ対象情報を示す図である。デバッグ対象情報では、デバッグ対象のパケットを、TCPヘッダやIPヘッダの設定値等、トランスポート層、ネットワーク層に係る条件で指定する。
デバッグ対象判定部123は、デバッグ対象情報をもとに、処理対象のパケットがデバッグ対象であるかどうかを判定する。
デバッグ情報取得部124は、処理対象のパケットがデバッグ対象の場合、TCP/IPの送信処理に係るデバッグ情報を取得する。
デバッグフラグ設定部125は、処理対象のパケットがデバッグ対象の場合、データ管理構造体150のデバッグマーク領域151に、装置内デバッグフラグ(例えば「1」)を設定する。
送信装置100のデバイスドライバ130は、プロトコル処理部131、デバッグ対象判定部133、デバッグ情報取得部134、及び、デバッグフラグ設定部135を含む。
プロトコル処理部131は、Ethernetのプロトコルに従った送信処理を行う。プロトコル処理部121は、送信処理において、ネットワークスタック120により生成されたTCP/IPパケット300をペイロードとして含む、Ethernetパケット400(下位層パケット)を生成し、受信装置200へ送信する。
デバッグ対象判定部133は、データ管理構造体150のデバッグマーク領域151の値をもとに、処理対象のパケットがデバッグ対象であるかどうかを判定する。
デバッグ情報取得部134は、処理対象のパケットがデバッグ対象の場合、Ethernetの送信処理に係るデバッグ情報を取得する。
デバッグフラグ設定部135は、処理対象のパケットがデバッグ対象の場合、Ethernetパケット400に、装置間デバッグフラグを示すVLAN ID(例えば「1」)が設定されたVLANタグ401を挿入する。なお、デバッグフラグ設定部135は、ネットワークスタック120により指定されたVLAN IDが設定されたVLANタグ401を挿入してもよい。この場合、処理対象のパケットがデバッグ対象であれば、ネットワークスタック120は、装置間デバッグフラグを示すVLAN IDを指定する。
なお、Ethernetパケット400が、通常のVLANを用いて転送される場合は、多重VLANの場合のように、当該通常のVLANのVLANタグに加えて、装置間デバッグフラグを示すVLAN IDが設定されたVLANタグ401が挿入される。
受信装置200のデバイスドライバ230は、プロトコル処理部231、デバッグ対象判定部233、デバッグ情報取得部234、及び、デバッグフラグ設定部235を含む。
プロトコル処理部231は、Ethernetのプロトコルに従った受信処理を行う。プロトコル処理部221は、受信処理において、送信装置100から受信したEthernetパケット400に含まれるTCP/IPパケット300を抽出する。
デバッグ対象判定部233は、Ethernetパケット400のVLANタグ401の値をもとに、処理対象のパケットがデバッグ対象であるかどうかを判定する。
デバッグ情報取得部234は、処理対象のパケットがデバッグ対象の場合、Ethernetの受信処理に係るデバッグ情報を取得する。
デバッグフラグ設定部235は、処理対象のパケットがデバッグ対象の場合、データ管理構造体250のデバッグマーク領域251に装置内デバッグフラグ(例えば「1」)を設定する。
受信装置200のネットワークスタック220は、プロトコル処理部221、デバッグ対象判定部223、及び、デバッグ情報取得部224を含む。
プロトコル処理部221は、TCP/IPのプロトコルに従った受信処理を行う。プロトコル処理部121は、受信処理において、デバイスドライバ230により抽出されたTCP/IPパケット300に含まれる受信データを抽出する。
デバッグ対象判定部223は、データ管理構造体250のデバッグマーク領域251の値をもとに、処理対象のパケットがデバッグ対象であるかどうかを判定する。
デバッグ情報取得部224は、処理対象のパケットがデバッグ対象の場合、TCP/IPの受信処理に係るデバッグ情報を取得する。
デバッグ情報取得部124、134、234、224により生成されるデバッグ情報は、送信処理や受信処理が行われた時刻、処理したパケットのヘッダ、ペイロードを含んでいてもよい。また、デバッグ情報は、送信処理や受信情報において検出されたエラー等の情報を含んでいてもよい。デバッグ情報は、図示しない記憶部に保存、または、図示しない表示部や他の装置へ出力される。
なお、送信装置100、及び、受信装置200は、それぞれ、CPU(Central Processing Unit)とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。この場合、送信装置100のCPUが、アプリケーション110、ネットワークスタック120、及び、デバイスドライバ130の機能を実現するためのコンピュータプログラムを実行する。また、受信装置200のCPUが、アプリケーション210、ネットワークスタック220、及び、デバイスドライバ230の機能を実現するためのコンピュータプログラムを実行する。また、送信装置100の記憶媒体は、デバッグ対象記憶部122の情報を記憶する。また、送信装置100、受信装置200の記憶媒体は、それぞれ、上述のデータ管理構造体150、250を記憶する。
次に、本発明の実施の形態における通信システム1の動作について説明する。
図4は、本発明の実施の形態における、通信システム1の処理を示すフローチャートである。また、図5は、本発明の実施の形態における、データ管理構造体150、250、及び、Ethernetパケット400の例を示す図である。
はじめに、送信装置100のアプリケーション110は、システムコール等により、ネットワークスタック120に対してデータの送信を指示する(ステップS101)。ここで、アプリケーション110は、送信データとともに、宛先IPアドレス、宛先ポート番号等を指定する。送信データは、データ管理構造体150に格納される。
ネットワークスタック120のデバッグ対象判定部123は、処理対象のパケットがデバッグ対象であるかどうかを判定する(ステップS102)。ここで、デバッグ対象判定部123は、処理対象のパケットが、デバッグ対象記憶部122に記憶されているデバッグ対象情報で指定される条件に合致する場合、デバッグ対象であると判定する。
処理対象のパケットがデバッグ対象の場合(ステップS102/Y)、デバッグフラグ設定部125は、データ管理構造体150のデバッグマーク領域151に装置内デバッグフラグを設定する(ステップS103)。プロトコル処理部121は、デバッグ情報取得部124によるデバッグ情報の取得を行いながら、TCP/IPのプロトコルに従った送信処理を行う(ステップS104)。
例えば、デバッグ対象記憶部122に図3のようなデバッグ対象情報が記憶されていると仮定する。そして、アプリケーション110により、宛先IPアドレス「192.168.1.2」、宛先ポート「80」のTCP/IPによるデータ送信が指示された場合、デバッグ対象判定部123は、デバッグ対象であると判断する。この場合、デバッグフラグ設定部125は、図5のように、デバッグマーク領域151に装置内デバッグフラグ「1」を設定する。そして、デバッグ情報取得部124は、TCP/IPの送信処理に係るデバッグ情報を取得する。
一方、処理対象のパケットがデバッグ対象でない場合(ステップS102/N)、プロトコル処理部121は、デバッグ情報取得部124によるデバッグ情報の取得を行わずに、TCP/IPのプロトコルに従った送信処理を行う(ステップS105)。
プロトコル処理部121は、生成されたTCP/IPパケット300を含むデータ管理構造体150とともに、デバイスドライバ130に対してパケット送信を指示する(ステップS106)。
次に、デバイスドライバ130のデバッグ対象判定部133は、処理対象のパケットがデバッグ対象であるかどうかを判定する(ステップS107)。ここで、デバッグ対象判定部133は、データ管理構造体150のデバッグマーク領域151に装置内デバッグフラグが設定されている場合、デバッグ対象であると判定する。
処理対象のパケットがデバッグ対象の場合(ステップS107/Y)、デバッグフラグ設定部135は、Ethernetパケット400に、装置間デバッグフラグを設定したVLANタグ401を挿入する(ステップS108)。プロトコル処理部131は、デバッグ情報取得部134によるデバッグ情報の取得を行いながら、Ethernetのプロトコルに従った送信処理を行う(ステップS109)。
例えば、図5のように、デバッグマーク領域151に装置内デバッグフラグ「1」が設定されている場合、デバッグフラグ設定部135は、Ethernetパケット400に、装置間デバッグフラグ「VLAN ID=1」のVLANタグ401を挿入する。そして、デバッグ情報取得部134は、Ethernetの送信処理に係るデバッグ情報を取得する。
一方、処理対象のパケットがデバッグ対象でない場合(ステップS107/N)、プロトコル処理部131は、デバッグ情報取得部134によるデバッグ情報の取得を行わずに、Ethernetのプロトコルに従った送信処理を行う(ステップS110)。
プロトコル処理部131は、NIC140を介して、受信装置200へ、生成されたEthernetパケット400を送信する(ステップS111)。
例えば、プロトコル処理部131は、図5のようなEthernetパケット400を、受信装置200へ送信する。
次に、受信装置200のデバイスドライバ230におけるプロトコル処理部231は、NIC240を介して、送信装置100から、Ethernetパケット400を受信する(ステップS201)。受信したEthernetパケット400は、データ管理構造体250に格納される。
デバッグ対象判定部233は、処理対象のパケットがデバッグ対象であるかどうかを判定する(ステップS202)。ここで、デバッグ対象判定部133は、Ethernetパケット400のVLANタグ401に装置間デバッグフラグが設定されている場合、デバッグ対象であると判定する。
処理対象のパケットがデバッグ対象の場合(ステップS202/Y)、デバッグフラグ設定部235は、データ管理構造体250のデバッグマーク領域251に装置内デバッグフラグを設定する(ステップS203)。プロトコル処理部231は、デバッグ情報取得部234によるデバッグ情報の取得を行いながら、Ethernetのプロトコルに従った受信処理を行う(ステップS204)。また、プロトコル処理部231は、装置間デバッグフラグが設定されていたVLANタグ401を削除する。
例えば、図5のように、VLANタグ401に装置間デバッグフラグ「VLAN ID=1」が設定されている場合、デバッグフラグ設定部235は、データ管理構造体250のデバッグマーク領域251に装置内デバッグフラグ「1」を設定する。そして、デバッグ情報取得部234は、Ethernetの受信処理に係るデバッグ情報を取得する。
一方、処理対象のパケットがデバッグ対象でない場合(ステップS202/N)、プロトコル処理部231は、デバッグ情報取得部234によるデバッグ情報の取得を行わずに、Ethernetのプロトコルに従った受信処理を行う(ステップS205)。
プロトコル処理部231は、抽出されたTCP/IPパケット300を含むデータ管理構造体250とともに、ネットワークスタック220に対してパケット受信を通知する(ステップS206)。
次に、ネットワークスタック220のデバッグ対象判定部223は、処理対象のパケットがデバッグ対象であるかどうかを判定する(ステップS207)。ここで、デバッグ対象判定部233は、データ管理構造体250のデバッグマーク領域251に装置内デバッグフラグが設定されている場合、デバッグ対象であると判定する。
処理対象のパケットがデバッグ対象の場合(ステップS207/Y)、プロトコル処理部221は、デバッグ情報取得部224によるデバッグ情報の取得を行いながら、TCP/IPのプロトコルに従った受信処理を行う(ステップS208)。
例えば、図5のように、デバッグマーク領域251に装置内デバッグフラグ「1」が設定されている場合、デバッグ情報取得部224は、TCP/IPの受信処理に係るデバッグ情報を取得する。
一方、処理対象のパケットがデバッグ対象でない場合(ステップS207/N)、プロトコル処理部221は、デバッグ情報取得部224によるデバッグ情報の取得を行わずに、TCP/IPのプロトコルに従った受信処理を行う(ステップS209)。
プロトコル処理部221は、システムコール等により、抽出された受信データとともに、アプリケーション110に対してデータの受信を通知する(ステップS210)。
アプリケーション110は、受信データを処理する(ステップS211)。
以上により、本発明の実施の形態の動作が完了する。
次に、本発明の実施の形態の特徴的な構成を説明する。図1は、本発明の実施の形態の特徴的な構成を示すブロック図である。
通信システム1は、送信装置100、及び、受信装置200を含む。
送信装置100は、デバイスドライバ130(第1の下位層処理部)を含む。デバイスドライバ130は、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、受信装置200に送信する。
受信装置200は、デバイスドライバ230(第2の下位層処理部)を含む。デバイスドライバ230は、送信装置100から所定の領域に装置間デバッグフラグが設定されている下位層パケットを受信した場合、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する。
本発明の実施の形態によれば、受信装置200において、上位層に係る条件で指定された特定の通信に関する、下位層のデバッグ情報を取得できる。その理由は、送信装置100が、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットに装置間デバッグフラグを設定し、受信装置200が、装置間デバッグフラグにより、デバッグ対象の通信における下位層パケットを識別するためである。これにより、受信装置200のデバイスドライバ230は、上位層のプロトコル解析処理を行うことなく、デバッグ対象の通信における下位層パケットを識別し、下位層のデバッグ情報を取得できる。
また、本発明の実施の形態によれば、上位層に係る条件で指定された特定の通信に関する、複数のプロトコル層に跨った一連の処理のデバッグ情報を取得できる。その理由は、デバッグ対象の通信におけるパケットに対して、送信装置100、受信装置200の内部では、装置内デバッグフラグ、送信装置100と受信装置200間では、上述の装置間デバッグフラグが付与されるためである。これにより、送信装置100、及び、受信装置200のネットワークスタック120、220、及び、デバイスドライバ130、230は、それぞれ、デバッグ対象のパケットを識別でき、特定の通信に関する、上位層、下位層のデバッグ情報を取得できる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
例えば、本発明の実施の形態では、Ethernetパケット400のVLANタグ401に、装置間デバッグフラグを設定した。しかしながら、これに限らず、デバイスドライバ230が抽出できれば、装置間デバッグフラグは、Ethernetパケット400のtypeフィールド等、VLANタグ401以外の領域に設定されてもよい。また、装置間デバッグフラグは、Ethernetパケット400をさらにカプセル化したときの、カプセル化ヘッダに設定されてもよい。
また、本発明の実施の形態では、装置内デバッグフラグや装置間デバッグフラグの値として、「1」を設定した。しかしながら、これに限らず、複数の異なる通信をデバッグ対象として識別する必要がある場合は、装置内デバッグフラグや装置間デバッグフラグの値として、複数の値が定義されてもよい。
また、本発明の実施の形態では、通信システム1が送信装置100と受信装置200とを含む場合について説明した。しかしながら、これに限らず、通信システム1は、送信装置100の各機能と受信装置200の各機能とを含む、通信装置を複数含んでいてもよい。
1 通信システム
100 送信装置
110 アプリケーション
120 ネットワークスタック
121 プロトコル処理部
122 デバッグ対象記憶部
123 デバッグ対象判定部
124 デバッグ情報取得部
125 デバッグフラグ設定部
130 デバイスドライバ
131 プロトコル処理部
133 デバッグ対象判定部
134 デバッグ情報取得部
135 デバッグフラグ設定部
140 NIC
150 データ管理構造体
151 デバッグマーク領域
200 受信装置
210 アプリケーション
220 ネットワークスタック
221 プロトコル処理部
223 デバッグ対象判定部
224 デバッグ情報取得部
230 デバイスドライバ
231 プロトコル処理部
233 デバッグ対象判定部
234 デバッグ情報取得部
235 デバッグフラグ設定部
240 NIC
250 データ管理構造体
251 デバッグマーク領域
300 TCP/IPパケット
400 Ethernetパケット
401 VLANタグ

Claims (10)

  1. 上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、受信装置に送信する、第1の下位層処理手段を含む送信装置と、
    前記送信装置から前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する、第2の下位層処理手段を含む前記受信装置と、
    を備えた通信システム。
  2. 前記送信装置は、さらに、送信対象の上位層パケットに対する上位層の送信処理を行い、当該上位層パケットがデバッグ対象の通信における上位層パケットである場合に、当該上位層パケットに対する前記上位層の送信処理に係るデバッグ情報を取得するとともに、第1の装置内デバッグフラグを設定する、第1の上位層処理手段を含み、
    前記第1の下位層処理手段は、前記第1の上位層処理手段により生成された前記上位層パケットを含んだ下位層パケットに対する下位層の送信処理を行い、前記第1の装置内デバッグフラグが設定されている場合に、当該下位層パケットに対する前記下位層の送信処理に係るデバッグ情報を取得するとともに、当該下位層パケットの所定の領域に装置間デバッグフラグを設定し、
    前記受信装置は、さらに、前記第2の下位層処理手段により抽出された上位層パケットに対する上位層の受信処理を行い、第2の装置内デバッグフラグが設定されている場合に、当該上位層パケットに対する前記上位層の受信処理に係るデバッグ情報を取得する、第2の上位層処理手段を含み、
    前記第2の下位層処理手段は、前記送信装置から受信した下位層パケットに対する前記下位層の受信処理を行い、当該下位層パケットの前記所定の領域に前記装置間デバッグフラグが設定されている場合に、当該下位層パケットに対する前記下位層の受信処理に係るデバッグ情報を取得するとともに、前記第2の装置内デバッグフラグを設定する、
    請求項1に記載の通信システム。
  3. 前記上位層は、トランスポート、及び、ネットワーク層であり、前記下位層は、データリンク層である、
    請求項1または2に記載の通信システム。
  4. 前記第1の下位層処理手段は、前記データリンク層におけるVLANタグに前記装置間デバッグフラグを設定する、請求項3に記載の通信システム。
  5. 上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する受信装置に送信する、下位層処理手段
    を備えた送信装置。
  6. 上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、送信する送信装置から、前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する、下位層処理手段
    を備えた受信装置。
  7. 送信装置において、上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、受信装置に送信し、
    前記受信装置において、前記送信装置から前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する、
    デバッグ方法。
  8. 前記送信装置の第1の上位層処理手段において、送信対象の上位層パケットに対する上位層の送信処理を行い、当該上位層パケットがデバッグ対象の通信における上位層パケットである場合に、当該上位層パケットに対する前記上位層の送信処理に係るデバッグ情報を取得するとともに、第1の装置内デバッグフラグを設定し、
    前記送信装置の第1の下位層処理手段において、前記第1の上位層処理手段により生成された前記上位層パケットを含んだ下位層パケットに対する下位層の送信処理を行い、前記第1の装置内デバッグフラグが設定されている場合に、当該下位層パケットに対する前記下位層の送信処理に係るデバッグ情報を取得するとともに、当該下位層パケットの所定の領域に装置間デバッグフラグを設定し、
    前記受信装置の第2の下位層処理手段において、前記送信装置から受信した下位層パケットに対する前記下位層の受信処理を行い、当該下位層パケットの前記所定の領域に前記装置間デバッグフラグが設定されている場合に、当該下位層パケットに対する前記下位層の受信処理に係るデバッグ情報を取得するとともに、第2の装置内デバッグフラグを設定し、
    前記受信装置の第2の上位層処理手段において、前記第2の下位層処理手段により抽出された上位層パケットに対する上位層の受信処理を行い、前記第2の装置内デバッグフラグが設定されている場合に、当該上位層パケットに対する前記上位層の受信処理に係るデバッグ情報を取得する、
    請求項7に記載のデバッグ方法。
  9. コンピュータに、
    上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する受信装置に送信する、
    処理を実行させるプログラム。
  10. コンピュータに、
    上位層に係る条件で指定されたデバッグ対象の通信における下位層パケットの所定の領域に装置間デバッグフラグを設定し、送信する送信装置から、前記所定の領域に前記装置間デバッグフラグが設定されている下位層パケットを受信した場合に、当該下位層パケットに対する下位層の受信処理に係るデバッグ情報を取得する、
    処理を実行させるプログラム。
JP2014026479A 2014-02-14 2014-02-14 通信システム、送信装置、受信装置、デバッグ方法、及び、プログラム Pending JP2015153150A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014026479A JP2015153150A (ja) 2014-02-14 2014-02-14 通信システム、送信装置、受信装置、デバッグ方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014026479A JP2015153150A (ja) 2014-02-14 2014-02-14 通信システム、送信装置、受信装置、デバッグ方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JP2015153150A true JP2015153150A (ja) 2015-08-24

Family

ID=53895318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014026479A Pending JP2015153150A (ja) 2014-02-14 2014-02-14 通信システム、送信装置、受信装置、デバッグ方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP2015153150A (ja)

Similar Documents

Publication Publication Date Title
CN109074330B (zh) 网络接口卡、计算设备以及数据包处理方法
US10419239B2 (en) Switch dependent teaming for high availability of virtual network functions
US8705514B2 (en) Apparatus for controlling a transfer destination of a packet originating from a virtual machine
CN110999265B (zh) 管理云计算服务端点和虚拟机之间的网络连接性
US9338094B2 (en) System and method for context aware network
US9313088B2 (en) Network system and network managing method
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
CN101455040B (zh) 灵活且可扩展的接收端调节
CN109479028B (zh) 网络接口卡、计算设备以及数据包处理方法
CN112243046B (zh) 通信方法和网卡
EP2880550B1 (en) Connection mesh in mirroring asymmetric clustered multiprocessor systems
US10326681B2 (en) System and method to analyze route information in a network
CN107800663B (zh) 流量离线文件的检测方法及装置
CN111801911B (zh) 业务功能链拥塞跟踪
EP3534577B1 (en) Forwarding multicast packets through an extended bridge
US20140156867A1 (en) Offload processing interface
US20120163176A1 (en) Network relay system, network relay device, and congested state notifying method
US10171354B2 (en) Communication processing system, communication processing apparatus, communication processing method, and storage medium
US20150263990A1 (en) Network device, control method, and program
EP2439889B1 (en) Method and system for realizing transmission of messages between an extended processor and a switch chip
KR102280343B1 (ko) 복수의 이더넷 포트를 가지는 사물인터넷 디바이스
US10177935B2 (en) Data transfer system, data transfer server, data transfer method, and program recording medium
US8914550B2 (en) System and method for transferring data between components of a data processor
CN107231309B (zh) 获取sdn全网视图的方法、控制器及目的交换节点
US10291496B1 (en) Packet capture based capturing of protocol layer state information