Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> Linuxネットワークプロトコル入門

Linuxネットワークプロトコル入門

  
                

ネットワークプロトコルはネットワーク上のすべてのデバイス間の通信ルールの集まりですので、Linuxでのネットワークプロトコルを知っていますか?次の小シリーズでは、Linuxネットワークプロトコルの詳細を紹介しています。そのため、理解を深めることができます。
ログイン

層状設計に基づいて、Linuxのネットワークプロトコルスタック、ボトムアップからの4つの層の合計は、次のとおり、物理層、リンク層、ネットワーク層、アプリケーション層。

Linuxネットワークプロトコルスタックは、実際にはBSDから派生したプロトコルスタックであり、上向きおよび下向きインターフェースのソフトウェアとプロトコルスタック自体によって非常によく編成されています。 Linuxプロトコルスタックは、階層化された設計思想に基づいており、下から上に向かって物理層、リンク層、ネットワーク層、およびアプリケーション層の4つの層に分かれています。

物理層は主に、さまざまなネットワークカード、シリアルポートなどのさまざまな接続された物理デバイスを提供します。

リンク層は、主に物理層へのアクセスを提供するさまざまなインターフェイスカードを指します。ネットワークカードドライバなどのドライバ

ネットワークレイヤの役割はネットワークパケットを正しい場所に転送することですが、最も重要なネットワークレイヤプロトコルはもちろんIPプロトコルですが、実際には他のネットワークレイヤがあります。 ICMP、ARP、RARPなどのプロトコルは、IPほど一般的ではありません。

トランスポート層の役割は主にエンドツーエンドを提供することです。空白はアプリケーション間の通信を提供することです。トランスポート層の最もよく知られているプロトコルは、TCPおよびUDPプロトコルの終わりではありません。名前が示すように、アプリケーション層はもちろん、送信データを意味的に解釈するためにアプリケーションによって提供される「ユーザインタフェース」です。 HTTP、SMTP、FTPなどの層、実際には、アプリケーション層は人々がついに見る層ではなく、最上層はさまざまな異なるテーブルのデータを担当する「解釈層」であるべきです。アイテムのフォームはついに人に提示されます目。

Linuxネットワークのコアアーキテクチャ

Linuxネットワークのアーキテクチャは、上から順に3つの層に分けることができます。ユーザー層アプリケーション層。カーネル空間のネットワークプロトコルスタック層。物理ハードウェア層これらの中で最も重要かつ核心なのは、もちろんカーネル空間のプロトコルスタック層です。

Linuxネットワークプロトコルスタック構造

Linuxのネットワークプロトコルスタック全体がLinux Kernelで構築されています。スタック全体も階層化されたアイデアに従って厳密に設計されており、スタック全体は5つの層に分けられますそれぞれ:

1、システムコールインタフェースレイヤ、基本的にはユーザ空間アプリケーション用のインタフェースコールライブラリ。ネットワークサービスを使用するためのユーザインタフェースアプリケーションを提供します。

2はプロトコルに依存しないインターフェース層で、SOCKET層です。この層の目的は、基礎となるさまざまなプロトコル(より正確には、主にTCPおよびUDP、もちろんRAW IP、SCTPなどを含む)を保護することです。そのため、システムコール層とのインタフェースは単純で統一されたものになります。簡単に言うと、アプリケーション層でどのプロトコルを使用するかにかかわらず、システムコールインタフェースを介してSOCKETを確立する必要がありますこのSOCKETは実際には次の層のネットワークプロトコル層に関連付けられた巨大なソケット構造です。プロトコルの違いは、データ部分だけがアプリケーション層に提示される(システムコールインタフェースを通して提示される)ことです。

3、ネットワークプロトコル実装層、これは間違いなく、これがプロトコルスタック全体の中核です。この層は主に様々なネットワークプロトコルを実装しており、最も重要なものはもちろんIP、ICMP、ARP、RARP、TCP、UDPなどです。この層はたくさんの設計技術とアルゴリズムを含んでいます。

4、ドライバのインターフェイス層は特定のデバイスとは関係ありません、この層の目的は主に異なるインターフェイスカードのドライバとネットワークプロトコル層の間のインターフェイスを統一することです、それはさまざまなドライバの機能を持ちます統一された抽象化は、開く、閉じる、initなど、いくつかの特別なアクションです。このレイヤーは、さまざまな基盤となるドライバーを保護することができます。

5、ドライバ層、この層の目的は非常に簡単です、ハードウェアとのインターフェイス層を確立することです。 Linuxネットワークプロトコルスタックは、各層が比較的独立した機能を実行する厳密に階層的な構造であり、その構造は非常に明確であることがわかります。 2つの「無関係な」層の設計は非常に優れており、プロトコルスタックはこれら2つの「無関係な」層を介して非常に簡単に拡張できます。この設計アプローチは、私たち自身のソフトウェア設計に吸収される可能性があります。

上記はLinuxネットワークプロトコルの詳細な説明ですが、Linuxネットワークプロトコルに慣れていない場合は、次の記事を理解しておくとよいでしょう。

Copyright © Windowsの知識 All Rights Reserved