JP2021508212A - ネットワーク通信方法および装置 - Google Patents

ネットワーク通信方法および装置 Download PDF

Info

Publication number
JP2021508212A
JP2021508212A JP2020536653A JP2020536653A JP2021508212A JP 2021508212 A JP2021508212 A JP 2021508212A JP 2020536653 A JP2020536653 A JP 2020536653A JP 2020536653 A JP2020536653 A JP 2020536653A JP 2021508212 A JP2021508212 A JP 2021508212A
Authority
JP
Japan
Prior art keywords
route
physical address
internet protocol
neighbor table
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.)
Granted
Application number
JP2020536653A
Other languages
English (en)
Other versions
JP7289303B2 (ja
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2021508212A publication Critical patent/JP2021508212A/ja
Application granted granted Critical
Publication of JP7289303B2 publication Critical patent/JP7289303B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ネットワーク通信方法および装置。方法は、宛先ホストのインターネットプロトコルアドレスを取得するために、パケットを受信して解析すること、ネクストホップルートの物理アドレスおよびルートタイプを取得するために、宛先ホストのインターネットプロトコルアドレスに従ってルートネイバーテーブルに対して単一のクエリを実行すること、物理アドレスおよびルートタイプに従ってパケットを送信することを備える。本発明は、3層のカプセル化処理プロセスを簡素化し、リソースの占有を減少させる。

Description

本出願は、2017年12月29日に出願され、「ネットワーク通信方法および装置」と題する中国特許出願番号201711482414.2の優先権を主張し、その全体が参照によって組み込まれる、2018年12月24日に出願されたPCT特許出願番号PCT/CN2018/122996に対応する。
本発明は、ネットワーク通信の分野に関し、より詳細に言えば、ネットワーク通信方法および装置に関する。
現在、多くの場合で、TCP/IPネットワークプロトコルスタックがネットワーク通信を実装するために使用されている。図1に示すように、TCP/IPネットワークプロトコルスタックは、4つの層、すなわち、アプリケーション層(Application)、トランスポート層(Transport)、ネットワーク層(Network)、およびリンク層(Link)に分割される。図2は、TCP/IPプロトコルによって2つのコンピュータ間で実行される通信を示しており、送信時には、カプセル化を上位層から下位層のレイヤーで行う必要があり、宛先ホストに到着後、下位層から上位層へレイヤーごとに解析を行って、デバイス間の通信を実現する。
3層カプセル化は、ルーティングテーブル、ネイバーテーブルおよび様々なスコープのテーブルで主に構成される。ルーティングテーブルはさらにキャッシュを含み得る。統計によると、多くの場合、プログラムはこれらのテーブルを簡単な方法で使用し、ネットワークアーキテクチャが確立されると、対応するテーブルの構造は実質的に変更されない。しかしながら、これらのテーブルはストレージ領域を占有する必要があり、さらに、これらのテーブルで実行される追加、削除、変更およびチェックはそれぞれ異なるロジックに従うため、メンテナンスコストが高くなる。また、リンクの数が多いとランタイムメモリのオーバーヘッドが増加し、多くのサービスシナリオでは、プログラムがクエリ操作を複数回実行する必要があり、メモリオーバーフローのリスクが高くなる。さらに、セキュリティの観点から言えば、そのような設計はARP攻撃に対してより脆弱であり、それによって伝送デバイスのパフォーマンスを低下させる。複雑なルーティングテーブルと複雑なネイバーテーブルは、セキュリティや分散環境では望ましくない。
本発明は、伝送装置の動作性能を改善するために、ネットワーク通信伝送方法を提供する。さらに、本発明は、ネットワーク通信装置を提供する。
実施形態では、本発明は、
宛先ホストのインターネットプロトコルアドレスを取得するために、パケットを受信して解析することと、
ネクストホップルートの物理アドレスおよびルートタイプを取得するために、宛先ホストのインターネットプロトコルアドレスに従ってルートネイバーテーブルに対して単一のクエリを実行することと、
物理アドレスおよびルートタイプに従ってパケットを送信することと
を備えるネットワーク通信方法を提供する。
実施形態では、本発明はさらに、
宛先ホストのインターネットプロトコルアドレスを取得するために、パケットを受信して解析することと、
ルートネイバーテーブルが有効かどうかを判定し、有効になっている場合は、ネクストホップルートの物理アドレスおよびルートタイプを取得するために、ルートネイバーテーブルで単一のクエリを実行することと、
物理アドレスおよびルートタイプに従ってパケットを送信することと
を備えるネットワーク通信方法を提供する。
実施形態では、本発明はさらに、
宛先ホストのインターネットプロトコルアドレスを取得するために、パケットを受信して解析することと、
ルートネイバーテーブルが有効かどうかを判定し、有効になっている場合は、ルートネイバーテーブルで単一のクエリを実行し、ネクストホップルートの物理アドレスが見つからない場合は、次のステップを実行することと、
ルートマッチングアルゴリズムにより、ネクストホップルートのインターネットプロトコルアドレスを取得することと、
ネクストホップルートのインターネットプロトコルアドレスに従ってネクストホップルートの物理アドレスを取得することと、
ネクストホップルートの物理アドレスをルートネイバーテーブルに更新し、その物理アドレスにパケットを送信することと
を備えるネットワーク通信方法を提供する。
実施形態では、本発明は、
宛先ホストのインターネットプロトコルアドレスを取得するために、パケットを受信して解析することと、
ルートネイバーテーブルが有効かどうかを判定し、有効でない場合は、ネクストホップルートのインターネットプロトコルアドレスを取得するために、宛先ホストのインターネットプロトコルアドレスに従ってルーティングテーブルにクエリを行うことと、
ネクストホップルートの物理アドレスを取得するために、ネクストホップルートのインターネットプロトコルアドレスに従ってネイバーテーブルにクエリを行うことと、
パケットを物理アドレスに送信することと
を備えるネットワーク通信方法を提供する。
実施形態では、本発明は、ネットワーク通信方法をさらに提供し、ネットワーク通信方法は、
宛先ホストのインターネットプロトコルアドレスがローカルアドレスかどうかを確認し、ローカルアドレスである場合、パケットを受信することと、
パケットのポート番号に従ってパケットをターゲットアプリケーションに送信することと、
ローカルアドレスでない場合、転送機能が有効になっているとき、ルータの物理アドレスを取得するために、ルートネイバーテーブルに対して単一のクエリを実行し、受信したパケットの物理アドレスをルータの物理アドレスに置き換え、受信したパケットをルータの物理アドレスに転送することと
を備える。
実施形態では、本発明は、
宛先ホストのインターネットプロトコルアドレスを取得するためにパケットを受信して解析するために使用される解析ユニットと、
ネクストホップルートの物理アドレスおよびルートタイプを取得するために、宛先ホストのインターネットプロトコルアドレスに従ってルートネイバーテーブルに対して単一のクエリを実行するために使用されるクエリユニットと、
物理アドレスおよびルートタイプに従ってパケットを送信するために使用されるパケット送信ユニットと
を備えるネットワーク通信装置を提供する。
実施形態では、本発明は、
宛先ホストのインターネットプロトコルアドレスを取得するためにパケットを受信して解析するために使用される解析ユニットと、
ルートネイバーテーブルが有効かどうかを判定するために使用される判定ユニットと、
ルートネイバーテーブルが有効な場合、ルートネイバーテーブルに対して単一のクエリを実行して、ネクストホップルートの物理アドレスおよびルートタイプを取得するために使用されるクエリユニットと、
物理アドレスおよびルートタイプに従ってパケットを送信するために使用されるパケット送信ユニットと
を備えるネットワーク通信装置を提供する。
従来技術と比較して、本発明の実施形態は以下の利点を有する:
3つのレイヤーの全てのテーブルが1つのテーブルに結合され、IPアドレスに対応する物理アドレスおよびルート情報を1つのクエリで取得できるため、3つのレイヤーの全てのパケットカプセル化処理プロセスが大幅に簡素化され、リソースの占有率が減少し、余分なメモリオーバーヘッドが最小化され、特定のサービスシナリオでの複数のクエリによるメモリオーバーフロー問題が回避され、操作効率が向上し、メモリオーバーヘッドが減少し、操作パフォーマンスが向上する。
メンテナンスに関しては、メンテナンスする必要があるテーブルは1つだけなので、メンテナンスコストを大幅に削減できる。さらに、ルートネイバーテーブルに対して実行されるクエリ操作は単純であるため、ARP攻撃に対する保護が容易になる。
TCP/IPネットワークプロトコルスタックのレイヤーの概略図である。 TCP/IPプロトコルによって2つのコンピュータ間で実行される通信プロセスの概略図である。 本発明の第1の実施形態によって提供されるネットワーク通信方法のフローチャートである。 本発明の第1の実施形態および第2の実施形態によって提供されるルートネイバーテーブルの概略図である。 本発明の第2の実施形態によって提供されるネットワーク通信方法のフローチャートである。 本発明の第3の実施形態によって提供されるネットワーク通信伝送方法のフローチャートである。 本発明の第4の実施形態によって提供されるネットワーク通信方法のフローチャートである。 本発明の第5の実施形態によって提供されるネットワーク通信方法のフローチャートである。
本発明の完全な理解を容易にするために、多くの特定の詳細が以下の説明に示される。しかしながら、本発明は、本明細書に記載されている以外の多くの方法で実装することができ、当業者は、本発明の本質から逸脱することなく、同様の派生の実施形態を行うことができる。したがって、本発明は、以下に説明する特定の実装によって限定されない。
前述のように、既存の3層データパケットのカプセル化では、ルーティングテーブルおよびネイバーテーブルを使用してデータが送受信される。ルーティングテーブルは、ルータまたはネットワークコンピュータに格納されているスプレッドシート(ファイル)または準データベースである。ルーティングテーブルは、ネットワーク境界のトポロジ情報を含んでいる。ルーティングテーブルを確立する主な目的は、ルーティングプロトコルを実装し、静的ルートを選択することである。宛先ホストおよび送信ホストが同じローカルエリアネットワーク内にない場合、パケットを宛先ホストに送信し得るための適切な伝送経路が選択される必要があり、伝送経路が通過する必要があるネクストホップルートのインターネットプロトコルアドレスが選択される必要がある。ルーティングテーブルは、特定のネットワークアドレスへの経路を格納する。ネイバーテーブルは、ARPキャッシュテーブルとも呼ばれる。このテーブルには、ARPプロトコルを使用してプロトコルスタックによって取得されたネットワーク内のネイバーホストのIPアドレスとMACアドレスの対応が、ネイバーとの次の通信用に格納される。また、ARPモジュールは、このネイバーテーブルを更新し、および維持するための対応するメカニズムも提供する。
本発明の一実施形態では、ルーティングテーブルおよびネイバーテーブルは1つのテーブルに組み合わせられ、2つのテーブルの情報が1つのデータ構造に格納されて、ルートネイバーテーブルを形成する。ルートネイバーテーブル(Route-neighbor Table)は、インターネットプロトコルアドレス(IPアドレス)、物理アドレス、ルート情報、ルートタイプなどの情報を含むデータ構造である。このように、従来技術におけるルーティングテーブルおよびネイバーテーブルの情報は、同じデータ構造にある。IPはハッシュクエリのキーとして使用できる。パケットが3層のプロトコルスタックを通過するとき、IPアドレスに対応する物理アドレスおよびルート情報を取得するために、IPアドレス情報は単一のクエリで直接使用される。本発明の解決策は、ルーティングテーブルおよびネイバーテーブルが別々にクエリされる必要がある従来技術の解決策とは異なる。つまり、従来技術では、上記の情報を取得するために少なくとも2つのクエリが必要である。
本発明の第1の実施形態は、ネットワーク通信方法を提供する。図3は、本発明の一実施形態によって提供されるネットワーク通信方法のフローチャートを示す。以下、図3を参照して詳細に説明する。
ステップ301では、宛先ホストのインターネットプロトコルアドレスを取得するために、パケットが受信および解析される。このステップは本実施形態の開始ステップである。つまり、宛先ホストのインターネットプロトコルアドレスを取得するため、3層プロトコルスタックがパケットを受信して解析し、このメソッドのプロセス全体が開始される。
パケット(メッセージ)は、ネットワークで交換されて送信されるデータ単位、すなわちサイトが一度に送信するデータブロックである。パケットには、送信される完全なデータ情報が含まれる。パケットの長さは同じではなく、制限もなく、可変である。インターネットプロトコルアドレスは、ネットワークでインターネットプロトコル(IP)を使用するデバイスに割り当てられた数値ラベルである。
ステップ302では、ネクストホップルートの物理アドレスおよびルートタイプを取得するために、宛先ホストのインターネットプロトコルアドレスに従ってルートネイバーテーブルに対して単一のクエリが実行される。
3層データパケットカプセル化の最も重要な機能は、上位層パケットの宛先ホストのインターネットプロトコルアドレスに従って、宛先ホストの物理アドレス(physical address)またはネクストホップルートを取得することである。宛先ホストと送信ホストが同じローカルエリアネットワークにない場合があるため、従来技術では、宛先ホストのインターネットプロトコルアドレスを使用して、宛先ホストと送信ホストが同じローカルエリアネットワークにあるかどうかを判定するために、ルーティングテーブルが使用される必要がある。宛先ホストと送信ホストが同じローカルエリアネットワークにある場合、宛先ホストのインターネットプロトコルアドレスが取得される。宛先ホストおよび送信ホストが同じローカルエリアネットワークにない場合、パケットを宛先ホストに送信し得るための適切な伝送経路が選択され、伝送経路が通過する必要があるネクストホップルートのインターネットプロトコルアドレスが取得される。インターネットプロトコルアドレスが取得された後、ルーティングテーブルは、インターネットプロトコルアドレスによって、インターネットプロトコルアドレスに対応する物理アドレスを取得するために使用される。物理アドレスは、パケットヘッダに埋め込まれ、パケットの送信を担当する物理メディア層に送信される。
本発明では、上記ステップのルーティングテーブルおよびネイバーテーブルを1つのテーブルに組み合わせ、ルーティングテーブルおよびネイバーテーブルの情報を1つのデータ構造に格納することにより、従来技術と同じ機能を実現する。
ルートネイバーテーブル(Route-neighbor Table)は、インターネットプロトコルアドレス、物理アドレス、ルート情報、ルートタイプなどの情報を含むデータ構造であり、各デバイスの上記情報を記録する。データ構造は、データをコンピュータに格納し、編成する方法である。データ構造は、インターフェースまたはカプセル化を示す。1つのデータ構造は、2つの関数間のインターフェースと考えることができ、または、データ型の共用体(data type union)によって形成された格納コンテンツにアクセスするためのメソッドのカプセル化である。
具体的には、ルートネイバーテーブルはハッシュテーブルの形式で編成でき、インターネットプロトコルアドレス、物理アドレス、ルート情報、およびルートタイプがフィールドとして使用され、各レコードは、図4に示すように、上記の4つのフィールドの情報を提供する。このように、従来技術におけるルーティングテーブルおよびネイバーテーブルの情報は、同じデータ構造にある。IPはハッシュクエリのキーとして使用できる。パケットが3層プロトコルスタックを通過するとき、IP情報(つまり、宛先ホストのインターネットプロトコルアドレス)を直接使用して、対応する物理アドレスおよび対応するルート情報を取得する。図4の表において、フィールド「IP」は、宛先ホストのインターネットプロトコルアドレスを示し、フィールド「MAC」は、宛先ホストの物理アドレスを示し、フィールド「ルート」は、宛先ホストのルート情報を示し、フィールド「タイプ」は、宛先ホストのルートタイプを示す。
物理アドレスは、媒体アクセス制御アドレスであり、イーサネットIDまたはイーサネット物理アドレスとも呼ばれ、ネットワークデバイスの位置を特定するために使用されるアドレスである。物理アドレスは、ネットワーク内のネットワークアダプタを一意に識別するために使用される。デバイスに1つまたは複数のネットワークアダプタがある場合、各ネットワークアダプタは、一意の物理アドレスを必要とし、有している。
ルート情報は、ネクストホップルートのインターネットプロトコルアドレスを記録し、情報は一般にクロスドメイン伝送で使用される。同じローカルエリアネットワーク内で送信が行われる場合、このパラメータは「0」である。他のタイプの文字を指定して、異なるルート情報を示すこともできる。
ルートタイプは、宛先ホストと送信側(sender)の間のネットワーク距離を指す。本実施形態では、ルートタイプは、それぞれ「0」、「1」、「2」の3つの数値など異なる値で示される。数字「0」はルータ自体を示し、数字「1」はルータが配置されているローカルエリアネットワークを示し、数字「2」は広域ネットワークを示す。他のタイプの文字を指定して、異なるルートタイプを示すこともできる。
ルータ自体は、ルータデバイス自体を指し、本実施形態では、このオプションは、階層的完全性および漸進的関係のためにのみ提供される。
ローカルエリアネットワークとは、ルータが配置されているローカルエリアネットワークを指し、つまり、受信側(宛先ホスト)と送信側は同じローカルエリアネットワークにあり、この場合、クロスドメイン伝送は必要ない。
広域ネットワークとは、受信側(宛先ホスト)と送信側が同じローカルエリアネットワーク内になく、クロスドメイン伝送が必要であることを指す。
パケットが3層プロトコルスタックを通過するとき、ルートタイプが最初に読み取られる。ルートタイプのパラメータが0の場合、宛先ホストがローカルエリアネットワークにあることが示されている。この場合、ルート情報を読み取る必要はなく、物理アドレスは直接読み取られ、パケットは読み取られた物理アドレス(つまり、宛先ホストの物理アドレス)に送信される。ルートタイプのパラメータが1の場合、宛先ホストが広域ネットワークにあることが示されている。この場合、ルート情報と物理アドレスが読み取られる必要があり、読み取った物理アドレス(つまり、ネクストホップルートの物理アドレス)にパケットが送信される。
例えば、宛先ホストのインターネットプロトコルアドレス192.168.0.3に対応する物理アドレスがaa:bb:cc:dd:ee:ffである場合、ルート情報は0、ルートタイプは1であり、宛先ホストはローカルエリアネットワークにあり、物理アドレスはaa:bb:cc:dd:ee:ffである。宛先ホストのインターネットプロトコルアドレス192.168.24.3に対応する物理アドレスがaa:cc:ee:dd:bb:faであり、ルート情報が192.168.1.0であり、ルートタイプが2の場合、以下のことが示される。宛先ホストは広域ネットワークにあり、クロスドメイン伝送が必要であり、ネクストホップルートのインターネットプロトコルアドレスは192.168.1.0であり、ネクストホップルートの物理アドレスはaa:cc:ee:dd:bb:faである。
上記のルートネイバーテーブルのデータ構造は、このステップを実装するための1つの可能なデータ構造にすぎない。ルートネイバーテーブルが設計されている場合、他のタイプの文字を使用して、様々なルート情報またはルートタイプを示すことができる。さらに、ルートネイバーテーブルの情報は、要件に応じて増減でき得る。例えば、ポリシールートをフィールドとして追加したり、1つまたは複数の不要なフィールドを削除したりできる。別の可能な実装スキームを以下に示す。
インターネットプロトコルアドレス、物理アドレス、およびルート情報をフィールドとして使用でき、ルートタイプフィールドは削除される。パケットが3層プロトコルスタックを通過すると、ルート情報とMAC情報が直接読み取られ、読み取られた物理アドレスにパケットが送信される。
さらに、フィールドは要件に応じて調整および設計でき、ルートネイバーテーブルのデータ構造は、ハッシュテーブルとしてだけでなく、他のツリーベースのデータ構造としても実装できる。
ローカルエリアネットワークのレコードが特定の範囲内にある場合、つまりローカルエリアネットワーク内のデバイスの総数が制限されている場合、ローカルエリアネットワーク内の全てのデバイスのルートネイバーテーブル情報は、ルーティングデバイスに記録されることができる。
ステップS303では、物理アドレスとルートタイプに従ってパケットが送信される。このステップの物理アドレスは、宛先ホストのネットワークアダプタまたはネクストホップルートの物理アドレスを指す。
本発明の第2の実施形態は、3層データパケットカプセル化のための別のネットワーク伝送方法を提供する。図5は、本発明の第2の実施形態によって提供される3層データパケットカプセル化のためのネットワーク通信方法のフローチャートを示す。図5は、本発明の第2の実施形態によって提供される3層データパケットカプセル化のためのネットワーク通信方法のフローチャートを示す。
ステップ401では、宛先ホストのインターネットプロトコルアドレスを取得するために、パケットが受信および解析される。このステップは本実施形態の開始ステップである。つまり、宛先ホストのインターネットプロトコルアドレスを取得するため、3層プロトコルスタックがパケットを受信して解析し、このメソッドのプロセス全体が開始される。
パケット(メッセージ)は、ネットワークで交換されて送信されるデータ単位、すなわちサイトが一度に送信するデータブロックである。パケットは、送信される完全なデータ情報を含んでいる。パケットの長さは同じではなく、制限もなく、可変である。
インターネットプロトコルアドレスは、ネットワークでインターネットプロトコル(IP)を使用するデバイスに割り当てられた数値ラベルである。
ステップS402では、ルートネイバーテーブルが有効であるか否かを判定し、有効である場合、ルートネイバーテーブルに対して単一のクエリを実行して、ネクストホップルートの物理アドレスおよびルートタイプを取得する。
3層データパケットカプセル化の最も重要な機能は、上位層パケットの宛先ホストのインターネットプロトコルアドレスに従って、宛先ホストの物理アドレス(physical address)またはネクストホップルートを取得することである。宛先ホストと送信ホストが同じローカルエリアネットワークにない場合があるため、従来技術では、宛先ホストのインターネットプロトコルアドレスを使用して、宛先ホストと送信ホストが同じローカルエリアネットワークにあるかどうかを判定するために、ルーティングテーブルが使用される必要がある。宛先ホストと送信ホストが同じローカルエリアネットワークにある場合、宛先ホストのインターネットプロトコルアドレスが取得される。宛先ホストおよび送信ホストが同じローカルエリアネットワークにない場合、パケットを宛先ホストに送信し得るための適切な伝送経路が選択され、伝送経路が通過する必要があるネクストホップルートのインターネットプロトコルアドレスが取得される。インターネットプロトコルアドレスが取得された後、ルーティングテーブルは、インターネットプロトコルアドレスによって、インターネットプロトコルアドレスに対応する物理アドレスを取得するために使用される。物理アドレスは、パケットヘッダに埋め込まれ、パケットの送信を担当する物理メディア層に送信される。
本発明では、上記ステップのルーティングテーブルおよびネイバーテーブルを1つのテーブルに組み合わせ、ルーティングテーブルおよびネイバーテーブルの情報を1つのデータ構造に格納することにより、従来技術と同じ機能を実現する。
ルートネイバーテーブルは、インターネットプロトコルアドレス、物理アドレス、ルート情報、ルートタイプなどの情報を含むデータ構造であり、各デバイスの上記情報を記録する。
データ構造は、データをコンピュータに格納し、編成する方法である。データ構造は、インターフェースまたはカプセル化を示す。1つのデータ構造は、2つの関数間のインターフェースと考えることができ、または、データ型の共用体によって形成された格納コンテンツにアクセスするためのメソッドのカプセル化である。
具体的には、ルートネイバーテーブルはハッシュテーブルの形式で編成でき、インターネットプロトコルアドレス、物理アドレス、ルート情報、およびルートタイプがフィールドとして使用され、各レコードは、図4に示すように、上記の4つのフィールドの情報を提供する。このように、従来技術におけるルーティングテーブルおよびネイバーテーブルの情報は、同じデータ構造にある。IPはハッシュクエリのキーとして使用できる。パケットが3層プロトコルスタックを通過するとき、対応する物理アドレスおよび対応するルート情報を取得するために、IP情報(つまり、宛先ホストのインターネットプロトコルアドレス)が直接使用される。図4の表において、フィールド「IP」は、宛先ホストのインターネットプロトコルアドレスを示し、フィールド「MAC」は、宛先ホストの物理アドレスを示し、フィールド「ルート」は、宛先ホストのルート情報を示し、フィールド「タイプ」は、宛先ホストのルートタイプを示す。
物理アドレスは、媒体アクセス制御アドレスであり、イーサネットIDまたはイーサネット物理アドレスとも呼ばれ、ネットワークデバイスの位置を判定するために使用されるアドレスである。物理アドレスは、ネットワーク内のネットワークアダプタを一意に識別するために使用される。デバイスに1つまたは複数のネットワークアダプタがある場合、各ネットワークアダプタは、一意の物理アドレスを必要とし、有している。
ルート情報は、ネクストホップルートのインターネットプロトコルアドレスを記録し、情報は一般にクロスドメイン伝送で使用される。同じローカルエリアネットワーク内で送信が行われる場合、このパラメータは「0」である。他のタイプの文字を指定して、異なるルート情報を示すこともできる。
ルートタイプは、宛先ホストと送信側の間のネットワーク距離を指す。本実施形態では、ルートタイプは、3つの数値「0」、「1」および「2」によってそれぞれ示される。数字「0」はルータ自体を示し、数字「1」はルータが配置されているローカルエリアネットワークを示し、数字「2」は広域エリアネットワークを示す。他のタイプの文字を指定して、異なるルートタイプを示すこともできる。
ルータ自体は、ルータデバイス自体を指し、本実施形態では、このオプションは、階層的完全性および漸進的関係のためにのみ提供される。
ローカルエリアネットワークとは、ルータが配置されているローカルエリアネットワークを指し、つまり、受信側(宛先ホスト)と送信側は同じローカルエリアネットワークにあり、この場合、クロスドメイン伝送は必要ない。
広域エリアネットワークとは、受信側(宛先ホスト)と送信側が同じローカルエリアネットワーク内になく、クロスドメイン伝送が必要であることを指す。
パケットが3層プロトコルスタックを通過するとき、ルートタイプが最初に読み取られる。ルートタイプのパラメータが0の場合、宛先ホストがローカルエリアネットワークにあることが示されている。この場合、ルート情報を読み取る必要はなく、物理アドレスが直接読み取られ、パケットは読み取られた物理アドレス(つまり、宛先ホストの物理アドレス)に送信される。ルートタイプのパラメータが1の場合、宛先ホストが広域ネットワークにあることが示されている。この場合、ルート情報および物理アドレスが読み取られる必要があり、読み取った物理アドレス(つまり、ネクストホップルートの物理アドレス)にパケットが送信される。
例えば、宛先ホストのインターネットプロトコルアドレス192.168.0.3に対応する物理アドレスがaa:bb:cc:dd:ee:ffである場合、ルート情報は0、ルートタイプは1であり、宛先ホストはローカルエリアネットワークにあり、物理アドレスはaa:bb:cc:dd:ee:ffである。宛先ホストのインターネットプロトコルアドレス192.168.24.3に対応する物理アドレスがaa:cc:ee:dd:bb:faであり、ルート情報が192.168.1.0であり、ルートタイプが2の場合、以下のことが示される:宛先ホストは広域ネットワークにあり、クロスドメイン伝送が必要であり、ネクストホップルートのインターネットプロトコルアドレスは192.168.1.0であり、ネクストホップルートの物理アドレスはaa:cc:ee:dd:bb:faである。
上記のルートネイバーテーブルのデータ構造は、このステップを実装するための1つの可能なデータ構造にすぎない。ルートネイバーテーブルが設計されている場合、他のタイプの文字を使用して、様々なルート情報またはルートタイプを示すことができる。さらに、ルートネイバーテーブルの情報は、要件に応じて増減でき得る。例えば、ポリシールートをフィールドとして追加したり、1つまたは複数の不要なフィールドを削除したりできる。別の可能な実装スキームを以下に示す。
インターネットプロトコルアドレス、物理アドレス、およびルート情報をフィールドとして使用でき、ルートタイプフィールドは削除される。パケットが3層プロトコルスタックを通過すると、ルート情報とMAC情報が直接読み取られ、読み取られた物理アドレスにパケットが送信される。
さらに、フィールドは要件に応じて調整および設計でき、ルートネイバーテーブルのデータ構造は、ハッシュテーブルとしてだけでなく、他のツリーベースのデータ構造としても実装できる。ローカルエリアネットワークのレコードが特定の範囲内にある場合、つまりローカルエリアネットワーク内のデバイスの総数が制限されている場合、ローカルエリアネットワーク内の全てのデバイスのルートネイバーテーブル情報は、ルーティングデバイスに記録されることができる。
ステップS403では、物理アドレスとルートタイプに従ってパケットが送信される。このステップの物理アドレスは、宛先ホストのネットワークアダプタまたはネクストホップルートの物理アドレスを指す。
本発明の第3の実施形態は、別のネットワーク通信方法を提供する。図6は、本発明の第3の実施形態によって提供されるネットワーク通信方法のフローチャートを示す。以下、図6を参照して詳細に説明する。
ステップS501では、宛先ホストのインターネットプロトコルアドレスを取得するために、パケットが受信および解析される。このステップは、本実施形態の開始ステップである。つまり、宛先ホストのインターネットプロトコルアドレスを取得するため、3層プロトコルスタックがパケットを受信して解析し、このメソッドのプロセス全体が開始される。
パケット(メッセージ)は、ネットワークで交換され、送信されるデータ単位、すなわちサイトが一度に送信するデータブロックである。パケットは、送信される完全なデータ情報を含んでいる。パケットの長さは同じではなく、制限もなく、可変である。
インターネットプロトコルアドレスは、ネットワークでインターネットプロトコル(IP)を使用するデバイスに割り当てられた数値ラベルである。
ステップS502では、ルートネイバーテーブルが有効であるかどうかが判定される。有効な場合は、ルートネイバーテーブルに対して単一のクエリが実行され、ネクストホップルートまたは宛先ホストの物理アドレスが見つからない場合は、次のステップが実行される。ネクストホップルートまたは宛先ホストの物理アドレスが見つからないということは、宛先ホストのレコードがルートネイバーテーブルに存在しないことを意味する。
ステップS503では、ルートマッチングアルゴリズムにより、ネクストホップルートまたは宛先ホストのインターネットプロトコルアドレスが取得される。このステップは、既存の手法を使用して実装でき、ネクストホップルートまたは宛先ホストのインターネットプロトコルアドレスは、ルーティングテーブルの既存のメカニズムを使用して取得される。
ステップS504では、ネクストホップルートまたは宛先ホストのインターネットプロトコルアドレスに従って、ネクストホップルートまたは宛先ホストの物理アドレスが取得される。このステップは、既存の手法を使用して実装でき、ネクストホップルートまたは宛先ホストの物理アドレスは、ネイバーテーブルの既存のメカニズムを使用して取得される。
ステップS505では、ネクストホップルートまたは宛先ホストの物理アドレスは、ルートネイバーテーブルに更新され、その物理アドレス宛にパケットが送信される。ここでは、ステップS503で取得したネクストホップルートまたは宛先ホストのインターネットプロトコルアドレスと、ステップS504で取得したネクストホップルートまたは宛先ホストの物理アドレスとがルートネイバーテーブルに格納される。
このステップの物理アドレスは、宛先ホストのネットワークアダプタまたはネクストホップルートの物理アドレスを指す。
インターネットプロトコルアドレスとネットワークトポロジに変更が発生する可能性があるため、元のキャッシュでは、これらの変更が原因でクエリ結果が不正確になる可能性がある。したがって、テーブル内の特定の行が一定期間使用されない場合、その行は削除される。これにより、インターネットプロトコルアドレスまたはネットワークトポロジの変更により誤った情報が残ることを防止できる。
本発明の第4の実施形態は、別のネットワーク通信方法を提供する。図7は、本発明の第4の実施形態によって提供されるネットワーク通信方法のフローチャートを示す。以下、図7を参照して詳細に説明する。
ステップS601では、宛先ホストのインターネットプロトコルアドレスを取得するために、パケットが受信および解析される。このステップは、本実施形態の開始ステップである。つまり、宛先ホストのインターネットプロトコルアドレスを取得するため、3層プロトコルスタックがパケットを受信して解析し、このメソッドのプロセス全体が開始される。
パケット(メッセージ)は、ネットワークで交換され、送信されるデータ単位、すなわちサイトが一度に送信するデータブロックである。パケットは、送信される完全なデータ情報を含んでいる。パケットの長さは同じではなく、制限もなく、可変である。
インターネットプロトコルアドレスは、ネットワークでインターネットプロトコル(IP)を使用するデバイスに割り当てられた数値ラベルである。
ステップS602では、ルートネイバーテーブルが有効になっているかどうかが判定され、有効になっていない場合は、宛先ホストのインターネットプロトコルアドレスに従ってルーティングテーブルがクエリされ、ネクストホップルートまたは宛先ホストのインターネットプロトコルアドレスが取得される。
ルートネイバーテーブルが有効でない場合、既存の手法が採用され、ルーティングテーブルの既存のメカニズムを使用して、ネクストホップルートまたは宛先ホストのインターネットプロトコルアドレスが取得される。
ステップS603では、ネクストホップルートまたは宛先ホストのインターネットプロトコルアドレスに従ってネイバーテーブルがクエリされ、ネクストホップルートの物理アドレスが取得される。このステップは、既存の手法を使用して実装でき、ネクストホップルートまたは宛先ホストの物理アドレスは、ネイバーテーブルの既存のメカニズムを使用して取得される。
ステップS604では、パケットが物理アドレスに送信される。このステップの物理アドレスは、宛先ホストのネットワークアダプタまたはネクストホップルートの物理アドレスを指す。
本発明の第5の実施形態は、別のネットワーク通信方法を提供する。図8は、本発明の第5の実施形態によって提供されるネットワーク通信方法のフローチャートを示す。以下、図8を参照して詳細に説明する。
ステップS701では、宛先ホストのインターネットプロトコルアドレスがローカルアドレスであるかどうかが検証され、ローカルアドレスである場合、パケットが受信される。このステップでは、受信側はローカルホストが送信側の宛先ホストであるかどうかを検証し、送信が正しいかどうかを判定する。具体的には、パケットがローカルホストに送信されるか、または非ローカルホストに送信されるかを決定するために、パケットの宛先ホストのインターネットプロトコルアドレスに従って最大プレフィックスマッチングが実行される。パケットがローカルホストに送信される場合、パケットが受信され、アプリケーションはパケットを受信するよう通知される。
ステップS702において、パケットは、パケットポート番号に従ってターゲットアプリケーションに送信される。
サーバでは、複数のユーザプロセスが同時にTCPを使用することが可能である。各プロセスに関連付けられたデータを識別するために、ポート番号が使用される。各プロセスは1つのポート番号を占有する。このステップでは、パケットは、パケットと同じポート番号を有するアプリケーションに送信される。
パケットが非ローカルホストに送信される場合、転送機能が有効になっていると、ルートネイバーテーブルに対して単一のクエリが実行され、ルータの物理アドレスが取得され、受信したパケットの物理アドレスがルータの物理アドレスに置き換えられ、および受信したパケットがルータの物理アドレスに転送される。
さらに、上記の方法の実施形態に対応して、本発明はさらに、ネットワーク通信装置を提供する。装置の実施形態を以下に説明する。装置の実施形態は、方法の実施形態と同様であり、説明は比較的簡単である。詳細については方法の実施形態を参照されたい。
本発明は、
宛先ホストのインターネットプロトコルアドレスを取得するためにパケットを受信して解析するために使用される解析ユニットと、
ネクストホップルートの物理アドレスおよびルートタイプを取得するために、宛先ホストのインターネットプロトコルアドレスに従ってルートネイバーテーブルに対して単一のクエリを実行するために使用されるクエリユニットと、
物理アドレスおよびルートタイプに従ってパケットを送信するために使用されるパケット送信ユニットと
を含むネットワーク通信装置を提供する。
また、本発明はさらに別のネットワーク通信装置を提供し、ネットワーク通信装置は、
宛先ホストのインターネットプロトコルアドレスを取得するためにパケットを受信して解析するために使用される解析ユニットと、
ルートネイバーテーブルが有効かどうかを判定するために使用される判定ユニットと、
ルートネイバーテーブルが有効な場合、ルートネイバーテーブルに対して単一のクエリを実行して、ネクストホップルートの物理アドレスおよびルートタイプを取得するために使用されるクエリユニットと、
物理アドレスおよびルートタイプに従ってパケットを送信するために使用されるパケット送信ユニットと
を含む。
本発明は、好ましい実施形態を通して上記に開示されているが、それに限定されることは意図されていない。本発明の趣旨および範囲から逸脱することなく、可能な変更および修正を当業者が行うことができる。従って、本発明の保護範囲は、本発明の特許請求の範囲によって定義されるものとする。
典型的な構成では、コンピュータデバイスは、1つまたは複数のプロセッサ(CPU)、入出力インターフェース、ネットワークインターフェースおよびメモリを含む。
メモリは、非永続のメモリ、ランダムアクセスメモリ(RAM)および/または読み取り専用メモリ(ROM)やフラッシュメモリ(フラッシュRAM)などの不揮発性メモリなどの形態のコンピュータ可読媒体を含むことができる。メモリは、コンピュータ可読媒体の一例である。
コンピュータ可読媒体は、任意の方法または技法によって情報記憶を達成することができる永久的および非永久的、可動および非可動媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムのモジュールまたは他のデータであり得る。コンピュータの記憶媒体の例には、限定されるわけではないが、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリまたはその他のメモリ技術、コンパクトディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)またはその他の光学式ストレージ、カセットテープ、磁気テープ/磁気ディスクストレージまたはその他の磁気ストレージデバイス、またはその他の非伝送媒体が含まれ、コンピューティングデバイスからアクセス可能な情報を保存するために使用できる。本明細書の定義によれば、コンピュータ可読媒体は、変調されたデータ信号および搬送波などの非一時的なコンピュータ可読媒体(一時的な媒体)を含まない。
当業者は、本発明の実施形態が方法、システムまたはコンピュータプログラム製品として提供され得ることを理解するだろう。したがって、本発明は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態の形を使用することができる。さらに、本発明は、コンピュータ使用可能なプログラムコードを含む1つまたは複数のコンピュータ使用可能な記憶媒体(磁気ディスクメモリ、CD−ROM、光学メモリなどを含むがこれらに限定されない)上に実装されるコンピュータプログラム製品の形態を使用することができる。

