戻る

通信フレーム等

目次


階層

OSI基本参照モデルとTCP/IPモデル

OSI基本参照モデルとの比較
OSI基本参照モデル
(副層は「IEEE802参照モデル」)
TCP/IPのモデル実装例アドレスフォーマット代表的な機器PDUの名称
第7層
Layer7
アプリケーション層アプリケーション層HTTP SMTP
DNS DHCP
FTP SNMP
POP Telnet
FQDN負荷分散装置(ロードバランサ[LB:Load Blancer])L7スイッチ
次世代ファイアウォール
WAF(Web Application Firewall)
メッセージ
第6層
Layer6
プレゼンテーション層
第5層
Layer5
セション層
第4層
Layer4
トランスポート層トランスポート層TCP UDPport番号L4スイッチ,ファイアウォールセグメント(TCP)、データグラム(UDP)
第3層
Layer3
ネットワーク層インターネット層IP ICMP
ARP RARP
IPアドレスルータ,L3スイッチパケット(IPパケット)
第2層
Layer2
データリンク層LLC副層ネットワークインタフェース層イーサネットMacアドレスブリッジ,L2スイッチ(スイッチングハブ)フレーム(イーサネットフレーム)
MAC副層
第1層
Layer1
物理層電気信号IEEE802.3DTE(Data Terminal Equipment)[データ端末装置]
DCE(Data Circuit Terminating Equipment)[回線終端装置]
NIC(INetwork Interface Card)
リピーター
リピーターハブ
メディアコンバーター
アクセスポイント
ビット

PDU(Protocol Data Unit):ヘッダーとペイロードで構成された、各層で処理されるデータ

MTU(Maximum Transmission Unit):パケットの最大サイズ、ヘッダ等の余剰情報を含む。

MSS(Maximum Segment Size):通信路で分割せず送信できるTCPセグメントの最大長。下位の通信リンクのMTUによって決定。プロトコルのヘッダサイズを減じるためMTUより小さい。

CISCOルーターでの名称

CISCOルーターでの呼称
インターフェース名interfacespeed(最大伝送速度)duplex(全/半二重)
1000Base-T,SX,LXgigabitethernetauto,10,100,1000auto,full,half
100Base-TXfastethernetauto,nonegotiate
10Gbase-SR,LRtengigabitetherneet
各Interfaceに固有選択可選択可

基本

カプセル化と非カプセル化

コネクション型とコネクションレス型

コネクション:通信端末同士に確立される論理的な通信路

ネットワーク機器


Layer1

有線LAN(Layer1)

WANで利用される接続形態

名称説明
フレームリレー
X.25
※CIR(Committed Information Rate)混雑時でも保証される最低限のスループット
拠点間VPN
インターネットVPN
広域イーサネット

アクセス回線ISP

名称説明
ISDN(Integrated Services Digital Network)
  • 統合サービスデジタルネットワークの略称
  • 通信キャリアはばらばらの物理ネットワークと品目で通信サービスを提供していたが、複数サービスを一つのネットワークで統合して「国際標準化」したもの
  • 高品質通信、複数チャネル同時通信、信号チャネルと情報チャネルの分離という特徴がある
  • 回線速度による分類
    • N-ISDN:kbpsクラスの通信
    • B-ISDN:Mbpsクラスの通信
ADSL(Asymmetric Digital Subscriber Line)
  • 安価で、高速なインターネットへのアクセス回線として、一時代を築いた技術
  • 定額料金、常時接続は革命的で利用者が爆発的に増大する役割を果たした。
  • 既存の電話線(メタルケーブル)を利用することでデータ通信の高速化を図るxDSLの技術
  • 電話線として使用を想定していない高周波帯域を用いるため減衰が激しく、電話局から離れている利用者は速度が出せななかったり、通信が不安定となるなどの現象が起こった。
  • FTTHの普及によって加入者は激減
  • スプリッタによって電話線とADSLの周波数を分離する。電話とインターネットは同時に利用可
  • 伝送モードは非対称で下りに多くの帯域を割り当てる。(上り[26k~138kHz]/下り[138kHz~1.1MHz])
  • ADSLの規格
    • G.992(ITU-T)
      • フルレートADSL:G.992.1
      • ハーフレートADSL:G992.2
    • 各国の通信環境を考慮したオプション仕様
      • Annex A:(北米)
      • Annex B:(欧州)
      • Annex C:(日本)
CATV
  • 日本のCATV事情もあり、あまり普及しなかった。現在も根強いユーザが利用し続けている。
  • 動作原理はADSLと同じ、TVの視聴用として設計された同軸ケーブルの空き周波数部分でデータ伝送を行っている。家庭内で「混合分配機」によってTV画像信号とデータ信号に分ける。ADSLと異なり伝送帯域は余裕があり、伝送路は同軸ケーブル。
    • ケーブルルータ:CATV局側に設置インターネットでのルーティングを行うルータ
    • ケーブルモデム:CATVモデム
    catvmodel

種類

IEEE802.3規格(有線LAN)
規格名接続形態最大伝送速度最大伝送距離
同軸ケーブル
10BASE5バス型10Mbit/s500m
10BASE2バス型10Mbit/s185m
ツイストペアケーブル
10BASE-Tスター型10Mbit/s100m
10BASE-Fスター型10Mbit/s100m
100BASE-TXスター型100Mbit/s100m
100BASE-FXスター型100Mbit/s20km
1000BASE-SXスター型1Gbit/s550m
1000BASE-LXスター型1Gbit/s5000m

表記

通信方式

無線LAN(Layer1)

無線通信の種類

名称説明
Wi-Fiメッシュネットワーク
UWB(Ultra Wide Band)
WiMAX(IEEE802.16規格の別名)
センサネットワーク
LPWA(Low Power Wide Area)
低電力広範囲通信
IoT機器向けの技術仕様
名称通信速度/距離特徴
Wi-Fi HaLow150bps~数Mbps/1km低速長距離。Wi-FiのIoT向け低消費電力企画(IEEE802.11ah)
Wi-SUN50~300bps/500m~1km低速近距離。Wireless Smart Utility Network(IEEE802.15.4g)
Sigfox600bps/50km低速長距離。超狭帯域でブロードキャストを使う。
LoRa250kbps/10km低速長距離(短距離高速通信モードもあり)
6LoWPAN(IPv6 over Low-power Wireless Personal Area Networks)
ZigBee
BLE(Bluetooth Low Energy)
関連概念
ラストワンマイル問題家の前までは高速な通信網が来ているのに引き込み時に速度が落ちる。高速引き込み線は工事コストなどがかかる、と言う問題。
データオフロード携帯無線網が混んでいるとき余裕のある回線へ迂回させる技術、対策。WiMAXと無線LAN(Wi-Fi)を利用。
ARPU(Average Revenue Per User)加入者当たり月間売上高

IEEE802.11規格

IEEE802.11規格(無線LAN)
規格名周波数帯最大伝送速度
IEEE 802.112.4GHz2Mbit/s
IEEE 802.11a5GHz54Mbit/s
IEEE 802.11b2.4GHz11Mbit/s
IEEE 802.11g2.4GHz54Mbit/s
IEEE 802.11n2.4GHz/5GHz600Mbit/s
IEEE 802.11ac5GHz6.93Gbit/s

CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)

CSMA/CDと異なり衝突する前に回避する

周波数帯域

無線通信方法・手順


ケーブルの構造

オートネゴシエーション

通信機器が互いの通信速度を自動検出し設定を同期させる機能。

ネットワークトポロジー

LANを構成する配線形態で、最も効率的なパターンをひな形としている

代表的なネットワークトポロジー


トップへ戻る

Layer2

イーサネットフレーム(Layer2)

フォーマット

