版元ドットコム

探せる、使える、本の情報

文芸 新書 社会一般 資格・試験 ビジネス スポーツ・健康 趣味・実用 ゲーム 芸能・タレント テレビ・映画化 芸術 哲学・宗教 歴史・地理 社会科学 教育 自然科学 医学 工業・工学 コンピュータ 語学・辞事典 学参 児童図書 ヤングアダルト 全集 文庫 コミック文庫 コミックス(欠番扱) コミックス(雑誌扱) コミックス(書籍) コミックス(廉価版) ムック 雑誌 増刊 別冊
TCP技術入門 ――進化を続ける基本プロトコル 安永 遼真、中山 悠(著/文) - 技術評論社
..
【利用不可】

書店員向け情報 HELP

書店注文情報

受注センター:
注文電話番号:
注文FAX番号:
販売促進部:
注文電話番号:
注文FAX番号:

TCP技術入門 ――進化を続ける基本プロトコル (ティーシーピーギジュツニュウモン シンカヲツヅケルキホンプロトコル)

コンピュータ
このエントリーをはてなブックマークに追加
発行:技術評論社
A5判
288ページ
定価 2,680円+税
ISBN
978-4-297-10623-2   COPY
ISBN 13
9784297106232   COPY
ISBN 10h
4-297-10623-X   COPY
ISBN 10
429710623X   COPY
出版者記号
297   COPY
Cコード
C3055  
3:専門 0:単行本 55:電子通信
出版社在庫情報
不明
書店発売日
登録日
2019年6月4日
最終更新日
2019年6月22日
このエントリーをはてなブックマークに追加

紹介

5G(第5世代移動通信)、IoT(Internet of Things)、自動運転をはじめ、
ネットワークにまつわるサービスは飛躍的な発展を遂げつつあります。
通信の高速化、端末の爆発的な増加、クラウドによる遠隔送受信をはじめとした大きな変化のなか、
通信の信頼性や効率性を担うTCPの存在感が増してきました。

本書では、TCPの「今」に主眼を置き、
TCP/IPの基礎からTCPの主要機能、歴史、プロトコル設計、
最近のLinuxで主要な輻輳制御アルゴリズムCUBIC、新たに登場したBBR、
そして各種応用技術の最新動向まで平易に解説。

全体を通して、現在の主流となった無線通信を想定している点も特徴です。
押さえておきたいツールWiresharkやns-3による解析やシミュレーションの基本も丁寧にカバー。

広く初学者の方々に向けて具体例を豊富に盛り込み、
現場で役立つ技術基礎を平易に解き明かしていきます。

目次

第1章 TCP入門 ……通信の信頼性を保証する
1.1 通信とプロトコル ……OSI参照モデル、TCP/IP、RFC
OSI参照モデル
[第7層]アプリケーション層
[第6層]プレゼンテーション層
[第5層]セッション層
[第4層]トランスポート層
[第3層]ネットワーク層
Column IPアドレス
[第2層]データリンク層
[第1層]物理層
TCP/IP ……実装や実用性を主眼に置いたモデル
RFC
階層モデルにおけるデータのフォーマット
プロトコル階層に基づく通信の手順
1.2 トランスポート層と通信の信頼性 ……データを宛先まで順序誤りや消失なく転送する
通信の信頼性
ネットワークの輻輳 ……中の状況を外から見ることができない巨大なネットワークで起きる問題
通信における要求条件 ……Web、動画、ゲーム……。アプリケーションごとにまったく異なる要求
トランスポート層の役割
1.3 UDPの基本 ……コネクションレス型のシンプルな機構
UDPの基礎知識 ……コネクションレス型
ユニキャスト、マルチキャスト、ブロードキャスト
UDPとアプリケーションプログラムにおける信頼性の確保 ……RTP、RUDP
UDPに適したアプリケーション ……動画ストリーミング、VoIP、DNSなど
Column QUIC ……UDPベースで信頼性の高い通信路を高速確立
1.4 TCPの基本 ……信頼性の保証とリアルタイム性
TCPの基礎知識 ……コネクション型
TCPとUDPの機能や特徴
TCPに適したアプリケーション ……確実にデータを転送する
1.5 TCPの基本機能 ……再送、順序制御、輻輳制御
コネクション管理
シーケンス番号
再送制御 ……再送タイマー、RTT、ACKの利用
順序制御
ポート番号
フロー制御 ……ウィンドウ、ウィンドウサイズ
輻輳制御と輻輳制御アルゴリズム ……Loss-based、Delay-based
無線通信とTCP
無線通信の基本 ……最大の利点と限られた通信範囲、固定型と移動型
無線特有の難しさ ……TCPへの影響
1.6 特定の用途向けのプロトコル ……RUDP、W-TCP、SCTP、DCCP
RUDP ……Reliable User Datagram Protocol
W-TCP ……Wireless Profiled TCP
SCTP ……Stream Control Transmission Protocol
DCCP ……Datagram Congestion Control Protocol
1.7 まとめ
参考文献



