見出し画像

【TCP/IP】用語まとめ

①フラッディング、フィルタリング

・起動時など、MACアドレスがキャッシュされていないスイッチは、フラッディング(受信ポートを除く全てのポートにフレームを転送する)により送信元MACアドレス、受信したポート番号、そのポートが所属するVLAN番号の情報をキャッシュする。
・宛先ホストはこのフレームを受信して処理し、それ以外のホストは自分宛ではないのでフレームを破棄する。
・フラッディングにより既に情報がキャッシュされているスイッチは、フィルタ次回以降フィルタリング(宛先となるポートにのみフレームを転送)を行うとこができる。
参照:https://www.infraexpert.com/study/ethernet7.html


②CSMA/CD(Carrier Sense Multiple Access/Collision Detection)

CSMA方式は、半二重通信(half duplex)において使用する、データの送信権を奪い取る通信方式で、複数ステーションから同時に送信されるとコリジョンを起こし、ネットワークが急激に機能低下してしまう。
CSMA/CD方式はCSMAを改良したもので、コリジョンを早期検出して素早く通信路を開放し、乱数時間待ってから送信をやり直す仕組みになっている。
・半二重通信において使用する通信方式であり、全二重通信では使用されず、スイッチングハブに接続されたノードはいつでもデータの送受信が可能
・10Base5や10Base2といった同軸ケーブルを使用したバス型のトポロジーや、10Base-T/100Base-TXのケーブルの場合や、半二重通信しかサポートしないハブを使用したスター型トポロジーでも、CSMA/CD方式は使用される。
参照:https://www.infraexpert.com/study/ethernet5.html


③半二重通信(Half Duplex)、全二重通信(Full Duplex)

半二重通信とは、トランシーバーのように、送信中は受信できず、受信中は送信できないような通信のことで、全二重通信とは送受信を同時に行える通信のこと。
CSMA/CDを採用しているEthernetは半二重通信だが、スイッチとツイストペアケーブル(または光ケーブル)を使う方式では全二重通信が可能になる。
同軸ケーブルで利用されるEthernet(10BASE5, 10BASE2)は半二重通信だが、スイッチングハブやイーサネットスイッチ(複数のポートを持ったブリッジのようなもの)の登場により媒体非共有型で利用されている技術を使えるようになった。


④媒体共有型

媒体共有型のネットワークとは、CSMA方式(コンテンション方式)やトークンパッシング方式など、通信媒体を複数のノードで共有するネットワークのこと。
・初期のEthernetやFDDIは媒体共有型なので、同じ通信路を使ってデータを送受信する半二重通信となり、通信の優先権を制御する仕組みが必要になる。
CSMA方式はデータの送信権を奪い取る方式で、複数ステーションから同時に送信されるとコリジョンを起こし、ネットワークが急激に機能低下してしまう。
・Ethernetの一部ではCSMAを改良したCSMA/CD方式が採用され、コリジョンを早期検出して素早く通信路を開放し、乱数時間待ってから送信をやり直す仕組みになっている。
トークンパッシング方式は、トークンと呼ばれるパケットを巡回させ、誰にでも平等に送信権が回ってくる仕組みになっている。
・トークンが回ってくるまでデータを送信できないため、アーリートークンリリース方式やアペンドトークン方式など、同時に複数のトークンを巡回させるなどの技法による工夫がされている。


⑤媒体非共有型

通信媒体を共有せず占有する方式のことで、スイッチに直接接続され、スイッチがフレームを転送する、全二重通信な方式のこと。
・ATMや最近のEthernetで採用されており、1対1接続なためコリジョンしにくくなる為、より効率のよい通信ができ、CSMA/CDも不要である。
スイッチに高度な機能を持たせることによりVLANの構築が可能になる反面、スイッチが故障するだけで接続された全てのコンピューター間の通信が不可能になってしまう欠点もある。


