ICDロゴ

ネットワークバイトオーダー (network byte order)

最終更新日: 2001/07/06

 ネットワーク上で、バイナリデータをやり取りするときに使われるバイトオーダー(バイトの並び順)のこと。

 ネットワークを使った通信では、バイトオーダーの異なるマシンやシステム同士で通信する可能性があるが、このとき、バイトオーダーが異なっていると正しく通信できない。たとえば、0x1234という数値を、MSBを先に送ると0x12, 0x34となるが、これをLSBが先だと思って受け取ってしまうと、0x3412という数値になってしまう。このような不都合が起こらないように、ネットワークで通信をする場合には、あらかじめバイトオーダーを決めておくことが多い。これをネットワークバイトオーダーという。

 たとえばTCP/IPプロトコルでは、ネットワークバイトオーダーはMSBから先に送るビッグエンディアンとなっている。IPアドレスやポート番号などのデータをパケット中に格納する場合は、常にネットワークバイトオーダーにすることになっているので、異なるバイトオーダーのシステム間でも正しく通信することができるのである。ただし、より上位のアプリケーション層などでのバイトオーダーの扱いは、各アプリケーションごとに自由に決定可能で、システムの都合のよい受け渡し方法を選べばよい。

Copyright (C) 2000-2007 Digital Advantage Corp.

アイティメディアの提供サービス

キャリアアップ