【ネットワーク】アプリケーション層プロトコル

table of contents

HTTP

HTTP(Hyper Text Transfer Protocol)とはクライアント(Webブラウザなど)とWebサーバ間でデータを送受信するためのプロトコルです

HTTPの仕組み

クライアントが「HTTPリクエスト」を送信し、それに応じてWebサーバが「HTTPレスポンス」が返信されます。

HTTPメソッド

HTTPリクエストにはGET(サーバにページの取得をリクエスト)やPOST(サーバにデータを送信)などのメソッドが用意されています。

HTTPS

HTTPS(HyperText Transfer Protocol Secure)は安全に通信ができるよう暗号化されています。

  • SSLサーバ証明書を用いてWebサーバの正当性を保証する
  • SSL/TLSを用いてデータを暗号化する

SSL/TLSを用いてデータを暗号化する

SSL(Secure Sockets Layer)とTLS(Transport Layer Security)はどちらも暗号化の技術です。

SSLをもとにTLSが開発され、現在はセキュリティ上の問題からTLSが使用されています。(SSL/TLSと表記)

FTP

FTP(File Transfer Protocol)はクライアントとサーバ間でファイル転送を行うためのプロトコルです。

  • TCPポート20番(データ転送用)21番(制御用)を使用する
  • TCP/IPネットワーク経由で信頼性のあるファイル転送機能を提供。
  • サーバークライアント型
  • 暗号化の機能を持たない
  • 認証の機能を持つ

TFTP

TFTP(Trivial File Transfer Protocol)

  • UDP
  • 効率の良いコネクションレス型のファイル転送機能。
  • サーバークライアント型
    • CiscoルータTFTPサーバクライアントとして動作できる
    • (config)#tftp-server { ファイルパス }で TFTPサーバとして動作できる
  • 暗号化、認証の機能を持たない
  • IOSのアップグレードする際などに利用

SMTP

  • SMTP(Simple Mail Transfer Protocol)は電子メールを送信するために使用するアプリケーション層のプロトコルです。
  • TCP

POP3

POP3(Post Office Protocol version3)はクライアントがメールサーバからメール受信

Telnet

サーバやルータを遠隔で操作するためのプロトコルです。

  • TCP
  • データをクリアテキストで送るため盗聴の危険性があります。

<必要な設定>

  • IPアドレスの設定
  • デフォルトゲートウェイの設定
  • VTYパスワードの設定
  • enableパスワードの設定

VTYパスワード

VTYパスワードは仮想端末でログインする際のパスワードで、セキュリティー上の理由から、VTYパスワードを設定していないデバイスではTELNETを許可しないものとなっています。

VTYパスワードの設定

Router(config)#line vty 0 4
Router(config-line)#password [ パスワード ]
Router(config-line)#login

SSH



  • SSH(Secure Shell)
  • 認証というプロセスを経て、リモートコンピューターへアクセスができるようになっています。
  • 遠隔操作する仮想端末機能を提供。
  • Telnetと違いデータは暗号化される

<認証方法>

  1. パスワード認証
    • (config)#username {ユーザ名} password {パスワード}
    • 仮想端末回線にアクセスしてきたユーザをローカルデータベースで認証する
      (config)#line vty {開始VTY番号} [{終了VTY番号}]
      (config-line)#login local
      
  2. 公開鍵・秘密鍵による認証
    • ホスト名の設定
      (config)#hostname {ホスト名}
      
    • ドメイン名の設定
      (config)#ip domain name {ドメイン名}
      または
      (config)#ip domain-name {ドメイン名}
      
    • RSAホスト鍵の生成
      (config)#crypto key generate rsa [ modulus { 鍵の長さ } ]
      (※鍵の長さは1024以上が推奨)
      
    • SSHバージョンの指定(任意)
      ip ssh pubkey-chain
      
    • 仮想端末回線(VTY)の設定
      transport input ssh
      
    • ログイン認証の設定
      login local

SSH接続を行う
#ssh {-l ユーザ名} [-v SSHバージョン] [-p 接続先ポート番号] {宛先IPアドレス|ホスト名}

SNMP

SNMP(Simple Network Management Protocol)はTCP/IPネットワーク上のルータ、スイッチ、サーバなどの通信機器の監視、制御。

