embOS / IP

 

CPUに依存したTCP/IPスタック"embOS / IP"

 

embOS / IPは、速度、汎用性と小さなメモリフットプリントのために最適化された高性能なライブラリです。 これは、ANSI Cで書かれており、実質的に任意のCPU上で使用することができます。

 

”embOS/IP”の特徴

 

  • ユーザ・アプリケーションのためのANSI Cのsocket.hのようなAPI。 標準Cソケットライブラリを使用したアプリケーションを簡単にembOS / IPを使用するように移植することが可能

  • ハイパフォーマンス

  • 小さなフットプリント

  • ラン "アウトオブボックス"

  • 設定は一切必要ありません

  • マルチタスク環境で任意のRTOSで動作(embOSを推奨)

  • 超高速パフォーマンスのためのゼロデータコピー

  • 標準ソケットインタフェース

  • rawソケットをサポート

  • すべての機能のバージョンをノンブロッキング

  • 接続メモリの可用性によってのみ制限

  • 断片化されたパケットの再組立

  • 最も一般的なデバイスのためのオプションのドライバが用意されています

  • 完全に構成ランタイム

  • 組込みシステムのためにゼロから開発

  • 利用可能なPPP / PPPOE

  • 利用可能な様々な上位層プロトコル

  • 最も人気のあるマイクロコントローラと外部のMAC用のドライバ

  • 使いやすい

 

”embOS/IP”のテクニカルポイント

 

 

ACD(アドレス衝突検出)

 

IPv4アドレスの衝突が検出された場合embOS / IP ACDモジュールは、ユーザー固有の設定を行うことができます。 これは、ネットワーク内の複数のホストが同時に同じIPv4アドレスを使用していることを意味します。 ARPが、ネットワーク内の同じアドレスを持つホストを見つけるために、パケット送信を発見できます。

 

ARP(アドレス解決プロトコル)

 

特定のイーサネット間の通信は、ハードウェアアドレス(MAC)で行われます。 ARP(アドレス解決プロトコル)が戻って、さらに直接通信するために必要とされているMACアドレスと答えるために必要なIPアドレスをクライアントに尋ねるブロードキャストARP要求を送信することにより、ネットワーク内のIPアドレスの背後にあるMACアドレスを解決するためのプロトコルです。

 

AutoIP

 

embOS / IP AutoIPモジュールはembOS / IPのIPv4のリンクローカルアドレスの動的な設定を追加します。 AutoIPを実装は、RFC 3972の関連部分をカバーしています。AutoIPは、DHCPサーバなどのサーバを利用せずに、ネットワーク内のIPv4アドレスを交渉するための方法です。 AutoIPをこの時点で他のネットワーク参加者によって使用されていないフリーのIPアドレスを見つけるにはIPv4が169.254.254.255に169.254.1.0から予約済みプールからアドレスを利用します。

この目標を達成するためには、AutoIPを使用するアドレスが既に使用中であるかどうか尋ねるために、ネットワークにARPプローブを送信します。 これは、要求されたアドレスに対するARP応答によって決定されます。 アドレスの競合の際にAutoIPを使用するために新しいアドレスを生成し、再びARPプローブを送信することによって、それを使用するために再試行します。

 

DHCP(動的ホスト構成プロトコル)

 

DHCPは、動的ホスト構成プロトコルの略です。 ネットワーク管理者は、単一のコンピュータにソフト構成情報がすべてのIPホストを収集できるようにすることで、大規模ネットワークの構成管理を容易にするために設計されています。 これは、IPアドレス、名前、ゲートウェイ、およびデフォルト・サーバを含みます。 DHCPで割り当て可能なすべての設定の詳細については、動的ホスト構成プロトコル - DHCP - [RFC 2131]を参照してください。

DHCPは、DHCPデータベースを持つマシンがDHCPクライアントからの要求を処理することを意味し、クライアント/サーバプロトコルです。 クライアントは通常、サーバからIPアドレスおよびおそらく他の情報を要求することによって、トランザクションを開始します。 サーバは通常、クライアントのメディアアドレスにより、そのデータベース内のクライアントを検索し、要求されたフィールドを割り当てます。 クライアントは、常にサーバーのデータベース内にある必要はありません。

未知のクライアントが要求を送信した場合、サーバは、必要に応じて、この目的のために保持空きアドレスのプールからクライアントに無料のIPアドレスを割り当てることができます。 サーバはまた、デフォルトゲートウェイ、DNSサーバ、および経路情報として、ローカルネットワークのクライアントのデフォルト情報を割り当てることができます。

 

DNS(ドメインネームシステム)

 