Claims (31)

  1. 宛先ホストのインターネットプロトコルアドレスを取得するために、パケットを受信して解析することと、
    ネクストホップルートの物理アドレスおよびルートタイプを取得するために、宛先ホストのインターネットプロトコルアドレスに従ってルートネイバーテーブルに対して単一のクエリを実行することと、
    物理アドレスおよびルートタイプに従ってパケットを送信することと
    を備えるネットワーク通信方法。
  2. 前記ルートネイバーテーブルは、ハッシュデータテーブルであり、前記ルートネイバーテーブルに対して単一のクエリを実行することは、前記ルートネイバーテーブルに対して単一のハッシュクエリを実行することである、請求項1に記載のネットワーク通信方法。
  3. 前記パケットが送信される前、前記物理アドレスが前記パケットのイーサネットパケットヘッダにカプセル化される、請求項1に記載のネットワーク通信方法。
  4. 前記ルートネイバーテーブルは、ネットワークデバイスのインターネットプロトコルアドレス、物理アドレス、ルート情報、およびルートタイプのフィールドを含むハッシュデータテーブルである、請求項1に記載のネットワーク通信方法。
  5. 前記ルートタイプは、ルート、ローカルエリアネットワーク、および広域ネットワークを含む、請求項4に記載のネットワーク通信方法。
  6. 前記ルートタイプは、異なる値によって示される、請求項5に記載のネットワーク通信方法。
  7. ローカルエリアネットワークのホストの数が数えられる場合、前記ルートネイバーテーブルは、インターネットプロトコルアドレス、物理アドレス、ルート情報、およびルートタイプを格納し、前記ルートタイプの全てはローカルエリアネットワークである、請求項5に記載のネットワーク通信方法。
  8. 前記ルートネイバーテーブルは、ネットワークデバイスのインターネットプロトコルアドレス、物理アドレス、およびルート情報のフィールドを含むハッシュデータテーブルである、請求項1に記載のネットワーク通信方法。
  9. ローカルエリアネットワークのホストの数が数えられる場合、前記ルートネイバーテーブルは、インターネットプロトコルアドレス、物理アドレス、およびルート情報を格納し、ルートタイプの全てはローカルエリアネットワークである、請求項8に記載のネットワーク通信方法。
  10. 前記ルートネイバーテーブルは、ネットワークデバイスのインターネットプロトコルアドレスおよび物理アドレスのフィールドを含むハッシュデータテーブルである、請求項1に記載のネットワーク通信方法。
  11. 宛先ホストのインターネットプロトコルアドレスを取得するために、パケットを受信して解析することと、
    ルートネイバーテーブルが有効かどうかを判定し、前記ルートネイバーテーブルが有効な場合、ネクストホップルートの物理アドレスおよびルートタイプを取得するために、前記ルートネイバーテーブルに対して単一のクエリを実行することと、
    前記物理アドレスおよび前記ルートタイプに従って前記パケットを送信することと
    を備えるネットワーク通信方法。
  12. 前記ルートネイバーテーブルは、ハッシュデータテーブルであり、前記ルートネイバーテーブルに対して単一のクエリを実行することは、前記ルートネイバーテーブルに対して単一のハッシュクエリを実行することである、請求項11に記載のネットワーク通信方法。
  13. 前記パケットが前記物理アドレスに送信される前、前記物理アドレスが前記パケットのイーサネットパケットヘッダにカプセル化される、請求項11に記載のネットワーク通信方法。
  14. 前記ルートネイバーテーブルは、ネットワークデバイスのインターネットプロトコルアドレス、物理アドレス、ルート情報、およびルートタイプのフィールドを含むハッシュデータテーブルである、請求項11に記載のネットワーク通信方法。
  15. 前記ルートタイプは、ルート、ローカルエリアネットワーク、および広域ネットワークを含む、請求項14に記載のネットワーク通信方法。
  16. ローカルエリアネットワークのホストの数が数えられる場合、前記ルートネイバーテーブルは、インターネットプロトコルアドレス、物理アドレス、ルート情報、およびルートタイプを格納し、前記ルートタイプの全てはローカルエリアネットワークである、請求項15に記載のネットワーク通信方法。
  17. 前記ルートネイバーテーブルは、ネットワークデバイスのインターネットプロトコルアドレス、物理アドレス、およびルート情報のフィールドを含むハッシュデータテーブルである、請求項11に記載のネットワーク通信方法。
  18. ローカルエリアネットワークのホストの数が数えられる場合、前記ルートネイバーテーブルは、インターネットプロトコルアドレス、物理アドレス、およびルート情報を格納し、ルートタイプの全てはローカルエリアネットワークである、請求項17に記載のネットワーク通信方法。
  19. 前記ルートネイバーテーブルは、インターネットプロトコルアドレスおよび物理アドレスのフィールドを含むデータテーブルであり、ネットワークデバイスの情報を記録するために使用される、請求項11に記載のネットワーク通信方法。
  20. 宛先ホストのインターネットプロトコルアドレスを取得するために、パケットを受信して解析することと、
    ルートネイバーテーブルが有効かどうかを判定し、前記ルートネイバーテーブルが有効な場合、前記ルートネイバーテーブルに対して単一のクエリを実行し、ネクストホップルートの物理アドレスが見つからない場合、
    ルートマッチングアルゴリズムにより、前記ネクストホップルートのインターネットプロトコルアドレスを取得することと、
    前記ネクストホップルートの前記インターネットプロトコルアドレスに従って、前記ネクストホップルートの物理アドレスを取得することと
    前記ネクストホップルートの物理アドレスを前記ルートネイバーテーブルに更新し、前記物理アドレスに前記パケットを送信することと
    を実行することと
    を備えるネットワーク通信方法。
  21. 前記物理アドレスに前記パケットを送信する前、前記物理アドレスが前記パケットのイーサネットパケットヘッダにカプセル化される、請求項20に記載のネットワーク通信方法。
  22. 前記ルートネイバーテーブルは、ネットワークデバイスのインターネットプロトコルアドレス、物理アドレス、ルート情報、およびルートタイプのフィールドを含むハッシュデータテーブルである、請求項20に記載のネットワーク通信方法。
  23. 前記ルートタイプは、ルート、ローカルエリアネットワーク、および広域ネットワークを含む、請求項22に記載のネットワーク通信方法。
  24. ローカルエリアネットワークのホストの数が数えられる場合、前記ルートネイバーテーブルは、インターネットプロトコルアドレス、物理アドレス、ルート情報およびルートタイプを格納し、ルートタイプの全てはローカルエリアネットワークである、請求項23に記載のネットワーク通信方法。
  25. 前記ルートネイバーテーブルは、ネットワークデバイスのインターネットプロトコルアドレス、物理アドレス、およびルート情報のフィールドを含むデータテーブルである、請求項20に記載のネットワーク通信方法。
  26. ローカルエリアネットワークのホストの数が数えられる場合、前記ルートネイバーテーブルは、インターネットプロトコルアドレス、物理アドレス、およびルート情報を格納し、ルートタイプの全てはローカルエリアネットワークである、請求項25に記載のネットワーク通信方法。
  27. 前記ルートネイバーテーブルは、ネットワークデバイスのインターネットプロトコルアドレスおよび物理アドレスのフィールドを含むハッシュデータテーブルである、請求項20に記載のネットワーク通信方法。
  28. 宛先ホストのインターネットプロトコルアドレスを取得するために、パケットを受信して解析することと、
    ルートネイバーテーブルが有効かどうかを判定し、前記ルートネイバーテーブルが有効ではない場合、ネクストホップルートのインターネットプロトコルアドレスを取得するために、前記宛先ホストのインターネットプロトコルアドレスに従ってルーティングテーブルに対してクエリを実行することと、
    前記ネクストホップルートの物理アドレスを取得するために、前記ネクストホップルートのインターネットプロトコルアドレスに従ってルートネイバーテーブルに対してクエリを実行することと、
    前記物理アドレスに前記パケットを送信することと
    を備えるネットワーク通信方法。
  29. 宛先ホストのインターネットプロトコルアドレスがローカルアドレスかどうかを確認し、ローカルアドレスである場合、パケットを受信することと、
    パケットのポート番号に従ってパケットをターゲットアプリケーションに送信することと、
    ローカルアドレスでない場合、転送機能が有効になっているとき、ルータの物理アドレスを取得するために、ルートネイバーテーブルに対して単一のクエリを実行し、受信したパケットの物理アドレスをルータの物理アドレスに置き換え、受信したパケットをルータの物理アドレスに転送することと
    を備えるネットワーク通信方法。
  30. 宛先ホストのインターネットプロトコルアドレスを取得するためにパケットを受信して解析するために使用される解析ユニットと、
    ネクストホップルートの物理アドレスおよびルートタイプを取得するために、前記宛先ホストのインターネットプロトコルアドレスに従って、ルートネイバーテーブルに対して単一のクエリを実行するために使用されるクエリユニットと、
    前記物理アドレスおよび前記ルートタイプに従って前記パケットを送信するために使用されるパケット送信ユニットと
    を備えたネットワーク通信装置。
  31. 宛先ホストのインターネットプロトコルアドレスを取得するためにパケットを受信して解析するために使用される解析ユニットと、
    ルートネイバーテーブルが有効かどうかを判定するために使用される判定ユニットと、
    前記ルートネイバーテーブルが有効な場合、ネクストホップルートの物理アドレスおよびルートタイプを取得するために、前記ルートネイバーテーブルに対して単一のクエリを実行するために使用されるクエリユニットと、
    前記物理アドレスおよび前記ルートタイプに従って前記パケットを送信するために使用されるパケット送信ユニットと
    を備えたネットワーク通信装置。
