SMB

SMB2

SMB3

CIFS

SMB Implementation For Embedded Devices

NQE™

NQE™は、非Windows系組込みシステムにWindowsベースマシンとの相互接続性をもたせることが可能な、SMBのサーバー・クライアントソリューションです。柔軟性のある設計により、NQE™はOS、CPU、コンパイラーを問わず、どんな環境にも実装可能。また、MicrosoftのSMB1・SMB2・SMB3仕様と完全互換をもち、最新のSMBバージョンに対応しています。 Windowsネットワークにつながると、NQE™搭載のデバイスはネットワークを介して視覚化され、ユーザーはファイル共有機能を使用できるようになります。

組込みSMBソリューションとして世界をリードする、弊社のGPLフリーのSMBスタックは、オープンソースのSambaとは対照的に、フットプリントが小さく、また現在の市場環境や要求を満たすよう常にアップデートされています。NQE™は、スキャナー、プリンター、家庭用ルータ、モバイルデバイス、医療機器、FA機器、車載機器、航空宇宙防衛機器といった、MicrosoftのWindowsネットワーク環境において完全なファイル共有機能を必要とする、あらゆる組込みデバイスに搭載されています。

NQE™はまた、Windows XP、Windows Server 2000やWindows Server 2003といった、以前の古いWindowsシステムが使用しているSMB1を、最新のSMBバージョンに置き替える際にもご利用いただけます。SMB1を取り除き、暗号化対応のNQE™をインストールすることで、サイバー攻撃の余計なリスクを回避し、Windowsの接続制限も克服することが可能です。

ここからNQE™のホワイトペーパー(英語版)をダウンロードできます。

NQE™のアーキテクチャ・レイヤー

青色のコンポーネントはシステム非依存ですが、ベージュのコンポーネントは移植・実装の際に変更が可能です。

NQE Core

NQコンポーネント

NQE™はSMBサーバー、SMBクライアント、またはNetBIOSデーモンとして表示されています。

NQ Components

NQE™は、MicrosoftのSMB1・SMB2・SMB3仕様と互換性をもち、複数の組込みデバイス間でのファイル共有を可能にします。 相互にSMB共有されたフォルダをリモートでブラウズ、読み込み、書き込み、編集、コピー、削除し、互いのファイルをアップデートすることができます。これらの操作の際、ファイルをデバイスのローカルディスクやメモリーに移動する必要はありません。

NQE™は、1999年にCIFS NQ™としてリリースされ、以降SMBプロトコルの発展とともに進化し、2014年にNQE™と改名されました。

最新バージョンのNQE™2.00は、SMB3.1.1に対応。すぐに実装可能です。Pre Logon Integrityといった、最新のSMB仕様強化を通して、より洗練されたデータ保護を提供します。完全商用GPLフリーのNQE™ネットワークスタックがあれば、お客様は貴重なR&Dの時間とお金を節約し、中核となる技術にフォーカスすることが可能です。

 

NQE™ 採用事例

  • スキャナー、MFP(プリンター複合機)
  • NAS、その他プリンター周辺機器(ルータ)
  • テレビ、セットトップボックス
  • カメラ
  • メディアプレーヤー
  • スマートフォン、タブレット
  • 産業用ロボット
  • 航空機
  • 医療機器

NQE™ のマーケット

  • コンシューマー向け機器
  • 法人向け機器
  • 医療用機器
  • 産業自動化製品(FA製品)
  • 航空宇宙及び防衛機器
  • スマートデバイス

NQE™ 対応OS

  • VxWorks
  • Linux
  • Integrity
  • Windows
  • ThreadX
  • Itron
  • iOS
  • Android
  • Nucleus
  • 他のOS応相談

NQE™ の特長

  • プラットフォームを選ばない高い移植性
  • ハードウェア非依存、どんなプロセッサーでも動作可能
  • 小さいフットプリント
  • 高パフォーマンス
  • カスタマイズが容易
  • マーケットで最も完成度の高いCIFS/SMB実装
  • ANSI規格C言語のソースコード

NQE™ Code examples

Mount


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);
 

Open, read, write and delete file


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);    
// Create a file on a remote share
NQ_HANDLE fileHandle = ccCreateFileA("\\mountPoint\\file.txt",
                                FILE_AM_WRITE,
                                FILE_SM_EXCLUSIVE,
                                FILE_LCL_UNKNOWN,
                                FALSE,
                                0,
                                FILE_CA_CREATE,
                                FILE_OA_FAIL
                                );
NQ_BYTE data[DATA_SIZE];
NQ_UINT dataSize = DATA_SIZE;
NQ_UINT writtenSize, readSize;
// Write to remote file 
ccWriteFile(fileHandle, data, dataSize, &writtenSize);
// Read from a remote file 
ccReadFile(fileHandle, data, dataSize, &readSize);
// Close file handle 
ccCloseHandle(fileHandle);
// Delete a file on a remote share
ccDeleteFileA("\\mountPoint\\file.txt");
 

Delete file by name


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);
// Delete a file on a remote share
ccDeleteFileA("\\mountPoint\\file.txt");
 

Browsing directory


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);    
// Open a directory on remote share
FindFileDataA_t fileData;
NQ_HANDLE dirHandle = ccFindFirstFileA("\\\\192.168. 19.1\\sharedFolder\\*", &fileData, 0);
if (dirHandle != NULL)
{
    // Get next file in the directory
    while (ccFindNextFileA(dirHandle, &fileData))
    {
        printf("Filename: %s, fileSize:%u \n", fileData.fileName, fileData.allocationSizeLow);
    }
    // Close directory handle
    ccFindClose(dirHandle);
}
 

Follow Us

News

2018年8月12日

Windows XPとWindows Server 2003 でSMBv1が使えない問題を抱えたユーザーは、「NQE™サーバー」を使用し、

古いSMBv1スタックを暗号機能のあるSMBv3の最新バージョンに、シームレスにアップグレードすることが可能です。

2018年7月31日Visuality Systemsは,「jNQ™ 1.0.1」を正式リリースしました。

今までのSMB3.1.1のNQ Javaライブラリーに、セキュリティ機能の追加及びパフォーマンスの向上を行いました。

2018年1月28日Visuality Systemsは、2月27日にIsraelのTel Avivにある、Dan Hotelで開催される「SDC EMEA カンファレンス」にスポンサーとして参加します。

詳細はこちらをご覧ください。

 2017年11月1日Visuality Systemsは、100%JAVAで最新のSMBv3.1.1に対応した「jNQ™1.00」を正式リリースしました。

 2017年5月15日

ランサムウェアWannaCryのサイバー攻撃が、暗号化未対応SMBバージョンSMB1及び2)の脆弱性を用いて発生し、SMB3.1.1への移行が喫緊の課題となっています。
詳細はこちらください

 2017年3月27日

Visuality Systemsは,「NQE™ 2.00」VxWorks対応版をリリースしました。

 2016年12月4日

Visuality Systems最新のSMB3.1.1対応バージョン「NQE™2.00」をリリースしました。