トランスポート層には2つの機能があります。

TCP,TCPヘッダ,ウインドウ制御,フロー制御,輻輳制御,UDP,リアルタイム通信
TCPヘッダは,次のようになっています。

TCPから上位のプロトコルを示す番号です。これにより,HTTPやPOP3などのアプリケーションが起動します。その標準的なものはウェルノウン(well-known)ポート番号といいますが,その主なものを掲げます。
ポート番号 プロトコル サービス内容 80 http Webページ閲覧 443 https 同上(セキュリティ) 25 smtp 電子メール(送信・転送) 110 pop3 同上(受信) 143 imap 同上(IMAP) 20 ftp ファイルの転送(データ) 21 ftp 同上(制御) 23 telnet 遠隔ログイン 53 DNS 名前解決(UDPでも使える)
ftpやhttpなどの詳細は,別章「インターネットのアプリケーション」で取扱います。
TCPは,コネクション型通信を行います。コネクション型とは,ホスト間で相互の状況を確認してからデータを送り,データの到着を確認してから次のデータを送るようにして,通信を確実に行う方法です(IP単独での通信,また後述のUDPはコネクションレス型であり,このような通信の保証はありません)。
データ送信に先立ち,ホストAとホストBの間で通信の準備をする必要があります。それをコネクションの確立といいます。
まず,ホストAはホストBにSYN(SYNchronization:同期)を送ります。ホストBはそれを受けて要求を受け付けたACK(ACKnowledgement:確認応答)とSYNを返信します。それを受けてホストAはACKを送ります。
これで送信する準備ができました。なお,このように3回のやりとりをするので,3ウエイハンドシェイクといいます。また,一般に相手との確認をとることをネゴシエーションといいます。
ホストAは,データを送信します。ホストBはそれを受信するとホストAにACKを戻します。それを受けてホストAは次のデータを送ります。このとき,一定時間内にACKが来ないと,ホストAは同じデータを再送します。
しかし,ACKが返信している間に再送すればデータが重複しますし,すべてのデータが同じ経路を通る保証はありませんから,ホストAが送信する順序とホストBに到着する順序が異なる場合があります。それを整理するのが,TCPヘッダにある「シーケンス番号」です。それにより,ホストBは次に受信するべきシーケンス番号をホストAに伝えます。このようにして,データが順序正しくホストBに送られます。
すべてのデータを送信完了したら,コネクションを解放します。まず,ホストAからFIN(FINish:終了)を送り,ホストBからACKを返信します。次に逆にホストBからFINを送り,ホストAがACKを戻すことにより終了します。
なお,SYN,ACK,FINなどはTCPヘッダの「コントロールビット」に記入されます。
データを1個送受信するたびにACKを取り交わすよりも,一度にいくつかのデータをまとめて送るほうが効率的です。ACKを待たずに送るデータの大きさをウインドウサイズといいます。
ホストBが負荷が高い状況では,ホストAからのデータを受信しきれない場合があり,それにより再送が必要になって効率が下がる場合があります。それを防ぐために,ホストBはホストAに受信可能なサイズ,すなわちウインドウサイズを送ることにより,ホストAの送信量を制御します。これをフロー制御といいます。
輻輳とは,ネットワークが非常に混みあっており,正常な通信ができない状況のことです。通信が始まった直後では,経路のどこが混雑しているかわかりません。そのときに大量のデータを送信すると,輻輳が起こる危険があります。それを避けるために,輻輳ウインドウを設定しておき,通信開始時は一度に送る量を少なくして,ホストBから返されるウインドウサイズとを比較しながら,次第に増やしていく方法をスロースタートといいます。
UDPは,TCPと同様トランスポート層のプロトコルですが,IPと同様のコネクションレス型の通信を行います。ポート番号を持つこと,チェックサムをすること以外には,IPとほとんど違いはありません。
コネクション型通信をするための情報が不要なので,UDPヘッダは非常にシンプルです。

コネクションレス型通信とは,ホストAとホストBが接続したら,直ちにデータを一方的に送りつける方式で,エラーがあってもわかりませんので再送機能もありませんし,フロー制御機能もありません。それだけ,信頼性が低いといえますが,逆に伝送効率は高くなります。
それで,次のような用途に用いられます。
リアルタイム通信とは,VoIP(IP電話),ライブ中継など,大量データを迅速に送信する通信です。通信効率を高めるためにTCPは向いていません。また,UDPはデータの到着間隔が一定していない(それをジッタといいます)欠点があります。ジッタが大きくなると,音声や画像が乱れますし,さらに大きくなると再生できないこともあります。
それを解決するにはバッファを設けておき,それでジッタを吸収する方法がとられますが,バッファを大きくするとデータが蓄積されるまで待つので,遅延時間が大きくなります。これは電話や電子会議などの双方向通信には不向きです。
このようなリアルタイム通信でのプロトコルに,UDPをベースにしたRTP(Real-Time Protocol)とそれを補助するRTCP(RTP Control Protokol)があります。