• ベストアンサー

携帯電話でのパケット数のカウント方法

現在、携帯電話向けサイトの作成や携帯アプリの開発を行っているのですが、携帯でデータ通信を行う際のパケット数のカウント方法についてイマイチ釈然としないことがあり、投稿することにしました。 何が疑問かといいいますと、どの携帯キャリアも「1パケット=128バイト」というようにパケットを説明していますが、これはどのレイヤーでの128バイトを指しているのか? ということなのです。 たとえばIPヘッダやTCPヘッダなども含まれる(つまりネットワーク層でカウントされる)のでしょうか? それともアプリケーション層でカウントされるのでしょうか? はたまた携帯キャリア固有の特殊なプロトコル層でカウントされるのでしょうか?? 私の勝手な推測では、そもそもこのパケット数は端末-キャリア間通信のデータ量を指すものだから、キャリア-インターネット間通信でのみ必要なIPヘッダやTCPヘッダは含まれない(つまりアプリケーション層でカウントされる)だろうと思うのですが、自信が持てません。 本当のところはどうなのでしょうか? もしご存じの方がおりましたらお教えください。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.2

携帯電話の通信料金計算の際に使用する「パケット」とは、通信の世界で用いる「パケット」とは異なる概念です。 通信の世界でパケットと言えば、「パケット開始識別子」「パケットヘッダ(宛先・内容に関する情報)」「ペイロード(パケットが運ぶ、アプリケーションの情報)」(場合によっては最後に「パケット終端識別子」)をひとまとめにしたものを指します。 例えばEthernetにおいて「パケット」といえばEthernetフレームのことを指し、このフレーム(パケット)のそれぞれには必ず前述のような情報が含まれています。 しかし、携帯電話の通信料金計算の際に使用する「パケット」は、そのようなものとは全く異なります。 携帯電話の通信料金計算の際に使用する「パケット」は、携帯電話と基地局が交換するアプリケーションレベル(※ユーザレベルとは一致しない。後述)のデータのバイト数の総計を、固定の「パケット長」で割算して得た数字に過ぎません。 携帯電話と基地局は普通の通信世界で言う「パケット」でデータを交換しているのですが、この普通の通信世界で言うところの「パケット」の数は契約者には分かりません。 ではこの「アプリケーションレベルのデータ」のバイト数はどのようなものかというと、例えば次のようなものです。(NTTドコモmovaのiモードを例に挙げます。これしか具体例を知らないので。) NTTドコモmovaのiモードでメールを受信するとします。このとき、1通のメールは可変長のヘッダ(宛先やメールタイトル)と可変長の本文が、おおむね携帯で読む際に表示されるのと同じ形式で送られます。ですので、メール受信時のバイト数は「宛先やメールタイトルや本文の文字数(全角は2バイト換算、改行は1文字換算)」にほぼ一致します。 次に、NTTドコモmovaのiモードでメールを送信するとします。このとき、1通のメールは受信時と同じく可変長のヘッダ(宛先やメールタイトル)と可変長の本文で構成されますが、今度はほぼ全文字がURLエンコードされた形で送信されます。ですので、メール送信時のバイト数は「宛先やメールタイトルや本文の文字数(全角は2バイト換算、改行は1文字換算)」×3にほぼ一致します。 このように、「アプリケーションレベルのデータのバイト数」は使用するアプリケーションとその使い方によって全然違うので、自分で調べるか、キャリアに聞く(教えてくれるかどうかはまた別ですが)しかありません。

kyopeta
質問者

お礼

ご回答ありがとうございます! なるほど。やはりアプリケーションレベルでのデータ長に課金するのですね。とても分かりやすい説明ですっきりしました。 そうなると、ご指摘の通り各アプリケーションごとの(アプリケーションレベルでの)プロトコルを調べるしかないですね・・・。私が一番気になっているアプリケーションはWebですので、Web閲覧時のプロトコルを知りたいところです。でもこれは今回の質問とは少しずれてしまうので、新しく質問を作ろうと思います。 本当にありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • w210
  • ベストアンサー率38% (92/238)
回答No.1

こんにちは。 以前、X.25パケット規約で通信ソフトを作ったことがありました。当時は今のように携帯電話が無かった時代なので、あくまでもX.25規約での話です。 1パケット128オクテットです。オクテットと言うのはバイトと思ってもらって結構です。 パケットはネットワーク層です。現在で言えばTCPレベルになります。しかし、X.25のアドレスもこのパケットの中に入れていました(パケットヘッダ)からこの分は少なくなります。(128-パケットアドレス文字分) X.25とTCP/IPを単純に比較するとTCPレベルということになります。なのでTCPヘッダがユーザデータとしてカウントされることになります。これはあくまでもX.25的な考え方ですが。 Vodafoneでスカイメールをしようとすると、相手先のアドレスの長さによって打てる文字数が変わります。スカイメールは128バイトまでという制限があります。つまり1パケットなんでしょうね。 ここからは推測です。 やはり携帯のアドレスもデータとしてカウントされていることから、メルアド=TCPアドレスとして考えればすべてがデータとして捉えられておりAP層の純粋なデータがそのままカウントされるわけではなさそうです。それにIPアドレスがどういう扱いになるのか分かりません。携帯から最寄の無線局間にはないでしょうが、拠点間では内部の伝送で入っているはずですから、やはりパケットに入れられて送っていると考える方が自然ですね。 推測なのでお役に立てないでしょうねえ。

kyopeta
質問者

お礼

さっそくのご回答ありがとうございます! なるほど。X.25ではAP層のデータ(を細切れにしたもの)+パケットヘッダで1パケット=128バイトとなるわけですね。参考になります! これで「携帯のパケットはX.25だ」ってことが言えれば一気に目の前が明るくなるのですが・・・そうじゃないのかな?

すると、全ての回答が全文表示されます。

関連するQ&A