第2章 TCP/IPの変遷 ……インターネットの普及とともに、進化するプロトコル
2.1 TCP黎明期 ……1968~1980年
ARPANETプロジェクト発足(1968年) ……パケット交換の登場
回線交換方式
パケット交換方式
ARPANET ……世界初のパケット交換によるネットワーク構築プロジェクト
UNIX開発(1969年) ……OSとTCP/IPの普及
ALOHAnet構築(1970年) ……世界初の無線パケット交換ネットワーク、衝突回避の原型
TCP誕生(1974年) ……一変したネットワークの基本的な考え方
イーサネット規格公開(1980年) ……IEEE 802.3とCSMA/CD
2.2 TCP発展期 ……1980~1995年
輻輳崩壊への懸念(1980年) ……トラフィック量の増加
Nagleアルゴリズム(1984年) ……輻輳崩壊を防ぐ、輻輳制御関連手法の先駆け
輻輳制御アルゴリズムの導入(1988年) ……状況に応じてデータ送出量を調整する
インターネットへの移行とWWW誕生(1990年) ……アプリケーションによる牽引
2.3 TCP普及期 ……1995年~
Windows 95発売(1995年) ……OSとともに普及するTCP/IP
IPv6運用開始(1999年) ……徐々に進んでいるIPv6移行
無線LAN登場(1999年) ……IEEE 802.11
さまざまなインターネットサービス(2004~2006年) ……サービスごとに異なる特性
2.4 TCP拡充期 ……2000年代後半~
スマートフォン普及(2007年~) ……モバイルネットワーク接続&Wi-Fi接続
クラウドコンピューティング登場(2006年~) ……遠距離の通信トラフィックの増大
モバイルネットワークの高速化(2010年、2015年) ……無線の特性とTCPに求められる性能
IoTの一般化(2015年) ……低消費電力&長距離データ通信のサービス
2.5 まとめ
参考文献



第3章 [図解で見えてくる]TCPとデータ転送 ……信頼性と効率の両立へ向けて
3.1 TCPにおけるデータ構造 ……パケットとヘッダーのフォーマット
パケットのフォーマット ……ヘッダー部とデータ部
セグメント ……MTU、MSS、経路MTU探索、フラグメンテーション
TCPヘッダーフォーマット
UDPヘッダーフォーマット
3.2 コネクション管理 ……3ウェイハンドシェイク
コネクションの確立 ……3ウェイハンドシェイク
コネクションの切断 ……ハーフクローズ
ポートとコネクション
3.3 フロー制御とウィンドウ制御 ……多過ぎず少な過ぎず、 適切な転送量と受信側バッファ
フロー制御 ……ウィンドウとウィンドウサイズ
バッファリングと遅延
ウィンドウ制御 ……スライディングウィンドウ
おさらい:フロー制御、ウィンドウ制御、輻輳制御
3.4 輻輳制御 ……転送量と、中身が見えない自律的なネットワークの状況の推測
TCPの輻輳制御の基本コンセプト ……「ネットワークの状態はよくわからない」という前提
スロースタート
輻輳回避
高速リカバリー
3.5 再送制御 ……確実かつ効率的に、高信頼通信の要
高信頼通信に必須な再送制御
[1]再送タイマーによるタイムアウト制御
SRTTから求める従来からの手法 ……RTO決定法①
Jacobsonによる新しいアルゴリズム ……RTO決定法②
RTTの変動例に対する振る舞いの違い
[2]重複ACKの利用 ……高速再転送アルゴリズム
輻輳回避アルゴリズムと再送制御の複合的な動作と輻輳ウィンドウの変化
3.6 TCP初期の代表的な輻輳制御アルゴリズム ……Tahoe、Reno、NewReno、Vegas
輻輳制御アルゴリズムの進化
Tahoe ……初期のTCPアルゴリズム
Reno ……高速リカバリー
NewReno ……新たなパラメーター(recover)の導入
Vegas ……Delay-basedの制御方式の登場
3.7 まとめ
参考文献



