IFG(アイエフジー)とは | 意味や読み方など丁寧でわかりやすい用語解説
IFG(アイエフジー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
IFG (アイエフジー)
英語表記
IFG (アイエフジー)
用語解説
IFGはInter Frame Gapの略称であり、日本語ではフレーム間ギャップと訳される。これは、イーサネット規格において定められている、ネットワーク上を流れるデータのかたまりである「フレーム」と、その次に来る「フレーム」との間に設けられる、意図的な無信号期間を指す。このギャップの主な目的は、ルーターやスイッチ、コンピュータのネットワークカードといった通信機器が、受信したフレームを適切に処理し、次のフレームを受信する準備を整えるための時間を確保することにある。もしこのギャップが存在しなければ、機器は立て続けに送られてくるフレームを処理しきれず、データの取りこぼし、すなわちパケットロスが発生する可能性がある。IFGは、いわば通信における「小休止」の役割を果たし、ネットワーク全体の安定性と信頼性を支える、物理層レベルの基本的な仕組みの一つである。システムエンジニアを目指す上で、データ通信の根幹をなすこのような規約を理解することは、ネットワークの動作原理を深く把握するために不可欠である。
IFGの具体的な役割と仕組みについて掘り下げる。第一に、受信側機器の処理時間を確保する役割がある。ネットワークインターフェースカード(NIC)やスイッチなどの機器は、フレームを受信すると、内部のバッファメモリにデータを格納し、フレームの末尾にあるFCS(Frame Check Sequence)を用いてデータに誤りがないか検証し、問題がなければ上位のプロトコル層へデータを渡すという一連の処理を行う。これらの処理には、たとえマイクロ秒単位であっても物理的な時間が必要となる。IFGは、この処理時間を保証するために設けられている。この無信号期間があることで、受信機器は次のフレームが到着する前に処理を完了させ、受信準備を万全に整えることができる。これにより、高速な通信環境下でも連続的なデータストリームを確実に取り扱うことが可能となる。
第二に、かつての半二重通信環境における衝突回避の役割が挙げられる。初期のイーサネットでは、複数の機器が一本の同軸ケーブルを共有するバス型トポロジや、ハブを用いたスター型トポロジが主流であった。このような環境では、複数の機器が同時にデータを送信しようとすると「衝突(コリジョン)」が発生し、データが破損してしまう。これを防ぐためにCSMA/CD(Carrier Sense Multiple Access with Collision Detection)というアクセス制御方式が用いられた。IFGは、ある機器がフレームの送信を完了した後、他の機器が回線の状態を確認して送信を開始するまでの最低限の待機時間を規定する役割を担っていた。これにより、衝突の発生確率を低減させていた。現代のネットワークでは、スイッチングハブを用いた全二重通信が一般的であり、送信と受信の経路が独立しているため、原理的に衝突は発生しない。しかし、規格としてのIFGは、旧来の機器との互換性を保つため、また後述する物理的な理由から存続している。
IFGの時間は、イーサネットの通信速度に関わらず、原則として96ビットを送信するのにかかる時間と規定されている。これを「96ビット時間」と呼ぶ。例えば、通信速度が10Mbpsのイーサネットでは、9.6マイクロ秒となる。これが1Gbpsのギガビットイーサネットになると、速度が100倍になるため、IFGの時間は100分の1の96ナノ秒となる。このように、通信速度が向上しても、ビット数で定義されたギャップの相対的な大きさは変わらない。この一貫した規定が、異なる速度のイーサネット規格間での整合性を保つ一因となっている。
IFGを理解する上で、関連する概念であるプリアンブル(Preamble)とSFD(Start Frame Delimiter)についても知っておく必要がある。実際の通信では、前のフレームが終了した後、IFGの無信号期間が設けられ、その後、次のフレームが始まる前に必ずプリアンブルとSFDが送信される。プリアンブルは「10101010」というビットパターンが7バイト続く信号であり、受信側が送信側のクロック信号に自身のタイミングを同期させるための準備信号として機能する。続くSFDは「10101011」という1バイトのビットパターンで、プリアンブルの終わりと、これからイーサネットフレーム本体が始まることを明確に示す区切り信号の役割を持つ。したがって、ネットワーク上のデータフローは、「前のフレーム」→「IFG」→「プリアンブル」→「SFD」→「現在のフレーム」というシーケンスで構成される。IFGは、この一連の流れの中で、通信の切れ目と次の通信の準備期間を明確に定義している。
現代の高速な全二重通信ネットワークにおいても、IFGの存在意義は失われていない。衝突回避という当初の主要な目的の重要性は低下したものの、前述した受信機器内部での物理的な処理時間を確保するという役割は依然として重要である。NICやスイッチに搭載されている半導体チップは、非常に高速に動作するが、それでも信号の受信、バッファへの書き込み、内部バスの制御といった動作には有限の時間を要する。IFGは、これらのハードウェアが安定して動作するための最低限の保証期間、すなわちマージンとして機能している。この標準化されたギャップが存在するからこそ、異なるメーカーが製造した多様なネットワーク機器同士を接続しても、互いに正しくフレームをやり取りでき、イーサネットという技術全体の高い相互運用性が維持されている。システムエンジニアがネットワークのパフォーマンスチューニングやトラブルシューティングを行う際、アプリケーション層やトランスポート層だけでなく、IFGのような物理層レベルの規約が通信の安定性に寄与していることを理解しておくことは、問題の根本原因を特定する上で非常に有益な知識となる。