情報処理技術者試験のネットワークスペシャリストという超難しい国家資格がありますが、その試験の中で基礎の基礎としてOSI参照モデルという考え方が必要となります。
OSI参照モデルは、ネットワークをつなげるためひとつの規格ですが、7つに別れていますが、ネットワークスペシャリストに出てくるのはそのうちのレイヤー2とレイヤー3が八割がたって感じで、後のレイヤーがその他の2割程度という感じでしょう。
とはいえ、各レイヤーがどんなことをしているのかは知っておかないと、頭の中が混乱して、よくわからなくなるので、最初に整理しておきましょう。
OSI参照モデルをわかりやすく解説
レイヤー1 物理層
物理層はその名のとおり、物理的な世界です。ケーブルとか電気信号とかの規格の話です。
伝送媒体としてツイストペアケーブルや光ファイバーケーブルの規格や種類を覚えましょう。
レイヤー2 データリンク層
データリンク層は近くのPCなどにつながるお話です。
基本的にはMACアドレスで認識する世界の話です。
ここではスイッチングハブ、L2スイッチ、イーサネット、無線LANなどがテーマになります。
ここのボリュームは結構でかいです。
レイヤー3 ネットワーク層
ネットワーク層は、経路制御の話になります。
隣のルーターに渡す話。どのルーターに渡すべきかなどの話になります。
基本的にはIPアドレスが中心の話です。
IPアドレス、ルーター、L3スイッチの話が中心で、ルーティングの知識が必要になります。
後は冗長構成の話も良く出てくるので、VPPR、負荷分散の知識が必要です。
ちなみにネットワーク層は、信頼性の無い通信を提供するイメージです。
必ずパケットが届くかどうかは保障していない世界です。
レイヤー4 トランスポート層
トランスポート層は、パケットをちゃんと届ける、信頼性のある通信を実現するためのTCPが中心の世界です。
TCPが送ったパケットがすべて相手に届く、エラーなく届く、送った順序どおりに届くということを保障してくれます。
一部UDPというものが、信頼性の無い通信をしますが、基本的にはTCPで信頼性のある通信がメインです。
そのためにポート番号というものを使います。
コネクション型がTCP(信頼性あり)
コネクションレス型がUDP(信頼性なし)
と覚えておきましょう。
レイヤー5から7 セッション層、プレゼンテーション層、アプリケーション層
セッション層以降はアプリケーション層としてごちゃ混ぜで考えてしまってよいでしょう。
試験でも、ここを明確にしたような問題はほぼ出ません。
まとめ
簡単ですが、以上がネットワークの全体となります。
特にレイヤー2とレイヤー3の知識が中心で、レイヤー4もある程度含みます。
その他のレイヤーの話はほぼ出ません。MACアドレス、IPアドレス、TCPの世界を完全に理解することが重要です。
レイヤー2の世界はどのアドレスで通信しているかなどが簡単にわかるようになるレベルになるのが、この試験のスタートラインです。MACアドレスとIPアドレスの使い方の違いが良くわからないようでは100%受かりません。
そういったことを理解したうえで、ルーティングや冗長構成などの問題に立ち向かうことになります。
Udemyの非売品コース「C#14新機能」という80分の動画レクチャーを
無料でプレゼントしています。
こちらからご覧になってみてください。
A01_はじめに
B01_メッセージを出すレイアウトの作成
B02_pタグを使ったメッセージ表示
B03_ポップアップメッセージを表示する方法
B04_問い合わせメッセージを表示する方法
B05_ユーザーの入力を受けるメッセージ
B06_インラインJavaScript非推奨
B07_Javascriptを分離してアクセスする方法
B08_MessageServiceを作成する
B09_自作Serviceの依存性注入をする方法
C01_EditFormを使った入力検証
C02_ValidationSummary
C03_ValidationMessage
C04_入力コンポーネント_InputText
C05_InputNumber
C06_未入力を許容する方法
C07_InputNumberで対応している型
C08_InputDate
C09_InputSelect
C10_入力コンポーネント_InputCheckbox
C11_InputRadioとInputRadioGroup
C12_InputTextArea
C13_InputFile
C14_ファイルの上限を設定する
C15_フォーカスをあてる方法_標準編_ElementReference
C16_フォーカスをあてる方法_Razorコンポーネント編
D01_StringLength
D02_RegularExpression_正規表現
D03_EmailAddress
D04_Compare
D05_ViewModelに分ける方法
D06_依存性注入を利用したViewModelの生成
D07_CustomValidation1
D08_CustomValidation2
D09_プロパティレベルのCustomValidation
D10_ValidationContext
D11_処理をViewModelに移す書き方
D12_ViewModelに移せないロジック
D14_ShouldRender
D15_ViewModelに書かないほうがいいもの
D16_エラー箇所にフォーカスを当てる方法
E01_Azureにデプロイするための事前作業
E02_Azureにアップするアプリの作成
E03_Azureへの公開準備
E04_Azureへの公開
E05_データベースの作成
E06_データベースのデータを取得する
E07_データベースの値を画面に表示する
E08_Azureのデータベースを作成する
E09_Azureのデータベースにポータルサイトからログインする
E10_AzureのDBにテーブルを作成する
E11_BlazorアプリからAzureDBに接続する
E12_SQLデータベース料金の注意
E13_AzureSQLデータベースの無料オファーを受ける
F01_依存性注入のライフサイクル
F02_クラウドでのAddSingletonの動き
Udemyの非売品コース「C#14新機能」という80分の動画レクチャーを
無料でプレゼントしています。
こちらからご覧になってみてください。