延遲給網路帶來的影響有哪些
現如今,網路的使用已經十分普遍,同時也會有各種各樣的區域網知識出現。比如,。小編在這裡為大家詳細介紹。
吞吐量只是在網路負載非常重的情況下才顯得有意義。而另一項衡量標準延遲對於任何網路上所有時候的任何通訊而言都是意義重大的。
延遲時間長的裝置都將使網路速度慢下來,無論其利用率是1%還是100%。更為甚者,早在延遲慢慢地增至數十毫秒之前,應用就開始減慢速度了。
千兆或10G乙太網接口出現的延遲通常是數十微秒或數百微秒。每當我針對這些的結果寫文章時,我通常都會加上這樣的文字:“在延遲達到數十毫秒之前,應用是不會受到影響的”。
其實不然,在千兆以及10G乙太網上,即使幾微秒的延遲也會極大地降低TCP的效能。其原因與TCP的工作方式有關。
通常情況下,我們使用諸如明碼IP或UDP/IP包之類的無連線通訊來進行吞吐量測試。對於無連線通訊而言,延遲對吞吐量沒有任何實際影響。
但是,即使是恆量延遲也會對諸如TCP之類面向連線的協議產生巨大的影響。考慮到至少80%的Internet通訊使用的是TCP,在進行吞吐量測試時不考慮到延遲的問題實在是一個很大的疏忽。
在TCP中,在接收端必須發出確認資訊之前,傳送端只能傳送數量有限的資料,我們稱之為視窗。視窗可以包括多個包,但是,如果傳送端不能得到對有關任何資料的確認資訊,它就不能再發送其他任何東西了。
這時候就要牽涉到延遲的問題了。現在假設我們使用一個10G交換機來接收1518位元組的乙太網幀。再假設網路利用率很低。如果利用率是10%,那麼,我們每秒鐘可以接收81274幀,或每12微秒接收一幀。
如果傳送的TCP視窗大小為16K位元組,那麼,任何一次未得到確認的資料不會超過11幀。就12微秒11幀而言,任何132微秒或更長時間的延遲都將阻止傳送端傳送更多的資料,直到所有未被確認的資料得到確認為止。
少於132微秒的延遲的情況同樣如此。但是,大於此水平的延遲都將對吞吐量產生負面影響。
在我們的10G乙太網測試中,出自Avaya公司和Force10公司的兩臺交換機每1518字字的延遲時間超過了40微秒。依此累加11次延遲,我們就遠遠地超出了吞吐量可能被降低的底線。
要概括地精確地闡明在所有情況下多大的吞吐量才會受到影響是不可能的。在大多數情況下,在整個視窗被髮送之前,至少會返回一個確認資訊。TCP也有各種機制來優化確認的傳送,如延遲或選擇性確認,而這些機制同樣可以抵消時間較長的延遲所造成的影響。然而,一般就TCP而言,時間較長的延遲每次都會勝過高吞吐量。
Force10公司最近用新的軟體對其自己的交換機進行了重新測試。Force10公司稱,大型幀的延遲時間如今是23微秒,大約只是我們測試結果的一半。儘管這是一次很大的改進,然而,對10G位/秒的速率而言,這一數值仍足以降低TCP的效能。此外,我們必須牢記在心的就是視窗的大小變化是動態的,視窗越大,即使是很小的延遲的影響也會更大。
要確定某個網路上的TCP視窗大小變化的影響是可能的。只需要三項數值:幀的長度、TCP視窗大小以及網路利用率,就可以測出您的網路上的延遲。