cork是什么意思?。╟ork中文翻譯,cork是什么意思,cork發(fā)音、用法及例句)
- 內容導航:
- 1、cork
- 2、TCP之Nagle、Cork、Delay ACK(延遲確認)
1、cork
cork發(fā)音
英:[k??rk] 美:[k??k]
英: 美:
cork中文意思翻譯
常用釋義:軟木
v.用瓶塞塞??;用軟木炭涂
n.栓皮,軟木(南歐和北非的一種橡樹(shù)的樹(shù)皮);瓶塞,軟木塞;軟木浮子
cork常用詞組:
like a cork───adv. 輕松地
cork oak───(歐)栓皮櫟
cork board───軟木板
cork變形
復數--corks;第三人稱(chēng)單數--corks;現在分詞--corking;過(guò)去式--corked;過(guò)去分詞--corked。
cork雙語(yǔ)使用場(chǎng)景
1、Yet even the luxury industry's bolsters did not expect such a cork-popping recovery.───即使那些珠寶產(chǎn)業(yè)的支持這都對如此快速的恢復始料不及。
2、Cork is often used for insulation.───栓皮經(jīng)常用作絕緣材料。
3、Because of my work, I had been under a great deal of pressure when she was growing up, and I would occasionally "pop my cork. "───由于我的工作原因,在她的成長(cháng)過(guò)程中我一直經(jīng)受著(zhù)巨大的壓力,我會(huì )時(shí)不時(shí)地“發(fā)飆”。
4、It must be pretty potent stuff because when he pulled the cork out, his eyes crossed and he grinned from ear to ear.───那一定是很烈的酒,因為當他拔出木塞時(shí),兩眼迷離,咧著(zhù)嘴就笑起來(lái)了。
5、He drew the cork out of the bottle.───他把瓶塞拔了出來(lái)。
6、Yet even the luxury industry's boosters did not expect such a cork-popping recovery.───但是即使珠寶行業(yè)的支持者也沒(méi)有預料到如此之迅速的復蘇。
7、He was pulling the cork from a bottle of wine.───他在拔一瓶葡萄酒的瓶塞。
8、In the winter months, after being outside all day and walking into a warm house, I can cork off in a minute.───冬天,每當在戶(hù)外呆了一整天后走進(jìn)暖和的房子里,我能馬上入睡。
9、I like the pop you get when you pull out a cork.───我喜歡你拔出瓶塞時(shí)弄出的那“砰”的一聲。
cork相似詞語(yǔ)短語(yǔ)
1、cork it───安靜一點(diǎn)
2、agglomerated cork───凝聚軟木
3、cork flooring───[建]軟木地板
4、cork coasters───軟木杯墊
5、friary cork───軟木
6、accommodation cork───住宿軟木
7、quintuple cork───五倍軟木
8、cork beo───科克貝奧
9、cork tiles───[木]軟木磚
2、TCP之Nagle、Cork、Delay ACK(延遲確認)
[TOC]
TCP協(xié)議中的Nagle算法
TCP中的Nagle算法
Linux下TCP延遲確認(Delayed Ack)機制導致的時(shí)延問(wèn)題分析
TCP-IP詳解:Delay ACK
Nagle算法為了避免網(wǎng)絡(luò )中存在太多的小數據包,盡可能發(fā)送大的數據包。定義為在任意時(shí)刻,最多只有一個(gè)未被確認的小段。小段為小于MSS尺寸的數據塊,未被確認是指數據發(fā)出去后未收到對端的ack。
Nagle算法是在網(wǎng)速較慢的時(shí)代的產(chǎn)物,目前的網(wǎng)絡(luò )環(huán)境已經(jīng)不太需要該機制,該算法在linux系統中默認關(guān)閉。
1)如果包長(cháng)度達到MSS,則允許發(fā)送;
2)如果該包含有FIN,則允許發(fā)送;
3)設置了TCP_NODELAY選項,則允許發(fā)送;
4)未設置TCP_CORK選項時(shí),若所有發(fā)出去的包均被確認,或所有發(fā)出去的小數據包(包長(cháng)度小于MSS)均被確認,則允許發(fā)送。
對于規則4),就是說(shuō)要求一個(gè)TCP連接上最多只能有一個(gè)未被確認的小數據包,在該分組的確認到達之前,不能發(fā)送其他的小數據包。如果某個(gè)小分組的確認被延遲了(案例中的40ms),那么后續小分組的發(fā)送就會(huì )相應的延遲。也就是說(shuō)延遲確認影響的并不是被延遲確認的那個(gè)數據包,而是后續的應答包。
tcp默認使用nagle算法,最大限度的進(jìn)行緩存。
優(yōu)點(diǎn) :避免網(wǎng)絡(luò )中充斥著(zhù)許多小數據塊,降低網(wǎng)絡(luò )負載,減少網(wǎng)絡(luò )擁塞,提高網(wǎng)絡(luò )吞吐
缺點(diǎn) :客戶(hù)端的延遲會(huì )增加,實(shí)時(shí)性降低,不適合延時(shí)要求盡量小的場(chǎng)景;且對于大文件傳輸這種場(chǎng)景,會(huì )降低傳輸速度。
用TCP_NODELAY選項可以禁止Negale 算法。此時(shí),應用程序向內核遞交的每個(gè)數據包都會(huì )立即發(fā)送出去。需要注意的是,雖然禁止了Negale 算法,但網(wǎng)絡(luò )的傳輸仍然受到TCP確認延遲機制的影響。
TCP在接收到對端的報文后,并不會(huì )立即發(fā)送ack,而是等待一段時(shí)間發(fā)送ack,以便將ack和要發(fā)送的數據一塊發(fā)送。當然ack不能無(wú)限延長(cháng),否則對端會(huì )認為包超時(shí)而造成報文重傳。linux采用動(dòng)態(tài)調節算法來(lái)確定延時(shí)的時(shí)間。
TCP在何時(shí)發(fā)送ACK的時(shí)候有如下規定:
優(yōu)點(diǎn) :減少了數據段的個(gè)數,提高了發(fā)送效率
缺點(diǎn) :過(guò)多的delay會(huì )拉長(cháng)RTT(往返時(shí)延)
可以通過(guò)TCP_QUICKACK這個(gè)選項來(lái)啟動(dòng)快速ACK:
所謂的CORK就是塞子的意思,形象地理解就是用CORK將連接塞住,使得數據先不發(fā)出去,等到拔去塞子后再發(fā)出去。Cork算法與Nagle算法類(lèi)似,也有人把Cork算法稱(chēng)呼為super-Nagle。Nagle算法提出的背景是網(wǎng)絡(luò )因為大量小包小包而導致利用率低下產(chǎn)生網(wǎng)絡(luò )擁塞,網(wǎng)絡(luò )發(fā)生擁塞的時(shí)候性能還會(huì )進(jìn)一步下降,因此Nagle算法通過(guò)ACK確認包來(lái)觸發(fā)新數據包的發(fā)送(ACK確認包意味著(zhù)對端已經(jīng)接收到了一個(gè)數據包,即有一個(gè)數據包已經(jīng)離開(kāi)中間網(wǎng)絡(luò ),此時(shí)可以在向中間網(wǎng)絡(luò )注入一個(gè)數據包塊,這稱(chēng)呼為self-clocking)。Cork算法則更為激進(jìn),一旦打開(kāi)Cork算法,TCP不關(guān)注是否有收到ACK報文,只要當前緩存中累積的數據量不足以組成一個(gè)full-sized數據包就不會(huì )將數據包發(fā)出,直到一個(gè)RTO超時(shí)后才會(huì )把不滿(mǎn)足一個(gè)full-sized的數據包發(fā)出去(實(shí)際上是通過(guò)一個(gè)persist timer來(lái)設置的這個(gè)RTO定時(shí)時(shí)間,persist timer超時(shí)的時(shí)候就會(huì )強制發(fā)送)。
linux中可以通過(guò)TCP_CORK選項來(lái)設置socket打開(kāi)Cork算法。TCP_NODELAY選項和TCP_CORK選項在linux早期版本是互斥的,但目前最新的linux版本已經(jīng)可以同時(shí)打開(kāi)這兩個(gè)選項了,但是TCP_CORK選項的優(yōu)先級要比TCP_NODELAY選項的優(yōu)先級要高。
Nagle算法和CORK算法非常類(lèi)似,但是它們的著(zhù)眼點(diǎn)不一樣,Nagle算法主要避免網(wǎng)絡(luò )因為太多的小包(協(xié)議頭的比例非常之大)而擁塞,而CORK算法則是為了提高網(wǎng)絡(luò )的利用率,使得總體上協(xié)議頭占用的比例盡可能的小.如此看來(lái)這二者在避免發(fā)送小包上是一致的,在用戶(hù)控制的層面上,Nagle算法完全不受用戶(hù)socket的控制,你只能簡(jiǎn)單的設置TCP_NODELAY而禁用它,CORK算法同樣也是通過(guò)設置或者清除TCP_CORK使能或者禁用之,然而Nagle算法關(guān)心的是網(wǎng)絡(luò )擁塞問(wèn)題,只要所有的ACK回來(lái)則發(fā)包,而CORK算法卻只關(guān)心內容,在前后數據包發(fā)送間隔很短的前提下(很重要,否則內核會(huì )幫你將分散的包發(fā)出),即使你是分散發(fā)送多個(gè)小數據包,你也可以通過(guò)使能CORK算法將這些內容拼接在一個(gè)包內,如果此時(shí)用Nagle算法的話(huà),則可能做不到這一點(diǎn).
優(yōu)點(diǎn) :提高網(wǎng)絡(luò )的利用率
缺點(diǎn) :對實(shí)時(shí)性有影響
使用TCP_CORK參數進(jìn)行配置
版權聲明: 本站僅提供信息存儲空間服務(wù),旨在傳遞更多信息,不擁有所有權,不承擔相關(guān)法律責任,不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責。如因作品內容、版權和其它問(wèn)題需要同本網(wǎng)聯(lián)系的,請發(fā)送郵件至 舉報,一經(jīng)查實(shí),本站將立刻刪除。