Header Space Analysis Hauptseminar: Innovative Internettechnologien - - PowerPoint PPT Presentation

header space analysis
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Lehrstuhl Netzarchitekturen und Netzdienste

Institut für Informatik Technische Universität München

Formal Methods: Header Space Analysis

Hauptseminar: Innovative Internettechnologien und Mobilkommunikation Benedikt Jaeger 23.5.2014

slide-2
SLIDE 2

IITM: Formal Methods: Header Space Analysis

2

Content

 Header in Messages

  • Composition of Messages
  • Different header

 Header Space Analysis

  • Headerspace, Networkspace
  • Transfer functions
  • Reachability
  • Example
slide-3
SLIDE 3

IITM: Formal Methods: Header Space Analysis

3

Composition of Messages

 Header :

information about the packet

 Payload :

actual Data

Header Payload

slide-4
SLIDE 4

IITM: Formal Methods: Header Space Analysis

4

Header

 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)

slide-5
SLIDE 5

IITM: Formal Methods: Header Space Analysis

5

Header

 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

slide-6
SLIDE 6

IITM: Formal Methods: Header Space Analysis

6

Header

 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

slide-7
SLIDE 7

IITM: Formal Methods: Header Space Analysis

7

Header

 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

  • P. Addr. Length

Operation Sender Hardware Address Sender Hardware Address Sender Protocol Address Sender Protocol Address Target Hardware Address Target Hardware Address Target Protocol Address

slide-8
SLIDE 8

IITM: Formal Methods: Header Space Analysis

8

Header

 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)

slide-9
SLIDE 9

IITM: Formal Methods: Header Space Analysis

9

Header

 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

slide-10
SLIDE 10

IITM: Formal Methods: Header Space Analysis

10

Header Space Analysis

Represent reality in a model Reality Model Router, switch, NAT, firewall, … Middlebox (or simply switch) Packet Headerbits Position in Network Unique Ports

slide-11
SLIDE 11

IITM: Formal Methods: Header Space Analysis

11

Header Space Analysis

 Headerspace

𝐼 ⊆ 0,1 𝑀

 Point in Headerspace ℎ  Networkspace

𝑂 ⊆ 0,1 𝑀 × 0, … , 𝑄

 Point in Networkspace (ℎ, 𝑞)

00110010101010100101001010010010 00110010101010100101001010010010 12

slide-12
SLIDE 12

IITM: Formal Methods: Header Space Analysis

12

Header Space Analysis

 Box Transfer Function 𝑈 ℎ, 𝑞 : ℎ, 𝑞 →

ℎ1, 𝑞1 , ℎ2, 𝑞2 , …

𝐂𝐩𝐲 𝑼𝒔𝒃𝒐𝒕𝒈𝒇𝒔 𝑮𝒗𝒐𝒅𝒖𝒋𝒑𝒐 𝑼𝑺 𝒊 𝒒 𝑼(𝒊, 𝒒) 1001xxxx 𝑆1 { ℎ, 𝑆2 } 1011xxxx 𝑆2 { ℎ, 𝑆1 } 1111xxxx 𝑆1 { ℎ, 𝑆2 , ℎ, 𝑆3 } … … …

slide-13
SLIDE 13

IITM: Formal Methods: Header Space Analysis

13

Header Space Analysis

 Box Transfer Function 𝑈 ℎ, 𝑞 : ℎ, 𝑞 →

ℎ1, 𝑞1 , ℎ2, 𝑞2 , …

 Transform Subspace 𝑇 to another Subspace 𝑇∗

𝑼𝟐 𝑼𝟑

slide-14
SLIDE 14

IITM: Formal Methods: Header Space Analysis

14

Header Space Analysis

 Box Transfer Function 𝑈 ℎ, 𝑞 : ℎ, 𝑞 →

ℎ1, 𝑞1 , ℎ2, 𝑞2 , …

 Reversible: 𝑈−1

𝑼𝟐