JP2020536653A 2017-12-29 2018-12-24 ネットワーク通信方法および装置 Active JP7289303B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711482414.2A CN109995659B (zh) 2017-12-29 2017-12-29 一种网络通信方法及装置
CN201711482414.2 2017-12-29
PCT/CN2018/122996 WO2019128905A1 (zh) 2017-12-29 2018-12-24 一种网络通信方法及装置

Publications (2)

Publication Number Publication Date
JP2021508212A true JP2021508212A (ja) 2021-02-25
JP7289303B2 JP7289303B2 (ja) 2023-06-09

Family

ID=67063137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020536653A Active JP7289303B2 (ja) 2017-12-29 2018-12-24 ネットワーク通信方法および装置

Country Status (5)

Country Link
US (1) US12010008B2 (ja)
EP (1) EP3735037A4 (ja)
JP (1) JP7289303B2 (ja)
CN (1) CN109995659B (ja)
WO (1) WO2019128905A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511433A (zh) * 2020-11-24 2021-03-16 中移(杭州)信息技术有限公司 流量传输方法、服务器及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10164118A (ja) * 1996-11-29 1998-06-19 Anritsu Corp Lan間接続装置
JP2000151709A (ja) * 1998-11-12 2000-05-30 Nec Corp ルーティングアドレス検索システム
JP2004007412A (ja) * 2002-02-08 2004-01-08 Matsushita Electric Ind Co Ltd ゲートウェイ装置及びその制御方法
US20100080235A1 (en) * 2008-09-29 2010-04-01 Keiichirou Yamate Forwarding Apparatus, Forwarding Method, and Computer Program Product
KR20130050356A (ko) * 2010-09-08 2013-05-15 닛본 덴끼 가부시끼가이샤 스위치 시스템, 스위치 제어 방법 및 기억 매체

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286058B1 (en) * 1997-04-14 2001-09-04 Scientific-Atlanta, Inc. Apparatus and methods for automatically rerouting packets in the event of a link failure
US6483804B1 (en) 1999-03-01 2002-11-19 Sun Microsystems, Inc. Method and apparatus for dynamic packet batching with a high performance network interface
US7165175B1 (en) 2000-09-06 2007-01-16 Widevine Technologies, Inc. Apparatus, system and method for selectively encrypting different portions of data sent over a network
US20020143787A1 (en) * 2001-03-31 2002-10-03 Simon Knee Fast classless inter-domain routing (CIDR) lookups
US7260085B2 (en) * 2002-03-21 2007-08-21 Acme Packet, Inc. System and method for determining a destination for an internet protocol packet
US7594002B1 (en) 2003-02-14 2009-09-22 Istor Networks, Inc. Hardware-accelerated high availability integrated networked storage system
GB2399712A (en) 2003-03-17 2004-09-22 Orange Personal Comm Serv Ltd Telecommunications apparatus and method for multiple data type packets
US7313633B2 (en) * 2003-06-04 2007-12-25 Intel Corporation Methods and apparatus for updating address resolution data
US7304996B1 (en) 2004-03-30 2007-12-04 Extreme Networks, Inc. System and method for assembling a data packet
US7586851B2 (en) 2004-04-26 2009-09-08 Cisco Technology, Inc. Programmable packet parsing processor
DE102004043572B4 (de) 2004-09-09 2008-04-24 Siemens Ag Verfahren zum Übertragen von Telekommunikationsdaten von einem Zugangsnetzwerk zu einem Media Gateway Contoller
US8458467B2 (en) 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
WO2007027945A1 (en) * 2005-08-30 2007-03-08 Sensact Applications, Incorporated Wireless parking guidance system
US8289965B2 (en) 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US8223655B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for provisioning resources of a packet network based on collected network performance information
US8228791B2 (en) 2006-08-22 2012-07-24 Embarq Holdings Company, Llc System and method for routing communications between packet networks based on intercarrier agreements
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8194555B2 (en) 2006-08-22 2012-06-05 Embarq Holdings Company, Llc System and method for using distributed network performance information tables to manage network communications
US7808918B2 (en) 2006-08-22 2010-10-05 Embarq Holdings Company, Llc System and method for dynamically shaping network traffic
CN100446496C (zh) * 2006-12-07 2008-12-24 中国科学院计算技术研究所 一种基于路由邻居表建立无线传感器网络路由的方法
CN101232437A (zh) 2007-01-24 2008-07-30 财团法人工业技术研究院 网络封包传送方法与装置
KR20110030470A (ko) 2008-07-11 2011-03-23 알까뗄 루슨트 무선 네트워크에서 프로토콜 데이터 유닛들을 처리하기 위한 방법 및 장치
CN101707547A (zh) * 2008-07-21 2010-05-12 北京星网锐捷网络技术有限公司 路由信息生成方法及装置、递归路由数据转发方法及设备
CN101667958B (zh) * 2008-09-01 2012-08-29 华为技术有限公司 选择哈希函数的方法、存储及查找路由表的方法及装置
CN101873247B (zh) 2009-04-27 2014-04-09 中兴通讯股份有限公司 一种控制数据传输的管理方法及系统
CN101645799B (zh) 2009-08-12 2012-08-15 保定市三川电气有限责任公司 一种数字通信的发送、接收方法及设备
CN102075417B (zh) * 2010-09-30 2013-11-06 杭州华三通信技术有限公司 组播剪枝方法及协议无关组播路由器
US8660118B2 (en) * 2010-11-19 2014-02-25 Extreme Networks, Inc. Methods, systems, and computer readable media for next hop scaling
US8854996B2 (en) 2010-12-16 2014-10-07 International Business Machines Corporation Accelerating data packet parsing
JP5836492B2 (ja) * 2011-09-20 2015-12-24 トムソン ライセンシングThomson Licensing ヌル仮想ローカルエリアネットワーク識別変換のための方法および装置
US9509602B2 (en) * 2011-10-25 2016-11-29 Dell Products L.P. Limiting MAC address learning on access network switches
CN103166874B (zh) * 2013-03-25 2016-03-02 杭州华三通信技术有限公司 一种报文转发方法及设备
CN103281748B (zh) * 2013-06-13 2015-08-12 清华大学 基于链路活跃度的无线传感器网络节点选路方法
CN104253811A (zh) 2014-01-07 2014-12-31 深圳市华傲数据技术有限公司 一种网络包通信方法和系统
CN106254256B (zh) * 2015-06-04 2019-08-16 新华三技术有限公司 基于三层vxlan网关的数据报文转发方法和设备
US9825776B2 (en) * 2015-06-11 2017-11-21 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Data center networking
EP3363256B8 (en) * 2015-10-13 2019-04-03 Signify Holding B.V. Unicast message routing using repeating nodes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10164118A (ja) * 1996-11-29 1998-06-19 Anritsu Corp Lan間接続装置
US5999536A (en) * 1996-11-29 1999-12-07 Anritsu Corporation Router for high-speed packet communication between terminal apparatuses in different LANs
JP2000151709A (ja) * 1998-11-12 2000-05-30 Nec Corp ルーティングアドレス検索システム
JP2004007412A (ja) * 2002-02-08 2004-01-08 Matsushita Electric Ind Co Ltd ゲートウェイ装置及びその制御方法
US20100080235A1 (en) * 2008-09-29 2010-04-01 Keiichirou Yamate Forwarding Apparatus, Forwarding Method, and Computer Program Product
JP2010087585A (ja) * 2008-09-29 2010-04-15 Alaxala Networks Corp 転送装置、転送方法、およびコンピュータプログラム
KR20130050356A (ko) * 2010-09-08 2013-05-15 닛본 덴끼 가부시끼가이샤 스위치 시스템, 스위치 제어 방법 및 기억 매체

