我們是如何實現邊緣計算與網絡動態加速的?
我們在許多城市運營商的機房(節點)提供計算和存儲資源,並利用動態加速技術來優化節點之間的傳輸網絡,並搭建了一個機房、服務器層面的邊緣計算平臺(UODN)。這種方式適用於數據源能夠在各地存儲或運算、且較為依賴網絡傳輸的業務,例如網絡音視頻教育、醫療數據分析等。
在實現上,邊緣計算平臺與動態加速網絡也依賴了路由、DNS等一些基礎服務,幾個產品之間的關系如下圖:
從上至下,邊緣計算平臺由分布在各個城市、運營商的節點組成,節點間物理網絡可以互通。如果需要在網絡進一步優化,則依賴動態加速網絡,而動態加速網絡的實現除了加速服務器本身以外,還需要路由服務、DNS服務來提供路由和域名解析等數據。另外,路由和DNS也為CDN、直播平臺提供基礎服務。
那麽,邊緣計算、動態加速、路由/DNS這些關鍵服務又是如何實現的呢?首先,我們來看看邊緣計算。
邊緣計算
邊緣計算的核心理念是將數據的存儲、傳輸、計算和安全交給邊緣節點來處理。邊緣計算並非是讓終端自己負責所有計算,而是在離終端更近的地方部署邊緣平臺,終端與之通信可以有多種形式,這樣可以避免集中式雲計算中心的網絡延遲和傳輸帶寬問題。
在邊緣計算的實現上,我們提供了開放式分發節點UODN,將計算節點分布在全國的上百個數據中心,通過虛擬化、Docker等方式提供計算和存儲資源,用戶可以通過軟件自定義內容分發服務。
計算、存儲等資源分配上,建議將大量實時需要交互的計算如部分實施決策和自主協作過程在邊緣節點實現,一些需要集中式處理的計算如大數據挖掘、大規模學習等則繼續交由數據中心完成。
國內環境下,在邊緣節點提供計算和存儲,能夠讓數據能就近上傳、訪問,節點之間只傳輸核心的計算結果,即可減少非必要網絡傳輸帶來的延遲。然而,在跨國、跨運營商等弱網絡環境下,鏈路質量差,節點之間的網絡傳輸依然可能影響業務,因此我們需要融合動態加速網絡優化傳輸。
動態加速
區別於CDN,UCloud動態加速網絡並非依賴於緩存數據,而是通過對路由、協議等的優化來實現加速,因此在跨國、跨運營商這種質量差的網絡中有比較好的表現。下圖是UCloud動態加速網絡的網絡拓撲圖, 由分布在各地的加速點組成。
其加速原理和實現過程,主要包括四點:
首先,接入方式設置了HTTP(S)、TCP、UDP三種模式。
將域名CNAME到加速平臺後,加速點服務器就能接收到用戶數據包,HTTP通過域名(TCP/UDP根據端口查找配置),服務器根據配置獲取源站以及到源站和到路由的信息,並選擇路由將數據轉發往目標源站。
其次,加速網絡內部統一使用私有協議UTP傳輸數據。
每個加速點有接入和中轉雙重身份,直接對接用戶客戶端或源站的定義為接入點,接入點收到的數據一般通過UTP協議發往中轉點,中轉點之間也通過UTP傳輸。UTP是UCloud在UDP的基礎上實現可信傳輸的協議,支持流量控制、擁塞控制、快速重傳等,可以消除握手的時間,使傳輸控制更靈活。
然後,與邊緣計算平臺的融合,實現對用戶透明的動態加速。
我們會為邊緣計算節點提供加速IP,用戶程序使用IP地址即可使用加速網,不需要域名配置和修改程序。傳輸TCP、UDP數據時,內核模塊會捕獲並修改TCP/IP包,將數據包發送到加速網,同時在加速網註冊,以此實現對用戶透明的動態加速。
最後,如何達到更優的加速效果,主要有以下幾點思路:
鏈路層/網絡層:選擇更優的鏈路,這裏主要是基礎設施的建設;
傳輸層:對傳輸協議進行優化如:1.加速網絡內部采用UDP實現可信傳輸,優化握手時間;2.調整擁塞控制,采用更靈活的發送策略例如UTP;3.根據鏈路MTU大小進行切片發送,減少報文重組;
應用層:優化業務程序,盡量使用長連接傳輸,減少頻繁建立短連接的時間和失敗概率。
路由服務
路由是指從一個接口收到數據包後,根據數據包的目的地址進行定向並轉發到另一個接口的過程。路由和域名解析服務主要提供對外接口,供給動態加速、CDN使用。
路由計算方面,建議先重復測試任意節點之間分時段的網絡質量數據,包括ping延時、丟包率、UDP大小包丟包率等,然後計算出全部節點之間的最優、次優路徑,最後根據歷史數據預測最優路由。
這裏,需要特別註意的是,時段不同、數據包大小不同,路由計算的結果可能不同。
小結
本文主要講解了邊緣計算和動態加速網絡的一些實現技術和優化方案,來幫助實現計算、存儲、網絡等資源的平衡。邊緣計算方面,主要是提高邊緣節點資源利用率,通過虛擬化技術讓資源管理更有效;動態加速網絡,則是通過優化路由、協議等方法,來優化兩點之間的網絡質量。
作者
梁旭:UCloud研發工程師,先後負責UCloud CDN、ODN、IDV虛擬化產品的研發,熟悉邊緣計算與動態加速等技術。
Post Views: 8
*本平臺所發布文章信息,版權歸UCloud所有,如需轉載請註明出處!更多文章見“UCloud技術公告牌”。
我們是如何實現邊緣計算與網絡動態加速的?
相關推薦
我們是如何實現邊緣計算與網絡動態加速的?
20px sel 我們 計算節點 基礎服務 延時 add base 建議 邊緣計算,一種通俗理解是將計算和存儲等服務放在網絡邏輯邊緣節點上的一種分散式架構,通過將原本中心化的服務分散到邊緣節點處理,讓數據的運算和存儲更接近數據來源,減少網絡傳輸的數據量和訪問延時。它不但側重
200行Go代碼實現自己的區塊鏈——區塊生成與網絡通信
type hash lazy avi present lte () cti 裏的 在第一篇文章[1]中,我們向大家展示了如何通過精煉的Go代碼實現一個簡單的區塊鏈。如何計算每個塊的 Hash 值,如何驗證塊數據,如何讓塊鏈接起來等等,但是所有這些都是跑在一個節點上的。文章
CentOS中與網絡相關的常用
p地址 har 位數 主機名 strong mac sha 邏輯地址 led CentOS中與網絡相關的常用配置文件 1. 常見的網絡配置文件 /etc/hosts 本地域名解析表,用於解析主機名。對應於win系統中的C:\Windows\Sy
使用zabbix3.0.4的ICMP Ping模版實現對客戶端網絡狀態的監控
host -1 ping 修改 cat onf 設置報警 amp 網絡狀態 一、登陸Zabbix服務器做以下操作: 1.fping安裝 wget http://www.fping.org/dist/fping-3.16.tar.gz tar zxvf fping-3.16.
因特網與網絡互聯技術
技術 .com 9.png alt 互聯 mage img nbsp bsp 因特網與網絡互聯技術
在與SQL Server建立連接時出現與網絡相關的或特定於實例的錯誤!
例如 為什麽 mark 連接 blog gin 圖例 數據 -s 在做機房收費系統時,自己的數據庫屢屢遇到了“在與sql建立連接時出現與網絡相關的或特定於實例的錯誤!”這種錯誤提示,截圖例如以下: 找了非常多的資料都沒有得到解決。終於還是在同學的幫助
python自動化開發-[第八天]-面向對象高級篇與網絡編程
屬性字典 del log 工作 新增 subclass Coding ror play 今日概要: 一、面向對象進階 1、isinstance(obj,cls)和issubclass(sub,super) 2、__setattr__,__getattr_
Win2012R2 Hyper-V初級教程04 — 虛擬交換機與網絡配置
hyper-v虛擬交換 虛擬交換 虛擬交換機與網絡配置 在Hyper-V中虛擬交換機如果你有學習過VMware虛擬化的話,其實它們中的虛擬交換機基本相差不大,下面我們簡單介紹一下關於Hyper-V網絡虛擬化的三種虛擬交換機。對於剛剛接觸Hyper-V的童鞋來說,虛擬交換機可能會讓你
學習筆記TF037:實現強化學習策略網絡
屬於 控制 返回 獎勵 渲染 動作 ren 虛擬 初始 強化學習(Reinforcement Learing),機器學習重要分支,解決連續決策問題。強化學習問題三概念,環境狀態(Environment State)、行動(Action)、獎勵(Reward),目標獲得最多累
【bzoj3630】[JLOI2014]鏡面通道 對偶圖+計算幾何+網絡流最小割
log ros font eof ext 理學 最小 bool type 題目描述 在一個二維平面上,有一個鏡面通道,由鏡面AC,BD組成,AC,BD長度相等,且都平行於x軸,B位於(0,0)。通道中有n個外表面為鏡面的光學元件,光學元件α為圓形,光學元件&b
區域存儲網絡(SAN)與 網絡直接存儲(NAS)
在線 中小企業 以及 帶寬 遠程 編輯 數據塊 area 目的 隨著互聯網及網絡應用的飛速發展,數據信息存儲系統所需處理的數據類型也呈爆炸性增長,這使數據信息存儲系統面臨前所未有的挑戰。附加式網絡存儲裝置(Network Attached Storage,縮寫為NAS)及區
第八篇:python基礎_8 面向對象與網絡編程
pro size 賬單 socket 基礎 發生 多態 proc client 本篇內容 接口與歸一化設計 多態與多態性 封裝 面向對象高級 異常處理 網絡編程 一、 接口與歸一化設計 1.定義 (1)歸一化讓使用者無需關心對象的類是什麽,只需要知道這些對象都具備某
如何設置esxi的網卡與網絡
法律 創建 dbd wrap 取ip fix data- 登錄 介紹 很多朋友安裝了vmware esxi後,不懂得服務器上的網卡該如何設置以及如何使用,我們在這裏來介紹一下vmware esxi的網卡設置 工具/原料
在與 SQL Server 建立連接時出現與網絡相關的或特定於實例的錯誤。未找到或無法訪問服務器
img host localhost 重置 點擊 服務器名稱 建立連接時 alt blog 在與 SQL Server 建立連接時出現與網絡相關的或特定於實例的錯誤。未找到或無法訪問服務器。請驗證實例名稱是否正確並且 SQL Server 已配置為允許遠程連接。 (prov
計算機網路基礎 - 一些基本概念與網絡結構
logs 網路 兩個 wdm comment quest 利用 gin 規範 1. 基本概念 計算機網絡 = 通信技術+計算機技術,是兩項技術緊密結合的產物。 通信系統的基礎模型: 計算機網絡,是指將地理位置不同、具有獨立功能的多臺計算機及其外部設備,通過通信線路連接,在
python 實現簡單卷積網絡框架
pen filters rst _array cit shape turn war input 第一步定義卷積核類: class Filter(object): # 濾波器類 對卷積核進行初始化 def __init__(self,width,he
CentOS設置系統時間與網絡時間同步
centos設置系統時間與網絡時間同步1.? 安裝ntpdate工具#?yum?-y?install?ntp?ntpdate2.? 設置系統時間與網絡時間同步#?ntpdate?cn.pool.ntp.org3.? 將系統時間寫入硬件時間#?hwclock?--systohcCentOS設置系統時間與網絡時間
Centos7的安裝與網絡配置
centos7的安裝與網絡配置網絡配置命令:vi? /etc/sysconfig/network-scripts/ifcfg-ens33重啟網絡命令:?systemctl ? restart ? network.service一些常用命令?ls命令列出當前目錄下的文件ip add??? ipconfig??獲
【轉】解決“你沒有權限訪問,請與網絡管理員聯系”
sign cfa 允許 bd09 blank 風險 data- 中心 大文件 解決“你沒有權限訪問,請與網絡管理員聯系” 局域網共享時提示你"沒有權限訪問,請與網絡管理員聯系請求訪問權限".局域網共享無法訪問被共享的文件夾。 方法/步驟
小型網絡架構—運用OSPF實現不同區域間網絡的互通
col 拓撲圖 net http table 實現 改名 4.0 ges 一、實驗拓撲圖 二、實驗目的 實現PC機之間的互通 運用OSPF使不同區域間的路由通信 三、實驗所需的設備以及相關配置1.pc機的配置 主機 IP地址/子網掩碼 網關 PC1 1