| |
| TCP/IPネットワークの技術を学んでいくうえで欠くことのできないコア・プロトコルであるTCPとUDPのしくみの解説を中核に,これらを取り巻くIPやイーサネット,あるいはHTTPやFTPなどのアプリケーション・プロトコルを一から習得できます。単なる座学にとどまらず,現在広く利用されている実際のシステムで,こうした技術がどのように応用されているのかについても紹介します。全編にわたって,理解の助けとなるわかりやすいイラストで解説,ネットワーク技術者をはじめ,ITに携わるすべての技術者,または,そうした技術者を目指す若いエンジニアの皆さんにもお奨めの一冊です。 |
| |
 |
| 1-1 |
違いと役割分担
TCPとUDPの違いと使い分け |
| 1-2 |
ソケットとポート番号
ソケットとポート番号,それぞれの役割を知る |
| 1-3 |
TCPの信頼性確保術
TCPはどうやって信頼性を確保するのか |
| 1-4 |
TCPの用途
多くのアプリケーションがTCPを使う理由は? |
| 1-5 |
UDPが得意とする分野
UDPの特徴はどこにある? |
| 1-6 |
UDPを使うアプリケーションの特徴
アプリケーションはUDPをどう使うか
|
 |
| 2-1 |
イントロ
アプリケーションに欠かせぬ通信プラットフォーム |
| 2-2 |
TCP編
接続と切断,制御,仲介,確実かつ効率よく届ける |
|
|
| 役割1: |
接続と切断――データ転送に先立って3回“あいさつ”を交わす
|
|
|
|
コラム:IPの上位はTCPとUDPだけじゃない |
|
|
コラム:PSHやURGフラグのナゾ |
|
|
コラム:シーケンス番号を使い切る可能性は? |
|
|
役割2:通信制御――最適な速度で確実にデータを届ける |
|
|
コラム:もっと賢い再送制御 |
|
|
コラム:TCPを使う限り,1Gbpsは出ない? |
|
|
| 役割3: |
アプリケーションとの仲介――適切なアプリケーションをポート番号で見分ける |
|
|
|
コラム:TCPのオプションと実装の関係 |
|
|
コラム:組み込み向けはちょっと違う |
|
| 2-3 |
UDP編
面倒な手順をカット,信頼性より手軽さと速さ |
|
|
コラム:同じポート番号が同時に使える!? |
|
|
腕試し クイズ:TCPの接続手順を悪用するクラッキング手法は? |
|
| 2-4 |
おさらい
LANアナライザを使って実際のやりとりを目で確認
|
 |
| 3-1 |
目標
パソコン内の処理を理解してネット全体のしくみを知る |
| 3-2 |
役割と関係
三つの機能が連携しながら,それぞれの仕事をこなす |
| |
ステップ1 データを適切な大きさに区切る |
| |
ステップ2 通信相手までの経路を割り出す |
| |
ステップ3 LAN内のあて先MACアドレスを調べる |
| |
ステップ4 データを伝送路に送り出す |
| |
ステップ5 受信したデータをアプリに届ける |
| 3-3 |
まとめ
ネットワーク全体の流れを五つのステップで確認
|
 |
| 4-1 |
ヘッダーと階層構造
データの先頭に順番に付ける,ビットで意味を伝える |
| 4-2 |
IPヘッダーとその機能
相手にパケットを送り届ける,それだけに特化したヘッダー |
| 4-3 |
トランスポート層の役割
IPとアプリケーションを仲介,相手はポート番号で識別 |
| 4-4 |
コネクションの目的
IPの弱点をTCPがカバー,順番を整え消失分を再送 |
| 4-5 |
確実にデータを送る
応答時間を測りながら再送,効率を上げる工夫あり |
| 4-6 |
効率よくデータを送る
ACKを待たずに送信,最適化するしくみを用意
|
 |
| 5-1 |
OSI基本参照モデルとは
OSI基本参照モデルはなぜ作られたのか |
| 5-2 |
物理層
通信の大前提となるOSI第1層 |
| 5-3 |
データリンク層
第2層は隣までの通信に責任を持つ |
| 5-4 |
ネットワーク層
目的地までデータを転送するOSI第3層 |
| 5-5 |
トランスポート層
プログラムにデータを渡すOSI第4層 |
| 5-6 |
セッション,プレゼンテーション,アプリ層
アプリケーションに属する第5〜7層
|
 |
| 6-1 |
HTTP
要求に対して応答を返す,Webアクセスのプロトコル |
| 6-2 |
SMTPとPOP
電子メールで働く2種類のプロトコル |
| 6-3 |
FTP
二つのコネクションを張ってファイルを転送する |
| 6-4 |
ファイル共有プロトコル
遠隔地のファイルを手元にあるように見せかける |
| 6-5 |
DNS,LDAPなど
名前や資源を一元管理するディレクトリ・サービス |
| 6-6 |
Telnet
コンピュータを遠隔操作する |
|
|