雖然這篇tcp封包表頭鄉民發文沒有被收入到精華區:在tcp封包表頭這個話題中,我們另外找到其它相關的精選爆讚文章
在 tcp封包表頭產品中有2篇Facebook貼文,粉絲數超過2,850的網紅矽谷牛的耕田筆記,也在其Facebook貼文中提到, #SDN閒談 今天來簡單跟大家科普聊聊所謂的 SDN(Software-Defined Networks) 軟體定義網路的簡單概念,到底其代表什麼,以及在什麼情況下我們需要去理或使用它 SDN 一詞的發展最早可以追朔到 2008 年由 Nick 教授所發表的論文,該論文中設計了一種嶄新的網路協定...
tcp封包表頭 在 矽谷牛的耕田筆記 Facebook 的精選貼文
#SDN閒談
今天來簡單跟大家科普聊聊所謂的 SDN(Software-Defined Networks) 軟體定義網路的簡單概念,到底其代表什麼,以及在什麼情況下我們需要去理或使用它
SDN 一詞的發展最早可以追朔到 2008 年由 Nick 教授所發表的論文,該論文中設計了一種嶄新的網路協定,稱為 Openflow, 期望透過 Openflow 這種協定來定義該如何傳輸封包,簡單的說就是「看到什麼樣的內容/標頭,就做什麼事情」。
SDN 的重大核心概念就是透過「軟體」去「定義」你的「網路行為」,系統中會有一個控制器,該控制器透過一種集中化的方式以上帝視角去窺視整個網路拓墣,並基於此架構下去進行網路封包傳輸的設計,譬如「我想要讓符合特定規則的封包可以通過,請幫我設定網路裝置A,B,C,D 來符合我需求」
發展了多個年頭後, Openflow 實際使用上遇到瓶頸,對於純軟體概念來說, OpenFlow 可以使用,但是要將這個精神給套用到硬體交換機上來達到又快速,又彈性的功能時就會遇到挑戰,因此後續又有新的技術誕生,P4(Programming Protocol-Independent Packet Processors),透過這套技術漂亮的解決過往 Openflow 太過制式化的問題。
SDN 的領域中,也有很多的相關開源專案,從常見的 OpenVswitch, ONOS, OpenDaylight 到 Stratum, SONIC 等都從不同面向來搭建出這樣的網路架構
但是,我自己認為 SDN 就是一個精神,你可以談廣義的 SDN,也可以談狹義的 SDN,有些人會認為 2008 以後所談的概念與技術才有資格稱為 SDN,也有人認為只要我能夠用軟體去控制這些封包傳輸,我就是 SDN,譬如我自己寫一套軟體去大量控管多節點的 iptables 來實現多節點的防火牆設計。
這種情況下,說是「軟體定義網路」也通,只是要如何解讀就是每個人信仰的不同罷了,其實沒有必要爭論誰才是正統,
SDN 就如同 DevOps, CI/CD 等概念一樣,都有一個參考的文化與概念,但是並沒有一定的實作方式,結果論來說就是,整個網路架構如何打造,對於開發者,對於維運者如何使用而已。
從我自己的角度出發,去看待這個產業反而最大的一個議題是,要同時找到會寫程式也有網路概念的人真的很難。
過往仰賴廠商解決方案的人,可能非常熟稔各自的操作模式,譬如各式各樣的 CLI 操作介面。
然而當這一切生態系被打破時,任何人都能夠透過撰寫程式來控管,用你習慣的程式語言來控制整個網路功能,譬如決定什麼樣的封包從哪個網孔出去,修改什麼樣標頭內容,又或是要如何解讀這些封包。要同時擁有寫程式以及網路概念就變得非常困難。
這邊的網路並不是單純大家熟悉的 TCP/IP 而已,實際上有非常多的概念與面向,譬如 Segment Routing, BGP/OSPF, VXLAN/GRE/GTP, VLAN/QINQ, MLAG/Bonding,甚至更複雜的 Broadband (OLT, ONU..), Mobile Core (LTE/5G)... 等
如果你對於 SDN 這個概念有興趣,非常推薦由 Open Networking Foundation (開放網路基金會) CTO 與他人一同撰寫的電子書,從系統化的角度帶你認識 SDN 的發展,從過去到未來
https://sdn.systemsapproach.org/index.html
tcp封包表頭 在 OSSLab Geek Lab Facebook 的最佳解答
摘錄幾位大大在SDNDS.TW 社團的討論
Infiniband, RoCE v1/v2, iWARP
1.交換機一定要有PFC才能跑RoCE, 因為封包的表頭帶有(pr
iority) 欄位, 沒有的話RoCE並不會動作
2.L2為範例,看到並且處理的就是 ethernet header,這裡面本身並沒有 priority 的欄位可以用。
所以 RoCE (L2) 本身也可以使用其他的方式來達到 flow control 的效果。
3.採用 PFC 則會使用 vlan 裡面的 priority 欄位作為一個辨識的方法,來達到更細一步的 flow control。
4.在 mellanox RoCE with PCF 的範例中, switch 跟 server 端都要上 vlan,同時 server 端的封包在送出去前還要再 vlan header內上 priority ,這樣 switch 才會看到此 vlan + priority 來進行 PCF 的後續處理。
5.http://www.mellanox.com/page/software_vma?mtag=vma
此為繞過Linux kenrel 通訊方式.TCP/IP先天就不是高速傳輸協議
結論
1.10GbE switch要有支持PFC 和 DCBX
2.Mellanox用的協議有很多:ipoverib ,srpt 等.
但為了整體相容性狀況跟效能可能最建議的為ROCE , 所有linux 端安裝好VMA
像3par ,exdata 這種儲存設備 就是在於node與node之間通訊超低延遲多點.