名称サイズ説明
プリアンブル8byte(64bit)イーサネットフレームを送る合図。先頭7回「10101010」、最後1回「10101011」
宛先/送信元MACアドレス6byte(48bit)[12byte(96bit)]MACアドレス
タイプ2byte(16bit)ネットワーク層で利用するプロトコルを示す。(下記表参照)
イーサネットペイロード46byte~1500byteネットワーク層のデータ(IPを利用しているならばIPパケット)。46byte以下の場合はパディングを挿入する。1500byte以上の場合はトランスポート層やネットワーク層でデータを分割する。
FCS(Frame Check Sequence)4byte(32bit)チェックサム、CRCの結果。

タイプコード

プロトコルのタイプコード
タイプコードプロトコル
0x0000 - 05DCIEEE802.3 Length Field
0x0800IPv4(Internet Protocol version 4)
0x0806ARP(Address Resolution Protocol)
0x8035RARP(Reverse Address Resolution Protocol)
0x86DDIPv6(Internet Protocol version 6)
0x8863PPPoE(Point-to-Point Protocol over Ethernet) Discovery Stage
0x8864PPPoE(Point-to-Point Protocol over Ethernet) Session Stage

MAC Address Format

1bit1bit目「ユニキャストアドレス」と「マルチキャストアドレス」の判別
1bit2bit目「ユニバーサルアドレス」と「ローカルアドレス」の識別
22bit
(Organizationally Unique Identifier)
IEEEがベンダー毎に割り当てたベンダーコード
24bit
(Universally Administered Address)
出荷時にベンダーから割り当てられたり、ランダムに生成されたりする。

送信種別


ARP(Address Resolution Protocol)(Layer2)

フォーマット

名称サイズ説明
ハードウェア2byte(16bit)使用しているL2プロトコルを表す。イーサネットの場合は「0x0001」。
プロトコルタイプ2byte(16bit)L3プロトコルを表す。IPv4の場合は「0x0800」。
ハードウェアアドレスサイズ1byte(8bit)MACアドレスの長さをIntで表す。
プロトコルアドレスサイズ1byte(8bit)ネットワーク層で利用するアドレスのサイズ。IPアドレスの長さを表す。
オペレーションコード(オプコード)2byte(16bit)ARPフレームの種類を表す。下記表参照。
送信元MACアドレス/送信元IPv4アドレス6byte(48bit)送信元のMACアドレスとIPアドレス(IPv4)を表す。
目標MACアドレス/目標IPv4アドレス6byte(48bit)目標MACアドレスとIPアドレス(IPv4)を表す。

オペレーションコード

代表的なオペレーションコード
オペレーションコード内容
1ARP Request
2ARP Reply
3Request Reverse(RARP)
4Reply Reverse(RARP)

RARP(Revers Address Resolution Protocol)

MACアドレスからIPアドレスを解決する
※ARPはIPアドレスからMACアドレスを解決する。


イーサネットを構成する副層

MAC副層とLLC副層に関する詳細なページ

MAC副層(Media Access Control)[媒体アクセス制御副層]

宛先MACアドレスなど制御情報を削除

LLC副層(Logical Link Control)[論理リンク制御副層]

受信フレームに漏れがないか破損がないかなど、再送要求も行う。(CRC含む)

トップへ戻る

Layer3

IPv4(Internet Protocol version 4)(Layer3)

フォーマット

