国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

視屏面試傳輸協議到底是TCP還是UDP

網絡 通信技術
又是一年一度的秋季校招開始了,以往的校招各個公司都會在公司現場或者學校現場安排學生進行現場面試?但是今年由于疫情的原因,不允許讓同學在現場進行一個面試,所以今年的面試形式就從線下轉到了線上,面試形式的轉變,但是我們考核學生的方式依舊沒有轉變。

[[340127]]

 

本文轉載自微信公眾號「咖啡拿鐵 」,作者咖啡拿鐵。轉載本文請聯系咖啡拿鐵公眾號。

背景

又是一年一度的秋季校招開始了,以往的校招各個公司都會在公司現場或者學?,F場安排學生進行現場面試?但是今年由于疫情的原因,不允許讓同學在現場進行一個面試,所以今年的面試形式就從線下轉到了線上,面試形式的轉變,但是我們考核學生的方式依舊沒有轉變。

校招的同學和社招的同學有很大的不同,他們沒有豐富的工作經驗,沒有太多的項目經歷,那么我們如何去衡量一個校招的同學呢?那就是基礎和潛力,怎么去理解基礎呢?俗話說不積跬步,無以至千里,不積小流,無以成江海,如果沒有一個好的基礎那么怎么才能成為一個優秀的工程師呢。如何去考察一個學生基礎的好壞呢?我覺得有三個方面比較重要,計算機網絡,操作系統以及算法和數據結構,通常來說計網考察得特別多,常見的一些問題:

  • 網絡模型分層
  • TCP和UDP的區別
  • TCP三次握手和四次揮手
  • HTTP各版本的區別

上面列舉的問題只是其中一部分,這些問題基本在上課的書本中找到答案,如果你這些都不會那么只能說基礎算是比較差了。由于這次是視頻面試,我通常會問你覺得??途W的視頻面試是用的TCP還是UDP呢?在我揭曉答案之前大家也可以想想使用的是哪個網絡協議,在面試的過程中所有的同學都回答了應該是使用的是UDP。我問為什么使用UDP?基本都會回答道UDP是一個無連接的協議,不用保證可靠性,傳輸速度快。我又問道如果UDP不保證可靠性,咱們在視頻面試的時候我問你問題,如果你回答問題的視頻流丟包了,那么你的答案我就聽不見了,那視頻面試的體驗將會非常低。不少同學在這個時候就會改答案說那應該使用的是TCP吧,我這是又會問道TCP由于需要保證可靠性,但是在公網的復雜環境下,想必應該經常會出現緩沖或者卡頓的現象吧,很多同學這個時候就會啞口無言了。

