Web教材一覧ネットワークアプリケーションプロトコル

アプリケーションプロトコル

キーワード

FTP,TELNET、SSH、NTP、SNTP


アプリケーションプロトコル

アプリケーション層には多くのプロトコルがありますが、その主なものを掲げます。

    ポート番号 プロトコル  サービス内容
(他ページ」で扱うプロトコル)
      53  DNS    名前解決
      80  HTTP   Webページ閲覧
     443  HTTPS  同上(セキュリティ)
      25  SMTP   電子メール(送信・転送)
     110  POP3   同上(受信)
     143  IMAP   同上(IMAP)
(ここで扱うプロトコル)
      20  FTP    ファイルの転送(データ)
      21  FTPFTP    同上(制御)
      23  TELNET 遠隔ログイン
      22  SSH    セキュアログイン
     123  NTP    時刻同期
     123  SNTP   時刻同期(簡略版)

ここで扱うプロトコルの中には、FTPのように、WebブラウザからURLで呼び出すものもありますが、一般的には、WindowsなどのOSからコマンドラインで対話的に行う形式になっています。しかし、それを利用者に求めるのは困難なので、これらの利用をサービスしているWebページで指定すると内部でコマンドを発行して実行できるようになっています。


FTP(File Transfer Protocol)

FTPはファイル転送のプロトコルです。プログラムのダウンロードやWebページ作成でのアップロードに利用されます。FTPの特徴は,転送するファイルに制約がないことで,テキストデータもバイナリデータも元のまま転送できます。

FTPは、WebブラウザからURLで指定することもできます。
   ftp://library/prog.exe
 以下はコマンドラインでの指定です。ここまでにサービス提供サーバとの接続はできているものとします。

制御用FTPでは,次のようなコマンドがあります。
   USER  ユーザIDの入力
   PASS  パスワードの入力
   RETR  FTPサーバからデータをダウンロードする
   STOR  FTPサーバにデータをアップロードする
   DELE  FTPサーバのファイルの削除
   LIST  ファイル一覧表の表示
   QUET  正常終了
   ABOR  処理の異常打切り

例えば,次のようなやりとりになります(パッシブモードでのダウンロード)。

   ← 220 ftp FTP server ready.
   →USER kogure
   ← 331 Password required for username.
   →PASS xxxxxx
   ← 230 User username logged in.
   →PORT 10,0,0,1,120,55
   ← 200 PORT command successful.
   →RETR prog.exe
   ← 150 ・・・ 'prog.exe' (1563 bytes).
       ここでダウンロードが行われる
   ← 226 Transfer complete.
   →QUIT
   ← 221 Goodbye.

データ用FTPは,RETRコマンドやSTORコマンドにより,実際にファイルを転送します。このように二つにわけている理由は,これらを一つにすると,ファイル転送中にコマンドを送信できないとか,転送を中止することができないからです。

上記のように,FTPではパスワードを要求しますが,不特定多数にフリーソフトなどのファイルのダウンロードをサービスする目的のFTPサーバもあります。それを匿名(anonymous)FTPサーバといいます。ユーザIDで「anonymous」や「guest」とすれば,パスワードは何でもよく(一般には電子メールアドレス)で使えるようになっています。

逆に,セキュリティを重視して,SSHを用いたSFTP(Secure FTP)やSCP(Secure CoPy)などを備えたFTPサーバもあります。

アクティブモードとパッシングモード

データ転送用のデータコネクションを確立する方向の違いです。
 ・アクティブモード:サーバが確立する。     運用上はデータ転送ポートが20だけなので運用しやすい。しかし、不正アクセス」のリスクがある。  ・パッシングモード:クライアントが確立する。     通常はこのモードが多い。     

 ┌──────┐FTPをしたい (21)┌─────┐  ┌──────┐FTPをしたい (21)┌─────┐
 │      ├─────────→┤     │  │      ├─────────→┤     │
 │クライアント│          │ サーバ │  │クライアント│OK: (XX)を使ってくれ│ サーバ │
 │      │          │     │  │      ├←─────────┤     │
 └──┰───┘OK: (20)で送受信する└──┰──┘  └──┰───┘OK: (XX)で送受信する└──┰──┘
    ┗←━━━━━━━━━━━━━━━━┛        ┗━━━━━━━━━━━━━━━━→┛
   (任意)                (20)      (任意)                (xx)
          アクティブモード                    パッシングモード
                 ( )はポート番号

SFTP(SSH File Transfer Protocol)

SSH方式を用いて、ファイルを暗号化して転送します(ポート22)。

リモートアクセス関連

ネットワークを通して他のコンピュータにログオンすることをリモートログインといいます。
 社員がオフィス外から社内のサーバや自分のパソコンを、あたかも自分がそこにいるような操作ができるような環境にします。

TELNET

TELNETは,リモートログインを行うプロトコルです。コマンド・モードでホストへのパイプを作り、セッション・モードでホストを遠隔操作します。
 通常はポート番号23で接続しますが、80を指定すればWebページ閲覧、25を指定すれば電子メール送信などを行うことができます。

 便利な機能ですが、通信が平文で伝送されるので、盗聴されてなりましされると、サーバが乗っ取られたようなことになります。そのため、TELNETのポートを塞いでアクセスさせないのが通常です。

SSH(Secure Shell)

TELNETを暗号化通信にしたものです。SSHを実現するソフトウェアにOpun SSHがあります。
 本文だけでなく認証に関わるユーザIDやパスワードなどの情報もすべて暗号化してセキュリティを強化しています。暗号方式では、RSAとDSAが使えます。

時刻同期

NTP(Network Time Protocol)

パソコンなどの内部時計を、インターネットを介して標準時計に同期させるプロトコルです。  NTPを管理するサーバは階層になっており、最上位は標準電波や原子時計などから時刻を得ており、アクセス分散のために、下位階層のサーバにコピーしています。通信遅延を校正する機能ももっています。
 NTPは、高速な伝送速度が求められ、データ量が少なくアクセスが多い特徴から、TCPではなくUDP(123番ポート)を使用します。  最近は電子取引が普及し、そのタイプスタンプが重要になりました。そのため、NTP利用頻度が急激に増大しています。

SNTP(Simple Network Time Protocol)

NTPの簡易版プロトコルです。階層的に構築されたネットワークを使用するNTPの機能を簡略化し、時刻を同期する機能のみに特化したプロトコルです。NTPサーバの1つをSNTPサーバとし、そこから時刻情報を得ます。階層的になっていないので、管理が簡単になります。

プリンタ関連プロトコル

オフィスでは、数台のパソコンで1台のプリンタを共有するのが通常ですし、場合によっては、インターネットにより遠隔地のプリンタに出力することもあります。
 TCP/IPによりプリンタを操作する方法(プロトコル)を掲げます。

IPP(Internet Printing Protocol)
HTTPプロトコルを用いてネットワーク上のプリンタに印刷を指示できるようになっている。インターネットを通じて遠隔地のプリンタにデータを送って印刷することもでき、FAXの代わりのように使える。
LPR(Line PRinter daemon protocol)
プリントサーバに接続したプリンタに遠隔印刷を行わせるプロトコル。主にUNIXで普及したがWindowsなどでも使用できる。
RAW(Raw image format)
そもそもはデジカメなどの写真の規格であるが、それをプリンタ印刷を行う形式でもある。SNMP(simple network management protocol)とMIB(Management Information Base )を用いてプリンタを操作する。