ネットワークエンジニア を目指して

ようこそ「ネットワークエンジニアを目指して」へ!!
「ネットワークトラブルに恐れることなく立ち向かえるネットワークエンジニア」へと導くことを信条に、ネットワーク技術の解説とネットワークに関する情報を幅広く紹介します!

ホーム > TCP/IP技術(4) > TCP/UDP - ACK による到達確認

TCP/UDP - ACK による到達確認

Bookmark this on Hatena Bookmark   

 

信頼性を高めるための方法

TCP では信頼性を向上させるために以下の 3 つの技術を採用しています。

  • 相手が通信可能かどうかを確認する機能
    仮想コネクションの確立
  • 相手にパケットが届いたかどうかを確認する機能
    ACK による到達確認
  • 相手の処理能力に合わせてデータサイズを調整する機能
    ウインドウサイズを利用したフロー制御

前回、「仮想コネクションの確立」について解説しましたので、
今回は「Ack によるコネクションの確立」について書いていきます。

 

相手にパケットが届いたかどうかを確認する機能(Ack による到達確認)

仮想コネクションが確立し、実際にデータのやり取りをしているときも、
データの到達性を高めるために、そのデータが宛先にちゃんと
届いているかどうかを常に確認しています。

どのように確認しているのかといいますと、3 ウェイハンドシェイクに
よるやり取りでも出てきた、Ack パケットというパケットを利用します。

受信側ノードは、送信側ノードからデータを受け取ると、
Ack パケットを返します。

送信側ノードは Ack パケットを受信することで、データがちゃんと
相手に届いた事を認識することが出来ます。

 

Ackによる到達確認

 

このように送信したデータごとに Ack パケットを送信する事で、
すべてのデータが送られることを確認する事ができます。

 

さて、ここでもし Ack パケットが返ってこなかったらどうなるでしょう?

TCP の動作では、データ送信後に一定時間経っても Ack パケットを
受信出来なかった場合、同じデータをもう一度送信します。

 

Ackが返ってこなかったら?

 

再送後に Ack を受信すれば次のデータを送る動作に移るわけですが、
もしそれでも Ack を受信出来ない場合は、再送が繰り返されます。

そして、あらかじめ決められた回数や時間が経過しても Ack を受信出来ない
場合は、TCP コネクションが切れたと判断し、上位のアプリケーションに
エラー通知を行います。

再送処理を何回まで行うか、どれぐらいの時間までガマンするかといった値は、
プロトコルとして決まられているわけではなく、 TCP/IP の実装に
依存しています。

また、再送が繰り返される場合は、途中の経路が混雑している場合が
考えられるために、再送を行うたびに再送する時間を増やしていきます。
たとえば、最初の再送が 2 秒後、次の再送が 4 秒後、その次は 8 秒後、
といった具合に増やしていき、最大で 64 秒まで増えて行きます。

 

おすすめ記事

おすすめ書籍紹介

マスタリングTCP/IP 応用編
入門編を卒業したらこちら。
応用編も入門編と同様に豊富な図を使用し、TCP/IPに関するさらに詳細な解説を記している。
特にパッケットの構造はかなり詳細に解説しており、初心者にはすこしつらいかもしれないが非常に読みやすいのでぜひ読んでみてほしい。

インターネットルーティング入門 第2版
ネットワーク初心者の方にぜひおすすめしたい一冊。絵を豊富に使用し、「ルーティングとは」から始まり最後はRIP、BGP、MPLSまで深い解説ではなく、浅く満遍なく解説しています。
この本が理解できればルーティングスキルの第一歩を踏み出せるでしょう。

関連記事

トランスポート層(レイヤ 4)の役割
トランスポート層(レイヤ 4)の役割について

ポート番号
ポート番号について

コネクションとコネクションレス
コネクションとコネクションレスについて

UDP
UDPについて

TCP ヘッダ
TCP ヘッダについて

仮想コネクションの確立
TCP ヘッダについて

ACK による到達確認
TCP ヘッダについて

ウインドウサイズを利用したフロー制御
TCP ヘッダについて

TCPウインドウ制御
TCPウインドウ制御とスライディング・ウインドウについて

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: