まなびの森

WebやITに関係した学習記録です。

【イラスト図解式 この一冊で全部わかる Web技術の基本】 「3-6.TCPによるデータ通信」を読んで

【イラスト図解式 この一冊で全部わかる Web技術の基本】
「3-6.TCPによるデータ通信」を読んで

「イラスト図解式 この一冊で全部わかる Web技術の基本」の第3章6節についての要点、自分なりの知識の整理の2点を述べていきます。

1.要点
Webサイト閲覧の流れ(HTTPリクエストとHTTPレスポンス)でHTTPのデータのやりとりを行うのはTCP(Transmission Control Protocol)の役割

TCPが行うこと>
ブラウザとWebサーバー間のコネクションを確立すること
TCPが通信コネクションの接続を行うことで、Webサイトが閲覧できる

3ウェイハンドシェイクとは
コネクションが確立できるまでに3回やりとりが必要

<3ウェイハンドシェイク>
1.SYNパケット(ブラウザ→Webサーバー)
2.SYNパケット+ACKパケット(Webサーバー→ブラウザ)
3.ACKパケット(ブラウザ→Webサーバー)

f:id:Web773:20210710075557p:plain

3ウェイハンドシェイク(2020,エンジニアHub)


2.知識の整理

  • TCP設計の歴史
  • TCPの具体的な役割

 

  • TCP設計の歴史

<気になった理由>
設計に至るまでの背景を知ることで、TCPが必要な理由がわかるから

TCPについては以前の記事でも扱っていました!

web773.hatenablog.com

 

f:id:Web773:20210626121549p:plain

TCP/IPの定義(アイティーエム)

トランスポート層TCP(or UDP)で通信方法を確立してから、アプリケーション層でデータのやりとりが行われるんでしたね。

○設計の背景
異なるネットワークどうしでも接続できるようにしたかった
TCPは、1970年代にDARPA研究者のヴィントン・サーフとボブ・カーンによって共同設計されたものです。
1969年に「ARPANET(アルパネット)」(TCPの前身)という通信ネットワークが開発されます。
これは、4つの拠点を電話回線を用いて、IMP(ルーターの前身)という機器を繋ぎ、ネットワーク通信を確立するものです。
これは、世界で初めて運用されたパケット通信コンピュータネットワークであり、インターネットの起源とも言われています。

しかし、のちのシステム故障をきっかけに、ARPANETは異なるネットワークどうしの通信ができないことが判明しました。

ゲートウェイ」の登場
ARPANETは同じネットワーク同士の通信ということもあり、直接ホストにパケットを送っていました。

そこで、ボブ・カーンが「ゲートウェイ」にパケットを送ることを考えます。

<「ゲートウェイ」の役割>
①異なるネットワークの違いを吸収する
②送られてきたパケット(データを小分けにしたもの)を中継する
③相手のコンピューターに送信

これがTCPの原型になります。

rightcode.co.jp

 

  • TCPの具体的な役割

<気になった理由>
本書を読んだ状態で、まだTCPの役割が理解できなかったため

①「セッション指向」のサービスの提供
セッション指向とは、あらかじめ2台のコンピューター間で通信回線を確立してから相互に通信する方式のことです。
電話のように、最初にダイヤルして相手に接続してから通信する形態のサービスです。

②「信頼性のある通信
信頼性のある通信とは、送信したデータが正しく相手に届くことが保証され、何らかの理由で送信が失敗した場合には自動的に再送信するなどするように、確実に相手にデータを届ける通信のことです。

③フロー制御やウィンドウ制御などのサポート
通信経路が混んでいる場合は送信量を抑えたり、逆に空いている場合はまとめて送信して送信効率を上げたりする働きをします。


TCPのおかげで、現代では安定した通信が保証されていることがわかりました。
TCPさまさまですよね。

明日はHTTP/1.1のやりとりについてまとめます!

ご意見やご指摘、感想などコメントでお待ちしています!
最後まで読んでいただき、ありがとうございました!

【出典】
イラスト図解式 この一冊で全部わかるWeb技術の基本
TCP/IPをわかりやすく - 通信プロトコルの基礎知識を図解で学ぼう
TCP/IP を発明したビントン・サーフ氏の功績
第6回 TCP/IPの概要
TCP -MDN Web Docs

f:id:Web773:20210710080627j:plain

そういえばゲートウェイ仲間が増えましたね