第4章[押さえておきたい]プログラマーのための輻輳制御アルゴリズム ……増え続ける通信量とネットワークの動き
4.1 輻輳制御の基本の考え方 ……目的と設計、更新式の基礎
輻輳制御の目的
輻輳制御の基本設計
輻輳制御の有限オートマトン
5つの状態
状態遷移図 ……遷移条件と遷移後の動作
輻輳制御アルゴリズムの例 ……NewReno
Column Linuxにおける輻輳制御アルゴリズムの実装
4.2 輻輳制御アルゴリズム ……理論×シミュレーションで深まる理解
本書で紹介する輻輳制御アルゴリズム ……Loss-based、Delay-based、Hybrid
NewReno ……輻輳制御アルゴリズムのリファレンスモデル
AIMD
AIMDと更新式
ns-3によるシミュレーション結果 ……NewReno
Vegas ……Delay-based型の代表的な輻輳制御アルゴリズム
更新式 ……Vegas
ns-3によるシミュレーション結果 ……Vegas
Westwood ……無線通信向けHybrid型輻輳制御アルゴリズム
更新式 ……Westwood
ns-3によるシミュレーション結果 ……Westwood
HighSpeed ……ロングファットパイプ向けLoss-based型の輻輳制御アルゴリズム[1]
更新式 ……HighSpeed
ns-3によるシミュレーション結果 ……HighSpeed
Scalable ……ロングファットパイプ向けLoss-based型輻輳制御アルゴリズム[2]
更新式 ……Scalable
ns-3によるシミュレーション結果 ……Scalable
Veno ……無線通信向けのHybrid型輻輳制御アルゴリズム
更新式 ……Veno
ns-3によるシミュレーション結果 ……Veno
BIC ……ロングファットパイプ向けのLoss-based型輻輳制御アルゴリズム[3]
更新式 ……BIC
ns-3によるシミュレーション結果 ……BIC
H-TCP ……ロングファットパイプ向けのHybrid型輻輳制御アルゴリズム
更新式 ……H-TCP
ns-3によるシミュレーション結果 ……H-TCP
Hybla ……RTTが大きな通信路に対応するLoss-based型の輻輳制御アルゴリズム
更新式 ……Hybla
ns-3によるシミュレーション結果 ……Hybla
Illinois ……BICと比較しておきたいHybrid型輻輳制御アルゴリズム
更新式 ……Illinois
ns-3によるシミュレーション結果 ……Illinois
YeAH ……2つのモードを持つ、ロングファットパイプ向けのHybrid型輻輳制御アルゴリズム
更新式 ……YeAH
ns-3によるシミュレーション結果 ……YeAH
4.3 プロトコルアナライザー「Wireshark」実践入門 ……輻輳制御アルゴリズムの観察?
Wiresharkとは
Wiresharkの環境構築
ネットワーク構成
セットアップ
Wiresharkの起動&停止
WiresharkによるTCPのヘッダー分析
キャプチャーするインターフェースの選択とパケットの観察
パケットのTCPのヘッダー分析
Wiresharkによる輻輳制御アルゴリズムの観察
採用している輻輳制御アルゴリズムの確認 ……sysctlコマンド(Ubuntu)
インターフェースの選択とパケット送受状況の確認
輻輳制御アルゴリズムの挙動の観察 ……TCP Stream Graphs機能
描画できる5種類のグラフ
輻輳制御アルゴリズムの切り替え ……sysctlコマンド(Ubuntu)
4.4 より深い理解へ。ネットワークシミュレーター「ns-3」入門 ……輻輳制御アルゴリズムの観察?
ns-3の基本
ns-3の環境構築
ns-3によるネットワークシミュレーションのための基礎知識
おもなディレクトリ構成
ns-3のコマンド
シナリオファイル「chapter4-base.cc」
Pythonによるシミュレータ実行/分析/可視化
scenario_4.pyの中身 ……Python入門
挙動の確認 ……IPython
4.5 まとめ
参考文献



