FD.io VPP 技術Neutron VNF vRouter 實現


OpenStack Neutron中主要有三種網絡設備,路由器(Router),負載均衡器(LB)以及VPN,其中Router作為基礎網絡設備起到連接子網到子網、內網到外網的作用。不同子網之間的訪問完全是由路由功能實現的,而內外網之間訪問使用的是SNATDNAT技術。

 

作為NFV的底層技術FD.io VPP已經包含了路由功能,因此要想以VNF的形式實現Neutron中的vRouter,就必須解決內外網之間訪問的問題。其中內網訪問外網是通過SANT技術,其數據流信息如下:

 

 

當內網用戶發起外網訪問時,其數據包攜帶out2in信息到達RouterRouter只需根據SNAT策略為其生成in2out信息與out2in信息的對應關系並將其記錄在session表中,並將數據包攜帶的out2in信息改成in2out信息發送出去即可。當外網服務器收到Router發送的數據包后生成應答,應答數據包攜帶in2out信息到達Router后,Router根據之前session表中的記錄找到out2in信息與in2out信息對應關系,並將數據包攜帶的in2out信息改成out2in信息發送出去即可。

 

而外網訪問內網是通過DANT技術,其數據流信息如下:

 

 

當外網用戶發起內網訪問時,其數據包攜帶in2out信息到達RouterRouter只需根據DNAT策略為其生成in2out信息與out2in信息的對應關系並將其記錄在session表中,並將數據包攜帶的in2out信息改成out2in信息發送出去即可。當內網服務器收到Router發送的數據包后生成應答,應答數據包攜帶out2in信息到達Router后,Router根據之前session表中的記錄找到out2in信息與in2out信息對應關系,並將數據包攜帶的out2in信息改成in2out信息發送出去即可。

 

對於ICMP Request Response消息來說由於其沒有port信息,可以用ICMP數據包中的id信息充當port信息;而對於ICMP差錯報文來說,例如ICMP不可到達報文,可以從ICMP的消息體中解析出相應的out2in或者in2out信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM