高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ......

35
emNet 高速・高性能TCP/IPプロトコルスタック 2019/9/10 Copyright © 2019 EmbITeK Co., Ltd. All Rights Reserved.

Transcript of 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ......

Page 1: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet高速・高性能TCP/IPプロトコルスタック

2019/9/10 Copyright © 2019 EmbITeK Co., Ltd. All Rights Reserved.

Page 2: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet

emNetは、SEGGER J-Link Pro, Flasher ARM/PROなどLANインターフェースを持つSEGGER製品で実装されているTCP/IPプロトコルスタック

2019/9/10 Copyright © 2019 EmbITeK Co., Ltd. All Rights Reserved. 2

emUSBDevice

RTOSembOS

不正改造・量産防止

emSecure

TCP/IPemNet

Page 3: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet サマリー

2019/9/10 3

OSレスでも実装可能な組込用TCP/IPソリューション小さなメモリフットプリントで高速・高性能スタック

汎用性ANSI Cコードでマイコン・

コンパイラを選べる

数百種のデバイスドライバ

ソースコード提供

RTOS依存性なし

高性能・省リソース

必要ROM: 19Kbyte必要RAM: 1.5Kbyte

(バッファサイズ含まず)

送信:75.2Mbps受信:94.4Mbps

(TCPゼロコピーインターフェース)

多機能IPv4/v6対応

各種プロトコル対応TCP / UDP / DHCPs / DHCPc / FTPsFTPc / ACD / ARP / CoAPc / CoAPs

mDNS / LLMNR / DNS-SDsICMP / Loopback device / Multicast

MQTT client / NetBIOS Name ServiceWiFi / PPP / PPPoE / RAW Sockets

SMTPc / SNTPc / SNMP / UPnPVLAN / Webcast / Web server

WebSocket / NTP Client / PTP OC

開発プロジェクト無制限のユーザライセンス・量産ロイヤリティフリーでご提供

Page 4: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet 製品機能概要

2019/9/10 4

ANSI CコードでCPU依存性のないTCP/IPプロトコルスタック■標準ソケットインターフェース■高速通信を実現■小さなメモリフットプリント■設定不要で動作可能「そのままで」実行可能です。■シンプルなネットワークインターフェイスドライバ構造■ embOSとシームレスに連携します。■高速パフォーマンス「ゼロデータコピー」■すべての機能で「非ブロッキング」対応■ VLANのサポート■ BSD形式の「キープアライブ」オプション■ハードウェアドライバ側でのチェックサムに対応■数百種のデバイスドライバサポート

Page 5: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

製品パッケージ各プロトコルソフトウェアモジュール

2019/9/10 5

プロトコル BASE PROACD ✔ ✔

ARP ✔ ✔

AutoIP ✔ ✔

DHCP Client ✔ ✔

DNS Client ✔ ✔

ICMP ✔ ✔

IPv4 ✔ ✔

IPv6 Option OptionLoopback device ✔ ✔

Multicast ✔ ✔

RAW Sockets ✔ ✔

TCP ✔ ✔

UDP ✔ ✔

VLAN ✔ ✔

プロトコル BASE PRODHCP Server Option ✔

mDNS Server Option ✔

LLMNR Server Option ✔

DNS-SD Server Option ✔

NetBIOS Name Service Option ✔

NTP Client Option ✔

PPP/PPPoE Option OptionPTP OC Client Option OptionSNTP Client Option ✔

Tail Tagging Option OptionUPnP Option OptionWifi support ✔ ✔

Device Driver Option 1 device

BASE = emNet BASE PRO = emNet PRO

Page 6: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

製品パッケージemNet以外のTCP/IPにも実装可能なパッケージ化プロトコル

2019/9/10 6

製品パッケージ プロトコル BASE PRO

emFTP Client FTP client Option OptionemFTP Server FTP server Option ✔

emMQTT MQTT client Option ✔

emNet CoAPCoAP client Option ✔

CoAP server Option ✔

emNet SMTP client SMTP client Option ✔

emNet SNMP Agent SNMP agent Option Option

emNet WebSocketWebSocket client Option ✔

WebSocket server Option ✔

emWeb HTTP Server Option ✔

IoT ToolkitHTTP Client Option OptionJSON Parser Option Option

emSSLSSL server Option OptionSSL client Option Option

emSSH SSH server Option Option

他社製TCP/IPへBSDソケットインターフェースまたはTCP/IP独自インターフェースのポーティング実装可能

ポーティング実装対応はエンビテックでも対応可能です。

Page 7: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

Non-RTOSで動作可能なプロトコルRTOS必須の有無(マルチタスクが必要なアプリケーションは、RTOSを導入ください。)

2019/9/10 7

プロトコル RTOSACD 不要ARP 不要AutoIP 不要DHCP Client 不要DNS Client 不要ICMP 不要IPv4 不要IPv6 不要Loopback device 不要Multicast 不要RAW Sockets 不要TCP 不要UDP 不要VLAN 不要

プロトコル RTOSDHCP Server 不要mDNS Server 不要LLMNR Server 不要DNS-SD Server 不要NetBIOS Name Service 不要NTP Client 不要PPP/PPPoE 不要PTP OC Client 不要SNTP Client 不要Tail Tagging 不要UPnP 不要Wifi support 不要Device Driver 不要

プロトコル RTOSFTP client 不要FTP server 必須MQTT client 不要CoAP client 不要CoAP server 不要SMTP client 不要SNMP agent 必須WebSocket client 不要WebSocket server 不要HTTP Server 必須HTTP Client 不要JSON Parser 不要SSL server 必須SSL client 不要SSH server 必須

Page 8: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet基本モジュール

emNetは、小さなメモリフットプリントながら、RFC標準のソフトウェア構造BSDソケットインターフェース形式のAPIを提供します。

2019/9/10 Copyright © 2019 EmbITeK Co., Ltd. All Rights Reserved. 8

Page 9: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet 基本構造

2019/9/10 9

シンプルで分かりやすく、標準的なインターフェースを提供Application LayerBSDソケットインターフェース形式のemNet APIを活用して、各種プロトコル、ユーザアプリケーションで利用します。

Transport Layer信頼性の高いTCP通信プロトコルとコネクションレスのUDP通信プロトコルにより構成されています。

Network Layerトランスポートレイヤーのプロトコルは、IPによって通信されます。IPプロトコルにより、アドレス付与、サービスタイプの指定、フラグメントの解消セキュリティ情報のプロビジョニングなどが行われます。

Link Layerネットワークへ接続するためのインターフェースを提供します。通常は、イーサネット(IEEE802.3)への接続プロトコル

「RFC 1122」規格に則った4つのレイヤー構成を持ちます。

Page 10: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet でのカプセル化手順

2019/9/10 10

各レイヤーでIP通信の標準的なデータカプセル化を行います。

enNetでは「RFC 1122」規格に則った4つのレイヤーにより、それぞれのレイヤーでヘッダー情報を付与しデータをカプセル化します。受信時では逆の方向でデータ抽出を行います。

UDPデータを通信カプセル化する場合、左図の様な手順をたどります。

Page 11: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

タスクと割込:3つのシステム概要

2019/9/10 11

1.スタック専用のシングルタスク

TCP / IPスタックを使用する最も簡単な方法です。スタック専用のシングルタスクで「IP_TASK」ハウスキーピング操作、再送、着信のパケット処理を行います。パケットの読取りは、ISRから直接呼び出されるので追加のタスクは必要ありません。「パケットの読取り」処理に必要な時間だけ延長されます。

RTOSなしでのシステム概要イメージ例

Page 12: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

タスクと割込:3つのシステム概要

2019/9/10 12

2.スタック専用の2つのタスクで構成(RTOS搭載前提)

2つのTCP / IPスタック専用タスクを使用します。一つは「IP_TASK」でハウスキーピング操作、再送、着信のパケット処理を行います。二つ目のタスク「IP_RxTask」でパケットの読取り処理を行います。

「IP_RxTask」は新しいパケットが利用可能になった場合、ISRから起動されます。パケット読取り処理をISRから「IP_RxTask」に移動されるので、割込レイテンシは延長されません。

RTOSを使ってタスク管理システム概要イメージ例

Page 13: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

タスクと割込:3つのシステム概要

2019/9/10 13

3.ユーザアプリケーションからポーリング(SuperLoop)

アプリケーションタスクが「IP_Exec()」を定期的に呼び出し、スタック専用のタスクなしで利用する事も出来ます。

パケットの読取り処理は、ISRから直接呼び出されるため、追加のタスクは必要ありません。割込レイテンシの長さは、パケットの読取り処理に必要な時間だけ延長されます。

RTOSあり、RTOSなし、いずれでも利用可能なシステムイメージ

Page 14: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet オプション機能

TCP/IPの標準的な機能のみではなくオプションにより様々な機能を提供します。

2019/9/10 Copyright © 2019 EmbITeK Co., Ltd. All Rights Reserved. 14

emNetのみで利用可能なオプション機能

mDNS/LLMNR serverNetBIOSNTP clientSNTP ClientPTP OC client (IEEE 1588-2008)PPP/PPPoE

emNet PRO同梱

emNet PRO同梱

emNet PRO同梱

emNet PRO同梱

Page 15: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet mDNS/LLMNR server

2019/9/10 15

Windows, Mac, Linuxの標準的なダイナミックDNS関連のRFCサポートRFC 概要

Multicast DNS(mDNS)

RFC 6762 mDNSは、Appleのデバイスで利用されるPort 5353を利用したマルチキャストDNSシステムRFCドキュメント:ftp://ftp.rfc-editor.org/in-notes/rfc6762.txt

LLMNR RFC 4795 LLMNRは、Windows PCで利用されるPort 5355を利用したマルチキャストDNSシステムRFCドキュメント:ftp://ftp.rfc-editor.org/in-notes/rfc4795.txt

DNS-SD RFC 6763 ドメイン名を検索するためのDNSクエリ定義ftp://ftp.rfc-editor.org/in-notes/rfc6763.txt

DNS SRV RFC 2782 インターネット標準のトラックプロトコル定義ftp://ftp.rfc-editor.org/in-notes/rfc2782.txt

DOMAIN NAMES

RFC 1035 標準的なドメイン名定義ftp://ftp.rfc-editor.org/in-notes/rfc1035.txt

ROM使用量:約3.1KB RAM使用量:約0.2KB

emNet PRO同梱

Page 16: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet NetBIOS

2019/9/10 16

emNetにNetBIOS機能を実装できます。

RFC 概要NetBIOS RFC 1001 NetBIOSのコンセプトと概要

RFCドキュメント:ftp://ftp.rfc-editor.org/in-notes/rfc1001.txt

RFC 1002 NetBIOS詳細機能RFCドキュメント:ftp://ftp.rfc-editor.org/in-notes/rfc1002.txt

ROM使用量:約0.7KB RAM使用量:約26B

NetBIOS機能により、ローカルエリアネットワーク内の個別通信で利用可能なセッションレイヤーが提供されます。

emNet PRO同梱

Page 17: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet NTP client

2019/9/10 17

NTP clientにより、NTP serverからタイムスタンプを取得

RFC 概要NTPv4 RFC 5905 NTP version4 アルゴリズム

ftp://ftp.rfc-editor.org/in-notes/rfc5905.txt

ROM使用量:3.1 – 4.5KB RAM使用量:0.6 – 3.2KB

検索対象IP情報

同期情報

emNet PRO同梱

Page 18: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet SNTP Client

2019/9/10 18

SNTP Clientにより、NTPサーバから時間情報を取得、RTCを初期化

RFC 概要SNTP RFC 4330 SNTP version 4 for IPv4/IPv6

RFCドキュメント:ftp://ftp.rfc-editor.org/in-notes/rfc4330.txt

RFC 1305 SNTP version 3RFCドキュメント:ftp://ftp.rfc-editor.org/in-notes/rfc1305.txt

ROM使用量:約0.7KB RAM使用量:約26B

NTPタイムスタンプ(2つの32bitフィールドで構成される64bitデータ)を取得し、情報を使用します。

emNet PRO同梱

Page 19: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet PTP OC client (IEEE 1588-2008)

2019/9/10 19

機器間の時間同期を高精度に実現

ROM使用量:約7KB RAM使用量:約300Byte

IEEE 概要1588-2008 IEEE1588-2008 高精度時間同期コントロールシステム

http://www.nist.gov/el/isd/ieee/ieee1588.cfm

PTP OC clientを利用することにより、ターゲットベンチマークで100ns精度を実現します。

emNet PTPはソフトウェア実装で実現可能です。ハードウェア対応をご要望の場合は、別途ご相談ください。

Page 20: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet PPP/PPPoE

2019/9/10 20

emNet TCP/IPアプリケーションでPPP / PPPoEを利用します。

ROM使用量:約7.0KB RAM使用量:約0.5KB

RFC 概要PPPPPPoE

RFC 1334 PPP認証プロトコルftp://ftp.rfc-editor.org/in-notes/rfc1334.txt

RFC 1661 PPPftp://ftp.rfc-editor.org/in-notes/rfc1661.txt

RFC 1994 PPP CHAPftp://ftp.rfc-editor.org/in-notes/rfc1994.txt

RFC 2516 PPPoEftp://ftp.rfc-editor.org/in-notes/rfc2516.txt

Page 21: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet UPnP

2019/9/10 21

ROM使用量: 約2KBRAM使用量:約170Byte

UPnPサービスを提供する拡張機能UPnPは、ユーザの操作を必要とすることなくネットワーク全体にサービス提供するように設計されています。

IP, TCP, UDP, Multicast, HTTP, XMLなど標準的なプロトコルを利用して通信し、デバイスが提供するサービス配信するように設計されています。

最新のOSでは、UPnPをデフォルトでサポートし、ネットワーク全体で利用可能なUPnPデバイスを表示、選択するだけでデバイスに簡単にアクセスできます。

Windows PCでは、UPnPを搭載した機器は以下の様に表示されます。

UPnP Device Architecture 1.0http://upnp.org/specs/arch/UPnP- arch-DeviceArchitecture-v1.0.pdf

Page 22: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNet 関連製品

emNetに搭載可能な各種プロトコルスタックemNet以外のTCP/IPにも搭載可能な製品群

2019/9/10 Copyright © 2019 EmbITeK Co., Ltd. All Rights Reserved. 22

emFTP clientemFTP ServeremMQTTemNet CoAPemNet SMTP clientemNet SNMP AgentemNet WebSocketemWeb ServerIoT Toolkit

emNet PRO同梱

emNet PRO同梱

emNet PRO同梱

emNet PRO同梱

emNet PRO同梱

emNet PRO同梱

Page 23: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emFTP Client組込機器にFTPクライアント機能を実装します。

2019/9/10 23

アクティブモードクライアント側からリクエストをかけデータを取得

パッシブモードクライアント側「PASV」命令を出力、データ待ち受けします。

FTP command Description

CDUP Change to parent directory

CWD Change working directory

LIST List directory

MKD Make directory

PASS Password

PWD Print the current working directory

RETR Retrieve

RMD Remove directory

STOR Store

TYPE Transfer type

USER User name

[RFC 959] に基づいた各種コマンドに対応

Page 24: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emFTP Server組込機器にFTPサーバ機能を実装します。

2019/9/10 24

emNet PRO同梱

Windows、Linux、Mac用無償FTPサーバを提供組込用FTPサーバをPC向けに作成したFTPサーバで簡単に機能確認頂く事が可能です。

FTP command Description

CDUP Change to parent directory

CWD Change working directory

DELE Delete

LIST List

MKD Make directory

NLST Name list

NOOP No operation

PASS Password

PASV Passive

PORT Data port

PWD Print the current working directory

RETR Retrieve

RMD Remove directory

SIZE Size of file

STOR Store

SYST System

TYPE Representation type

USER User name

XCUP Change to parent directory

XMKD Make directory

XPWD Print the current working directory

XRMD Remove directory

[RFC 959] に基づいた各種コマンドに対応

Page 25: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emMQTT clientMQTT3.1をフルサポート

2019/9/10 25

emNet PRO同梱

Broker Plain MQTT MQTT over TLS MQTT over TLS(クライアント認証)

Notes

mosquitto ✔ ✔ ✔ Open-source MQTT broker for Linux, Windows, macOS. Tested with public broker at iot.eclipse.org

HiveMQ ✔ Public Broker × Public Broker × Enterprise MQTT broker for Linux servers. Tested with public broker at hivemq.com

AWS ✔ AWS supports MQTT to connect to the AWS IoT Message Broker.

テスト済みBrocker(一部)利用希望のBrockerがあれば、お問い合わせください。

Resource Usage Value

emMQTT Client Size (ROM) 約2.4 KB

emMQTT Client Size (RAM) 約8 Byte

emMQTT Client Context (RAM) 約76 Byte