其實這個問題的答案不難想出,我們可以將TCP和UDP的特性互相結合起來,讓這個協議既可以保證可靠性,又可以保證實時性,這也就是我們所說的RUDP((Reliable UDP),常見的RUDP協議有QUIC,WebRTC,Aeron等等,我這里主要介紹谷歌提出的QUIC,帶大家領略一下RUDP的精彩,看看他們是如何既能做到可靠又能保證效率。

QUIC

QUIC(Quick UDP Internet Connection)是Google公司提出的基于UDP的高效可靠協議,他和HTTP一樣同樣是應用層協議。

為什么高效呢?是因為其基于無連接的UDP而不是基于TCP去實現的。

為什么可靠呢?因為其模仿TCP協議的可靠性,在應用層上做了可靠性的保證。

為什么需要QUIC?

互聯網已經發展了幾十年了,但是一提到網絡協議,傳輸層使用得最多的還是TCP協議,應用層使用得最多的是HTTP協議,當然HTTP底層也是使用得TCP協議。雖然互聯網已經發展這么久了但是對于TCP來說發展依舊緩慢,要說最大的改進應該是Google 在 ACM CoNEXT 會議上發表的用于改善 Web 應用響應延時TCP Fast Open,通過修改 TCP 協議利用三次握手時進行數據交換,這個在Linux內核 3.7.1 以及更高版本可以支持。由于修改TCP協議必然會修改內核從而導致系統升級,這個推動的難度非常之大。

既然我們修改內核不行,那么Google就提出了在應用層協議上修改的辦法,也就有了QUIC。

誰在使用它?

首先使用它的人肯定是谷歌,據說谷歌有50%的請求都是QUIC協議,微博也在全面使用QUIC協議,同時還有一些視頻云服務比如七牛也在使用,在騰訊內部也有很多部門在大量使用QUIC,所以不需要擔心這個協議使用的問題。

QUIC為什么這么牛?

0RTT 建立鏈接

RTT((Round-Trip Time)顧名思義就是往返時延的意思,0RTT的話意思就是QUIC可以在第一次發送的時候就帶上數據,熟悉我們TCP的同學應該知道,TCP會有一個三次握手那么實際上也就是會有1次RTT:

 

如果是HTTPS的話還會使用SSL/TLS的額外握手,就會有3次RTT:

 

那么0RTT的建立鏈接QUIC是怎么做到的呢?這里得先說一下QUIC的0RTT并不是完全的0RTT,他同樣需要1RTT去做一次秘鑰協商,在QUIC中使用的是Diffie-Hellman密鑰交換,該算法是一種建立密鑰的方法,并非加密方法,但其產生的密鑰可用于加密、密鑰管理或任何其它的加密方式,這種密鑰交換技術的目的在于使兩個用戶間能安全地交換密鑰(KEY)以便用于今后的報文加密。DH算法用了離散對數的相關知識,這里就不擴展講解,有興趣的可以下來搜索這種算法。QUIC通過DH算法創建一個安全的連接后,客戶端會緩存起來原始的連接信息等。在后續的過程中只要和同一個服務器建立鏈接都是直接發送數據,不需要再次協商秘鑰,從而實現了后續的0RTT。

 

更為出色擁塞控制

TCP的擁塞控制的算法特別多,比如基于丟包反饋的(Tahoe、Reno、New Reno、SACK), 基于延時反饋的(Vegas、Westwood),其中的Reno也就是我們最為熟悉的,它分為四個階段:慢啟動,擁塞避免,快速重傳,快速恢復。

而在QUIC中使用了更為優秀的機制來控制擁塞控制,它可以針對不同業務,不同網絡制式,甚至不同的RTT,使用不同的擁塞控制算法。同時也會采用了packet pacing來探測網絡帶寬,來提升網絡使用率。

更好的重傳機制

在重傳的機制中有一個比較重要的名詞,那就是RTO(Retransmission Timeout) 重傳超時時間,一般這個數據會根據RTT去進行計算,那么我們有一個更精確的RTT肯定就可以有一個更好的RTO。

在TCP中重傳的時候序列號不變,會導致我們的RTT算得不準確,比如重傳的時候你不知道你這次請求到底是和原始請求匹配還是和重試請求匹配,就會導致我們的采樣RTT不準確。

 

在QUIC中序列號都是遞增的,并且通過offset來確定在包中的真實位置,這樣就可以得到更為準確的RTT。

在TCP中計算RTT的方法就是發出的時間和響應回來的時間相減,但是這樣算出的時間不準確,在QUIC中會減去服務端Ack Delay的時間,這樣的話就更為精準。

 

同樣的在TCP中有個SACK選項,該選項打開時用于記錄傳輸過程中一些沒有被確認的數據的范圍,便于后續定向重傳多組丟失數據,而不是全部重傳,所以更多的范圍便于更多的選擇重傳,也意味著更少的重傳包頻率。但TCP最多支持3個SACK范圍,而QUIC能支持255個。

沒有隊頭阻塞的多路復用

熟悉HTTP2.0的同學應該知道在2.0中如果訪問同一個服務器只會有一個TCP連接,所有的請求都會走這條連接:

 

而每個請求在Connection中叫做Stream,一個Connection中可以有多個Stream,這里有個問題是在TCP中的包是保證時序的,如果某個Stream丟了一個包,他同時也會影響其他的Stream,在更為嚴重的時候反而多路復用還不如HTTP1.1的多個鏈接。

而在QUIC中,因為底層是基于UDP,UDP不需要保證包的時序,只會在接收包的時候對包進行重組,所以不會存在這個問題。這也就是為什么Google提議在HTTP3中使用QUIC的原因。

更優秀的流量控制

上面說了QUIC是多路復用的,在QUIC中可以針對Stream和Connection都進行流量控制。

QUIC 的流量控制和 TCP 有點區別,TCP 為了保證可靠性,窗口左邊沿向右滑動時的長度取決于已經確認的字節數。如果中間出現丟包,就算接收到了更大序號的 Segment,窗口也無法超過這個序列號。

但 QUIC 不同,就算此前有些 packet 沒有接收到,它的滑動只取決于接收到的最大偏移字節數。

最重要的是我們可以進行動態配置,可以在內存不足或者上游處理性能出現問題時,通過流量控制來限制傳輸速率,保障服務可用性。

連接遷移

現在在手機上移動流量和wifi的切換是一個比較常見的事,每次切換ip地址都會發生變化,如果是TCP的話連接就會中斷從而進行重新建立鏈接。

在QUIC不再以 IP 及端口四元組標識,而是以一個 64 位的隨機數作為 ID 來標識,通過這樣的方式可以進行連接重復利用,不會重新建立新的連接。

其他

在QUIC中還有更多的其他的特性,比如:

  • 通過header stream保證流順序
  • 底層保證連接持久
  • 源地址令牌防止地址欺騙
  • 握手時壓縮證書避免放大攻擊這里就不一一介紹了

這里就不詳解介紹了,大家可以自行查閱資料搜索。

總結

其實這篇帖子也算是一個掃盲貼,相信有很多朋友沒有聽說過RUDP相關的一些東西,或者說聽說過但是一直以為他是一個很復雜,很難理解的東西,其實在這里攤開來講RUDP就是一個UDP+應用層可靠協議組成的,希望大家看完這篇文章后,能有所收獲。

參考文章:QUIC協議是如何做到0RTT加密傳輸的: https://blog.csdn.net/dog250/article/details/80935534

技術掃盲-新一代基于UDP的低延時網絡傳輸層協議——QUIC詳解 :http://www.52im.net/thread-1309-1-1.html

 

QUIC協議的分析,性能測試以及在QQ會員實踐:https://www.cnblogs.com/wetest/p/9022214.html

 

責任編輯:武曉燕 來源: 咖啡拿鐵
相關推薦

2021-08-31 07:54:24

TCPIP協議

2013-05-27 10:48:16

TCPUDP傳輸協議

2015-04-21 09:20:40

SwfitObject—C

2024-03-28 13:13:00

Htmx前端開發框架

2018-10-09 15:26:19

JavaPython語言

2017-08-09 08:43:02

公有云趨勢聲勢

2018-09-26 14:17:00

編程語言JavaPython

2011-09-05 10:30:51

重構代碼庫業務模型

2022-11-02 15:00:03

Java值傳遞引用傳遞

2014-04-10 09:51:36

2014-11-17 10:03:23

OpenStack

2010-07-06 15:43:04

UDP協議

2022-08-18 23:13:25

零信任安全勒索軟件

2014-06-05 14:46:05

設計設計師

2021-12-09 20:16:26

無線核心網傳輸

2023-10-10 16:03:48

數字化信息化

2013-08-01 10:01:02

網絡協議TCP協議UDP協議

2020-08-31 19:17:24

Python強類型語言弱類型語言

2024-06-17 00:00:02

前端技術JavaScript

2013-11-18 10:34:00

企業移動化移動信息化
點贊
收藏

51CTO技術棧公眾號

亚洲欧美日韩国产| 在线亚洲一区| 美女视频黄频大全不卡视频在线播放| 福利一区福利二区微拍刺激| 2019中文在线观看| 精品日韩欧美一区二区| 国产欧美日韩一区二区三区| 免费在线观看污视频| 丁香婷婷自拍| 欧美自拍视频| 亚洲一区二区欧美| 国产精品入口尤物| 巨骚激情综合| 亚洲曰韩产成在线| 国产精品视频1区| 久久九九精品视频| 国产精品国产三级国产普通话99| 668精品在线视频| 夜夜嗨aⅴ免费视频| 精品久久精品| 欧美伊人精品成人久久综合97| 久久riav二区三区| 在线成人av观看| 99视频国产精品| 91精品国产一区| 日本一区影院| 亚洲精品中文在线影院| 91精品国产综合久久香蕉最新版| 中文在线有码| 国产一区在线观看视频| 亚洲电影激情视频网站| 污污网址在线观看| 欧洲国内综合视频| 欧美精品一二区| 蜜桃精品久久久久久久免费影院| 久久国内精品| 久久精品国产一区二区三区免费看| 日本91av在线播放| 天天干天天综合| 爱啪啪综合导航| 蜜桃一区二区三区| 久久婷婷av| 精品久久久一区二区| 欧美激情中文字幕在线| 日本调教视频在线观看| 亚洲第一精品久久忘忧草社区| 国产一区二区免费电影| 无码少妇一区二区三区| 全国精品免费看| 亚洲系列中文字幕| 国产91精品久久久久| 黄色春季福利在线看| 国产美女永久无遮挡| 日韩欧美aaaaaa| 日本精品免费观看| av在线免费不卡| 无码熟妇人妻av在线电影| 高潮一区二区| 欧美激情视频在线观看| 五月激情久久久| 亚洲精品成人av| 在线观看免费av网| 免费人成精品欧美精品| 永久域名在线精品| 日韩视频一二区| 国产精品成人一区| 91精品店在线| 欧美性猛交丰臀xxxxx网站| 国产九九九九九| 日本网站在线观看一区二区三区 | 一区二区三区在线视频观看| 香蕉久久夜色| 亚洲午夜精品一区二区国产 | 97精品视频在线| 户外露出一区二区三区| 欧美精选午夜久久久乱码6080| 第四色婷婷基地| 中文字幕在线亚洲| h片精品在线观看| 精品国产一二三区| 激情福利在线| 日韩一区二区三区av| 1769在线观看| 欧美色视频一区| 中国一级特黄毛片大片| 国产精品久久久久一区二区三区| 成人性生生活性生交12| 亚洲成人天堂| 2017欧美狠狠色| av无码精品一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 精品中文字幕av| 亚洲国产成人av| 精品一区二区三| 人人九九精品| 日韩精品在线视频观看| 欧美影视资讯| 日韩av男人的天堂| 一区二区欧美国产| 国内精品嫩模av私拍在线观看| 成人免费直播live| 激情欧美一区二区三区在线观看| 久操网在线观看| 亚洲精品五月天| 亚洲国产不卡| 大伊香蕉精品视频在线| 国模吧一区二区三区| 亚洲午夜在线| 欧美日韩不卡在线视频| 97久久精品人人澡人人爽缅北| 色欧美日韩亚洲| 国产精品一区二区日韩| 午夜免费一区二区| 国产精品视频中文字幕91| 久久精品官网| 一女二男3p波多野结衣| 91嫩草免费看| caoporn国产一区二区| 欧美日韩在线二区| 在线中文字幕播放| 国产精品自拍小视频| 亚洲福利视频久久| 五月激情综合婷婷| 99精品黄色片免费大全| 一区二区高清不卡| 97视频在线播放| 日韩女优制服丝袜电影| 亚洲亚洲人成综合网络| 成人免费va视频| 国产亚洲自拍偷拍| 5252色成人免费视频| 中文字幕av一区二区三区谷原希美| 尤物在线观看一区| 91片在线免费观看| 欧美三级网址| 亚洲一卡二卡区| 精品偷拍一区二区三区在线看| 亚洲视频在线观看三级| 天天免费亚洲黑人免费| 夜级特黄日本大片_在线| 欧洲av无码放荡人妇网站| 日韩欧美国产电影| 欧美日韩国产在线看| 中文字幕一区二| 国产精品1区| 三上悠亚在线免费观看| 色乱码一区二区三区熟女| 国产欧美日韩精品在线观看| 欧美福利精品| 国产在线欧美日韩| 欧美久久在线观看| 97超碰国产一区二区三区| 99ri日韩精品视频| 97超碰在线免费| 福利精品一区| 中文精品久久| 久久超级碰视频| 婷婷综合激情| 丁香一区二区三区| 疯狂做受xxxx欧美肥白少妇| 亚洲人免费视频| 在线成人av影院| 51精品国产黑色丝袜高跟鞋| 久久久久久国产精品一区| 国产一线二线三线女| 国产不卡一区二区三区在线观看| 久久精品国产久精国产一老狼 | 男人天堂a在线| 在线观看操人| 女人天堂在线| 精品久久中文| 成人18视频在线播放| 欧美军人男男激情gay| 奇米精品一区二区三区在线观看 | 乱小说综合网站| 91香蕉视频污版| 视频一区中文字幕精品| 亚洲综合五月| 亚洲国产成人一区二区三区| 久久综合五月婷婷| 欧美色图天堂| 视频在线91| 亚洲永久av| 亚洲va在线| 国产乱码精品一区二区三 | 97色伦亚洲国产| 少妇久久久久久被弄到高潮| 国产一区二区无遮挡| 成人在线免费在线观看| 日本大胆在线观看| 欧美日韩亚洲一区二区三区在线| 日本成人a网站| 国产精品影视在线| 亚洲成人av一区二区三区| 日韩在线视频线视频免费网站| 中文字幕精品一区二区精品| 国产经品一区二区| 亚洲精品套图| 亚洲综合色站| 日韩欧美中文字幕精品|