【パケットとは】パケットの流れるフローを解説!ネットワークを理解しよう!

インフラ

こんにちは。KATUOです。

今回は「ブラウザからwebサーバーまでにパケットの流れるフローを1つ1つ理解する」というテーマで記事を書いていこうと思います。

 

パケットについて

パケットとは

コンピューターでの通信で、データを小さく一定のサイズに分割して送ることを「パケット通信」と言い、その分割されたひとつひとつのデータのことを「パケット」と言います。 もともと「小包」という意味であることから、この名前で呼ばれています。

出典:「NTT 西日本 公式ホームページ」

パケットって何ですか?|ネットの知恵袋|フレッツ光公式|NTT西日本
【ネットの知恵袋】<その他>パケットって何ですか?

 

まとめると、1つデータがあってそれを細かく分けた時の単位のことをパケットと言います。インターネット通信において、送信するときは一度データを分解して、受信元で分解されたデータを再び組み立てるという考えが主流です。

 

今回紹介するパケットのフローの流れ

では次は今回の本題である、ブラウザからwebサーバーまでのパケットの流れを解説していきます。順番としては

 

・クライアント側

・クライアント側LAN

・インターネット

・Webサーバー側LAN

・Webサーバー

 

の上から下の流れにそって各自解説していこうと思います。

パケットの流れ (クライアント側)

ブラウザ

ユーザーからURLを受け取り、そのURLを解析します。これによってHTTPメッセージが作成され、socketライブラリにこのHTTPメッセージを渡します。

Socket ライブラリ

HTTPデータをTCP/IPソフトに投げる仲介役としての仕事を行います。

TCPソフト

インターネットで標準的に利用されている通信プロトコル。TCP(Transmission Control Protocol)とIP(Internet Protocol)という2つのプロトコルで構成されている。ネットワーク間プロトコルのIPは、目的地までデータを運送する役目を果たし、伝道制御プロトコルのTCPは、届けられたデータをもとの順番通りに並び替えて1つのファイルにする役目を果たす。

出典:「大塚商会」

TCP/IP | IT用語辞典 | 大塚商会
大塚商会のIT用語辞典「TCP/IPとは」の項目。用語の意味や読み方英語表記などを解説します。

 

TCPとIPは

 

TCP:データを分解・組み立てを行うプロトコル

IP:目的地までデータを搬送するプロトコル

 

と考えて良さそうです。今回ですと、TCPは送信データ(HTTPデータ)をパケットの長さに合わせて分割します。分割した際にTCPヘッダーと呼ばれるものをパケットに付加します。このパケットをIPに渡します。

IPソフト

TCPヘッダーが付加されたパケットに対して、さらにIPヘッダーと呼ばれるものを付加します。先ほど説明した通り、IPは目的地までデータを送信するために用いられるものであり、このIPヘッダーには目的地の情報を含んだデータが格納されます。またIPヘッダーの他にMACヘッダーと呼ばれるものもIPヘッダーと一緒に付加してLANドライバーに渡します。

LANドライバ

IPソフトから送信パケットを受け取ります。LANアダプタに渡す仲介役を担います。一般的にはLANアダプタを制御するためのハードウエアとして認識されているようです。

LANアダプタ

ネットワークアダプタとは、コンピュータに他のコンピュータへ接続する機能を追加するための拡張カードのことである。様々な呼びかたがあり、NIC(Network interface Card)やネットワークカード、LANカード、LANアダプター、LANボードとも呼ばれる。

出典:「IT用語辞典バイナリ」

https://www.weblio.jp/content/LANアダプター

 

簡単にまとめると、インターネットに接続するため変換器です。LANドライバから送信パケットを受け取ります。LANアダプタの役割としては「イーサネット」が送信可能になるタイミングを見計らって、送信パケットを電気信号に変更します。この電気信号はツイストペアケーブルに渡されます。

ネットワークを学ぶ上で最高の1冊

ネットワークはなぜつながるのか 第2版

↑エンジニア目指すなら絶対読んでおくべき1冊です。ネットワークの基礎から応用まで理解できます。

 

パケットの流れ (クライアント側LAN)

ツイストペアケーブル

ツイストペアケーブル(Twisted pair cable、ツイステッドペアケーブル)は、撚り対線(よりついせん)とも言い、電線を2本対で撚り合わせたケーブルである。単なる平行線よりノイズの影響を受けにくい。TPケーブルと言う場合もある。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

https://ja.wikipedia.org/wiki/ツイストペアケーブル

 

簡単にまとめると電気信号を通すケーブルです。だたそれだけです。

リピータハブ

リピータハブとは、イーサネット(10BASE-T)で利用されるハブのひとつで、1つのホストから受信したデータをそのまま他の端末すべてに送信するハブのことである。

出典:「IT用語辞典バイナリ」

https://www.weblio.jp/content/リピータハブ

 

このリピータハブとという装置は拡声器のようなもので、送られてきたデータを複製し、他の端末に一斉配信する機能を持ちます。今回ですとツイストペアケーブルから送られてきた電気信号を全ポートにばら撒きます。

スイッチングハブ

スイッチングハブは、レイヤ2(データリンク層)のMACアドレスに基づき、複数のLANにおいて信号を中継し転送できる。スイッチングハブは、個々のポートに接続されているノードのMACアドレスを参照する機能があり、MACアドレスで指定されたポートにのみ信号を伝送するため、効率が向上しネットワーク内の負荷を軽減できる。

出典:「電気設備の知識と技術」

ルータとスイッチングハブの違いと特徴 | スイッチの種類

 

まとめると、信号を中継する機能を持ち、ポート毎に設定されているMACアドレスを参照する機能を持つことから、効率的なネットワークの接続を可能にしてくれる装置です。今回ですと、リピータハブから送られてきた電気信号を解析します。パケットの宛先MACアドレスと、スイッチングハブが保有するアドレステーブルの内容を照らし合わせ、出力するべきポートを判断します。またそのポートにパケットを送ります。

ルータ(ADSLモデム一体型)

スイッチングハブから送られてきたパケットを宛先IPアドレスと保有する経路表から出力するべきポートを特定します。そのポート(ADSLに経由する)にパケットを渡します。

ADSLモデム

ADSLモデムは、 ADSL回線をコンピュータに接続する時に必要となる信号変換機です。電話回線を通じて送られてくるADSL信号をEthernet(10BASE-T)の信号に変換したり、またその逆を行います。

出典:「ADSL・モバイル通信サービス」

ADSLモデムの役割|ADSLを知ろう|ADSLサービスのご案内
ADSL50Mを始めとしたADSLサービスを提供。ADSLへの申し&...

 

まず、ADSLというのは電話回線を用いたインターネットの通信方法のことを指します。日本はもともと電話回線がほとんどの自宅に繋がっていたので、一般家庭にインターネットが導入されたときにこの電話回線を利用されたことから普及が広まりました。ADSLモデムというのは上の文章にも書いてありますが、電気信号などををADSL信号に変換する変換器です。今回のですと、ルータから流れてきたパケットを「ATM(Asynchronous Transfer Mode)セル」に分割します。またこの分割した「ATMセル」を電気信号に変換します。この電気信号を電柱の電話線を経由させて電話局のDSLAMに向けて送信します。

 

パケットの流れ (インターネット)

DSLAM

電話局に設置されています。別名局用集合モデムとも呼ばれます。ADSLモデムから受け取った電気信号を「ATMセル」変形します。その後この「ATMセル」をブロード
バンド・アクセス・サーバーに送ります。この辺はNTTやKDDIに就職する友達は嫌という程、勉強させられるのではないでしょうか?笑

ブロードバンド・アクセス・サーバー

「ATMセル」をパケットの形に変形します。このブロードバンド・アクセス・サーバーは一種のルーターのような働きをします。ここでは宛先IPアドレスを調べて、パケットを中継します。つまり、ここからインターネット中核部分にバケットが突入していきます。

インターネット中核部分

インターネット中核部分には数多くのルーターが設置されています。これらルーターが宛先IPアドレスを元に順次中継を繰り返して、最終的にはサーバー側のファイヤーウオールにたどり着きます。

 

パケットの流れ (Webサーバー側LAN)

ファイヤーウォール

インターネットを経由して、送られてきたパケットはようやくここでサーバー側にたどり着きます。このファイヤーウォールは空港の検問のようななもので、パケットを審査します。ここで不審なパケットが混じっていた場合はそのパケットを遮断し、そうでなければキャッシュサーバーに渡します。

キャッシュサーバー

ユーザーがリクエストしたページがキャッシュサーバー内に保存されていた場合、キャッシュサーバーがそのページの情報をユーザーに返します。保存されていない場合はwebサーバーに向けてパケットを送信します。

 

パケットの流れ (Webサーバー)

TCP/IPソフト

LANアダプタ、LANドライバを介して、TCP/IPにパケットが送られてきます。ここではIPヘッダとTCPヘッダを検査します。以上がなければ、パケットをHTTPメッセージに変換・復元します。この復元されたHTTPメッセージはsocketライブラリに送られます。

Socketライブラリ

SocketライブラリはHTTPメッセージをwebサーバーに転送する機能を持ちます。

Webサーバー

Socketライブラリから受け取ったHTTPメッセージを解析します。HTTPメッセージには依頼内容が含まれており、依頼内容に基づいたデータを確保して、ユーザーに送ります。

エンジニアにイチ押しアイテム

目の疲労回復グッズ

ディスプレイをずっと見続けた時の目の疲労感ってすごいですよね。血行が悪くなっているというかズーンて重い感じがして、ひどい時は気持ち悪くなったりした経験をもつ人も多いのではないのかと思います。目って今後生きて行く上で非常に大切なものですし、ちゃんとにケアしていきたいものです。そこで私が日常的に使っている目のマッサージアイテムを紹介します。

アイマッサージャー 二年間保証 最新グラフェン加熱技術 目元マッサージャー

私は寝る前必ず使用しています。15分間目を40°で保温&マッサージしてくれて、本当に極楽の時間です。その後は快眠で、翌日の朝の目の疲労度が全くなくなりました。Amazonのレビューがこの商品の良さを物語っています。

筆者
筆者
303件レビューがついてて、評価が4.7と購入した方の殆どが「非常に満足」しているコスパ最強!超オススメのアイテムです!

コスパ最強20㎏×2ダンベル

実は筋トレって記憶力を向上させる効果があるんです。米国のジョージア工科大学が筋トレを20分間行なうと、記憶力が10%ほど向上するこという研究結果を最近発表したほどです。私はここのところ、老化からか体型が崩れてきたのに危機感を覚え購入。実際に筋トレしてみると筋トレ後のすっきり感がやばい。勉強の集中力も確かに上がるような気がしました。また、腕立てとかじゃ鍛えにくい肩なんかもパンパンになるので、男らしい体型を手に入れたいなと少しでも思っている人は買うべきアイテムだと思います。中でも以下のダンベルはAmazon内での評価が非常に高いので迷ったらこれを買いましょう。

ダンベル 【最新進化版・3in1】Wolfyok 純鋼製アレー アレイ 20kgセット(10kgx2) 30kgセット(15kgx2)
筆者
筆者
マシンを使って筋トレすると自重の筋トレ系、腕立て・腹筋・背筋が だいぶ楽になるので習慣化しました!また積極的にランニングしたり食生活を気に掛けるようになるので購入することをお勧めします! (体験談)

座椅子DIYで疲労防止

長い間椅子に座って作業することはエンジニア、理系学生にとってはつきものだと思います。ですが、この椅子の性能によって作業後の疲労感が全く異なるということを意識したことがありますか?私は以下の2つのアイテムを使って座椅子をゲーミングチェア並みにアップデートしました。おかげで姿勢が安定し、作業後の疲労感も減りました。また何より集中して作業に打ち込めるようになりました。

IKSTAR クッション 低反発 座布団 第五世代 オフィス IKSTAR クッション 低反発【メーカー直営・1年保証付】 ランバーサポート
筆者
筆者
座椅子にホールド感が出て、座り心地が格段に向上します。長時間座っていても疲れにくくなるので引きこもりにならないように注意しましょう!作業に夢中で1日中座りっぱなしだった経験があるので...

コードの可読性を高める

自分が大型ベンチャーの内定インターンに初めて参加した時、周りの超優秀なエンジニアの方々のコードをみて自分のコードの汚さに絶望しました。その時自分のマネージャーに勧められた本がリーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックという超有名な一冊です。美しいコードを書くためのエッセンスが凝縮されています。エンジニアを職種として選ぶ方は読まない理由がない一冊です。自分もこの本を読んで、かなりコーディングスキルが向上したと感じています。

ネットワークの基礎を押さえる本

ITの基礎がおぼつかなくて、ネットワークの話についていけなかった時、早稲田大学のエンジニアの友人が勧めてくれたのがネットワークはなぜつながるのか 第2版 という本です。ハードウエアから、理論までネットワークの基礎が非常にわかりやすく解説されています。「TCP」「IP」「リゾルバ」という用語を説明できないエンジニアは間違いなく買ったほうがいいです。自分は知らなくてバカにされたので。笑

タイトルとURLをコピーしました