(本文根據(jù)互聯(lián)網(wǎng)資料整理)
延時(shí)和抖動(dòng)是相互關(guān)聯(lián)的兩個(gè)東西,但是它們并不相同。延時(shí)是網(wǎng)絡(luò)中的一個(gè)重要指標(biāo),它由四個(gè)關(guān)鍵部分組成:處理延時(shí)(processing delay),排隊(duì)延時(shí)(queueing delay),傳輸延時(shí)(transmission delay)和傳播延時(shí)(propagation delay)。它會影響用戶體驗(yàn),并可能因多種因素而發(fā)生變化。抖動(dòng)是基于延時(shí)產(chǎn)生的—具體而言,就是前后延時(shí)的值不一致。抖動(dòng)是兩個(gè)數(shù)據(jù)包延時(shí)值之間的差異。它通常會導(dǎo)致丟包和網(wǎng)絡(luò)擁塞。雖然延時(shí)和抖動(dòng)有很多共同點(diǎn)和關(guān)聯(lián),但是它們并不相同。
什么是延時(shí)(delay)
延時(shí)是網(wǎng)絡(luò)中的一項(xiàng)重要指標(biāo),可衡量數(shù)據(jù)從一個(gè)端點(diǎn)移動(dòng)到另一個(gè)端點(diǎn)所需的時(shí)間。網(wǎng)絡(luò)延時(shí)通常在幾秒鐘的時(shí)間范圍內(nèi),并且可以更具許多因素進(jìn)行更改,包括端點(diǎn)的位置,數(shù)據(jù)包的大小以及流量大小。
延時(shí)(delay)與延遲(latency)有何不同
延遲和延時(shí)相互聯(lián)系緊密,并且很多時(shí)候可以混用。但是,他們并不總是相同的。延時(shí)是數(shù)據(jù)從一個(gè)端點(diǎn)傳輸?shù)搅硪粋€(gè)端點(diǎn)所花費(fèi)的時(shí)間。然而,延遲可以表示兩個(gè)量。
延遲有時(shí)被認(rèn)為是數(shù)據(jù)包從一個(gè)端點(diǎn)傳輸?shù)搅硪粋€(gè)端點(diǎn)所用的時(shí)間,這與單向延時(shí)是一樣的。
但更多的情況,延遲表示的是往返時(shí)間。往返時(shí)間包括發(fā)送數(shù)據(jù)包所需的時(shí)間加上它返回所需的時(shí)間。這不包括在目的地處理數(shù)據(jù)包所需的時(shí)間。
網(wǎng)絡(luò)監(jiān)控工具可以確定給定網(wǎng)絡(luò)上的精確往返時(shí)間。可以從發(fā)送處計(jì)算往返時(shí)間,因?yàn)樗檾?shù)據(jù)包發(fā)送的時(shí)間,并在確認(rèn)返回時(shí)計(jì)算差值。但是,兩個(gè)端點(diǎn)之間的延時(shí)可能難以確定,因?yàn)榘l(fā)送端沒有到達(dá)接收端的時(shí)間信息。
延時(shí)的組成
延時(shí)可以理解為四個(gè)關(guān)鍵延時(shí)部分的組合:處理延時(shí),排隊(duì)延時(shí),傳輸延時(shí)和傳播延時(shí)。
1. 處理延時(shí):處理延時(shí)是系統(tǒng)分析數(shù)據(jù)包報(bào)頭并確定數(shù)據(jù)包必須發(fā)送到何處的時(shí)間。這很大程度上取決于路由表中的條目,系統(tǒng)中數(shù)據(jù)結(jié)構(gòu)的執(zhí)行以及硬件實(shí)現(xiàn)。
2. 排隊(duì)延時(shí):排隊(duì)延時(shí)是數(shù)據(jù)包排隊(duì)和發(fā)送之間的時(shí)間。這取決于數(shù)據(jù)流量的大小,流量類型以及實(shí)現(xiàn)哪些路由器隊(duì)列算法。不同的算法可以調(diào)整系統(tǒng)偏好的延時(shí),或者對所有流量要求相同的延時(shí)。
3. 傳輸延時(shí):傳輸延時(shí)是將數(shù)據(jù)包的數(shù)據(jù)推入線路所需的時(shí)間。這會根據(jù)數(shù)據(jù)包的不同大小和帶寬大小而不同。這并不取決于傳輸線的距離,因?yàn)樗鼉H僅是將包中數(shù)據(jù)推入傳輸線的時(shí)間,而不是沿著傳輸線到達(dá)接收端的時(shí)間。
4. 傳播延時(shí):傳播延時(shí)是與從發(fā)送端傳輸?shù)浇邮斩说臄?shù)據(jù)包的第一個(gè)比特相關(guān)的時(shí)間。這通常被稱為距離延時(shí),并且因此數(shù)據(jù)比特受到傳播距離和傳播速度的影響。
這些延時(shí)組合在一起構(gòu)成網(wǎng)絡(luò)中的總延時(shí)。往返時(shí)間由這些延時(shí)和接收端到發(fā)送端之間的時(shí)間組成。
延時(shí)的影響
延時(shí)主要會影響用戶體驗(yàn)。在嚴(yán)格的音頻通話中,150毫秒的延時(shí)是非常明顯的并且會影響用戶。在嚴(yán)格的視頻通話中,認(rèn)為400毫秒是可辨識的。將這兩種呼叫功能集中在一起后,聯(lián)合的音頻和視頻呼叫應(yīng)該保持同步,并且延時(shí)要少于150毫秒以不影響用戶。但是,一般來說,延時(shí)盡可能低是非常重要的。無論如何,ITU建議將網(wǎng)絡(luò)延時(shí)保持在100毫秒以下。
什么是抖動(dòng)
在網(wǎng)絡(luò)上連續(xù)傳輸?shù)臄?shù)據(jù)包即便使用相同的路徑,也會有不同的延時(shí)。這是由于分組交換網(wǎng)絡(luò)固有的兩個(gè)關(guān)鍵原因造成的。第一,數(shù)據(jù)包被單獨(dú)路由。第二,網(wǎng)絡(luò)設(shè)備接收隊(duì)列中的數(shù)據(jù)包,因此無法保證延時(shí)調(diào)度不變。
每個(gè)數(shù)據(jù)包之間的這種延時(shí)不一致稱為抖動(dòng)。對于實(shí)時(shí)通信而言,這可能是一個(gè)相當(dāng)大的問題,包括IP電話,視頻會議和虛擬桌面基礎(chǔ)架構(gòu)。抖動(dòng)可能由網(wǎng)絡(luò)上的許多因素引起,并且每個(gè)網(wǎng)絡(luò)都有延時(shí)時(shí)間變化。
抖動(dòng)會導(dǎo)致什么后果
1. 丟包:當(dāng)數(shù)據(jù)包不是均勻的到達(dá)接收端時(shí),接收端必須進(jìn)行彌補(bǔ)并嘗試更正。在某些情況下,接收端無法進(jìn)行適當(dāng)?shù)母G失數(shù)據(jù)包。就最終用戶體驗(yàn)而言,這可以有多種呈現(xiàn)出的形式。比如,如果用戶正在觀看視頻并且畫面變成像素化,這就是潛在抖動(dòng)的指示。
2. 網(wǎng)絡(luò)擁塞:網(wǎng)絡(luò)設(shè)備無法發(fā)送相同數(shù)據(jù)的流量,因此他們的數(shù)據(jù)包緩沖區(qū)已滿并開始丟棄數(shù)據(jù)包。如果端點(diǎn)上的網(wǎng)絡(luò)沒有干擾,則每個(gè)數(shù)據(jù)包都會到達(dá)。但是,如果端點(diǎn)緩沖區(qū)滿了,會使數(shù)據(jù)包到達(dá)的越來越晚,導(dǎo)致抖動(dòng)。這被稱為初期擁塞(incipient congestion)。通過監(jiān)視抖動(dòng),可以觀察到初期擁塞。同樣,如果出現(xiàn)初期網(wǎng)絡(luò)擁塞,則說明抖動(dòng)正在迅速變化。
當(dāng)網(wǎng)絡(luò)設(shè)備開始丟棄數(shù)據(jù)包,并且端點(diǎn)沒有收到數(shù)據(jù)包時(shí)就會發(fā)生擁塞。終端可能會要求重發(fā)丟失的數(shù)據(jù)包,這會導(dǎo)致?lián)砣罎ⅰ?br>
需要注意的是接收端不會直接導(dǎo)致?lián)砣?,也不會丟棄數(shù)據(jù)包。請想象一條高速公路,其中有旅店A和旅店B。旅店B擁擠不是由于B沒有足夠的停車位而造成的。擁擠是由A引起的,所以它會不斷地將公路上的騎車送到B旅店。
我該如何補(bǔ)償抖動(dòng)
為了彌補(bǔ)抖動(dòng),在連接的接收端使用抖動(dòng)緩沖區(qū)。抖動(dòng)緩沖區(qū)收集并存儲傳入數(shù)據(jù)包,以便它可以確定如何以一致的間隔發(fā)送它們。
1. 靜態(tài)抖動(dòng)緩沖—其在系統(tǒng)的硬件中實(shí)現(xiàn),并且通常由制造商配置。
2. 動(dòng)態(tài)抖動(dòng)緩沖—其在系統(tǒng)軟件中實(shí)現(xiàn),并由管理員進(jìn)行配置。他們可對緩沖進(jìn)行調(diào)整以適應(yīng)網(wǎng)絡(luò)變化。
播放延時(shí)
播放延時(shí)是數(shù)據(jù)包到達(dá)時(shí)和播放時(shí)間之間的延時(shí)。當(dāng)抖動(dòng)緩沖區(qū)存儲傳入數(shù)據(jù)包并等待以均勻間隔分配它們時(shí),這會增加數(shù)據(jù)包到達(dá)時(shí)間與播放時(shí)間之間的時(shí)間,也被稱為播放延時(shí)。這個(gè)延時(shí)是由抖動(dòng)緩沖區(qū)引入的,因?yàn)樗?fù)責(zé)規(guī)定傳入數(shù)據(jù)包何時(shí)分發(fā)。
總結(jié)
延時(shí)和抖動(dòng)天生就緊密相連,但它們其實(shí)并不同。延時(shí)是數(shù)據(jù)從網(wǎng)絡(luò)上的一個(gè)端點(diǎn)移動(dòng)到另一個(gè)端點(diǎn)所花費(fèi)的時(shí)間。這是一個(gè)受多種因素影響的復(fù)雜的值。另一方面,抖動(dòng)是兩個(gè)數(shù)據(jù)包之間的延時(shí)差異。同樣,它也可能是由網(wǎng)絡(luò)上的幾個(gè)因素造成的。盡管抖動(dòng)和延時(shí)有相似之處,但是抖動(dòng)僅僅是基于延時(shí)產(chǎn)生的而已,但不等于它。
補(bǔ)充
音視頻常見問題分析:延遲和抖動(dòng)
關(guān)于音視頻常見的問題,比如延時(shí)和抖動(dòng)
延遲:是網(wǎng)絡(luò)傳輸中的一個(gè)重要指標(biāo),測量了數(shù)據(jù)從一個(gè)端點(diǎn)到另外一個(gè)端點(diǎn)所需的時(shí)間。一般我們用毫秒作為其單位。通常我們也把延遲叫做延時(shí),但是延時(shí)有時(shí)還會表示數(shù)據(jù)包發(fā)送端到接受端的往返時(shí)間。這個(gè)往返時(shí)間我們可以通過網(wǎng)絡(luò)監(jiān)控工具測量,測量數(shù)據(jù)包的發(fā)送時(shí)間點(diǎn)和接受到確認(rèn)的時(shí)間點(diǎn),兩者之差就是延時(shí)。單向時(shí)間就是延遲。
抖動(dòng):由于數(shù)據(jù)包的大小,網(wǎng)絡(luò)路由的路徑選擇等眾多因素,我們無法保證數(shù)據(jù)包的延遲時(shí)間是一致的,數(shù)據(jù)包和數(shù)據(jù)包延遲的差異我們稱為抖動(dòng)。也就是說因?yàn)閿?shù)據(jù)包的延時(shí)值忽大忽小的現(xiàn)象我們稱為是抖動(dòng)。 可以看出延遲會造成抖動(dòng),但是抖動(dòng)并不完全等價(jià)于延遲,所以有時(shí)我
網(wǎng)絡(luò)抖動(dòng):即PDV(packet delay variation)網(wǎng)絡(luò)延時(shí)變化,最大延遲與最小延遲的時(shí)間差; 如最大延遲是20毫秒,最小延遲為5毫秒,那么網(wǎng)絡(luò)抖動(dòng)就是15毫秒,它主要標(biāo)識一個(gè)網(wǎng)絡(luò)的穩(wěn)定性。
抖動(dòng)造成原因:如果網(wǎng)絡(luò)發(fā)生擁塞,排隊(duì)延遲將影響端到端的延遲,并導(dǎo)致通過同一連接傳輸?shù)姆纸M延遲各不相同; 當(dāng)網(wǎng)絡(luò)設(shè)備無法發(fā)送相同數(shù)據(jù)的流量,因此他們的數(shù)據(jù)包緩沖區(qū)已滿并開始丟棄數(shù)據(jù)包。
吞吐量(throughput)、抖動(dòng)率(jitter)、丟包率(drop)、端到端延遲(delay)
吞吐量:單位時(shí)間內(nèi),某個(gè)節(jié)點(diǎn)發(fā)送和接收的數(shù)據(jù)量,單位一般是b/s 丟包率(Loss Tolerance或packet loss rate):指測試中所丟失數(shù)據(jù)包數(shù)量占所發(fā)送數(shù)據(jù)包的比率,通常在吞吐量范圍內(nèi)測試。丟包率與數(shù)據(jù)包長度以及包發(fā)送頻率相關(guān)。通常,千兆網(wǎng)卡在流量大于200
抖動(dòng)和遲延
為何而抖!
指最大遲延和最小遲延的差值即抖動(dòng)遲延,運(yùn)營商網(wǎng)絡(luò)多為ms級別。 在網(wǎng)路中經(jīng)過的網(wǎng)絡(luò)設(shè)備層數(shù)越多經(jīng)過設(shè)備越多,就需要更多的處理時(shí)間去排隊(duì)等待轉(zhuǎn)發(fā),因此時(shí)延由此而來,抖動(dòng)由此而來。
遲延的影響!
從玩游戲的角度出發(fā)的話,就是指你當(dāng)前玩游戲的電腦的客戶端和游戲服務(wù)器的服務(wù)端之間傳送數(shù)據(jù)所需的時(shí)間,這里的數(shù)據(jù)就是當(dāng)前玩的角色各項(xiàng)數(shù)值以及對方各項(xiàng)數(shù)值包括戰(zhàn)力、技能、坐標(biāo)等。
ping、網(wǎng)絡(luò)抖動(dòng)與丟包
基本概念:
ping: PING指一個(gè)數(shù)據(jù)包從用戶的設(shè)備發(fā)送到測速點(diǎn),然后再立即從測速點(diǎn)返回用戶設(shè)備的來回時(shí)間。也就是俗稱的“網(wǎng)絡(luò)延遲” 一般以毫秒(ms)計(jì)算。 一般PING在0~100ms都是正常的速度,不會有較為明顯的卡頓。
測試ping值方法: 在powershell中輸入ping [網(wǎng)絡(luò)地址]即可測試,默認(rèn)會測4次。
什么叫網(wǎng)絡(luò)抖動(dòng)
本文為方便以后自己記憶記錄,如有問題,請指正。
網(wǎng)絡(luò)抖動(dòng): 網(wǎng)絡(luò)中的延遲是指信息從發(fā)送到接收經(jīng)過的延遲時(shí)間,一般由傳輸延遲及處理延遲組成; 而抖動(dòng)是指最大延遲與最小延遲的時(shí)間差,如最大延遲是20毫秒,最小延遲為5毫秒,那么網(wǎng)絡(luò)抖動(dòng)就是15毫秒, 它主要標(biāo)識一個(gè)網(wǎng)絡(luò)的穩(wěn)定性。 但是個(gè)人從直觀表現(xiàn)上看指的是每兩個(gè)相鄰的數(shù)據(jù)包接收時(shí)的時(shí)間間隔之差,比如第一個(gè)數(shù)據(jù)包的與第二個(gè)數(shù)據(jù)包到達(dá)的時(shí)間差是20ms,可能第三個(gè)包和第二個(gè)包的時(shí)間差是5ms, 那么網(wǎng)絡(luò)抖動(dòng)就是15ms。 t表示一個(gè)個(gè)的數(shù)據(jù)包
網(wǎng)絡(luò)抖動(dòng): 一組數(shù)據(jù)包再網(wǎng)絡(luò)中傳輸過程中,相鄰數(shù)據(jù)包達(dá)到目的地時(shí)間差值,統(tǒng)計(jì)出來,所有相鄰的數(shù)據(jù)包時(shí)間差比較,取最大和最小的時(shí)間差值,并將兩個(gè)差值相減,就是網(wǎng)絡(luò)抖動(dòng); 網(wǎng)路抖動(dòng)是指信息從發(fā)送到接收經(jīng)過的延遲時(shí)間,一般由傳輸延遲及處理延遲組成; 而抖動(dòng)是指最大延遲與最小延遲的時(shí)間差,如最大延遲是20毫秒,最小延遲為5毫秒,那么網(wǎng)絡(luò)抖動(dòng)就是15毫秒, 它主要標(biāo)識一個(gè)網(wǎng)絡(luò)的穩(wěn)定性。