大規模なネットワーク、あるいはインターネットのIPアドレスは、ドメインネームシステムを覚えにくいため、DNSサーバーからドメインに割り当てられたIPアドレスを解決するためのメカニズムを提供します。 これは、インターネットのDNSサーバーは、社内サーバーのIPアドレスを見つけるために、ローカル名前要求に答える、割り当てられたIPアドレスまたはActive Directoryインフラストラクチャの一部である可能性がありますでもローカルDNSサーバにドメインに対する要求を解決することができますどちらかだけでなく、転送要求は、インターネットのDNSサーバーに、独自のデータベースに認識されていません。

 

ICMP(インターネット制御メッセージプロトコル)

 

ICMP(インターネットコントロールメッセージプロトコル)が別のクライアントにテストデータを送信する可能性を提供し、それに対する回答を受信することによって、ネットワークの参加者の状態を決定するために使用することができます。 このように、ICMPは、他のネットワーク参加者の可用性を判断するための簡単​​な方法を提供します。

他の側は、一般的に利用可能であるかどうかを確認する最初のテストとして、ネットワーク内の問題になると一般的にICMPは良いテストです。 ほとんどのオペレーティングシステムでは、単純なコマンド「ピング」は、ICMPを利用するために使用することができます。 ほとんどのICMPクライアントは、要求が答えられるのにかかった時間によって、ネットワークのと2人の参加者間の応答性を示している最も重要な「ピング」の統計情報を提供しています。

 

IPv4(インターネットプロトコルV4)

 

IPv4(インターネットプロトコルバージョン4)は、今日のネットワークやインターネットで使用される主要なプロトコルです。 IPv4が典型的には0から255までの値を持つ4つの番号のブロックのドット十進形式で表示されます。 各ブロックは16進で提示されたときに4バイトのブロックの結果、単一のバイトで提示されています。同じ特性のネットマスクと合わせてネットワークセグメントには、自由に、ホームネットワークと同様に、IANAによって割り当てられ、グローバルな範囲(のようなプライベートネットワークに使用することができる予約範囲と小さなブロックにネットワークインフラストラクチャを分離するために構築することができます割り当てられた名前と番号)のためのICANN(インターネット・コーポレーションの一部であり、インターネット割り当て番号局)部門です。

 

ループバックデバイス

 

ループバックデバイスは、同じデバイス上のサービスにアクセスすることができますアドレス127.0.0.1/8とのインタフェースを登録します。 これは、クライアントが自分自身でサーバーのリソースにアクセスすることができます。

 

マルチキャスト

 

マルチキャストは唯一つのパケットを送信することにより、ネットワーク内の複数の受信機にパケットを分配する技術です。 パケットを受信する人の扱いは、送信者によって行われていないが、代わりにこのようなパケットを複製し、選択したグループを参加全員に送信します。ルータやスイッチドハブなどのネットワークハードウェアによって行われます。

積極的に参加要求を送信することで、参加していません。 ネットワークハードウェアは、定期的に私たちが照会グループに参加したい場合は、メンバシップレポートで回答する必要がネットワーク全体のメンバーシップクエリをブロードキャストします。

 

RAWソケット

 

RAWソケットは自由に送信し、TCPやUDPとそのオーバーヘッドなどの一般的なプロトコルを使用していないデータを受信する可能性を示しています。 データは、いずれかのこのような独自のためのイーサネットヘッダなどのトランスポート層ヘッダを除いた全パケットデータを定義する完全に送信されるか、または、されるべきデータのために生成された典型的なIPヘッダで送信することができるようにRAWソケットは、新しいプロトコルを定義して使用するために使用することができます。

新しいプロトコルを実装するだけでなく、着信データを記録し、ネットワークトラフィックのキャプチャデバイスを構築するために、TCPやUDPプロトコルに、あるいは依存しない着信データを受け入れることができるハードウェアを構築することができます。

 

TCP(伝送制御プロトコル)

 

TCP(Transmission Control Protocol)がある参加者は、着信接続し、サーバへの接続を確立するクライアントとして機能する他の1を聞いて、サーバとして動作する2つのネットワークの参加者との間で使用される接続指向のプロトコルです。 接続が確立されると、両面が自由に送受信することができます。

TCPは、必ずしも唯一のACKごとにパケットを送信することに頼っていない「ACK」として知られているハンドシェイク・メカニズムを使用して、パケット損失に対して固定されています。 それぞれの側がデータを受信したように、他の側でACKされており、失われたデータを再送信することができるかを知っているように、セッション中に失われたパケットを回復させることができます。