Page 26: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

CoAP Client / ServerConstrained Application Protocolクライアント/サーバ

2019/9/10 26

emNet PRO同梱

RFC 概要CoAP RFC 7252 CoAP

ftp://ftp.rfc-editor.org/in-notes/rfc7252.txtRFC 6690 CoRE Link format

ftp://ftp.rfc-editor.org/in-notes/rfc6690.txtRFC 7641 CoAP Observe

ftp://ftp.rfc-editor.org/in-notes/rfc7641.txtRFC 7959 CoAP ブロック転送

ftp://ftp.rfc-editor.org/in-notes/rfc7959.txt

■ GET / DELETE / PUT / POSTサポート■ CON / NONリクエストサポート■サーバはマルチクライアントに対応■ UDP/IPスタックに非依存■ブロック転送をサポート■ CoAP Observe機能をサポート■様々なオプション、リクエストを使ったデモサンプル

Add-on ROM

CoAP client 約 6.5 KByte

CoAP server 約 9.2 KByte

Add-on RAM

CoAP client 最小構成456 Bytes. アプリケーションにより「observer領域」と「メッセージバッファ」でより大きなリソースが必要になる場合もあります。

CoAP server 最小構成548 Bytes + 48 bytes(リソース毎)アプリケーションにより「observer領域」と「メッセージバッファ」でより大きなリソースが必要になる場合もあります。

Page 27: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

SMTP client組込機器にSMTPクライアント機能を実装、メール送受信機能を実現します。

2019/9/10 27

emNet PRO同梱

RFC 概要SMTPclient

RFC 821 SMTPftp://ftp.rfc-editor.org/in-notes/rfc821.txt

RFC 974 メールルーティングとドメインシステムftp://ftp.rfc-editor.org/in-notes/rfc821.txt

RFC 5321 SMTPftp://ftp.rfc-editor.org/in-notes/rfc5321.txt

■小さなメモリフットプリント■ emNet以外のTCP/IPスタック対応■サンプルプロジェクト■ Microsoft VisualStudioで動作するプロジェクトを同梱

ROM使用量:約6.5KB RAM使用量:約4.7KB

SMTP Relay「emNet SMTP client」はSMTPリレークライアントと組み合わせて利用する事も可能です。例として、SMTPリレークライアントアプリケーション「Mercury Mail Transport System」との組合せ構成の解説資料がダウンロード出来ます。

SMTP client with TLSemSSLなどのSSLと組み合わせて利用する事により、TLSを利用した安全な接続を実現できます。

Page 28: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

SNMP agent組込機器にSNMPエージェント機能を実装します。

2019/9/10 28

RFC 概要SNMP agent

RFC 2578 SMIv2(Structure of Management Information)ftp://ftp.rfc-editor.org/in-notes/rfc2578.txt

RFC 3416 SNMP v2ftp://ftp.rfc-editor.org/in-notes/rfc3416.txt

RFC 4181 MIBドキュメント策定とレビュアガイドラインftp://ftp.rfc-editor.org/in-notes/rfc4181.txt

■小さなメモリフットプリント■ MIBツリーを簡単にセットアップ■ SNMPv1,SNMPv2cをサポート■ TRAPメッセージをサポート■ SNMPv2 INFORMメッセージサポート

■一般的なSNMP(Unsidned32, Counter32など)で、利用しやすいAPI■ソケットまたはゼロコピーAPIを含むMIB利用デモサンプル同梱■ Microsoft Visual Studio で動作するサンプルプロジェクトを同梱

IANA Private Enterprise Number (PEN)御社製品にSNMPを実装するために、IANAからプライベートエンタープライズ番号(PEN)を取得する必要があります。 PENは、以下URLで無償リクエストできます。https://pen.iana.org/pen/app

製品に同梱されているサンプルに含まれるPENは、SEGGER社で取得したものとなります。

ROM使用量:約6.0KB RAM使用量:約300Byte

Page 29: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

WebSocket client / serverIoT向けWebSocketプロトコルを実装します。

2019/9/10 29

emNet PRO同梱

RFC 概要Web Socket

RFC 6455 WebSocket protocolftp://ftp.rfc-editor.org/in-notes/rfc6455.txt

ROM使用量:約1.7KBRAM使用量:約30Byte