名称サイズ説明
バージョン4bitIPのバージョンを表す。IPv4は「0b0100」
ヘッダー長4bitIPv4のヘッダーのなさが。IHL:Internet Header Lengthとも言う。長さはN=B/32bit(B:ヘッダー長ビット数)。IPv4ヘッダーの基本の長さは20byteなので5が入る。
ToS(type of Service)1byte(8bit)IPv4パケットの優先度を表す。QoS(Quality of Service:優先制御、帯域制御、輻輳制御など)で使用する。先頭6bit:DSCP(Differentiated Services Code Point)フィールド[優先制御、輻輳制御]、残り2bit:ECN(Explicit Congestion Notification)フィールド[輻輳通知]。
パケット長2byte(16bit)全体の長さを表す。(IPv4ヘッダーとIPv4ペイロード)
識別子2byte(16bit)パケット作成時にランダムに割り当てるパケットのID。フラグメンテーションされていることを認識し、パケットを再結合するためのもの。
フラグ3bit1bit:未使用、2bit:DF(Don't Fragment)bit[0:フラグメント許可,1:フラグメント拒否]、3bit:MF(More Fragments)bit[0:後続パケット有,1:後続パケット無]
フラグメントオフセット13bitフラグメンテーション時のオフセットの位置。フラグメンテーションされた最初のパケットには0、後続パケットには位置を示す値。
TTL(Time To Live)1byte(8bit)TTL値が入る。パケットを破棄したルーターは「Time-to-live exceeded(タイプ11/コード0)」というICMPv4パケットを返却する。
プロトコル番号1byte(8bit)プロトコル番号。下記の表参照。
ヘッダーチェックサム2byte(16bit)IPv4ヘッダーの整合性をチェックするために使用される。ヘッダーチェックサムの計算は「RFC1071 Computing the Internet Checksum」
送信元IPv4アドレス4byte(32bit)送信元のIPアドレス
宛先IPv4アドレス4byte(32bit)宛先のIPアドレス
オプション4byte(32bit)IPv4パケット送信における拡張機能が格納される可変長のフィールド。
パディングIPv4ヘッダーのビット数を整えるためのパディング。ヘッダーは仕様上4byte(32bit)単位である必要がある。

プロトコル番号

プロトコル番号
プロトコル番号用途
1ICMP(Internet Control Message Protocol)
2IGMP(Internet Group Management Protocol)
6TCP(Transmission Control Protocol)
17UDP(User Datgram Protocol)
47GRE(Generic Routing Encapsulation)
50ESP(Encapsulationg Security Payload)
88EIGRP(Enhanced Interior Gateway Routing Protocol)
89OSPF(Open Shortest Path First)
112VRRP(Virtual Router Redundancy Protocol)

IPアドレスの割り当て


IPアドレス

アドレスクラス
グローバルIPアドレスのクラス
クラスアドレス範囲NWaddres/hostaddres種別最大割り当て数
A0.0.0.0~127.255.255.255255.0.0.0(8bit)ユニキャスト16777214(2^24 - 2)
B128.0.0.0~191.255.255.255255.255.0.0(16bit)ユニキャスト65534(2^16 - 2)
C192.0.0.0~223.255.255.255255.255.255.0(24bit)ユニキャスト254(2-8 -2)
D224.0.0.0~239.255.255.255-マルチキャスト
  • サブネット内の全ノード:224.0.0.1
  • サブネット内の全ルータ:224.0.0.2
  • OSPFルータ:224.0.0.5
  • RIP-2ルータ:224.0.0.9
  • DHCPサーバとリレーエージェント:224.0.0.12
  • NTP:224.0.1.1
E240.0.0.0~255.255.255.255-予約
アドレスクラス
推奨されるローカルIPアドレス(プライベートIPアドレス)
classscopeNWaddress/hostaddresssubnetmaxnode
A10.0.0.0/10.255.255.255255.0.0.0(/8)16777214(2^24 - 2)
B172.16.0.0/172.31.255.255255.240.0.0(/12)1048574(2^20 - 2)
C192.168.0.0/192.168.255.255255.255.0.0(/16)65534(2^16 - 2)
その他(おそらくローカルIP)
0.0.0.0~0.255.255.255 デフォルトルート、自分自身など
169.254.0.0~169.254.255.255 リンクローカルアドレス(自らの所属するネットワークセグメントのみ通信可能)
192.88.99.0~192.88.99.255 6to4方式によるIPv6とIPv4の変換用
248.0.0.0~255.255.255.255 実験用

除外アドレス
クラスレスネットワークアドレス[CIDR(Classless Inter-Domain Routing)]

クラスCのIPアドレスを束ねて1つの「スーパーネット」を作成する手法

CIDR表記

IPアドレスの表記はいくつか種類がある。CIDR表記はサブネットマスクを「上位xビット」のネットワーク部を「/x」のように表記する

CIDRブロック

CIDR表記されたネットワークアドレスのホストアドレスの範囲

クラスレスなネットワークアドレス
2進表記10進表記
1000 0000 0000 0000 0000 0000 0000 0000128.0.0.0
1100 0000 0000 0000 0000 0000 0000 0000192.0.0.0
1110 0000 0000 0000 0000 0000 0000 0000224.0.0.0
1111 0000 0000 0000 0000 0000 0000 0000240.0.0.0
1111 1000 0000 0000 0000 0000 0000 0000248.0.0.0
1111 1100 0000 0000 0000 0000 0000 0000252.0.0.0
1111 1110 0000 0000 0000 0000 0000 0000254.0.0.0
1111 1111 0000 0000 0000 0000 0000 0000255.0.0.0
1111 1111 1000 0000 0000 0000 0000 0000255.128.0.0
1111 1111 1100 0000 0000 0000 0000 0000255.192.0.0
1111 1111 1110 0000 0000 0000 0000 0000255.224.0.0
1111 1111 1111 0000 0000 0000 0000 0000255.240.0.0
1111 1111 1111 1000 0000 0000 0000 0000255.248.0.0
1111 1111 1111 1100 0000 0000 0000 0000255.252.0.0
1111 1111 1111 1110 0000 0000 0000 0000255.254.0.0
1111 1111 1111 1111 0000 0000 0000 0000255.255.0.0
1111 1111 1111 1111 1000 0000 0000 0000255.255.128.0
1111 1111 1111 1111 1100 0000 0000 0000255.255.192.0
1111 1111 1111 1111 1110 0000 0000 0000255.255.224.0
1111 1111 1111 1111 1111 0000 0000 0000255.255.240.0
1111 1111 1111 1111 1111 1000 0000 0000255.255.248.0
1111 1111 1111 1111 1111 1100 0000 0000255.255.252.0
1111 1111 1111 1111 1111 1110 0000 0000255.255.254.0
1111 1111 1111 1111 1111 1111 0000 0000255.255.255.0
1111 1111 1111 1111 1111 1111 1000 0000255.255.255.128
1111 1111 1111 1111 1111 1111 1100 0000255.255.255.192
1111 1111 1111 1111 1111 1111 1110 0000255.255.255.224
1111 1111 1111 1111 1111 1111 1111 0000255.255.255.240
1111 1111 1111 1111 1111 1111 1111 1000255.255.255.248
1111 1111 1111 1111 1111 1111 1111 1100255.255.255.252
1111 1111 1111 1111 1111 1111 1111 1110255.255.255.254

IPv4 Format

(RFC791)32bitの数字

役割別アドレス


IPv6(INternet Protocol version 6)(Layer3)

フォーマット

名称サイズ説明
バージョン4bitIPのバージョン、IPv6は0b0110。
トラフィッククラス1byte(8bit)IPv6パケットの優先度を表す。IPv4のToSに相当。QoS(Quality of Service:優先制御、帯域制御、輻輳制御など)で使用する。先頭6bit:DSCP(Differentiated Services Code Point)フィールド[優先制御、輻輳制御]、残り2bit:ECN(Explicit Congestion Notification)フィールド[輻輳通知]。
フローラベル20bit通信フローを制御する。IPv4では「送信元IPアドレス」「宛先IPアドレス」「送信元ポート番号」「宛先ポート番号」「L4プロトコル」の5つの情報(5tuple:ファイブタプル)で通信フローを制御するがIPv6ではこれらをフローラベルとしてまとめて定義できるようにしている。
ペイロード長2byte(16bit)IPv6ペイロードの長さを表す。IPv4では「パケット長」IPv6のヘッダー長は40byte(320bit)に固定されているためペイロードのみで済む。
ネクストヘッダー1byte(8bit)IPv6ヘッダーの直後に続くヘッダーを表す。拡張ヘッダーがある場合は、拡張ヘッダーを表す値が入る。拡張ヘッダーがない場合はIPv4の「プロトコル番号」と同じ役割を担う。
ホップリミット1byte(8bit)ホップ数の上限を表す。IPv4のTTLに相当。
送信元IPv6アドレス16byte(128bit)送信元のIPv6アドレス。
宛先IPv6アドレス16byte(128bit)宛先のIPv6アドレス。

IPv6 Format

(RFC8200)16bitの数値。2byteずつ、計8フィールド

IPv6アドレスのルール

RFC4291「IP Version 6 Addressing Architecture」、RFC5952「A Recommendation for IPv6 Address Text Representation」で標準化されている

IPv6の部分

名称説明
サブネットプレフィックス
グローバルルーティングプレフィックス
サブネットID
インターフェースID

IPv6アドレスの種類


ICMPv4(Internet Control Message Protocol version 4)

RFC791「INTERNET PROTOCOL」で定義されているIPを拡張したプロトコル。RFC792「INTERNET CONTROL MESSAGE PROTOCOL」で標準化されている。RFC792では「ICMP is actually an integral part of IP,and must be implemented by every IP module.」(ICMPはIPにおいて必要不可欠な部分であり、すべてのIPモジュールに実装されていなければならない)と記載されている。

フォーマット

名称サイズ説明
バージョン
ヘッダー長
ToS
パケット長
識別子
フラグ
フラグメントオフセット
TTL
プロトコル番号
ヘッダーチェックサム
送信元IPアドレス
宛先IPアドレス
タイプ下記参照
コード下記参照
チェックサム
ICMPペイロード可変長

タイプ&コード

タイプコード意味
0Echo Reply0Echo Replyエコー応答
3Destination Unreachable0Network unreachable宛先ネットワークに到達できない
1Host unreachable宛先ホストに到達できない
2Protocol unreachableプロトコルに到達できない
3Port unreachableポートに到達できない
4Fragmentabtion needed but DF bit setフラグメンテーションが必要だが、DFビットが「1」になっていて、フラグメントできない。
5Source route failedソースルートが不明
6Network unknown宛先ネットワークが不明
7Host unknown宛先ネットワークが不明
9Destination network administratively prohibited宛先ネットワークに対する通信が管理的に拒否(Reject)されている。
10Destination host administratively prohibited宛先ホストに対する通信が管理的に拒否(Reject)されている
11Network unreachable for ToS指定したToS値では宛先ネットワークに到達できない。
12Host unreachable for ToS指定したToS値では宛先ホストに到達できない。
13Communication administratively prohibited by filteringフィルタリングによって通信が管理的に禁止されている
14Host precedence violationプレシデンス値が違反している。
15Precedence cutoff in effectプレシデンス値が低すぎるため遮断された。
5Redirect0Redirect for network宛先ネットワークに対する通信は、指定されたIPアドレスに転送(リダイレクト)する
1Redirect for host宛先ホストに対する通信を、指定されたIPアドレスに転送(リダイレクト)する
2Redirect for ToS and network宛先ネットワークとToS値の通信を、指定されたIPアドレスに転送(リダイレクト)する
3Redirect for ToS and host宛先ホストとToS値の通信を、指定されたIPアドレスに転送(リダイレクト)する
8Echo Request0Echo requestエコー要求
11Time Exceeded0Time to live exceeded in transitTTLが超過した

ICMPv6(Internet Control Message Protocol version 6)

フォーマット

名称サイズ説明
バージョン
Traffic Class
フローラベル
ペイロード長
次ヘッダー
ホップ制限
送信元IPv6アドレス
宛先IPv6アドレス
タイプ下記参照
コード下記参照
チェックサム
ICMPペイロード

タイプ&コード

コード意味
1Destination Unreachable0No route to destinationルーティングテーブルに宛先ネットワークが存在しない
1Communication with destination administratively prohibitedファイアウォールなどで、管理上拒否されている。
2Beyond scope of source address宛先IPv6アドレスが送信元Ipv6アドレスの範囲外にある
3Address unreachableアドレスに到達できない
4Port unreachableポートに到達できない
5Source address failed ingress/egress policy入力/出力ポリシーによって、送信元IPv6アドレスが許可されなかった。
6Reject route to destination宛先に対する経路が拒否された
2Packet Too Big0Packet Too Bigパケットが出力インターフェースのMTUより大きすぎた
3Time Exceeded0Hop limit exceeded in transitホップリミットを超過した
1Fragment reassembly time exceededフラグメントしたパケットを組み立てる途中で時間が超過した
4Parameter Problem Message0Erroneous header field encountered誤ったヘッダーフィールドが含まれていた
1Unrecognized Next Header type encountered認識できないネクストヘッダータイプが含まれている
2Unrecognized IPv6 option encountered認識できないIPv6オプションが含まれている
128Echo Request0Echo Requestエコー要求
129Echo Reply0Echo Replyエコー応答
133Router Solicitation(NDP)0Router Solicitationルーターにネットワークの情報(ネットワークアドレスやプレフィックス等)を尋ねる
134Router Advertisement(NDP)0Router Advertisementルーターがネットワークの情報(ネットワークアドレスやプレフィックス等)を返す
135Neighbor Solicitation(NDP)0Neighbor Solicitation近隣端末にMACアドレスを尋ねたり、リンクローカルアドレスを使用してよいか尋ねる
136Neighbor Advertisement(NDP)0Neighbor Advertisement近隣端末がMACアドレスを返したり、アドレスが重複していることを通知する
137Redirect(NDP)0Redirect近隣端末に異なるネクストホップを伝える

その他のプロトコル

目次

ルーティングプロトコル

AS(Autonomous System):家庭内や社内など、同じ方針に則って管理を行うことができる範囲。一般的には企業単位。

ルーティングテーブルの作成方法

エントリ:ルーティングテーブルに登録された情報のこと。転送先とそれに関する宛先ネットワークの情報

ルータの機能

経路のループを回避する技術

ループの原因
ループ回避技術

トップへ戻る

NAT(Network Address Translation)

LAN内のプライベートIPアドレスをインターネットで利用できるグローバルIPアドレスに変換する

概念

概念説明
NATエントリ
NATテーブル

種類

トップへ戻る

RIP(Routing Information Protocl)

アルゴリズム

bell
バージョン1バージョン2
ルート情報の宛先アドレスブロードキャスト(255.255.255.255)マルチキャスト(224.0.0.9)
サブネットマスクの通知しないする
認証機能なしあり
集約自動集約自動集約/手動集約

※クラスレスなアドレスを利用する場合はversion2を使う

トップへ戻る

OSPF(Open Shortest Path)

機能内容

OSPFパケット

タイプパケット説明
タイプ1Hello直接接続されているルータに自ルータが正常に稼働していることを通達する。10秒間隔でブロードキャストされる。
タイプ2データベース記述リンク確立時に交換する。リンク状態広告LSAのこと
タイプ3リンク状態要求受信したLSAのうち自分が持っていない情報が含まれる際に送信するパケット。
タイプ4リンク状態更新リンク状態要求を受信した際に作成される、相手ルータのデータベースを更新するための情報
タイプ5リンク状態確認応答受信確認パケット。ACK相当

※エリアの識別は32bitのエリア番号(エリアID)IPアドレスと同様の表現方法(10進数を8bitごとに「.」で区切る)

ルータ分類と役割

種別説明
内部ルータ同一エリアインターフェースのみ接続しているルータ
バックボーンルータ一つ以上のインターフェースがバックボーンエリアに所属しているルータ
エリア境界ルータ:ABR(Area Border Router)インターフェースが2つ以上のエリアに所属しているルータ。バックボーンルータでもある。エリアごとにLSDBを持ち、経路集約が行える。トラフィックが集中する恐れがある。
自律システム境界ルータ:ASBR(Autonomous System Boundary Router)1つ以上のインターフェースが非OSPFネットワークに接続しているルータ。OSPF以外の経路情報をOSPFルータに通知する。経路集約が行われる。
DR/BDR/DROTHER
DR(Designated Router)
  • Dsignated:専用
  • LSAの交換を取りまとめる代表ルータ
  • 受け取ったLSAを他のルータへ転送する
BDR(Backup Designated Router)
  • DRのバックアップとして動作するルータ
  • バックアップ代表ルータ
DROTHER
  • DR/BDR以外のルータ
  • DROTHER同士ではLSAを好感しない

OSPFパケットとOSPFテーブル

タイプ名称説明
1Hello-ネイバーの発見、アジャセンシーの確立と維持
2DBDDataBase DescriptionLSDBの同期を取る。自分のLSDB内のLSAを各ネイバーに示す
3LSRLink State Request自分のLSDBにないLSAや新しいLSAを要求する
4LSULinkLSRで要求されたLSAを通知したり、変更が発生したときにその変更を通知する
5LSAckLink State AcknowledmentLSUパケットによって通知されたLSAを正常に受信したことを相手に伝える

OSPFテーブル

OSPFの処理の流れ

  1. OSPFネイバーの発見(Hello)
  2. LSDBの同期(DBD)
  3. SPFアルゴリズムを用いて、ルーティングテーブルに最適ルートを登録(LSR,LSU,LSAck)
  4. OSPFネイバーの維持(Hello)

  1. OSPFプライオリティ値の一番大きいルータを「DR」に選出
  2. OSPFプライオリティ値が二番目に大きいルータを「BDR」に選出
  3. OSPFプライオリティ値が「0」のルータは「DROTHER」に固定
  4. OSPFプライオリティ値が同じ場合、ルータIDの値が一番を大きいルータを「DR」、二番目に大きいルータを「BDR」に選出

トップへ戻る

IS-IS

OSPFと同様のリンクステート型ルーティングプロトコ、IGPに属する。OSPFと似ているが、OSIアーキテクチャの一部として開発された経緯があり、IP以外のプロトコルを扱うことができる。

トップへ戻る

ACL(Access Control List)

ACLの種類

ACLの識別

トップへ戻る

STP(Spanning Tree Protocol)スパニングツリープロトコル

STPの機能

選定処理を行い、非代表ポートとなったポートをブロックすることでブロードキャストストームを防ぐ

ルートブリッジの選出

選定処理

  1. ルートブリッジの選定:ブリッジIDを比較し一番小さい値のスイッチを「ルートブリッジ」とする。
  2. ルートポートの選定:ルートブリッジ以外のスイッチ全てを対象にルートブリッジに近いポートを「ルートポート」とする。
  3. 代表ポートの選定:各リンク(スイッチとスイッチをつないでいる間)でルートブリッジに近いポートを「代表ポート」とする。
  4. 非代表ポートの選定」ルートポートでも代表ポートでもないポートを「非代表ポート」とする。

選定に関する判断基準

  1. コストの低いもの
  2. コストが同一の場合、ブリッジIDの小さいもの
  3. ブリッジIDも同一であれば、ポート番号順に決める

ブリッジID

ブリッジプライオリティ(16bit) + MACアドレス(48bit) = ブリッジID(64bit)

コスト

帯域幅(通信速度)によってコストが決まる

帯域幅コスト
10Mbps100
100Mbps19
1Gbps4
10Gbps2

RSTP(Rapid Spanning Tree Protocol)

STPのツリー再計算の計算手順を変更して収束を早くしたもの。ブロッキングポートの代わりに代替ポートとバックアップポートがある

MSTP(Multiple Spanning Tree Protocol)

VLAN環境での使用を考慮した規格。インスタンスIDを付与してVLANをインスタンス単位にまとめ計算の負荷を軽くしたもので、1つのブリッジは複数のインスタンスに所属できる。またブリッジプライオリティによってインスタンス内での振る舞いが決まる。
MSTPは当初「IEEE802.1S」として企画化され、のちに「IEEE802.1Q」へ統合された。

トップへ戻る

VRRP

複数のルータを1台の仮想的なルータに見せかけることで、デフォルトゲートウェイを冗長化する機能。

トップへ戻る

IGRP

トップへ戻る

EIGRP

トップへ戻る

BGP-4

概要

機能や要素

トップへ戻る

MPLS(Multi-Protocol Label Switching)

トップへ戻る

SLAAC(IPv6 Stateless Address Auto Configuration)

自動IPv6割り当てのプロトコル。ルータがRSを受信しサブネットプレフィックスを載せてRAを返す。ノードはMACアドレスからEUI-64を生成し、インターフェース識別子とする。

トップへ戻る

DAD(Duplicate Address Detection)

「重複アドレス検出」NSで仮LLAを送信、応答がない場合にはそのLLAを確定し、NAを全ノードマルチキャスト送信する。

トップへ戻る

トップへ戻る

Layer4

概要

データの呼び方

ポート番号

3種類のポート番号

ポート番号の範囲名称用途
0~1023System Ports(Well-known Ports)一般的なアプリケーションで使用
1024~49151User Portsメーカーの独自アプリケーションで使用
49152~65535
LinuxOS(32768~60999)
Dynamic Ports
Private Ports
Ephemeral Ports
OS実装。クライアント側でランダムに割り当てて使用

代表的なポート番号

サービス/プロトコルporttcp/udp
http80tcp
smtp25tcp
pop110tcp
telnet23tcp
ftp20,21tcp
dns53tcp/udp
dhcp67,68udp
ntp123udp
imap143tcp
snmp161tcp/udp
ldap389tcp
https443tcp
SQL1433

IANAで管理されているポート番号一覧:IANA


UDPパケットフォーマット(Layer4)

フォーマット

名称サイズ説明
送信元ポート番号2byte(16bit)アプリケーションプロセスに使用されるポート番号。送信元はOSでランダムに決まる。
宛先ポート番号2byte(16bit)アプリケーションプロセスに使用されるポート番号。宛先はアプリケーション毎に定義された値を使う。
UDPデータグラム長2byte(16bit)UDPヘッダー(8byte=64bit)とUDPペイロードをあわせたデータグラム全体の長さ。最長値UDPヘッダーのみの8、最大値は理論上65535byte。
チェックサム2byte(16bit)UDPデータグラムが壊れていないかの整合性を確認するためのもの。UDPチェックサムの検証にはIPヘッダーと同じ「1の補数演算」が採用されている。

UDPと関連のあるプロトコル

プロトコル説明
RTP(Real-time Transport Protocol)遅延が許されない動画や音楽のストリーミング配信に使われる。
RTCP(RTP Control Protocol)RTPを制御する。
DNSDomainNameServiceのこと。FQDN(Fully Qualified Domain Name)の名前解決などを行う。
DHCPIPアドレスを取得する。IPアドレスが確定していないので、ブロードキャストによって通信する。
SNMPネットワーク管理用プロトコル。CPUやメモリに制限のある通信機器がTCPを使うと帯域を取りネットワークが混雑するため、UDPを代わりに使う。

TCPパケットフォーマット(Layer4)

フォーマット

名称サイズ説明
送信元ポート番号2byte(16bit)アプリケーション(プロセス)の識別に使用される、OSでランダムに決まる。
宛先ポート番号2byte(16bit)アプリケーションプロセスに使用される、アプリケーションごとに定義された固有番号。
シーケンス番号4byte(32bit)TCPセグメントを正しい順序に並べるためのフィールド。送信側端末でアプリケーションから受け取ったデータのバイトに対して、「初期シーケンス番号(ISN:Initial Sequence Number)」から順に番号を付与する。受信側の端末でTCPセグメントのシーケンス番号を確認して番号順に並べ替えアプリケーションへ渡す。3ウェイハンドシェイクのときにランダムな値を初期シーケンス番号としてセットし、TCPセグメントを送信するたびに送信したバイト分加算される。4byteを超えたら再度0からカウント。
確認応答番号
ACK番号
4byte(32bit)ACK番号(Acknowledge番号)。コントロールビットのACKフラグが1の時だけ有効。データのシーケンス番号+1。「相手から受信したシーケンス番号」+「データサイズ」
データオフセット4bitTCPヘッダーの長さを表す。IPヘッダーと同様に、ヘッダーの長さを4byte単位に換算する。ヘッダービット数 ÷ 32ビット。[20byte(160bit) = 32bit * 5] の場合5が入る。
予約領域6bit全ビット「0」が入る。将来の拡張のために用意されている。
コントロールビット6bitコネクションの状態を制御するフィールド。フラグの意味は下記表参照。
ウィンドウサイズ16bitACKを受信せずに受け取れるデータサイズを通知するためのフィールド。最大65535byteの通知が可能。送信側の端末はウィンドウサイズが0のパケットを受け取ると送信を停止する。(おそらく、残りbytesizeを示す)この場合に送信側は、次にいつどのくらいのデータを送信してよいかを知るために「ウィンドウプローブ(WindowProbe)」と呼ばれる探索パケットを送信する。
チェックサム16bitTCPセグメントが壊れていないかの整合性のチェックに使用されるフィールド。「1の補数演算」が採用されている。
緊急ポインタ16bitコントロールビットのURGフラグが1の時だけ有効。緊急データを示す最後のバイトのシーケンス番号がセットされている。
オプション可変長TCP拡張機能を通知するために使用。種別によって定義されている「オプションリスト」として並べる形で構成される。代表的なオプションは下記表参照。
パディング可変長TCPヘッダの長さを32ビットの整数にするために詰め物(Padding)として空データの 「 0 」 の値を入れることにより調整する。
TCPペイロード(アプリケーションデータ)

チェックサム

コントロールビット

ビットフラグ名説明概要
1ビット目CWRCongestion Window ReducedECN-Echoに従って、輻輳ウィンドウを減少させたことを通知するフラグ
2ビット目ECEECN-Echo輻輳が発生していることを通信相手に通知するフラグ
3ビット目URGUrget Pointer field significant緊急に処理すべきデータ含まれていることを意味する。
4ビット目ACKAcknowledgment field significant確認応答を表す。確認応答番号のフィールドが有効であることを意味する。コネクション確立時以外は値が「1」。
5ビット目PSHPush Function受信したデータをバッファリングせずに、即座にアプリケーション(上位)に渡すことを意味する。
6ビット目RSTReset the connectionコネクションが強制的に切断されることを意味する。何らかの異常を検出した場合に送信される。
7ビット目SYNSynchronize sequence numbersコネクションをオープンするフラグ
8ビット目FINNo more data from senderコネクションをクローズするフラグ

※TCP/IPではパケットのヘッダ部に記載される制御データなどのバイト順に慣習的にビッグエンディアンを用いている(ネットワークバイトオーダー)

オプション

種別オプションヘッダーRFC意味
0End Of Option ListRFC793オプションリストの最後でることを表す
1NoP(No-Operation)RFC793何もしない。オプションの区切り文字として使用する
2MSS(Maximum Segment Size)RFC793アプリケーションデータの最大サイズを通知する
3Window ScaleRFC1323ウィンドウサイズの最大サイズ(65535byte)を拡張する
4SACK(Selective ACK)PermittedRFC2018Selective ACK(選択的確認応答)に対応している
5SACK(Selective ACK)RFC2018Selective ACKに対応しているときに、すでに受信したシーケンス番号を通知する
8TimestampsRFC1323パケットの往復時間(RTT)を計測するタイムスタンプに対応している
30MPTCP(Multipath TCP)RFC8664Multipath TCPに対応している
34TCP Fast OpenRFC7413TCP Fast Openに対応していることを通知したり、Cookieの情報を渡す
MSS(Maximum Segment Size)

通信路で分割せず送信できるTCPセグメントの最大長。下位の通信リンクのMTUによって決定。(MTUは送信パケットのヘッダを含む全サイズ)プロトコルのヘッダサイズを減じるためMTUより小さい。

SACK(Selective ACK)

Selective ACK:通常のACKであれば、例えば1~10のデータが送信されて、5のみ損失した場合には、6~10をすべて再送する必要があるが、SACKで受信した受信したデータを通知することで6~10は再送せずに済む。これによりオーバーヘッドが削減される。

状態遷移

3つのフェーズ

接続開始フェーズ
接続確立フェーズ
  1. フロー制御:受信側の流量調整
  2. 輻輳制御:送信側の流量調整
  3. 再送制御:パケットロス時の再送機能
接続終了フェーズ

トップへ戻る

Layer5~7

FQDN(Fully Qualified Domain Name)「完全修飾ドメイン名」

ドメイン名の構成

IDN(Internationalized Domain Name)[国際化ドメイン]

2バイトコードをACSII変換して漢字を表現したりする

顧客ドメインサービス

ISPやIDCが顧客のドメイン名を用いてサーバを運営する。


プロトコル一覧


DNS(Domain Name System)

名前解決システムのこと

DNSの種類と呼び方

種類(名前)説明
リゾルバ(ネームリゾルバ)DNSサーバに名前解決を依頼するDNSクライアントのこと。ほとんどのOSに実装される
ゾーンDNSレコードを管理する単位
プライマリサーバ(マスタDNSサーバ)ゾーン情報のオリジナルを保存するサーバ
セカンダリサーバ(スレーブDNSサーバ)ゾーン転送によってゾーン情報のコピーを保存するサーバ
コンテンツサーバ(権威サーバ,ゾーンサーバ)自らのゾーンのDNSレコードを保存するサーバ。再帰的な問い合わせはしない。
キャッシュサーバ(参照サーバ,フルリゾルバ)コンテンツサーバへの繰り返しの問い合わせは非効率なので、リゾルバがまずこのサーバーに問い合わせ、情報がキャッシュされていればすぐに回答する。ない場合はキャッシュサーバが組織外のコンテンツサーバーに問い合わせる。自ドメインのクライアントに対してのみ。名前解決ができるまで再帰的に問い合わせする。
※DNSキャッシュは1日、2日などの有効期限が設定されている。
内部DNSサーバー社内LANに設置して、社内の問い合わせに社内のホスト情報を回答するコンテンツサーバやキャッシュサーバ
外部DNSサーバーDMZに設置して、自社外からの問い合わせに答えるコンテンツサーバー
セキュリティ上の理由からDNSサーバーを内外に分ける場合がある。

脆弱性

DNSに登録されるデータ形式

リソースレコード内容
SOAレコード名前空間内の登録データが開始される。
AレコードノードのIPv4アドレス
AAAAレコードノードのIPv6アドレス
SRVレコードサーバ
NSレコードDNSサーバ
PTRレコード逆引きのためのポインタ
MXレコードメールサーバ
CNAMEレコード他のレコードで登録された名前に対して、別名を関連付ける
NSEC3レコードリソースレコードを整列するために使用する。DNSSECで利用。
RRSIGレコードリソースレコードに対する署名が記述されたレコード。DNSSECで利用。
TXTレコードコメントが記述されたレコード。

DNSラウンドロビン

負荷が集中するWebサーバなどでは、1つのドメイン名に対して複数のIPアドレスを登録し、名前解決の旅に応答するIPアドレスを変えていく、サーバ負荷軽減の手法。簡便な方法でデメリットもある。サーバとクライアントの継続的な通信が必要な場合、名前解決のたびに異なるサーバが回答されて通信の継続性が失われる。DNSキャッシュに長期間保存され、特定のサーバに意図せずアクセスが集中するケース。

DNSSEC

LDAP(Lightweight Directory Access Protocol)

ディレクトリサービスにアクセスするためのプロトコル。X.500を簡略化したもの。X.500で規定されているすべての機能は使えない。TCP/IP環境で実装できる点と、シンプルな点が特徴。

X.500

よくできているが重い。プロトコルは「DAP」

ディレクトリサービス

各種の情報資源(PCやユーザなど)を素早く見つけて利用するための仕組み。


トップへ戻る

DHCP(Dynamic Host Configuration Protocol)

概要

IPアドレス付与の流れ

  1. DHCPクライアントは起動時に「DHCPDISCOVERパケット」をブロードキャストする。
  2. DHCPサーバはIPアドレスを配布可能ならば「DHCPOFFERパケット」を返信。
  3. ※DHCPサーバが複数台ある場合「DHCPOFFERパケット」は複数返される可能性がある。どのIPアドレスを採番するかは「先着順」でDHCPクライアントが決定する。

  4. 採用するIPアドレスが決定するとDHCPクライアントはその旨を「DHCPREQUESTパケット」としてブロードキャストする。
  5. 該当するDHCPサーバは「使用許可フラグ」と「リース期限」を「DHCPACKパケット」として返信。
  6. IPアドレスが有効となる。採番されなかったIPのDHCPサーバは提案をリセットし、IPアドレスをプールしなおす。
  7. その他の処理

注意

DHCPリレーエージェント

管理の一元化やネットワーク構成の都合で複数のネットワークを一つのDHCPサーバで管理したい場合に利用。DHCPリレーエージェント機能はルータやRASサーバに実装する。


トップへ戻る

SMTP(Simple Mail Transfer Protocol)

SMTP伝送手順

  1. →HELO
  2. ←250
  3. →RCPT TO
  4. ←250
  5. →DATA
  6. ←354
  7. →データ本文(行先頭のピリオドで終了)
  8. ←250
  9. →QUIT
  10. ←221

SMTPコマンドとSMTP応答

SMTPコマンド
コマンド説明
HELO 通信の開始を表す
EHLO 通信開始+ESMTP拡張機能が使えるかの問い合わせ
MAIL FROM:送信者を挿入するフィールド
RCPT TO:受信者を挿入するフィールド
DATA電子メール本文
RSET初期化コマンド
VRFY ユーザ名の確認
EXPN MLを展開
NOOP応答要求
QUIT切断
SMTP応答
200番台(肯定応答)
211HELP応答
214HELPメッセージ
220開始
221切断
250メールの処理が正常終了
251ユーザが存在しないので転送する
300番台(DATAコマンドに対する肯定応答)
354DATAコマンドに対する肯定応答
400番台(転送エラー)
421転送不可により切断
450メールボックスが存在しない
451処理中断
452サーバのディスク容量不足
500番台(中断エラー)
500コマンドのシンタックスエラー
501パラメータエラー
502実装していないコマンド
503コマンドの順番が異なる
504実装していないパラメータ
550メールボックスが存在しない
551ユーザが存在しない
552ユーザに割り当てられたディスク容量を超えた
553権限のないメールボックス
554その他

SMTPメッセージの構造

SMTPエンベローブSMTPコマンドで入力した「MAIL FROM」と「RCPT TO」の情報が記述されるフィールドMTAはこの内容をもとにメール転送を行う
コンテンツヘッダとボディを合わせてコンテンツと呼ぶ
SMTPヘッダ送信者、受信者、エンコード情報などが記述される。SMTPエンベローブと似ているが、このフィールドはメールを受信したクライアントのMUAが使用するもの。(実際の配信段階ではSMTPエンベローブが利用される。)
受信者の便宜のため。
SMTPボディメールの本文ヘッダとボディは空白行によって区分される。

POP before SMTP

SMTP-AUTH(SMTP Authentication

AUTH PLAIN
AUTH CRAM-MD5

MIME

8ビットMIME

S/MIME

送信ドメイン認証

  1. IPアドレスを使うもの:SPF
  2. デジタル証明書を使うもの:DKIM

SPF(Sender Policy Framework)

DKIM(DomainKeys Identified Mail)

DMARC(Domain-based Message Authentication,Reporting,and Conformance)

POP3

POP3認証手順

  1. →USER <ユーザ名>
  2. ←+OK
  3. →PASS <パスワード>
  4. ←+OK

POP3コマンドとPOP3応答

POP3コマンド
認証時
USER <ユーザ名>ユーザ名の入力
PASS <パスワード>パスワードの入力
QUIT切断
ダウンロード時
STAT状態の通知
LISTメール一覧表
RERTメールのダウンロード
DELEメールの消去(実行はQUIT時)
RSETDELEコマンドの取り消し
QUITDELEコマンドを実行して切断
TOPメールの先頭行を取得
POP3応答
+OKコマンドが成功したことを表す
-ERRコマンドが失敗したことを表す


IMAP4

TLSを利用したタイプ

※TLSは認証と暗号化を提供し、手順中にサーバ証明書が組み込まれているため、ファーミングなどの不正を防ぐ

その他


トップへ戻る

HTTP(HyperText Transfer Protocol)

HTTP(HyperText Transfer Protocol)の略。1991年に登場。


HTTPのプロセス

リクエストメッセージ

HTTP/1.1メッセージフォーマット
HTTPメッセージスタートラインリクエストライン(\r\n)メソッド△リクエストURI△HTTPバージョン
メッセージヘッダーリクエストヘッダー(\r\n)ヘッダー名:△フィールド値\r\n
例:Connection: keep-alive\r\n
一般ヘッダー(\r\n)
エンティティヘッダー(\r\n)
その他のヘッダー(\r\n)
空行(\r\n)\r\n
メッセージボディ
リクエストライン
リクエストヘッダー
ヘッダー内容
Acceptテキストファイルや画像ファイルなど、Webブラウザが受け入れることができるメディアのタイプ
Accept-CharsetUnicodeやISOなど、Webブラウザが処理できる文字セット
Accept-Encodinggzipやcompressなど、、Webブラウザが処理できるメッセージボディの圧縮(コンテンツコーディング)のタイプ
Accept-Language日本語や英語など、Webブラウザが処理できる言語セット
Authorizationユーザーの認証情報。サーバーのWWW-Authenticateヘッダーに応答する形で使用される。
Expect送信するリクエストのメッセージボディが大きい時、サーバーが受け取れるか確認する
Fromユーザーのメールアドレス。連絡先を伝えるために使用される
HostWebブラウザがリクエストするWebサーバーのドメイン名(FQDN)
If-Match条件付きリクエスト。サーバーはリクエストに含まれる ETag(エンティティタグ)ヘッダーの値が、サーバー上の特定リソースに紐づくETagの値と一致したら、レスポンスを返す
If-Modified-Since条件付きリクエスト。サーバーは、この日付以降に更新されたリソースに対するリクエストだったらレスポンスを返す。
If-None-Match条件付きリクエスト。サーバーは、リクエストに含まれるETagヘッダーの値が、サーバー上の特定リソースに紐づくETagが更新日時が一致したらRangeヘッダーを処理する
If-Range条件付きリクエスト。サーバーは、この日付以降に更新されていないリソースに対するリクエストだったらレスポンスを返す
If-Unmodified-Since条件付きリクエスト。値としてETagが更新日時が入り、Rangeヘッダーと合わせて使用する。サーバー」は、ETagが更新日時が一致したらRangeヘッダーを処理する。
Max-ForwardsTRACE、あるいはOPTIONSメソッドにおいて、転送してよいサーバーの最大数
Proxy-Authorizationプロキシサーバーに対する認証情報
Range「1000バイト目から2000バイト目まで」のように、リソースの一部を取得するレンジリクエストの時に使用
Referer直前にリンクされていたURL
TEWebブラウザが受け入れることができるメッセージボディの分割(転送コーディング)のタイプ
User-AgentWebブラウザの情報
一般ヘッダー
ヘッダー内容
Cache-ControlWebブラウザーに一時的に保存するキャッシュの制御。キャッシュさせない、あるいはキャッシュする時間を設定可能。
Connectionキープアライブの接続管理情報。キープアライブにたいおうしていることを通知したり、TCPコネクションをクローズするときに使用
DateHTTPメッセージを生成した日時
Pragmaキャッシュに関して、HTTP/1.0との後方互換の目的で使用
Trailerメッセージボディの転送コーディングのタイプ
Transfer-Encoding他のプロトコル、あるいは、他のバージョンに切り替える
Upgrade他のプロトコル、あるいは、他のバージョンに切り替える
Via経由したプロキシサーバーを追記。ループ回避の目的で使用。
WarningHTTPメッセージに反映されないステータスやメッセージの変化についての追加情報
エンティティヘッダー
ヘッダー内容
Allowサーバーがクライアントに対して、対応しているメソッドを通知
Content-Encodingサーバーが実行したメッセージボディの圧縮(コンテンツコーディング)のタイプ
Content-Language日本語や英語など、メッセージボディで使用されている言語セット
Content-Lengthメッセージボディのサイズ。バイト単位で記述
Content-LocationメッセージボディのURI
Content-MD5メッセージボディに対するMD5のハッシュ値。改ざん検知に使用
Content-Rangeレンジリクエストに対するレスポンスで使用
Content-Typeテキストファイルや画像ファイルなど、メッセージボディのメディアのタイプ
Expiresリソースの有効期限の日時
Last-Modifiedリソースが最後に更新された日時
その他のヘッダー
ヘッダー内容
Set-Cookieサーバーがセッション管理に使用するセッションIDや、ユーザー個別の設定などをWebブラウザに送信
CookieWebブラウザがSet-Cookieによって与えられられたCookieの情報をサーバーに送信
X-Forwarded-For負荷分散装置でNAPTされる環境で、返還前のIPアドレスを格納
X-Forwarded-Protoクライアントが使用しているプロトコルを格納。負荷分散装置でSSLオフロードする環境などで、元のプロトコル(HTTPかHTTPS)を特定するときに使用。
メッセージボディ

レスポンスメッセージ

HTTP/1.1メッセージフォーマット(レスポンスメッセージ)
HTTPメッセージスタートラインレスポンスライン(\r\n)HTTPバージョン△ステータスコード△リーズンフレーズ\r\n
メッセージヘッダーレスポンスヘッダー(\r\n)ヘッダー名:△フィールド値\r\n
例:Connection: keep-alive\r\n
一般ヘッダー(\r\n)
エンティティヘッダー(\r\n)
その他のヘッダー(\r\n)
空行(\r\n)\r\n
メッセージボディ
レスポンスライン
レスポンスヘッダー
ヘッダー内容
Accept-RangesWebサーバーが部分的なダウンロードに対応していることを通知する。
Ageオリジンサーバーのリソースがプロキシサーバーにキャッシュされてからの時間。単位は秒
ETagエンティティタグ。ファイルなどのリソースを一意に特定する文字列。リソースが更新されるとETagも更新される
Locationリダイレクトするときのリダイレクト先
Proxy-Authenticateリダイレクトするときのリダイレクト先
Retry-Afterリクエストを再試行するまでの時間、あるいは時刻指定
ServerWebサーバーで使用しているサーバーソフトウェアの名前やバージョン、オプション
Varyオリジンサーバーからプロキシサーバーに対するキャッシュの管理情報。Varyヘッダーで指定したHTTPヘッダーのリクエストにだけキャッシュを使用する。
WWW-AuthenticateWebサーバーからクライアントに対する認証要求、および認証方式。

Cookie

Cookie設定
  1. サーバはSet-Cookie属性を使って、クライアントに情報を送る。
  2. クライアントは情報を、テキストファイルとして保存する。
  3. クライアントは、Cookieの情報を、Cookie属性の利用によって通信に含める。
Cookie設定項目
項目用途
secureHTTPSで暗号化通信しているときだけCookieを送信する。
domain指定したドメイン名に対してのみ、Cookieを送信する。この指定がない場合、クライアントはSet-Cookieを行ったサーバにしかCookieを送信しない。同一ドメイン内での運用性をよくするために使う。
path指定したディレクトリに対してのみ、Cookieをそうしんする。指定がない場合は、Coookieを発行したディレクトリとそのサブディレクトリのみにCookieを送信する。
expiresCookieの有効期限。指定しないと、ブラウザが終了時に削除される。
HttpOnlyHTTPでリクエストされたときしかCoolieを送信しない。ブラウザなどのスクリプトからCookieを使えなくする。クロスサイトスクリプティング対策になる。

HTTP認証

認証手段の種類

チャレンジレスポンス方式:ダイジェスト認証のような認証方法をいう。チャレンジとレスポンスを使ってセキュリティを守る方式

関連技術など

URLエンコード

URL利用可能文字は、一部なので、2バイト文字などをURLに埋め込む場合は、「%[2桁16進数]」で文字を表す。これを「パーセントエンコーディング」という。

キープアライブ

一度確立されたHTTP接続におけるTCPリンクを通信終了まで維持し続ける機能。TCPリンク確立のオーバーヘッドを減少できる。コネクション管理は複雑化する。

WebDAV(Web-based Distributed Authoring and Versioning)

コンテンツの作成、編集、公開、管理をHTTP上で行うためのプロトコル。ローカルPCからサーバへのファイル送信などにもHTTP/HTTPSが使えるため、通信の管理が楽になる。ファイアウォールも余計なポートを開けずに済む。

WebSocket

クライアントとWebサーバ間で双方向通信を行うための技術。HTTPを様々な使い方に拡張するのは通信監理などの点で有利だが、もともとも向いていない用途への転用である。WebSocketではクライアントがHTTPのGETメソッドで「Upgrade WebSocketリクエスト」を送り、サーバ側がそれに答えてハンドシェイクを行うことで、HTTPとは異なる恒常的なコネクションを確立する。このコネクションでは双方向通信が可能で、サーバからクライアントにプッシュ配信することができる。

Ajax(Asynchronous JavaScript + XML)

ページ単位で通信を行うHTTPでWebアプリケーションは表示内容の変更が生じるとページ全体が再描画される。この時間を短縮、ユーザビリティ向上させるため、JavaScriptの非同期処理通信機能を用いる手法。


WEBサービス

CGI
(Common Gateway Interface)
Webサーバアプリケーションから別のプログラムを呼び出す技術。Webサーバは本質的にはクライアントの要求によって静的なHTMLを返信するためのものなので、動的なページを生成したり、クライアントの要求によって何らかの処理を行う場合には適していない。よってWebサーバアプリケーションと外部アプリケーションが情報をやり取りする場合には、CGIを使うことがある。
Web APIWebサービスがを外部から利用するためのAPIのこと。Webサービスと他のプログラムを結ぶインターフェースをWeb APIという。
(マッシュアップ:Webページに他のアプリケーションを埋め込む手法)
SOA
(Service Oriented Architecture)
SOA(サービス指向アーキテクチャ)は、機能ごとに単独でシステムやサービスを作り、そのサービスを組み合わせることで全体的なシステムを構築する考え方。
従来の方法ではプログラム同士の連携は考慮していたが、内部のコンテンツの一部と言うスコープでしか考慮されておらず、構築に時間がかかったり、使いにくかったりした。
サービスという大きな単位で他のサービスと連携させることで、素早く、簡単にシステムを構築することができる。
SOAP
(Simple Object Access Protocol)
プログラム間通信を行うためのプロトコルでデータ構築の記述にXMLを利用するのが特徴。伝送にはHTTPを用いる。(汎用性と拡張性は高い。「疎結合」)
XMLが面倒でデータ量が多く、もっと簡単に利用可能なJSONが台頭した。
JSON
(JavaScript Object Notation)
JavaScriptで扱うことができるデータ記述方法。「名前と値の組の集まり」と「値の順序付きリスト」というような構造。シンプルで、構造化は行わないためデータ量が小さくて済む。JSONでアクセス可能なWeb APIが沢山ある。
CORBA
(Common Object Request Broker Architecture)
オブジェクト間通信を行うためのプロトコル。OSやアプリケーションに依存することなく通信環境を提供できる。伝送プロトコルにHTTPを使うSOAPに対して定義が厳密で実装が難しく、普及が伸び悩んだ。
ORB
(Object Request Broker)
CORBA環境において、オブジェクト間の通信を仲介するアプリケーション

トップへ戻る

FTP(File Transfer Protocol)

FTPの特徴

2本のコネクション
コネクション接続
  1. クライアントは「制御コネクション」を開く
  2. クライアントはFTPコマンドで接続要求、認証をサーバへ要求する
  3. 「データコネクション」

通信モード

FTPコマンド

FTPの種類

名前説明
TFTP
(Trivial File Transfer Protocol)
  • 簡易的なFTP
  • コネクションは1本しか張らない。
  • 下位プロトコルがUDP
  • パスワード認証を省略→セキュリティは脆弱で、パブリックな場所でのりようは向かない
  • シンプルで物理資源の乏しい環境でも実行可能
FTPS
(File Transfer Protocol over SSL/TLS)
SFTP
(SSH File Transfer Protocol)
Anonymous FTP
  • 匿名FTP(利用ソフトは同じFTP。つまり使い方)
  • 通常はコネクション確立時にユーザ名とパスワード認証を行うが、Guestアカウントで誰でも匿名でログインできる運用方法。

トップへ戻る

Telnet

telnetデーモン

クライアントがログインした際に構成し起動する。サーバではOSと、telnetデーモンを介して、クライアントからの入力を実行する。


トップへ戻る

SIP(Session Initiation Protocol)

接続手順

  1. VoIP端末はSIPプロトコルでVoIPゲートウェイへ発呼をリクエスト
  2. VoIPゲートウェイはアドレス解決、RSVPによって帯域確保を行いVoIP端末同士にセッションを確立する
SIPによる接続の流れ
  1. →INVITE
  2. ←100 Trying
  3. ←180 Ringing
  4. →ACK
  5. RTPによるメディアセッション
  6. →BYE
  7. ←200 OK
SIPリクエストSIPレスポンス
INVITEセッションに参加する100番台インフォメーション
ACKINVITEに対するレスポンスの確認応答200番台成功通知
BYEセッションの終了300番台リダイレクトの必要あり
CANCEL進行中のセッションのキャンセル400番台クライアントに起因するエラー
REFER別のノードへの呼の転送500番台サーバーに起因するエラー
REGISTERロケーション情報をSIPサーバに登録する600番台グローバルエラー

トップへ戻る

syslog

トップへ戻る

NTP(NetworkTimeProtocol)

SNTP

トップへ戻る

SNMP(SimpleNetworkManagementProtocol)

動作モデル

  1. マネージャからの動作確認
    1. (Manager)→Get-Request→(Agent)
    2. (Manager)←Get-Response←(Agent)
  2. 設定変更
    1. (Manager)→Set-Request→(Agent)
    2. (Manager)→Get-Request→(Agent)
    3. (Manager)←Get-Response←(Agent)
  3. イベント通知
    1. イベント:SNMPの障害発生などの起動トリガ
    2. (Manager)←Get-Response←(Agent)
    3. ●特徴●

      • エージェントがPDUを発行
      • レスポンスがない

MIB(ManagementInformationBase)

トップへ戻る

トップへ戻る

用語リスト

用語一覧

用語英語概要
MTU(Maximum Transmission Unit)Maximum Transmission Unitイーサネットの最大データ量。1500byte
IPフラグメンテーションネットワーク層でトランスポート層から送られてきたデータを分割すること。46byte~最大1500byte。IPフレームの「識別子」「フラグ」「フラグメントオフセット」にはIPフラグメンテーションに関する情報が入っている。
Record Routeパケットが通った経路を記録する機能。
Loose source route指定した経路を通過するように指定する機能。
NFV(Network Function Virtualization)Network Function Virtualizationネットワーク機能を仮想化する
CDN(Content Dlivery Network)Content Dlivery Networkファイルを大量配信するために最適化されたインターネット上のサーバネットワークのこと
FPGA(Field Programmable Gate Array)Field Programmable Gate Array設計者が現場で論理回路の構成をプログラムできる。
ASIC(Application Specific Integrated Circuit)Application Specific Integrated Circuitオーダーメイド集積回路
WhoisWhoisプロトコル(RFC954)。Whois。ネットワーク名や組織名、管理者連絡窓口、技術連絡担当者などの情報を管理。
トップへ戻る