第5章 CUBIC ……3次関数でシンプルに問題解決する
5.1 ネットワーク高速化とTCP輻輳制御 ……ロングファットパイプがもたらした変化
Reno/NewReno ……広く利用されてきたアルゴリズム
高速リカバリー ……NewRenoの特徴
ネットワークの高速化とロングファットパイプ ……通信環境の変化の観点から
end-to-endの三大遅延 ……処理遅延、キューイング遅延、伝搬遅延
ロングファットパイプにおけるNewRenoの課題
広帯域を有効活用できない
広帯域環境ではそもそも送信レートが不十分
高遅延環境になるほどスループットが低下
5.2 Loss-based輻輳制御 ……パケットロスの数を指標に用いる歴史ある手法
Loss-based輻輳制御の基本 ……パケットロスの数、輻輳ウィンドウサイズ、AIMD
AIMD制御 ……加算的な増加、乗算的な減少
[実測]NewRenoの輻輳ウィンドウサイズの振る舞い ……シミュレーション条件、測定項目の確認から
シナリオ1の実行&測定結果の保存場所
シミュレーション実行結果 ……ロングファットパイプにおけるNewRenoの課題を確認
HighSpeedとScalable ……ロングファットパイプ向け輻輳制御
HighSpeedとScalableのシミュレーション
シミュレーション実行結果 ……HighSpeedとScalableの課題を確認
親和性 ……HighSpeedとScalableの課題[1]
親和性の課題を確認するシミュレーションの実行
シミュレーション実行結果 ……アグレッシブ過ぎでNewRenoが追い出される…… 親和性に課題あり
RTT公平性 ……HighSpeedとScalableの課題[2]
RTT公平性の課題を確認するシミュレーションの実行
シミュレーション実行結果 ……RTTが小さいフローが占有…… RTT公平性に課題あり
5.3 BIC ……広帯域/高遅延環境を前提にしたアルゴリズム
BICとは
輻輳ウィンドウサイズを増やす2つのフェーズ ……加算的な増加と二分探索
BICの輻輳ウィンドウサイズの振る舞い
BICの課題
5.4 CUBICの仕組み ……3次関数で複雑な輻輳ウィンドウサイズ制御手法を大幅に簡略化
CUBICの基本
ウィンドウ制御アルゴリズムのポイント
CUBICの輻輳ウィンドウサイズの振る舞い
シミュレーションで確認する親和性の高さ
シミュレーションで確認するRTT公平性
狭帯域低遅延環境への適応性
CUBICの課題
5.5 [疑似コードで見る]CUBICのアルゴリズム ……おもな動作と処理内容
初期化
ACK受信時の動作
パケットロス時の動作
タイムアウト時の動作
おもな関数と処理
cubic_update()関数
cubic_tcp_friendliness()関数
cubic_reset()関数
5.6 まとめ
参考文献



第6章 BBR ……スループットとRTTをモニタリングして、データ送出量を調節
6.1 バッファサイズ増加とバッファ遅延増大 ……メモリーの低価格化の影響
ネットワーク上のバッファサイズ増加
バッファブロート ……バッファサイズの増加がもたらした「遅延増大」という弊害
AQMと、REDアルゴリズム
Loss-based輻輳制御とバッファブロートの関係
バッファサイズによるCUBICへの影響 ……シミュレーションによる確認
シミュレーション実行結果 ……バッファサイズの増加に伴って、RTTが顕著に増大
6.2 Delay-based輻輳制御 ……RTTを指標にするアルゴリズムの基本とVegasの例
3種類の輻輳制御アルゴリズムと環境に合わせたアルゴリズムの選択
Delay-based輻輳制御の基本となる考え方 ……RTT増大とキューイング遅延の増大
Vegasの輻輳ウィンドウサイズの振る舞い
シミュレーション実行結果 ……RTT、スループットともにバッファサイズに依存しない
従来のDelay-based制御の課題 ……アグレッシブ性が非常に低く、追い出されやすい
シミュレーション実行結果 ……Loss-based輻輳制御との共存が難しい
6.3 BBRの仕組み ……データ送出量とRTTの関係を把握し、最大スループットを目指す
BBRの基本的な考え方
BBRの輻輳ウィンドウサイズ制御の仕組み ……RTprop、BtlBw
グラフで見るBBR ……inflight、BtlBw、RTprop、BDP
RTpropの推定
BtlBwの推定
6.4 [疑似コードで見る]BBRのアルゴリズム ……ACK受信時とデータ送信時
ACK受信時
データ送信時
6.5 BBRの振る舞い ……シミュレーションで見えてくる各種挙動
BBRフローの単独での挙動
シミュレーション実行結果 ……バッファサイズの影響なし、probeRTT
複数のBBRフローが存在するとき
シミュレーション実行結果 ……ほぼ公平に近いスループットになっている
CUBICとの共存
シミュレーション実行結果 ……Loss-based輻輳制御との共存は?
ロングファットパイプにおける挙動
シミュレーション実行結果 ……(概ね)安定した、高いスループットを維持
6.6 まとめ
参考文献