TCPは、データの内容が重要であり、データが失われない恐れがありますデータ転送のすべての種類のための右のプロトコルです。 TCPは、HTTP、FTP、SMTP、および他の多くのような多くのアプリケーションプロトコルによって使用されます。

 

UDP(ユーザデータグラムプロトコル)

 

UDP(ユーザデータグラムプロトコル)は直接IPアドレスに送信することによって、一つのネットワークの参加者にデータをアドレス指定するために、ネットワークブロードキャストアドレスにデータを送信することによって、ネットワーク全体にデータを分散するために使用することができるコネクションレスプロトコルです。UDPは失われたパケットを認識できますが、セッションを維持していないため高速ではありません。 これは通常、このようなパケットが間に失われたとき、それは問題ではありませんライブビデオ/オーディオストリーミングなどのスループットに依存するアプリケーションに使用されます。 UDPブロードキャストは通常​​、他の側の場所がまだ発見されているアプリケーションで使用されます。このようなアプリケーションのための典型的なサンプルは、DHCPクライアントがDHCPサーバーを探しているか、クライアントがネットワーク上の未知のアドレスを持つ1つ以上のデバイスを発見しようとしています。

 

VLAN(仮想ローカルエリアネットワーク)

 

VLAN技術は、互いを見ずに完全に分離ネットワークに同じ物理ネットワーク上で動作する複数のデバイスを分離するために使用することができます。 典型的な使用法は、2部門が互いに分離するが、このような共有スイッチやルータと同じインフラストラクチャを使用して持っているだろう。 同じVLAN IDを使用したデバイスのみがお互いを見ることができます。これを実現するために4バイトを4バイトで元のパケットタイプフィールドを押して、イーサネットフレーム内のパケットタイプフィールドの前に付加されます。 イーサネットフレームはまだその代わりにパケットあたり1496バイトに縮小されますイーサネットフレームごとに転送できるバイトの量を転送することができる1500バイトの最大の意味を最大長のCRCを含む1518バイトになります。VLANは、タイプフィールドは、単純に置き換えられており、ほとんどの場合、唯一の宛先MAC、送信元MACとパケットタイプがチェックされているとして、彼らがそうであるようにパケットは、典型的には、任意のスイッチによって転送されているタグ付けされています。 この場合、パケットは単に不明なプロトコルであり、スイッチによって転送されます。

 

IPv6 (embOS/IPオプション)

 

embOS / IP IPv6のアドオンはごembOS / IP、TCP / IPアプリケーションにシームレスに統合することができるオプションの拡張機能です。 インターネットプロトコルバージョン6(IPv6)のembOS /のIP実装はあなたにデュアルIPv4およびIPv6アプリケーションへのIPv4専用アプリケーションからの高速かつ簡単に移行することができます。 それは、小さなメモリフットプリントとパフォーマンスの最大を兼ね備えています。

 

FTPクライアント(embOS/IPオプション)

 

embOS / IP FTPクライアントは、スタックにFTPプロトコルのクライアント部分を追加し、オプションの拡張機能です。 FTPはファイル転送プロトコルの略です。 これは、インターネットなどのTCP / IPベースのネットワーク上のマシン間でファイルを移動するための基本的なメカニズムです。 FTPは一台のマシンは、クライアントが、別のマシン、サーバーに接続し、要求を行うことにより、ファイル転送を開始することを意味し、クライアント/サーバプロトコルです。

 

PPP / PPPoE (embOS/IPオプション)

 

embOS / IPのPPP実装がシームレスにあなたのTCP / IPアプリケーションに統合することができ、オプションの拡張機能です。 それは、小さなメモリフットプリントとパフォーマンスの最大を兼ね備えています。 PPPの実装では、組み込みシステムがネットワークに議定書をポイントツーポイントで接続することができます。 PPPモジュールは、コメントについては、RFC 1334(PPP認証プロトコル )、RFC 1661(ポイントツーポイントプロトコル(PPP)、[RFC 1994(PPPチャレンジハンドシェイク認証プロトコル(CHAP))、RFC 2516(PPオーバーイーサネットを送信する方法(PPPoE) の関連する部分を実装しています。

 

UPnP(embOS/IPオプション)

 

embOS / IPのUPnPの実装では、シームレスに、TCP / IPアプリケーションに統合することができ、オプションの拡張機能です。 これは、最も柔軟な方法で実装されたUPnPサービスへの可能性を兼ね備えた - 小さなメモリフットプリントで - すなわち完全にアプリケーションによって生成されたUPnP要求時に送信されるコンテンツを指定することを可能にしています。

 

 

 

.