片方だけFINを送った状態をハーフクローズという。通信TCPでは切れ目のない連続したデータを扱えるが、実際のデータの送受信はIPレイヤにおいてパケット単位に分割される。これをTCPレイヤで結合し、連続するデータであるかのようにアプリケーションに提供していく。キーワードは、シーケンス番号。これが付与されるので、パケットの順序性を保証できる。基本は、データを送信して、ACKが帰ってきたら次のデータを送信する。これでは高速にデータのやりとりが出来ない。そこで出てきた概念がウィンドサイズだ。ある程度まとまって送信しても良いデータ量を決めておく。ACKが帰ってくる前に一気に送ってしまうのだ。ACKの帰ってくるまでデータを送信側で保持しておくことで、再送要求に対応する。この機能を利用して、一度に送信する量を変更させることで、輻輳制御も可能になる。使い分けTCPだけで十分じゃないかという人もいるかもしれないが、リアルタイム性の要求されるパケットに再送されても意味があまりないので、その場合はUDPを使うことが多い。音声・動画のストリーミング通信等である。データ再送が不要で、むしろ通信の遅延のほうが問題になるようなアプリケーションの時にUDPが使われる。