web-dev-qa-db-ja.com

1つのネットワークで同じMACアドレスを持つ複数のデバイスを処理する良い方法は何ですか?

私が使用しているデバイスは、すべて同じMACアドレスに設定された生産ラインから外れています。それぞれに独自の静的IPを設定できますが、構成データ(新しいMACアドレスを含む)を送信するために、同時にネットワークに接続する方法があるのでしょうか。

Cisco SF 200-24「スマートスイッチ」を持っています。これまでのところ、スイッチの各ポートを独自のVLAN(mode:access)、別のポートに設定することを試みました。ユニットに通信させたいアップストリームサーバーへのトランクラインとして、すべてのVLANに設定します。

現在、各デバイスの側に静的IPを設定していますが、トランクラインを介して上流のコンピューターと通信するのに問題があるようです。トランクポートに接続されているサーバーだけで、デバイスが相互に通信できるとは期待していません(または望んでいません)。

私が持っている機器で実現できることはありますか、またはそれぞれを個別に設定するのに行き詰まりますか?

「あなたはばかです。同じMACを持つものを同じネットワークに接続しないでください」もここで受け入れられる答えかもしれませんが、もっと面白いものがあるかもしれないと思います。

編集:ああ、人々はここにあるネットワークハードウェアに情熱を注いでいます。驚かないでください。私はこの素敵なレガシーデザインを継承しており、新しいファームウェアリビジョンをメーカーに提供できるようになるまでこれに耐えることができます。参加してくれてありがとう、皆さん。

10
Anthony A.

私は約6年前に私たちの生産工場の1つで同じ状況を「修正」しなければなりませんでした。

私は彼らがばかだと生産エンジニアに話さなければなりませんでした:-)。
彼らの弁護:これは史上初のネットワーキング製品であり、R&Dは生産の影響を正確に考えていませんでした。

そのときそれを回避する方法はありませんでした(そして今もそうではありません).
MACを再構成するには、各デバイスを個別にPCに接続する必要がありました。 (後で、R&Dによっていくつかのバグ修正が行われた後、各デバイスで新しいファームウェアもフラッシュする必要があったため、とにかくこれを行う必要があることが判明しました。)

後のシリーズでは、開発者はプロセスを可能な限り簡単にしました。標準ファームウェアには、ハードコードされた固定IPアドレスを使用してTCP/IPスタックを起動する非常に基本的な最小限のブートローダーがあります。これにより起動し、別のハードコードされたIPアドレスから完全なファームウェアイメージをTFTP転送しようとします。完了すると、一意のMACを含む2番目のファイルがTFTPサーバーからプルされ、デバイスにフラッシュされます。
その後、デバイスが再起動し、IPアドレスに対してDHCPを実行する完全なフラッシュイメージが表示されます。 dhcpアドレスが取得されると、完了したことを確認するために、独自のmac-addresを含む小さなファイルをTFTPサーバーにアップロードします。

これを制御するPCは、DHCPサーバーとTFTPサーバーを実行します。そして、MACアドレスでファイルを準備する制御アプリケーション。
デバイスの確認ファイルが正常にアップロードされた後、制御アプリケーションはオペレーターに次のデバイスを接続するための親指を立て、次のMACアドレスをファイルに書き込みます。
(アプリケーションは、ダウンロードとフラッシュに通常かかる時間を認識しています。最初のTFTP転送から、デバイスに障害がある可能性があることをオペレーターに通知する確認ファイルのアップロードまでの時間が長すぎます。ビルド-ネットワークスタックの品質テストで。)
Flash over LANオプションは、お客様がファームウェアをアップグレードするために使用できる機能でもあります。
とにかく実装する必要があったので、「そこに初期構成を取得する方法」の問題に対処するために使用したほうがよいでしょう。

PS。 DHCPサーバーは、デバイスに対して自身を識別するためのカスタムDHCPオプションを提供します。カスタマーLANでは、DHCPは明らかにそうしません。そのため、デバイスが「通常の」DHCPサーバーを検出すると、確認ファイルをアップロードしようとせずに起動を続行します。

15
Tonny

あなたはばかです、同じMACを持つものを同じネットワークに接続しないでください。

;-)

