【本記事のテーマ】
OSI参照モデルのレイヤ4について簡単に紹介します。
【読者さんへのメッセージ】
本記事では、IT業界・プログラミング・インフラ等について紹介します
興味がある方はこの先を見ていきましょう。
~目次~
1..レイヤ4について
2..制御
まとめ
以前の記事では、レイヤ3(ネットワーク層)について紹介しました。
レイヤ4(トランスポート層)は、
ノード間のデータ転送の信頼性を確保するための規定で、
確認応答(ACK)、フロー制御(溢れないようにバッファに保留)を行い、
信頼性の高いデータ転送を行う。
ホストのどの通信アプリケーションへのデータか判別するためにポート番号がつけられ、
セグメントにはシーケンス番号(順番番号)が付与される。
レイヤ4では、TCPまたはUDPが用いられ、TCPでの場合は、
コネクションの確立が必要なため、
スリーウェイハンドシェイクという方法が使用される。
「スリーウェイハンドシェイク」とは、最初は
「SYNを送る→(宛先)ACK+SYNを送る→ACKを送る」
終了の際は、
「(クライアント)FINを送る→(宛先)ACKを送る→(宛先)FINを送る
→(クライアント)ACKを送る」
セグメントを送信する際に分割して送るが、一気に送るとバッファが溢れてしまうため
(バッファフロー)、これを防ぐために、ウィンドサイズ(バッファの容量)
によって送るセグメントを変えて送信します。
これを「スライディングウィンドウ」と言います。
上記で記述したフロー制御の他に、「輻輳制御」という方法があります。
「輻輳制御」は、データを送る際にバッファフローを起こす前に
ネットワークに負荷がかかり、パケットが破棄される(輻輳)が、これを防ぐ役割があい、
「スロースタートアルゴリズム」を用いる。
スロースタートアルゴリズム
・送るセグメント数を1から順番に増やす
・輻輳が発生したら、送る数を減らし、輻輳が連続して発生させない
この、輻輳制御とフロー制御は、同時に行われ、
確実性・正確性がとても高いプロトコルです。
TCPやUDPは、netstatコマンドで見る事ができ、ポートの状態まで調べられます。
レイヤ4では、ポート番号でどのアプリケージョンか判別できます。
・FTP..20,21
・telnet..23
・SMTP..25
・DNS..53
・DHCP..67,68
・HTTP..80
・POP3..110
・SNTP..161,162
私は、エンジニアの学習にあたってこちらの資料を参考にしました。
http://www5e.biglobe.ne.jp/aji/3min/
~まとめ~
レイヤ4ではフロー制御や輻輳制御などが密接に関わっています。
以上が今回のブログとなります。
読んで頂きありがとうございます。
それではまた次回お会いしましょう。
ススム