DHCP

DHCP (Dynamic Host Configuration Protocol)とは、インターネットなどのIPネットワークに新たに接続した機器に、IPアドレスなど通信に必要な設定情報を自動的に割り当てるための通信規約(プロトコル)。

トランスポート層にUDPを使用する。

DHCPサーバポート67DHCPクライアントポート68を使用する

【DHCPメッセージ】

メッセージ名送信する側説明
DHCP DISCOVERクライアント側使用可能なDHCPサーバを探すためのメッセージ
DHCP OFFERサーバDHCPクライアントのDHCP DISCOVERに応答し設定情報の候補を通知する
DHCP REQUESTクライアント設定情報を正式に取得するためにDHCPサーバへ要求する
DHCP ACKサーバ設定情報をDHCPクライアントに提供する



DHCPリレーエージェント

DHCPクライアントからのブロードキャストによる要求送信を、特定の相手と一対一の通信である「ユニキャスト」方式に変換して隣のネットワークのDHCPサーバに届けてくれる。

NTP(Network Time Protocol)

システムクロックを正しく調整(同期)。

DNS

DNSとは、インターネットなどのIPネットワーク上でドメイン名とIPアドレスの対応関係を管理するシステム。

  • DNSルックアップにおいてDNSサーバへホスト名を問い合わせ、IPアドレスを得る方法をフォワードルックアップ(正引き)といいます。
    
  • DNSサーバへIPアドレスを問い合わせ、ホスト名を得る方法をリバースルックアップ(逆引き)といいます。
    
  • ネームリゾルバとは名前解決を行うソフトウェア
    

名前解決

  1. クライアントから、IPアドレスを得たいホスト名がセットされたDNS要求をDNSキャッシュサーバに送信する(再帰問い合わせ)
    
  2. DNSサーバは自身のキャッシュの検索や、ルートDNSサーバへの問い合わせを行います。
    
  3. ルートDNSサーバは届いた問い合わせ内容から、どの権威DNSサーバへ問い合わせをするべきなのかをDNSキャッシューサーバへ返答します。
    
  4. DNSキャッシュサーバは、ルートDNSサーバから指示された権威DNSサーバへ、問い合わせをし直します。(非再帰問い合わせ)そこでまた別のDNSサーバへ問い合わせるよう指示があれば、そのサーバへ問い合わせし直します。
    
  5. DNSサーバは解決した結果(得られたIPアドレス、もしくは該当情報なしといったエラー応答)がセットされたDNS応答をクライアントに送信する
    

DNSキャッシュサーバ

DNSキャッシュサーバはクライアントからの問い合わせに応答するDNSサーバです。保持している情報に該当する問い合わせがきた場合は権威DNSサーバに問い合わせずに応答します。

  • 権威DNSサーバに問合せを行い、得た情報をキャッシュに保持します。
  • ことで、クライアントへの応答速度を上げます。
  • 権威DNSサーバの負荷も減らします。

【コマンド構文:ルータをDNSクライアントとして動作させる】

(config)#ip domain lookup ・・・DNSによる名前解決を行う
(config)#ip name-server {IPアドレス} ・・・DNSサーバのIPアドレスを設定する
(config)#ip domain name {ドメイン名} ・・・(任意)自身の所属するドメイン名を登録

TCP、UDP

TCP(Transmission Control Protocol)

UDP(User Datagram Protocol)

ポート番号TCP/IPプロトコル用途
20TCPftp-dataファイル転送(データ本体)
21TCPftpファイル転送(コントロール)
22TCPsshリモートログイン(セキュア)
23TCPtelnetリモートログイン
25TCPsmtpメール送信
53TCP/UDPdomain、DNSDNS(名前解決はUDP,ゾーン転送はTCP)
67、68UDPDHCPIPアドレスを自動に割り当てる
67→サーバ
68→クライアント
69UDPTFTPファイル転送
80TCPhttpwww
110TCPpop3メール受信
123UDPNTP時刻合わせ
143TCPimapメール受信
161UDPSNMP通信機器の監視、制御。
443TCPhttpswww(セキュア)
520UDPRIPルーティングプロトコル
UDPRTPIP電話、使用するポートはアプリケーションが定める
table of contents