オクテット
8ビットをひとまとまりとするデータの単位。通信の規格では、長さを表すときにバイトではなくオクテットを使うことが多い。
イマシルちゃんの解説
「8ビット=1バイト」って覚えてる人、多いよね?
実は昔のコンピュータには、1バイトが6ビットや9ビットのものもあったんだ。
それだと「1,400バイト」って書いても、機械によって量が変わっちゃう。
そこで通信の世界では「必ず8ビット」と決まってるオクテットを使うんだよ!
試験問題で「1,400オクテット」と出てきたら、1,400バイトと同じだと思ってOK!
より深い解説
定義
オクテット(octet)は、ちょうど8ビットからなるデータの単位である。語源はラテン語の「8」(octo)。
バイト(byte)は本来「コンピュータが1文字を扱う単位」を指し、歴史的には6ビットや9ビットなど機種によって大きさが異なっていた。現在ではほぼすべての環境で1バイト=8ビットだが、RFCやIEEE、ITU-Tの規格文書では、曖昧さをなくすためにオクテットが使われる。
試験での扱い
ネットワークスペシャリスト試験では、フレーム やパケットのフィールド長がオクテット単位で示されることが多い。計算上は「1オクテット=1バイト=8ビット」と扱ってよい。
ビット単位とオクテット単位が混在する問題では、換算を忘れないようにする。
- 伝送速度はビット毎秒(bit/s)で表される
- フレーム長やファイルサイズはオクテット(バイト)で表されることが多い
例:1,500オクテットのフレームを100Mbit/sで送る時間
1,500 × 8 = 12,000ビット
12,000 ÷ 100,000,000 = 0.00012秒 = 120マイクロ秒
ヘッダ構造図での表記
RFCのプロトコルヘッダ図は、横幅32ビット(4オクテット)を1行として描かれることが多い。IPv4ヘッダは5行(20オクテット)、TCPヘッダも5行(20オクテット)が最小構成である。この「1行=4オクテット」の感覚を持っておくと、ヘッダ長フィールドの読み取り(IPv4のIHLやTCPのデータオフセットは4オクテット単位)にも役立つ。
IPv4アドレスとオクテット
IPv4アドレス(32ビット)は、8ビットずつ4つに区切って10進数で表す(例:192.168.1.10)。この区切られたそれぞれも「第1オクテット」「第4オクテット」のように呼ばれる。