在當今加快網站載入時間的競賽中,每一毫秒都很重要。我們測試並研究了網站速度對銷售、轉化、使用者體驗和使用者參與度的影響。
但有一個警告。雖然現場優化對於提高速度很重要,但這並不是我們應該關注的唯一方面。支援我們網站並將其連線到我們的訪問者的硬體和網路基礎設施也很重要。很多。
今天我們將討論為什麼Google會在其網路基礎設施上投入大量資金,以及Google Cloud Platform的高階層網路和標準層網路的一些差異。
- 頻寬和延遲(託管基礎設施效能的關鍵標準)
- 網路與網際網路對等與傳輸
- 邊界閘道器協議
- 雲端計算、CDN、邊緣市場的發展
- 雲提供商如何解決延遲問題?
- 為什麼谷歌在其網路基礎設施上投入如此之多?
- 這與谷歌雲網路有什麼關係?
- Google的高階網路與標準層網路
頻寬和延遲(託管基礎設施效能的關鍵標準)
在深入瞭解Google Cloud網路的細節之前,首先了解以下兩個概念很重要:頻寬和延遲。
頻寬是網路的吞吐能力,以Mbps為單位;而延遲是沿途不同路由器新增到我們的網路請求和響應中的延遲或所有延遲的總和。
形象地說,頻寬或吞吐量可以被描繪為每秒允許一定體積的水通過的水管容量。延遲可以與從水管開啟到開始湧出的延遲進行比較。
由於在不同路由器之間建立連線的開銷很小,因此沿途的每個“跳躍”都會為最終請求和響應增加少量延遲。
因此,訪問者和託管網站的伺服器越遠,延遲就越大。此外,網路越分散,延遲就越大。
我們可以通過使用名為traceroute或windows上的tracert的工具來描繪這一點。在接下來的螢幕截圖中,我們使用它來檢查來自歐洲的兩個請求的路由延遲。
微博
另一個bbc.co.uk:
英國廣播公司
正如我們預期的那樣,中國網站的躍點數幾乎是歐洲網站的2倍。因此,與對在英國託管的網站的請求相比,這是增加的延遲。
tracert顯示的三列代表三個往返 (RTT)。每行代表沿途不同的路由器或躍點。它們通常具有幫助我們確定特定路由器所在位置的URL。
中國/香港路由器的往返時間接近三分之一秒。
我們使用pingdom工具從Pingdom的澳大利亞位置載入託管在倫敦的網站,以嘗試確定網路在網站總載入時間中的份額。
載入時間示例
這是在這個測試場景中載入的一個小CSS檔案的資料。Connect部分在載入此資源方面的份額最高,其次是SSL和Wait。直到幷包括等待時間的所有時間也稱為第一個位元組的時間(TTFB),其中包括網路延遲。
當網際網路服務提供商宣傳網際網路連線的速度時,他們通常會宣傳他們的頻寬(“軟管的寬度”還記得嗎?)這實際上並不是衡量速度的標準。增加管道的寬度只能在一定程度上提高網站速度。當我們需要每秒傳送大量資料時,它會更有用,例如當我們流式傳輸高清視訊內容時。但對於可能正在線上玩實時多人遊戲的使用者來說,延遲會更重要。
HTTP/2規範和SPDY協議的合著者之一Mike Belshe分析了增加頻寬對網站載入速度的影響與減少延遲對網站載入速度的影響。
以下是Belshe在精美圖表中的發現:
載入時間/頻寬變化與載入時間/延遲變化
應該清楚的是,通過增加頻寬來提高網站速度並不是達到更好效能的最有效方法。另一方面,通過減少RTT(往返時間)或延遲,我們可以看到頁面載入時間的持續改進。
網路與網際網路對等與傳輸
為了更好地理解我們的主題,我們需要解釋網際網路拓撲的基礎知識。全球網際網路的核心是由多個全球、區域和本地網路組成。
截至2018年,有超過60,000個 AS(自治系統)。這些網路屬於政府、大學、ISP。
其中,我們區分了第1層、第2層和第3層網路。這些層代表了整個網際網路上每個網路的獨立性。
- 第 1 層網路是獨立的,因為它們無需付費即可連線到Internet上的任何其他點。
- 第 2 層網路與其他ISP有對等協議,但它們也為傳輸付費。
- 第 3 層網路,最低階別,通過購買更高階別的傳輸連線到網際網路的其餘部分。他們實際上就像必須付費才能訪問網際網路的消費者。
對等關係是指兩個網路在平等的基礎上交換流量,因此它們中的任何一個都不會為中轉支付對方的費用,並免費返回相同的流量。
對等互連的主要好處是大大降低了延遲。
Web請求如何通過ISP的分層網路
在上圖中,我們看到了一個經典場景,其中Web請求通過第 1 層、第 2 層和第 3 層ISP的分層網路,以檢索托管在遠端位置的資料中心中的網站。
箭頭代表Web請求旅程。虛線箭頭表示傳輸連線,實線箭頭表示對等連線。
一旦到達第 1 層提供者,它與同一級別的另一個提供者的關係就是對等關係。第 1 層網路連線到其他網路,並專門通過對等夥伴中繼他們的請求。他們無需支付交通費用即可訪問網際網路上的所有其他網路。
我們還可以看到另一種情況,其中兩個 2 級提供商有一個對等協議,用綠松石色指定。在這種情況下,躍點數較少,網站載入時間也會少得多。
邊界閘道器協議
BGP是一種很少被提及的協議,除非在非常技術性的環境中。然而,正如我們今天所知,該協議位於網際網路的核心。它是我們訪問網際網路上幾乎所有東西的能力的基礎,它是網際網路協議棧中易受攻擊的連結之一。
邊界閘道器協議在2006年的IETF Request For Comments #4271中定義,此後進行了多次更新。正如RFC所說:
使用BGP的系統的主要功能是與其他BGP系統交換網路可達性資訊。
簡而言之,BGP是一種協議,負責決定網路請求的確切路由,超過成百上千個可能的節點到其目的地。
邊界閘道器協議
我們可以將每個節點想象成一個自治系統或一個由多個節點或路由器、伺服器和與其相連的系統組成的網路。
在BGP協議中,沒有自動發現演算法(一種機制或協議,每個新連線的節點都可以通過它發現相鄰節點進行連線),而是每個BGP對等體都必須手動指定其對等體。至於路徑演算法,引用Cisco專家的話:
“BGP沒有一個簡單的指標來決定哪條路徑是最好的。相反,它會為每條路線宣傳一組廣泛的屬性,並使用 由多達13個步驟組成的複雜演算法來決定哪條路線是最佳的。”
自治系統將路由資料傳輸給它們的對等體,但是,沒有關於路徑選擇的硬性規則。BGP是一個基於信任的系統,這可能是當今網際網路最大的安全漏洞之一。2018年的盜竊事件, MyEtherWallet.com流量被劫持,200多個以太幣被盜(價值152,000美元)暴露了這個漏洞。
實際上,BGP的這種弱點通常會導致各種網路 (AS) 發出BGP資料時考慮到其他利益,而不是終端使用者的效率和速度。這些可以是商業利益,如付費交通,甚至是政治或安全考慮。
雲端計算、CDN、邊緣市場的發展
由於IT市場需求不斷增長,從網路行業、線上遊戲到物聯網等,解決延遲問題的服務提供商和產品的市場空間變得明顯。
年復一年,我們看到更多基於雲的產品快取靠近訪問者的靜態資源(內容交付網路)或使實際計算更接近終端使用者。Cloudflare的Workers就是這樣一種產品,它在Cloudflare的邊緣節點網路上執行V8 javascript引擎相容的程式碼。這意味著即使是WebAssembly或GO程式碼也可以在非常靠近訪問者的地方執行。
亞馬遜的Lambda@Edge是這一趨勢的另一個例子,英特爾和阿里雲合作提供針對物聯網市場的聯合邊緣計算平臺。
另一個值得一提的是,谷歌的全球快取節點網路既可以用作CDN,也可以用作其子公司YouTube的視訊快取和交付網路。
為了說明雲行業已經變得多麼精緻和先進,以及它為終端使用者減少了多少網路延遲 ,讓我們來看看GaaS。
GaaS是遊戲即服務的縮寫。它是一種雲產品,使使用者能夠玩在雲中託管和執行的遊戲。本文比較了GaaS領域的一些突出產品。
每個曾經為遊戲購買過電視或視訊投影儀,或者花一些時間在電視和其他裝置之間設定Miracast或其他投射連線的人都會知道延遲的重要性。然而,現在有GaaS提供商提供4k解析度和60Hz重新整理率的遊戲流媒體 ……玩家不必投資硬體。
近期美國禁止華為的戲劇性事件,引發了人們對5G網路問題的關注,以及迫切需要一條清晰的路徑來升級世界網路基礎設施。
以最小延遲實時傳遞大量資訊以協調智慧城市、智慧房屋、自動駕駛汽車的感測器將依賴於邊緣裝置的密集網路。延遲是目前自動駕駛汽車等事物的上限,具有不同的感測器資訊、鐳射雷達資料、該資料的處理與其他車輛的資料。
內容交付網路和雲端計算提供商處於這場競賽的最前沿。我們已經討論過 由能夠控制請求-響應週期的行業領導者推出的QUIC/HTTP3協議。
雲提供商如何解決延遲問題?
AWS可能是市場份額最大的雲提供商。2016年,他們投資了夏威夷跨太平洋海底光纜系統,旨在提供更大的頻寬並減少夏威夷、澳大利亞和紐西蘭之間的延遲,這是他們對海底基礎設施的第一筆投資 。它於2018年上線。
海底光纜(圖片來源:NEC)
到那時,谷歌在鋪設海底骨幹網方面已經遙遙領先。在亞馬遜首次投資前一年,ITWorld發表了一篇文章,標題為:“谷歌的資料中心對於正常網路來說增長太快,所以它建立了自己的”。
事實上,在2005年,技術記者Mark Stephens(又名Robert X Cringely)在他的PBS.org專欄中寫道,評論了谷歌對暗光纖(已鋪設但未使用的光纖基礎設施)的瘋狂採購:
“這不僅僅是另一個Akamai甚至是類固醇的Akamai。這是一款動態驅動的智慧熱核Akamai,具有專用的反向通道和特定於應用程式的硬體。會有網際網路,然後會有谷歌網際網路,疊加在上面。”
谷歌的雲網線基礎設施(來源:谷歌)
2010年,在zdnet.com上的一篇文章中,Tom Foremski說:
“谷歌是擁有大量網際網路的公司之一”,並繼續說道:“谷歌一直致力於打造最高效、運營成本最低的私有網際網路。這個基礎設施是谷歌的關鍵,也是理解谷歌的關鍵。”
當時,Cringley的文章提出了一些關於谷歌試圖接管網際網路的擔憂,但當該公司推出Google Fiber時,事情變得更加清晰,谷歌試圖征服美國最大城市的ISP市場。自那以後,該專案已經放緩,以至於TechRepublic在2016年釋出了該專案的事後分析,但現在在全球範圍內對基礎設施的投資並沒有放緩。
谷歌的最新投資,將於今年投入使用,是連線美國洛杉磯和智利瓦爾帕萊索的骨幹網,未來將有一個分支連線巴拿馬。
“網際網路通常被描述為雲。實際上,它是一系列潮溼、易碎的管子,而谷歌即將擁有數量驚人的管子。” — VentureBeat
為什麼谷歌在其網路基礎設施上投入如此之多?
標準路由
我們都知道谷歌是排名第一的搜尋引擎,但它也:
- 擁有最大的視訊平臺
- 是最大的電子郵件提供商(Gmail和Google Workspace)
- 在其雲端計算產品上賺了不少錢(年執行率超過80億美元)
這就是為什麼它需要儘可能小的延遲和儘可能大的頻寬。谷歌還希望擁有實際的基礎設施,因為它對更多頻寬和延遲的“貪得無厭”使得谷歌及其亞馬遜或微軟等大型同行公司處於需要提供完全定製的硬體和軟體解決方案的位置.
PoP節點
存在點或邊緣PoP節點位於Google全球專用有線電視網路的邊緣。在那裡,它們充當連線到Google資料中心的流量的入口和出口點。
摩爾定律是英特爾聯合創始人戈登摩爾的一項觀察,他指出,每兩年,我們可以在積體電路上放置的電晶體數量就會翻一番。幾十年來,這種期望一直是正確的,但現在,計算行業即將對摩爾定律進行嚴峻的考驗,也許在不久的將來會結束。僅供參考, NVIDIA執行長在19年宣佈摩爾定律失效。
那麼這與雲行業以及谷歌的網路基礎設施有什麼關係呢?
在2018年12月的Open Networking Foundation Connect活動上,谷歌的副總裁兼網路技術負責人Amin Vahdat承認摩爾定律的終結並解釋了公司的難題:
我們的計算需求繼續以驚人的速度增長。我們將需要加速器和更緊密耦合的計算。網路結構將在將這兩者聯絡在一起方面發揮關鍵作用。
雲提供商跟上對計算能力日益增長的需求的一種方法是叢集。簡而言之,叢集意味著將多臺計算機放在一起處理單個問題,執行單個應用程式的程序。顯然,從這種設定中受益的一個先決條件是低延遲或強大的網路容量。
當谷歌在2004年開始設計自己的硬體時,網路硬體供應商考慮的是盒子,路由器和交換機需要通過命令列單獨管理。在那之前,谷歌一直在從思科等供應商那裡購買交換機叢集,每臺交換機都花了一大筆錢。但裝置仍然跟不上增長的步伐。
谷歌需要一個不同的網路架構。對谷歌基礎設施的需求呈指數級增長(谷歌2015年的一篇研究論文稱,他們的網路容量在十年內增長了100倍),而且增長如此之快,以至於購買現有硬體的成本也促使他們建立自己的解決方案。谷歌開始使用商用矽晶片構建定製交換機,採用更模組化的不同網路拓撲。
Google的工程師開始構建一個名為Clos Network的舊電話網路模型,它減少了每個交換機所需的埠數量:
“Clos網路的優勢在於您可以使用一組相同且廉價的裝置來建立樹並獲得高效能和彈性,否則構建成本必須更高。” — Clos Networks:舊的又是新的,網路世界
對於這種新的模組化硬體,Google的團隊還必須重新定義現有協議並構建自定義網路作業系統。他們面臨的挑戰是使用大量的交換機和路由器,並將它們當作一個單一的系統來操作。
自定義網路堆疊以及對重新定義協議的需求導致Google轉向軟體定義網路 (SDN)。以下是2015年Google副總裁、工程研究員和網路基礎設施團隊負責人Amin Vahdat的主題演講,解釋了他們提出的所有挑戰和解決方案:
對於最好奇的人來說,這篇有趣的部落格文章值得一讀。
Espresso
Espresso是谷歌SDN的最新支柱。它允許谷歌的網路超越物理路由器的限制,學習和協調進出谷歌對等合作伙伴的流量。
Espresso使Google能夠實時測量連線的效能,並根據實時資料為特定訪客的最佳接入點做出決定。這樣,Google的網路可以動態響應其對等互連/ISP合作伙伴的不同擁塞、減速或中斷。
最重要的是,Espresso可以利用Google的分散式計算能力來分析其所有同行的網路資料。所有路由控制和邏輯不再駐留在單個路由器和邊界閘道器協議,而是轉移到谷歌的計算網路。
“我們利用我們的大規模計算基礎設施和來自應用程式本身的訊號來了解各個流的執行情況,這取決於終端使用者對質量的感知。” — Espresso讓Google Cloud更快,2017
這與谷歌雲網路有什麼關係?
到目前為止,我們所涵蓋的內容重點突出了Google為構建可能是當今可用的最佳全球專用網路而經歷的所有問題和挑戰(基於硬體和軟體)。
在市場份額方面,谷歌雲平臺是全球第三大供應商(僅次於AWS市場份額和微軟的Azure市場份額)。但就其優質的專用網路基礎設施而言,它遠遠落後於競爭對手,正如BroadBand Now的資料所示:
海底電纜所有權,2018年9月(來源:BROADBANDNOW,Centerfield BBN LLC)
2014年,GigaOM發表了一篇比較AWS和谷歌雲平臺的文章,但僅僅一週後,他們又發表了一篇題為:“我在谷歌與亞馬遜雲辯論中錯過的東西——光纖!” 他們認識到谷歌在基礎設施方面領先數年。
“為您和您的客戶的流量提供大而快速的管道是一件大事。” — Barb Darrow,GIGAOM
Google的高階網路與標準層網路
谷歌雲網路平臺
谷歌雲平臺提供兩種不同的網路層,它們在價格和效能上都有所不同。
Google高階層網路
藉助Google的Premium Tier Network,使用者可以利用全球光纖網路以及全球分佈的接入點。從客戶到Google資料中心的所有入站(入站)流量都被路由到最近的接入點,這些接入點分佈在全球範圍內,然後請求100%通過Google的私有骨幹網路由。正如我們在之前的文章中提到的 ——這可能意味著延遲提高 30% 或頻寬提高 50%。
在返回的路上,從資料中心傳送給訪問者的所有資料都使用冷土豆策略進行路由。與在標準層網路上使用的Hot Potato路由相反,在該網路中,流量儘可能早地移交(或丟棄)到其他ISP-s,高階層路由意味著出口流量保持只要可能在谷歌自己的光纖上,並被交給儘可能靠近訪問者的同行或中轉ISP-s。
用外行的話來說。高階層資料包在Google網路上花費的時間更多,反彈更少,因此效能更好(但成本更高)。
對於我們當中的科幻迷來說,它可以比作一個宇宙蟲洞,它將我們的流量直接傳輸到我們的目的地,而無需通過網際網路漫遊。
Kinsta將Google Cloud的高階層網路與我們所有託管的WordPress計劃一起使用。這可以最大限度地減少距離和跳數,從而更快、更安全地在全球傳輸資料。
Kinsta託管架構
Google標準層網路
另一方面,標準層級網路在我們的內容或Web應用程式所在的資料中心附近使用入網點。這意味著我們的訪問者的流量將通過許多不同的網路、自治系統、ISP,並通過許多躍點,直到到達目的地。在這種情況下,速度會受到影響。
在標準層上傳輸的內容將無法充分利用Google的SDN和強大的計算能力來動態計算最佳路線的好處。流量將受Google和訪問者之間所有系統的BGP策略的約束。
用外行的話來說。標準層資料包在Google網路上花費的時間更少,而在公共網路上玩燙手山芋的時間更多,因此效能更差(但成本更低)。
此外,高階層使用全域性負載平衡,而標準層僅提供區域負載平衡,這為標準上的客戶帶來了更多的複雜性和更多的“步法”。
Premium Tier Network提供全球服務水平協議 (SLA),這意味著Google接受提供特定服務水平的合同責任。這就像一個質量保證標誌。標準網路層不提供此級別的SLA。
對於那些想要了解更多資訊的人,Google Cloud網站上有兩個層級的相當廣泛的比較和文件。他們甚至提供了一個方便的圖表來幫助您更輕鬆地確定您應該使用哪個網路層:
網路服務層決策樹(來源:谷歌雲平臺)
小結
多年來,谷歌一直在投資建立一個全球網路基礎設施,部署自己的協議以及定製的硬體和軟體網路堆疊。在摩爾定律似乎年復一年變弱的時候,谷歌的基礎設施使公司能夠跟上對雲資源不斷增長的需求。
儘管就市場份額而言,它仍落後於亞馬遜雲和微軟的Azure雲,但谷歌在其擁有的光纖以及其工程師部署的尖端硬體和軟體解決方案方面都獲得了一些關鍵優勢。
我們可以預期谷歌將在物聯網、智慧城市、無人駕駛汽車技術中發揮關鍵作用,並且對邊緣計算的需求將持續增長。
Google Cloud Network Premium Tier是第一個利用Google創新網路成果的產品。它允許客戶利用Google的網路和整個堆疊以極快的速度交付內容。谷歌對延遲的保證。
評論留言