知識マップ: OSI参照モデルをはっきりイメージする ── HTTPリクエスト1個を7層に解剖する

記事「OSI参照モデルをはっきりイメージする ── HTTPリクエスト1個を7層に解剖する」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

OSI参照モデルは7層それぞれに対応するOSIプロトコル群を伴う標準として構想されたが、普及競争でTCP/IPプロトコルスイートに敗れ、現実のインターネットはリンク層・IP層・トランスポート層・アプリケーション層の実質4層で動いている。HTTPリクエストを運ぶEthernetフレームは、Ethernet(L2、MACアドレス宛)・IPv4(L3、ルーターを越えても変わらない宛先IP)・TCP(L4、ポート番号での振り分けと信頼性のあるバイトストリーム)・HTTP(L7)という入れ子構造(カプセル化)を持ち、Wiresharkのパケット詳細ペインとバイト列ペインの対応で確認できる。.NETのSocketはL7のバイト列だけを渡しOSがTCP/IPヘッダーを付け、SslStreamはTCPストリームをTLSでラップし、HttpClientはL7の組み立てまで引き受ける。実務でOSI参照モデルが役立つのは、下の層から1段ずつ生存確認する障害切り分けとチーム間の共通言語としての場面である。

OSI参照モデルとTCP/IPパケット構造の知識マップHTTPリクエストを運ぶEthernetフレームがEthernet・IPv4・TCP・HTTPの入れ子構造(カプセル化)になっていること、OSI参照モデルが実装ではなく障害切り分けの語彙として使われること、.NETのSocket・SslStream・HttpClientが各層のどこを担うかを示す図の後継利用する前提とする利用する利用する利用する前提とする利用する利用する利用する実装を担う利用する実装を担う利用するで確認できるで確認できる推奨される対応利用する利用する利用するOSI参照モデルTCP/IPプロトコルスイートOSIプロトコル群Ethernet(L2)MACアドレスARPIPv4(L3)TTL(Time To Live)tracertTCP(L4)ポート番号HTTPTLSSslStream(.NET)Socket(.NET)HttpClient(.NET)カプセル化(層のペイロード構造)Wireshark層ごとの障害切り分け

概念間の関係(全20件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

OSI参照モデル
ISOとITU-Tが定めた、通信機能を7層に分けて整理する参照モデルで、現実には実装の設計図としてではなく障害切り分けと会話のための語彙として使われている。
TCP/IPプロトコルスイート
現実のインターネットで動いている、リンク層・IP層・トランスポート層・アプリケーション層の実質4層でホストの要件を説明するプロトコル群。
Ethernet(L2)
同じネットワークセグメント内の隣接ノードまでMACアドレス宛にフレームを届ける、OSIのL2に相当する規格。
IPv4(L3)
ルーターを何段越えても最終目的地のホストまで届ける、通信の最初から最後まで変わらない宛先アドレスを持つ、OSIのL3に相当するプロトコル。
tracert
TTLを1、2、3…と増やしながらパケットを送ることで、経路上のルーターを1つずつあぶり出すWindowsの経路調査コマンド。
TCP(L4)
ポート番号でプロセスに振り分け、シーケンス番号・確認応答・再送・フロー制御によって信頼性のあるバイトストリームを提供する、OSIのL4に相当するプロトコル。
HTTP
TCPの上を流れる、OSIのL7(アプリケーション層)に相当するテキストベースのプロトコル。
TLS
TCPの上でセッションの確立・管理と暗号化を担い、OSIのL5・L6に相当する役割の多くを現実に吸収しているプロトコル。
SslStream(.NET)
既存のストリーム(通常はTCPのNetworkStream)をラップしてTLSによる暗号化・認証を提供する.NETのクラス。
Socket(.NET)
TCP/UDPのL4バイトストリームを直接扱う.NETのAPIで、渡すのはL7のペイロードのみでヘッダーの生成はOSのプロトコルスタックが担う。
HttpClient(.NET)
L7(HTTP)のリクエスト組み立てまで含めて任せられる.NETの高水準HTTPクライアントAPI。
カプセル化(層のペイロード構造)
各層が自分のヘッダーだけを読み、内側の層の中身には関知せずそのまま上位・下位へ渡す、層構造の中心的な性質。
MACアドレス
NICに割り当てられた識別子で、ルーターを越えるたびに宛先が貼り替えられる「次の1区間の相手」を指す宛名。
層ごとの障害切り分け
リンクランプの目視からping・TCP接続確認・HTTPリクエストまで、下の層から1段ずつ生存確認して原因の層を絞り込む手法。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。