Lehrstuhl Netzarchitekturen und Netzdienste
Institut für Informatik Technische Universität München
Header Space Analysis Hauptseminar: Innovative Internettechnologien - - PowerPoint PPT Presentation
Lehrstuhl Netzarchitekturen und Netzdienste Institut fr Informatik Technische Universitt Mnchen Formal Methods: Header Space Analysis Hauptseminar: Innovative Internettechnologien und Mobilkommunikation Benedikt Jaeger 23.5.2014
Lehrstuhl Netzarchitekturen und Netzdienste
Institut für Informatik Technische Universität München
IITM: Formal Methods: Header Space Analysis
2
Header in Messages
Header Space Analysis
IITM: Formal Methods: Header Space Analysis
3
Header :
Payload :
Header Payload
IITM: Formal Methods: Header Space Analysis
4
IPv4-Header IPv6-Header MAC-Header ARP Request / Reply ICMP Echo Request / Reply, TTL Exceeded TCP- / UDP-Header
(Headercontent is from the script of „Grundlagen: Rechnernetze und Verteilte Systeme“ in the SS 2013, TUM)
Version IHL TOS Total Length Identification Flags Fragment Offset TTL Protocol Header Checksum Source Address Destination Address Options / Padding (optional)
IITM: Formal Methods: Header Space Analysis
5
IPv4-Header IPv6-Header MAC-Header ARP Request / Reply ICMP Echo Request / Reply, TTL Exceeded TCP- / UDP-Header
(Headercontent is from the script of „Grundlagen: Rechnernetze und Verteilte Systeme“ in the SS 2013, TUM)
Version Traffic Class Flow Label Payload Length Next Header Hop Limit Source Address Destination Address
IITM: Formal Methods: Header Space Analysis
6
IPv4-Header IPv6-Header MAC-Header ARP Request / Reply ICMP Echo Request / Reply, TTL Exceeded TCP- / UDP-Header
(Headercontent is from the script of „Grundlagen: Rechnernetze und Verteilte Systeme“ in the SS 2013, TUM)
Destination Hardware Address Destination Hardware Address Source Hardware Address Source Hardware Address Type
IITM: Formal Methods: Header Space Analysis
7
IPv4-Header IPv6-Header MAC-Header ARP Request / Reply ICMP Echo Request / Reply, TTL Exceeded TCP- / UDP-Header
(Headercontent is from the script of „Grundlagen: Rechnernetze und Verteilte Systeme“ in the SS 2013, TUM)
Hardware Type Protocol Type Hw Addr. Length
Operation Sender Hardware Address Sender Hardware Address Sender Protocol Address Sender Protocol Address Target Hardware Address Target Hardware Address Target Protocol Address
IITM: Formal Methods: Header Space Analysis
8
IPv4-Header IPv6-Header MAC-Header ARP Request / Reply ICMP Echo Request / Reply, TTL Exceeded TCP- / UDP-Header
(Headercontent is from the script of „Grundlagen: Rechnernetze und Verteilte Systeme“ in the SS 2013, TUM)
Type Code Checksum Identifier Sequence Number Data (optional)
IITM: Formal Methods: Header Space Analysis
9
IPv4-Header IPv6-Header MAC-Header ARP Request / Reply ICMP Echo Request / Reply, TTL Exceeded TCP- / UDP-Header
(Headercontent is from the script of „Grundlagen: Rechnernetze und Verteilte Systeme“ in the SS 2013, TUM)
Source Port Destination Port Sequence Number Acknowledgement Number Offset Reserved Window Checksum Urgent Pointer Options Source Port Destination Port Length Checksum
IITM: Formal Methods: Header Space Analysis
10
IITM: Formal Methods: Header Space Analysis
11
Headerspace
Point in Headerspace ℎ Networkspace
Point in Networkspace (ℎ, 𝑞)
00110010101010100101001010010010 00110010101010100101001010010010 12
IITM: Formal Methods: Header Space Analysis
12
Box Transfer Function 𝑈 ℎ, 𝑞 : ℎ, 𝑞 →
IITM: Formal Methods: Header Space Analysis
13
Box Transfer Function 𝑈 ℎ, 𝑞 : ℎ, 𝑞 →
Transform Subspace 𝑇 to another Subspace 𝑇∗
IITM: Formal Methods: Header Space Analysis
14
Box Transfer Function 𝑈 ℎ, 𝑞 : ℎ, 𝑞 →
Reversible: 𝑈−1
−𝟐
−𝟐
IITM: Formal Methods: Header Space Analysis
15
What must an IPv4-Router do? Rewrite source and destination Mac: 𝑈
𝑛𝑏𝑑( )
Decrement TTL:
Update checksum:
Forward packet :
𝑔𝑥𝑒
𝐽𝑄𝑤4 .
𝑔𝑥𝑒 𝑈 𝑑ℎ𝑙𝑡𝑣𝑛 𝑈 𝑢𝑢𝑚 𝑈 𝑛𝑏𝑑 .
IITM: Formal Methods: Header Space Analysis
16
Rewrite source and destination Mac: 𝑈
𝑛𝑏𝑑( )
Decrement TTL:
Update checksum:
Forward packet:
𝑔𝑥𝑒
𝐽𝑄𝑤4 .
𝑔𝑥𝑒 .
IITM: Formal Methods: Header Space Analysis
17
𝐽𝑄𝑤4 ℎ, 𝑞 =
IITM: Formal Methods: Header Space Analysis
18
Box Transfer Function 𝑈 ℎ, 𝑞 : ℎ, 𝑞 →
Network Transfer Function Ψ( )
1 ℎ, 𝑞 𝑗𝑔 𝑞 ∈ 𝑡𝑥𝑗𝑢𝑑ℎ1
𝑜 ℎ, 𝑞 𝑗𝑔 𝑞 ∈ 𝑡𝑥𝑗𝑢𝑑ℎ𝑜
Topology Transfer Function Γ
IITM: Formal Methods: Header Space Analysis
19
Multihop Packet Traversal
Position(s) of (h,p) after k steps:
IITM: Formal Methods: Header Space Analysis
20
“Can Host A talk to Host B?“ Wildcard expression ∈ 0, 1, 𝑦 𝑀
Send Wildcard header from A and check if it ever reaches B
IITM: Formal Methods: Header Space Analysis
21
Send Wildcard header from A and check if it ever reaches B
𝑜(Γ(𝑈 𝑜−1 … Γ 𝑈 1 ℎ, 𝑞
𝑏→𝑐 𝑞𝑏𝑢ℎ𝑡
IITM: Formal Methods: Header Space Analysis
22
Use 𝑈−1 and Γ−1 = Γ to get the original header
1 −1(Γ(… (𝑈 𝑜−1 −1 (Γ 𝑈 𝑜 −1 ℎ, 𝑐 … )
IITM: Formal Methods: Header Space Analysis
23
Worst Case: Single box:
Overall network:
𝑜(Γ(𝑈 𝑜−1 … Γ 𝑈 1 ℎ, 𝑞
𝑏→𝑐 𝑞𝑏𝑢ℎ𝑡
IITM: Formal Methods: Header Space Analysis
24
But: Linear Fragmentation Assumption:
𝑒 ∶ Diameter of Network 𝑆 ∶ Maximum number of forwarding rules
IITM: Formal Methods: Header Space Analysis
25
Which header can reach 𝑐 from 𝑏?
IITM: Formal Methods: Header Space Analysis
26
2 different paths
IITM: Formal Methods: Header Space Analysis
27
IITM: Formal Methods: Header Space Analysis
28
IITM: Formal Methods: Header Space Analysis
29
IITM: Formal Methods: Header Space Analysis
30
IITM: Formal Methods: Header Space Analysis
31
IITM: Formal Methods: Header Space Analysis
32
IITM: Formal Methods: Header Space Analysis
33
IITM: Formal Methods: Header Space Analysis
34
Kazemian P., Varghese G., McKeow N.: Header space analysis: static
Shuyuan Zhang, Sharad Malik, Rick McGeer: Verification of Compuer
IITM: Formal Methods: Header Space Analysis
35