JP2016082479A - 通信装置、通信方法およびプログラム - Google Patents
通信装置、通信方法およびプログラム Download PDFInfo
- Publication number
- JP2016082479A JP2016082479A JP2014213694A JP2014213694A JP2016082479A JP 2016082479 A JP2016082479 A JP 2016082479A JP 2014213694 A JP2014213694 A JP 2014213694A JP 2014213694 A JP2014213694 A JP 2014213694A JP 2016082479 A JP2016082479 A JP 2016082479A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- address
- next hop
- transmission
- destination
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】6LoWPAN向けでないパケットが6LoWPAN向けのルータに送信されることを防ぐ。
【解決手段】本発明の通信装置は、第1の記憶手段と第2の記憶手段と第1の登録手段とを備える。第1の記憶手段は、パケットの宛先のIPv6アドレスを表す宛先アドレスと、パケットの次の転送先を示す次ホップのIPv6アドレスを表す次ホップアドレスとを少なくとも対応付けて記憶する。第2の記憶手段は、第1の記憶手段を用いて次ホップアドレスを決定できなかった場合のパケットの転送先となるデフォルトルータのIPv6アドレスを記憶する。第1の登録手段は、6LoWPANのRAパケットを表す第1のRAパケットを除いたRAパケットを表す第2のRAパケットを受信した場合に、第2のRAパケットの送信元のIPv6アドレスを、デフォルトルータのIPv6アドレスとして第2の記憶手段に登録する。
【選択図】図5
Description
本発明は、通信装置、通信方法およびプログラムに関する。
従来、IEEE802.15.4の低消費電力PAN(Personal Area Networks)でIPv6通信を行う規格として、6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)が規定されている。
例えば特許文献1には、6LoWPANに基づく通信を行う装置が開示されている。
ここで、IPv6の仕様として、パケット送信時の次ホップアドレス(パケットの次の転送先を示す次ホップのIPv6アドレス)の決定で使用されるデフォルトルータ・リストには、2つ以上のデフォルトルータを設定することが求められている。パケット送信時において、宛先のIPv6アドレスを表す宛先アドレスと、過去に決定された次ホップアドレスとの対応表を示す終点キャッシュや、公知のプレフィックス・リストを用いて、送信用のパケットの宛先アドレスに対する次ホップアドレスを決定することができない場合、デフォルトルータ・リストから次ホップアドレスを決定する。この一連の処理は、6LoWPANでも同様である。
しかしながら、デフォルトルータ・リストに6LoWPAN向けのルータ(6LoWPANの規格に従った通信を行うルータ)が登録されていると、6LoWPAN向けでないパケット(6LoWPANの規格に従ったパケット以外のパケット)が当該ルータに送信されてしまう場合がある。これにより、6LoWPAN向けのルータに対して、本来送信する必要が無いパケットが送信されてしまい、当該ルータは、本来受信する必要のないパケットを受信することにより電力を無駄に消費してしまう。これは、低消費電力を前提としている6LoWPANでは特に問題となる。
上述した課題を解決し、目的を達成するために、本発明は、複数の通信インターフェースを有する通信装置であって、パケットの宛先のIPv6アドレスを表す宛先アドレスと、パケットの次の転送先を示す次ホップのIPv6アドレスを表す次ホップアドレスとを少なくとも対応付けて記憶する第1の記憶手段と、前記第1の記憶手段を用いて前記次ホップアドレスを決定できなかった場合のパケットの転送先となるデフォルトルータのIPv6アドレスを記憶する第2の記憶手段と、6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)のRA(Router Advertisement)パケットを表す第1のRAパケットを除いたRAパケットを表す第2のRAパケットを受信した場合に、前記第2のRAパケットの送信元のIPv6アドレスを、前記デフォルトルータのIPv6アドレスとして前記第2の記憶手段に登録する第1の登録手段と、を備える通信装置である。
本発明によれば、6LoWPAN向けでないパケットが6LoWPAN向けのルータに送信されることを防ぐことができる。
以下、添付図面を参照しながら、本発明に係る通信装置、通信方法およびプログラムの実施形態を詳細に説明する。
(第1実施形態)
図1は、本実施形態の通信装置1のハードウェア構成の一例を示す図である。図1に示すように、通信装置1は、CPU10と、メモリ20と、通信処理部30とを備える。CPU10は、通信装置1の動作を統括的に制御する。メモリ20は、プログラムや各種のデータを記憶する。通信処理部30は、CPU10の制御の下、通信に関する処理を実行する。
図1は、本実施形態の通信装置1のハードウェア構成の一例を示す図である。図1に示すように、通信装置1は、CPU10と、メモリ20と、通信処理部30とを備える。CPU10は、通信装置1の動作を統括的に制御する。メモリ20は、プログラムや各種のデータを記憶する。通信処理部30は、CPU10の制御の下、通信に関する処理を実行する。
図2は、通信処理部30のハードウェア構成の一例を示す図である。図2の例では、通信処理部30は、3つの通信インターフェース(第1の通信インターフェース31、第2の通信インターフェース32、第3の通信インターフェース33)を有しており、第1の通信インターフェース31はIEEE802.15.4に対応し、第2の通信インターフェース32はEternetに対応し、第3の通信インターフェース33はWi−Fi(Wireless Fidelity)に対応している。以下の説明では、第1の通信インターフェース31、第2の通信インターフェース32および第3の通信インターフェース33を互いに区別しない場合は単に「通信インターフェース」と称する場合がある。
図2に示すように、通信処理部30は、パケット処理部34と、次ホップ管理部35と、終点キャッシュ36と、プレフィックス・リスト37と、ルーティング・テーブル38と、デフォルトルータ・リスト39と、近隣キャッシュ管理部40と、近隣キャッシュ41と、パケット送受信部42と、バッファ43とを有している。
まず、通信処理部30が、送信用のパケット(以下、「送信パケット」と称する場合がある)を生成して送信する場合における各部の機能を説明する。パケット処理部34は、送信パケットを生成する。この例では、パケット処理部34は、請求項の「生成部」に対応していると考えることができる。パケット処理部34は、生成した送信パケットをバッファ43に保存し、次ホップ管理部35に対して、送信パケットの宛先のIPv6アドレスを表す宛先アドレスと、どの通信インターフェース向けか(使用すべき通信インターフェース)を伝え、送信パケットの宛先アドレスに対する次ホップアドレス(パケットの次の転送先を示す次ホップのIPv6アドレス)の決定を依頼する。
次ホップ管理部35は、パケット処理部34から次ホップアドレスの決定依頼を受け付けると、使用すべき通信インターフェースとしてパケット処理部34から通知された通信インターフェースに基づいて、送信パケットが6LoWPAN向けの送信パケット(6LoWPANの規格に従った送信パケット)であるか否かを判断することができる。この例では、パケット処理部34から通知された通信インターフェースが第1の通信インターフェース31であった場合は、送信パケットは6LoWPAN向けの送信パケットであると判断し、第2の通信インターフェース32または第3の通信インターフェース33であった場合は、送信パケットは6LoWPAN向けの送信パケットではないと判断することができる。
以下の説明では、6LoWPAN向けの送信パケットを「第1の送信パケット」と称し、6LoWPAN向けではない送信パケットを「第2の送信パケット」と称し、両者を区別しない場合は単に「送信パケット」と称する場合がある。なお、送信パケットが6LoWPAN向けの送信パケットであるか否かを判断する方法は上記の方法に限られるものではなく、様々な方法を採用することができる。
送信パケットが6LoWPAN向けの送信パケットであると判断した場合(つまり、パケット処理部34によって第1の送信パケットが生成された場合)、次ホップ管理部35は、ルーティング・テーブル38を参照して、第1の送信パケットの宛先アドレスに対する次ホップアドレスを決定する。ルーティング・テーブル38は、宛先アドレスと次ホップアドレスとを少なくとも対応付けて記憶する。この例では、ルーティング・テーブル38は、請求項の「第1の記憶手段」に対応している。
図3は、ルーティング・テーブル38の構成例を示す図であり、最低限のフィールドは、宛先アドレスと、次ホップアドレスと、アドレスマスク長と、通信インターフェースを識別するインターフェース番号とから構成される。この例では、宛先アドレスおよび次ホップアドレスの各々は128ビットで構成される。アドレスマスク長は、宛先アドレスのうち検索の対象となるビット長を指定する。図3の例ではアドレスマスク長は、8ビット(一例であり、8ビットに限られるものではない)の情報で構成され、例えばアドレスマスク長が10進数の「64」を表現している場合は、宛先アドレスの上位64ビット分が検索の対象となる。
また、インターフェース番号は、送信パケット向けの通信インターフェースが指定された場合に、その指定された通信インターフェースとの比較に用いられ、図3の例では2ビットで構成される。例えば10進数の「0」を表現するビット(インターフェース番号)が第1の通信インターフェース31を示し、10進数の「1」を表現するビットが第2の通信インターフェース32を示し、10進数の「2」を表現するビットが第3の通信インターフェース33を示すといった形態であってもよい。なお、ルーティング・テーブル38は、上述した最低限のフィールドの他に、経由するルータの台数や送信遅延等を管理することもできる。実際には、ルーティング・テーブル38のインターフェース番号を次ホップ決定の検索対象とするかどうかの有効/無効設定がある。送信パケット毎に設定する必要があるため、例えばインターフェース番号を各管理部に伝達するように、有効/無効設定を伝達する方法が考えられる。また例えば送信パケット(ヘッダーとデータを含む)に紐づけてバッファ43に設定する方法などが考えられる。管理部がバッファ43からパケットを参照する際に、有効/無効設定やインターフェース番号も一緒に参照することができる。
図2に戻り、次ホップ管理部35が、送信パケットが6LoWPAN向けの送信パケットではないと判断した場合(つまり、パケット処理部34によって第2の送信パケットが生成された場合)における次ホップアドレスの決定方法を説明する。本実施形態では、次ホップ管理部35は、6LoWPAN向けではない送信パケット(第2の送信パケット)の宛先アドレスに対する次ホップアドレスを決定するたびに、第2の送信パケットの宛先アドレスと、決定した次ホップアドレスとを対応付けて終点キャッシュ36に記憶させる。この例では、終点キャッシュ36は、請求項の「第3の記憶手段」に対応している。以下、第2の送信パケットの宛先アドレスに対する次ホップアドレスの決定方法の具体的な内容を説明する。
まず、次ホップ管理部35は、終点キャッシュ36を用いて、第2の送信パケットの宛先アドレスに対する次ホップアドレスを決定する。より具体的には、次ホップ管理部35は、第2の送信パケットの宛先アドレスと一致する宛先アドレスが終点キャッシュ36に存在する場合は、第2の送信パケットの宛先アドレスと一致する宛先アドレスに対応付けられた次ホップアドレスを、第2の送信パケットの宛先アドレスに対する次ホップアドレスとして決定する。一方、第2の送信パケットの宛先アドレスと一致する宛先アドレスが終点キャッシュ36に存在しない場合は、プレフィックス・リスト37を用いて、第2の送信パケットの宛先アドレスに対する次ホップアドレスを決定する。
プレフィックス・リスト37は、リンクローカルアドレスのプレフィックス(以下の説明では「ローカル用プレフィックス」と称する場合がある)を少なくとも記憶する。リンクローカルアドレスとは、ノード(通信装置1)が直接つながっているリンク(ノード間を結ぶ通信線)内でのみ有効なアドレスである。例えば、プレフィックス・リスト37は、リンクローカルアドレスの他、グローバルアドレスを記憶し、それぞれに対して、プレフィックス(ネットワークを識別するための情報)がリンク上にあることを示すOn−Linkフラグを設定することができる。この例では、プレフィックス・リスト37は、請求項の「第4の記憶手段」に対応している。
次ホップ管理部35は、第2の送信パケットの宛先アドレスに含まれる、ネットワークを識別するためのプレフィックス(宛先アドレスの上位64ビットで表現される)と、プレフィックス・リスト37に記憶されたローカル用プレフィックスとが一致し、かつ、On−Linkフラグが設定されている場合は、第2の送信パケットの宛先アドレスを次ホップアドレスとして決定する。一方、第2の送信パケットの宛先アドレスに含まれるプレフィックスと、プレフィックス・リスト37に記憶されたローカル用プレフィックスとが一致しない場合、または、On−Linkフラグが設定されていない場合は、次ホップ管理部35は、ルーティング・テーブル38を用いて、第2の送信パケットの宛先アドレスに対する次ホップアドレスを決定する。
ルーティング・テーブル38を用いた次ホップアドレスの決定方法は以下のとおりである。次ホップ管理部35は、第2の送信パケットの宛先アドレスと一致する宛先アドレスがルーティング・テーブル38に存在する場合は、第2の送信パケットの宛先アドレスと一致する宛先アドレスに対応付けられた次ホップアドレスを、第2の送信パケットの宛先アドレスに対する次ホップアドレスとして決定する。一方、第2の送信パケットの宛先アドレスと一致する宛先アドレスがルーティング・テーブル38に存在しない場合は、デフォルトルータ・リスト39に記憶されたデフォルトルータのIPv6アドレスを、第2の送信パケットの宛先アドレスに対する次ホップアドレスとして決定する。
デフォルトルータ・リスト39は、ルーティング・テーブル38を用いて次ホップアドレスを決定できなかった場合のパケットの転送先となるデフォルトルータのIPv6アドレスを記憶する。この例では、デフォルトルータ・リスト39は、請求項の「第2の記憶手段」に対応している。デフォルトルータ・リスト39から1つのデフォルトルータのIPv6アドレスを選択する方法は、後述の近隣キャッシュ41の状態がINCOMPLETEでないルータのIPv6アドレスが優先的に選択され、もし、そのようなルータが存在しない場合は、ラウンドロビン方式(全エントリを所定の順番で選択していく方式)で何れかのルータのIPv6アドレスが選択される。デフォルトルータ・リスト39には最低2つのデフォルトルータのIPv6アドレスを持っている必要がある。
以上が、次ホップ管理部35による次ホップアドレスの決定方法である。本実施形態では、次ホップ管理部35は請求項の「第1の決定手段」に対応している。
次ホップ管理部35は、以上のようにして決定した次ホップアドレスをパケット処理部34および近隣キャッシュ管理部40の各々へ通知する。この通知を受けた近隣キャッシュ管理部35は、IPv6アドレスと、機器自体が持つ物理アドレスを示すリンク層アドレス(IPv4におけるMACアドレスに相当)とを少なくとも対応付けた近隣キャッシュ41を参照して、次ホップ管理部35により決定された次ホップアドレスと一致するIPv6アドレスに対応付けられたリンク層アドレスを決定する。この例では、近隣キャッシュ41は請求項の「第5の記憶手段」に対応している。近隣キャッシュ管理部40は、決定したリンク層アドレスをパケット処理部34へ通知する。
パケット処理部34は、送信パケットの宛先アドレスに対する次ホップアドレスとリンク層アドレスを送信パケットに反映させ、パケット送受信部42に対して、送信パケットが保存されているバッファ43上のパケット先頭アドレスとパケット長を引き渡す。パケット送受信部42は、バッファ43からパケットを引き取り、パケットの種類に応じた通信インターフェースからパケットを送信する。この例では、パケット処理部34が、近隣キャッシュ管理部40により決定されたリンク層アドレスを用いて送信パケットを送信する制御を行っていると考えることもできるし、パケット処理部34とパケット送受信部42の組み合わせが、近隣キャッシュ管理部40により決定されたリンク層アドレスを用いて送信パケットを送信する制御を行っていると考えることもできるし、パケット送受信部42が、近隣キャッシュ管理部40により決定されたリンク層アドレスを用いて送信パケットを送信する制御を行っていると考えることもできる。
要するに、パケット処理部34が請求項の「送信制御手段」に対応していると考えることもできるし、パケット処理部34とパケット送受信部42の組み合わせが請求項の「送信制御手段」に対応していると考えることもできるし、パケット送受信部42が請求項の「送信制御手段」に対応していると考えることもできる。
次に、通信処理部30が、パケットを受信した場合における各部の機能を説明する。パケットを受信した場合は、パケット送受信部42がバッファ43に当該パケット(以下の説明では「受信パケット」と称する場合がある)を保存し、パケット処理部34に対して、受信パケットが保存されているバッファ43上のパケット先頭アドレスとパケット長とインターフェース番号を引き渡す。パケット処理部34は、受信パケットの情報(インターフェース番号、IPアドレス、リンク層アドレス、オプション情報など)を次ホップ管理部35および近隣キャッシュ管理40に伝達し、次ホップ管理部35および近隣キャッシュ40は、その情報から適宜キャッシュの登録を行う。
以下、IPv6におけるアドレスの自動設定に用いられるRA(Router Advertisement)パケットを受信した場合を例に挙げて説明する。以下の説明では、6LoWPANのRAパケットを「第1のRAパケット」と称し、RAパケットのうち6LoWPANのRAパケットを除いたRAパケットを「第2のRAパケット」と称する場合がある。本実施形態では、次ホップ管理部35は、第2のRAパケットを受信した場合に、第2のRAパケットの送信元のIPv6アドレスを、デフォルトルータのIPv6アドレスとしてデフォルトルータ・リスト39に登録する。すなわち、次ホップ管理部35は、第1のRAパケットを受信した場合は、第1のRAパケットの送信元のIPv6アドレスをデフォルトルータ・リスト39に登録しない。この例では、次ホップ管理部35は請求項の「第1の登録手段」に対応している。
例えば、パケット処理部34から伝達される受信パケットの情報には、パケットの種類を識別する情報が含まれており、次ホップ管理部35は、当該情報を参照することで、受信したRAパケットが第2のRAパケットであるのか第1のRAパケットであるのかを判断することもできる。なお、受信したRAパケットが第2のRAパケットであるのか第1のRAパケットであるのかを判断する方法はこれに限られるものではなく、例えば次ホップ管理部35は、パケット処理部34から伝達された受信パケットの情報に含まれるインターフェース番号から、受信したRAパケットが第2のRAパケットであるのか第1のRAパケットであるのかを判断することもできる。この例では、インターフェース番号が、IEEE802.15.4に対応する第1の通信インターフェース31を示す場合は、受信したRAパケットは第1のRAパケットであると判断し、インターフェース番号が、IEEE802.15.4に対応していない第2の通信インターフェース32または第3の通信インターフェース33を示す場合は、受信したRAパケットは第2のRAパケットであると判断することもできる。
また、次ホップ管理部35は、第1のRAパケット(ルータ有効期間がゼロでない第1のRAパケット)を受信した場合に、ルーティング・テーブル38の登録を行う。より具体的には、次ホップ管理部35は、第1のRAパケットを受信した場合、第1のRAパケットの送信元のIPv6アドレスを次ホップアドレスとしてルーティング・テーブル38に登録する。より具体的には、第1のRAパケットの送信元のIPv6アドレスを、宛先アドレスおよび次ホップアドレスとしてルーティング・テーブル38に登録し、当該第1のRAパケットの送信元のIPv6アドレスを、6LoWPAN向けのデフォルトルータとしてルーティング・テーブル38に登録することもできる。
なお、6LoWPAN向けのルーティング・テーブル38の登録は、RAパケットの受信の他にも、NA(Neighbor Advertisement)受信、Redirect受信、IPv6受信などでも実施される。例えば次ホップ管理部35は、NS(Neighbor Solicitation)送信の応答としてNAを受信した場合に、そのNAの送信元のIPv6アドレスを次ホップアドレスとして登録することができる。Redirectメッセージは、パケットを受信したルータがより適切な次ホップを知っている場合に、パケットの送信元のノードに通知するために送信される。次ホップ管理部35は、受信したRedirectメッセージによって通知された適切な次ホップのIPアドレスを、次ホップアドレスとして登録することができる。また、リンクローカル(通信装置1が直接つながっているリンク)のホストから6LoWPANのパケットを受信した場合も、そのパケットの送信元のIPアドレスを、次ホップアドレスとして登録することができる。
また、次ホップ管理部35は、第1のRAパケットを受信した場合は、第1のRAパケットにより指定されたグローバル用のネットワークを識別するグローバル用のプレフィックスをプレフィックス・リスト37に登録する。第2のRAパケットを受信した場合も同様に、第2のRAパケットにより指定されたグローバル用のネットワークを識別するグローバル用のプレフィックスをプレフィックス・リスト37に登録する。
また、本実施形態では、近隣キャッシュ管理部40は、第1のRAパケットを受信した場合は、第1のRAパケットの送信元のIPv6アドレスと、第1のRAパケットの送信元のリンク層アドレスとを少なくとも対応付けて近隣キャッシュ41に登録する。例えばパケット処理部34から伝達される受信パケットの情報には、パケットの種類を識別する情報の他、パケットを受信した通信インターフェースを示すインターフェース番号も含まれており、近隣キャッシュ管理部40は、第1のRAパケットを受信した場合は、第1のRAパケットの送信元のIPv6アドレスと、第1のRAパケットの送信元のリンク層アドレスと、第1のRAパケットを受信した通信インターフェースを示すインターフェース番号とを対応付けて近隣キャッシュ41に登録することもできる。
また、近隣キャッシュ管理部40は、第2のRAパケットを受信した場合は、第2のRAパケットの送信元のIPv6アドレスと、第2のRAパケットの送信元のリンク層アドレスとを少なくとも対応付けて近隣キャッシュ41に登録する。第1のRAパケットを受信した場合と同様に、近隣キャッシュ管理部40は、第2のRAパケットを受信した場合は、第2のRAパケットの送信元のIPv6アドレスと、第2のRAパケットの送信元のリンク層アドレスと、第2のRAパケットを受信した通信インターフェースを示すインターフェース番号とを対応付けて近隣キャッシュ41に登録することもできる。この例では、近隣キャッシュ管理部40は請求項の「第2の登録手段」に対応している。
以上が、通信処理部30の構成内容である。なお、終点キャッシュ36、プレフィックス・リスト37、ルーティング・テーブル38、デフォルトルータ・リスト39、近隣キャッシュ41、バッファ43は、別々のメモリとして設けられてもよいし、ひとつのメモリ内に設けられてもよい。
また、上述のパケット処理部34、次ホップ管理部35、近隣キャッシュ管理部40、および、パケット送受信部42の少なくとも一部の機能は、通信装置1のCPU10がプログラムを実行することにより実現される形態であってもよい。また、ここでは、通信処理部30が有する機能のうち、本発明に係る機能を中心に説明しているが、通信処理部30が有する機能はこれに限られるものではない。例えば通信処理部30は、送受信パケットのチェックサム計算を行い、チェックサムが合致しない場合は、パケットを破棄することもできるし、必要に応じて、ヘッダーの追加・編集・除去などをすることもできるし、TCPセッションの確立なども行うこともできる。つまり、通信処理部30は、一部ソフトウェアの協同によって、OSI参照モデルのトランスポート層、ネットワーク層の機能を実現することができる。
図4は、送信パケットの宛先アドレスに対する次ホップアドレスを決定する場合の通信処理部30(通信装置1)の動作例を示すフローチャートである。送信パケットが6LoWPAN向けの送信パケットではない場合(ステップS1:No)、つまり、送信パケットが第2の送信パケットである場合、次ホップ管理部35は、当該第2の送信パケットの宛先アドレスと一致する宛先アドレスが終点キャッシュ36に存在するか否かを判断する(ステップS2)。第2の送信パケットの宛先アドレスと一致する宛先アドレスが終点キャッシュ36に存在する場合(ステップS2:Yes)、次ホップ管理部35は、第2の送信パケットの宛先アドレスと一致する宛先アドレスに対応付けられた次ホップアドレスを、第2の送信パケットの宛先アドレスに対する次ホップアドレスとして決定し、決定した次ホップアドレスを近隣キャッシュ管理部40へ通知する。この通知を受けた近隣キャッシュ管理部40は、近隣キャッシュ41を参照して、次ホップ管理部35により決定された次ホップアドレスと一致するIPv6アドレスに対応付けられたリンクローカルアドレスを決定する(ステップS3)。以降の処理は上述したとおりである。
上述のステップS2において、第2の送信パケットの宛先アドレスと一致する宛先アドレスが終点キャッシュ36に存在しない場合(ステップS2:No)、次ホップ管理部35は、第2の送信パケットの宛先アドレスに含まれるプレフィックスがプレフィックス・リスト37でヒットするか否かを判断する(ステップS4)。上述したように、第2の送信パケットの宛先アドレスに含まれるプレフィックスと、プレフィックス・リスト37に記憶されたローカル用プレフィックスとが一致し、かつ、On−Linkフラグが設定されていて、プレフィックス・リスト37でヒットした場合(ステップS4:Yes)、次ホップ管理部35は、第2の送信パケットの宛先アドレスを次ホップアドレスとして決定し、決定した次ホップアドレスを近隣キャッシュ管理部40へ通知する。以降の処理は上述したとおりである。
上述のステップS4において、第2の送信パケットの宛先アドレスに含まれるプレフィックスがプレフィックス・リスト37でヒットしない場合(ステップS4:No)、次ホップ管理部35は、第2の送信パケットの宛先アドレスと一致する宛先アドレスがルーティング・テーブル38に存在するか否かを判断する(ステップS5)。第2の送信パケットの宛先アドレスと一致する宛先アドレスがルーティング・テーブル38に存在する場合(ステップS5:Yes)、次ホップ管理部35は、第2の送信パケットの宛先アドレスと一致する宛先アドレスに対応付けられた次ホップアドレスを、第2の送信パケットの宛先アドレスに対する次ホップアドレスとして決定し、決定した次ホップアドレスを近隣キャッシュ管理部40へ通知する。以降の処理は上述したとおりである。
上述のステップS5において、第2の送信パケットの宛先アドレスと一致する宛先アドレスがルーティング・テーブル38に存在しない場合(ステップS5:No)、次ホップ管理部35は、デフォルトルータ・リスト39に記憶されたデフォルトルータのIPv6アドレスを、第2の送信パケットの宛先アドレスに対する次ホップアドレスとして決定し(ステップS6)、決定した次ホップアドレスを近隣キャッシュ管理部40へ通知する。以降の処理は上述したとおりである。なお、デォルトルータのIPv6アドレスがデフォルトルータ・リスト39に登録されていない状態の場合は、次ホップ管理部35は、第2の送信パケットの宛先アドレスを次ホップアドレスとして決定することもできる。
ここで、上述したように、次ホップ管理部35は、6LoWPANのRAパケット(第1のRAパケット)を受信した場合は、当該第1のRAパケットの送信元のIPv6アドレスをデフォルトルータ・リスト39に登録しないので、6LoWPANに対応するルータに対して、6LoWPAN向けでないパケットが送信されることを防止することができる。
一方、送信パケットが6LoWPAN向けの送信パケットである場合(ステップS1:Yes)、つまり、送信パケットが第1の送信パケットである場合、次ホップ管理部35は、ルーティング・テーブル38を参照して、第1の送信パケットの宛先アドレスと一致する宛先アドレスがルーティング・テーブル38に存在するか否かを判断する(ステップS5)。そして、次ホップ管理部35は、第1の送信パケットの宛先アドレスと一致する宛先アドレスに対応付けられた次ホップアドレスを、第1の送信パケットの宛先アドレスに対する次ホップアドレスとして決定する。以降の処理は上述したとおりである。
図5は、RAパケットを受信した場合の通信処理部30(通信装置1)の動作例を示すフローチャートである。受信したRAパケットが6LoWPANのRAパケット(第1のRAパケット)ではない場合(ステップS11:No)、つまり、受信したパケットが第2のRAパケットの場合、次ホップ管理部35は、当該第2のRAパケットの送信元のIPv6アドレスを、デフォルトルータのIPv6アドレスとしてデフォルトルータ・リスト39に登録する(ステップS12)。なお、デフォルトルータ・リスト39に登録する際に、既に同じアドレスが登録されていた場合は、デフォルトルータとして使用してよい期間(RAパケットに含まれるルータ有効期間)をアップデートする。もし、有効期間がゼロのRAパケットを受信し、デフォルトルータ・リスト39にそのRAパケットの送信元のIPv6アドレスが登録されていた場合は、その登録を削除する。なお、プレフィックスオプションにも同様に有効期間(On−Linkの判定に利用できる期間)があり、ローカル用プレフィックスは、常にOn−Linkである。次に、次ホップ管理部35は、当該第2のRAパケットにより指定されたグローバル用のプレフィックスをプレフィックス・リスト37に登録する(ステップS13)。
一方、受信したRAパケットが6LoWPANのRAパケット(第1のRAパケット)である場合(ステップS11:Yes)、次ホップ管理部35は、当該第1のRAパケットの送信元のIPv6アドレスを、デフォルトルータのIPv6アドレスとしてデフォルトルータ・リスト39に登録せずに、当該第1のRAパケットにより指定されたグローバル用のプレフィックスをプレフィックス・リスト37に登録する(ステップS13)。
次に、受信したRAパケットが6LoWPANのRAパケット(第1のRAパケット)である場合(ステップS14:Yes)、次ホップ管理部35は、ルーティング・テーブル38に空きがあるか否かを判断する(ステップS15)。ルーティング・テーブル38に空きがない場合は(ステップS15:No)、ルーティング・テーブル38で一番古いエントリを削除する(ステップS16)。この例では、一番古いエントリを判断するために、次ホップ管理部35は、ルーティング・テーブル38の各エントリに対して「登録した時刻」を管理しており、エントリが使用された場合は、当該エントリの「登録した時刻」を「使用した時刻」で更新(アップデート)している。そして、ルーティング・テーブル38内の複数のエントリのうち「登録した時刻」が最も古いエントリを、削除するエントリとして選択する。なお、近隣キャッシュ41などの他のキャッシュについても同様に、空きがない場合は一番古いエントリを削除することができる。
ルーティング・テーブル38に空きがある場合(ステップS15:Yes)、または、上述のステップS16の後、次ホップ管理部35は、ルーティング・テーブル38の登録を行う(ステップS17)。上述したように、次ホップ管理部35は、第1のRAパケットの送信元のIPv6アドレスを、次ホップアドレスとしてルーティング・テーブル38に登録する。
ステップS17の後、近隣キャッシュ管理部40は、近隣キャッシュ41の登録を行う(ステップS18)。上述したように、近隣キャッシュ管理部40は、受信したRAパケットが第1のRAパケットの場合、当該第1のRAパケットの送信元のIPv6アドレスと、当該第1のRAパケットの送信元のリンク層アドレスとを少なくとも対応付けて近隣キャッシュ41に登録する。
一方、受信したRAパケットが6LoWPANのRAパケットではない場合(ステップS14:No)、つまり、受信したRAパケットが第2のRAパケットの場合、ルーティング・テーブル38の登録は行われず、近隣キャッシュ管理部40は、近隣キャッシュ41の登録を行う(ステップS18)。上述したように、近隣キャッシュ管理部40は、受信したRAパケットが第2のRAパケットの場合、当該第2のRAパケットの送信元のIPv6アドレスと、当該第2のRAパケットの送信元のリンク層アドレスとを少なくとも対応付けて近隣キャッシュ41に登録する。
なお、この例では、受信したRAパケットが第2のRAパケットの場合、ルーティング・テーブル38の登録は行われないが、これに限らず、例えば通信インターフェースごとに次ホップアドレスを指定したい場合、あるいは、複数ノードの宛先を、プレフィックス(具体的にはアドレスマスク長により規定されるビットの部分)に対応する1つの次ホップアドレスでまとめたい場合などに対応するために、受信したRAパケットが第2のRAパケットの場合であってもルーティング・テーブル38の登録を行うという形態であってもよい。
図6は、RAパケットを受信した場合の通信処理部30(通信装置1)のバリエーションの動作例を示すフローチャートである。図6の例では、受信したRAパケットが6LoWPANのRAパケット(第1のRAパケット)である場合(ステップS21:Yes)、次ホップ管理部35は、当該第1のRAパケットにより指定されたグローバル用のプレフィックスをプレフィックス・リスト37に登録する(ステップS22)。次に、次ホップ管理部35は、ルーティング・テーブル38に空きがあるか否かを判断する(ステップS23)。ルーティング・テーブル38に空きがない場合は(ステップS23:No)、ルーティング・テーブル38で一番古いエントリを削除する(ステップS24)。ルーティング・テーブル38に空きがある場合(ステップS23:Yes)、または、上述のステップS24の後、次ホップ管理部35は、ルーティング・テーブル38の登録を行う(ステップS25)。ステップS25の後、近隣キャッシュ管理部40は、近隣キャッシュ41の登録を行う(ステップS26)。
一方、受信したRAパケットが6LoWPANのRAパケットではない場合(ステップS21:No)、つまり、受信したパケットが第2のRAパケットの場合、次ホップ管理部35は、当該第2のRAパケットの送信元のIPv6アドレスを、デフォルトルータのIPv6アドレスとしてデフォルトルータ・リスト39に登録する(ステップS27)。次に、次ホップ管理部35は、当該第2のRAパケットにより指定されたグローバル用のプレフィックスをプレフィックス・リスト37に登録する(ステップS28)。ステップS28の後、近隣キャッシュ管理部40は、近隣キャッシュ41の登録を行う(ステップS29)。
以上に説明したように、本実施形態では、6LoWPANのRAパケット(第1のRAパケット)を除いたRAパケット(第2のRAパケット)を受信した場合に限り、当該第2のRAパケットの送信元のIPv6アドレスを、デフォルトルータのIPv6アドレスとしてデフォルトルータ・リスト39に登録する。すなわち、6LoWPANのRAパケット(第1のRAパケット)を受信した場合は、当該第1のRAパケットの送信元のIPv6アドレスをデフォルトルータ・リスト39に登録することはしない。これにより、6LoWPAN向けではない送信パケット(第2の送信パケット)の宛先アドレスに対する次ホップアドレスがルーティング・テーブル38内に明示的に存在せず、デフォルトルータ・リスト39に登録されたデフォルトルータのIPv6アドレスを次ホップアドレスとして決定する場合であっても、6LoWPAN向けのルータのIPv6アドレスが次ホップアドレスとして決定されることはない。したがって、パケット送信時の次ホップアドレスの決定で、6LoWPAN向けでないパケットが6LoWPAN向けのルータに送信されることを防ぐことができる。
また、例えば上述の終点キャッシュ36、プレフィックス・リスト37、デフォルトルータ・リスト39などを用いた次ホップアドレスの決定方法も、上述のルーティング・テーブル38のみを用いて実現する構成、すなわち次ホップアドレスの決定をルーティング・テーブル38のみで実現する構成も考えられるが、この構成では、フィールド数やエントリ数、CPUの検索コストを考慮すると、小さいメモリ領域、低性能のCPUを前提とした6LoWPANの通信装置では大きなボトルネックになってしまう。
これに対して、本実施形態では、ルーティング・テーブル38とは別に、上述の終点キャッシュ36、プレフィックス・リスト37、デフォルトルータ・リスト39を設けている。そして、6LoWPAN向けでない送信パケットの宛先アドレスに対する次ホップアドレスを決定する場合は、まず終点キャッシュ36を用いて次ホップアドレスの決定を行い、終点キャッシュ36を用いて次ホップアドレスを決定できなかった場合は、プレフィックス・リスト37を用いて次ホップアドレスの決定を行う。そして、プレフィックス・リスト37を用いて次ホップアドレスを決定できなかった場合は、ルーティング・テーブル38を用いて次ホップアドレスの決定を行い、ルーティング・テーブル38を用いて次ホップアドレスを決定できなかった場合は、最後にデフォルトルータ・リスト39を用いて次ホップアドレスの決定を行う。
ここで、次ホップアドレスの決定をルーティング・テーブル38のみで実現する構成では、例えばデフォルトルータのIPv6アドレスの管理において不要なフィールドに対して、無効であることを示す値を入れておく必要がある。これにより、ルーティング・テーブル38内の情報量が無駄に増大してしまう。これに対して、本実施形態では、ルーティング・テーブル38内の各フィールドには必要な情報のみが格納され、無効であることを示す値を格納する必要が無いので、次ホップアドレスの決定をルーティング・テーブル38のみで実現する構成に比べて、ルーティング・テーブル38のメモリ容量を低減することができる上、全体のメモリ容量も低減できる。
(第2実施形態)
次に、第2実施形態について説明する。上述の第1実施形態と共通する部分については適宜に説明を省略する。図7は、本実施形態の通信処理部30のハードェア構成の一例を示す図である。図7に示すように、通信処理部30は、6LoWPAN用次ホップリスト44をさらに備える。6LoWPAN用次ホップリスト44は、次ホップアドレスを構成する複数のビットよりも少ないビット数で表現可能な複数のインデックスごとに、6LoWPAN用の次ホップアドレスを対応付けて記憶する。この例では、6LoWPAN用次ホップリスト44は、請求項の「第6の記憶手段」に対応している。また、本実施形態では、ルーティング・テーブル38は、6LoWPAN用の宛先アドレスごとに、インデックスを対応付けて記憶する。
次に、第2実施形態について説明する。上述の第1実施形態と共通する部分については適宜に説明を省略する。図7は、本実施形態の通信処理部30のハードェア構成の一例を示す図である。図7に示すように、通信処理部30は、6LoWPAN用次ホップリスト44をさらに備える。6LoWPAN用次ホップリスト44は、次ホップアドレスを構成する複数のビットよりも少ないビット数で表現可能な複数のインデックスごとに、6LoWPAN用の次ホップアドレスを対応付けて記憶する。この例では、6LoWPAN用次ホップリスト44は、請求項の「第6の記憶手段」に対応している。また、本実施形態では、ルーティング・テーブル38は、6LoWPAN用の宛先アドレスごとに、インデックスを対応付けて記憶する。
図8は、ルーティング・テーブル38内の6LoWPAN用の次ホップアドレスに対応するフィールド(以下、「次ホップフィールド」と称する場合がある)を表す模式図である。図8の例では、次ホップフィールドの下位nビット(図8の例では8ビット)をインデックスとみなしている。図9に示すように、6LoWPAN用次ホップリスト44は、8ビットで表現可能な10進数の「0」〜「255」と1対1に対応する256個のインデックス(インデックス「0」〜インデックス「255」)ごとに、6LoWPAN用の次ホップアドレスを対応付けて記憶している。
本実施形態では、次ホップ管理部35は、6LoWPANの次ホップアドレス(6LoWPAN向けの送信パケットの宛先アドレスに対する次ホップアドレス)の決定の際に、ルーティング・テーブル38を検索して、6LoWPAN向けの送信パケット(第1の送信パケット)の宛先アドレスと一致する宛先アドレスがヒットした場合、当該宛先アドレスに対応するインデックスを特定し、6LoWPAN用次ホップリスト44を参照して、その特定したインデックスに対応付けられた次ホップアドレスを、第1の送信パケットの宛先アドレスに対する次ホップアドレスとして決定することができる。
ここで、対比例として、図10に示すように、それぞれが、宛先アドレスと次ホップアドレスとを少なくとも対応付けて記憶する複数(ここでは4つ)のルーティング・テーブル38a〜38dが設けられる構成を想定する。図10の例では、ルーティング・テーブル38aのDestination_IP_A[127:0]という宛先アドレス、ルーティング・テーブル38bのDestination_IP_B[127:0]という宛先アドレス、ルーティング・テーブル38cのDestination_IP_C[127:0]という宛先アドレス、および、ルーティング・テーブル38dのDestination_IP_D[127:0]という宛先アドレスの各々に対して、Next_Hop_IP_a[127:0]という次ホップアドレスが共通に対応付けられている。
対比例においては、例えばルーティング・テーブル38aのDestination_IP_A[127:0]という宛先アドレス、ルーティング・テーブル38bのDestination_IP_B[127:0]という宛先アドレス、ルーティング・テーブル38cのDestination_IP_C[127:0]という宛先アドレス、および、ルーティング・テーブル38dのDestination_IP_D[127:0]という宛先アドレスの各々に対して共通に対応する次ホップアドレスが、Next_Hop_IP_a[127:0]からNext_Hop_IP_f[127:0]に代わった場合、これら4つの宛先アドレスと1対1に対応する4つの次ホップフィールドを全て修正する必要がある。
これに対して、本実施形態では、図11に示すように、それぞれが、宛先アドレスと、インデックスを表現する複数のビットとを少なくとも対応付けて記憶する複数(ここでは4つ)のルーティング・テーブル38a〜38dが設けられるとともに、複数のインデックスごとに次ホップアドレスを対応付けて記憶する6LoWPAN用次ホップリスト44が設けられている。
図11の例では、ルーティング・テーブル38aのDestination_IP_A[127:0]という宛先アドレス、ルーティング・テーブル38bのDestination_IP_B[127:0]という宛先アドレス、ルーティング・テーブル38cのDestination_IP_C[127:0]という宛先アドレス、および、ルーティング・テーブル38dのDestination_IP_D[127:0]という宛先アドレスの各々に対して、インデックス「0」を表すNext_Hop_IP_0[127:0]が共通に対応付けられている。そして、修正前においては、6LoWPAN用次ホップリスト44のインデックス「0」に対応する次ホップアドレスとして、Next_Hop_IP_a[127:0]が対応付けられている。つまり、ルーティング・テーブル38aのDestination_IP_A[127:0]という宛先アドレス、ルーティング・テーブル38bのDestination_IP_B[127:0]という宛先アドレス、ルーティング・テーブル38cのDestination_IP_C[127:0]という宛先アドレス、および、ルーティング・テーブル38dのDestination_IP_D[127:0]という宛先アドレスの各々に対して、Next_Hop_IP_a[127:0]という次ホップアドレスが共通に対応付けられていると考えることができる。
本実施形態においては、例えばルーティング・テーブル38aのDestination_IP_A[127:0]という宛先アドレス、ルーティング・テーブル38bのDestination_IP_B[127:0]という宛先アドレス、ルーティング・テーブル38cのDestination_IP_C[127:0]という宛先アドレス、および、ルーティング・テーブル38dのDestination_IP_D[127:0]という宛先アドレスの各々に対して共通に対応する次ホップアドレスが、Next_Hop_IP_a[127:0]からNext_Hop_IP_f[127:0]に代わった場合、6LoWPAN用次ホップリスト44のインデックス「0」に対応する1つの次ホップアドレスを、Next_Hop_IP_a[127:0]からNext_Hop_IP_f[127:0]に修正するだけで済むので、対比例に比べて、CPUの処理負荷を低減することができる。
なお、本実施形態では、図12に示すように、6LoWPAN用次ホップリスト44はルーティング・テーブル38とは別に設けられているが、これに限らず、例えばルーティング・テーブル38は、6LoWPAN用次ホップリスト44を含んで構成される形態であってもよい。
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態および変形例にわたる構成要素を適宜組み合わせてもよい。
また、上述した通信装置1で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ROM等の不揮発性の記録媒体に予め組み込んで提供するように構成してもよい。
1 通信装置
10 CPU
20 メモリ
30 通信処理部
31 第1の通信インターフェース
32 第2の通信インターフェース
33 第3の通信インターフェース
34 パケット処理部
35 次ホップ管理部
36 終点キャッシュ
37 プレフィックス・リスト
38 ルーティング・テーブル
39 デフォルトルータ・リスト
40 近隣キャッシュ管理部
41 近隣キャッシュ
42 パケット送受信部
43 バッファ
44 6LoWPAN用次ホップリスト
10 CPU
20 メモリ
30 通信処理部
31 第1の通信インターフェース
32 第2の通信インターフェース
33 第3の通信インターフェース
34 パケット処理部
35 次ホップ管理部
36 終点キャッシュ
37 プレフィックス・リスト
38 ルーティング・テーブル
39 デフォルトルータ・リスト
40 近隣キャッシュ管理部
41 近隣キャッシュ
42 パケット送受信部
43 バッファ
44 6LoWPAN用次ホップリスト
Claims (17)
- 複数の通信インターフェースを有する通信装置であって、
パケットの宛先のIPv6アドレスを表す宛先アドレスと、パケットの次の転送先を示す次ホップのIPv6アドレスを表す次ホップアドレスとを少なくとも対応付けて記憶する第1の記憶手段と、
前記第1の記憶手段を用いて前記次ホップアドレスを決定できなかった場合のパケットの転送先となるデフォルトルータのIPv6アドレスを記憶する第2の記憶手段と、
6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)のRA(Router Advertisement)パケットを表す第1のRAパケットを除いたRAパケットを表す第2のRAパケットを受信した場合に、前記第2のRAパケットの送信元のIPv6アドレスを、前記デフォルトルータのIPv6アドレスとして前記第2の記憶手段に登録する第1の登録手段と、を備える、
通信装置。 - 前記第1の登録手段は、前記第1のRAパケットを受信した場合は、前記第1のRAパケットの送信元のIPv6アドレスを前記第2の記憶手段に登録しない、
請求項1に記載の通信装置。 - 送信用のパケットを示す送信パケットを生成する生成手段と、
前記送信パケットの前記宛先アドレスに対する前記次ホップアドレスを決定する第1の決定手段と、をさらに備える、
請求項1または2に記載の通信装置。 - 前記第1の決定手段は、
6LoWPAN向けではない前記送信パケットである第2の送信パケットの前記宛先アドレスに対する前記次ホップアドレスを決定するたびに、前記第2の送信パケットの前記宛先アドレスと、決定した前記次ホップアドレスとを対応付けて第3の記憶手段に記憶させる、
請求項3に記載の通信装置。 - 前記第1の決定手段は、前記生成手段により前記第2の送信パケットが生成された場合、前記第3の記憶手段を用いて、前記第2の送信パケットの前記宛先アドレスに対する前記次ホップアドレスを決定する、
請求項4に記載の通信装置。 - リンクローカルアドレスのプレフィックスを少なくとも記憶する第4の記憶手段をさらに備え、
前記第1の決定手段は、前記第2の送信パケットの前記宛先アドレスと一致する前記宛先アドレスが前記第3の記憶手段に存在する場合は、前記第2の送信パケットの前記宛先アドレスと一致する前記宛先アドレスに対応付けられた前記次ホップアドレスを、前記第2の送信パケットの前記宛先アドレスに対する前記次ホップアドレスとして決定する一方、前記第2の送信パケットの前記宛先アドレスと一致する前記宛先アドレスが前記第3の記憶手段に存在しない場合は、前記第4の記憶手段を用いて、前記第2の送信パケットの前記宛先アドレスに対する前記次ホップアドレスを決定する、
請求項5に記載の通信装置。 - 前記第1の決定手段は、前記第2の送信パケットの前記宛先アドレスに含まれる、ネットワークを識別するためのプレフィックスと、前記第4の記憶手段に記憶されたプレフィックスとが一致し、かつ、前記第4の記憶手段に記憶されたプレフィックスに対して、プリフィックスがリンク上にあることを示すOn−Linkフラグが設定されている場合は、前記第2の送信パケットの前記宛先アドレスを前記次ホップアドレスとして決定する一方、前記第2の送信パケットの前記宛先アドレスに含まれるプレフィックスと、前記第4の記憶手段に記憶されたプレフィックスと、が一致しない場合、または、前記On−Linkフラグが設定されていない場合は、前記第1の記憶手段を用いて、前記第2の送信パケットの前記宛先アドレスに対する前記次ホップアドレスを決定する、
請求項6に記載の通信装置。 - 前記第1の決定手段は、前記第2の送信パケットの前記宛先アドレスと一致する前記宛先アドレスが前記第1の記憶手段に存在する場合は、前記第2の送信パケットの前記宛先アドレスと一致する前記宛先アドレスに対応付けられた前記次ホップアドレスを、前記第2の送信パケットの前記宛先アドレスに対する前記次ホップアドレスとして決定し、前記第2の送信パケットの前記宛先アドレスと一致する前記宛先アドレスが前記第1の記憶手段に存在しない場合は、前記第2の記憶手段に記憶された前記デフォルトルータのIPv6アドレスを、前記第2の送信パケットの前記宛先アドレスに対する前記次ホップアドレスとして決定する、
請求項7に記載の通信装置。 - 前記第1の決定手段は、前記生成手段によって6LoWPAN向けの前記送信パケットである第1の送信パケットが生成された場合は、前記第1の記憶手段を参照して、前記第1の送信パケットの前記宛先アドレスと一致する前記宛先アドレスに対応付けられた前記次ホップアドレスを、前記第1の送信パケットの前記宛先アドレスに対する前記次ホップアドレスとして決定する、
請求項2乃至8のうちの何れか1項に記載の通信装置。 - 前記第1の決定手段により前記次ホップアドレスが決定された場合、IPv6アドレスとリンク層アドレスとを少なくとも対応付けた第5の記憶手段を参照し、前記決定手段により決定された前記次ホップアドレスと一致するIPv6アドレスに対応付けられたリンク層アドレスを決定する第2の決定手段と、
前記第2の決定手段により決定されたリンク層アドレスを用いて前記送信パケットを送信する制御を行う送信制御手段と、をさらに備える、
請求項2乃至9のうちの何れか1項に記載の通信装置。 - 前記第1の登録手段は、前記第1のRAパケットを受信した場合は、前記第1のRAパケットの送信元のIPv6アドレスを、前記次ホップアドレスとして前記第1の記憶手段に登録する、
請求項1乃至10のうちの何れか1項に記載の通信装置。 - 前記第1のRAパケットを受信した場合は、前記第1のRAパケットの送信元のIPv6アドレスと、前記第1のRAパケットの送信元のリンク層アドレスとを少なくとも対応付けて第5の記憶手段に登録する第2の登録手段をさらに備える、
請求項1乃至11のうちの何れか1項に記載の通信装置。 - 前記第2のRAパケットを受信した場合は、前記第2のRAパケットの送信元のIPv6アドレスと、前記第2のRAパケットの送信元のリンク層アドレスとを少なくとも対応付けて第5の記憶手段に登録する第2の登録手段をさらに備える、
請求項1乃至11のうちの何れか1項に記載の通信装置。 - 前記次ホップアドレスを構成する複数のビットよりも少ないビット数で表現可能な複数のインデックスごとに、6LoWPAN用の前記次ホップアドレスを対応付けて記憶する第6の記憶手段をさらに備え、
前記第1の記憶手段は、6LoWPAN用の前記宛先アドレスごとに、前記インデックスを表現する複数のビットを対応付けて記憶する、
請求項1乃至13のうちの何れか1項に記載の通信装置。 - 前記第1の記憶手段は前記第6の記憶手段を含む、
請求項14に記載の通信装置。 - 6LoWPANのRAパケットを表す第1のRAパケットを除いたRAパケットを表す第2のRAパケットを受信した場合に、前記第2のRAパケットの送信元のIPv6アドレスを、パケットの宛先のIPv6アドレスを表す宛先アドレスと、パケットの次の転送先を示す次ホップのIPv6アドレスを表す次ホップアドレスと、を少なくとも対応付けて記憶する第1の記憶手段を用いて前記次ホップアドレスを決定できなかった場合のパケットの転送先となるデフォルトルータのIPv6アドレスとして、前記デフォルトルータのIPv6アドレスを記憶する第2の記憶手段に登録する登録ステップを含む、
通信方法。 - コンピュータに、
6LoWPANのRAパケットを表す第1のRAパケットを除いたRAパケットを表す第2のRAパケットを受信した場合に、前記第2のRAパケットの送信元のIPv6アドレスを、パケットの宛先のIPv6アドレスを表す宛先アドレスと、パケットの次の転送先を示す次ホップのIPv6アドレスを表す次ホップアドレスと、を少なくとも対応付けて記憶する第1の記憶手段を用いて前記次ホップアドレスを決定できなかった場合のパケットの転送先となるデフォルトルータのIPv6アドレスとして、前記デフォルトルータのIPv6アドレスを記憶する第2の記憶手段に登録する登録ステップを実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014213694A JP2016082479A (ja) | 2014-10-20 | 2014-10-20 | 通信装置、通信方法およびプログラム |
US14/882,498 US9979643B2 (en) | 2014-10-20 | 2015-10-14 | Communication apparatus, communication method, and computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014213694A JP2016082479A (ja) | 2014-10-20 | 2014-10-20 | 通信装置、通信方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016082479A true JP2016082479A (ja) | 2016-05-16 |
Family
ID=55749960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014213694A Pending JP2016082479A (ja) | 2014-10-20 | 2014-10-20 | 通信装置、通信方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9979643B2 (ja) |
JP (1) | JP2016082479A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10050840B2 (en) * | 2015-11-23 | 2018-08-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for an internet of things (IOT) device access in a software-defined networking (SDN) system |
JP6904846B2 (ja) * | 2017-08-07 | 2021-07-21 | キヤノン株式会社 | 通信装置、通信装置の制御方法、および、プログラム |
US11785119B2 (en) * | 2018-10-02 | 2023-10-10 | Google Llc | Cloud-based microservices system |
US10939471B2 (en) | 2019-06-13 | 2021-03-02 | David E. Newman | Managed transmission of wireless DAT messages |
US11206092B1 (en) | 2020-11-13 | 2021-12-21 | Ultralogic 5G, Llc | Artificial intelligence for predicting 5G network performance |
US11202198B1 (en) * | 2020-12-04 | 2021-12-14 | Ultralogic 5G, Llc | Managed database of recipient addresses for fast 5G message delivery |
US11516131B2 (en) * | 2021-02-09 | 2022-11-29 | Ciena Corporation | Least common scope address selection systems and methods |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100514742B1 (ko) * | 2003-02-06 | 2005-09-14 | 삼성전자주식회사 | 통합 캐시를 이용하여 다음 홉 주소를 결정하는 장치 및 방법 |
JP4556761B2 (ja) | 2005-05-06 | 2010-10-06 | 株式会社日立製作所 | パケット転送装置 |
EP1764970A1 (en) * | 2005-09-19 | 2007-03-21 | Matsushita Electric Industrial Co., Ltd. | Multiple interface mobile node with simultaneous home- and foreign network connection |
US8312541B2 (en) * | 2007-07-17 | 2012-11-13 | Cisco Technology, Inc. | Detecting neighbor discovery denial of service attacks against a router |
US8724490B2 (en) * | 2010-10-21 | 2014-05-13 | General Electric Company | Zigbee IP/6LowPan router |
CN102457900B (zh) | 2010-11-03 | 2016-03-23 | 上海贝尔股份有限公司 | 传输基于IPv6低功耗无线个域网数据包的方法和装置 |
EP2661867A1 (en) * | 2011-01-03 | 2013-11-13 | Nokia Solutions and Networks Oy | Router advertisement for multiple stack scenario |
CN105453662B (zh) * | 2013-07-12 | 2021-06-11 | 康维达无线有限责任公司 | 用于支持休眠节点的邻居发现 |
-
2014
- 2014-10-20 JP JP2014213694A patent/JP2016082479A/ja active Pending
-
2015
- 2015-10-14 US US14/882,498 patent/US9979643B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9979643B2 (en) | 2018-05-22 |
US20160112315A1 (en) | 2016-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6386468B2 (ja) | Ipルーティング互換のためのネットワークノードのパケットフォーマットと通信方法及びそのネットワークノード | |
JP2016082479A (ja) | 通信装置、通信方法およびプログラム | |
JP2022091781A (ja) | パケットを転送するための方法およびネットワークデバイス | |
JP5377770B2 (ja) | ネームアドレスマッピングシステム、データ伝送方法及びネームアドレスマッピングメンテナンス方法 | |
JP6085263B2 (ja) | 中継ノード及び経路制御方法 | |
US9178818B2 (en) | Communication apparatus | |
EP2835942A1 (en) | Dynamic interest forwarding mechanism for information centric networking | |
JP2010178343A (ja) | コンピュータ実施方法 | |
JP2020520612A (ja) | パケット伝送方法、エッジデバイス及び機械可読記憶媒体 | |
JP6195014B2 (ja) | 通信システム、通信方法、中継装置、および、通信プログラム | |
JP7403635B2 (ja) | Srネットワークでパケットを転送するための方法、装置、及びシステム | |
JP6098192B2 (ja) | アドレス生成装置 | |
EP3200404B1 (en) | Content-centric network on-demand distance vector route method | |
JP2016509822A (ja) | イーサネットパケットの転送 | |
WO2021063379A1 (zh) | 路由控制方法和装置 | |
JP7385035B2 (ja) | 転送エントリを処理するための方法及び装置 | |
JP2006191636A (ja) | ネットワークルーティング制御方法及びその装置 | |
JP6662195B2 (ja) | 情報セントリックネットワーキングにおけるインテリジェント・ルーティング | |
US20220337519A1 (en) | Information centric network routing | |
US20220150167A1 (en) | Bier packet processing method, network device, and system | |
US20100080169A1 (en) | Hierarchical mobility label-based network | |
WO2022062956A1 (zh) | 一种流量处理方法、装置和网络设备 | |
JP2015220699A (ja) | キャッシュノードの探索方法 | |
JP2023547485A (ja) | 次ホップ決定方法および装置 | |
JP5022412B2 (ja) | 経路情報管理システム、経路情報管理方法、およびプログラム |