IoT機器通信向けにHTTP接続を非同期双方向データ通信にアップグレードできるプロトコルです。通常のHTTP1.1標準プロトコルと互換性があり、ウェブサーバサービスは通常のWEBサーバとWebSocketプロトコルを共存しながら、機能する事が可能です。

TCP ・ロストデータは再送信されます。・データはオーダに基づいて受信されます。・接続状態は、TCP KEEPALIVESを使用して、チェックできます。

UDP ・データは小さなフレームで送信できます。・フレームのデータ長は予め把握できます。・コントロールフレームはデータフレームの間で、送信できます。

Page 30: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emWeb – Web server組込機器にウェブサーバ機能を実装し、組込機器の状態を表示、設定変更などを行えます。

2019/9/10 30

emNet PRO同梱

ホストPCのウェブブラウザを使って、組込機器のデータ表示・操作。ホストPCのOSに依存しないグラフィカルインターフェースを提供します。

WebSocket、JavaScript、AJAX、REST、SEEなど標準的なプロトコルをサポートします。

アプリケーション例・ルータ/アクセスポイント/スイッチ・IoTデバイス・プリンタ・ウェアラブルデバイス など

ROM使用量: 約8KB RAM使用量:約2.5KB

HTTPベーシック認証、ダイジェスト認証に対応

ダイナミックコンテンツのサポート:CGI、Virtual Files、AJAX、SSE

Page 31: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

IoT Toolkit – HTTP client / JSON Parser

2019/9/10 31

TCP/IP (SEGGER emNet or 他TCP/IPスタック)

RTOS(SEGGER embOS or iTRON or OtherRTOS)

JSON Parser

HTTP client

←既存のユーザアプリケーションにREST APIインターフェースを追加

SSL

■クラウドサービスと接続するIoT機器の開発を容易にします。■ HTTPc Basic、ダイジェスト認証に対応■ JSONパーサ仕様にエンコードしたデータのハンドリング■プレーンなテキストデータ(HTTPやCGIなど)のハンドリング■組込マイコンに最適化されたフットプリント、高速な実行性能

Page 32: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

ライセンスモデル

量産ロイヤリティフリーでニーズに合わせて選べるライセンスモデル

2019/9/10 Copyright © 2019 EmbITeK Co., Ltd. All Rights Reserved. 32

Page 33: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

embOSライセンスシステム

2019/9/10 33

柔軟なライセンス体系をニーズに合わせて選択可能

ライセンスモデル 提供コード 対象製品 開発者人数 CPU/ コンパイラ

プロダクトライセンス ソースコードまたはオブジェクト 一つの製品 無制限 1CPU型番

1コンパイラ

プロダクトファミリーライセンス ソースコードまたはオブジェクト 製品シリーズ 無制限 1CPU型番

1コンパイラ

ユーザーライセンス ソースコードまたはオブジェクト 無制限 1名 1CPUファミリー

1コンパイラ

CPUライセンス ソースコードまたはオブジェクト 無制限 無制限 1CPUファミリー

1コンパイラ

1CPUファミリーは、以下の通りARM CPUファミリー: Cortex-Mファミリー(M0/M0+/M1/M3/M4/M7デバイス) ARM7/9, Cortex-A/Rファミリー

RXファミリー など

Page 34: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

emNetのユーザメリット

2019/9/10 34

ロイヤリティフリー・開発製品無制限のユーザライセンスで提供可能

開発プロジェクト無制限様々な開発で利用可能マイコン変更も対応(Cortex-Mxライセンス)

※H/Wデバイスドライバ部はマイコン変更の際、変更の必要があります。 B社Cortex-M4F CPUA社Cortex-M7 CPU B社Cortex-M4F CPU

emNet

File system

GUI

RTOSなしRTOS(embOS) RTOS(FreeRTOS)

emNet Driver for A emNet Driver for B

Page 35: 高速・高性能TCP/IPプロトコルスタック · 2019/9/10 3 os レスでも実装 ... ieee802.3)への接続プロトコル 「 rfc 1122 ... 0.7kb ram 使用量:約 26b

お問合せ窓口

2019/9/10 35

製品については、お気軽に以下窓口へお問い合わせください。

株式会社エンビテックTEL: 03-6240-2655

FAX : 03-6240-2656E-mail:[email protected]://www.embitek.co.jp