跳到主要內容

[SDN]Computer Networks課後筆記-Software Defined Networking初識

這篇文章筆記在今天交大林盈達老師Computer Networks課程介紹的SDN概念,新手入門歡迎各位多多指教~

正文開始

  1. 傳統的Router提供
    實體層(Physical Layer):
    介質(Medium)連接、Coding(Source/Channel/Line)、Modulation、Multiplexing...
    鏈結層(Link Layer,Node-to-Node,single hop):
    Framing、Addressing(MAC Address)、CRC Error Control、Flow Control...
    網際網路協定協定層(IP Layer,Host-to-Host,multi hop):
    Data plane(IPv4、IPv6)、Control Plane(Routing、ARP、DHCP、ICMP、multicasting)
    共三層的服務,將封包路由(routing)到目的地。
    其中Control Plane就像是人的腦袋,Data plane就像是人的身體。
  2. SDN就是把Router的腦袋都砍下來,把它們放到cloud上的Virtual Machine去run,讓Router只留下最基本的功能。
  3. 放到雲端run的好處(發展SDN的好處):
    A.需要的physical machine少於砍下來的腦袋
    B.根據排隊理論(Queueing Theory,應該是裏頭的Little's law),large resource比split resource的response time好
    C.Cisco Router硬體成本僅售價的10%,價值來自上面的軟體,使用SDN可以不用透過update frimare方式更新軟體(須重啟router),透過VM Handover即可切換
    D.Computing Power不在受限於Router的處理器速度,SDN App可以做些創新的功能
  4. 關於SDN Application
    A.執行於cloud上的VM內
    B.與手機APP的比較,手機APP是一次性下載,執行於使用者裝置上,而SDN APP是租借方式,需要持續付錢租借VM來執行APP
  5. 一個很重要的問題:SDN router與cloud的距離是否太遠?
    是!!即使Google全球也只有14個Data Center,SDN的需求要延遲delay在200 ms內
    So, Who can play the game? Local Operator(中華電信、台灣固網、AT&T)
    A.因為他們有local exchanger(在新竹就有3個)
    B.AT&T目前有SOP讓local exchanger提供SDN服務
  6. SDN是NaaS(Network as a Service)
  7. OpenFlow是control plane與data plane之間的protocol,目的是要連接被砍頭router的property API
  8. 關於SDN架構
    Northbound API (Application Programming Interface):不會只有一個,但是也不需要有十個以上,會像是手機OS發展情況,兩大陣營Android與iOS
    Controller:目前兩個主要的controller是較成熟的OpenDayLight,由思科、英特爾、IBM等IT大廠支援與Open Source的ONOS
    圖片來源: The Northbound API- A Big Little Problem
  9. 結論:
    A.Cisco目前有60%的收入還是來自銷售enterprise switch等硬體,未來SDN將reorganize ICT產業
    B.未來的趨勢是fragmented market,不論在IoT還是SDN
    C.電信商很保守,都是設備商做好去安裝提供服務
    D.目前在router上大約有50個應用,未來到SDN上可以有100個,App Matrix共100*5個空位,10年後將被填滿
    E.我覺得這是一場雲端、網路、IoT的大戰

留言

這個網誌中的熱門文章

[Qt][Embedded][PXA270]
Porting Qt 4.8.6 for Creator XScale PXA270

這篇文章介紹這學期我在嵌入式作業系統課程,使用Creator XScale PXA270板子的一些學習筆記與製作final project的一些過程,歡迎各位多多指教~ 背景介紹 Creator XScale PXA270開發版是一塊由 新華電腦(microtime) 公司出品的 模組化XScale/ARM/SoC/FPGA/DSP嵌入式行動通訊發展平台 ,在此課程與final project主要使用的是"Create XScale‐PXA270 子板"與"MTLCD‐0708048 LCD Module",在Create XScale‐PXA270子板上的為Intel(現在已出售給Marvell)的 Xscale系列 PXA270 處理器,基於ARMv5TE架構指令集,在旁附有SDRAM Memory 64MB、Flash Memory 32MB、SD Card Connectors、RJ45 10/100 Base‐T Ethernet Interface、USB 1.1 Device/Host Port各一、AC97 Audio Codec(Line_in、Mic_in、Headphone)、ADC Interface*4、PWM Interface、CMOS Camera Interface、TFT-LCD Interface、GPIO Interface...等;在軟體功能部分,由新華科技提供了GNU GCC cross compiler toolchain(arm-unknown-linux-gnu-gcc 4.0.2)、Uboot 1.1.5、Linux Kernel 2.6.15.3與patch(提供支援子板上的Ethernet、USB Host、TFT‐LCD(Frame buffer、Touch Screen)、AC97‐Codec...等與母板LED、7‐Seg LED、Key Pad...等的device driver)、rootfs,相關的實驗環境設定可以參考 User Guide 。 看到以上這麼多的軟硬體介面,別以為這板子有多強,其實這是 2006 年 ASUS P535 手機使用的規格了,不禁讓人感嘆科技進步之快阿~ 在此附上開發版本尊 Qt 是自由且開放原始碼的跨平台C...

Run Android VTS with Android R emulator through WSL

Background Android VTS The Android Vendor Test Suite (VTS) provides extensive new functionality for Android testing and promotes a test-driven development process. Android R emulator Run the latest Android R image from Google CI build artifacts WSL WSL is a collection of components that enables native Linux ELF64 binaries to run on Windows . It contains both user mode and kernel mode components. It is primarily comprised of: User mode session manager service that handles the Linux instance life cycle Pico provider drivers (lxss.sys, lxcore.sys) that emulate a Linux kernel by translating Linux syscalls Pico processes that host the unmodified user mode Linux (e.g. /bin/bash) It is the space between the user mode Linux binaries and the Windows kernel components where the magic happens. By placing unmodified Linux binaries in Pico processes we enable Linux system calls to be directed into the Windows kernel. The lxss.sys and lxcore.sys drivers translate the Linux s...

[Arduino]Inside Arduino: Andes Andino M1

這篇文章記錄了最近探索Arduino與 台灣晶心科技Andes出的Andino M1('Andino'沒打錯!!他真的叫這名字)相容Arduino的IoT板子 的一些hacking與紀錄,歡迎各位多多指教~ 先來看看本尊 是的就是它!!小小一片 吐槽一下,在下圖看到橘框處竟然看到ARM Cortex-M3,不過在這邊這顆ARM似乎只拿來處理介面轉換,不然就都用這顆ARM應該效能更好? XDD 下載與安裝Arduino IDE 請到官網下載Arduino IDE https://www.arduino.cc/en/Main/Software?setlang=en 如果是使用Andes Andino M1,請務必下載Windows平台的 因為目前board support package只支援windows版... Arduino Board Manger 下載安裝好之後,接下來是加入Andes Andino M1的board support到Arduino 這邊有一個很重要的雷點!!!就是 Editor language務必要設為English ( 紅框處 ,預設使用Windows系統預設語言),否則在開啟Board Manger時會出現java.lang.RuntimeException: java.lang.IllegalArgumentException: Unmatched braces in the pattern.的錯誤訊息 在Additional Board Manger URLs中,輸入(橘框處): http://knect.me/andino/M1/package_Andino_knectme_index.json 然後按OK,到board manger按instasll安裝(點紅框處會出現按鈕): 安裝成功後,會看到有Andino M1可選(紫框處) 關於package_Andino_knectme_index.json的原理,我們可以看到在這個json檔案內,定義了platform與tools的資訊,Arduino會在開啟Board Manger時,去下載讀取所有使用者額外新增的json網址,然後在按下安裝時去下載於該檔內定義的toolchain,這...