Tes$ng ¡Stateful ¡and ¡Dynamic ¡ ¡ Data ¡Planes ¡with ¡FlowTest ¡ ¡ Seyed ¡K. ¡Fayaz, ¡Vyas ¡Sekar ¡
Mo$va$ng ¡Scenario ¡ 1) ¡Keep ¡count ¡of ¡TCP ¡connec$ons ¡per ¡host. ¡ Policy ¡ 2) ¡Deep ¡packet ¡inspec$on ¡if ¡a ¡host ¡has ¡made ¡ ¡ ¡ ¡ ¡ ¡ ¡too ¡many ¡TCP ¡connec$on ¡aKempts. ¡ Light ¡ Heavy ¡ IPS ¡ IPS ¡ H 1 ¡ Internet ¡ S 1 ¡ S 2 ¡ H 2 ¡ How ¡to ¡make ¡sure ¡this ¡policy ¡is ¡correctly ¡implemented ¡ ¡ in ¡the ¡actual ¡network? ¡ 2 ¡
Exis$ng ¡solu$ons ¡don’t ¡suffice ¡ • Assume ¡ simple, ¡stateless ¡ elements ¡ – E.g., ¡switches ¡and ¡simple ¡ACL ¡devices ¡ • Work ¡with ¡ sta+c ¡and ¡context-‑free ¡ policies ¡ – E.g., ¡reachability ¡ – E.g., ¡access ¡control ¡ • Focus ¡on ¡ single ¡packet ¡ effects ¡ 3 ¡
Our ¡Approach: ¡FlowTest ¡ • FlowTest’s ¡approach: ¡ tes+ng ¡the ¡data ¡plane ¡ ¡ • We ¡need: ¡ – A ¡ model ¡of ¡the ¡en+re ¡data ¡plane ¡ • Including ¡middleboxes ¡ – To ¡generate ¡ test ¡scenarios ¡ that ¡exercise ¡ • Data ¡plane ¡states ¡ • Policy ¡contexts ¡ – To ¡ monitor ¡ and ¡ validate ¡ test ¡results ¡ 4 ¡
Early ¡Promise ¡ Light ¡ Heavy ¡ IPS ¡ IPS ¡ H 1 ¡ Internet ¡ H 2 ¡ S 1 ¡ S 2 ¡ Heavy ¡IPS ¡ Light ¡IPS ¡ seen ¡non-‑bot ¡traffic ¡ OK ¡ seen ¡bot ¡traffic ¡ conn ¡fail ¡ conn ¡fail ¡ conn ¡fail ¡ count=0 ¡ count=1 ¡ count=2 ¡ count≥3 ¡ refresh ¡ refresh ¡ refresh ¡ Alarm ¡ Genera$ng ¡test ¡traffic ¡can ¡be ¡formulated ¡using ¡ AI ¡planning . ¡ ¡ We ¡validated ¡our ¡solu$on ¡using ¡an ¡SDN ¡prototype. ¡ ¡ 5 ¡
Conclusions ¡ • Real ¡world ¡networks ¡are ¡complex ¡ – Stateful ¡elements ¡ – Dynamic ¡and ¡contextual ¡policies ¡ ¡ • We ¡argue ¡for ¡tes$ng ¡data ¡planes ¡that ¡incorporates ¡ data ¡plane ¡models ¡ • Ini$al ¡promise ¡of ¡FlowTest ¡via ¡FSMs ¡and ¡planning ¡ • Many ¡open ¡challenges ¡ ¡ 6 ¡
Recommend
More recommend