NI 軟體組合和嵌入式硬體目標系統充分運用網路通訊,進行應用程式部署、應用程式或儀器遠端控制、資料傳輸、網路伺服器和服務存取與主機代管等等。使用支援 NI 網路的產品與硬體或軟體防火牆時,可能需要掌握與各個網路連接埠相關的存取資訊才能進行通訊。本教學課程簡單說明與使用 NI 產品執行常見作業相關的網路設定,包括所用的預設 TCP/UDP 連接埠,以及重新設定這些連接埠的方式 (如果可以重新設定)。
在現代的電腦系統中,包括網頁流量、檔案傳輸、電子郵件以及其他諸多功能,都可以依據邏輯區分成不同的網路層;這就是所謂的 OSI 模型。網路層的作用是按照既有路線傳輸網路流量,以及提供錯誤偵測和診斷功能。區域網路和網際網路通訊所用的主要網路層通訊協定,稱為網際網路協定 (IP)。而傳輸層負責提供應用程式所需的端對端通訊服務。傳輸控制通訊協定 (TCP) 和使用者資料包協定 (UDP) 是最普遍的兩種傳輸層協定。
網路流量要能傳輸到遠端系統中的應用程式,必須包含兩項重要資訊:流量接收端電腦的位址 (若使用 IP 協定,就是指 IP 位址),以及遠端系統上應處理資料之應用程式的目的地連接埠號碼。另也會傳送資料/要求傳輸端電腦的 IP 位址,以及原始應用程式所用的來源連接埠號碼。實際上,每種傳輸層協定 (如 TCP、UDP) 最多可以提供 65535 個埠。
如果某台特定電腦上的應用程式在接收資料或「偵聽」特定通訊埠,則該應用程式可能會接收網路資料並據以執行操作。如此一來,只要不超出應用程式所允許的程度,網路流量就有可能會影響系統操作。為降低網路流量對電腦運作的影響,網路連線設備和各電腦可能會採用所謂的防火牆;防火牆使用一組規則 (以 IP 位址、連接埠或嘗試傳送流量的應用程式為準據) 允許或封鎖特定不需要的網路流量。
硬體防火牆通常內建於網路連線設備 (例如路由器),會在接收到網路流量 (亦即封包) 時逐一檢查,然後轉發。每個封包的標頭均含網域 IP 位址、所用的傳輸層通訊協定、遠端連接埠號碼等相關資訊。硬體防火牆可以根據這類資訊和一組使用者定義的規則篩選封包,允許特定網路封包通過的同時,也會丟棄一部分不轉發的網路封包。
各個硬體防火牆的設定未必相同 (或會採用不同的預設值),但許多個人網路路由器的預設值本就允許所有傳出流量,同時停用區域網路和外部網路之間的所有傳入流量。預設值通常允許區域網路內的所有流量,同時也允許有最新傳出要求為準據的傳入流量。
除了網路硬體防火牆之外,電腦也可以執行防火牆軟體組合,用於篩選網路通訊並避免因遠端機器而受到不利影響。軟體防火牆的目的與硬體防火牆相似,但兩者採用的篩選方法並不相同。
為根據標頭資訊 (IP 位址、傳輸層協定、連接埠等) 篩選封包,軟體防火牆通常會使用中介網路驅動程式,這類驅動程式可以先根據規則接收或拒絕流量,再將流量轉發至應用程式 (如果是傳入封包),或者進行對外傳輸作業。為根據執行中的各項嘗試傳送或接收資料的應用程式或處理序篩選網路流量,軟體防火牆也可以攔截應用程式和底層傳輸層通訊協定驅動程式之間的軟體呼叫。舉例來說,採用這種方法可能會拒絕某些應用程式,使得這些應用程式無法偵聽特定連接埠的資料,而其他應用程式則有機會得到這些權限。
各個軟體防火牆組合的設定未必相同 (或採用不同的預設值),但許多個人防火牆軟體組合的預設值本就允許所有傳出連接埠流量,同時停用所有傳入連接埠流量。不過,這些組合通常也會允許依據先前的傳出要求預期會出現的傳入連接埠流量。如前所述,防火牆軟體可能會提示使用者允許或限制各項應用的連接埠存取權限。
許多 NI 產品均採用網路通訊功能提供不同類型的功能:從識別網路連線硬體目標系統到開放存取在 LabVIEW 中建立的網路服務均屬之。大多數的企業與個人網路均採行硬體與軟體防火牆並用的方式,因此通常必須變更防火牆設定,允許特定 NI 產品維持正常運作所需的流量通過。
下文列舉不同 NI 產品與功能所使用的傳輸層協定和連接埠,以及可以在何處變更這些連接埠 (如果可以變更)。請參閱硬體或軟體防火牆的說明文件,了解如何變更防火牆設定並允許所需流量通過。如果您使用大型網路,且您無權變更硬體或軟體防火牆設定,請聯絡網路管理員並參閱本文件。
請記住,通常只有在需要允許傳入連線連上伺服器連接埠 (指執行於本機電腦或嵌入式硬體目標系統的伺服器) 的情況下,才必須設定硬體或軟體防火牆。使用軟體防火牆時,也可能會出現請您允許個別應用程式傳送或接收資料的提示。
功能說明:NI Measurement & Automation Explorer (MAX) 可以探索、列舉以及設定支援網路架構的 NI 裝置 (如 LabVIEW Real-Time 目標系統)。
伺服器連接埠:UDP 連接埠 44515、UDP 連接埠 44525、TCP 連接埠 44516
是否可以設定連接埠?否
功能說明: 從 LabVIEW 2010 開始的版本,均支援使用網頁瀏覽器監控及設定諸多支援網路架構的 NI 裝置。
伺服器連接埠: UDP 連接埠 5353 (用於透過 mDNS 進行裝置偵測)、TCP 連接埠 52725 (用於 NI Network Browser 公用程式)、TCP 連接埠 3580 (網路監控與設定伺服器連接埠)
是否可以設定連接埠?否
連接埠設定所在位置:您無法變更網路監控與設定伺服器連接埠。不過,您可以進入特定系統的網路控制與設定頁面 (http://IP_ADDRESS:5353),使用「網路伺服器設定」(Web Server Configuration) 這個頁面及「系統網路伺服器」(System Web Server) 的設定,選擇啟用 SSL 通訊功能。
功能說明:使用 LabVIEW Application Web Server 代管時,可以將 LabVIEW 應用程式併入網路服務中,再以其他網路連線系統進行存取。
伺服器連接埠:TCP 連接埠 8080 (預設)
是否可以設定連接埠?是
連接埠設定所在位置:您可以使用伺服器機器的網路監控與設定頁面變更用於代管 LabVIEW 網路服務的應用程式網路伺服器連接埠。要使用這項功能,可以先上網連上 (http://IP_ADDRESS:5353),然後進入網路伺服器設定 (Web Server Configuration) 頁面,再使用應用程式網路伺服器 (Application Web Server) 之下的設定進行變更。此外,您也可以使用這些設定指派其他連接埠,或者用於使用 SSL 進行應用程式網路伺服器通訊。
功能說明:您可以使用 VI Server,在本機系統或遠端機器以程式控制特定一台電腦上的人機介面物件、VI 和 LabVIEW。
伺服器連接埠:TCP 連接埠 3363 (預設)
是否可以設定連接埠?是
連接埠設定所在位置:只要進入 Tools >> Options >> VI Server 功能表,就可以變更開發電腦的 VI Server 連接埠。若要變更嵌入式硬體目標系統 (如 CompactRIO) 的 VI Server 連接埠,請在 LabVIEW Project 中的目標系統上按一下滑鼠右鍵再點選 Properties >> VI Server。
功能說明: 除了透過 NI-VISA API 與連線至本地端機器的儀器進行通訊之外,也可以使用 VISA Server 遠端控制實際連接至其他機器的儀器。
伺服器連接埠: TCP 連接埠 3537 (預設)
是否可以設定連接埠?是
連接埠設定所在位置: 若要在電腦上檢視及變更 VISA 伺服器的連接埠設定,請開啟 NI Measurement & Automation Explorer (MAX) 軟體並進入 Tools >> NI-VISA >> VISA Options >> VISA Server。
功能說明:您可以將 LabVIEW FPGA 編譯工作傳送至單一遠端電腦進行編譯,也可以使用一組遠端電腦進行全站範圍的編譯 (每件編譯工作仍只使用 1 台電腦)。只要在一台機器上安裝 LabVIEW FPGA Compile Worker 軟體,並在本地端或遠端機器上安裝 LabVIEW FPGA Compile Server 軟體,就能進行遠端編譯。使用一組安裝了 LabVIEW FPGA Compile Worker 軟體的電腦,加上 1 台安裝了 LabVIEW FPGA Compile Server 與 LabVIEW FPGA Compile Farm Toolkit 的伺服器電腦,即可建置全站範圍的遠端編譯系統。
伺服器連接埠:TCP 連接埠 3582 (與 System Web Server 相同)
是否可以設定連接埠?是
功能說明:G Web Server 屬於 LabVIEW Internet Toolkit,能用於提供存取權限,支援遠端機器存取以 LabVIEW 撰寫的 CGI 應用程式。
伺服器連接埠:TCP 連接埠 80 (預設)
是否可以設定連接埠?是
連接埠設定所在位置: 您可以使用 LabVIEW 功能表設定 G Web Server,功能表路徑是:Tools >> Internet >> G Web Server Configuration。
功能說明: 建立 TCP/IP 通訊頻道,輔助透過網路與 VeriStand Engine 進行通訊
伺服器連接埠: Gateway Services 連接埠 2039、專案連接埠 2041、閘道傳輸服務連接埠 2042
是否可以設定連接埠? 是
連接埠設定所在位置: 您可以在功能表中設定連接埠,功能表路徑是:File>> Preferences>> Ports。
功能說明: LabVIEW File Transfer Protocol (FTP) VI 支援讀寫遠端 FTP 伺服器檔案。
伺服器連接埠:TCP 連接埠 20 (只用於主動模式)、TCP 連接埠 21 (用於主動與被動模式)
是否可以設定連接埠?是 (由伺服器定義)
連接埠設定所在位置:您可以使用 LabVIEW Internet Toolkit 中的 FTP VI 連線至遠端 FTP 伺服器,不必直接執行 FTP 伺服器。FTP 伺服器通常會使用連接埠 20 和 21,但您可以在伺服器端變更這項設定,也可以使用 LabVIEW VI 連線至非標準連接埠。請注意,可能需要特殊的防火牆設定才能支援主動式 FTP 連線;如需詳細資訊,請點選這個連結。若使用被動式 FTP 連線,通常不需要調整防火牆即可連上遠端伺服器。
功能說明: LabVIEW 含簡易郵件傳輸通訊協定 (SMTP) VI,用於透過遠端 SMTP 伺服器傳送電子郵件。
伺服器連接埠:TCP 連接埠 25
是否可以設定連接埠?否
連接埠設定所在位置:您可以使用 LabVIEW 中的 SMTP VI 連線至遠端 SMTP 伺服器,不必直接執行 SMTP 伺服器。連接埠 25 通常由 SMTP 伺服器使用;目前無法使用 LabVIEW SMTP VI 存取非標准通訊埠,也無法連線至安全的 SMTP 伺服器。通常應不需要調整防火牆即可連線至遠端 SMTP 伺服器。
功能說明:您可以使用 HTTP Client VI 建置能與伺服器、網頁和網路服務互動的網路用戶端。您可以新增 HTTP 標頭、儲存 Cookie、提供授權認證,以及使用 POST、GET、PUT、HEAD 和 DELETE 之類的 HTTP 方法傳送網路要求。
伺服器連接埠:TCP 連接埠 80 (預設)
是否可以設定連接埠?是 (由伺服器定義)
連接埠設定所在位置:您可以使用 LabVIEW 中的 HTTP Client VI 連線至遠端網路伺服器,不必直接執行網路伺服器。 連接埠 80 通常由網路伺服器使用,但只要使用符合 (http://HOSTNAME:PORT) 格式的 URL,就能使用 HTTP Client VI 連線至使用非標準連接埠的伺服器。通常應不需要調整防火牆即可連線至遠端 HTTP 伺服器。
功能說明: 這兩種網路串流 (LabVIEW 2010 和更新版本) 均可用於在同一個網路上的機器之間傳輸變數資料。實際上,網路共用變數經過最佳化處理,最適合用於輪詢來源是一或多個遠端系統的變數值,而同樣經過最佳化處理的網路串流,則最適合用於在不同的系統之間,以無損方式傳送完整資料流。網路共用變數和網路串流均使用名稱是 Logos 的基礎通訊協定,因此兩者會使用相同的網路連接埠。
伺服器連接埠:TCP 連接埠 2343 (預設)、UDP 連接埠 6000-6010 (預設)、TCP 連接埠 59110 及以上 (伺服器上執行的每個應用程式各一個通訊埠)
是否可以設定連接埠?是
連接埠設定所在位置:代管網路共用變數或網路串流的 Windows PC 若是使用 LogosXT,您可以建立一個 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 檔案中適合的 Token 將 UDP 整個停用。詳細資訊請參閱下列連結: 安裝 NI 產品之後,spnsrvnt.exe 為什麼會損毀?
功能說明: NI DataSocket VI 可用於與其他應用程式、檔案、FTP 伺服器和網路伺服器通訊。所使用的具體連接埠取決於您所連線之伺服器的類型。此外,DataSocket VI 可以連線至使用 DataSocket Transfer Protocol (DSTP) 的 DataSocket 伺服器。
使用的伺服器連接埠: TCP 連接埠 3015 (用於 DSTP)
是否可以設定連接埠? 否。若要啟動 DataSocket 伺服器,請進入 Start >> All Programs >>National Instruments>> Datasocket >> DataSocket Server。
功能說明: 只要使用 LabVIEW 中的 UDP 和 TCP VI,就能直接與同一個網路上的其他機器連線進行 UDP 和 TCP 通訊的傳送與接收。
使用的通訊協定和連接埠由應用程式碼或伺服器定義
是否可以設定連接埠?是
連接埠設定所在位置:TCP 和 UDP VI 支援偵聽您所選的連接埠,也支援使用您所指定的連接埠號碼,將資料傳送至另一台機器。
功能說明: 某些 NI 嵌入式硬體目標系統的內建功能,可以根據網路時間伺服器 (通常是簡易網路時間協定或 SNTP 伺服器) 設定系統時間。在其他硬體目標系統上,可以參考程式碼範例,透過 NTP 或 SNTP 以程式設計方式擷取時間,並根據該數值設定系統時間。
伺服器連接埠:TCP 連接埠 123 (預設)
是否可以設定連接埠?是 (由伺服器定義)
連接埠設定所在位置:請注意,NI 硬體系統所執行的程式碼通常用於連線至網路時間伺服器,不用於直接執行時間伺服器。因此,所使用的網路連接埠取決於您所連線的伺服器。若是 CompactRIO 目標系統,您可以依據本參考文件中的說明,設定讓伺服器和連接埠連線至:設定 CompactRIO Real-Time 控制器,與 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 License Manager 中指定主要授權連接埠。舉例來說,若主要授權連接埠是 27001,用戶端就要指定 servername: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 Update Service 會檢查並透過電子連線進行 NI 軟體和驅動程式軟體更新。
伺服器連接埠: URL delta.ni.com 使用 443 連接埠。URL ftp.ni.com 和 download.ni.com 使用連接埠 80 和 443。
是否可以設定連接埠? 否
功能說明: NI Package Manager 是用於安裝、升級和管理 NI 軟體的工具。
伺服器連接埠: download.ni.com、conduit-locator.ni.com、conduit.ni.com 等 URL 使用連接埠 443。URL *.scene7.com (例如 ni.scene7.com) 使用連接埠 80 和 443。
是否可以設定連接埠? 否
產品或功能 | 伺服器連接埠 (預設) | 連接埠設定位置 |
---|---|---|
MAX 硬體識別 | UDP 44515、UDP 44525、TCP 44516 | 不適用 |
網路監控和設定 | UDP 5353、TCP 52725、TCP 3580 | 不適用 (可透過 Web Server Configuration 頁面在 http://IP_ADDRESS:5353 啟用 SSL 功能) |
LabVIEW Real-Time (VI 部署與除錯) | TCP 3079 | 不適用 |
LabVIEW 遠端人機介面 | TCP 8000 (非 SSL)、TCP 433 (SSL) |
|
LabVIEW 網路服務 | TCP 8080 | http://IP_ADDRESS:5353,然後進入 Web Server Configuration 頁面中的 Application Web Server 區段 |
LabVIEW VI 伺服器 | TCP 3363 |
|
NI VISA Server | TCP 3537 | Measurement & Automation Explorer:Tools >> NI-VISA >> VISA Options >> VISA Server |
LabVIEW FPGA Compile Farm (LabVIEW 2010 和更新版本) | TCP 3582 | http://IP_ADDRESS:3582,然後進入 Web Server Configuration 頁面中的 System Web Server 區段 |
LabVIEW G Web Server | TCP 80 | LabVIEW:Tools >> Internet >> G Web Server Configuration |
VeriStand 閘道 | Gateway Services 連接埠 2039、專案連接埠 2041、閘道傳輸服務連接埠 2042 | VeriStand 閘道: File>> Preferences>> Ports。 |
FTP VI (LabVIEW Internet Toolkit) | TCP 20 (主動模式)、21 (被動模式) | 由伺服器定義,可以使用 API 存取非標準連接埠。 |
電子郵件 VI (SMTP) | TCP 25 | 由伺服器定義,無法使用 API 存取非標準連接埠。 |
HTTP Client VI | TCP 80 | 由伺服器定義,可以使用 API 存取非標準連接埠。 |
網路共用變數 | TCP 2343、UDP 6000-6010、TCP 59110 和更新版本 (每個應用程式執行個體一個連接埠) |
|
網路串流 | 同上 | 同上 |
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 Update Service | URL delta.ni.com 使用 443 連接埠。URL ftp.ni.com 和 download.ni.com 使用連接埠 80 和 443 | 不適用
|
NI Package Manager | download.ni.com、conduit-locator.ni.com、conduit.ni.com 等 URL 使用連接埠 443。URL *.scene7.com (例如 ni.scene7.com) 使用連接埠 80 和 443 | 不適用
|