Closed hayashi-ay closed 1 year ago
物理層でネットワークを延長する機器。減衰して変形した信号の波形を増幅・整形して流す。 伝送速度の異なる通信媒体を接続することはできない。その場合はブリッジやルーターを用いる。
データリンク層でネットワーク同士を接続する機器。フレームをメモリ上にバッファしてから相手側セグメントに送り出す。そのため、伝送速度の異なるデータリンク同士を接続することができる。
ネットワークとネットワークを接続する機器。
コンピュータで扱う情報は2進数だが、通信媒体でやり取りされるのはで熱の変化や光の点滅、電波の強弱。これらを2進数に変換する働きを担うのは物理層の役割。データリンク層では単なるビット列ではなくフレームという意味のある単位で相手機器に伝える。
MACアドレスにはIEEEからベンダごとに割り当てられる識別子が含まれている。
通信媒体を複数のノードで共有するネットワーク。同じ通信経路を使ってデータを送受信する制御を行うので基本的には半二重通信となり、通信の優先権を制御する仕組みが必要になる。
コンテンション方式 CSMA(Carrier Sense Multiple Access)方式 早い物勝ちでデータの送信権を取得する方式。データが同時に送信されると衝突が発生するため、ネットワークが混雑すると著しく性能が劣化する。
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)方式 CSMA方式に衝突検知する制御を加えて改良した方式。衝突を検知したらデータの送信をやめて乱数時間待ってから再び送信を再開する。
トークンパッシング方式 トークンと呼ばれるパケットを巡回させ、このトークンで送信権を制御する方式。トークンを持っているステーション(ノード)のみがデータを送信することができるので、衝突が発生しない。そのため、ネットワークが混雑しても性能が劣化しないがトークンが回ってくるまでデータの送信ができないので非混雑時はデータリンクの性能を持て余すことになる。
半二重通信 送信と受信を同時に行えない通信。
通信媒体を共有せずに専有するネットワーク。通信媒体を共有しないため、基本的には全二重通信となる。 1対1接続で全二重通信の場合は衝突が発生しなくなるので、検知のための仕組みも不要になり効率のよい通信が可能になる。
ネットワークのトポロジーや使用するブリッジによっては、ネットワークにループがあるとパケットがネットワークを埋め尽くして通信不能な状態になることがある。この状態をメルトダウンと呼ぶ。
スパニングツリー ブリッジを点、ブリッジ間の接続の線としてネットワークを点と線によって構成されるグラフとみなし、接続の一部を使用しないことで木構造を生成する。これによってループを回避する。使用しない接続は障害児の迂回路として利用される。
リンクアグリゲーション 複数の物理リンクを束ねて1つの論理リンクとして扱うことで耐障害性の向上と高速化を実現する仕組み。
LLDP(Link Layer Discovery Protocol) データリンク層のプロトコルで、ネットワークに自身の機器に情報を通知したり隣接装置からの機器情報を収集するためのプロトコル。
無線LANは複数の端末が同じ周波数帯を共有する必要がある媒体共有型のネットワーク。そのため衝突検知の仕組みが必要で、CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)というアクセス制御が用いられている。
2.4GHz帯の周波数を利用する無線LAN。 電子レンジも同じ周波数帯を利用するので干渉を受けやすい。
5GHz帯の周波数を利用する無線LAN。 高周波数なので単位時間あたりの波が多く送れる情報量も多いが、干渉も受けやすいので長距離の通信には不向き。
マイクロ波を使って無線接続を行う形式。
2.4GHz帯の電波を使って通信する規格。小型で電源容量の小さな機器を対象としている。 低消費電力・低コストを実現するBLE(Bluetooth Low Energy)は省電力が必要とされるIoTデバイスなどで活用されている。
転送可能距離が短く転送速度も非常に低速である代わりに安価で消費電力が少ないという特徴を持つ通信方式。電池駆動可能な小型機器への実装に向いている。
省電力かつ長距離での無線通信が可能な規格。
OSI参照モデルのデータリンク層にあたるプロトコル。PPPだけでは通信はできず物理層も合わせて必要になる。
公衆通信サービスとは通信事業者に料金を払って通信回線を借りる形態。
光ファイバーを個人宅まで直接引き込む手法。ONU(Optical Network Unit)という装置で光を電気信号に変換してからコンピュータやルータに接続するのが一般的。
IPは複数のデータリンクで接続されたネットワーク間の通信を実現するプロトコル。データリンクにはそれぞれ固有の特徴があるが、それらを抽象化するのもIPの役割。たとえば、最大転送単位(MTU: Maximum Transmission Unit)などがある。経路の途中でパケット長よりも小さなMTUのネットワークを通過しないといけない場合もあり、そのような問題への対処としてIPではパケットの分割処理を行う。
ホスト部のビットがすべて1であるアドレス。同一リンクに接続されたすべてのホストにパケットを送信するためのアドレス。 ブロードキャストにはローカルブロードキャストとダイレクトブロードキャストの2つがある。 自分が属しているリンク内のブロードキャストがローカルブロードキャストで異なるIPネットワークへのブロードキャストがダイレクトブロードキャストである。 ダイレクトブロードキャストはセキュリティ上の問題があるため、ルーターで転送されないように設定されている場合が多い。
マルチキャストは特定のグループに属するすべてのホストにパケットを送信するために利用される。マルチキャスト機能が使用されるまではブロードキャストで全端末にパケットを送信し受信したホストのIPより上の層で必要かどうかを判定していた。このやり方では不要なパケットがネットワークを流れるのとルーターを超えれないことを考慮しないといけないので異なるセグメントにも同じパケットを送りたい場合は別の仕組みを使わないといけなかった。IPマルチキャストではクラスDのIPアドレスを使用する。
デフォルトルート 経路制御表に登録されているどのアドレスにもマッチしない場合の経路。すべてのネットワークの情報を経路制御表に持つとルーターの負荷が増大するため使用される。0.0.0.0/0またはdefaultと記述される。
ホストルート /32で表されるIPアドレスのことをホストルートと呼ぶ。多用すると経路制御表が大きくなりルータの負荷が増大する。
ループバックアドレス 同一コンピュータ内部のプログラム間で通信したい場合に利用されるアドレス。127.0.01のIPアドレスが使用される。
リンクローカルアドレス ルーターを越えない同一リンク内の通信のために使用される。169.254/16のアドレス。
ホストやルーターは必要に応じてIPデータグラムを分割する必要がある。分割されたIPデータグラムを元に戻す処理は宛先ホストだけで行われる。
経路MTUとは送信先ホストから宛先ホストまで分割処理が必要にならない最大のMTUのこと。経路に存在するデータリンクの最小MTUと等しくなる。分割処理はルーターの負荷になるのと小さいサイズでパケットを送ると分割は発生しないがネットワークの利用効率は下がるので、分割処理が必要にならない最大のMTUでパケットを送るのが最も効率が良くなる。
全世界で一意に決まるアドレス。
データリンクの同一リンク内で一意に決まるアドレス。
インターネットとの通信を行わない場合に利用されるアドレス。
IPv6では分割処理は始点ホストのみで行われ、ルーターは分割処理をしない。そのため経路MTU探索がほぼ必須の機能になる。
DNSによりIPアドレスが決まれば宛先IPアドレスに向けてIPデータグラムを送信することができるが、実際にデータリンクを利用して通信する際にはIPアドレスに対応したMACアドレスが必要となる。
宛先IPアドレスを元に次にパケットを送るべき機器のMACアドレスを知りたいときに使用するプロトコル。ARPはIPv4でのみ利用され、IPv6では代わりにICMPv6の近隣探索メッセージが利用される。
ARPの逆でMACアドレスからIPアドレスを知りたい場合に使われるプロトコル。
自分のIPアドレスに対するMACアドレスを知りたい、というARPパケットのこと。IPアドレスの重複を確認するために使用される。
IPネットワークのデータグラム処理のおける誤りの通知や通信に関する情報の通知などのために使用されるプロトコル。ICMPに関するICMP通知は無限ループを防ぐために送られない。
DHCPを利用するためにはDHCPサーバーが必要になる。そしてDHCPサーバーに配布するIPアドレスなどの設定を行う必要がある。
企業や学校など複数の物理データリンクにまたがるネットワークの場合はそれぞれのセグメントにDHCPサーバーを設定して配布するIPアドレスの設定を行うのは大変。なのでそれぞれのセグメントにはDHCPリレーエージェントを置くことでDHCPの設定を一元管理することができる。
プライベートIPアドレスをグローバルIPアドレスに変換する技術。アドレスだけでなくポート番号も付け替える技術のことをNAPTと呼ぶが、現在は単にNATと呼んでもNAPTのことを指すのが普通。アドレスが枯渇しているIPv4のために生まれた技術だが、IPv6でもセキュリティの向上やIPv4との互換のための使用される。
TCPやUDPではIPヘッダの中のIPアドレスを含めてチェックサムを計算するので、IPアドレスが変わるとチェックサムの更新も必要になる。
ISPレベルでNATを行う技術。
NATには変換テーブルがあるため以下のような制限がある。
通信したいプロトコルそのままでは通信が不可能な場合などに使用される。たとえばIPv4しか対応していないネットワークの間にIPv6しか対応していないネットワークがある場合など。 パケット全体を別レイヤのプロトコルのデータに埋め込んで通信するカプセル化によって実現する。
複数のルーターによる冗長化によって耐障害性を高める仕組み。
マルチキャストの通信は主にUDPをつかて行われる。コネクションレスなので通信相手を特定せずにパケットを送ることができる。受信者がいないのにネットワークにマルチキャストパケットを送り続けるのは無駄になるので受信者がいるかどうかの確認が大事になる。
通常はインターネット上の特定の機器に対して一意に割り当てられるIPアドレスを特定のサービスに対して共通に割当可能とするための技術。IPエニーキャストを使うことで複数のサーバーで1つのIPアドレスを共有することができ、サーバーを分散配置することが可能になる。
IPはもともとベストエフォートのプロトコルとして設計開発され通信品質の保証を提供する仕組みがなかった。動画や尾根性、機械制御などのリアルタイム性が要求される通信サービスが普及してきたこともあり、IPを使った通信サービスの品質を保証するための技術が登場した。大枠の仕組みとしては、通信品質を保証したいパケットについては特別扱いをして優先的に処理する。大きくRSVP(Resource Reesrvation Protocol)を用いてきめ細かい優先制御をするIntServと相対的でおおざっぱな優先制御をする DiffServがある。
輻輳が生じた場合、データパケットを送信しているホストは送信データ量を減らす必要があるが、TCPによる輻輳制御ではパケット喪失の有無で判断するためパケットが失われる前にパケットの送信量を減らすことができない。それを解決するためにECN(Explicit Congestion Notification)という機能が追加された。輻輳を通知するために新たなパケットを送信するのは本末転倒なので、ECNでは行きのパケットのIPヘッダにルーターが服装していたかどうかを記録し、帰りのパケットのTCPヘッダで輻輳が起きていたかを伝えるメカニズムになっている。
ホストが接続しているサブネットが変わってもIPアドレスが変わらないようにする技術。
TCPでは、送信したデータが受信側に到着した際に受信ホストは確認応答(ACK)というデータが到着したことを知らせるパケットを送信ホストに送信する。確認応答があれば、データは相手ホストに到着したことになり、一定時間待っても戻ってこなければデータが喪失した可能性があるため、再度同じデータを送信する。
確認応答処理、再送処理、重複制御にはシーケンス番号が使われる。シーケンス番号はコネクション確立時にランダムに決まり、その後はオクテットごとに1ずつ加算される。
再送せずに確認応答の到着を待つ時間を再送タイムアウト時間と呼ぶ。TCPでは、パケットを送信するたびにラウンドトリップ時間と分散を計測して、それらを考慮に入れた値を再送タイムアウト時間にする。
TCPではコネクション確立時に通信を行うデータ単位を決定する。これを最大セグメント長(MSS: Maximum Segment Size)と呼ぶ。IPで分割処理されない最大のデータ長が理想的な最大セグメント長となる。MSSはスリーハンドシェイクのときに、送受信のホスト間で決められる。
TCPの1セグメントごとに確認応答を行うとラウンドトリップ時間が長くなると通信性能が悪くなる。確認応答を待たずに複数セグメントを送れるようにすることをウィンドウ制御と呼び、その際のセグメントのサイズをウィンドウサイズと呼ぶ。
TCPでは送信側は受信側の受信能力に合わせてパケット送信量を制御し、これをフロー制御と呼ぶ。受信側の都合に関係なく送信側がパケットを送ってしまうと受信側の負荷が高いときなどに受信側がデータを受信しきれなくなってしまうという問題がある。
TCPによる通信では輻輳を避けつつ効率的にデータ送信量を制御するかが大事になる。
パケットを送る回数を減らすことがネットワークの利用効率を高めることに繋がり色々な手法がある。
Nagleアルゴリズム 送信側に送信すべきデータがあっても少ないときは送るべきデータが溜まるまで待って1つのパケットでより多くのデータを送るようにする。
遅延確認応答 受信側が受信してすぐに確認応答すると受信データによって受信バッファが使用されている分、受信可能なセグメント数が小さくなってしまう。確認応答を遅延させることによって受信バッファの空きが増える。
ピギーバック 確認応答と返事のデータパケットを1つのパケットで送ること。スリーハンドシェイクにおける受信側の送信パケットもピギーバックである。ACKとSYNを1つのパケットで送っている。
Googleが提案しIETFによって標準化が進められているトランスポートプロトコル。 UDP+QUICで1つのトランスポートプロトコルの役割を果たし、以下の機能を提供する。
経路制御に関するルールを決めて、それをもとに運用する範囲を自律システム(AS: Autonomous System)や経路制御ドメイン(Routing Domain)と呼ぶ。自律システム内の経路制御に使用されるのがIGPで自律システム間の経路制御に使用されるのがEGPである。
ルーティングプロトコルは、大きくEGP(Exterior Gateway Protocol)とIGP(Interior Gateway Protocol)の2つに分類される。 IGPでは、RIP(Routing Information Protocol)やRIP2、OSPT(Open Shortest Path First)などのプロトコルが利用され、EGPではBGP(Boarder Gateway Protocol)が利用される。
距離と方向によって目的のネットワークやホストまでの位置を決定するアルゴリズム。 処理は比較的簡単だが距離と方向の情報しかないので、ネットワークの構造が複雑になると経路の収束に時間が掛かる、経路にループが生じやすくなるという問題がある。各ルーターごとに情報が異なるので、情報の正しさを確認するのが困難。
ルーターがネットワーク全体の接続状態を理解して経路制御表を作成するアルゴリズム。各ルーターの情報が同じになれば正しい経路制御が行われる。ネットワークが複雑になっても安定した経路制御を行うことができるが、ネットワークトポロジーから経路制御表を求める計算は複雑でCPU能力とメモリ資源が必要になる。
RIPは距離ベクトルによって経路を決定し、経路にはホップ数(通過するルーターの数)が使用される。
OSPFでは各リンクに重みをつけることができ、この重みが小さくなるような経路選択がされる。
BGPでは通過するASの数を元に経路制御を行う。それぞれの自律システムに対して16ビットのAS番号が割り当てられている。
RIPやOSPFではホップ数やネットワークの帯域を考えた効率の良い転送を目指すが、BGPでは各AS間での接続契約に基づいたパケット配送を目指す。BGPでは目的のネットワークに到達するまでのAS番号のリストが作られ、これをAS経路リストと呼ぶ。経路ベクトル方式では、線形に経路を持つのでループの検出ができる。
IPパケットの転送時にIPアドレスではなく、IPパケットにラベルという別の値を設定し、それに基づいて転送する方式をラベルスイッチングと呼び、代表例がMPLSである。
異なるコンピュータ間でファイルを転送する際に使用されるプロトコル。制御用とデータ送信用の2つのTCPコネクションを利用する。 データ送信用のコネクションは制御用のコネクションとは逆向きに確立されるが、NATのある環境などでは通信できないのでコネクション確立の向きを変えるコマンドがある。
電子メールを配送するアプリケーションプロトコル。SMTPには送信者を認証する方法がないのでなりすましなどを防げない。そのため以下のような対策がある。
POPサーバーからメールを取得するためのプロトコル。他人にメールを読み取られることを防ぐためにユーザーの認証も行う。
POPと同様に電子メール等のメッセージを受信するためのプロトコル。POPの場合は電子メールの管理をクライアント側で行うがIMAPの場合はサーバー側で管理を行う。
SNMPでは管理する側をマネージャー(ネットワーク監視端末)、管理される側をエージェント(ルーター、スイッチ)と呼ぶ。マネージャーとエージェントの間の通信のやり取りを定めたものがSNMP。SNMPではMIBと呼ばれるエージェントが管理している管理情報のデータベースの値を見ることと新しい値を設定することができる。
ネットワーク機器の状態や設定情報が格納されたデータベースのこと。
MIBがネットワーク機器のインターフェイス(点)を監視するパラメータ群から構成されているのに対して、RMONは接続されるネットワークの回線(線)を監視するパラメータ群から構成されている。RMONにより監視可能な部分が点の情報から線の情報に広がり、ネットワークを効率的に監視することが可能になる。
ネットワーク上に展開する各端末やホストがサーバーなどを介さずに1対1で直接接続し通信を行う形態。
ネットワーク上の資源を一元管理する仕組みをディレクトリサービスと呼び、LDAPはディレクトリサービスにアクセスするためのプロトコル。
ネットワークに接続される機器の時刻を同期するためのアプリケーションプロトコル。NTPはStratumという階層構造をしていてStratum0に位置するGPS衛星や原子時計の精確な時刻情報(reference clock)を下位のサーバーに配信する仕組みになっている。
物理層にはビット列を電圧の高低や光の点滅などの物理信号に変換して、実際に情報を送る役割がある。物理層の規格ではビットと信号の変換規則、ケーブルの構造や品質、コネクタの形状などを規定している。
ネットワークについてひと通り基本的な知識を確認できました。体系的に勉強したことがなかったのでOSI参照モデルでの物理層、データリンク層やネットワーク層での経路制御について知ることが多かったです。カバー範囲が広い分、説明が薄いなと感じる箇所もある一方で入門書という立ち位置でネットワークに関連しないITの専門用語はあまり使われていなくて冗長さや逆に分かりにくい気もしました。
https://www.amazon.co.jp/gp/product/4274224473