第7章 TCPの最新動向 ……アプリケーションや通信環境が変われば、TCPも変わる
7.1 TCPを取り巻く状況の変化 ……3つの観点「通信方式」「通信端末」「接続先」
TCPのこれまでの発展 ……本章までのおさらい
通信環境の変化を捉える3つの観点 ……通信方式、通信端末、接続先
通信方式の変化 ……イーサネット、モバイル、LWPA
通信端末の多様化 ……高性能化のみならず、制約のある環境下での通信という観点も
接続先の変化 ……クラウドコンピューティング、エッジコンピューティング
本章で取り上げる事例について
7.2 5G(第5世代移動通信) ……モバイル通信の大容量化、多端末収容、高信頼/低遅延
[背景]5Gの適用シナリオと実用化までのスケジュール
[課題]厳しい要求条件への対応
[TCP関連動向?]ミリ波帯への対応 ……新規周波数資源の開拓
[TCP関連動向?]マルチパスTCP ……1つのTCPコネクションで、複数の経路を利用
4Gと5Gの共存と、マルチパスTCP
高精細映像ストリーミング ……TCP関連動向?
7.3 IoT ……多種多様なデバイスのインターネットを介した制御
[背景]多様な端末と通信方式
センサーデバイスの例
IoTのコネクション数や通信方式
[課題]処理能力や通信環境の制約 ……プロトコル、デバイスの多様性、低速、各種制限……
[TCP関連動向]IoTへの最適化 ……大きな制約条件の通信のもと、何ができるのか
7.4 データセンター ……大規模化とさまざまな要求条件の混在
[背景]クラウドサービスの普及とデータセンターの大規模化
データセンター内のネットワーク構成
[課題]バッファに対する相反する要求条件
[TCP関連動向]データセンター向けの輻輳制御
7.5 自動運転 ……求められる高信頼/低遅延、大容量の通信性能
[背景]自動運転の普及に向けた取り組み
自動運転レベル
無線通信が担う役割 ……V2N、V2V、V2I、V2X、V2P
通信性能への要求 ……高信頼、低遅延、大容量
[課題]高速移動時の高信頼通信 ……自動運転実現の鍵を握る「信頼性」
[TCPとの関係]信頼性保証に向けて ……規模に合わせて考えていく「遅延」や「輻輳制御」
7.6 まとめ
参考文献

著者プロフィール

安永 遼真、中山 悠  (ヤスナガ リョウマ ナカヤマ ユウ)  (著/文

安永 遼真 Yasunaga Ryoma 2011年東京大学工学部卒業、2013年東京大学大学院工学系研究科航空宇宙工学専攻修了、同年日本電信電話株式会社入社、2016年Nokia Bell Labs出向。おもにコンピューターネットワークの数理モデル化に関する研究に従事。2018年より都内マーケティング会社に勤務。現在は機械学習・統計解析を用いたマーケティング技術の研究に従事する傍ら、趣味でコンピューターネットワークの研究を続けている。 中山 悠 Nakayama Yu 2006年東京大学農学部卒業、2008年東京大学大学院新領域創成科学研究科自然環境学専攻修了、同年日本電信電話株式会社入社。2018年東京大学大学院情報理工学系研究科電子情報学専攻博士課程修了。博士(情報理工学)。現在、東京農工大学工学研究院・准教授。モバイルコンピューティング、低遅延ネットワーク、IoT等の研究に取り組む。平成29年度東京大学大学院情報理工学系研究科長賞等。

丸田 一輝  (マルタ カズキ)  (著/文

丸田 一輝 Maruta Kazuki 2006年九州大学工学部卒業、2008年九州大学大学院システム情報科学府知能システム学専攻修了、同年日本電信電話株式会社入社。2016年九州大学大学院システム情報科学府情報知能工学専攻博士後期課程修了。博士(工学)。2017年3月より千葉大学大学院工学研究院・助教。無線ネットワークにおける干渉低減技術の研究に従事。2017年度電子情報通信学会論文賞、RCS研究会最優秀貢献賞等。

上記内容は本書刊行時のものです。