# 0516094 SDN-NFV Project 2 ## Part 1 ### 1. 2個 ![](https://i.imgur.com/3yY1ty9.png) ### 2. #### a. 第一個封包: ![](https://i.imgur.com/D36dqKP.png) ![](https://i.imgur.com/gXULQ3j.png) 第二個封包: ![](https://i.imgur.com/Rj1pKeB.png) ![](https://i.imgur.com/3nIiOFT.png) #### b. priority為10 ![](https://i.imgur.com/xASKv2V.png) ## Part 2 ### 1. `flows_s1-1_0516094.json`為當s1接收到來自port為1且是ARP封包時,會將封包從port 2送出去。 `flows_s1-2_0516094.json`為當s1接收到來自port為2且是ARP封包時,會將封包從port 1送出去。 因此安裝完這兩條flow rules後,h1即可成功arping到h2。 ![](https://i.imgur.com/tAwGamt.png) `flows_s1-3_0516094.json`為當s1接收到來自port為2且是IPv4封包時,會將封包從port 1送出去。 `flows_s1-4_0516094.json`為當s1接收到來自port為1且是IPv4封包時,會將封包從port 2送出去。 因此安裝完這兩條flow rules後,h1即可成功ping到h2。 ![](https://i.imgur.com/120DlZJ.png) ## Part 3 ![](https://i.imgur.com/aGrMUyg.png) 我先創造出上面的topology,接著安裝附檔裡的flow rules,並在mininet中執行`h1 arping h2`,可以發現CPU使用率為100%。 ![](https://i.imgur.com/piZ1qhT.png) broadcast storm:因為h1會先送出一個arp broadcast封包,switch A收到從h1來的封包後會broadcast到switch B與switch C,switch B收到從switch A來的封包會broadcast到switch C與h2,而switch C收到封包後會在broadcast到switch A 與 switch B,switch A 與 switch B收到封包後又會在broadcast,一直持續broadcast下去,最終就會導致broadcast storm。