Published On Mar 12, 2022
TCPは、パケットにシーケンス番号を振り、全てのパケットを効率よく漏れなく確実に送るプロトコルになります. 処理が多くヘッダも膨れる分、速度はUDPより遅れますが、信頼性が高い手法になり、Webサイトの表示などで活用できます. 逆にリアルタイム性が重視されるようなビデオ会話などには不向きになります.
輻輳制御としてTahoeの方法を紹介し、スロースタート、高速再転送、輻輳回避について解説します. また、その後Linuxでも活用されているCUBIC TCP及びその前身のBIC TCPについても確認していきます.
フロー制御やスライドウィンドウ方式、ACKフラグとそのパケット、インターネットやL2スイッチの動きなど幅広い部分の解説を行います.
今回はTCPを13分で紹介します.
ThothChildrenは数分でアルゴリズムのポイントをわかりやすく簡単に理解できること、メリットデメリットの把握を目指した解説を投稿する動画チャンネルです.
技術学術集積所 : ThothChildrenVideo
アニメーションを目で見て理解するアルゴリズム
http://www.thothchildren.com/visalgo/
参考:
【数分解説】LU分解: 行列を上三角行列と下三角行列に分解して高速に連立一次方程式や行列式を求める【LU Decomposition】
• 【数分解説】LU分解: 行列を上三角行列と下三角行列に分解して高速に連立一...
【数分解説】ハフマン符号: パターンの出現確率に応じて符号長さを調整する汎用的な圧縮を実現する【Huffman Code】
• 【数分解説】ハフマン符号: パターンの出現確率に応じて符号長さを調整する汎...
【数分解説】GrabCut(GraphCut): 指定された領域やヒントで画像から物体を切出したい【画像処理/グラブカット】
• 【数分解説】GrabCut(GraphCut): 指定された領域やヒントで...
【数分解説】尤度(尤度関数): あるデータが与えられる時そのデータが出やすいパラメータを求める評価値が欲しい【Likelihood Function】
• 【数分解説】尤度(尤度関数): あるデータが与えられる時そのデータが出やす...
【数分解説】パーティクルフィルタ(粒子フィルタ): 観測できない内部の状態の予測分布を粒子で表現して、観測値と制御量、ひとつ前の予測から次の予測をしたい【Particle Filter】
• 【数分解説】パーティクルフィルタ(粒子フィルタ): 観測できない内部の状態...
【数分解説】決定木学習(前編:基本とID3): 特徴量から予測でき、重要な特徴量を把握、判断を説明できる軽量な学習がしたい【DecisionTree Model】
• 【数分解説】決定木学習(前編:基本とID3): 特徴量から予測でき、重要な...
【数分解説】混合ガウス分布: 複数のガウス分布の足し合わせで確率分布を表現したい【Gaussian Mixture Model : GMM】
• 【数分解説】混合ガウス分布: 複数のガウス分布の足し合わせで確率分布を表現...
【数分解説】K-means法(k平均法) : クラスタ数を指定してデータを分割、クラスタリングしたい
• 【数分解説】K-means法(k平均法) : クラスタ数を指定してデータを...
【数分解説】ベイズとかp(A|B)、画像や文字列を絡めた確率、条件付き確率のイメージを持てるようにする解説動画【初学者向け】
• 【数分解説】ベイズとかp(A|B)、画像や文字列を絡めた確率、条件付き確率...
【数分解説】ラグランジュの未定乗数法 : 拘束条件を守りつつ関数の値を最大化するパラメータを求めたい【Lagrange multiplier】
• 【数分解説】ラグランジュの未定乗数法 : 拘束条件を守りつつ関数の値を最...
【数分解説】レーベンバーグ・マーカート法 : 非線形な式を扱う場合でも関数の極小値を高速に求めたい:関数フィッティングなどに応用【Levenberg–Marquardt algorithm】
• 【数分解説】レーベンバーグ・マーカート法 : 非線形な式を扱う場合でも関...
【数分解説】ガウス・ニュートン法 : 非線形な式を扱う場合でも関数の極小値を高速に求めたい:関数フィッティングなどに応用【Gauss Newton Method】
• 【数分解説】ガウス・ニュートン法 : 非線形な式を扱う場合でも関数の極小...
【数分解説】ニュートン法による最適化 : 非線形な式を扱う場合でも関数の極小値を求めたい:関数フィッティングなどに応用【Newton Methods】
• 【数分解説】ニュートン法による最適化 : 非線形な式を扱う場合でも関数の...
【数分解説】拡張カルマンフィルタ : 非線形でもノイズを考慮してリアルタイムに直接観測できない状態を推定したい【Extended Kalman FIlter】
• 【数分解説】拡張カルマンフィルタ : 非線形でもノイズを考慮してリアルタ...
【数分解説】カルマンフィルタ : ノイズを考慮してリアルタイムに直接観測できない状態を推定したい【Kalman FIlter】
• 【数分解説】カルマンフィルタ : ノイズを考慮してリアルタイムに直接観測...
【数分解説】ベイズ更新 : データを受けて確率を逐次的に更新して推定したい
• 【数分解説】ベイズ更新 : データを受けて確率を逐次的に更新して推定したい
ThothChildren
http://www.thothchildren.com/top?page=1
まとめ:
TCPのまとめです.
TCPは、リアルタイム性より信頼性を重視して、UDPと異なってより多くの機能を用意し、ヘッダーを付与します. スライドウィンドウ方式におけるウィンドウサイズをコントロールし、ネットワークの輻輳発生時にも適切なサイズでデータを送ります. パケットを失った時にそのデータ量を調整するLossベースな方法として、TahoeやRenoを紹介し、また最新のBIC-TCPやlinuxでの標準実装であるCUBIC-TCPなども確認します.
OSI参照モデルやTCP/IPモデルでのトランスポート層に該当します.
以上で、TCPの解説を終了します.
ご視聴ありがとうございました.