7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OSI基本参照モデルについて勉強している

Last updated at Posted at 2020-02-18

はじめに

基本情報技術者試験に申し込んだので過去問を解いてみたのだが、初見では半分しか解けなかった。ネットワークについての知識が不十分のようだ。

というわけで、OSI基本参照モデルをベースに知識を増やしていく。これはそのメモ書きだ。

ニコニコ動画ユーザー非公式交流Slackで質問に答えてくれた皆様に感謝を。

なお、基本情報技術者試験では問われないレベルの内容も多数含んだメモ書きである。

OSI基本参照モデルの前に

パケットとデータグラムと

パケットという概念はOSI参照モデルより古い概念である。

パケット - Wikipedia

パケット単位で小分けにして通信を行うことにより、回線を連続して占有することができないため、複数の端末からの送受信データを1本の回線に集められる(多重化)、大容量のデータのうち1か所が破損・喪失した際に、ひとつのパケットを再送するだけで足りる等の利点がある。

ではデータグラムとはなにか。

データグラム - Wikipedia

「データグラム」は「パケット」と同義語として扱われることが多いが、ニュアンスは若干異なる。 「データグラム」は一般に、宛先に届かない場合でもユーザに通知しない、信頼できないサービスでのパケットを意味する。 一方「パケット」は、パケットとしてフォーマットされたメッセージ一般を指す。

ところでOSI基本参照モデルにおいてパケットといえば、第三層の話である。これはどういうことか。

データグラム - Wikipedia

OSIレイヤー データグラムの名前
Layer 4 データセグメント
Layer 3 データパケット
Layer 2 フレーム (IEEE 802.3)
フレーム (IEEE 802.11)
セル (ATM)
Layer 1 チップ(英語版)

slackで聞いてみた。

実体としておなじものでも、それぞれのレイヤーから見ると別の名前がついている、という感じですね

イーサネット

イーサネットはOSI参照モデルの下位2つの層である物理層とデータリンク層に関して規定している。 現代の有線LANは、OSI参照モデルの下位2層に相当するイーサネットとそれ以上の層を規定した「TCP/IPプロトコル」の組み合わせが一般的である。

イーサネットの規格名の大体の付け方を下に示す。

$$
\begin{pmatrix}
10 \
100 \
1000 \
10G \
\end{pmatrix}
\begin{pmatrix}
BASE \
BROAD \
\end{pmatrix}
\begin{pmatrix}
2 \
5 \
-TX \
-FX \
etc \
\end{pmatrix}
$$

ネットワーク・トポロジー

NetworkTopologies.png
パブリック・ドメイン, リンク

イーサネットはバス型構成であったが、10BASE-Tからはケーブル形状の変更で物理的にはスター型トポロジーとなった

ところでバス型がぴんとこない。slackで聞いてみた。

