2012-04-06 7 views
3

コンピュータシステムでOSIモデルのトランスポート層がどこで実行されているかを知りたいと思います。オペレーティングシステムの一部ですか?独自のプロセスやスレッドで動作しますか?他のアプリケーションや他のレイヤーに情報を渡すにはどうすればいいですか?トランスポート層はどこで動作しますか?

+0

どのオペレーティングシステムですか?あなたは 'tcp'タグがあることに気付きました。 IPに関してのみあなたの質問ですか、他のプロトコルスタックについても尋ねていますか? –

+0

ネットワーク層の上のプロトコルスタックについて。 –

答えて

7

OSIモデルのトランスポートレイヤがコンピュータシステム内でどこで実行されているかを知りたいと思います。

これはありません。 OSIモデルは、OSIプロトコルスイートに適用されます。これは機能しておらず、AFAICSでは実行されません。ただし、TCP/IPには独自のモデルがあり、トランスポートレイヤも含まれています。私はそれがあなたが以後何を意味していると仮定します。

オペレーティングシステムの一部ですか?

はい。

独自のプロセスまたはスレッドで実行しますか?

いいえ、オペレーティングシステムの一部として実行されます。

どのようにそれは、例えば、システムコールを介して他のアプリケーション

に情報を渡すんバークレーソケットAPI、WinSockなど

または他のレイヤーにダウンロード?

内部カーネルAPI経由。

+0

これについていくつかのリンクやチュートリアルを投稿していただけますか?ネットワーク層がどこに実装されているかについても言及できるなら、素晴らしいだろう。それは無線LANアダプターにありますか?チュートリアルでは、抽象レイヤーの同じ古いブロックダイアグラムの代わりにこのすべてを表示することを願っています。 – testerjoe2

+0

@ testerjoe2アプリケーション層の下のすべてがオペレーティングシステムにあります。リンクレイヤーと下位レイヤーの一部は、ネットワークアダプター内にあります。 – EJP

0

OSIモデルがトランスポート層と呼ぶものは、TCP/IPのTCP層にかなり近似しています。つまり、保証された配信/エラー回復とホスト間のトランスペアレントな転送を提供します。ホストから別のホストにデータをルーティングする方法には注意を払う必要はありません。宛先を指定するだけでネットワークが把握できますそれをどうやって得るか。

これはどこに実装されていますか:よく、ほとんどの場合、OSの一部であるTCP/IPスタックがあります。現代のハードウェアは、ハードウェアに少なくとも数ビット(例えば、TCPチェックサムおよびフロー制御)を実装することができる。ネットワークスタックは、TCP操作のそれらの部分をデバイスドライバを介してハードウェアにオフロードする。

+0

たとえば、情報を交換するためにtcpとともに 'send'を使用するC++のwinsockライブラリを考えてみましょう。このメソッドで何かが起きて、渡されたバイトのストリームの適切な配信が確実に行われます。私はそれに興味があります。それはどこで行われていますか?私はそのメソッド呼び出しではなく、最も低いレベルで推測しています。 –

+1

@SotiriosDelimanolis:間違いなくその機能の中にあるわけではありませんが、TCP層の内側にあります(下位レベルのIP層は保証された配信を提供しません)。しかし、現実には、Microsoftは、ファイアウォールなどをサポートするためのパケットフィルタリングフレームワークを持っており、カーネルモードとユーザーモードの両方のフィルタリングをサポートしています。 –

+0

この回答は正しくありません。 TCP/IPにはTCPとUDPの両方を含むトランスポート層がありますが、まもなく実際にはSCTPになります。 – EJP

0

トランスポート層は、オペレーティングシステムで通常出荷されるライブラリとして利用できます。

論理部分はライブラリに実装されています。輸送媒体との相互作用は、ドライバーによるものです。

+0

通常はカーネルコンポーネントとして利用でき、ドライバとして明示されます。ライブラリではありません。 – EJP

関連する問題