2017-01-17 3 views
0

私は、着信TCP/IP通信を待っている組み込みシステムを持っています。静的IPアドレスを持っています。実際にサブネットマスクとゲートウェイアドレスを設定する必要はありますか?着信トラフィックを待つことのない組み込みシステム用のゲートウェイとサブネットマスクが必要ですか?

私は、理由を説明してください。

おかげで、

スチュアート

+0

TCPには双方向通信が必要なので、通信するためにゲートウェイとマスクが必要です。 –

+0

しかし、ルーティング情報は入ってくる通信には含まれません。サブネットマスクやゲートウェイアドレスにかかわらず、システムがゲートウェイを介して完全に機能するだけです。私たちはここで私たちが静的IPアドレスを設定したばかりの内部ネットワーク上のデバイスを持っています。私たちがやったのはADSLルータのフォワードポートだけです。これにより、外界はこれと通信することができます。 –

+1

あなたの質問には、TCPを使用していません。おそらく、それはUDPを使用しています。 TCPが要求するように、デバイスがネットワークからトラフィックを送信するには、ゲートウェイとマスクを知る必要があります。デバイスは、マスクされた送信元アドレスと送信先アドレスを比較して、宛先が同じLAN上にあるかどうかを確認します。そうでない場合、トラフィックは設定されたゲートウェイレイヤ2アドレスに送信されます。ルーティング情報はトラフィックには含まれず、各パケットは以前のトラフィックに関係なく、独自にルーティングされます。 –

答えて

0

あなたは時々、カンニングやIPで、そのようなことを行うことができます。ブロードキャストがないと仮定して、MACアドレスがなければなりません.IPヘッダーには送信元/宛先があります。ポートとポートの両方を反転することができます。 ARPにあなたはまだ答えなければならないでしょうが、チートはARPを送信していないので、タイムアウトを無視して探しています。それを正しく行うには、テーブルをローカルに保持し、タイマーを保持する必要があります。もしあなたがそのIPアドレスを見たことがない、またはあなたが最後に見た時間が1分以上前だった場合、あるいはタイムアウトが何であれ、ARPする必要があります。応答することができます。 TCPはUDPの方がはるかに大きな痛みです。UDPでは、このようなことを簡単にやったり、Macを交換したり、ポートを交換したり、ペイロードを埋め込んだり、必要に応じてチェックサムを入れたりして戻すことができます。 ARPに応答するコードを入力します。どうしてTCPが違うのか分かりません。

ここで、いくつかのオペレーティングシステムについて言及している場合、完全なスタックで埋め込まれている場合、そのスタックはその情報を必要とする可能性がありますが、オペレーティングシステム/スタックには、特定の接続に応答するために検査する必要がない状況では、もちろん、これはプログラミングの質問ではなく、これはプログラミングサイトなので、あなたが求めているものではないと思います。

関連する問題