Ethernet Frame(46 - 1518 bytes)
- 1.Destination Mac Address
- 6 bytes
- 2.Source Mac Address
- 6 bytes
- 3.Ether Type
- 2 bytes
- 4.Payload/Data(IP Packet)
- 46 - 1500 bytes
- 5.CRC Checksum
- 4 bytes
- 1,2,3,4がヘッダ(合計18 bytes)
- Maxmum Transmission Unit(MTU)はヘッダ18bytesを除いた1500 bytes
- フレームサイズは最大1518 bytes
IPv4 Packet(1480 bytes)
- 1.Version
- 4 bits
- IPバージョン(4が入る)
- 2.Internet Header Length
- 4 bits
- 3.Type of Service
- 1 bytes
- 4.Total Length
- 2 bytes
- IPヘッダを含むパケット長
- 5.Identification
- 2 bytes
- 6.Flags(Various Control Flags)
- 3 bits
- 断片化制御に使用
- 7.Flagment Offset
- 13 bits
- 8.Time to Linve
- 1 bytes
- 9.Protocol
- 1 bytes
- 10.Header Checksum
- 2 bytes
- IPヘッダのみの誤り検出
- 11.Source IP Address
- 4 bytes
- 12.Destinagion IP Address
- 4 bytes
- Options
- 3 bytes
- Padding
- 1 bytes
- Payload(TCP/UDP Data)
- 1480 bytes(Option未使用の場合)
- 一般的に1~12がヘッダ(合計20 bytes)
- Maxmum Transmission Unit(MTU)はヘッダ20bytesを除いた1480 bytes
- パケットサイズは最大1500 bytes
トンネリングプロトコル
GRE(Generic Routing Encapsulation):RFC 2784
- 通常ルータ間でカプセル化
- マルチキャストパケットをカプセル化できる
- 暗号化機能を持たない
L2TP(Layer 2 Tunneling Protocol):RFC 2661
- IPネットワーク上でレイヤ2通信を実現
- VPNクライアントとVPN装置間でPPPトンネルを構築
- PPPフレームをL2TPヘッダ、UDPヘッダ、IPヘッダの順にカプセル化する
- 暗号化機能を持たない
PPTP(Point to Point Tunneling Protocol):RFC 2637
IPSec:RFC 4301
通信モード
- トランスポートモード
- データ部のみ暗号化
- 全区間トンネリング
- トンネルモード
- ヘッダ部も含めて暗号化
- 新IPヘッダ付加
- 通信経路の一部の区間をトンネリング
プロトコル
- AH(Authentication Header)
- データの認証を行う
- データの暗号化は行わないが外側IPヘッダも認証する
- ESP(Encapsulating Security Payload)
- データの認証と暗号化を行う
- 外側IPヘッダとESP認証データは暗号化および認証の範囲外で、ESPヘッダは暗号化の範囲外
フェーズ
- ISAKMP SA(IKE SA)
- 鍵交換に使用される制御用トンネル
- メインモードとアグレッシブモードがある
- メインモード
- 双方のIPアドレスは固定である必要がある
- アグレッシブモード
- イニシエータは動的IPアドレスが使用できる
- IPSec SA
- データ通信用のトンネル
IKE(Internet Key Exchange)
- IPSecの鍵交換で使用されるプロトコル
- UDP 500番を使用
- 起動側をイニシエータ、応答側をレスポンダと呼ぶ
- Diffie Hellmanを使用
NAT超えの方法
- NATトラバーサル
- 新IPヘッダとESPヘッダの間にUDPヘッダを挿入する
- VPNパススルー
- IPヘッダのプロトコルフィールドを見て、上位層がポート番号を持たない時はIPのみを書き換える
- AHの場合はIPヘッダも認証対象のため、書き換えると認証エラーとなる