Technology
TCP/IP系アプリケーションプロトコル(HTTP/SMTP/FTP/TFTP/NTP)
(TCP/IPけいアプリケーションプロトコル)
通信プロトコル開発
TCP/IP系アプリケーションプロトコルとは、IPネットワーク上でWeb表示、メール送信、ファイル転送、時刻同期など、特定の用途を実現するための通信規約です。
HTTP、SMTP、FTP、TFTP、NTPは、それぞれ役割や通信方法が異なります。システムを設計する際は、接続する機器が対応するプロトコルだけでなく、認証、暗号化、通信方向、データ量、リアルタイム性、障害時の処理なども確認する必要があります。
ハカルプラスでは、これらのプロトコルを利用し、計測機器、IoTゲートウェイ、PLC、FAパソコン、サーバー、上位システムなどを連携する製品・システムの開発実績があります。
アプリケーションプロトコルの役割
TCP/IPは、異なる機器同士をネットワークで接続するための基本的な仕組みです。その上で、どのような情報を、どの形式と手順でやり取りするかを定めるのがアプリケーションプロトコルです。
例えば、同じEthernet接続であっても、Web画面を表示する場合はHTTP、ファイルを転送する場合はFTP、時刻を合わせる場合はNTPというように、目的に応じて使用するプロトコルが異なります。
| プロトコル | 正式名称 | 主な用途 | 主に使用する下位プロトコル |
|---|---|---|---|
| HTTP | Hypertext Transfer Protocol | Web画面・APIによるデータ通信 | TCPまたはQUIC |
| SMTP | Simple Mail Transfer Protocol | 電子メールの送信・中継 | TCP |
| FTP | File Transfer Protocol | ファイルの送受信・一覧取得 | TCP |
| TFTP | Trivial File Transfer Protocol | 簡易的なファイル転送 | UDP |
| NTP | Network Time Protocol | 機器の時刻同期 | UDP |
HTTP
HTTPは、WebブラウザとWebサーバーの間で、HTML、画像、JSONなどのデータをやり取りするためのプロトコルです。
産業用システムでは、設備の監視画面、計測値の閲覧、設定値の変更、履歴検索、Web APIによるシステム連携などに利用されます。
代表的な処理方法には、データを取得するGET、データを送信するPOST、情報を更新するPUT、削除するDELETEなどがあります。
HTTPとHTTPS
通常のHTTP通信では、通信内容が暗号化されません。ログイン情報、設定値、計測データなどをネットワーク上で安全に扱う場合は、TLSによって通信を暗号化するHTTPSを使用します。
HTTPSでは、通信内容の暗号化に加え、電子証明書を利用して接続先を確認します。産業用機器でも、社内ネットワーク外からアクセスする場合や、認証情報を扱う場合はHTTPSの採用が重要です。
HTTPのバージョン
HTTPには、HTTP/1.1、HTTP/2、HTTP/3などがあります。
HTTP/1.1とHTTP/2は主にTCP上で動作し、HTTP/3はQUICとUDPを利用します。ただし、組込み機器や産業用機器では、処理能力や対応ライブラリの関係からHTTP/1.1が使用されることも多くあります。
SMTP
SMTPは、電子メールを送信・中継するためのプロトコルです。
計測・監視システムでは、設備異常、上限値超過、停電、通信異常などを担当者へメール通知する用途に利用されます。
なお、SMTPは主にメールを送るためのプロトコルです。メールサーバーから受信済みメールを取得する場合は、一般にPOP3やIMAPなどを使用します。
SMTP認証と暗号化
現在のメールサーバーでは、第三者による不正送信を防ぐため、利用者名とパスワードによるSMTP認証が一般的です。
認証情報やメール本文を保護するため、TLSによる暗号化にも対応する必要があります。接続方法には、通信開始後に暗号化へ切り替えるSTARTTLSや、接続開始時から暗号化する方式があります。
古い計測機器では、最新の暗号化方式や認証方式に対応できず、現在のメールサービスへ直接接続できない場合があります。その場合は、社内メールリレーサーバーやゲートウェイを介する方法を検討します。
FTP
FTPは、ネットワークを介してファイルを送受信するためのプロトコルです。
ファイルのアップロード・ダウンロードだけでなく、フォルダーやファイルの一覧取得、名称変更、削除なども行えます。
産業用システムでは、次のような用途で利用されます。
- 計測実績や製造実績のCSVファイル取得
- 設定ファイルの配布
- ログファイルの回収
- 上位システムへの定期的な実績転送
- 機器の保守データ取得
制御用接続とデータ用接続
FTPは、ログインや転送指示を行う制御用接続と、実際のファイルを転送するデータ用接続を分けて使用します。
接続方法にはアクティブモードとパッシブモードがあり、ファイアウォールやルーターを介する環境では、パッシブモードを使用することが一般的です。
FTPのセキュリティ
通常のFTPでは、利用者名、パスワード、転送データが暗号化されません。そのため、インターネットや信頼できないネットワークでの利用には適しません。
暗号化が必要な場合は、TLSを利用するFTPSや、SSH上でファイルを転送するSFTPなどを検討します。SFTPは名称が似ていますが、FTPとは異なるプロトコルです。
TFTP
TFTPは、簡単な手順でファイルを送受信するためのプロトコルです。
FTPと異なり、利用者認証、フォルダー一覧、名称変更などの機能を基本的に持たず、指定したファイルの読込みまたは書込みに機能を絞っています。
UDPを使用し、実装に必要な処理が比較的少ないため、メモリや処理能力が限られた組込み機器でも利用しやすいことが特長です。
主な用途には、次のものがあります。
- 組込み機器へのファームウェア転送
- ネットワーク機器の設定ファイル配布
- 起動用ファイルの取得
- 保守時の小規模なファイル転送
TFTP利用時の注意点
TFTPには、標準的な利用者認証や暗号化機能がありません。そのため、外部から接続できるネットワークで使用すると、不正なファイル取得や書込みの原因となる可能性があります。
設備内の閉じたネットワーク、保守専用ネットワークなど、接続範囲を制限した環境で利用します。必要がない場合は、TFTPサーバーを常時起動したままにしないことも重要です。
また、TFTPは機能を簡素化したプロトコルですが、FTPより常に高速または効率的とは限りません。通信速度は、機器性能、ファイルサイズ、ネットワーク品質、ブロックサイズなどによって異なります。
NTP
NTPは、コンピュータ、サーバー、計測機器などの内部時計を、ネットワークを通じて基準時刻へ同期させるためのプロトコルです。
産業用システムでは、複数の機器が記録する計測値、製造実績、警報履歴などの時刻をそろえるために利用します。
機器ごとの時刻がずれていると、次のような問題が発生します。
- 異常が発生した順序を正しく判断できない
- PLCとサーバーの履歴時刻が一致しない
- 製造実績と計測データを照合できない
- 日報や月報の集計範囲がずれる
- トレーサビリティの信頼性が低下する
NTPサーバーの構成
各機器がインターネット上のNTPサーバーへ直接接続する方法のほか、社内にNTPサーバーを設置し、設備内の機器を同じ基準時刻へ同期させる方法があります。
工場ネットワークでは、外部への通信を制限し、社内の時刻サーバーだけに接続させる構成が適する場合があります。
NTPと時刻精度
NTPによる時刻精度は、ネットワークの遅延、通信経路、機器の時計精度、同期周期などによって変化します。
一般的な製造実績や警報履歴にはNTPが利用できますが、非常に高精度な時刻同期が必要な制御や計測では、PTPなど別の時刻同期方式を検討します。
NTPのセキュリティ
NTPサーバーから誤った時刻を受信すると、ログ、認証、証明書、実績管理などへ影響する可能性があります。
接続先NTPサーバーの制限、社内サーバーの利用、ファイアウォール設定、急激な時刻変更の監視などを行います。高い安全性が求められる場合は、認証機能を備えた時刻同期方式も検討します。
各プロトコルの代表的なポート番号
| プロトコル | 代表的なポート番号 | 用途 |
|---|---|---|
| HTTP | TCP 80 | 暗号化されていないWeb通信 |
| HTTPS | TCP 443、またはHTTP/3ではUDP 443 | 暗号化されたWeb通信 |
| SMTP | TCP 25・587・465 | メールの中継・投稿・暗号化接続 |
| FTP | TCP 21 | 制御用接続 |
| FTPS | TCP 21または990 | TLSを利用したFTP通信 |
| TFTP | UDP 69 | 転送開始要求 |
| NTP | UDP 123 | 時刻同期 |
ポート番号は代表例です。実際には、機器やシステムの設定によって異なる番号を使用する場合があります。
産業用システムでの活用
計測・制御システムでは、一つのプロトコルだけでなく、目的に応じて複数のプロトコルを組み合わせます。
例えば、次のような構成があります。
- HTTPで設備の監視画面を表示する
- SMTPで設備異常をメール通知する
- FTPで計測実績のCSVファイルを回収する
- TFTPで組込み機器へ設定ファイルを配布する
- NTPでPLC、FAパソコン、サーバーの時刻を合わせる
各プロトコルの役割を分けることで、設備監視、データ保存、警報通知、保守を一つのネットワーク上で実現できます。
プロトコルを選定する際の確認項目
通信プロトコルを選ぶ際は、接続できるかどうかだけでなく、運用と保守まで考慮する必要があります。
- 接続機器が対応するプロトコルとバージョン
- 送受信するデータの種類と容量
- 通信方向と通信頻度
- 認証・暗号化の必要性
- 通信が途切れた場合の再試行
- タイムアウト時間
- 重複受信・重複登録の防止
- ファイアウォールやルーターの設定
- ログの保存方法
- 将来の機器更新や保守方法
通信異常への対応
ネットワーク通信は、ケーブル断線、機器停止、アドレス重複、通信混雑などによって途切れる可能性があります。
システム側では、次のような処理を設けます。
- 接続タイムアウト
- 通信失敗時の再接続・再送
- 未送信データの一時保存
- 同一データの重複登録防止
- 通信異常の警報表示
- 通信履歴・エラーログの保存
- 復旧後の自動再開
特に、計測実績や製造実績を転送する場合は、通信が復旧した後に欠損なく再送できる仕組みが重要です。
セキュリティ上の注意点
HTTP、FTP、TFTPなどの従来型プロトコルには、標準状態では通信を暗号化しないものがあります。
産業用システムで利用する場合は、次の対策を検討します。
- HTTPS、FTPS、SFTPなど暗号化方式の採用
- 設備ネットワークと社内ネットワークの分離
- 接続元・接続先IPアドレスの制限
- 不要なポートやサービスの停止
- 初期パスワードの変更
- 利用者ごとの権限設定
- 通信ログ・操作履歴の保存
- ソフトウェアや証明書の更新管理
旧型機器が暗号化通信に対応していない場合は、機器を外部ネットワークへ直接公開せず、ゲートウェイや中継サーバーを利用して保護します。
ハカルプラスの対応
ハカルプラスでは、HTTP、SMTP、FTP、TFTP、NTPなどを利用した製品・システムの開発実績があります。
主な対応内容には、次のものがあります。
- Webブラウザを利用した計測・監視画面
- Web APIによるデータ連携
- 異常・警報のメール通知
- CSV・ログ・設定ファイルの転送
- 組込み機器へのファイル配布
- 計測機器・PLC・サーバーの時刻同期
- 通信異常時の再接続・再送処理
- 認証・暗号化を考慮した通信設計
- 既設機器と上位システムの連携
プロトコル単体の実装だけでなく、計測機器、PLC、SBC、FAパソコン、データベース、基幹システムを含め、システム全体の通信構成を設計します。
よくある質問
Q. TCP/IP系アプリケーションプロトコルとは何ですか?
A. TCP/IPネットワーク上で、Web表示、メール送信、ファイル転送、時刻同期などの用途を実現する通信規約です。
Q. HTTPとHTTPSの違いは何ですか?
A. HTTPSは、HTTP通信をTLSで暗号化したものです。認証情報や設定値などを扱う場合はHTTPSが適しています。
Q. SMTPでメールを受信できますか?
A. SMTPは主にメールの送信と中継に使用します。受信済みメールの取得には、一般にPOP3やIMAPを使用します。
Q. FTPとSFTPは同じものですか?
A. 異なります。FTPは独自のファイル転送プロトコルで、SFTPはSSHを利用してファイルを転送するプロトコルです。
Q. FTPとTFTPはどのように使い分けますか?
A. 認証、ファイル一覧、フォルダー操作などが必要な場合はFTPを使用します。限定されたネットワークで簡単なファイル転送だけを行う場合はTFTPを使用することがあります。
Q. TFTPはFTPより高速ですか?
A. 必ずしも高速とは限りません。TFTPは機能が簡素ですが、速度は機器性能、ネットワーク環境、ファイルサイズなどに左右されます。
Q. NTPが必要なのはなぜですか?
A. 複数の機器の時刻を合わせ、計測値、製造実績、警報履歴などを正しい順序で記録・照合するためです。
Q. PLCもNTPで時刻同期できますか?
A. NTPまたはSNTPへ対応したPLCであれば同期できます。対応機能や設定方法は機種によって異なります。
Q. 古い機器でFTPやHTTPを使い続けても問題ありませんか?
A. 閉じた設備ネットワークで使用できる場合はありますが、暗号化されない通信を外部ネットワークへ直接接続することは避けます。
Q. ハカルプラスでは既設機器との通信にも対応できますか?
A. 機器の通信仕様、ネットワーク構成、セキュリティ要件を確認し、ゲートウェイやFAパソコンを介した連携を含めて検討できます。
関連ワード
・ネットワーク通信基盤技術(TCP/IP/UDP/IP/PPP/Ethernet)
・産業用ネットワーク通信(CC-Link/CC-Link IE/Ethernet/DeviceNet/MelsecNet/FL-net/CU-NET/CompoNet)
・シリアル通信・Modbus通信(RS-232C/RS-422/RS-485/Modbus)
・Web・データ記述系技術(HTML/CSS/JSON/XML/JavaScript/PHP/Perl)
・Python
・SBCの組込み
・基幹システム連携
同じカテゴリの『ハカル技術辞典』を見る