
本記事はソラコムが提供する「SORACOM公式ブログ」に掲載された「ストリーム型のプロトコルである TCP を SORACOM Beam が HTTPS に変換する際に使う技術とは?」を再編集したものです。
こんにちは、プロダクトマネージャーの tau です。
この記事では、デバイスが TCP で送信したデータを、プロトコル変換サービス SORACOM Beam (以下 Beam) がどのように HTTPS に変換するのかをご紹介します。キーワードは「SORACOM Binary Format v1」です。
SORACOM Binary Format v1 とは、ソラコムが定義する独自フォーマットです。その機能を端的に言うなら、TCP はストリーム型の通信であるにも関わらず、データグラム型のような通信を実現する仕組みです。… と言われても、ピンと来にくいかもしれませんね。詳しい話に入る前に、まずは TCP というプロトコル自体の仕組みをおさらいしましょう。
TCP は HTTPS より軽量。ただしデータの大きさが事前に分からない
IoT デバイスが TCP 通信を選択する理由の 1 つは、通信量の削減です。TCP は HTTPS と比べて軽量で、通信量を約 89% も削減できた例もあります。電源の制約の厳しい IoT デバイスや、できるだけ通信量を削減したい IoT デバイスでは、軽量な TCP による通信が選ばれるケースがあります。
一方で、TCP はストリーム型のプロトコルであり、一度に送信されるデータの大きさや区切りが事前に分からない特徴があります。たとえば TCP を使った通信では、次のようなことが起きえます。
- 送信側のプロトコルスタックは、小さなデータをある程度まで貯めてからまとめて送信したり、あるいは逆に大きなデータを送信できる大きさに分割して送信したりします。
- その反対に、受信側のプロトコルスタックは、受け取ったデータを解釈して適宜意味のある単位に分割したり、あるいは結合したりします。
ストリーム型と対をなす方式に、データグラム型があります。データグラム型のプロトコルでは、一度に送信されるデータの大きさや区切り目が事前に決められており、送信側・受信側ともにその単位で送受信を行います。UDP は、データグラム型のプロトコルです。
SORACOM Beam の仕組みと、SORACOM Binary Format v1
Beam は、IoT デバイスとクラウドの間に入り、通信のプロトコルを変換・仲介するサービスです。たとえばデバイスでは軽量な TCP でデータを送信し、サーバーでは安全な HTTPS で待ち受けるといった効率的な構成も、Beam を利用すれば実現できます。
前述のように、TCP はストリーム型のプロトコルのため、データの区切りがあらかじめ決められていません。そのため Beam がデバイスから TCP でデータを受け取ったとき、一度に受信したデータの塊が「それ単体で意味をなす塊」なのか、あるいは「その中に意味をなす塊がいくつか含まれている」のか、それとも「より大きなデータの一部」なのか、判断ができません。
そこで開発されたのが SORACOM Binary Format v1 です。SORACOM Binary Format v1 は、データのサイズや区切り目に関する情報を自身に含んでいます。そのため SORACOM Binary Format v1 に準拠したデータであれば、Beam はデータの区切れ目を判定できるようになり、適切な単位でデータをクラウドに転送できるのです。
注意点は、デバイス側で SORACOM Binary Format v1 に準拠したデータを組み立てて、Beam に送信する必要がある点です。データを TCP に乗せる前に、「ここからここまでがひとかたまりです」と印を付けるようなイメージです。SORACOM Binary Format v1 をご検討の際には、デバイス側の対応が必要との旨をご確認ください。
SORACOM Binary Format v1 の詳しい仕様や使い方は、SORACOM Binary Format v1 – SORACOM Users をご参照ください。
TCP を利用するデバイスをクラウドと繋げるときに
2024 年 6 月 12 日のアップデートで、Beam の TCP → HTTP/HTTPS エントリポイントが SORACOM Binary Format v1 に対応し、TCP → HTTPS の変換性能が改善しました。この機能を実際にご利用いただいたミツフジ様の声をご紹介します。同社は、暑熱リスクに対処する IoT スマートウォッチ型デバイス「Hamon Band」を開発しています。
弊社が扱う生体情報はそれなりのデータ量になりますが、Beam を使用することによりデバイスからは UDP/TCP でインターフェースできるので通信量削減が可能です。サーバは HTTPS でインターフェースできるのでセキュリティも両立でき、デバイスは証明書を持つ必要が無く更新のための運用が不要になります。SORACOM Binary Format v1 を使用することによりサーバ側でのパケット分割も抑制できるため、実装の負担を減らすことができました。
ミツフジ株式会社 プロダクト開発
上記の注意点の通り、デバイス側で SORACOM Binary Format v1 を組み立てて送信する必要があるため、TCP 通信に対応した既存デバイスで利用できるかどうかは検証が必要な場合があります。不明な点があれば、ぜひお気軽にソラコムまでお問い合わせください!
― ソラコム 小林 (tau)
投稿 ストリーム型のプロトコルである TCP を SORACOM Beam が HTTPS に変換する際に使う技術とは? は SORACOM公式ブログ に最初に表示されました。
この連載の記事
-
第587回
デジタル
LTE Wi-Fi ルーター UD-LTA、LTE Cat.1 bis対応IoTゲートウェイ(2機種)の販売を開始、他 ほぼ週刊ソラコム 11/15-11/28 -
第586回
デジタル
2025/12/10(水)~ JAPAN BUILD TOKYO -建築・土木・不動産の先端技術展- に出展:現場の課題をIoT×AIで解決! -
第585回
デジタル
SORACOM Flux 新料金プランのご案内!! -
第584回
デジタル
「防犯」だけじゃもったいない。あなたが知らない”儲かる”カメラの使い方 -
第583回
デジタル
Intelisysの2025 Top New Supplierを受賞、生成AIによる画像分析機能 「ソラカメAI」を発表、他 ほぼ週刊ソラコム 11/01-11/14 -
第582回
デジタル
ソラカメの動画をAIで解析する – SORACOM Flux での動画取得と分析方法 -
第581回
デジタル
IoTプロジェクトの進み方 -
第580回
デジタル
お手頃な価格で位置情報も温湿度も加速度もとれる GPSマルチユニットは楽しいぞ -
第579回
デジタル
I wanna IoT 罠! 狩猟罠を遠隔操作する!「IoTプロトタイピングコーナー」作品ご紹介【SORACOM Discovery 2025】 -
第578回
デジタル
カメラ x AIの民主化!「ソラカメAI」がリリース!!