⑥フォワーディングテーブル(転送表)
・L2スイッチングハブが受信したフレームのヘッダ(送信元MAC、宛先MAXアドレス、タイプ)を元に自己学習して記録したテーブルのこと。
・フォワーディングとは、転送(右から来たデータを左へ送り出すなど)と言う意味。
・PC-AからPC-Bにフレームを送信すると、まず転送表(L2SW内)は送信元MACアドレスからPC-Aはポート1に繋がれていると学習し、送信先MACアドレスをフラッディング(受信したポート以外の全てのポートにコピー)し、PC-Bはポート2に接続されていると学習し、次回PC-A宛てのフレームが来たらフィルタリング(ポート1からのみ送信)することができる。
・スイッチの転送方法には、ストア&フォワード(フレーム末尾のFCSをチェックしコリジョンしたフレームやエラーフレームは転送しない方式)と、 カットスルー(フレームを全部蓄積し終わる前に転送を開始しタイムラグをなくした方式)の2種類がある。


⑦ARP(Address Resolution Protocol)
・IPアドレスからEthernetのMACアドレスの情報を得られるプロトコル。
・IPパケットは、下位層でL2ヘッダが付加された上で伝送されるためMACアドレスが必要となるが、IPアドレスとMACアドレスは 自動的な関連づけがないので、ARPで宛先IPアドレスを持つノードのMACアドレスをを得る必要がある。
・送信元から、MACアドレスを知りたいノードのIPアドレスが入ったARPリクエスト(ARPパケット)をブロードキャスト(同じセグメントの全ての端末に送信)すると、探索しているIPアドレスが自分(192.168.0.2)だと分かった受信端末は、自分のMACアドレスが入ったARPリプライ(ARPパケット)を送信元に送る。
・ARPリクエストによりARP情報がやりとりされると、ARPキャッシュとして一定時間ARPテーブルに情報が残るため、その間はLANでの通信が可能である。
・コマンドプロンプトで「arp -a」と入力すればARPテーブルを確認できる。動的に得られたARP情報は一定時間の後に消えるが、すぐ削除したい場合は「arp -d」で削除可能。
・ARPはIPと同様にネットワーク層で動作するという点、IPパケットではなくARPパケットである点、ARPパケットはイーサネットフレームにカプセル化(L2ヘッダの付加)されるという点は重要である。
参照:https://www.infraexpert.com/study/tcpip3.html


⑧GARP(Gratuitous Address Resolution Protocol)
・自分自身に設定するIPアドレスが重複していないかを検出したり、同一セグメントのネットワーク機器上のARPキャッシュを更新することによって、 VRRPやHSRPなどで切り替わりが発生した機器とすぐに通信できるようにするもの。
・通常のARPは宛先のIPアドレスに対して宛先のMACアドレスを得ようとするが、GARPは自身のIPアドレスに対して自身のMACアドレスを得ようとするもの。
参照:https://www.infraexpert.com/study/tcpip3.html


