こんにちは、ススムです。
OSI参照モデルのレイヤ3と4とは何なのか?
そんな方向けの記事内容となります。
この記事を書いた人はこんな感じです。⇩
著者
- スポーツの専門学校卒業
- オーストラリアへ語学留学/スシレストランで就労
- JICA海外協力隊にてミャンマーで2年間生活
- Webデザイナー/動画クリエイター/Webエンジニア/Webライター
- オンラインスポーツコーチ
- オンライン日本語講師
- オンラインミャンマー語講師
- ミャンマー人向けオンラインコミュニティ運営
※この記事を書いている私について詳しくはこちらで紹介しています。
本記事の内容
・OSI参照モデルのレイヤ3とは
・OSI参照モデルのレイヤ4とは
【エンジニアの職探しならこちら🔻】
フリーランスエンジニアに安心保証と豊富な案件紹介を【midworks】
OSI参照モデルレイヤ3について
レイヤ3は、ネットワークとネットワークを相互通信するための規定で、
論理アドレスが関係します。
レイヤ2では、物理アドレスを取得し、MACアドレスがどこにあるかの情報の論理アドレス(IPアドレス)は分からなかったが、レイヤ3ではこれを取得していきます。
IPアドレスの取得方法は以下の2種類があります。
・静的アドレス..IPアドレスを管理者から手動で割り当て、動的よりもルートが優先される
・動的IPアドレス..自動的に割り当てる 動的IPアドレスは、DHCPなどのプロトコルが使用される
DHCPは、IPアドレスを割り振る際に、リース期間を設定し、DHCPは次のような動作をします
・クライアントがサーバーを見つける
・サーバーは候補のアドレスを送る
・クライアントは正式な要求を送る
・サーバーがそれを認める
送信元MACアドレスについては、NICを取り付けた段階で割り振られており 、
宛先MACアドレスについてはARP(Address Resolution Protocol)を使用してARP要求を出し、 ARP応答が帰ってきて取得します。
レイヤ3のネットワーキングデバイス
レイヤ3はネットワーキングデバイスには、「ルータ」があります。
この「ルータ」は、データ転送のおいての経路選択を決定する役割があります。
「ルータ」の特徴は以下の通りです。
・ルータの各ポートはそれぞれのネットワークに所属しており各々のネットワークで論理 アドレスを所持している
・「ルーティングテーブル」に、「宛先ネットワーク」、「距離」、「送信ポート」の情報を保持している
・「ルーティングテーブル」をもとに、目標のノードに対する最適化を図り、ルーティングを行う
・ブロードキャストを他のネットワークに流さない
・ブロードキャストが届く範囲(ブロードキャストドメイン)を分け、全てのノードに送らず、パケットを分ける
レイヤ2のエラー報告プロトコル
ルータはデータを送信した際に、宛先IPアドレスがルーティングテーブルにない場合は、 ICMP(Internet Control Message Protocol)というエラー報告プロトコルを使用し、 エラー返信をする際は、IPヘッダとICMPメッセージをカプセル化します。
ICMPはDOS攻撃(サービス妨害)にも使われるので管理者は運用に気をつけます。
OSI参照モデルレイヤ4について
レイヤ4(トランスポート層)は、ノード間のデータ転送の信頼性を確保するための規定で、確認応答(ACK)、フロー制御(溢れないようにバッファに保留)を行い、信頼性の高いデータ転送を行う。
ホストのどの通信アプリケーションへのデータか判別するためにポート番号がつけられ、 セグメントにはシーケンス番号(順番番号)が付与される。
レイヤ4では、TCPまたはUDPが用いられ、TCPでの場合は、コネクションの確立が必要なため、スリーウェイハンドシェイクという方法が使用される。
「スリーウェイハンドシェイク」とは、最初は
「SYNを送る→(宛先)ACK+SYNを送る→ACKを送る」
終了の際は、
「(クライアント)FINを送る→(宛先)ACKを送る→(宛先)FINを送る→(クライア ント)ACKを送る」
セグメントを送信する際に分割して送るが、一気に送るとバッファが溢れてしまうため (バッファフロー)、これを防ぐために、ウィンドサイズ(バッファの容量)によって送るセグメントを変えて送信します。
これを「スライディングウィンドウ」と言います。
レイヤ4の制御
上記で記述したフロー制御の他に、「輻輳制御」という方法があります。
「輻輳制御」は、データを送る際にバッファフローを起こす前にネットワークに負荷がか かり、パケットが破棄される(輻輳)が、これを防ぐ役割があい、「スロースタートアル ゴリズム」を用いる。
スロースタートアルゴリズム
・送るセグメント数を1から順番に増やす
・輻輳が発生したら、送る数を減らし、輻輳が連続して発生させない
この、輻輳制御とフロー制御は、同時に行われ、確実性・正確性がとても高いプロトコル です。
TCPやUDPは、netstatコマンドで見る事ができ、ポートの状態まで調べられます。
レイヤ4では、ポート番号でどのアプリケージョンか判別できます。
・FTP..20,21
・telnet..23
・SMTP..25
・DNS..53
・DHCP..67,68
・HTTP..80
・POP3..110
・SNTP..161,162
プログラミング学習ツール
https://prog-8.com/languages
https://dotinstall.com/
私は、エンジニアの学習にあたってこちらの資料を参考にしました。
http://www5e.biglobe.ne.jp/aji/3min
https://ping-t.com/
【エンジニアの職探しならこちら🔻】
フリーランスエンジニアに安心保証と豊富な案件紹介を【midworks】
【IT・プログラミング関連記事】
また、何かあったら紹介したいと思います。
質問などがあれば気軽にコメント下さい。
仕事の依頼などがあればメールまたはSNSにてお問い合わせ下さい。
以上が今回のブログとなります。
読んで頂きありがとうございます。
また次回お会いしましょう。
※0円で受けれるプログラミング説明会
今話題のテックキャンプ。
実績、知名度ともに業界最大級の未経験を対象としたテクノロジースクールです。 受講期間中はいつでもメンター(講師)に質問ができ、目的達成のためにトレーナーが徹底的にサポートします。
【ミャンマー写真集】
【ミャンマー語学習教材3選】
※ミャンマー語のテスト問題集作成しました。詳しくはこちらから
※ミャンマースポーツコミュニティ⏩【Myanmar Sports/ISPE】
※ミャンマー✖️日本コミュニティー⏩【MyanJapa Life】
企業の方、プレスの方、個人の方など、仕事の依頼に関するお問い合わせは以下の
フォームからお気軽にご連絡下さい
コメント