ネットワーク:アプリケーション層のプロトコル
メール関連
メールプロトコル
SMTP:メールを送信・転送するプロトコル。ポート番号TCP25番
POP3:メールをサーバから受信するプロトコル。ポート番号TCP110番
メール受信プロトコル
POP3:ユーザーIDとパスワードで本人認証。パスワードは平文で送信
APOP:パスワードを暗号化。本文は平文
IMAP4:サーバ側でメール管理。ヘッダだけを取り出したり、検索が可。パスワード・本文は平文
IMAPS:SSL/TLSを使用し、暗号化対応
メール関連のプロトコル・規格
SMTP-AUTH SMTPに利用者認証を追加。通所のSMTPとは独立したサブミッションポートを利用(TCP587番)。
POP before SMTP POP3の認証機能を利用。メール送信時にPOP3によるメール受信を行い、認証が成功した利用者に対して、一定期間だけSMTP接続を許可。
SMTP over TLS SMTPに通信を暗号化するTLS(SSL)を組み合わせたもの
S/MIME MIMEは様々なデータをSMTPメールで扱えるように機能拡張を定義したもの。送信データはBase64方式などでASCII文字列に変換される。
S/MIMEはMIMEを拡張し、メールの暗号化とデジタル署名の機能を提供する。S/MIMEではメール本文の暗号化に共通かぎを用い、共通鍵の受け渡しには認証局が保証する公開鍵を用いる
PGP S/MIMEと同様、電子メールの暗号化やデジタル署名の機能を提供。公的な認証局を介さず、利用者が利用者を紹介しあう相互認証方式を採用。
Web関連
HTTP
Webサーバとwebクライアント間でHTMLなどのweb情報をやり取りするためのプロトコル。WebクライアントがwebサーバにHTTPリクエストを発行することで通信が始まる。使用ポートはTCP80番。
HTTPリクエストには下記のメソッドがよく使われる
GET 指定URLのデータを取得
POST 指定URLにデータを送信
PUT 指定URLへデータを保存
DELETE 指定URLのデータを削除
CONNECT プロキシにトンネリングを要求
GETメソッドとPOSTメソッド
GETは本来は情報取得だが、情報の送信にも利用できる。ただし、GETで情報を送る場合は、情報はクエストリングに埋め込まれるため、ログとしてサーバやキャッシュに残る可能性がある。
CONNECTメソッド
プロキシサーバを使うHTTPS通信などでよく使われる。プロキシサーバは通信の中身を解釈し、再構成することで通信の中継を行うが、HTTPSなどの暗号化通信ではそれが出来ない。そのためCONNECTメソッドを使ってトンネリングを行うことで、中継をする。
WebDAV
Webサーバ上のファイルを管理できるようにHTTPを拡張したプロトコル。ファイルの作成変更削除などは従来FTPなどが使われてきたが、webDAVを使うことによってHTTP/HTTPSだけでファイル管理が可能に。ポートは80/443を使用。
HTTPS(HTTP over TLS)
HTTPに伝送データの暗号化、デジタル署名及び認証機能を付加した拡張プロトコル。
TLSを使うことによって、セキュアな通信が可能。
HTTPSと組み合わせで使われる技術にHSTSがある。HSTSが設定されているWEBサイトにWEBクライアントがHTTPでアクセスした場合、クライアントに対して、当該webサイトへのアクセスをHTTPSで行うように指示する。これにより経路に介入する中間剛撃を防ぐことが出来る。ポートは443
アドレス管理及び名前解決技術
DHCP
TCP/IPを利用する環境では、それぞれのノードがIPアドレスを保持することが通信の絶対条件。ノードへのIPアドレスの割り当てを自動的に行うプロトコルがDHCP。
使用ポートはDHCPクライアント:UDP67 DHCPサーバー:UDP68
動作フローは下記
・DHCPサーバに利用できるIPアドレスを登録しておく
・DHCPクライアントは起動時にDHCPサーバに対してブロードキャストを利用したDHCPディスカバリパケットを送信してアドレスの取得要求を行う
・DHCPサーバはプールしているアドレス群から空いているものを自動的に割り当て
・終了時にはIPアドレスを回収
DHCPクライアントはブロードキャストが到達する範囲内にDHCPサーバがないとIPアドレスを取得できない
ルータが用いられたネットワーク構成でDHCPサーバとクライアントが同一LAN上にいない場合、ディスカバパケットをDHCPサーバまで中継するリレーエージェント機能が必要
DHCPでやり取りされるメッセージ
・DHCPクライアントはサーバを探すためにDHCPディスカバ(DHCPDISCOVER)をブロードキャストで送信
・DHCPサーバは提供できるIPアドレスなどの設定情報をDHCPクライアントに通知するためDHCPOFFERを送信
・DHCPクライアントはネットワーク設定情報の使用要求をネットワーク上のDHCPサーバに伝えるためDHCPREQUESTをブロードキャストで送信
・DHCPサーバはネットワーク設定情報の使用要求が認められたことをDHCPクライアントに通知するためDHCPPACを送信する
DNS
TCP/IPでは、各ノードに対して一意なIPアドレスが割り当てられているが、それとは別にドメイン名がつけられた。
ドメイン名とIPアドレスの対応を管理してるのがDNSサーバ。DNSは基本的にUDPを使うが、DNSのレコードバイトが512バイト制限を超える場合はTCPが使われる。ポート番号は53番。
特定のホストまで指定したドメイン名はFQDN(完全修飾ドメイン名)という。
DNSの規約では、対応表作成の負担を細分化して、DNSを分散データベースとすることで対応している。
一つのドメインを管理するDNSサーバはプライマリサーバとセカンダリサーバの2台で構成される。
DNSレコード
DNSサーバに保存されている名前解決情報をDNSレコードという
Aレコード | IPv4ホストのIPアドレス情報 |
AAAAレコ0度 | IPv6ホストのIPアドレス情報 |
NSレコード | DNSサーバを指定 |
CNAMEレコード | ホストの別名を指定 |
MXレコード | メールサーバを指定 |
DNSラウンドロビン
負荷が集中するwebサーバやAPサーバなどは複数のサーバで負荷分散を行う。
この時使用される機能の一つがDNSラウンドロビン。一つのドメイン名に対して複数のIPアドレスを登録し、名前解決の度に応答するIPアドレスを順番に変えることで負荷分散を図る。
その他のアプリケーション層用プロトコル
SNMP
ネットワーク上にある機器を監視し、管理するためのプロトコル。
SNMPに準拠することで、マルチベンダ環境でのネットワークの障害情報などの一元管理を行うことが出来る。
SNMPマネージャとSNMPエージェントの間でPDUと呼ばれる管理情報のやり取りを行う。
エージェントにはMIBと呼ばれるデータベースがあり、そこに故障情報やトラフィックの情報が蓄積される。
PDUの種類
Get-Request Get-Next-Request | マネージャがエージェントから情報を引き出す |
Set-Request | 管理オブジェクトの設定値を変更する |
Get-Response | マネージャからの要求に返答する |
Trap | エージェントからの情報をマネージャに通知する |
その他のアプリケーションプロトコル
FTP | ファイルの送受信に用いるファイル転送プロトコル。ファイルをダウンロードする機能(データコネクション)とコマンド送受信(制御コネクション)で異なるポートを使用する(TCP20, TCP21) |
Telnet | 遠隔地からログインを行い、マシンを操作するプロトコル |
SSH | Secure SHell。テキストベースの通信であるTelnetに対し、暗号化や認証技術を利用して安全に遠隔操作するためのプロトコル |
NTP | Network Time Protocol。ネットワーク上の各ノードが持つ時刻の同期を図るためのプロトコル。使用するポートはUDP123番。NTPの簡易版がSNTP。 |
LDAP | Lightweight Directory Access Protocol。ディレクトリサービスにアクセスするためのプロトコル |
インターネット上の電話サービス
ネットワーク:トランスポート層のプロトコル
TCPとUDP
トランスポート層はIPを補完し、データ通信の品質や信頼性を向上させるための層で、TCPとUDPがある。
TCP
送達管理、電装管理の機能をもったコネクション型のプロトコル。
TCP/UDPヘッダのチェックサムは、データ部分も含む。
シーケンス番号 | TCPスタックが上位層からデータを受け取った時、そのサイズがMSSより大きい場合は、TCPセグメントの最大長に収まるように分割が行われる。シーケンス番号は、分割前はどの部分だったのかを表す数値 |
ACK番号 | ACK応答時に利用される次に受診すべきシーケンス番号 |
ウインドウサイズ | 受信ノードからの確認応答なしで連続して送信できるデータ量 |
TCPでのコネクション確立
コネクションの確立要求パケット(SYN)と確認応答パケット(ACK)のやり取りを行う3ウェイハンドシェイクを行う。
ネットワーク:ネットワーク層のプロトコルと技術
IP
IPアドレス
IPアドレスの構成
前半24bitはネットワークアドレス部。それぞれに組織のネットワークを一意に判別。
後半8ビットはホストアドレス部。同じネットワークに種族するノードを一意に識別。
特殊なIPアドレス
ネットワークアドレスとブロードキャストアドレス
ホストアドレスがすべて0のアドレスは、ネットワーク自体を指すネットワークアドレス。
ホストアドレスがすべて1のアドレスはネットワーク内のすべてのノード当てを表すブロードキャストアドレス。
ループバックアドレス
「127.0.0.1」は自分自身を表すIPアドレス
グローバルIPとプライベートIP
ネットに接続されたノードに一意に割り当てられたIPはグローバルIP。組織内で通用するアドレスはプライベートIP。
RFC1918ではプライベートIPアドレスとして次のアドレスを使用するよう推奨。
クラスA:10.0.0.0~10.255.255.255
クラスB:172.16.0.0~172.16.255.255
クラスC:192.168.0.0~192.168.255.255
サブネットマスク
サブネットマスク
アドレスクラスの欠点を補うため、クラスに縛られずにネットワーク部とホストアドレス部を分けるために考えられたのがサブネットマスク。これはIPアドレスと同様に32ビットであらわされる情報。
IPアドレスとサブネットマスクを用いたネットワークアドレスおよびホストアドレスの求め方は下記。
IPアドレスをa, サブネットマスクをmとすると、
ネットワークアドレス = a & m
ホストアドレス= a&~m
プレフィックス表記
ネットワークアドレス部とホストアドレス部の区切りをネットワークアドレス部の桁数であらわす方法。
ブロードキャストアドレスは、ホストアドレス部をすべて1にしたアドレス。
CIDR
先に述べたようにクラスによってネットワーク部とホストアドレス部を分割する従来の手法は、結果的に割れ当てされたものの利用されr内IPアドレスを多く発生させてしまう。そこでIPアドレスの効率的なうんお湯を促進するために考えられたのがサブネットマスクを使ったCIDR。
スーパーネット化
CIDRにより、連続するネットワークを束ねて一つに集約したネットワークを作成することが出来る。
IPv6とアドレス変換技術
IPv6
IPv6は、IPアドレスの枯渇問題に対応するための本命技術。
IPV6の特徴
IPv6ではIPアドレスを128bitに拡張し、家電などにも採用できるようにした。
IPv4から仕様変更した主な内容
IPv6のアドレス
ユニキャストアドレス | 一つのノードに対して送信するためのアドレス |
エニーキャストアドレス | IPv6ルータしか扱うことの出来ない複数向けのアドレス。発信元に最も近い一つのノードだけがパケットを受診 |
マルチキャストアドレス | 複数送信先に対して同一データを送る。上位八ビットがFF00::/8 |
アドレス変換技術
各組織に一つのIPアドレスがあれば、IPアドレスを割り当てられないないノードからもインターネットに接続できるという技術もある。
NAT | グローバルIPアドレスとプライベートIPアドレスを1対1で相互に変換。複数のノードが同時にインターネットに接続する場合、同じ数のグローバルIPアドレスが必要 |
NAPT(IPマスカレード) | NATの考え方に、TCP/UDPのポート番号を組み合わせたもの。一つのグローバルIPアドレスでプライベートIPアドレスを持つ複数のノードが同時に接続可能 |
ネットワーク:データリンク層の制御とプロトコル
メディアアクセス制御
複数のデータを一つのケーブルを通して送受する場合、データの衝突を回避するための制御が必要になる。
CSMA/CD
イーサネットで採用されているメディアアクセス制御方式で衝突検知方式を採用
・各ノードは電装媒体が使用中か調べて、使用中でなければデータの送信を開始する
・複数のノードが同時に通信を開始するとデータの衝突が起こる
・衝突を検知し、一定時間待った後で再送する
・一定の距離以上のケーブルでは衝突が検知できない
CSMA/CD方式ではトラフィックが増加するにつれて衝突が増えて使えなくなる。伝送路の使用率が30%を超えると実用的でなくなる。
トークンパッシング方式
トークンによる送信制御を行う。バス型のLANで使用するトークンバス方式とリング型のLANで使用するトークンリング方式がある。
・ネットワーク上をトークンと呼ばれる送信権のためのパケットが巡回。
・フリートークンを獲得したノードのみが送信を行う。
電装媒体上での衝突は発生しないが、トラフィックが増えるとトークンを獲得しにくくなり、徐々に遅延時間は増加する。しかし、CSMA/CSよりは緩やか。
TDMA方式
TDMA(Time Division Multiple Access)は伝送路を利用できる時間を細かく区切り、割り当てられた時間は各ノードが独占する方式。TDMAはコネクション型の通信で、相手との通信路を確立してから通信する。]
データリンク層の主なプロトコル
ARP
ARP(Address Resolution Protocol)は通信相手のIPアドレスからMACアドレスを取得するためのプロトコル
①ブロードキャストを利用し、目的IPアドレスを指定したARP要求パケットをLAN全体に流す
②各ノードは自分のIPアドレスと比較し、一致したノードだけがARP応答パケットに自分のMACアドレスを入れてユニキャストで返す。
ネットワーク:ネットワーク接続装置と関連技術
7.2.5VLAN
スイッチの機能
ネットワーク上に配置される通信機器は、自分が処理する例や以下のレイヤプロト頃を解釈できる
従ってL3スイッチ(L3SW)はL2スイッチにも対応している。
PC-AからPC-Bにパケットを送信した場合、中間にL3SWがあれば、L3SWに届く。
MACアドレスを参照した時、ルーティングが必要なパケットなら、デフォルトゲートウェイが自分のため、
必ず自分のMACアドレスが設定されている。しかし、この場合はPC-BのMACアドレスが設定されているため、L3SWはパケットを廃棄してしまう。
論理的LANエリアの構築(VLAN)
スイッチはVLAN(Virtual LAN)の機能を持つ。VLANの特徴はブロードキャストドメインの分割である。
サブネット構成の変更が柔軟にできる。例えば営業部と開発部のネットワークを分離したい時にL3SWを使う。
VLAN-ID
VLAN-IDをポートごとに付けることで、ネットワークの分割・統合が出来る。
ポートVLAN
スイッチのポートごとにVLANを割り当てる。スタティックVLANとも呼ばれる。
シンプルで使いやすいが、柔軟性の点で劣る。
タグVLAN
VLAN IDを含むタグ情報をMACフレームに埋め込み、フレーム単位でVLANを区別する方式。
1つのポートが複数のVLANに参加したり結線を変えずに参加するVLANを変更したりすることが可能。
タブVLANの仕様はIEEE802.1Qで標準化。
遠隔地LANの結合
VLAN IDはIPアドレスに対して透過的なので、遠隔地のアドレスを同じLANグループとして管理することが出来る。
応用情報:ネットワーク
通信プロトコルの標準化
OSI基本参照モデル
7 | アプリケーション層 | データの意味内容を直絵s津扱う。SMTP,HTTPなど |
6 | プレゼンテーション層 | データの表現形式管理。文字コード、圧縮の種類など |
5 | セッション層 | 最終的な通信の形に合わせてデータの送受信管理 |
4 | トランスポート層 | データ転送の制御による通信品質保証。ポート番号によりノード内のアプリ特定。TCP, UDPなど |
3 | ネットワーク層 | エンドツーエンドのやりとりを規定。ローカルネットワークを超えた通信を管理。IP |
2 | データリンク層 | おなじネットワーク内に接続された隣接ノード間通信を規定。HDLC手順やMACアドレス |
1 | 物理層 | システムの物理的、電気的性質を規定。コネクタのピン形状等 |
OSI基本参照モデルでは、それぞれの階層をN層と呼び、通信機器などの実態をエンティティと呼ぶ。
エンティティ同士が通信する窓口を提供する機能をサービスという。
ネットワーク接続装置と関連技術
データリンク層の接続
ブリッジ
ネットワークをコリジョンドメイン(セグメント)に分け、MACアドレスによる判別したフレームを対象のセグメントにのみ送信する。これにより無駄なトラフィックを発生させない。
動作としては、宛先MACアドレスをもとにMACアドレステーブルを参照。MACアドレスの接続ポートがフレームを受診したセグメント内であれば破棄し、別であれば送信。宛先MACアドレスが記載されていない場合やブロードキャストアドレスの場合は、受信ポート以外のすべてのポートにフレームを転送。
スイッチングハブ
レイヤ2スイッチ(L2スイッチ)と呼ばれ、ブリッジと同じ働きをする。
ブロードキャストストーム
ブリッジやスイッチングハブでループ状に接続している場合、ブロードキャストフレームは永遠に回り続けて増殖する。これをブロードキャストストームという。これを防ぐプロトコルにスパニングツリープロトコル(STP)があり、通常運用時は論理的にループを切断する機能がある。
ネットワーク層の接続
ルータ
IPアドレスを見て、パケットの送り先を決める。ルータで分けられたネットワークの単位をブロードキャストドメインという。どのルータに送れば通信が早いか判断することを経路制御(ルーティング)といい、ルータはそのためのルーティングテーブルを持っている。
ルーティング
ルーティングテーブルにはスタティックテーブルとダイナミックテーブルがある。
ダイナミックルーティングのプロトコルにRIPやOSPFがある。
ルータの冗長構成
ルータの冗長構成のためのプロトコルにVRRPがある。同一のLANに接続された複数のルータを仮想的に1台のルータとして見えるように構成するプロトコル。仮想IPアドレスと仮想MACアドレスを割り当てる。
レイヤ3スイッチ(L3スイッチ)
ネットワーク層に位置する通信機器。ルータはフィルタリングなどの多機能性に重点を置いているが、L3スイッチは通信の高速性に重心を置く。
特異値分解のステップ
特異値分解の復習。
特異値分解は、m×n行列Aに対して、下記のように分解する。
・A:m×n
・U:m×nの直行行列
・Σ:m×n
・ :n×nの直行行列
単位ベクトル(左特異ベクトル)、Aの特異値σ、単位ベクトル(右特異ベクトル)を用いると、下記のようにあらわせる。
Aを分解するために必要な情報はの3つである。これは、およびをそれぞれ固有分解することで求められる。
1. Vを求める
Uは直行行列なので、となり、打ち消せる。
これは、固有値分解の公式で、Aがに、Λがに変わったものとみなすことが出来るので、固有方程式から以下が成立する。
これを解いて、を得る。
Σの特異値をとすると、
となるので、が成立する。
よって、Aの特異値は、
Aの右特異ベクトルVは、の固有ベクトルを単位ベクトルに変換すればよい。
2. U,∑を求める
右特異ベクトルは冒頭の定義式より
より、Uは下記のようにあらわせる。
あるいは、
よって、
3.計算例
例として、 を分解する。
と計算できる。行列式は下記になる。
よって、の固有値は下記になる。
ここで、の固有値はとなるので、右特異ベクトルは、を計算し、
に関しては、他の固有ベクトルと直交しているという条件から求める。
すなわち、
左特異ベクトルを求め、下記に分解できる。
との関係
[tex AA^Tu=λu]とすると、
Av=uと置くと、とみなせる。