Download presentation
Presentation is loading. Please wait.
Published byLeslie Glenn Modified over 9 years ago
1
Enabling Layer 2 Pathlet Tracing through Context Encoding in SDN Hui Zhang, Cristian Lumezanu, Junghwan Rhee, Nipun Arora, Qiang Xu, Guofei Jiang NEC Labs America
2
Path Tracing in SDN 1. Correctness: Trackdown the real path in the data plane 1. Correctness: Passively monitor the real packets 2. Scalability: Minimal operational, configuration cost 2
3
Challenges from Accuracy and Scalability Correctness vs. Complexity Scalability vs. Flexibility Complexity Correctness Configuratio n @controller Flow tables @switches Flexibility Scalability Probe packets Chosen paths Real packets Real paths VeriFlow ndb OFRewind 3 Anteater
4
Reducing Tracing Space Monitoring pathlets –# of pathlets is less than # of flows Tagging packets to differentiate pathlets –Precise calling context encoding (PCCE) is utilized 4
5
Precise Calling Context Encoding 1 1. for s in switches: PP[s] = calculatedPossiblePaths(s, A) 2. for s in switches: for l = in getIncomingEdges(s): if l is the first: continue else: PN[l] = PP[s] Sumner, William N., Yunhui Zheng, Dasarath Weeratunge, and Xiangyu Zhang. "Precise Calling Context Encoding." Software Engineering, IEEE Transactions on 38, no. 5 (2012): 1160-1177. A B C D E F G 1 1 2 2 2 4 1 +1 +2 5
6
Precise Calling Context Encoding 1 1. for s in switches: PP[s] = calculatedPossiblePaths(s, A) 2. for s in switches: for l = in getIncomingEdges(s): if l is the first: continue else: PN[l] = PP[s] 3. for p in DepthFirstSearchPaths(G): ID[p] = sum(PN[l] for l in p) Sumner, William N., Yunhui Zheng, Dasarath Weeratunge, and Xiangyu Zhang. "Precise Calling Context Encoding." Software Engineering, IEEE Transactions on 38, no. 5 (2012): 1160-1177. A B C D E F G 0 5 +1 +2
7
Precise Calling Context Encoding 1 1. for s in switches: PP[s] = calculatedPossiblePaths(s, A) 2. for s in switches: for l = in getIncomingEdges(s): if l is the first: continue else: PN[l] = PP[s] 3. for p in DepthFirstSearchPaths(G): ID[p] = sum(PN[l] for l in p) Sumner, William N., Yunhui Zheng, Dasarath Weeratunge, and Xiangyu Zhang. "Precise Calling Context Encoding." Software Engineering, IEEE Transactions on 38, no. 5 (2012): 1160-1177. A B C D E F G 1 5 +1 +2
8
Precise Calling Context Encoding 1 1. for s in switches: PP[s] = calculatedPossiblePaths(s, A) 2. for s in switches: for l = in getIncomingEdges(s): if l is the first: continue else: PN[l] = PP[s] 3. for p in DepthFirstSearchPaths(G): ID[p] = sum(PN[l] for l in p) Sumner, William N., Yunhui Zheng, Dasarath Weeratunge, and Xiangyu Zhang. "Precise Calling Context Encoding." Software Engineering, IEEE Transactions on 38, no. 5 (2012): 1160-1177. A B C D E F G 2 5 +1 +2
9
Precise Calling Context Encoding 1 1. for s in switches: PP[s] = calculatedPossiblePaths(s, A) 2. for s in switches: for l = in getIncomingEdges(s): if l is the first: continue else: PN[l] = PP[s] 3. for p in DepthFirstSearchPaths(G): ID[p] = sum(PN[l] for l in p) Sumner, William N., Yunhui Zheng, Dasarath Weeratunge, and Xiangyu Zhang. "Precise Calling Context Encoding." Software Engineering, IEEE Transactions on 38, no. 5 (2012): 1160-1177. A B C D E F G 3 5 +1 +2
10
Codebook of Path IDs IDsitepath 0GABDEG 2GABDFG 1GACDEG 3GACDFG … … … A B C D E F G +1 +2 6
11
Codebook of Path IDs IDdstpath 0GABDEG 2GABDFG 1GACDEG 3GACDFG 0BGEDB … … `ID` + `dst` can uniquely identify a path – as long as `ID`s can be imprinted into packets, the paths can be determined A B C D E F G +1 +2 B D E G 6
12
Tagging Flows with Path IDs Encoding path IDs –8bit ToS –16bit IPID –20bit flow label in IPv6 Enabling actions of ID = ID + X –Enumerate ingress ports and paths A B C D E F G +1 +2 7
13
Enabling actions of ID=ID+X Enumerate ingress ports and paths –Port with no path, e.g., port ‘a’ –Port with one path, e.g., port ‘b’ –Port with multiple paths, e.g., port ‘c’ switch path Y path Z path Xno path a b c flow table IP src …… IP ToS switch port action * port amod_nw_tos:ID(NULL) * …… * port b mod_nw_tos:ID(X ) * …… * port c mod_nw_tos:ID(Y ) u …… * port c mod_nw_tos:ID(Z ) v …… 8
14
Path Tracing System flow table IP src …… IP tos switc h port action * port cmod_nw_tos:1 0 …… flow table IP src …… IP tos switc h port action * port cmod_nw_tos:1 0 …… flow table IP src …… IP tos switc h port action * port cmod_nw_tos:1 0 …… PathletTracer IDsitepath 0GABDEG 2GABDFG 1GACDEG 3GACDFG 0BGEDB IDsitepath 0GABDEG 2GABDFG 1GACDEG 3GACDFG 0BGEDB IDsitepath 0GABDEG 2GABDFG 1GACDEG 3GACDFG 0BGEDB path ABDEG ABDFG ACDEG ACDFG GEDB OpenFlow Controller 9
15
Conclusions A scalable data-plane path tracing application for SDN networks –Accuracy: data plane tracing Tagging flows with path identifiers –Scalability: calling context encoding Tracing more than 2 K paths by re-using K bits in packet headers 10
16
Thank You! Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.