Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Overview
National Instruments software packages and embedded hardware targets take advantage of network communication for application deployment, remote control of applications or instruments, transferring data, accessing and hosting web servers and services, and more. When using National Instruments network-enabled products with hardware or software firewalls, information about individual network port access may be needed to permit communication. This tutorial briefly explains the networking settings associated with performing common tasks using NI products, including the default TCP/UDP ports used and how to reconfigure these ports (if possible).
Table of Contents
1. Introduction to Network Ports and Firewalls 2. Network Ports and Settings Used by National Instruments Products 3. Summary Table (Network Ports and Settings) 4. Additional Assistance
Hardware Firewalls
Hardware firewalls are commonly built into networking equipment (such as routers), and examine each piece of network traffic (known as packets) as they are received and then re-transmitted. The header of each packet contains information about the destination IP address, transport layer protocol used, remote port number, and more. Hardware firewalls can filter packets based on this information and a set of user-defined rules, resulting in certain network packets being allowed and others being dropped without re-transmission. Although each individual hardware firewall may be configured differently (or have different default settings), many personal network routers are set up by default to allow all outgoing traffic and disable all incoming traffic between a local and external network. All traffic within the local network itself is typically allowed by default, and incoming traffic based on a recent outgoing request is also typically allowed.
Software Firewalls
In addition to the presence of hardware firewalls on network, individual computers may also run firewall software packages to filter network communications and protect against the unwanted influence of remote machines. While software firewalls have a similar objective as hardware firewalls, they use different methods to do this filtering. To filter packets based on header information (IP address, transport layer protocol, port, etc), software firewalls commonly employ an intermediate network driver that can accept or reject traffic based on rules before passing it to an application (in the case of incoming packets) or for outbound transmission. To filter network traffic based on the individual running application, or process, that is attempting to send or receive data, software firewalls can also intercept software calls between applications and underlying transport layer protocol drivers. Using this method, for example, certain applications could be denied the opportunity to listen for data on a specific port, while others could be granted this permission. Although each software firewall package may be configured differently (or have different default settings), many personal firewall software packages are set up by default to allow all outgoing port traffic and disable all incoming port traffic. However, these packages typically also enable incoming port traffic that is expected based on a previous outgoing request. As mentioned previously, firewall software may also prompt the user to allow or restrict port access for individual applications.
1/4
www.ni.com
Are the Ports Configurable?: Yes Location of Port Settings: Remote front panel settings for VIs that run on a desktop PC can be configured from the Tools >> Web Server page under Remote Panel Server and HTTP port. The Remote front panel server can also optionally be configured to use SSL from the same settings page, and use a separate SSL port. When configuring the remote front panel server for an embedded hardware target, these same settings are accessible from the LabVIEW project by right clicking on the target and selecting Properties >> Web Server. Web Services Created by LabVIEW Description of Functionality: LabVIEW applications can be made into web services and then accessed from other networked systems when hosted using the LabVIEW Application Web Server. Server Ports: TCP port 8080 (default) Are the Ports Configurable?: Yes Location of Port Settings: You can change the Application Web Server port used to host LabVIEW web services using the web monitoring and configuration page for the server machine. This can be accessed by visiting (http://IP_ADDRESS:5353) and then visiting the Web Server Configuration page and using the settings under Application Web Server. In addition, it is possible to assign additional ports and optionally use SSL for Application Web Server communication using these settings. Programmatic Application Control with VI Server Description of Functionality: VI Server can be used to programatically control front panel objects, VIs, and LabVIEW on a given computer from either the local system or a remote machine. Server Ports: TCP port 3363 (default) Are the Ports Configurable?: Yes Location of Port Settings: You can change the VI Server port on a development computer by navigating to the Tools >> Options >> VI Server menu. To change the VI Server port on an embedded hardware target (e.g. CompactRIO), right click on the target in the LabVIEW Project and select Properties >> VI Server. Remote Instrument Control with VISA Server Description of Functionality: In addition to communicating with instruments connected to a local machine through the NI-VISA API, it is possible to remotely control instruments that are physically connected to another machine -- using the VISA Server. Server Ports: TCP port 3537 (default) Are the Ports Configurable?: Yes Location of Port Settings: To view and change port settings for the VISA server on a PC, open NI Measurement & Automation Explorer (MAX) software and navigate to Tools >> NI-VISA >> VISA Options >> VISA Server. FPGA Compile Farms Description of Functionality: You can send a LabVIEW FPGA compile job to a single remote computer for compilation, or use a remote bank of computers for site-wide compilation (each compile still utilizes only one computer). Remote compilation on one machine can be accomplished by installing LabVIEW FPGA Compile Worker software on that machine, and LabVIEW FPGA Compile Server software on either the local or remote machine. Site-wide remote compilation systems can be built using a bank of computers with LabVIEW FPGA Compile Worker software installed, and a server computer with the LabVIEW FPGA Compile Server and LabVIEW FPGA Compile Farm Toolkit installed. Server Ports: TCP port 3580 (same as Web Monitoring and Configuration server) Are the Ports Configurable?: No Legacy: G Web Server Description of Functionality: The G Web Server is part of the LabVIEW Internet Toolkit, and can be used to provide remote machines with access to CGI applications written in LabVIEW. Server Ports: TCP port 80 (default) Are the Ports Configurable?: Yes Location of Port Settings: You can configure the G Web Server using the LabVIEW menu located at Tools >> Internet >> G Web Server Configuration.
2/4
www.ni.com
Description of Functionality: NI DataSocket VIs can be used to communicate with other applications, files, FTP servers, and Web servers. The specific ports used will depend on the type of server that you are connecting to. In addition, DataSocket VIs can connect to DataSocket servers that use the DataSocket Transfer Protocol (DSTP). Server Ports Used: TCP port 3015 (for DSTP) Are the Ports Configurable?: No. You can start the DataSocket server by navigating to Start >> All Programs >> National Instruments >> Datasocket >> DataSocket Server.
Product or Feature
Server Ports (default) UDP 44525 UDP 5353, TCP 52725, TCP 3580 NA
NA (can enable SSL at http://IP_ADDRESS:5353 via Web Server Configuration page) PC (in LabVIEW ): Tools >> Web Server Embedded RT target (in LabVIEW): right click on target in Project >> Properties >> Web Server
TCP 8080
http://IP_ADDRESS:5353 then visit Web Server Configuration page under Application Web Server PC (in LabVIEW): Tools >> Options >> VI Server Embedded RT target (in LabVIEW): right click on target in Project >> Properties >> VI Server
LabVIEW VI Server
TCP 3363
NI VISA Server
TCP 3537
Measurement & Automation Explorer: Tools >> NI-VISA >> VISA Options >> VISA Server NA LabVIEW: Tools >> Internet >> G Web Server Configuration Defined by server, can access non-standard ports using API. Defined by server, can not access non-standard ports using API. Defined by server, can access non-standard ports using API. PC: use LogosXT.ini file (read this) Embedded RT target: use ni-rt.ini file in root directory (LogosXT_PortBase and LogosXT_NumPortsToCheck entries) Same as above NA Defined by application Defined by server, can access non-standard ports using API. CompactRIO: (read this)
LabVIEW FPGA Compile Farms (LabVIEW 2010 and later) LabVIEW G Web Server FTP VIs (LabVIEW Internet Toolkit) Email VIs (SMTP)
TCP 80 UDP 2343, UDP 6000-6010, TCP 59110 and above (one port for each application instance)
Network Streams DataSocket (DSTP) LabVIEW TCP and UDP VIs Time Synchronization (NTP, SNTP)
NI ENET-232, NI ENET-485
TCP 5225
NA
3/4
www.ni.com
NI GPIB-ENET/100, NI GPIB-ENET/1000
NA
4. Additional Assistance
If you are experiencing issues with firewalls and NI products, visit ni.com/support and call or e-mail an Applications Engineer for assistance. You can also ask about any products not mentioned in this tutorial, and request that they be added for future reference.
4/4
www.ni.com