このページの本文へ

TCP/IPまるわかり 第5回

論理的な伝送路で信頼性を上げる技術を知ろう

TCPのキモはコネクションとポート番号

2009年07月13日 09時00分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

TCPのエラー訂正の仕組み

 TCP/IPはパケット通信を採用しているので、TCPはアプリケーションから渡されたデータ(バイト列)を複数の細切れのデータに分割する。この細切れのデータはIPに渡されて、「セグメント」と呼ばれるパケットとなる。TCPは、このセグメントの損傷(データ化け、誤り)や紛失、重複、順番の狂いといったエラーを検出し、訂正する機能を持つ。このため、TCPのセグメントは分割された「データ」のほかに、「TCPヘッダ」と呼ばれるさまざまな制御パラメータを格納する部分で構成される。

 TCPでは、セグメントの損傷や紛失を回復するために、確認応答(ACK:ACKnowledgement)方式を採用している(図3)。確認応答方式は、正しいセグメントが届いたときにのみ、受信ホストから送信ホストに確認応答(ACK)を返す。セグメントが損傷していたり、届かなかった場合は、受信ホストは何も返さない。送信ホストは、セグメントを送出してから一定時間以内にACKが戻ってこなかった場合、セグメントが正しく届かなかったものと判断し、そのセグメントを送信し直す(再送処理)。セグメントが正しく受信されるまでこの動作を繰り返すことで、エラーが訂正される。

図3 確認応答方式

 ここでもう少し詳しく、TCPのエラー検出と再送処理の動作を見てみよう。

  1. TCPの送信ホストは、送信と同時に再送信タイマをセットする
  2. 受信ホストは、受信したセグメントと、TCPヘッダに含まれるチェックサム(エラー検出用の符号)を比較して、受信したデータが損傷していないかを判断する。受信したセグメントに誤りがあった場合はセグメントを廃棄する
  3. チェックサム検査が合格すると、受信ホストは送信ホストにACKを送り返す
  4. 送信ホストは、タイマが切れるまでにACKが戻ってこない場合や、戻ってきたACKの内容が予想と異なっていた場合は、セグメントを再送。そして最初に戻る

(次ページ、「シーケンス番号を用いて正しい順序で受信」に続く)


 

カテゴリートップへ

この連載の記事

アクセスランキング

  1. 1位

    ITトピック

    “VMwareショック”余波、IaaSベンダー撤退も/本音は「拒否したい」時間外の業務連絡/IT部門のデータメンテ疲れの声、ほか

  2. 2位

    データセンター

    首都圏のデータセンター枯渇、電力コストの高騰、エンジニア不足 課題から考える最新データセンター選び

  3. 3位

    デジタル

    なぜ大企業でkintoneの導入が増えているのか? DX推進と「脱・属人化」を実現するエンプラパートナーに聞いた

  4. 4位

    TECH

    【提言】「VPNの安全性」が通用しない時代 ZTNAへの困難な移行を経営層はサポートせよ

  5. 5位

    TECH

    自律的に動けないメンバーを持つくらいなら、一人で全部やったほうが幸せに働ける「管理職の憂鬱」に関する調査

  6. 6位

    TECH

    IT人材の約半数が「静かな退職」 正当に評価されないし心身の健康を優先

  7. 7位

    デジタル

    地方テレビ局が生成AIで記事作成を爆速に でもその裏で“10倍増えた”業務とは?

  8. 8位

    ビジネス

    トヨタ自動車はBacklogのAIアシスタントをこう使っている “現場の知見”を貯めるAI用データベースに

  9. 9位

    ビジネス・開発

    “保守地獄”からSEを解放する 富士通がソフトウェア改修の全工程をマルチエージェントで自動化

  10. 10位

    ビジネス

    行政DXを超え、デジタルで市民の力を引き出す“地域社会DX”へ 兵庫県豊岡市の挑戦

集計期間:
2026年02月24日~2026年03月02日
  • 角川アスキー総合研究所