JP3846963B2 - Communication connection identification method in computer communication - Google Patents

Communication connection identification method in computer communication Download PDF

Info

Publication number
JP3846963B2
JP3846963B2 JP06280797A JP6280797A JP3846963B2 JP 3846963 B2 JP3846963 B2 JP 3846963B2 JP 06280797 A JP06280797 A JP 06280797A JP 6280797 A JP6280797 A JP 6280797A JP 3846963 B2 JP3846963 B2 JP 3846963B2
Authority
JP
Japan
Prior art keywords
connection
port number
communication
communication connection
network address
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.)
Expired - Fee Related
Application number
JP06280797A
Other languages
Japanese (ja)
Other versions
JPH10260921A (en
Inventor
久志 古賀
明 陣崎
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 JP06280797A priority Critical patent/JP3846963B2/en
Publication of JPH10260921A publication Critical patent/JPH10260921A/en
Application granted granted Critical
Publication of JP3846963B2 publication Critical patent/JP3846963B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、少なくとも2台以上のコンピュータが通信を行っているときに、複数の通信コネクションが登録されるコネクション・テーブルの中から、目的の通信コネクションに対応するエントリを見つけ出すコンピュータ通信における通信コネクションの識別方法に関するものである。
近年ネットワークの普及に伴い、コンピュータはスタンドアローンとしてではなく他のコンピュータと通信して使用されることが当然になり、1組のコンピュータ間に複数の通信コネクションが張られることも珍しくない。このため、コンピュータは、自分が送受信するデータがどの通信コネクションに属しているかを、多数のコネクションの中から識別する必要がある。
【0002】
【従来の技術】
従来、コンピュータがコネクションを識別する際には、自分に対して張られたコネクションID(識別子)をコネクション・テーブルに保持しておき、線形探索で、コネクション・テーブルに登録されたコネクションを一つ一つ送受信データから取り出されたコネクションIDと比較照合していた。この遣り方では1回コネクションを識別するのに平均でコネクション・テーブルのテーブル・エントリ数の半分のコネクションと比較する必要がある。
【0003】
図10は従来の技術によるコネクション識別方式を説明する図である。同図において、Tはコネクション・テーブル、αはコネクションIDの値を示す。
通信コネクションとは、二つのコンピュータ(ホスト)の間に張られた論理的な通信路である。コネクションを識別するためのコネクションIDは、データを送信するコンピュータのネットワーク・アドレス,データを送信するコンピュータのポートの番号,データを受信するコンピュータのネットワーク・アドレス及びデータを受信するコンピュータのポートの番号で定義される。なお、データを送信するコンピュータのネットワーク・アドレスを送信側アドレス、データを送信するコンピュータのポートの番号を送信側ポート番号、データを受信するコンピュータのネットワーク・アドレスを受信側アドレス、データを受信するコンピュータのポートの番号を受信側ポート番号と呼ぶこととする。
【0004】
コネクション・テーブルTは複数のエントリを有しており、各エントリはコネクションIDフィールド,コネクション関連情報フィールドを有している。コネクション関連情報とは、例えば通信コネクション上で何処までデータを送信(又は受信)済みかといった情報がある。このような従来の技術では、コネクションIDをキーとして、コネクション・テーブルTを先頭から1エントリずつ照合していく必要があり、図示の例ではd回の照合が必要になっている。
【0005】
【発明が解決しようとする課題】
従来の技術においては、1台のコンピュータに対して張られているコネクションの数が増えると、それに比例してコネクション・テーブルの探索にかかる時間が大きくなると言う欠点を生じていた。コネクションIDは送信側と受信側のネットワーク・アドレス・ペアを含み、今後,次世代プロトコルにおいてネットワーク・アドレス長が増えると、さらにコネクション照合にかかる時間が増加するという問題もある。
本発明は、この点に鑑みて創作されたものであって、コネクション識別に特化したハッシュ関数を使用して、コネクションの数が多いときでも短時間にコネクション識別を完了させることを目的としている。
【0006】
【課題を解決するための手段】
図1は本発明の原理説明図である。最初にコンピュータがデータを受信したとき、それがコネクション・テーブル上の何れのコネクションに属するかを識別する場合について説明する。先ず受信データからコネクションIDを抽出する。コネクションは送信側と受信側のネットワーク・アドレス・ペアおよびポート番号ペアから定義され、従って抽出されたコネクションIDも送信側アドレス,送信側ポート番号,受信側アドレス,受信側ポート番号の4要素を含んでいる。このような4要素の全部または一部をハッシュ関数計算モジュールに入力して、ハッシュ関数モジュールにハッシュ値を計算させ、その結果としてハッシュ関数計算モジュールからハッシュ値dが出力される。
【0007】
次に、コネクション・テーブルのd番目のエントリのコネクションIDと,受信データから抽出したコネクションIDが一致しているか否かを確認する。それが一致した場合には、それが目的のコネクションとなる。もし一致しない場合、つまりハッシュ値の衝突が起きている場合には,周知の線形走査法あるいは二重ハッシュ法を用いて、目的のコネクションを発見する。ハッシュ値衝突時に線形走査法を用いる場合には、異なるハッシュ値を持つコネクション同士まで衝突しあってしまうクラスター化現象による効率低下が問題になるが、それへの耐性を持つハッシュ関数を採用して回避する。
【0008】
コンピュータがデータを送信する場合は、コンピュータは、データを送信する通信コネクションのコネクションIDを知っている。コネクションIDからコネクション・テーブルのエントリを探索する方法は、データ受信の場合と同じである。
【0009】
コネクション・テーブルへのコネクションの登録について説明する。コンピュータAがコンピュータBにデータを送信する場合、通信コネクションを設定する必要がある。先ず、コンピュータAは、自己のネットワーク・アドレス(Aaとする),自己が使用するポート番号(Paとする),コンピュータBのネットワーク・アドレス(Abとする)及び特定のポート番号(Pcとする)を持つコネクション設定要求を送信する。コンピュータBは、このコネクション設定要求を受け取ると、使用すべきポート番号(Pbとする)を決め、使用すべきポート番号を含む応答をコンピュータAに返す。
【0010】
この応答を受け取ると、コンピュータAは送信側ネットワーク・アドレスAa,送信側ポート番号Pa,受信側ネットワーク・アドレスAb,受信側ポート番号Pbより成るコネクションIDを自己のコネクション・テーブルに登録する。コンピュータBも同様なコネクションIDを自己のコネクション・テーブルに登録する。
【0011】
コネクション設定時にコネクションIDを登録する方法は、受信の場合と略ぼ同じである。即ち、コネクションIDを構成するアドレス・ペアおよびポート番号ペアをハッシュ関数計算モジュールに入力し、出力されるハッシュ値dで指定されるエントリが既に他のコネクションに割り当てられているか否かを調べる。そのエントリが他のコネクションに割り当てられていなければ、そのエントリに該当するコネクションIDを書き込む。ハッシュ値の衝突が起きた場合には、周知の方法でそのコネクションを他のエントリに割り当てる。
【0012】
本発明では、図1に示すように、コネクションID(又はその部分集合)を入力としてハッシュ関数計算モジュールにハッシュ値を計算させており、同一コネクションに関しては必ず同じハッシュ値が出力されることが保証される。そこで、コネクション・テーブルへの新規コネクション登録時にハッシュ値をコネクション・テーブルの先頭からのオフセットとなるようにすると、2つ以上のコネクションが同じハッシュ値を持つ衝突現象が起きない限り、テーブル探索時もハッシュ値さえ判っていればテーブルを先頭から一つずつ調べることなく、直接的に目的とするテーブル・エントリを参照することが可能になる。即ち、一回コネクションを比較照合するだけで目的のコネクションに到達できる。なお、衝突が起きた場合は、周知の衝突対策法である線形走査法または二重ハッシュ法などを用いて引き続き探索を実行する。
【0013】
一般にコネクションがテーブル上にランダムに分布すると仮定した場合、テーブルに登録されたエントリ数がテーブル・サイズの50%であれば、衝突を考慮しても、平均照合回数が2回以下になることが知られている(L.I.Kronsjo.Algotrithms,John Wiley & Sons 参照) 。したがって、テーブルの占拠率を常に50%以下であるようにテーブル・サイズを広く取ってやれば、コネクション識別に特化したハッシュ関数を使用して出来るだけコネクションを一様に分布させることで、コネクション・テーブル探索時のコネクション照合回数が略ぼ2回以下になり、容易にコネクションを識別することが可能になる。
【0014】
【発明の実施の形態】
図2は本発明の全体構成を説明する図である。
同図において、Aは送信側ノード、Bは受信側ノード、Fはハッシュ関数計算モジュール、Tはコネクション・テーブルをそれぞれ示している。
送信側ノードAも受信側ノードBもコンピュータであり、送信側ノードAと受信側ノードBの間には通信コネクションが張られている。コネクションIDを構成する送信側アドレス,送信側ポート番号,受信側アドレス,受信側ポート番号を通信データから取り出す処理は、ハッシュ関数計算モジュールFの中で行っても、ハッシュ関数モジュールFの外で行っても良い。また、ハッシュ関数計算モジュールFについては、異なる通信プロトコル毎に別の関数を使用しても構わない。更に、コネクションの両端のコンピュータは直接つながっている必要がなく、間に中継ノードが存在しても構わない。
【0015】
図3は本発明の第1実施例を説明する図である。
第1実施例では、コネクションを定義する要素である送信側アドレス,受信側アドレス,送信側ポート番号,受信側ポート番号の和を計算して、その値をハッシュ値としている。ネットワーク・アドレス・ペアとポート番号ペアのビット長がTCP/IPのように大きく違っている場合には、ネットワーク・アドレスをそれぞれ上位ビットと下位ビットに分割してから合計6要素の和を計算しても良い。なお、TCP/IPプロトコルでは、IPアドレスは32ビットであり、ポート番号は16ビットである。また、IPアドレスのように、ネットワーク・アドレスが幾つかのフィールドから構成されている場合には、フィールド単位で和を計算しても良い。IPアドレスは、例えば133.12.12.1のように表現され、点で区切られている各整数は8ビットで表現されている。フィールドとは、このような8ビットの範囲を意味している。
【0016】
図4は本発明の第2実施例を説明する図である。
第2実施例においては、ハッシュ関数計算モジュールFは暗号化アルゴリズムを使用している。ハッシュ関数計算モジュールFへの入力は、コネクションを定義する送信側アドレス,受信側アドレス,送信側ポート番号,受信側ポート番号である。これらは、連続して例えばメモリ・バッファ上に並べられる。ハッシュ関数計算モジュールFは、これらを一つのビット列と見做して暗号化アルゴリズムを起動し、その結果として出力される暗号文をハッシュ値とする。暗号化によってコネクション・テーブル上にコネクションを略ぼランダムに割り振ることができ、ハッシュによる探索の効率を向上できる。コネクション定義要素をビット列に並べるときの順番は任意で良く、定義要素の一部のみでビット列を構成しても良い。暗号化アルゴリズムは、DES,MD5など何れでも良い。一般に暗号アルゴリズムは数十ビット以上の暗号文を出力するが、その内の何ビットをハッシュ値として使用するか,また何れのビットを使用するかについては制限はない。
【0017】
図5は本発明の第3実施例を説明する図である。
ハッシュ関数計算モジュールFへの入力はポート番号ペアのみであり、特に受信データからネットワーク・アドレス・ペアを切り出す必要がない。ポート番号しか使用しないことで、簡単でそれなりに効率の良いハッシュ関数が実現できる。例えば、単に送信側ポート番号と受信側ポート番号の和を取って、それをハッシュ値とする関数もハッシュ関数モジュールFの一例である。
【0018】
図6は本発明の第4実施例を説明する図である。同図において、SないしS3はビット・シャッフル手段を示している。
ビット・シャッフル手段は、入力されたデータのビット位置を変換する機能を有している。送信側アドレスはビット・シャッフル手段Sに入力され、送信側ポート番号はビット・シャッフル手段S1に入力され、受信側アドレスはビット・シャッフル手段S2に入力され、受信側ポート番号はビット・シャッフル手段S3に入力されている。ビット・シャッフル手段S,S1,S2,S3の出力は、ハッシュ関数計算モジュールFに入力される。ハッシュ関数計算モジュールFの出力がハッシュ値dになる。
【0019】
ビット・シャッフル手段S,S1,S2,S3をソフトウェアで実現しても、ハードウェアで実現しても良い。また、各入力要素毎に異なる方法でビット・シャッフルしても構わない。さらに、一部の入力要素に対してだけビット・シャッフルしても良い。ビット・シャッフルによってポート番号の違いを増幅できるため、ハッシュ値衝突時のクラスター化現象による探索効率の低下を避けられる。ビット・シャッフルの方式例として、ビット・ローテーションによるビット位置入れ替えもある。
【0020】
図7は本発明の第5実施例を説明する図である。第5実施例においては、第4実施例の場合と異なり、ハッシュ関数計算モジュールFへの入力をビット・シャッフルする代わりに、ハッシュ関数計算モジュールFの出力をビット・シャッフルし、ビット・シャッフルの結果をハッシュ値とする。各入力要素をビット・シャッフルする場合に比べ、ビット・シャッフル手段の起動回数を1回に減らせるという利点がある。
【0021】
図8は本発明の第6実施例を説明する図である。送信側アドレスの上位ビットを0マスクし、受信側アドレスの上位ビットも0マスクする。そして、送信側アドレスの下位ビット,受信側アドレスの下位ビット,送信ポート番号,受信ポート番号をハッシュ関数計算モジュールFに入力する。
【0022】
ローカルなコネクション同士ではネットワーク・アドレスの上位ビットは全て一緒になってしまい、コネクションを識別するための情報として役に立たないので、送信側アドレスおよび受信側アドレスの下位ビットのみの抽出により、うまくコネクション識別情報をハッシュ値に畳み込める。これはコネクション・テーブルのサイズを小さくするため、ハッシュ値のサイズを押さえる必要があるときに効果が大きい。また、IPアドレスのように、ネットワーク・アドレスが幾つかのフィールドから構成されている場合には、それぞれのフィールドに対して上位ビットをマスクすることで、下位ビットのみを取り出しても良い。その際、例えば上位フィールドより下位フィールドの方で、多くのビット数を取り出すようにしても良い。
【0023】
図9は本発明の第7実施例を説明する図である。同図において、Gはハッシュ関数計算モジュールのサブルーチン、Hもハッシュ関数計算モジュールのサブルーチンをそれぞれ示す。
送信側アドレス及び受信側アドレスから成るネットワーク・アドレス・ペアに関しては、差分を取ってからハッシュ関数計算モジュールFに入力する。送信側ポート番号と受信側ポート番号をそのままハッシュ関数計算モジュールFに入力しても良いし、送信側ポート番号と受信側ポート番号の差分を取って入力しても良い。IPアドレスのように、ネットワーク・アドレスが幾つかのフィールドから構成されている場合には、フィールド毎に差分を計算しても良い。
【0024】
このようにすることにより、通信コネクションの両端のコンピュータが同一ネットワークに属しているか否かがネットワーク・アドレス・ペアの差の上位ビットが0か否かで判定できる。この情報を利用して、コネクションの両端が同一ネットワークに属しているか否かで、ハッシュ算出方法を図9のように相違させても良い。例えば差分の上位ビットが0の場合にはサブルーチンGを使用し、0でない場合にはサブルーチンHを使用する。サブルーチンGは、ネットワーク・アドレスの上位ビットを使わないハッシュ関数を使用するものであり、例えば本発明の第6実施例(図8を参照)のようなものである。サブルーチンHは、ネットワーク・アドレスの上位ビットを使うハッシュ関数を使用するものであり、例えば本発明の第1実施例(図3を参照)のようなものである。
【0025】
【発明の効果】
以上の説明から明らかなように、本発明によれば、コネクションが多い場合でも、コネクション識別用に特化されたハッシュ関数を用いるため、従来に比べて短時間でコネクション・テーブルからコネクションを探索することができ、コンピュータ通信におけるコネクション識別の効率向上に寄与する所が大きい。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の全体構成を説明する図である。
【図3】本発明の第1実施例を説明する図である。
【図4】本発明の第2実施例を説明する図である。
【図5】本発明の第3実施例を説明する図である。
【図6】本発明の第4実施例を説明する図である。
【図7】本発明の第5実施例を説明する図である。
【図8】本発明の第6実施例を説明する図である。
【図9】本発明の第7実施例を説明する図である。
【図10】従来の通信コネクションの識別方法を説明する図である。
【符号の説明】
T コネクション・テーブル
F ハッシュ関数計算モジュール
S ビット・シャッフル手段
A 送信側ノード
B 受信側ノード
[0001]
BACKGROUND OF THE INVENTION
According to the present invention, when at least two or more computers are communicating, a communication connection in computer communication for finding an entry corresponding to a target communication connection from a connection table in which a plurality of communication connections are registered. It relates to an identification method.
In recent years, with the spread of networks, it is natural that computers are used in communication with other computers rather than as stand-alone, and it is not uncommon for a plurality of communication connections to be established between a set of computers. For this reason, it is necessary for the computer to identify the communication connection to which the data transmitted / received belongs from among a large number of connections.
[0002]
[Prior art]
Conventionally, when a computer identifies a connection, a connection ID (identifier) attached to itself is held in a connection table, and connections registered in the connection table are identified one by one by linear search. Compared with the connection ID extracted from the transmitted / received data. In this method, to identify a connection once, it is necessary to compare with a connection that is half the number of table entries in the connection table on average.
[0003]
FIG. 10 is a diagram for explaining a connection identification method according to the prior art. In the figure, T indicates a connection table, and α indicates a connection ID value.
A communication connection is a logical communication path established between two computers (hosts). The connection ID for identifying a connection is a network address of a computer that transmits data, a port number of a computer that transmits data, a network address of a computer that receives data, and a port number of a computer that receives data. Defined. The network address of the computer that sends data is the sender address, the port number of the computer that sends the data is the sender port number, the network address of the computer that receives the data is the receiver address, and the computer that receives the data The port number is called the receiving port number.
[0004]
The connection table T has a plurality of entries, and each entry has a connection ID field and a connection related information field. The connection related information includes, for example, information on how far data has been transmitted (or received) on the communication connection. In such a conventional technique, it is necessary to collate the connection table T one by one from the top using the connection ID as a key, and in the example shown in the figure, it is necessary to collate d times.
[0005]
[Problems to be solved by the invention]
In the prior art, as the number of connections established for a single computer increases, the time required for searching the connection table increases proportionally. The connection ID includes a network address pair on the transmission side and the reception side, and if the network address length increases in the next generation protocol in the future, there is a problem that the time required for connection verification further increases.
The present invention was created in view of this point, and aims to complete connection identification in a short time even when the number of connections is large, using a hash function specialized for connection identification. .
[0006]
[Means for Solving the Problems]
FIG. 1 is a diagram illustrating the principle of the present invention. A case will be described in which when a computer first receives data, it identifies which connection on the connection table it belongs to. First, the connection ID is extracted from the received data. A connection is defined by a network address pair and a port number pair on the sender side and the receiver side. Therefore, the extracted connection ID also includes four elements: a sender side address, a sender side port number, a receiver side address, and a receiver side port number. It is out. All or part of these four elements are input to the hash function calculation module, and the hash function module is caused to calculate the hash value, and as a result, the hash value d is output from the hash function calculation module.
[0007]
Next, it is confirmed whether or not the connection ID of the d-th entry in the connection table matches the connection ID extracted from the received data. If they match, that is the target connection. If they do not match, that is, if there is a hash value collision, the well-known linear scanning method or double hash method is used to find the target connection. When using the linear scanning method at the time of hash value collision, there is a problem of efficiency reduction due to clustering phenomenon that collides to connections with different hash values, but a hash function with resistance to it is adopted. To avoid.
[0008]
When the computer transmits data, the computer knows the connection ID of the communication connection that transmits the data. The method for searching for the connection table entry from the connection ID is the same as in the case of data reception.
[0009]
Registration of a connection to the connection table will be described. When the computer A transmits data to the computer B, it is necessary to set a communication connection. First, the computer A has its own network address (referred to as Aa), the port number used by itself (referred to as Pa), the network address of the computer B (referred to as Ab), and a specific port number (referred to as Pc). Send a connection setup request with. When the computer B receives this connection setting request, the computer B determines a port number (Pb) to be used and returns a response including the port number to be used to the computer A.
[0010]
Upon receiving this response, the computer A registers a connection ID including the transmission side network address Aa, the transmission side port number Pa, the reception side network address Ab, and the reception side port number Pb in its own connection table. Computer B also registers a similar connection ID in its connection table.
[0011]
The method for registering the connection ID at the time of setting the connection is substantially the same as in the case of reception. That is, an address pair and a port number pair constituting the connection ID are input to the hash function calculation module, and it is checked whether or not the entry specified by the output hash value d has already been assigned to another connection. If the entry is not assigned to another connection, the connection ID corresponding to the entry is written. When hash value collision occurs, the connection is assigned to another entry by a well-known method.
[0012]
In the present invention, as shown in FIG. 1, the hash ID is calculated by the hash function calculation module with the connection ID (or a subset thereof) as an input, and it is guaranteed that the same hash value is always output for the same connection. Is done. Therefore, if a hash value is set to be an offset from the beginning of the connection table when registering a new connection in the connection table, the table search can be performed unless two or more connections have the same hash value. If the hash value is known, it becomes possible to directly refer to the target table entry without checking the table one by one from the top. That is, the target connection can be reached only by comparing and collating the connection once. When a collision occurs, the search is continuously executed by using a well-known collision countermeasure method such as a linear scanning method or a double hash method.
[0013]
In general, assuming that connections are randomly distributed on the table, if the number of entries registered in the table is 50% of the table size, the average number of verifications may be less than 2 even when collisions are taken into account. Known (see LIKronsjo.Algotrithms, John Wiley & Sons). Therefore, if the table size is made large so that the occupation ratio of the table is always 50% or less, the connection is distributed as uniformly as possible by using a hash function specialized for connection identification. -The number of connection verifications when searching for a table is approximately 2 or less, and connections can be easily identified.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Figure 2 is Ru FIG der illustrating the overall configuration of the present invention.
In the figure, A is a transmission side node, B is a reception side node, F is a hash function calculation module, and T is a connection table.
The transmission side node A and the reception side node B are both computers, and a communication connection is established between the transmission side node A and the reception side node B. The process of extracting the transmission side address, transmission side port number, reception side address, and reception side port number constituting the connection ID from the communication data is performed outside the hash function module F even if it is performed in the hash function calculation module F. May be. For the hash function calculation module F, a different function may be used for each different communication protocol. Furthermore, the computers at both ends of the connection need not be directly connected, and a relay node may exist between them.
[0015]
Figure 3 is Ru FIG der for explaining a first embodiment of the present invention.
In the first embodiment, the sum of a transmission side address, a reception side address, a transmission side port number, and a reception side port number, which are elements defining a connection, is calculated, and the value is used as a hash value. If the bit lengths of the network address pair and port number pair are very different as in TCP / IP, the network address is divided into upper and lower bits, and then a total of 6 elements is calculated. May be. In the TCP / IP protocol, the IP address is 32 bits and the port number is 16 bits. If the network address is composed of several fields, such as an IP address, the sum may be calculated in field units. The IP address is expressed as, for example, 133.12.12.1, and each integer delimited by dots is expressed by 8 bits. A field means such an 8-bit range.
[0016]
Figure 4 is Ru FIG der illustrating a second embodiment of the present invention.
In the second embodiment, the hash function calculation module F uses an encryption algorithm. Inputs to the hash function calculation module F are a transmission side address, a reception side address, a transmission side port number, and a reception side port number that define a connection. These are arranged in succession on, for example, a memory buffer. The hash function calculation module F considers these as one bit string, starts an encryption algorithm, and uses the ciphertext output as a result as a hash value. By encrypting, connections can be allocated almost randomly on the connection table, and the efficiency of search by hash can be improved. The order in which the connection definition elements are arranged in the bit string may be arbitrary, and the bit string may be composed of only a part of the definition elements. The encryption algorithm may be DES, MD5, or the like. In general, a cryptographic algorithm outputs a ciphertext of several tens of bits or more, but there are no restrictions on how many bits are used as a hash value and which bits are used.
[0017]
FIG. 5 is a diagram for explaining a third embodiment of the present invention .
The input to the hash function calculation module F is only the port number pair, and it is not particularly necessary to cut out the network address pair from the received data. By using only port numbers, a simple and efficient hash function can be realized. For example, a function that simply takes the sum of the transmission-side port number and the reception-side port number and uses it as a hash value is also an example of the hash function module F.
[0018]
FIG. 6 is a diagram for explaining a fourth embodiment of the present invention . In the figure, S through S3 indicate bit shuffle means.
The bit shuffle means has a function of converting the bit position of the input data. The sender address is input to the bit shuffle means S, the sender port number is input to the bit shuffle means S1, the receiver address is input to the bit shuffle means S2, and the receiver port number is the bit shuffle means S3. Has been entered. Outputs of the bit shuffle means S, S1, S2, and S3 are input to the hash function calculation module F. The output of the hash function calculation module F becomes the hash value d.
[0019]
The bit shuffling means S, S1, S2, S3 may be realized by software or hardware. Also, bit shuffing may be performed in a different manner for each input element. Furthermore, bit shuffling may be performed only for some input elements. Because the port number difference can be amplified by bit shuffling, a decrease in search efficiency due to clustering phenomenon at the time of hash value collision can be avoided. As an example of the bit shuffle method, there is also bit position exchange by bit rotation.
[0020]
Figure 7 is a diagram for explaining a fifth embodiment of the present invention. In the fifth embodiment, unlike the fourth embodiment, instead of bit shuffling the input to the hash function calculation module F, the output of the hash function calculation module F is bit shuffled, and the result of bit shuffling is obtained. Is a hash value. Compared with the case where each input element is bit shuffled, there is an advantage that the number of times the bit shuffle means is activated can be reduced to one.
[0021]
Figure 8 is a diagram illustrating a sixth embodiment of the present invention. The upper bits of the transmission side address are masked with 0, and the upper bits of the reception side address are also masked with 0. Then, the lower bit of the transmission side address, the lower bit of the reception side address, the transmission port number, and the reception port number are input to the hash function calculation module F.
[0022]
Since all the high-order bits of the network address are combined together for local connections, it is not useful as information for identifying the connection. Can be folded into a hash value. This is effective when the size of the hash value needs to be suppressed in order to reduce the size of the connection table. Further, when the network address is composed of several fields like IP addresses, only the lower bits may be extracted by masking the upper bits for each field. At this time, for example, a larger number of bits may be extracted in the lower field than in the upper field.
[0023]
Figure 9 is a diagram for explaining a seventh embodiment of the present invention. In the figure, G indicates a subroutine of the hash function calculation module, and H also indicates a subroutine of the hash function calculation module.
For the network address pair consisting of the sender address and the receiver address, the difference is taken and input to the hash function calculation module F. The transmission side port number and the reception side port number may be input to the hash function calculation module F as they are, or the difference between the transmission side port number and the reception side port number may be input. If the network address is composed of several fields, such as an IP address, the difference may be calculated for each field.
[0024]
By doing so, it can be determined whether or not the computers at both ends of the communication connection belong to the same network based on whether or not the upper bits of the difference between the network address pairs are 0. Using this information, the hash calculation method may be made different as shown in FIG. 9 depending on whether or not both ends of the connection belong to the same network. For example, if the upper bit of the difference is 0, subroutine G is used, and if it is not 0, subroutine H is used. The subroutine G uses a hash function that does not use the upper bits of the network address, and is, for example, like the sixth embodiment (see FIG. 8) of the present invention. Subroutine H uses a hash function that uses the upper bits of the network address and is, for example, the first embodiment of the present invention (see FIG. 3).
[0025]
【The invention's effect】
As is clear from the above description, according to the present invention, even when there are many connections, a hash function specialized for connection identification is used, so that a connection is searched from the connection table in a shorter time than in the past. It can greatly contribute to improving the efficiency of connection identification in computer communications.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating the principle of the present invention.
FIG. 2 is a diagram illustrating an overall configuration of the present invention.
FIG. 3 is a diagram illustrating a first embodiment of the present invention.
FIG. 4 is a diagram for explaining a second embodiment of the present invention.
FIG. 5 is a diagram for explaining a third embodiment of the present invention.
FIG. 6 is a diagram for explaining a fourth embodiment of the present invention.
FIG. 7 is a diagram for explaining a fifth embodiment of the present invention.
FIG. 8 is a diagram for explaining a sixth embodiment of the present invention.
FIG. 9 is a diagram for explaining a seventh embodiment of the present invention.
FIG. 10 is a diagram for explaining a conventional communication connection identification method;
[Explanation of symbols]
T connection table F hash function calculation module S bit shuffling means A transmitting node B receiving node

Claims (6)

通信コネクションが登録されるエントリの複数個を持つコネクション・テーブルにおいて、目的の通信コネクションに対応するエントリを見つけ出すコンピュータ通信における通信コネクション識別方法であって、
目的の通信コネクションを規定する送信側ネットワーク・アドレス,送信側ポート番号,受信側ネットワーク・アドレスおよび受信側ポート番号の全部または一部でビット列を構成し、当該ビット列を暗号化し、
暗号化の結果得られる暗号文の全部または一部の値をハッシュ値として、コネクション・テーブルの探索を行う
ことを特徴とするコンピュータ通信における通信コネクション識別方法。
A communication connection identifying method in computer communication for finding an entry corresponding to a target communication connection in a connection table having a plurality of entries in which communication connections are registered,
A bit string is composed of all or part of the sender network address, sender port number, receiver network address, and receiver port number that specify the target communication connection, and the bit string is encrypted.
A communication connection identification method in computer communication, characterized in that a connection table is searched using all or part of ciphertext values obtained as a result of encryption as hash values .
通信コネクションが登録されるエントリの複数個を持つコネクション・テーブルにおいて、目的の通信コネクションに対応するエントリを見つけ出すコンピュータ通信における通信コネクション識別方法であって、
目的の通信コネクションを規定する要素である送信側ネットワーク・アドレス,送信側ポート番号,受信側ネットワーク・アドレスおよび受信側ポート番号のうち、送信側ポート番号および受信側ポート番号のみをハッシュ関数計算モジュールに入力し、
ハッシュ関数計算モジュールから出力されたハッシュ値を用いてコネクション・テーブルの探索を行う
ことを特徴とするコンピュータ通信における通信コネクション識別方法。
A communication connection identifying method in computer communication for finding an entry corresponding to a target communication connection in a connection table having a plurality of entries in which communication connections are registered,
Only the sender port number and receiver port number among the sender network address, sender port number, receiver network address, and receiver port number, which are elements that define the target communication connection, are stored in the hash function calculation module. Input,
A communication connection identification method in computer communication, characterized in that a connection table is searched using a hash value output from a hash function calculation module.
通信コネクションが登録されるエントリの複数個を持つコネクション・テーブルにおいて、目的の通信コネクションに対応するエントリを見つけ出すコンピュータ通信における通信コネクション識別方法であって、
目的の通信コネクションを規定する送信側ネットワーク・アドレス,送信側ポート番号,受信側ネットワーク・アドレスおよび受信側ポート番号の全部または一部をそれぞれビット・シャッフルし、
ビット・シャッフルの結果をハッシュ関数計算モジュールに入力し、
ハッシュ関数計算モジュールから出力されたハッシュ値を用いてコネクション・テーブルの探索を行う
ことを特徴とするコンピュータ通信における通信コネクション識別方法。
A communication connection identifying method in computer communication for finding an entry corresponding to a target communication connection in a connection table having a plurality of entries in which communication connections are registered,
Bit shuffle all or part of the sender network address, sender port number, receiver network address, and receiver port number that specify the desired communication connection,
Input the result of bit shuffle to the hash function calculation module,
A communication connection identification method in computer communication, characterized in that a connection table is searched using a hash value output from a hash function calculation module.
通信コネクションが登録されるエントリの複数個を持つコネクション・テーブルにおいて、目的の通信コネクションに対応するエントリを見つけ出すコンピュータ通信における通信コネクション識別方法であって、
目的の通信コネクションを規定する送信側ネットワーク・アドレス,送信側ポート番号,受信側ネットワーク・アドレスおよび受信側ポート番号をハッシュ関数計算モジュールに入力し、
ハッシュ関数計算モジュールからの出力をビット・シャッフルし、
ビット・シャッフルの結果得られた値を用いてコネクション・テーブルの探索を行う
ことを特徴とするコンピュータ通信における通信コネクション識別方法。
A communication connection identifying method in computer communication for finding an entry corresponding to a target communication connection in a connection table having a plurality of entries in which communication connections are registered,
Input the sender network address, sender port number, receiver network address and receiver port number that specify the target communication connection to the hash function calculation module,
Bit shuffle the output from the hash function calculation module,
A communication connection identification method in computer communication, wherein a connection table is searched using a value obtained as a result of bit shuffling.
通信コネクションが登録されるエントリの複数個を持つコネクション・テーブルにおいて、目的の通信コネクションに対応するエントリを見つけ出すコンピュータ通信における通信コネクション識別方法であって、
目的の通信コネクションを規定する送信側ネットワーク・アドレス,送信側ポート番号,受信側ネットワーク・アドレスおよび受信側ポート番号のうち、送信側ネットワーク・アドレスの下位ビット,送信側ポート番号,受信側ネットワーク・アドレスの下位ビットおよび受信側ポート番号をハッシュ関数計算モジュールに入力し、
ハッシュ関数計算モジュールから出力されたハッシュ値を用いてコネクション・テーブルの探索を行う
ことを特徴とするコンピュータ通信における通信コネクション識別方法。
A communication connection identifying method in computer communication for finding an entry corresponding to a target communication connection in a connection table having a plurality of entries in which communication connections are registered,
Of the sender network address, sender port number, receiver network address, and receiver port number that specify the target communication connection, the lower bits of the sender network address, sender port number, and receiver network address And input the lower-order bit and the receiver port number into the hash function calculation module.
A communication connection identification method in computer communication, characterized in that a connection table is searched using a hash value output from a hash function calculation module.
通信コネクションが登録されるエントリの複数個を持つコネクション・テーブルにおいて、目的の通信コネクションに対応するエントリを見つけ出すコンピュータ通信における通信コネクション識別方法であって、
目的の通信コネクションを規定する要素である送信側ネットワーク・アドレスと受信側ネットワーク・アドレスの差分をハッシュ関数計算モジュールに入力するとともに、目的の通信コネクションを規定する要素である送信側ポート番号と受信側ポート番号またはそれらの差分を上記ハッシュ関数計算モジュールに入力し、
ハッシュ関数計算モジュールから出力されたハッシュ値を用いてコネクション・テーブルの探索を行う
ことを特徴とするコンピュータ通信における通信コネクション識別方法。
A communication connection identifying method in computer communication for finding an entry corresponding to a target communication connection in a connection table having a plurality of entries in which communication connections are registered,
The difference between the sender network address and the receiver network address that are the elements that specify the target communication connection is input to the hash function calculation module, and the sender port number and receiver that are the elements that specify the target communication connection. Input the port number or the difference between them into the above hash function calculation module,
A communication connection identification method in computer communication, characterized in that a connection table is searched using a hash value output from a hash function calculation module.
JP06280797A 1997-03-17 1997-03-17 Communication connection identification method in computer communication Expired - Fee Related JP3846963B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06280797A JP3846963B2 (en) 1997-03-17 1997-03-17 Communication connection identification method in computer communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06280797A JP3846963B2 (en) 1997-03-17 1997-03-17 Communication connection identification method in computer communication

Publications (2)

Publication Number Publication Date
JPH10260921A JPH10260921A (en) 1998-09-29
JP3846963B2 true JP3846963B2 (en) 2006-11-15

Family

ID=13210989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06280797A Expired - Fee Related JP3846963B2 (en) 1997-03-17 1997-03-17 Communication connection identification method in computer communication

Country Status (1)

Country Link
JP (1) JP3846963B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6252223B2 (en) * 2014-02-14 2017-12-27 富士通株式会社 Control method, receiving apparatus, and communication system
WO2021240586A1 (en) * 2020-05-25 2021-12-02 日本電信電話株式会社 Connection number measurement device, connection state detection device, connection state detection method, and connection number measurement program
WO2022049751A1 (en) * 2020-09-07 2022-03-10 日本電信電話株式会社 Number-of-connections measuring device, method, and program

Also Published As

Publication number Publication date
JPH10260921A (en) 1998-09-29

Similar Documents

Publication Publication Date Title
CN110535843B (en) Apparatus and method for mimicry arbitration parameter message synchronization
US7409544B2 (en) Methods and systems for authenticating messages
JP3740139B2 (en) User anonymity guarantee method and wireless LAN system therefor
Joux et al. Blockwise-adaptive attackers revisiting the (in) security of some provably secure encryption modes: CBC, GEM, IACBC
CN104243472A (en) Network with MAC table overflow protection
CN101651696A (en) Method and device for preventing neighbor discovery (ND) attack
US7200105B1 (en) Systems and methods for point of ingress traceback of a network attack
Rizomiliotis et al. Security analysis of the Song-Mitchell authentication protocol for low-cost RFID tags
JPH11205388A (en) Packet filter, authentication server, packet filtering method and storage medium
JP4191119B2 (en) Method and apparatus for facilitating layered implementation of encryption
US7523306B2 (en) Simplified CCMP mode for a wireless local area network
CN103647762B (en) IPv6 Internet of things node identity identifying method based on access path
CN108566385B (en) Bidirectional authentication method based on cloud efficient privacy protection
Aljifri et al. IP traceback using header compression
CN105847009A (en) RFID bidirectional authentication method meeting requirement on backward security
JP2002232962A (en) Mobile communication authentication interworking system
US6826621B1 (en) Method and system for aggregating interface addresses
JP3846963B2 (en) Communication connection identification method in computer communication
CN109587117A (en) A kind of anti-replay-attack method of the whole network udp port scanning
Nashwan SE-H: Secure and efficient hash protocol for RFID system
KR100931213B1 (en) Low cost RFID authentication protocol method suitable for distributed environment
Gavaskar et al. A compressed anti IP spoofing mechanism using cryptography
RU2622788C1 (en) Method for protecting information-computer networks against cyber attacks
CN108848087B (en) DAD process malicious NA message suppression method suitable for SEND protocol
Su et al. Privacy preserving IP traceback

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060822

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110901

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130901

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees