tag:crieit.net,2005:https://crieit.net/tags/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96/feed 「カプセル化」の記事 - Crieit Crieitでタグ「カプセル化」に投稿された最近の記事 2020-12-23T16:40:17+09:00 https://crieit.net/tags/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96/feed tag:crieit.net,2005:PublicArticle/16380 2020-12-17T11:46:33+09:00 2020-12-23T16:40:17+09:00 https://crieit.net/posts/bda5f98ff5a11f3e54c79efdd30ca9db ネットワーク基礎~通信のカプセル化~ <h5 id="OSI参照モデルとTCP/IPモデル"><a href="#OSI%E5%8F%82%E7%85%A7%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A8TCP%2FIP%E3%83%A2%E3%83%87%E3%83%AB">OSI参照モデルとTCP/IPモデル</a></h5> <p>OSI参照モデルとTCP/IPモデルは共に、端末から端末へデータを通信する際に必要な処理を、<br /> いくつかのステップをまとめたもの。</p> <ul> <li><p>OSI参照モデル<br /> 全7階層からなる通信モデル。通信の流れを細かく規定していたが、あまり浸透しなかった。<br /> そのため、現在では通信の考え方を学ぶために参照される程度となっている。<br /> <a href="https://crieit.now.sh/upload_images/f54cef13db3868e26498af2ad01d5c595fdac251d7e93.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/f54cef13db3868e26498af2ad01d5c595fdac251d7e93.png?mw=700" alt="image" /></a></p></li> <li><p>TCP/IPモデル<br /> 全4階層からなる通信モデル。インターネットを中心とした、現在のネットワークでよく使われるプロトコルを4つの階層にまとめた通信の基本ルール。<br /> 現在のネットワークはこちらの通信モデルで設計されている。<br /> <a href="https://crieit.now.sh/upload_images/66bc1d1ba53ef9a645963d5cd6a15cf85fdac26ac2e6d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/66bc1d1ba53ef9a645963d5cd6a15cf85fdac26ac2e6d.png?mw=700" alt="image" /></a></p></li> </ul> <h5 id="ヘッダとカプセル化/非カプセル化について"><a href="#%E3%83%98%E3%83%83%E3%83%80%E3%81%A8%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96%2F%E9%9D%9E%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">ヘッダとカプセル化/非カプセル化について</a></h5> <p>通信を行う際には通信モデルの上位層から、ヘッダをデータに付与していく。<br /> この一連の流れをカプセル化という。<br /> カプセル化とは、送信側の機器がデータを通信できる形に加工すること。<br /> カプセル化のイメージをTCP/IPモデルで表すと下記のとおり。<br /> <a href="https://crieit.now.sh/upload_images/fa6372f0409a65ff57342097dc8427365fd950914dfad.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/fa6372f0409a65ff57342097dc8427365fd950914dfad.png?mw=700" alt="image" /></a></p> <p>データの送信側が梱包したデータを、ヘッダの情報に基づいて受信側が開封していく作業を非カプセル化という。<br /> 非カプセル化とは、受信側の機器が通信データから必要な情報を切り取っていくこと。<br /> 非カプセル化のイメージをTCP/IPモデルで表すと下記のとおり。<br /> <a href="https://crieit.now.sh/upload_images/80ac78d2b59035647d6315f45683bce65fd950a985e7b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/80ac78d2b59035647d6315f45683bce65fd950a985e7b.png?mw=700" alt="image" /></a></p> <h5 id="ヘッダの種類"><a href="#%E3%83%98%E3%83%83%E3%83%80%E3%81%AE%E7%A8%AE%E9%A1%9E">ヘッダの種類</a></h5> <p>ヘッダにはそれを取り付けた通信モデルの階層によって異なる名前がつけられる。<br /> 以下、一例。</p> <ul> <li><p>Ethernetヘッダ・・・データリンク層、ネットワークインターフェース層でつくヘッダ。制御情報の中身は送信元(Source)のMACアドレスと送信先(Destination)のMACアドレス。</p></li> <li><p>Ethernetトレーラ・・・データリンク層、ネットワークインターフェース層ではデータの末尾にトレーラと呼ばれる制御情報がセットで付与される。これは送信先でデータが欠けていないかをチェックする為のチェックコードとなっている。</p></li> <li><p>IPヘッダ・・・ネットワーク層、インターネット層でつくヘッダの一種。IPアドレスで通信する際に使用される。制御情報の中身は送信元(Sender)IP Address、送信元(Sender)MAC Address、送信先(Target)IP Address、送信先(Target)MAC Addressとなる。</p></li> <li><p>TCPヘッダ・・・トランスポート層でつくヘッダの一種。<br /> 送信元のポート番号、送信先のポート番号や、送信データの読み取り順序情報などが含まれる。</p></li> </ul> <h5 id="各層でのデータの名前"><a href="#%E5%90%84%E5%B1%A4%E3%81%A7%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%90%8D%E5%89%8D">各層でのデータの名前</a></h5> <p>通信モデルでは、カプセル化する事で各層でデータの中身が異なる。上位の層から受け取ったデータ(ペイロード)と、現在の階層ヘッダを合わせた物を、PDU(Protocol Data Unit)と呼び階層ごとに名称が異なる。</p> <ul> <li>アプリケーション層(+プレゼンテーション層+セッション層)でのPDUの名前はメッセージ。</li> <li>トランスポート層でのPDUの名前はセグメント。L4ヘッダ+メッセージ</li> <li>ネットワーク層(もしくはインターネット層)でのPDUはパケット。L3ヘッダ+セグメント</li> <li>データリンク層(もしくはネットワークインターフェース層)でのPDUはフレーム。L2ヘッダ+パケット+L2トレーラ</li> </ul> Nata