−𝟐

𝑼𝟑

−𝟐

slide-15
SLIDE 15

IITM: Formal Methods: Header Space Analysis

15

Example: IPv4-Router

 What must an IPv4-Router do?  Rewrite source and destination Mac: 𝑈

𝑛𝑏𝑑( )

 Decrement TTL:

𝑈𝑢𝑢𝑚( )

 Update checksum:

𝑈𝑑ℎ𝑙𝑡𝑣𝑛( )

 Forward packet :

𝑈

𝑔𝑥𝑒

𝑈

𝐽𝑄𝑤4 .

= 𝑈

𝑔𝑥𝑒 𝑈 𝑑ℎ𝑙𝑡𝑣𝑛 𝑈 𝑢𝑢𝑚 𝑈 𝑛𝑏𝑑 .

slide-16
SLIDE 16

IITM: Formal Methods: Header Space Analysis

16

Example: IPv4-Router

 Rewrite source and destination Mac: 𝑈

𝑛𝑏𝑑( )

ignored

 Decrement TTL:

𝑈𝑢𝑢𝑚( ) ignored

 Update checksum:

𝑈𝑑ℎ𝑙𝑡𝑣𝑛( ) ignored

 Forward packet:

𝑈

𝑔𝑥𝑒

𝑈

𝐽𝑄𝑤4 .

= 𝑈

𝑔𝑥𝑒 .

slide-17
SLIDE 17

IITM: Formal Methods: Header Space Analysis

17

Example: IPv4-Router 𝑈

𝐽𝑄𝑤4 ℎ, 𝑞 =

ℎ, 𝑞1 𝑗𝑔 𝑗𝑞_𝑒𝑡𝑢(ℎ) ∈ 𝑇1 ℎ, 𝑞2 𝑗𝑔 𝑗𝑞_𝑒𝑡𝑢(ℎ) ∈ 𝑇2 ℎ, 𝑞3 𝑗𝑔 𝑗𝑞_𝑒𝑡𝑢(ℎ) ∈ 𝑇3 𝑝𝑢ℎ𝑓𝑠𝑥𝑗𝑡𝑓 𝑺𝑱𝑸𝒘𝟓 𝑻𝟐 𝑻𝟑 𝑻𝟒 𝒒𝟒 𝒒𝟑 𝒒𝟐

slide-18
SLIDE 18

IITM: Formal Methods: Header Space Analysis

18

Header Space Analysis

 Box Transfer Function 𝑈 ℎ, 𝑞 : ℎ, 𝑞 →

ℎ1, 𝑞1 , ℎ2, 𝑞2 , …

 Network Transfer Function Ψ( )

Ψ ℎ, 𝑞 = 𝑈

1 ℎ, 𝑞 𝑗𝑔 𝑞 ∈ 𝑡𝑥𝑗𝑢𝑑ℎ1

… … 𝑈

𝑜 ℎ, 𝑞 𝑗𝑔 𝑞 ∈ 𝑡𝑥𝑗𝑢𝑑ℎ𝑜

 Topology Transfer Function Γ

Γ ℎ, 𝑞 = (ℎ, 𝑞∗) 𝑗𝑔 𝑞 𝑑𝑝𝑜𝑜𝑓𝑑𝑢𝑓𝑒 𝑢𝑝 𝑞∗ {} 𝑗𝑔 𝑞 𝑗𝑡 𝑜𝑝𝑢 𝑑𝑝𝑜𝑜𝑓𝑑𝑢𝑓𝑒

slide-19
SLIDE 19

IITM: Formal Methods: Header Space Analysis

19

Header Space Analysis

 Multihop Packet Traversal

Φ . = Ψ(Γ(.))

 Position(s) of (h,p) after k steps:

