今更だけどWAN高速化の記事をいろいろ見ていたら、TCP/IPってそもそもどんなだっけと復習したくなったので、わかりやすい記事を探してみました。
◆TCP/IPの基礎の基礎を理解していますか?
◆TCP/IPの基礎の基礎を理解していますか?
TCP/IP
「IP(Internet Protocol)」と「TCP(Transmission Control Protocol)」を中心にした膨大なプロトコルの体系
TCP/IPのプロトコルのほとんどは「RFC(Request For Comments)」と呼ばれる文書にまとめられており、
RFCを取りまとめているIETF(Internet Engineering Task Force)のサイトから自由に参照することができる
◆TCP/IPはどのように普及していったの?
インターネットの元となったのは、ARPANETと呼ばれるネットワーク
ARPANETにおける研究・開発の覚え書きとして登場し、現在ではインターネット標準としての権威が確立されているのが「RFC (Request for Comment)」
◆特別なIPアドレスって知っていますか?
◆ルータの向こうに広がるネットワーク
◆TCPのキモはコネクションとポート番号
http://ascii.jp/elem/000/000/434/434183/
TCPではコネクションの終端を「ポート」という抽象概念で識別する。
固定的な番号を持つポートのことを「ウェルノウンポート(Well-Known port)」と呼ぶ。
たとえば、Telnet(遠隔ログイン)には23、HTTP(WWW)なら80といった具合
TCPでは、セグメントの損傷や紛失を回復するために、確認応答(ACK:ACKnowledgement)方式を採用している
セグメントを正しく受信したホストは、確認応答(ACK)を送信ホストに返す。
受信ホストは送信ホストに「データをどこまで受け取ったか」を通知するため、
ACKの中に“受信したセグメントの順序番号+受信したデータのオクテット数”を「応答番号」として記入する。
この値は、次に受信する予定のセグメントの順序番号と一致する。
UDPはコネクションレス型のプロトコルで、TCPのように信頼性の高い通信サービスを提供するものではない。
UDPのメッセージ単位は「データグラム」と呼び、データグラムの順序制御・エラー訂正・フロー制御などはいっさい行なわれない。
◆TCPのコネクションとはなんですか?
http://ascii.jp/elem/000/000/438/438944/
コネクションの確立は、3回のメッセージのやり取りで行なわれる。
これを「スリーウェイハンドシェイク」または「スリーメッセージハンドシェイク」と呼ぶ。
1. コネクション確立要求
2. コネクション確立要求への応答
3. コネクション確立
◆帯域を効率的に利用するTCPの仕組みとは?
TCPはデータ転送の信頼性を確保するため、確認応答(ACK)を利用している
実際のTCPでは、それぞれの確認応答を待たずに複数のセグメントを送信する「スライディングウィンドウ」という手法を利用する。
◆HTTP、FTP、SMTP、SIPはどう動くの?
http://ascii.jp/elem/000/000/447/447425/
HTTPの動作
常80番ポートを開設してクライアント(Webブラウザ)からの接続を待つ。
一方クライアントは、このポートに対してコネクションを確立して要求(リクエスト)を送る。
そして、サーバは要求を実行して応答(レスポンス)を返す
基本的には、HTTPの動作はこの繰り返しである。
◆WAN経由だとファイル共有が遅くなるって本当?
http://ascii.jp/elem/000/000/464/464826/
TCPのオーバーヘッドが大きいWANの遅延
TCPは信頼性を重んじるあまり、通信効率を犠牲にする部分がある。
たとえば、確認応答を待っている時間はデータが送れないので、その分の時間がそのまま遅延となる。
また、TCPのふくそう制御では、パケットが1つ落ちると経路上でふくそうが発生したとみなし、ウィンドウサイズを一気に減らしてしまう。
そこから徐々に送信量を増やすスロースタートという方式を採るので、最大のウィンドウサイズに戻るまで時間がかかってしまう。
これもレスポンスを悪くする原因の1つとなる。
WAN高速化装置ではデータの圧縮やキャッシングなどでWAN自体に流れるデータ自体を大幅に削減する。
◆ネットワークに流れるデータは見えますか?
◆Webサーバは80番ポート以外使ってはいけないの?
http://ascii.jp/elem/000/000/458/458706/
クライアントソフトに割り当てられるポート番号はウェルノウンポート以外の番号で、
そのソフトウェアを起動したタイミングでOSによって任意のポート番号が割り当てられている
Webブラウザのウィンドウまたはタブをいくつも開いて利用する場合があるだろう。
この場合それぞれのウィンドウまたはタブにポート番号が動的に割り当てられているのである。
◆UDPのパケットは、途中で紛失してしまうことがある?
◆「スリーウェイハンドシェイク」の手順、わかっていますか?
http://ascii.jp/elem/000/000/619/619702/
◆WAN接続ポートでの帯域制御とは?
◆WAN高速化ツールとは何か?
◆「QoS」の しくみ IP電話の通信を守れ
http://itpro.nikkeibp.co.jp/article/COLUMN/20060930/249496/?ST=selfup
これまで早い者順で処理していたIPパケットを,アプリケーションなどの違いを見て扱いに差をつける機能
ルーターが備えるQoS機能は,優先制御と帯域制御の二つに大別できる。
優先制御,帯域制御,パケット識別――の三つがそろって,QoS機能は初めて働く
◆帯域制御は「待たせて捨てる」捨て方にテクニックあり
http://itpro.nikkeibp.co.jp/article/COLUMN/20060930/249499/?k2
廃棄率のさじ加減を変える技術も存在する。これがWRED(ダブリュレッド)と呼ばれる技術
WREDは,優先度の高い待ちキューにパケットがたくさん溜まっても,できるだけパケットを廃棄しない。
一方優先度の低い待ちキューは,パケットを捨て始めるしきい値を下げておく。
こうすれば,まず優先度の低い通信でふくそう制御が働く。
それでも状況が改善されないと,はじめて優先度の高い通信でパケットの廃棄が始まる。
◆パケットを正確に識別4種類の情報で見分ける
◆QoSって意外に簡単
http://itpro.nikkeibp.co.jp/article/COLUMN/20060930/249479/?k2