バス型ってどういうことなのかイマイチぴんとこないです。航空無線みたいなものをイメージすればいいんでしょうか?(同じ帯域を聞いている人間全員に伝わる

こんな返事が。

そうですね、まさに航空無線のようなものです。あれも、複数人が同時に話そうとするとスキール音になって全員が通信失敗しますよね。
だから、CSMA/CDみたいな仕組みがEthernetにはあるんですよね。

OSI基本参照モデル

番号 名称 役割 具体例
7 アプリケーション層 個々のアプリケーション WWW、メール
6 プレゼンテーション層 データの表現形式 HTML
5 セッション層 通信手段 HTTP
4 トランスポート層 End-End間の通信制御 TCP、UDP
3 ネットワーク層 データを送る相手を決め最適な経路で送る IP
2 リンク層 隣接機器同士の通信を実現する Ethernet
1 物理層 物理的な接続、電気信号 光ファイバ、電話線

アプリケーション層はJISの訳語では「応用層」らしい。

プロフェッショナルIPv6 p.45

IPv4とIPv6の両方が同時に存在する場合
CC BY-NC-SA

以下はOSI参照モデルまとめ - Qiitaを基に、引っかかった部分などを追記していく。

レイヤー1:物理層

L1ハブ

OSI参照モデルまとめ - Qiitaの物理層のネットワーキングデバイスにハブが出てくるがどういうものだろうか。slackで聞いてみた。

というかL1ハブは自分でも作れるレベルのものですね
コネクタ同士を電気的に結線するだけw
なんの制御もしないものです

ああ、だからリピーターと同列に書いてるのか。

OSI 7層モデル:Geekなぺーじ

「1.みんなに送るけど自分に関係ない通信は無視してね!なハブ」を「リピーターハブ」と言います。

メディアコンバーター

物理層において,異なる伝送媒体を接続し,信号を相互に変換する機能のことらしいです(過去問より)。

メディアコンバータ|スイッチングハブ(HUB)|パナソニックLSネットワークス株式会社|Panasonic

メディアコンバータ(メディコン)は、UTPケーブルから光ファイバに変換することで、UTPケーブルでは100mまでに限られている伝送距離を延長するための変換装置です。スイッチングハブと接続して使用します。
光ファイバはノイズに強いので、工場などのノイズ発生源が多い環境下における通信障害対策に有効です。

レイヤー2:データリンク層

OSI 7層モデル:Geekなぺーじ

img

この図がわかりやすい。

ネットワークデバイスにはMACアドレスが振られており、これがノードを識別するキーになる。

フレーム

宛先のMACアドレス、送信元のMACアドレス、データ長orタイプ、データ本体、FCS(CRCによるチェック)という構成のフレーム(byte列)が流れていく。

イーサネットのフレームのつながり.PNG
Tosaka - 投稿者自身による作品, CC 表示-継承 3.0, リンクによる

タイプとは上層位のプロトコル種別を表している。結局「データ長orタイプ」の構成は以下のようになる。

DIX 規格のフレームフォーマット – Tech Knowledge

タイプ (16 進数表記) 意味
0x0000 ~ 05DC IEEE802.3 規格のデータ長 (DIX 規格では未使用)
0x05DD ~ 05FF 未使用
0x0800 IPv4
0x86DD IPv6
0x0806 ARP
0x8035 RARP
0x8100 IEEE802.1Q (VLAN)
0x8808 IEEE802.3x (フロー制御)
0x8809 IEEE802.3ad (リングアグリゲーション)
0x8137 PPPoE Discovery Stage
0x8864 PPPoE Session Stage

受信側でFCSを用いてフレームの検査が行われ、誤りがある場合は単に破棄する。

衝突への対応

イーサネット - Wikipedia

初期のイーサネットは論理的、物理的ともにバス型構成であり、複数の端末が1本の同軸ケーブルに接続されていた。多数の端末が繋がっている場合には、任意の端末AとBとの「1対1」の排他的な通信は不可能であり、端末Aから送出されたデータは、同じイーサネットの配線に繋がっている全端末へ届けられる「1対全」の通信方式である。「1対全」の通信であるため、既に端末AとBが通信している時に端末Cが新たに送信したい場合は、伝送路の空きを待つ必要がある。複数の端末が接続されている時に、ほぼ同時に送信が行われた場合、衝突することがあり、その場合データが損失する。これを衝突(コリジョン)と呼

この方式としてCSMA/CDとCSMA/CAが挙げられる。

まずCSMAの意味合いは次のとおりである。

  1. 搬送波感知(Carrier Sense)

    通信を開始する前に、一度受信を試みることで現在通信をしているホストが他にあるかどうか確認する。

  2. 多重アクセス(Multiple Access)

    複数のクライアントは同じ回線を共用し、他者が通信をしていなければ自分の通信を開始する。

CSMA/CD

イーサネットにおいて用いられている。ただし、スイッチングハブで通信制御を行うことが一般的になったため(物理的にスター型になった)、必要性はなくなり、10GbEthernetなど、Ethernet規格の中でも比較的新しいものでは衝突検出をサポートしていない。

  • 衝突検出(Collision Detection)

    複数の通信が同時に行われた場合はそれを検知し、ランダムな時間待ってから再び送信手順を行う。

CSMA/CA

無線LANの通信規格であるIEEE 802.11において用いられている。これは無線通信では信頼できる衝突検出がないためである。

  • 衝突回避(Collision Avoidance)

    搬送波感知の段階で通信中のホストが存在した場合、通信終了と同時に送信を試みると衝突する可能性が高い。そのため、他のホストの送信終了を検知した場合は自分が送信を開始する前にランダムな長さの待ち時間をとる。なお、永久に送信できない事態を防ぐため、この待ち時間は徐々に短くされてゆく。

レイヤー3:ネットワーク層

ようやくIPアドレスの出番がやってきた。IPv4だとかIPv6とかはこのレイヤーの話になる。ネットワーク層では隣の機器だけではなく離れた機器の通信も扱う。ここでルーターが大事になってくる。

ルータが通信経路の決定に関わる(経路選択機能)。

IPv4とIPv6の詳細はプロフェッショナルIPv6を後でのんびり眺める。

なおICMPはIPv6時代ではICMPv6になったが、もはや別物と言っていい進化を遂げたらしい。つまり、もはやpingtracerouteが主要な用途だった時代は終わったということらしい。知らんけど。

プロフェッショナルIPv6 p.102 表6.1 さまざまな機能のICMPv6 への統合

機能 IPv4 における手段 IPv6 における手段
エラーメッセージ、情報メッセージなど ICMP ICMPv6
IP アドレスからリンク層アドレスの解決 ARP 近隣探索(ICMPv6)
リンク層アドレスからIP アドレスの解決 RARP 近隣探索(ICMPv6)
マルチキャストの機能 IGMP MLD(ICMPv6)

CC BY-NC-SA

レイヤー4:トランスポート層

ほとんどの通信はTCPが用いられるが、そのほかにもUDPがある。また、TCPだと機能が多すぎるけどUDPだと少なすぎるという用途のためにSCTPとかQUICがある。

SCTPがすでにあるのにそれに似たQUICというUDP上で構築されたものが出てきたのは

SCTPとは - Qiita

QUICの動機として分析があるけど、結局、TCP/UDPじゃないと通信を通してもらえるか怪しくなる、はあるんでしょうね。

QUICのoverUDPはオーバーヘッドと現実解としての利便では利便が勝つってことでしょうし

というコメントを見かけた

ハブとかスイッチがどのレイヤーかわかりにくい問題

まずハブと言う言葉はL1でもL2でも見かける。L1のハブとは単に通信線をつなげただけのものに過ぎなかった。L2ハブではスイッチング機能(=MACアドレスを見て特定の機器にのみ伝える)を持つものが一般的になっている(スイッチングハブ)。

L2スイッチはスイッチングハブの機能に加えて、VLANを構成できる。

L3スイッチはVLAN間の通信の制御ができるルーター機能を持つ。

・・・と思ったが早速slackでツッコミが入った。

VLANを構成できる機能はL2、L3と関係ないです。VLAN間の通信制御ができないL3SWもあります。VLANは中級編くらいなので、今は意識しなくて良いです。VLANが構成できるルータはポートVLANとタグVLANがあって・・・と説明すると長くなります。

L2スイッチはあくまでもOSIのレイヤー2をみて通すということしか言ってない

VLANまわり理解することを諦めた。いつかきっとまた勉強しよう。

と言っていたら、slackでさらにコメントが付いて

L2SWとL3SWに関しては、それぞれ、第2層(macアドレス)・第3層(IPアドレス)を元に流す先を決める…っていう程度の理解で問題ないと思いますー

VLANはこの図を見てもらうのがなんとなくわかってもらえそう
そしてとりあえずそのなんとなくレベルで今は良さそう

img

さらに

を見ると良いと言われた。あと実際に手を動かして勉強するためには
CISCOスイッチ/ルータの無料エミュレーターの紹介 | Netassist Blog
のようなシュミレーターがあるらしい。

あとVLANのメリットは

1つのスイッチで複数のネットワークが使えて、切り替えられるのがメリットと考えてますー

もしこれをVLAN使わずにそれぞれ分けたネットワークで構成するなら、ネットワークの数だけスイッチが必要になるところを、VLANを使えば1つで済ませられます

さらに、アップリンク(上流側)はトランクポートにすることで、「VLAN=10」「VLAN=20」みたいなタグをつけて流すことができるので、複数のネットワークで同じ線を共有することができるようになりますー

さっきの図だと、VLAN使わなければ営業部と開発部と幹部とで上下それぞれ3つずつスイッチが必要になる上に、それぞれを結線しないといけないのでスイッチ間の線も3本になるところが、VLANのおかげでスイッチ2つの線1本で済むっていう感じです

とのこと。

参考資料

License

CC BY-NC-SA 4.0

Cc-by-nc-sa icon.svg

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?