Also Published As

Publication number Publication date
US12010008B2 (en) 2024-06-11
CN109995659B (zh) 2022-03-01
CN109995659A (zh) 2019-07-09
US20210250272A1 (en) 2021-08-12
JP7289303B2 (ja) 2023-06-09
EP3735037A4 (en) 2021-10-20
WO2019128905A1 (zh) 2019-07-04
EP3735037A1 (en) 2020-11-04

Similar Documents

Publication Publication Date Title
US9871728B2 (en) Exact match hash lookup databases in network switch devices
US9098601B2 (en) Ternary content-addressable memory assisted packet classification
US10097455B2 (en) Ascertaining per-hop network characteristics
US9680747B2 (en) Internet protocol and Ethernet lookup via a unified hashed trie
Yu et al. BUFFALO: Bloom filter forwarding architecture for large organizations
CN108259347B (zh) 一种报文传输方法和装置
US8615015B1 (en) Apparatus, systems and methods for aggregate routes within a communications network
US20220045950A1 (en) Single lookup entry for symmetric flows
US9807009B2 (en) System and method for providing congestion notification in layer 3 networks
US20200328914A1 (en) Packet transmission
US10404598B1 (en) Managing next hop groups in routers
US8914503B2 (en) Detected IP link and connectivity inference
CN111988266A (zh) 一种处理报文的方法
US9641611B2 (en) Logical interface encoding
US20170012874A1 (en) Software router and methods for looking up routing table and for updating routing entry of the software router
US8249101B2 (en) Mobile ad hoc network configured as a virtual internet protocol network
JP7289303B2 (ja) ネットワーク通信方法および装置
US20070025346A1 (en) System and method for creating a routing table
US9667540B2 (en) Fiber channel over ethernet (FCoE) frame forwarding system
US10541914B2 (en) Data packet forwarding method and network device
US20160337232A1 (en) Flow-indexing for datapath packet processing
US11924102B2 (en) Minimizing deviation from average latency of table lookups

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200901

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230302

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: 20230509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230530

R150 Certificate of patent or registration of utility model

Ref document number: 7289303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150