(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121326
(43)【公開日】2024-09-06
(54)【発明の名称】通信装置及び通信方法
(51)【国際特許分類】
H04L 61/255 20220101AFI20240830BHJP
H04L 61/5076 20220101ALI20240830BHJP
【FI】
H04L61/255
H04L61/5076
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023028366
(22)【出願日】2023-02-27
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100116964
【弁理士】
【氏名又は名称】山形 洋一
(74)【代理人】
【識別番号】100120477
【弁理士】
【氏名又は名称】佐藤 賢改
(74)【代理人】
【識別番号】100135921
【弁理士】
【氏名又は名称】篠原 昌彦
(74)【代理人】
【氏名又は名称】半田 淳一
(72)【発明者】
【氏名】池田 将也
(57)【要約】
【課題】MACアドレスがランダムに変更されても、MACアドレスフィルタリング機能において、MACアドレスを登録した通信機器からのデータを受信できるようにすること。
【解決手段】
画像形成装置110は、通信を許可する通信機器のMACアドレスである登録MACアドレス及びその通信機器の識別情報を示すMACフィルタリング登録情報を記憶するMACフィルタリング登録情報記憶部113と、ネットワークから通信パケットを受信する通信部111と、MACフィルタリング登録情報を参照して、通信パケットの送信元MACアドレスが、登録MACアドレスと一致するか否かによりフィルタリングを行うとともに、通信機器の識別情報を用いて、登録MACアドレスを更新する制御部118とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
通信を許可する通信機器のMACアドレスである登録MACアドレス及び前記通信機器の識別情報を示すMACフィルタリング登録情報を記憶する記憶部と、
ネットワークから通信パケットを受信する通信部と、
前記MACフィルタリング登録情報を参照して、前記通信パケットの送信元MACアドレスが、前記登録MACアドレスと一致するか否かによりフィルタリングを行うMACフィルタ処理部と、
前記識別情報を用いて、前記登録MACアドレスを更新するMACフィルタ制御部と、を備えること
を特徴とする通信装置。
【請求項2】
前記MACフィルタリング登録情報には、前記登録MACアドレスがランダムに変更される特性を有するランダムMACアドレスである場合に、前記識別情報が含まれており、
前記MACフィルタ制御部は、前記登録MACアドレスが前記ランダムMACアドレスである場合に、前記識別情報を用いて、前記登録MACアドレスを更新すること
を特徴とする請求項1に記載の通信装置。
【請求項3】
前記MACフィルタリング登録情報には、前記登録MACアドレスがランダムに変更される特性を有するランダムMACアドレスであり、かつ、前記通信機器のユーザが前記識別情報の使用を許可した場合に、前記識別情報が含まれており、
前記MACフィルタ制御部は、前記登録MACアドレスが前記ランダムMACアドレスである場合に、前記識別情報を用いて、前記登録MACアドレスを更新すること
を特徴とする請求項1に記載の通信装置。
【請求項4】
前記MACフィルタ制御部は、前記通信部を介して、前記識別情報を用いた要求を前記ネットワークへ送り、前記通信部を介して、前記要求への応答を受け取ることにより、前記登録MACアドレスを更新するために、ランダムに変更されたMACアドレスを取得すること
を特徴とする請求項1から3の何れか一項に記載の通信装置。
【請求項5】
前記MACフィルタ処理部は、前記送信元MACアドレスが前記登録MACアドレスと一致せず、かつ、前記送信元MACアドレスが前記ランダムMACアドレスである場合に、前記送信元MACアドレスを前記記憶部に一時的に記憶し、
前記MACフィルタ制御部は、前記記憶部に一時的に前記送信元MACアドレスが記憶された場合に、前記通信部を介して、前記要求を前記ネットワークに送ること
を特徴とする請求項4に記載の通信装置。
【請求項6】
前記MACフィルタ制御部は、前記取得されたMACアドレスが前記記憶部に一時的に記憶された前記送信元MACアドレスと一致する場合に、前記記憶部に一時的に記憶された前記送信元MACアドレスで前記登録MACアドレスを置き換えること
を特徴とする請求項5に記載の通信装置。
【請求項7】
ネットワークから通信パケットを受信し、
通信を許可する通信機器のMACアドレスである登録MACアドレス及び前記通信機器の識別情報を示すMACフィルタリング登録情報を参照して、前記通信パケットの送信元MACアドレスが、前記登録MACアドレスと一致するか否かによりフィルタリングを行い、
前記識別情報を用いて、前記登録MACアドレスを更新すること
を特徴とする通信方法。
【請求項8】
前記MACフィルタリング登録情報には、前記登録MACアドレスがランダムに変更される特性を有するランダムMACアドレスである場合に、前記識別情報が含まれており、
前記登録MACアドレスが前記ランダムMACアドレスである場合に、前記識別情報を用いて、前記登録MACアドレスが更新されること
を特徴とする請求項7に記載の通信方法。
【請求項9】
前記MACフィルタリング登録情報には、前記登録MACアドレスがランダムに変更される特性を有するランダムMACアドレスであり、かつ、前記通信機器のユーザが前記識別情報の使用を許可した場合に、前記識別情報が含まれており、
前記登録MACアドレスが前記ランダムMACアドレスである場合に、前記識別情報を用いて、前記登録MACアドレスが更新されること
を特徴とする請求項7に記載の通信方法。
【請求項10】
前記登録MACアドレスを更新する際に、前記識別情報を用いた要求を前記ネットワークへ送り、前記要求への応答を受け取ることにより、ランダムに変更されたMACアドレスが取得されること
を特徴とする請求項7から8の何れか一項に記載の通信方法。
【請求項11】
前記送信元MACアドレスが前記登録MACアドレスと一致せず、かつ、前記送信元MACアドレスが前記ランダムMACアドレスである場合に、前記送信元MACアドレスが一時的に記憶され、
一時的に前記送信元MACアドレスが記憶された場合に、前記要求が前記ネットワークに送られること
を特徴とする請求項10に記載の通信方法。
【請求項12】
前記取得されたMACアドレスが一時的に記憶された前記送信元MACアドレスと一致する場合に、一時的に記憶された前記送信元MACアドレスで前記登録MACアドレスが置き換えられること
を特徴とする請求項11に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信装置及び通信方法に関する。
【背景技術】
【0002】
MACアドレスを用いたフィルタリングを行うMACアドレスフィルタリング機能を備えることで、登録されたMACアドレスを用いる通信機器の通信の許可する通信装置が使用されている(例えば、特許文献1を参照)。
【0003】
また、セキュリティ性能を高めるため、近年、通信機器のMACアドレスをランダムに変更するMACアドレスランダム化機能を備える通信機器が使用されてきている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、通信が許可されるように登録されていたMACアドレスが、MACアドレスランダム化機能によって変更されてしまうと、MACアドレスを登録していた通信機器からのデータを受信することができなくなる。
【0006】
そこで、本開示の一又は複数の態様は、MACアドレスがランダムに変更されても、MACアドレスフィルタリング機能において、MACアドレスを登録した通信機器からのデータを受信できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様に係る通信装置は、通信を許可する通信機器のMACアドレスである登録MACアドレス及び前記通信機器の識別情報を示すMACフィルタリング登録情報を記憶する記憶部と、ネットワークから通信パケットを受信する通信部と、前記MACフィルタリング登録情報を参照して、前記通信パケットの送信元MACアドレスが、前記登録MACアドレスと一致するか否かによりフィルタリングを行うMACフィルタ処理部と、前記識別情報を用いて、前記登録MACアドレスを更新するMACフィルタ制御部と、を備えることを特徴とする。
【0008】
本開示の一態様に係る通信方法は、ネットワークから通信パケットを受信し、通信を許可する通信機器のMACアドレスである登録MACアドレス及び前記通信機器の識別情報を示すMACフィルタリング登録情報を参照して、前記通信パケットの送信元MACアドレスが、前記登録MACアドレスと一致するか否かによりフィルタリングを行い、前記識別情報を用いて、前記登録MACアドレスを更新することを特徴とする。
【発明の効果】
【0009】
本開示の一又は複数の態様によれば、MACアドレスがランダムに変更されても、MACアドレスフィルタリング機能において、MACアドレスを登録した通信機器からのデータを受信することができる。
【図面の簡単な説明】
【0010】
【
図1】通信システムの接続構成例を示すブロック図である。
【
図2】実施の形態に係る画像形成装置の構成を概略的に示すブロック図である。
【
図3】MACフィルタリング登録情報の一例を示す概略図である。
【
図4】通信部及び制御部の構成を概略的に示すブロック図である。
【
図5】ランダムMACアドレスの仕様を説明するための概略図である。
【
図7】(A)及び(B)は、ハードウェア構成例を示すブロック図である。
【
図8】MACフィルタ処理部が、IP通信処理部から通信パケットを受け取った際の処理のフローチャートである。
【
図9】一時記憶部に通信パケットの送信元のMACアドレスが記憶された際のMACフィルタ制御部の動作を示すフローチャートである。
【
図10】NBNSクエリの送信処理が行われた後に、IP通信処理部から通信パケットを受け取ったMACフィルタ処理部の動作を示すフローチャートである。
【
図11】通信パケットの構造を説明するための概略図である。
【
図12】ソケット通信処理部からMACフィルタ制御部にデータが与えられた際の、MACフィルタ制御部の動作を示すフローチャートである。
【
図13】MACフィルタリング登録情報の更新例を示す概略図である。
【
図14】通信機器のMACアドレスがMACフィルタリング登録情報に登録された後、そのMACアドレスがランダムに変更されて、画像形成装置に印刷要求をした際の、通信機器と、画像形成装置との間の通信を示すシーケンス図である。
【発明を実施するための形態】
【0011】
図1は、実施の形態に係る画像形成装置110を備える通信システム100の接続構成例を示すブロック図である。
通信システム100は、画像形成装置110と、通信機器130Aと、通信機器130Bとを備える。ここでは、画像形成装置110は、通信装置として機能する。
【0012】
画像形成装置110、通信機器130A及び通信機器130Bは、同一のネットワーク101に接続されている。
また、画像形成装置110は、MACアドレスフィルタリング機能を備えている。
通信機器130Aは、通信を行うための設定情報131Aを有し、通信機器130Bは、通信を行うための設定情報131Bを有する。
なお、以下では、通信機器130A及び通信機器130Bを特に区別する必要がない場合には、通信機器130A及び通信機器130Bの各々を、通信機器130という。
また、
図1では、二つの通信機器130が示されているが、通信機器130の数は、二つに限定されるものではなく、通信システム100は、三つ以上の通信機器を備えていてもよい。
【0013】
設定情報131Aは、通信機器130AのMACアドレスと、NetBIOS名とを含んでいる。
設定情報131Bは、通信機器130BのMACアドレスと、NetBIOS名とを含んでいる。
ここで、通信機器130のMACアドレスは、固有の値ではなく、公知の技術により、ランダムに変更される特性を有している。MACアドレスが変更されるタイミングは、OS(Operating System)又は通信機器130のメーカー等によって異なる。例えば、24時間毎にMACアドレスをランダムに変更する通信機器130がある。
以下、ランダムに変更される特性を有するMACアドレスをランダムMACアドレスという。
【0014】
図2は、実施の形態に係る画像形成装置110の構成を概略的に示すブロック図である。
画像形成装置110は、通信部111と、記憶部112と、表示部115と、入力部116と、画像形成部117と、制御部118とを備える。
【0015】
通信部111は、無線又は有線により、ネットワーク101を介した通信を行う。
例えば、通信部111は、ネットワーク101から通信パケットを受信する。また、通信部111は、NetBIOS名を使用した要求であるNBNS(NetBIOS Naming Service)クエリをネットワーク101に送信する。さらに、通信部111は、NBNSクエリへの応答であるNBNSリプライをネットワーク101から受信する。
【0016】
記憶部112は、画像形成装置110での処理に必要な情報を記憶する。
ここで、記憶部112は、MACフィルタリング登録情報記憶部113と、一時記憶部114とを備える。
【0017】
MACフィルタリング登録情報記憶部113は、MACフィルタリング登録情報を記憶する。
図3は、MACフィルタリング登録情報の一例を示す概略図である。
図3に示されているMACフィルタリング登録情報113aは、ナンバー列113bと、MACアドレス列113cと、NetBIOS列113dと、拒否フラグ列113eとを備えるテーブル形式の情報である。
【0018】
ナンバー列113bは、各々の行を識別するための識別番号を格納する。
MACアドレス列113cは、データを受信する通信機器130のMACアドレスを登録する。ここで、MACフィルタリング登録情報に登録されているMACアドレスを登録MACアドレスともいう。
【0019】
NetBIOS列113dは、NetBIOS名を格納する。ここでは、同じ行のMACアドレス列113cに登録されたMACアドレスがランダムに変更されるMACアドレスであり、かつ、同じ行のMACアドレス列113cに登録されたMACアドレスを有する通信機器130のユーザがNetBIOS名を使用することを許可した場合に、NetBIOS名が格納される。
【0020】
拒否フラグ列113eは、同じ行のMACアドレス列113cに登録されたMACアドレスを有する通信機器130のユーザが、NetBIOS名の使用を拒否した場合に、NetBios名の使用が拒否されたことを示すフラグである拒否フラグとしてONを格納する。
図3では、そのようなフラグが格納されていないため、拒否フラグ列113eは、空欄となっている。
【0021】
以上のように、MACフィルタリング登録情報113aは、通信を許可する通信機器130のMACアドレスである登録MACアドレスと、その通信機器130の識別情報であるNetBIOS名とを示す。さらに、MACフィルタリング登録情報113aは、通信機器130の識別情報であるNetBIOS名を使用することを許可するか否かの情報である拒否フラグも示す。
【0022】
図2に戻り、一時記憶部114は、NetBIOS名の初期登録又はMACアドレスの更新に使用するために、MACアドレスを一時的に記憶する。
【0023】
表示部115は、各種画面を表示する。例えば、表示部115は、ユーザに画像形成装置110の状態等を示す。
入力部116は、各種指示の入力を受け付ける。例えば、入力部116は、ユーザが画像を形成するための値、登録するMACアドレス等の入力を受け付ける。
画像形成部117は、媒体に画像を形成する印刷部である。
制御部118は、画像形成装置110での処理を制御する。
【0024】
図4は、通信部111及び制御部118の構成を概略的に示すブロック図である。
通信を行う際のTCP/IP(Transmission Control Protocol/Internet Protocol)階層構造に従い、通信部111は、ネットワークインターフェース層としての処理を行い、制御部118は、インターネット層、トランスポート層及びアプリケーション層としての処理を行う。
【0025】
制御部118は、インターネット層の処理を行うIP通信処理部119と、インターネット層とトランスポート層との間に配置されたMACフィルタ処理部120と、トランスポート層の処理を行うソケット通信処理部121と、アプリケーション層に含まれるMACフィルタ制御部122とを備える。
【0026】
MACフィルタ制御部122は、表示部115及び入力部116を介して、MACフィルタリング登録情報に登録するMACアドレスの入力を受ける。
そして、MACフィルタ制御部122は、入力されたMACアドレスがランダムMACアドレスであるか否かを判断する。
【0027】
さらに、MACフィルタ制御部122は、通信機器130の識別情報であるNetBIOS名を用いて、MACフィルタリング登録情報に登録されているMACアドレスである登録MACアドレスを更新する。
ここでは、MACフィルタ制御部122は、登録MACアドレスがランダムMACアドレスであり、かつ、通信機器130のユーザがNetBIOS名の使用を許可した場合に、登録MACアドレスを更新する。
なお、通信機器130のユーザによる、NetBIOS名の使用の許可を不要にして、MACフィルタ制御部122は、登録MACアドレスがランダムMACアドレスである場合に、登録MACアドレスを更新するようにしてもよい。
【0028】
図5は、ランダムMACアドレスの仕様を説明するための概略図である。
MACアドレスの最初の1オクテットには「G/Lビット」及び「I/Gビット」が定義されている。
ランダムMACアドレスではなく、機器固有のMACアドレスの場合、これらのビットがそれぞれ「0」及び「0」となっている。
これに対し、ランダムMACアドレスではI/Gビットは「0」、G/Lビットは「1」と定義されている。
【0029】
図5に示されているように、最初の1オクテットを二進数で表記すると「b7」、「b6」、「b5」、「b4」、「b3」、「b2」、「b1」及び「b0」となる。この最初の1オクテットを16進数で表す場合、一文字目は、「b7」、「b6」、「b5」及び「b4」となり、二文字目は、「b3」、「b2」、「b1」及び「b0」となる。
【0030】
「G/Lビット」及び「I/Gビット」は、それぞれ、その二文字目の「b1」及び「b0」に該当し、上記のように「01」と定義されている。
このため、二文字目の残りの二ビットの組み合わせにより、最初の1オクテットの二文字目は、「0010」、「0110」、「1010」又は「1110」となる。この二文字目を16進数に変換すると、「2」、「6」、「A」又は「E」となる。
以上から、最初のオクテットの二文字目が「2」、「6」、「A」又は「E」である場合には、そのMACアドレスをランダムMACアドレスであると判定することができる。
【0031】
図4に戻り、MACフィルタ制御部122は、入力されたMACアドレスがランダムMACアドレスである場合には、表示部115に、登録されるMACアドレスがランダムに変更され、MACアドレスのフィルタリングにより通信が拒否されてしまう可能性があり、NetBIOS名を登録することで、通信の拒否を回避できることを通知するための通知画面を表示させる。そして、MACフィルタ制御部122は、入力部116を介して、ユーザからNetBIOS名を使用するか否かの指示の入力を受ける。
【0032】
例えば、MACフィルタ制御部122は、
図6に示されているような通知画面102を表示部115に表示させる。
そして、MACフィルタ制御部122は、ユーザが、入力部116を介して、登録入力領域102aを選択した実行指示を入力した場合には、ユーザがNetBIOS名を使用することを許可したと判断し、拒否入力領域102bを選択した実行指示を入力した場合には、ユーザがNetBIOS名の使用を拒否したものと判断する。
なお、MACフィルタ制御部122は、上記のように、ユーザがNetBIOS名の使用を拒否した場合には、登録フィルタリング登録情報において、登録されたMACアドレスを格納する行の、距離フラグ列に、拒否フラグの「ON」を格納する。
【0033】
MACフィルタリング登録情報に新たにMACアドレスを登録した際は、そのMACアドレスを使用している通信機器130のNetBIOS名は、MACフィルタリング登録情報には登録されていない。MACフィルタ制御部122は、その通信機器130がネットワーク101に参加したタイミングでNetBIOS名を通信パケットから取得して、MACフィルタリング登録情報に登録する。この処理については、後述する。
【0034】
言い換えると、MACフィルタリング登録情報には、登録MACアドレスがランダムMACアドレスであり、かつ、通信機器130のユーザがNetBIOS名の使用を許可した場合に、NetBIOS名が含まれる。
なお、NetBIOS名の使用に対するユーザからの許可を不要としてもよい。この場合には、MACフィルタリング登録情報には、登録MACアドレスがランダムMACアドレスであれば、NetBIOS名が含まれる。
【0035】
さらに、MACフィルタ制御部122は、登録MACアドレスの更新を行う。
例えば、MACフィルタ制御部122は、通信部111を介して、NetBIOS名を用いた要求をネットワーク101へ送り、通信部111を介して、その要求への応答を受け取ることにより、登録MACアドレスを更新するために、ランダムに変更されたMACアドレスを取得する。
例えば、MACフィルタ制御部122は、一時記憶部114に一時的に送信元MACアドレスが記憶された場合に、通信部111を介して、その要求をネットワーク101に送る。後述するように、MACフィルタ処理部120は、通信パケットの送信元MACアドレスが登録MACアドレスと一致せず、かつ、その送信元MACアドレスがランダムMACアドレスである場合に、送信元MACアドレスを一時記憶部114に一時的に記憶する。
そして、MACフィルタ制御部122は、上記のようにして取得されたMACアドレスが一時記憶部114に一時的に記憶された送信元MACアドレスと一致する場合に、一時記憶部114に一時的に記憶された送信元MACアドレスで登録MACアドレスを置き換える。
【0036】
通信部111は、通信パケットの送受信を行う。
通信部111は、物理デバイス部111aと、ドライバ部111bとを備える。
【0037】
物理デバイス部111aは、ネットワーク101との間で、通信パケットの信号を送受信する。例えば、物理デバイス部111aは、ドライバ部111bで処理されたイーサネットヘッダを含む通信パケットを信号に変換して、ネットワーク101に送信する。また、物理デバイス部111aは、ネットワーク101から受信された信号を、通信パケットに変換する。
【0038】
ドライバ部111bは、通信パケットのイーサネットヘッダの部分を処理する。例えば、ドライバ部111bは、IP通信処理部119からのIPパケットにイーサネットヘッダを付加することで、通信パケットを生成し、その通信パケットを物理デバイス部111aに与える。また、ドライバ部111bは、物理デバイス部111aからの通信パケットのイーサネットヘッダを処理し、イーサネットヘッダが付いたままの通信パケットをIP通信処理部119に与える。
【0039】
IP通信処理部119は、IPヘッダの部分を処理する。0例えば、IP通信処理部119は、ソケット通信処理部121からのパケットにIPヘッダを付加することでIPパケットを生成し、そのIPパケットを通信部111に与える。また、IP通信処理部119は、通信部111からの通信パケットに含まれているIPヘッダを処理して、IPヘッダが付加されたままの通信パケットをMACフィルタ処理部120に与える。
【0040】
MACフィルタ処理部120は、IP通信処理部119から通信パケットを受け取り、MACフィルタリング登録情報記憶部113に記憶されているMACフィルタリング登録情報を参照して、MACフィルタリングを行う。例えば、MACフィルタ処理部120は、MACフィルタリング登録情報を参照して、通信パケットの送信元MACアドレスが、登録MACアドレスと一致するか否かによりフィルタリングを行う。ここでの処理については、後述する。
【0041】
なお、MACフィルタ処理部120は、MACフィルタリングで通信が許可されている送信元MACアドレスが含まれている通信パケットについては、イーサネットヘッダ及びIPヘッダを除いた部分をパケットとして、ソケット通信処理部121に与える。
【0042】
ソケット通信処理部121は、トランスポート層のプロトコルに従って、パケットのヘッダの部分を処理する。例えば、ソケット通信処理部121は、アプリケーション層からのデータに、トランスポート層のプロトコルに従ったヘッダを付加することでパケットを生成し、そのパケットをIP通信処理部119に与える。また、ソケット通信処理部121は、MACフィルタ処理部120からパケットに含まれているヘッダを処理して、そのパケットを除いたペイロードに含まれているデータの部分をアプリケーション層に与える。
【0043】
以上に記載された制御部118の一部又は全部は、例えば、
図7(A)に示されているように、メモリ10と、メモリ10に格納されているプログラムを実行するCPU(Central Processing Unit)等のプロセッサ11とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
【0044】
また、制御部118の一部又は全部は、例えば、
図7(B)に示されているように、単一回路、複合回路、プログラムで動作するプロセッサ、プログラムで動作する並列プロセッサ、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)等の処理回路12で構成することもできる。
以上のように、制御部118は、処理回路網により実現することができる。
【0045】
なお、通信部111は、ネットワーク101を介して通信を行う通信I/F(InterFace)で構成することができる。
記憶部112は、不揮発性メモリ、揮発性メモリ、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置で構成することができる。
【0046】
表示部115は、ディスプレイで構成することができる。
入力部116は、入力ボタン等の入力I/Fで構成することができる。
なお、表示部115及び入力部116が、タッチパネルで構成されてもよい。
【0047】
図8は、MACフィルタ処理部120が、IP通信処理部119から通信パケットを受け取った際の処理のフローチャートである。
図8のフローチャートは、IP通信処理部119がIP通信処理部119から通信パケットを受け取った際に開始される。
【0048】
まず、MACフィルタ処理部120は、MACアドレスのフィルタリングとして、受け取った通信パケットの送信元MACアドレスに一致する登録MACアドレスが、MACフィルタリング登録情報記憶部113に記憶されているMACフィルタリング登録情報に存在するか否かを判断する(S10)。そのような登録MACアドレスが存在する場合(S10でYes)には、処理はステップS11に進み、そのような登録MACアドレスが存在しない場合(S10でNo)には、処理はステップS12に進む。
【0049】
ステップS11では、受け取った通信パケットが、通信が許可された通信機器130からの通信パケットであるため、MACフィルタ処理部120は、その通信パケットをソケット通信処理部121に与える。
【0050】
ステップS12では、MACフィルタ処理部120は、受け取った通信パケットの送信元MACアドレスがランダムMACアドレスであるか否かを判断する。送信元MACアドレスがランダムMACアドレスである場合(S12でYes)には、処理はステップS13に進み、送信元MACアドレスがランダムMACアドレスではない場合(S12でNo)には、処理はステップS14に進む。
【0051】
ステップS13では、MACフィルタ処理部120は、ランダムMACアドレスと判断された送信元MACアドレスを、MACフィルタ制御部122に通知するために、その送信元MACアドレスを一時記憶部114に記憶する。そして、MACフィルタ処理部120は、その通信パケットを破棄する。
【0052】
一方、ステップS14では、MACフィルタ処理部120は、送信元MACアドレスがランダムMACアドレスではなく機器固有のMACアドレスであり、その通信パケットが通信の許可されていない通信機器130からの通信パケットであるため、その通信パケットをソケット通信処理部121に与えずに、破棄する。
【0053】
図9は、
図8のステップS13で、一時記憶部114に通信パケットの送信元MACアドレスが記憶された際のMACフィルタ制御部122の動作を示すフローチャートである。
図9のフローチャートは、一時記憶部114を監視しているMACフィルタ制御部122が、一時記憶部114にMACアドレスが記憶されたことを検知した際に開始される。
【0054】
MACフィルタ制御部122は、MACフィルタリング登録情報記憶部113に記憶されているMACフィルタリング登録情報に登録されているNetBIOS名のすべてを対象にして、NetBIOS名を使用したNBT(NetBIOS over TCP/IP)プロトコルによる名前解決要求のパケットであるNBNSクエリを送る(S20)。
【0055】
図10は、
図9のステップS20におけるNBNSクエリの送信処理が行われた後に、IP通信処理部119から通信パケットを受け取ったMACフィルタ処理部120の動作を示すフローチャートである。
図10のフローチャートは、MACフィルタ処理部120がIP通信処理部119から通信パケットを受け取ることで開始される。
【0056】
まず、MACフィルタ処理部120は、IP通信処理部119から受け取った通信パケットの使用しているプロトコルを識別して、その通信パケットがNBNSパケットであるか否かを判断する(S30)。その通信パケットがNBNSパケットである場合(S30でYes)には、処理はステップS31に進み、その通信パケットがNBNSパケットではない場合(S30でNo)には、処理は
図8のステップS10に進む。
【0057】
図11は、通信パケットの構造を説明するための概略図である。
通信パケットは、Ethernetヘッダと、IPヘッダと、TCP/UDPヘッダとを備える。また、通信パケットがNBNSパケットである場合には、通信パケットは、NBTヘッダを備える。
【0058】
ここで、MACフィルタ処理部120は、TCP/UDPヘッダ内の宛先ポート番号を参照してプロトコルを識別することが可能である。宛先ポート番号が「137」である場合には、通信パケットは、NBTプロトコルを使用する通信パケットとしてのNBNSパケットである。
【0059】
図10に戻り、ステップS31では、MACフィルタ処理部120は、受け取った通信パケットの送信元MACアドレスが、
図8のステップS13で、一時記憶部114に一時的に記憶された送信元MACアドレスと一致するか否かを判断する。これらが一致しない場合(S31でNo)には、処理はステップS32に進み、これらが一致する場合(S31でYes)には、処理はステップS33に進む。
【0060】
ステップS32では、MACフィルタ処理部120は、受け取った通信パケット(ここでは、NBNSパケット)が検索対象となっている通信機器130からの通信パケットではないため、これ以上の処理を行わないようにソケット通信処理部121に通信パケットを受け渡さないで、その通信パケットを廃棄する。
【0061】
一方、ステップS33では、MACフィルタ処理部120は、受け取った通信パケットのTCP/UDPヘッダの宛先ポート番号を変更して、MACフィルタ制御部122にその通信パケットが届けられるようにする。
【0062】
そして、MACフィルタ処理部120は、その通信パケットからEthernetヘッダ及びIPヘッダを除くことで、パケットを生成し、そのパケットを、ソケット通信処理部121に与える(S34)。なお、ソケット通信処理部121は、MACフィルタ処理部120からパケットに含まれているヘッダを処理して、そのパケットを除いたペイロードに含まれているデータをMACフィルタ制御部122に届ける。
【0063】
図12は、
図11のステップS34の処理の後に、ソケット通信処理部121からMACフィルタ制御部122にデータが与えられた際の、MACフィルタ制御部122の動作を示すフローチャートである。
図12に示されているフローチャートは、MACフィルタ制御部122が、ソケット通信処理部121からデータを受け取ることにより開始される。
【0064】
まず、MACフィルタ制御部122は、受け取ったデータを解析してNBNS通信の返信元のNetBIOS名を抽出する(S40)。
【0065】
次に、MACフィルタ制御部122は、抽出されたNetBIOS名をキーに、MACフィルタリング登録情報記憶部113に記憶されているMACフィルタリング登録情報を検索して、一致するNetBIOS名が登録されているか否かを判断する(S41)。一致するNetBIOS名が登録されている場合(S41でYes)には、処理はステップS42に進み、一致するNetBIOS名が登録されていない場合(S41でNo)には、処理はステップS44に進む。
【0066】
ステップS42では、MACフィルタ制御部122は、MACフィルタリング登録情報において一致したNetBIOS名に対応付けられているMACアドレスを、一時記憶部114に記憶されている送信元MACアドレスに更新する。
そして、MACフィルタ制御部122は、一時記憶部114に記憶されている送信元MACアドレスを削除する(S43)。
【0067】
一方、ステップS44以降では、MACフィルタ制御部122は、NetBIOS名の初期登録処理を行う。
まず、ステップS44では、MACフィルタ制御部122は、一時記憶部114に記憶されている送信元MACアドレスを取得する。
【0068】
そして、MACフィルタ制御部122は、MACフィルタリング登録情報記憶部113に記憶されているMACフィルタリング登録情報において、送信元のMACアドレスと一致する登録MACアドレスが存在するか否かを判断する(S45)。そのような登録MACアドレスが存在する場合(S45でYes)には処理はステップS46に進む。そのような登録MACアドレスが存在しない場合(S45でNo)には、MACフィルタリング登録情報の更新を行うことができないため、処理は終了する。
【0069】
ステップS46では、MACフィルタ制御部122は、MACフィルタリング登録情報において、ステップS45で一致した登録MACアドレスに対応付けられている、NetBIOS名の拒否フラグがONになっているか否かを判断する。拒否フラグがONになっていない場合(S46でNo)には、ユーザからNetBIOS名の使用が許可されているため、処理はステップS47に進み、拒否フラグがONになっている場合(S46でYes)には、ユーザからNetBIOS名の使用が拒否されているため、処理はステップS48に進む。
【0070】
ステップS47では、MACフィルタ制御部122は、MACフィルタリング登録情報において、ステップS45で一致した登録MACアドレスに対応付けて、ステップS40で抽出されたNetBIOS名を登録する。そして、処理はステップS48に進む。
【0071】
ステップS48では、MACフィルタ制御部122は、一時記憶部114に記憶されている送信元MACアドレスを削除する。
【0072】
例えば、MACフィルタリング登録情報記憶部113に、
図3に示されているMACフィルタリング登録情報113aが記憶されている場合に、通信機器130AのランダムMACアドレスが、「A2-AA-AA-AA-AA-AA」から、「C2-CC-CC-CC-CC-CC」に変更されても、以上の動作により、
図13に示されているMACフィルタリング登録情報113a#のように、通信機器130AのNetBIOS名である「PCAAAA」を用いて、登録MACアドレスが「C2-CC-CC-CC-CC-CC」に更新される。これ以降、再び通信機器130AのMACアドレスが変更されるまで、通信機器130Aは、画像形成装置110と通信可能となる。
【0073】
図14は、通信機器130AのMACアドレスがMACフィルタリング登録情報に登録された後、通信機器130AのMACアドレスがランダムに変更されて、画像形成装置110に印刷要求をした際の、通信機器130Aと、画像形成装置110との間の通信を示すシーケンス図である。
【0074】
通信機器130Aは、画像形成装置110と画像形成データとしての印刷データのやり取りをするために、TCPコネクション確立要求を送信する(S50)。ここで、TCPコネクション確立要求の送信元である通信機器130AのMACアドレスは、ランダムに変更された後なので、画像形成装置110のMACフィルタリング登録情報に登録されている登録MACアドレスとは異なるMACアドレスとなっている。
【0075】
このため、画像形成装置110のMACフィルタ処理部120は、そのTCPコネクション確立要求の通信を拒否する(S51)。ステップS51の処理は、
図8のステップS10(No)、S12及びS13の処理に相当する。
【0076】
そして、画像形成装置110のMACフィルタ制御部122は、MACフィルタリング登録情報のNetBIOS名でNBNSクエリを送信する(S52)。ステップS52の処理は、
図9のステップS20に相当する。
【0077】
通信機器130Aは、自身のNetBIOS名を問い合わせるNBNSクエリに対して返信を行う(S53)。
そのような返信を受けると、画像形成装置110のMACフィルタ制御部122は、MACフィルタリング登録情報を更新する(S54)。ここでの処理は、
図10のステップS30(Yes)、S31、S33及びS34、並びに、
図12のステップS40、S41、S42及びS43に相当する。
【0078】
通信機器130Aは、ステップS50のTCPコネクション確立要求に対する応答が得られなかったため、再度、TCPコネクション確立要求を送信する(S55)。
【0079】
この時には、画像形成装置110のMACフィルタリング登録情報には、通信機器130Aの変更後のMACアドレスが登録されているため、MACフィルタ処理部120は通信を拒否せずに、画像形成装置110の制御部118は、確認応答を返信する(S56)。以降、通信機器130Aと、画像形成装置110との間で一般的なTCP通信と、印刷データの送受信とが行われ、印刷が実行される(S57~S62)。
【0080】
以上の実施の形態によれば、NetBIOS名を使用して通信機器130の特定を行うことによって、通信機器130のMACアドレスがランダムに変更された場合でも、MACフィルタリング登録情報に登録されているMACアドレスを適宜更新することができる。これにより、ランダムにMACアドレスが変更されても、継続して通信を行うことができるようになる。
このため、ランダムに変更されるMACアドレスでも、広く普及しているMACアドレスのフィルタリング機能を利用することができるようになる。
【0081】
以上に記載された実施の形態では、NetBIOS名を用いて、MACアドレスを更新しているが、実施の形態は、このような例に限定されない。例えば、Bonjuourのホスト名が識別情報として使用されてもよい。
【符号の説明】
【0082】
100 通信システム、 110 画像形成装置、 111 通信部、 111a 物理デバイス部、 111b ドライバ部、 112 記憶部、 115 表示部、 116 入力部、 117 画像形成部、 118 制御部、 119 IP通信処理部、 120 MACフィルタ処理部、 121 ソケット通信処理部、 122 MACフィルタ制御部、 130 通信機器。