NIのソフトウェアパッケージおよび組込ハードウェアターゲットは、アプリケーションのデプロイメント、アプリケーションや計測器のリモート制御、データ転送、WebサーバやWebサービスに対するアクセスとホスティングなどにネットワーク通信を利用します。NIのネットワーク対応製品をハードウェアファイアウォールやソフトウェアファイアウォールと併用するとき、通信を許可するために個々のネットワークポートアクセスに関する情報が必要になる場合があります。このチュートリアルでは、使用するデフォルトのTCP/UDPポートやポートの再構成方法 (可能な場合) など、NI製品を使用した一般的なタスクの実行に関連するネットワーク設定について簡単に説明します。
現代のコンピュータシステムでは、Webページのトラフィック、ファイル転送、Eメールなどのネットワーク通信は論理的にいくつかの異なる層に分割できます。 この層はOSIモデルと呼ばれています。そのうちの1つはネットワーク層と呼ばれ、ネットワークトラフィックの正常な経路設定やエラー検出、診断機能を担っています。ローカルネットワークとインターネット通信の両方で使用される、ネットワーク層の主要プロトコルはインターネットプロトコル (IP) と呼ばれています。トランスポート層と呼ばれるもう1つの層は、アプリケーションに対するエンドツーエンドの通信サービスの提供を担っています。トランスポート層のプロトコルで最も一般的なものは、転送制御プロトコル (TCP) とユーザデータグラムプロトコル (UDP) の2つです。
ネットワークトラフィックをリモートシステム上のアプリケーションに到達させるためには、2つの情報をトラフィックに含める必要があります。それは、トラフィックを受け取るコンピュータのアドレス情報 (IPプロトコルを使用する場合はIPアドレスと呼ばれる)、およびデータを処理するリモートシステム上のアプリケーションの送信先ポート番号です。また、データやリクエストの転送を行うコンピュータのIPアドレスも、発信元のアプリケーションで使用される送信元ポート番号とともに送信されます。実際には、トランスポート層の各プロトコル (TCP、UDPなど) では最大65,535個のポートが許可され、それらのポートをアプリケーションで使用することができます。
特定のコンピュータ上のアプリケーションが特定のポートでデータを受信、つまり「聴いている」状態になっていると、そのアプリケーションがネットワークデータを受信し、そのデータに基づいて何らかの処理を行う可能性があります。このように、ネットワークトラフィックは、アプリケーションが許可する範囲でシステムの動作に影響を与える可能性があります。コンピュータの動作に対するネットワークトラフィックの影響を減らすには、ネットワーク機器と個別のコンピュータの両方にファイアウォールと呼ばれるフィルタを適用します。 ファイアウォールは一連のルールを使用し、(IPアドレス、ポート、またはトラフィックを送信しようとしているアプリケーションに基づいて) 不要なネットワークトラフィックを許可または拒否します。
ハードウェアファイアウォールは一般に、ネットワーク機器 (ルータなど) に組み込まれており、断片化されたネットワークトラフィック (パケット) の受信および再送信時に、それらのパケットを検査します。各パケットのヘッダには、送信先のIPアドレス、使用しているトランスポート層プロトコル、リモートポート番号などの情報が含まれます。ハードウェアファイアウォールはこの情報とユーザが定義した一連のルールに基づいてパケットをフィルタ処理します。その結果、あるネットワークパケットは許可され、他のパケットは除外されて再送信されません。
各ハードウェアファイアウォールは、個別に構成 (異なるデフォルト設定を指定) することができますが、多くの個人用ネットワークルータは、ローカルネットワークと外部ネットワーク間のすべての送信トラフィックを許可したり、すべての受信トラフィックを無効にするようにデフォルト設定されます。ローカルネットワーク内のすべてのトラフィックは通常、デフォルトで許可されますが、最新の送信要求に基づく受信トラフィックも通常は許可されます。
ネットワーク上のハードウェアファイアウォールだけでなく、個々のコンピュータでは、ファイアウォールソフトパッケージを実行してネットワーク通信をフィルタ処理し、リモートマシンを不要な影響から保護することもできます。ソフトウェアファイアウォールの目的はハードウェアファイアウォールに似ていますが、両者はフィルタ処理で異なる方法を使用しています。
ヘッダ情報 (IPアドレス、トランスポート層プロトコル、ポートなど) に基づいてパケットをフィルタ処理するために、通常、ソフトウェアファイアウォールは中間ネットワークドライバを使用します。このドライバでは、アプリケーションに渡す前に (受信パケットの場合)、または外部へ送信する前にルールに基づいてトラフィックを受け付けるか拒否するかを判断できます。実行中の個々のアプリケーション (プロセス) がデータを送受信しようとしている場合、それらのアプリケーションに基づいてネットワークトラフィックをフィルタ処理するために、ソフトウェアファイアウォールは、基礎となるトランスポート層プロトコルドライバとアプリケーションとの間のソフトウェア呼び出しを傍受することもできます。この方法を使用すると、特定のアプリケーションが特定のポートでデータをリスンする処理が拒否され、他のアプリケーションにはリッスンする許可が付与される場合があります。
各ソフトウェアファイアウォールパッケージは、個別に構成 (異なるデフォルト設定を指定) することができますが、多くの個人用ファイアウォールソフトウェアパッケージは、すべての送信ポートトラフィックを許可したり、すべての受信ポートトラフィックを無効にするようにデフォルト設定されます。ただし、これらのパッケージは通常、以前の送信要求に基づいて予測される受信ポートトラフィックも有効にします。前述したように、ファイアウォールソフトウェアでは、個々のアプリケーションに対してポートアクセスを許可または制限する設定をユーザに要求する場合があります。
ネットワーク通信は多くのNI製品で利用され、ネットワークに接続されたハードウェアターゲットの識別からLabVIEWで作成されたWebサービスへのアクセスまで、さまざまな機能を提供しています。企業向けおよび個人向けネットワークの大部分がハードウェアとソフトウェアの両方のファイアウォール機能を組み合わせているという事実を踏まえると、多くの場合、ファイアウォール設定を変更して、特定のNI製品が正しく機能するようにネットワークトラフィックを許可する必要があります。
このドキュメントの後半では、さまざまなNI製品とその機能が使用するトランスポート層プロトコルとポートに関する概要を説明します。また、これらのポートを変更する場所も示します (変更が可能な場合)。必要なトラフィックを許可するためのファイアウォール設定の変更方法については、ご使用のハードウェアまたはソフトウェアファイアウォールのドキュメントを参照してください。大規模なネットワーク上で作業しており、ハードウェアまたはソフトウェアファイアウォールを変更するためのアクセス権を持っていない場合は、ネットワーク管理者に連絡してこのドキュメントを参照するようにお知らせください。
ほとんどの状況では、ハードウェアまたはソフトウェアファイアウォールを構成して、サーバポートへの受信接続を有効にするだけで済みます (ローカルPC上または組込ハードウェアターゲット上で実行しているサーバの場合)。ソフトウェアファイアウォールを使用している場合、ユーザは、個々のアプリケーションに対してデータの送受信を許可するように要求されることがあります。
機能説明:NI Measurement & Automation Explorer (MAX) は、NIのネットワーク対応デバイス (LabVIEW Real-Timeターゲットなど) を検出、列挙、構成します。
サーバポート:UDPポート44515、UDPポート44525、TCPポート44516
ポートは構成可能?:いいえ
機能説明: LabVIEW 2010のリリース時点で、Webブラウザを使用して、NIの多くのネットワーク対応デバイスを監視および構成できます。
サーバポート: UDPポート5353 (mDNSでのデバイス検出に使用)、TCPポート52725 (NIネットワークブラウザユーティリティに使用)、TCPポート3580 (Web監視および構成サーバのポート)
ポートは構成可能?: いいえ
ポート設定の場所: Web監視および構成サーバのポートは変更できません。ただし、システムのWeb監視および構成ページ (http://IP_ADDRESS:5353) にアクセスしてWebサーバ構成ページを使用し、システムWebサーバの設定を変更することによって、SSL通信を有効にするように選択できます。
機能説明: LabVIEWアプリケーションをWebサービスにすると、このアプリケーションには、ネットワーク接続された他のシステムからアクセスすることができます (LabVIEWアプリケーションWebサーバによってホストされている場合)。
サーバポート: TCPポート8080 (デフォルト)
ポートは構成可能?: はい
ポート設定の場所: サーバマシンのWeb構成および監視ページを使用して、LabVIEW Webサービスをホストするために使っているアプリケーションWebサーバポートを変更できます。http://IP_ADDRESS:5353からWebサーバ構成ページにアクセスし、アプリケーションWebサーバの下にある設定を使用して、このポートへアクセスできます。また、これらの設定を使用して、追加のポートを割り当てたり、必要な場合はアプリケーションWebサーバ通信用にSSLを使用することもできます。
機能説明: VIサーバを使用して、特定のコンピュータ上のフロントパネルオブジェクト、VI、LabVIEWを、ローカルシステムまたはリモートマシンのいずれかからプログラムにより制御できます。
サーバポート: TCPポート3363 (デフォルト)
ポートは構成可能?: はい
ポート設定の場所: ツール→オプション→VIサーバメニューを選択して、開発コンピュータ上のVIサーバポートを変更できます。組込ハードウェアターゲット (例: CompactRIO) 上のVIサーバポートを変更するには、LabVIEWプロジェクトのターゲットを右クリックし、プロパティ→VIサーバを選択します。
機能説明: NI-VISA APIでローカルマシンに接続されている計測器との通信以外に、VISAサーバを使用して、他のマシンに物理的に接続されている計測器をリモート制御することができます。
サーバポート: TCPポート3537 (デフォルト)
ポートは構成可能?: はい
ポート設定の場所: PC上のVISAサーバのポート設定を表示および変更するには、NI Measurement & Automation Explorer (MAX) ソフトウェアを開いて、ツール→NI-VISA→VISAオプション→VISAサーバを選択します。
機能説明: LabVIEW FPGAコンパイルジョブを単一のリモートコンピュータに送信してコンパイルするか、リモートにある数台のコンピュータを使用してサイト全体でコンパイルできます (ただし、各コンパイル作業は1台のコンピュータのみが行います)。1台のマシンでリモートコンパイルを行うには、そのマシンにLabVIEW FPGAコンパイルワーカソフトウェアをインストールし、ローカルマシンまたはリモートマシンにLabVIEW FPGAコンパイルサーバソフトウェアをインストールします。サイト全体のリモートコンパイルシステムを構築するには、LabVIEW FPGAコンパイルワーカソフトウェアをインストールした数台のコンピュータ、およびLabVIEW FPGAコンパイルサーバとLabVIEW FPGA Compile Farm Toolkitをインストールしたサーバコンピュータを使用します。
サーバポート: TCPポート3582 (システムWebサーバと同じ)
ポートは構成可能?: はい
機能説明: LabVIEW Internetツールキットの一部であるG Webサーバを使用すると、リモートマシンはLabVIEWで作成されたCGIアプリケーションにアクセスできるようになります。
サーバポート: TCPポート80 (デフォルト)
ポートは構成可能?: はい
ポート設定の場所: G Webサーバを構成するには、ツール→インターネット→G Webサーバ構成にあるLabVIEWメニューを使用します。
機能説明: ネットワークを介したVeriStandエンジンとの通信を容易にするTCP/IP通信チャンネルを作成します。
サーバポート: ゲートウェイサービスポート2039、プロジェクトポート2041、ゲートウェイ転送サービス2042
ポートは構成可能?: はい
ポート設定の場所: ポートは、ファイル→環境設定→ポートにあるメニューから構成できます。
機能説明: LabVIEW File Transfer Protocol (FTP) VIを使用すると、リモートFTPサーバとの間でファイルの書き込みおよび読み取りを実行できます。
サーバポート:TCPポート20 (アクティブモードでのみ使用)、TCPポート21 (アクティブモードおよびパッシブモードで使用)
ポートは構成可能?: はい (サーバで定義)
ポート設定の場所: LabVIEW InternetツールキットのFTP VIを使用して、リモートFTPサーバに接続できます。ただし、これはFTPサーバ自体を実装するものではありません。一般的にFTPサーバが使用するのはポート20と21ですが、これはサーバ側で変更でき、LabVIEW VIを使用して標準以外のポートに接続することもできます。アクティブなFTP接続をサポートするには、特殊なファイアウォール設定が必要になる場合があります。詳細については、こちらのリンクを参照してください。パッシブFTP接続については、リモートサーバに接続する際に、ファイアウォールの調整は通常必要ありません。
機能説明: LabVIEWには、リモートSMTPサーバを介してEメールを送信するための簡易メール転送プロトコル (SMTP) VIが含まれています。
サーバポート: TCPポート25
ポートは構成可能?: いいえ
ポート設定の場所: LabVIEWのSMTP VIを使用して、リモートSMTPサーバに接続できます。 ただし、これはSMTPサーバ自体を実装するものではありません。一般的にSMTPサーバが使用するのはポート25ですが、現時点ではLabVIEW SMTP VIを使用して標準以外のポートにアクセスすることはできません。また、このVIを使用してセキュアSMTPサーバに接続することもできません。ほとんどの場合、リモートSMTPサーバに接続する際に、ファイアウォールの調整は必要ありません。
機能説明: HTTPクライアントVIを使用して、サーバ、Webページ、Webサービスと対話するWebクライアントをビルドします。HTTPヘッダの追加、クッキーの保存、認証情報の入力、およびPOST、GET、PUT、HEAD、DELETEなどのHTTPメソッドを使用したWeb要求の送信を実行できます。
サーバポート: TCPポート80 (デフォルト)
ポートは構成可能?: はい (サーバで定義)
ポート設定の場所: LabVIEWのHTTPクライアントVIを使用して、リモートWebサーバに接続できます。 ただし、これはWebサーバ自体を実装するものではありません。 一般的にWebサーバが使用するのはポート80ですが、HTTPクライアントVIを使用して標準以外のポートに接続することもできます。http://HOSTNAME:PORTの形式のURLを使用してください。ほとんどの場合、リモートHTTPサーバに接続する際に、ファイアウォールの調整は必要ありません。
機能説明: ネットワークシェア変数と、LabVIEW 2010以降で使用可能なネットワークストリームは両方とも、ネットワーク上のマシン間で変数データを送信する場合に使用できます。実際には、ネットワークシェア変数は、1つまたは複数のリモートシステムからの変数値をポーリングするために最適化されており、ネットワークストリームは、あるシステムから別のシステムへデータの完全なストリームをロスレスで送信するために最適化されています。ネットワークシェア変数とネットワークストリームは両方ともLogosという基盤となるプロトコルを利用しているため、同じネットワークポートを使用します。
サーバポート:TCPポート2343 (デフォルト)、UDPポート6000~6010 (デフォルト)、TCPポート59110以上 (サーバ上で実行している各アプリケーションにつき1ポート)
ポートは構成可能?:はい
ポート設定の場所: LogosXTを使用してWindows PCでホストされているネットワークシェア変数とネットワークストリームについては、LogosXT.iniファイルを作成して、使用するTCPポートの異なる範囲を指定できます (使用するUDPポートは固定です)。LogosXT.iniファイルの場所と内容の詳細については、「TCPベースのNI-PSPのデフォルトポートを変更する (Windows)」を参照してください。また、LabVIEW Real-Timeターゲットでホストされているネットワークシェア変数とネットワークストリームについても、これらのポートを構成できます。そのためには、コントローラのルートFTPディレクトリにあるni-rt.iniファイルを編集します。編集するパラメータは、ファイルのLogosXT_PortBaseエントリとLogosXT_NumPortsToCheckエントリです。Logosを使用するソリューションの場合は、適切なレジストリキーを編集してUDPポートを変更するか、Logos.iniファイルの適切なトークンを使用してUDPポート全体を無効にすることができます。詳細については、 「Why Does spnsrvnt.exe Crash After Installing NI Products? (NI製品のインストール後にspnsrvnt.exeがクラッシュするのはなぜですか?)」を参照してください。
機能説明: NI DataSocket VIを使用すると、他のアプリケーション、ファイル、FTPサーバ、Webサーバと通信することができます。使用される実際のポートは、接続先のサーバのタイプによって異なります。また、DataSocket VIは、DataSocket転送プロトコル (DSTP) を使用するDataSocketサーバに接続することもできます。
使用するサーバポート: TCPポート3015 (DSTPの場合)
ポートは構成可能?: いいえ。DataSocketサーバは、スタート→すべてのプログラム→National Instruments→DataSocket→DataSocketサーバより開始できます。
機能説明: LabVIEWのUDPおよびTCP VIを使用して、ネットワーク上の他のマシンに対してUDPおよびTCP通信を直接送受信できます。
使用するプロトコルとポート: アプリケーションコードまたはサーバで定義
ポートは構成可能? はい
ポート設定の場所: TCPおよびUDP VIを使用すると、選択したポートでリッスンしたり、指定したポート番号で他のマシンにデータを送信したりすることができます。
機能説明: NI組込ハードウェアターゲットの中には、ネットワークタイムサーバ (通常はシンプルネットワークタイムプロトコル (SNTP) サーバ) に基づいてシステム時刻を設定する機能を備えているものがあります。また、NTPあるいはSNTPを利用してプログラムで時刻を取得し、その値に基づいてシステム時刻を設定するサンプルコードを利用できるハードウェアターゲットもあります。
サーバポート: TCPポート123 (デフォルト)
ポートは構成可能? はい (サーバで定義)
ポート設定の場所: NIハードウェアターゲットで実行されているコードは通常、ネットワークタイムサーバへの接続を目的として使用される点に注意してください。ただし、これはタイムサーバ自体を実装するものではありません。したがって、使用するネットワークポートは接続先のサーバによって異なります。CompactRIOターゲットについては、「CompactRIOリアルタイムコントローラを構成してSNTPサーバと同期する」の手順に従って、接続先のサーバおよびポートを構成します。他のターゲット上のコードを使用してネットワークタイムサーバに接続している場合、そのコードを使用して接続先のサーバおよびポートを設定できます。ほとんどの場合、リモートのNTPサーバやSNTPサーバに接続する際に、ファイアウォールの調整は必要ありません。
機能説明: IEEE 1588-2008 PTP (Precision Timing Protocol) を使用すると、イーサネットなどのマルチキャスト対応ネットワーク経由で接続された複数のクロックを同期できます。
サーバポート: UDPポート319 (イベントメッセージ) および320 (一般メッセージ)
ポートは構成可能?:いいえ
機能説明: NI ENET-232デバイスおよびNI ENET-485デバイスでは、イーサネットを経由してリモートでRS-232/RS-485接続を制御できます。
サーバポート: TCPポート5225
ポートは構成可能?: いいえ
機能説明: NI GPIB-ENETデバイスを使用すると、イーサネットを経由してリモートでGPIB計測器との通信を制御できます。
サーバポート: TCPポート5000、5003、5005、5010、5015
ポートは構成可能?: いいえ
機能説明: TSN対応のターゲットとデバイスは、以下のポートでタイムスタンプ情報を交換して、ホスト時間とデバイス時間を関連付けます。
サーバポート: TCPポート9123
ポートは構成可能?: いいえ
機能説明:ボリュームライセンスサーバに接続するためにクライアントマシンが使用するポートです。メインのライセンスポートがデフォルト以外に設定されている場合、クライアントはNI License Managerでメインのライセンスポートを指定する必要があります。たとえば、メインのライセンスポートが27001である場合、クライアントではservername:27001と指定します。ボリュームライセンスインストーラウィザードは、ボリュームライセンスインストーラの作成時にメインのライセンスポートを自動的に設定します。
サーバポート: TCP 27000 (デフォルト)
ポートは構成可能?:はい
ポート設定の場所:VLMのポート設定を表示および変更するには、ツール→環境設定→一般→サーバ設定を選択します。
機能説明: NI VLMがクライアントマシンと通信するために使用するポートです。
サーバポート: TCP 4637 (デフォルト)
ポートは構成可能?: はい
ポート設定の場所:VLMのポート設定を表示および変更するには、ツール→環境設定→一般→サーバ設定を選択します。
機能説明: NI VLMには、NI VLM環境内からクライアントにEメールおよびライセンスファイルを送信するためのSMTP Eメールサーバが含まれています。
サーバポート: SMTP 25、SSL/SMTP 465 (デフォルト)
ポートは構成可能?: はい
ポート設定の場所: SMTPサーバアドレスを入力するときにポート番号を指定できます (例: smtp.example.com:465)。ポートを指定しないと、VLMはデフォルトのポートを使用します。SSL暗号化を使用していない場合、デフォルトポートは25です。SSL暗号化を使用している場合、デフォルトポートは465です。
機能説明: NI VLMは以下のポートを使用してVLAログファイルをNIに返送します。ログに含まれるデータは、ボリュームライセンスサーバのコンプライアンスと使用状況のデータです。
サーバポート: HTTPS 443
ポートは構成可能?:いいえ
機能説明: NI更新サービスは、NIソフトウェアおよびドライバを調べ、ソフトウェアアップデートをオンライン形式で配布します。
サーバポート: URL delta.ni.com (ポート443を使用)。URL ftp.ni.comおよびdownload.ni.com (ポート80および443を使用)。
ポートは構成可能?: いいえ
機能説明: NI パッケージマネージャでは、NIソフトウェアのインストール、アップグレード、および管理が可能です。
サーバポート: URL download.ni.com、conduit-locator.ni.com、conduit.ni.com (ポート443を使用)。URL *.scene7.com (ni.scene7.comなど) (ポート80および443を使用)。
ポートは構成可能?: いいえ
製品または機能 | サーバポート (デフォルト) | ポート構成場所 |
---|---|---|
MAXハードウェア識別 | UDP 44515、UDP 44525、TCP 44516 | 該当なし |
Web Monitoring and Configuration | UDP 5353、TCP 52725、TCP 3580 | 該当なし (Webサーバ構成ページ (http://IP_ADDRESS:5353) でSSLを有効化可能) |
LabVIEW Real-Time (デプロイおよびデバッグVI) | TCP 3079 | 該当なし |
LabVIEWリモートフロントパネル | TCP 8000 (SSLなし)、TCP 433 (SSLあり) |
|
LabVIEW Webサービス | TCP 8080 | http://IP_ADDRESS:5353からWebサーバ構成ページにアクセスし、アプリケーションWebサーバの下にある設定を使用 |
LabVIEW VIサーバ | TCP 3363 |
|
NI VISA Server | TCP 3537 | Measurement & Automation Explorer: ツール→NI-VISA→VISAオプション→VISAサーバ |
LabVIEW FPGA Compile Farms (LabVIEW 2010以降) | TCP 3582 | http://IP_ADDRESS:3582からWebサーバ構成ページにアクセスし、システムWebサーバセクションの下にある設定を使用 |
LabVIEW G Webサーバ | TCP 80 | LabVIEW: ツール→インターネット→G Webサーバ構成 |
VeriStand Gateway | ゲートウェイサービスポート2039、プロジェクトポート2041、ゲートウェイ転送サービス2042 | VeriStand Gateway: ファイル→環境設定→ポート |
FTP VI (LabVIEW Internetツールキット) | TCP 20 (アクティブモード)、21 (パッシブモード) | サーバで定義、APIを使用して標準以外のポートにアクセスできる |
EメールVI (SMTP) | TCP 25 | サーバで定義、APIを使用して標準以外のポートにアクセスすることはできない |
HTTPクライアントVI | TCP 80 | サーバで定義、APIを使用して標準以外のポートにアクセスできる |
ネットワークシェア変数 | TCP 2343、UDP 6000~6010、TCP 59110以上 (各アプリケーションインスタンスにつき1ポート) |
|
ネットワークストリーム | 同上 | 同上 |
DataSocket (DSTP) | TCP 3015 | 該当なし |
LabVIEW TCPおよびUDP VI | 該当なし | アプリケーションで定義 |
時間同期 (NTP、SNTP) | TCP 123 | サーバで定義、APIを使用して標準以外のポートにアクセスできる
|
NI ENET-232、NI ENET-485 | TCP 5225 | 該当なし |
NI GPIB-ENET/100、NI GPIB-ENET/1000 | TCP 5000、5003、5005、5010、5015 | 該当なし |
NI VLM | TCP 27000および4637、SMTP 25 (SSLなし) および465 (SSL)、HTTPS 443 |
|
NI更新サービス | URL delta.ni.com (ポート443を使用)。URL ftp.ni.comおよびdownload.ni.com (ポート80および443を使用)。 | 該当なし
|
NI パッケージマネージャ | URL download.ni.com、conduit-locator.ni.com、conduit.ni.com (ポート443を使用)。URL *.scene7.com (ni.scene7.comなど) (ポート80および443を使用)。 | 該当なし
|