NI软件包和嵌入式硬件终端利用网络通信进行应用程序部署、远程控制应用程序或仪器、传输数据、访问和托管Web服务器和Web服务等。当使用带有硬件或软件防火墙的NI网络产品时,可能需要有关单个网络端口访问的信息才能允许通信。本教程简要说明了与使用NI产品执行常见任务相关的网络设置,包括使用的默认TCP/UDP端口以及重新配置这些端口的方法(如果可能)。
在现代计算机系统中,可以将包括网页流量、文件传输、电子邮件等在内的网络通信从逻辑上划分为不同的层,这就是OSI模型。其中一层称为网络层,负责成功路由网络流量,并提供错误检测和诊断功能。本地网络和互联网通信所使用的主要网络层协议称为互联网协议(IP)。另一层称为传输层,负责为应用程序提供端到端通信服务。最常见的两种传输层协议是传输控制协议(TCP)和用户数据报协议(UDP)。
为了使网络流量到达远程系统上的应用程序,它必须包含两个关键信息:应接收流量的计算机地址(使用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应用程序变为网络服务,然后在使用LabVIEW应用程序Web服务器托管时可以从其他联网系统进行访问。
服务器端口:TCP端口8080(默认)
端口是否可配置?:是
端口设置的位置:您可以使用服务器机器的Web监控和配置页面来更改用于托管LabVIEW网络服务的应用程序Web服务器端口。访问(http://IP_ADDRESS:5353),然后访问“Web服务器配置”页面并使用“应用程序Web服务器”下的设置来完成更改。另外,也可以使用这些设置分配其他端口,并可以选择使用SSL进行应用程序Web服务器通信。
功能说明:VI服务器可用于以编程方式从本地系统或远程机器控制指定计算机上的前面板对象、VI和LabVIEW。
服务器端口:TCP端口3363(默认)
端口是否可配置?:是
端口设置的位置:您可以依次选择“工具”(Tools)>>“选项”(Options)>>“VI服务器菜单”(VI Server menu),更改开发计算机上的VI服务器端口。要更改嵌入式硬件终端(例如CompactRIO)上的VI服务器端口,请右键单击LabVIEW项目中的终端,然后选择“属性”(Properties)>>“VI服务器”(VI Server)。
功能说明: 除了通过NI-VISA API与连接到本地机器的仪器进行通信外,还可以使用VISA服务器远程控制物理连接至另一台机器的仪器。
服务器端口: TCP端口3537(默认)
端口是否可配置?:是
端口设置的位置: 要在PC上查看和更改VISA服务器的端口设置,请打开NI Measurement & Automation Explorer (MAX)软件,然后依次选择“工具”(Tools)>>“NI-VISA”>>“VISA选项”(VISA Options)>>“VISA服务器”(VISA Server)。
功能说明:您可以将LabVIEW FPGA编译作业发送到一台远程计算机进行编译,也可以使用多台远程计算机进行站点范围的编译(每个编译仍仅使用一台计算机)。在一台机器上进行远程编译可以通过在该机器上安装LabVIEW FPGA Compile Worker软件,以及在本地或远程机器上安装LabVIEW FPGA编译服务器软件来完成。构建站点范围的远程编译系统时,可以使用安装了LabVIEW FPGA Compile Worker软件的多台计算机,以及安装了LabVIEW FPGA编译服务器和NI LabVIEW FPGA Compile Farm工具包的一台服务器计算机。
服务器端口:TCP端口3582(与系统Web服务器相同)
端口是否可配置?:是
功能说明:G Web服务器是LabVIEW Internet工具包的一部分,可用于为远程机器提供对使用LabVIEW编写的CGI应用程序的访问权限。
服务器端口:TCP端口80(默认)
端口是否可配置?:是
端口设置的位置: 位于“工具”(Tools)>>“互联网”(Internet)>>“G Web服务器配置”(G Web Server Configuration)中的LabVIEW菜单可用于配置G Web服务器。
功能说明: 可创建促进与VeriStand引擎进行网络通信的TCP/IP通信通道
服务器端口: 网关服务端口2039、项目端口2041、网关传输服务2042
端口是否可配置?: 是
端口设置的位置: 您可以在“文件”(File)>>“首选项”(Preferences)>>“端口”(Ports)菜单中配置端口。
功能说明: LabVIEW文件传输协议(FTP) VI可在远程FTP服务器之间读写文件。
服务器端口:TCP端口20(仅在主动模式下使用),TCP端口21(在主动和被动模式下使用)
端口是否可配置?:是(由服务器定义)
端口设置的位置:您可以使用LabVIEW Internet工具包中的FTP VI连接到远程FTP服务器,而不是实现FTP服务器本身。FTP服务器通常使用端口20和21,但端口可以在服务器端进行更改,而且您也可以使用LabVIEW VI连接到非标准端口。请注意,可能需要特殊的防火墙设置来支持主动的FTP连接;有关其他信息,请访问此链接。对于被动FTP连接,通常不需要进行防火墙调整即可连接到远程服务器。
功能说明: LabVIEW包含简单邮件传输协议(SMTP) VI,用于通过远程SMTP服务器发送电子邮件。
服务器端口:TCP端口25
端口是否可配置?:否
端口设置的位置:您可以使用LabVIEW中的SMTP VI连接到远程SMTP服务器,而不是实现SMTP服务器本身。SMTP服务器通常使用端口25;目前,LabVIEW SMTP VI无法用于访问非标准端口,也无法用于连接至安全的SMTP服务器。在大多数情况下,无需调整防火墙即可连接到远程SMTP服务器。
功能说明:您可以使用HTTP客户端VI创建与服务器、页面和Web服务交互的Web客户端。您可以添加HTTP头、存储Cookie、提供验证凭证,还可以使用HTTP方法(如POST、GET、PUT、HEAD和DELETE)发送Web请求。
服务器端口:TCP端口80(默认)
端口是否可配置?:是(由服务器定义)
端口设置的位置:您可以在LabVIEW中使用HTTP客户端VI连接到远程Web服务器,而不是实现Web服务器本身。 Web服务器通常使用端口80,但您可以使用HTTP客户端VI,采用(http://HOSTNAME:PORT)格式的URL连接到非标准端口上的服务器。在大多数情况下,无需调整防火墙即可连接到远程HTTP服务器。
功能说明: 两种网络流(在LabVIEW 2010及更高版本中提供)可用于在网络上的机器之间传输变量数据。实际上,网络共享变量经过优化,可轮询一个或多个远程系统的变量值,而网络流经过优化,可在一个系统与另一个系统之间以无损的方式发送完整的数据流。网络共享变量和网络流均使用称为Logos的基础协议,因此它们使用的网络端口也相同。
服务器端口:TCP端口2343(默认)、UDP端口6000-6010(默认)、TCP端口59110及更高版本(服务器上运行的每个应用程序对应一个端口)
端口是否可配置?:是
端口设置的位置:对于使用LogosXT在Windows PC上托管的网络共享变量或网络流,您可以创建一个LogosXT.ini文件来指定要使用的其他TCP端口范围(使用的UDP端口是固定的)。访问此链接以了解LogosXT.ini文件的位置和内容:更改基于TCP的NI-PSP的默认端口(Windows)。此外,您可以编辑控制器根FTP目录中的ni-rt.ini文件,从而为LabVIEW Real-Time终端上托管的网络共享变量和网络流配置这些端口。兴趣参数为该文件中的LogosXT_PortBase和LogosXT_NumPortsToCheck条目。对于使用Logos的解决方案,您可以通过编辑相应的注册表项来更改UDP端口,或者使用Logos.ini文件中相应的令牌完全禁用该端口。详细信息请访问以下链接。 为什么在安装NI产品后spnsrvnt.exe会崩溃?
功能说明: NI DataSocket VI可用于与其他应用程序、文件、FTP服务器和Web服务器通信。使用的特定端口将取决于您要连接的服务器类型。此外,DataSocket VI可以连接到使用DataSocket传输协议(DSTP)的DataSocket服务器。
使用的服务器端口: TCP端口3015(适用于DSTP)
端口是否可配置?: 否。您可以依次选择“开始”(Start)>>“所有程序”(All Programs)>> National Instruments >>“Datasocket”>>“DataSocket服务器”(DataSocket Server),启动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),对于通过支持多播的网络(如以太网)连接的多个时钟,您可以实现它们之间的同步。
服务器端口: 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许可证管理器中指定主许可端口。例如,如果主许可端口为27001,则客户端将指定服务器名称:27001。创建批量许可证安装程序时,批量许可证安装程序向导会自动设置主许可端口。
服务器端口:TCP 27000(默认)
端口是否可配置?:是
端口设置的位置:要查看和更改VLM的端口设置,请依次选择“工具”(Tools)>>“首选项”(Preferences)>>“常规”(General)>>“服务器设置”(Server Settings)。
功能说明: NI VLM用于与客户端计算机通信的端口。
服务器端口: TCP 4637(默认)
端口是否可配置?: 是
端口设置的位置:要查看和更改VLM的端口设置,请依次选择“工具”(Tools)>>“首选项”(Preferences)>>“常规”(General)>>“服务器设置”(Server Settings)。
功能说明: NI VLM包含一个SMTP电子邮件服务器,用于从NI VLM环境中向客户端发送电子邮件和许可证文件。
服务器端口: 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 Package Manager是安装、升级和管理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 | NA |
Web监控和配置 | UDP 5353、TCP 52725、TCP 3580 | NA(可以通过“Web服务器配置”页面在http://IP_ADDRESS:5353启用SSL) |
LabVIEW Real-Time(部署和调试VI) | TCP 3079 | NA |
LabVIEW远程前面板 | TCP 8000(无SSL)、TCP 433 (SSL) |
|
LabVIEW Web服务 | TCP 8080 | http://IP_ADDRESS:5353,然后访问“应用程序Web服务器”下的“Web服务器配置”页面 |
LabVIEW VI服务器 | TCP 3363 |
|
NI VISA服务器 | TCP 3537 | Measurement & Automation Explorer:“工具”(Tools)>>“NI-VISA”>>“VISA选项”(VISA Options)>>“VISA服务器”(VISA Server) |
NI LabVIEW FPGA Compile Farm(LabVIEW 2010及更高版本) | TCP 3582 | http://IP_ADDRESS:3582,然后访问“系统Web服务器”部分下的“Web服务器配置”页面 |
LabVIEW G Web服务器 | TCP 80 | LabVIEW:“工具”(Tools)>>“互联网”(Internet)>>“G Web服务器配置”(G Web Server Configuration) |
VeriStand网关 | 网关服务端口2039、项目端口2041、网关传输服务2042 | VeriStand网关: “文件”(File)>>“首选项”(Preferences)>>“端口”(Ports)。 |
FTP VI(LabVIEW Internet工具包) | TCP 20(主动模式)、21(被动模式) | 由服务器定义,可以使用API访问非标准端口。 |
Email VI (SMTP) | TCP 25 | 由服务器定义,不可以使用API访问非标准端口。 |
HTTP客户端VI | TCP 80 | 由服务器定义,可以使用API访问非标准端口。 |
网络共享变量 | TCP 2343、UDP 6000-6010、TCP 59110及更高(每个应用程序实例对应一个端口) |
|
网络流 | 同上 | 同上 |
DataSocket (DSTP) | TCP 3015 | NA |
LabVIEW TCP和UDP VI | NA | 由应用程序定义 |
时间同步(NTP、SNTP) | TCP 123 | 由服务器定义,可以使用API访问非标准端口。
|
NI ENET-232、NI ENET-485 | TCP 5225 | NA |
NI GPIB-ENET/100、NI GPIB-ENET/1000 | TCP 5000、5003、5005、5010和5015 | NA |
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。 | NA
|
NI Package Manager | URL download.ni.com、conduit-locator.ni.com和conduit.ni.com均使用443端口。URL *.scene7.com(如ni.scene7.com)使用端口80和443 | NA
|