⑨3ウェイハンドシェイク(three-way handshaking)
・TCP接続では、UDPと比べてかなり複雑な制御が行われており、オープン時に3ウェイハンドシェイクで初期シーケンス番号を交換し、2つのホストがそれぞれの 初期シーケンス番号を同期させ、接続を確立する。
・送信するデータはセグメントという転送単位に分割され、パケットがばらばらに到着することもある為、TCPではシーケンス番号を使用して送信するデータの バイト位置を指し、送信したセグメントを元通りのデータに復元できるようになっている。
・TCPヘッダの中にはシーケンス番号のフィールドもあり、32bit長、符号なしの整数値で表現される。
・セグメントの偽装防止のため、3ウェイハンドシェイクでのコネクション開始時の通信路にはランダムに決めたシーケンス番号を初期値とするようになっている。
・3ウェイハンドシェイクの手順:送信元が送信先に「SYNパケット(ランダムに決めたシーケンス番号を記載したもの)」を送信⇒「SYNパケット」を受け取った送信先は、送信元に接続を許可する「SYN,ACKパケット」 を送信する。⇒「SYN,ACKパケット」を受けとった送信元は、接続開始をあらわす「ACKパケット」を送信し、受信側との通信を開始する。
・3ウェイハンドシェイクの手順:クライアント(送信元)がサーバ(送信先)に「SYNパケット(ランダムに決めたシーケンス番号を記載した、TCPヘッダの SYNフラグがオンに設定されたパケット)」を送る。⇒サーバは「ACK番号:確認応答番号(受け取ったシーケンス番号とこれに1を加えたを記載したSYN+ACKパケット(SYNフラグとACKフラグがオンになったパケット)」を返信する。⇒クライアントが受け取ったシーケンス番号に1を加えたものとACK番号を記載したACKパケット (ACKフラグがオンになったパケット)を送信する。
参照:https://net-skills.net/intro-menu1/three-way-handshake/


ポート番号
・IANAが管理するTCP/UDP上のサービスを識別するための65535個の番号で、サーバのアプリケーションに割り当てられたWell Known Port Number(0~1023)、 独自に作成されたアプリケーションに割り当てられたRegistered Port Number(1024~49151)、IANAに登録する必要なくユーザが自由に取り扱える、サーバ とのプロセスに応じクライアントのアプリケーションに動的に割り当てられDynamic Port Number (49152~65535) の3種類に分かれている。
・プロセスやスレッドは、ポート番号を目印にどのアプリケーションとどのアプリケーションが通信をとっているのかを判別しているが、ポートが開いている ということは、特定の部屋の扉を開け放っている状態なので、サービスを提供するサーバでもない限り、不必要なポートは開かないようにしなければならない。
参照:https://www.infraexpert.com/study/tea5.htm


イーサネットフレームフォーマット
・イーサネットフレームには複数のフレームがあるが最も使用されているのはDIX仕様(EthernetⅡ)である。
・イーサネットフレーム(EthernetⅡ)の前には1010を交互に並べた8オクテットのプリアンブル(物理ヘッダー)が付き、プリアンブルの末尾は11で SFD(Start Frame Delimeter)と呼ばれ、それ以降がEthernetヘッダである。
・Ethernetヘッダ(フレーム本体の先頭)は合計14オクテットあり、宛先MACアドレス6オクテット、送信元MACアドレス6オクテット、タイプ(データ部分で運んでいる 上位層のプロトコルの種類)2オクテットである。(※8ビットは1オクテット)
・最後のトレーラー(FCS:FrameCheckSequence)は、フレームが壊れていないかを確認するデータで、ノイズによるエラーフレームを破棄し、正しいデータのみを残す。
・Ethernet802.3のフォーマットは、送信元MACアドレスとデータの間に、タイプではなく、フレーム長2オクテット、LLC3オクテット、SNAP5オクテットが入る。
・VLANを利用する場合のフォーマットは、送信元MACアドレスとタイプの間にVLANで追加される2オクテットのフィールドが入る。
参照:https://www.infraexpert.com/study/ethernet4.html


アクセスポート・トランクポート(タグVLAN)
・アクセスポートとは、1つのVLANにのみ割り当てられているポートで、割り当てられているVLANのイーサネットフレームのみ転送できる。
・トランクポートとは、複数のVLANに割り当てられているポートで、複数のVLANのイーサネットフレームを転送できる。
・アクセスポートとトランクポートをまとめて「スイッチポート」と呼ぶことがあり、L2SWのポートを指している場合が多い。
・1台のスイッチではなく、複数のスイッチを利用してネットワーク構築する際などに、スイッチを跨いでVLAN構築を行いたい場合、スイッチ間で 複数のVLANのイーサネットフレームを転送することになり、スイッチ間の接続をシンプルにするためにポートをトランクポートとして設定する。
・スイッチを跨いで複数のVLANを構成するとき、トランクポートを利用すればスイッチ間の接続は1本だけで済む。
・複数のVLANに割り当てられ、複数のVLANのイーサネットフレームを転送できるポートで、トランクポートで送受信するイーサネットフレームにはVLANタグが付加される。
・VLANの基本的な仕組みは「同じVLANのポート間でのみイーサネットフレームを転送する」ことである。スイッチは、自身の内部のVLANとポートの割り当ては 分かるが、他のスイッチの内部のVLANとポートの割り当ては分からない。
参照:https://www.n-study.com/vlan-detail/trunkport/


100Base-TX、1000Base-TX、1000Base-T 伝送方法の違い

・1000Base-TX規格は存在しているが普及しなかった。
・1000Base-Tは高かったけど安くなってきて普及した。
・カテ5がいいが考えずにカテ6にしちゃってる
・UNOのときはDuplex設定しないと大変なことになる
参照:http://www.aim-ele.co.jp/tech/metal-tech6/







この記事が気に入ったらサポートをしてみませんか?