真剣に、MACアドレスはIEEE802.3ネットワークが機能する方法の絶対的な基本です。同じMACを備えたイーサネットケーブルの同じ物理ビット上の複数のデバイスでは、ARPパケットが通過すると、各レシーバーは「それは私です」で応答します。

したがって、ワイヤーの個別の物理ビットを維持する必要があります。 VLANについて説明します。これらは、イーサネットMACアドレスと同じ場所であるレイヤー2で動作します(論理リンク制御(LLC)サブレイヤーではありますが)。

だから、はい、VLANはトリックを行います。ただし、デバイスに一意のレイヤー3(IP)アドレスを付与する必要があります。DHCPを使用できなくなるため、これは困難な場合があります。

要するに、私の(あなたの)最初の行に戻ります。

10
Simon Catlin

「あなたはばかです。同じMACを持つものを同じネットワークに接続しないでください」

(あなたはそれで大丈夫だと言った):)

あなたの問題に対する正しい答えは、製造プロセスを修正して、デバイスに異なるMACアドレスを順番にまたはただし(製造日を付けてから一意の番号など)を割り当てることです。

8
TheCleaner

あなたの製造業者を解雇しなさい。

私は真剣です。これはアマチュア時間の間違いでさえありません、これは全くの無能の危険なレベルです。

銀行が物理的な請求書を印刷する会社がすべて同じシーケンス番号で数百万の請求書を配達したことを発見したり、自動車メーカーがナンバープレートの最新のバッチがすべて同じプレート番号を持っていることを知ったようなものです。

それはthat基本的な間違いです。あなたはしますnot方法を見つける責任がありますelse彼らは失敗したことがわかります。

バッチ全体を返却し、返金を要求して、ネットワークハードウェアを提供する人有能を見つけます。

7
Shadur

馬鹿であると言っているのではなく、大丈夫だと言っていても、同じネットワーク上に同じMACを持つものを配置してはいけない理由を説明します。

SystemAがSystemBと通信したいと考えています。 SystemAはSystemBのIPアドレスを取得し、2つの間のルートを決定しようとします。 SystemAとSystemBが同じネットワーク上にある場合、SystemAはSystemBにパケットを送信するためにSystemBのMACアドレスを必要とします。 SystemAは、ブロードキャストARPメッセージでこの情報を取得し、この情報をARPテーブルにキャッシュします。

(SystemAがカリフォルニアにあり、SystemBがニューヨークにある場合、ニューヨークにパケットを送信するルートを見つけ、SystemBに接続されているルーター/スイッチは、パケットを送信できるようにSystemBのMACアドレスを知る必要があります。したがって、 MACアドレスはまだ使用されていますが、SystemAはそれを知る必要はありません。SystemAは自身のルーターのMACアドレスを知る必要があるだけです。)

つまり、基本的には、同じMACアドレスを持つデバイスをネットワークに配置すると、複数のデバイスが「それは私です」と言うと、それらのデバイスと通信しようとすると混乱します。 VLANでこれを回避しようとしているようですが...

私はそれに反対することをお勧めします。言ってるだけ。

6

これは私がこれを言う唯一の時かもしれません。

スイッチをハブに交換したい。

これにより、パケットがスイッチのCAMテーブルによってフィルタリングされることなく、各デバイスと通信できるようになります。

1
MikeyB

"メディアアクセス制御アドレス(MACアドレス)は一意物理ネットワークセグメント上の通信用のネットワークインターフェイスに割り当てられた識別子です 。」

「MACアドレス」の定義を調べることを生産ラインのマネージャーに丁寧に提案します。おそらく、製造プロセスに調整を加える前に。

私たちが知っているすべてのことは、(設計ではなく)彼らが認識していないプロセスの欠陥である可能性がありますが、この基本的な間違いは製品への信頼を損ない、回避可能な複雑化につながるため、何かを行う必要があります。

この問題は、問題のあるデバイスの展開後に回避するのに苦労するよりも、製造側で修正する方がはるかに簡単です。

時々、デバイスが同じMACを持つネットワークに表示されることがありますが、これはまれです(多くの場合、安価なNICを交換することで簡単に解決できます)。バッチ全体で同じMACを使用する場合は、ほとんどの場合「 個別にと見なされても、(一部の人々に関する限り)「欠陥がある」カテゴリはまったく欠陥がないように見えます。