情報処理技術者試験のネットワークスペシャリストという超難しい国家資格がありますが、その試験の中で基礎の基礎として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%受かりません。
そういったことを理解したうえで、ルーティングや冗長構成などの問題に立ち向かうことになります。
#01_はじめに
#02_VisualStudio2022のインストール
#03_SQLServerのインストール
#04_データベースとテーブルの作成
#05_プロジェクトの作成
#06_接続先文字列の作成
#07_データテーブルでのデータの取得
#08_Sqlアクセスクラスの作成
#09_SqlDataReaderでのデータ取得
#10_SqlDataReaderの結果をカスタムクラスに入れる方法
#11_SqlCommandでInsert文を発行する方法
#12_SqlCommandでUpdate文を発行する方法
#13_Update対象がなかったらInsertする方法
#14_SqlCommandでDelete文を発行する方法
#15_Dapperでデータを取得する方法
#16_DapperでInsert文を発行する方法
#17_EntityFrameworkをインストールしてDbContextを作成する方法
#18_EntityFrameworkでデータを取得する方法
#19_EntityFrameworkでInsert文を発行する方法
#20_EntityFrameworkでUpdate文を発行する方法
#21_EntityFrameworkでDelete文を発行する方法
#22_Helperクラスを作ってSqlCommand操作を共通化する方法
#23_パフォーマンスチェックの方法
#24_4つのデータのとり方のパフォーマンスチェック
#25_4つの結果を踏まえて講評
#26_さいごに
下記URLは、ベネッセが提供する教育用プラットフォームにて
私が公開しているプログラミング学習コースです。
無料コースもあるので、よかったらご覧になってみてください。
【無料動画】「C#を勉強する順番」