Φ𝑙(ℎ, 𝑞) = Ψ(Γ(… (Ψ Γ ℎ, 𝑞 … = ℎ1, 𝑞1 , …

slide-20
SLIDE 20

IITM: Formal Methods: Header Space Analysis

20

Reachability

 “Can Host A talk to Host B?“  Wildcard expression ∈ 0, 1, 𝑦 𝑀

  • E. g. 1001xxxx like 192.168.x.x

 Send Wildcard header from A and check if it ever reaches B

𝑩 𝑪 …

𝒚𝒚𝒚𝒚𝒚𝒚𝒚𝒚

slide-21
SLIDE 21

IITM: Formal Methods: Header Space Analysis

21

Reachability

 Send Wildcard header from A and check if it ever reaches B

𝑏 → 𝑇1 → … → 𝑇𝑜−1 → 𝑇𝑜 → 𝑐 𝑆𝑏→𝑐 = {𝑈

𝑜(Γ(𝑈 𝑜−1 … Γ 𝑈 1 ℎ, 𝑞

… }

𝑏→𝑐 𝑞𝑏𝑢ℎ𝑡

𝑩 𝑪 …

𝒚𝒚𝒚𝒚𝒚𝒚𝒚𝒚 {𝟐𝟏𝟏𝟐𝟏𝒚𝟐𝟏, 𝟏𝟐𝟏𝟐𝟐𝒚𝟐𝟏}

slide-22
SLIDE 22

IITM: Formal Methods: Header Space Analysis

22

Reachability

 Use 𝑈−1 and Γ−1 = Γ to get the original header

ℎ𝑏 = 𝑈

1 −1(Γ(… (𝑈 𝑜−1 −1 (Γ 𝑈 𝑜 −1 ℎ, 𝑐 … )

𝑩 𝑪 …

𝒚𝒚𝒚𝒚𝒚𝒚𝒚𝒚 {𝟐𝟏𝟏𝟐𝟏𝒚𝟐𝟏, 𝟏𝟐𝟏𝟐𝟐𝒚𝟐𝟏} {𝟐𝟏𝟏𝟐𝟏𝒚𝟐𝟏, 𝟐𝟏𝟏𝟐𝟐𝒚𝟐𝟏}

slide-23
SLIDE 23

IITM: Formal Methods: Header Space Analysis

23

Complexity

 Worst Case:  Single box:

𝑃 𝑆1𝑆2

  • 𝑆1: Number of wildcard expressions
  • 𝑆2: Number of rules of Transfer function

 Overall network:

𝑃 𝑆1𝑆2 … 𝑆𝑜 = 𝑃 𝑆𝑒

  • 𝑒 ∶ Diameter of Network
  • 𝑆 ∶ Maximum number of forwarding rules

𝑆𝑏→𝑐 = {𝑈

𝑜(Γ(𝑈 𝑜−1 … Γ 𝑈 1 ℎ, 𝑞

… }

𝑏→𝑐 𝑞𝑏𝑢ℎ𝑡

slide-24
SLIDE 24

IITM: Formal Methods: Header Space Analysis

24

Complexity

 But: Linear Fragmentation Assumption:

  • Not 𝑆1𝑆2 only 𝑑𝑆1 and 𝑑 ≪ 𝑆2

𝑒 ∗ 𝑃 𝑆2 = 𝑃(𝑒𝑆2)

 𝑒 ∶ Diameter of Network  𝑆 ∶ Maximum number of forwarding rules

slide-25
SLIDE 25

IITM: Formal Methods: Header Space Analysis

25

Reachability Example

 Which header can reach 𝑐 from 𝑏?

𝒃 𝑩 𝑪 𝑫 𝑬 𝒄

slide-26
SLIDE 26

IITM: Formal Methods: Header Space Analysis

26

Reachability Example

 2 different paths

𝒃 𝑩 𝑪 𝑫 𝑬 𝒄

𝑩𝟏 𝑩𝟐 𝑩𝟑 𝑪𝟏 𝑪𝟐 𝑫𝟏 𝑫𝟐 𝑬𝟏 𝑬𝟐 𝑬𝟑

slide-27
SLIDE 27

IITM: Formal Methods: Header Space Analysis

27

Reachability Example 𝒃 𝑩 𝑪 𝑬 𝒄

𝑩𝟏 𝑩𝟐 𝑪𝟏 𝑪𝟐 𝑫𝟏 𝑫𝟐 𝑬𝟏 𝑬𝟐 𝑼𝑩 𝒊, 𝒒 = 𝒊, 𝑩𝟏 𝒋𝒈 𝒊 = 𝟐𝟏𝟏𝟐𝒚𝒚𝒚𝒚 𝒊, 𝑩𝟐 𝒋𝒈 𝒊 = 𝟐𝟏𝟐𝟏𝒚𝒚𝒚𝒚 𝒊, 𝑩𝟑 𝒋𝒈 𝒊 = 𝟐𝟐𝟏𝟏𝒚𝒚𝒚𝒚

𝒚𝒚𝒚𝒚 𝒚𝒚𝒚𝒚 𝟐𝟏𝟐𝟏 𝒚𝒚𝒚𝒚

slide-28
SLIDE 28

IITM: Formal Methods: Header Space Analysis

28

Reachability Example 𝒃 𝑩 𝑪 𝑬 𝒄

𝑩𝟏 𝑩𝟐 𝑪𝟏 𝑪𝟐 𝑫𝟏 𝑫𝟐 𝑬𝟏 𝑬𝟐 𝑼𝑪 𝒊, 𝒒 = 𝒊, 𝑪𝟐 𝒋𝒈 𝒊 = 𝟐𝟏𝒚𝒚𝒚𝒚𝟏𝟐 𝒊, 𝑪𝟏 𝒋𝒈 𝒊 = 𝟐𝟏𝒚𝒚𝒚𝒚𝟏𝟏

𝒚𝒚𝒚𝒚 𝒚𝒚𝒚𝒚 𝟐𝟏𝟐𝟏 𝒚𝒚𝒚𝒚 𝟐𝟏𝟐𝟏 𝒚𝒚𝟏𝟐

slide-29
SLIDE 29

IITM: Formal Methods: Header Space Analysis

29

Reachability Example 𝒃 𝑩 𝑪 𝑬 𝒄

𝑩𝟏 𝑩𝟐 𝑪𝟏 𝑪𝟐 𝑫𝟏 𝑫𝟐 𝑬𝟏 𝑬𝟐 𝑼𝑬 𝒊, 𝒒 = 𝒊, 𝑬𝟏 𝒋𝒈 𝒊 = 𝒚𝒚𝒚𝒚𝟐𝒚𝒚𝒚 𝒊, 𝑬𝟐 𝒋𝒈 𝒊 = 𝒚𝒚𝒚𝒚𝟏𝒚𝒚𝒚

𝒚𝒚𝒚𝒚 𝒚𝒚𝒚𝒚 𝟐𝟏𝟐𝟏 𝒚𝒚𝒚𝒚 𝟐𝟏𝟐𝟏 𝒚𝒚𝟏𝟐 𝟐𝟏𝟐𝟏 𝟏𝒚𝟏𝟐

slide-30
SLIDE 30

IITM: Formal Methods: Header Space Analysis

30

𝒃 𝑩 𝑫 𝑬 𝒄

𝑩𝟏 𝑩𝟑 𝑫𝟏 𝑫𝟐 𝑬𝟐 𝑬𝟑

Reachability Example

𝑼𝑩 𝒊, 𝒒 = 𝒊, 𝑩𝟏 𝒋𝒈 𝒊 = 𝟐𝟏𝟏𝟐𝒚𝒚𝒚𝒚 𝒊, 𝑩𝟐 𝒋𝒈 𝒊 = 𝟐𝟏𝟐𝟏𝒚𝒚𝒚𝒚 𝒊, 𝑩𝟑 𝒋𝒈 𝒊 = 𝟐𝟐𝟏𝟏𝒚𝒚𝒚𝒚

𝒚𝒚𝒚𝒚 𝒚𝒚𝒚𝒚 𝟐𝟐𝟏𝟏 𝒚𝒚𝒚𝒚

slide-31
SLIDE 31

IITM: Formal Methods: Header Space Analysis

31

𝒃 𝑩 𝑫 𝑬 𝒄

𝑩𝟏 𝑩𝟑 𝑫𝟏 𝑫𝟐 𝑬𝟐 𝑬𝟑

Reachability Example

𝑼𝑫 𝒊, 𝒒 = 𝒊&𝟏𝟏𝟏𝟏𝟐𝟐𝟐𝟐 𝟏𝟏𝟐𝟐𝟏𝟏𝟏𝟏, 𝑫𝟐 𝒋𝒈 𝒊 = 𝟐𝟐𝟏𝟏𝒚𝒚𝒚𝒚 𝒊&𝟏𝟏𝟏𝟏𝟐𝟐𝟐𝟐 𝟐𝟐𝟏𝟏𝟏𝟏𝟏𝟏, 𝑫𝟏 𝒋𝒈 𝒊 = 𝟏𝟏𝟐𝟐𝒚𝒚𝒚𝒚

𝒚𝒚𝒚𝒚 𝒚𝒚𝒚𝒚 𝟐𝟐𝟏𝟏 𝒚𝒚𝒚𝒚 𝟏𝟏𝟐𝟐 𝒚𝒚𝒚𝒚

slide-32
SLIDE 32

IITM: Formal Methods: Header Space Analysis

32

𝒃 𝑩 𝑫 𝑬 𝒄

𝑩𝟏 𝑩𝟑 𝑫𝟏 𝑫𝟐 𝑬𝟐 𝑬𝟑

Reachability Example 𝒚𝒚𝒚𝒚 𝒚𝒚𝒚𝒚 𝟐𝟐𝟏𝟏 𝒚𝒚𝒚𝒚 𝟏𝟏𝟐𝟐 𝒚𝒚𝒚𝒚 𝟏𝟏𝟐𝟐 𝟏𝒚𝒚𝒚

𝑼𝑬 𝒊, 𝒒 = 𝒊, 𝑬𝟏 𝒋𝒈 𝒊 = 𝒚𝒚𝒚𝒚𝟐𝒚𝒚𝒚 𝒊, 𝑬𝟐 𝒋𝒈 𝒊 = 𝒚𝒚𝒚𝒚𝟏𝒚𝒚𝒚

slide-33
SLIDE 33

IITM: Formal Methods: Header Space Analysis

33

Reachability Example 𝒃 𝑩 𝑪 𝑫 𝑬 𝒄

𝑩𝟏 𝑩𝟐 𝑩𝟑 𝑪𝟏 𝑪𝟐 𝑫𝟏 𝑫𝟐 𝑬𝟏 𝑬𝟐 𝑬𝟑

𝟐𝟏𝟐𝟏 𝟏𝒚𝟏𝟐 𝟏𝟏𝟐𝟐 𝟏𝒚𝒚𝒚 𝟐𝟏𝟐𝟏 𝟏𝒚𝟏𝟐 𝟐𝟐𝟏𝟏 𝟏𝒚𝒚𝒚

slide-34
SLIDE 34

IITM: Formal Methods: Header Space Analysis

34

Sources

 Kazemian P., Varghese G., McKeow N.: Header space analysis: static

checking for networks. In: Proceedings of the 9th USENIX Conference

  • n Networked Systems Design and Implementation, USENIX

Association, 2012

 Shuyuan Zhang, Sharad Malik, Rick McGeer: Verification of Compuer

Switching Networks: An Overview. In Automated Technology for Verification and Analysis, Springer-Verlag, 2012

slide-35
SLIDE 35

IITM: Formal Methods: Header Space Analysis

35

Thank you for your attention