日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

剖析TCP和UDP協(xié)議( 二 )


16位長(zhǎng)的窗口區(qū)域表示了“滑動(dòng)窗口”的大小,也就是告訴發(fā)送方它已經(jīng)預(yù)備好接收多少個(gè)字的數(shù)據(jù) 。TCP通過調(diào)整窗口的大小來控制數(shù)據(jù)的流量 。一個(gè)值為0的窗口意味著通告發(fā)送方:假如沒有進(jìn)一步的通知,接收器已滿,不能再接收更多的數(shù)據(jù)了 。大的窗口可以確保在任何給定的時(shí)間傳輸多達(dá)65536個(gè)未經(jīng)確認(rèn)的字節(jié),但是,當(dāng)重發(fā)定時(shí)器超時(shí)且又沒有得到接收確認(rèn)時(shí),窗口將減半,從而有效地降低傳輸速率 。
16位的校驗(yàn)碼區(qū)域保證了數(shù)據(jù)的完整性,保護(hù)了TCP頭部和IP頭部的各個(gè)區(qū)域 。發(fā)送方計(jì)算校驗(yàn)值并把它插入這個(gè)區(qū)域,接收方根據(jù)收到的包重新計(jì)算該值并比較二者,假如它們是匹配的,則認(rèn)為數(shù)據(jù)是完整無損的 。
當(dāng)設(shè)置緊急標(biāo)志位時(shí),緊急指針是一個(gè)16位的偏移量,它代表必須加快的最后一個(gè)字 。選擇區(qū)域可以容納0或多個(gè)32位字,可擴(kuò)展TCP的性能 。大多數(shù)常用的選擇區(qū)域支持大于65536字節(jié)的窗口,從而縮短了等待確認(rèn)的時(shí)間,尤其是在高傳輸率時(shí) 。
TCP的傳輸機(jī)構(gòu)有多個(gè)定時(shí)器 。當(dāng)一個(gè)包發(fā)送時(shí),重發(fā)定時(shí)器開始計(jì)數(shù);當(dāng)收到確認(rèn)信號(hào)后,重發(fā)定時(shí)器停止計(jì)數(shù) 。假如超過設(shè)定時(shí)間段還沒有收到確認(rèn)信號(hào),就重發(fā)該包 。一個(gè)比較棘手的問題是如何設(shè)置該時(shí)間段 。假如太長(zhǎng),當(dāng)網(wǎng)絡(luò)傳輸錯(cuò)誤增加時(shí)將導(dǎo)致不必要的等待時(shí)間;假如太短,就會(huì)產(chǎn)生過多的重復(fù)包從而降低網(wǎng)絡(luò)的反應(yīng)時(shí)間 ?,F(xiàn)代TCP協(xié)議根據(jù)實(shí)際情況對(duì)重發(fā)定時(shí)器進(jìn)行動(dòng)態(tài)設(shè)定 。
持續(xù)定時(shí)器對(duì)于避免死鎖是必不可少的 。假如網(wǎng)絡(luò)收到了一個(gè)大小為0的窗口確認(rèn)并且丟失了隨后的重發(fā)數(shù)據(jù)的確認(rèn),持續(xù)定時(shí)器將超時(shí)并發(fā)送一個(gè)探針 。探針的回應(yīng)將指出窗口的大?。ㄒ苍S仍為0) 。保持定時(shí)器在本端沒有任何活動(dòng)后,將檢查在連接的另一端是否還有運(yùn)行的進(jìn)程 。假如沒有任何回應(yīng),該定時(shí)器將斷開連接 。
當(dāng)斷開一個(gè)連接時(shí),斷開連接定時(shí)器將包的最大生命期加倍 。該定時(shí)器在連接斷開之前確保流量最大 。
不管重發(fā)過程執(zhí)行得多么有效,很少的丟失包就能嚴(yán)重地降低TCP連接的流量 。每個(gè)未收到的包或包的片段只會(huì)在重發(fā)定時(shí)器超時(shí)的時(shí)候才會(huì)丟失 。在數(shù)據(jù)重發(fā)時(shí),接收過程一直在遞送這些重發(fā)的數(shù)據(jù),這樣就使總體的數(shù)據(jù)傳輸陷于停頓,直到丟失的數(shù)據(jù)被取代為止 。這些重發(fā)過程導(dǎo)致基于TCP的連接有時(shí)處于不穩(wěn)定狀態(tài) 。
TCP與UDP的選擇
假如比較UDP包和TCP包的結(jié)構(gòu),很明顯UDP包不具備TCP包復(fù)雜的可靠性與控制機(jī)制 。與TCP協(xié)議相同,UDP的源端口數(shù)和目的端口數(shù)也都支持一臺(tái)主機(jī)上的多個(gè)應(yīng)用 。一個(gè)16位的UDP包包含了一個(gè)字節(jié)長(zhǎng)的頭部和數(shù)據(jù)的長(zhǎng)度,校驗(yàn)碼域使其可以進(jìn)行整體校驗(yàn) 。(許多應(yīng)用只支持UDP,如:多媒體數(shù)據(jù)流,不產(chǎn)生任何額外的數(shù)據(jù),即使知道有破壞的包也不進(jìn)行重發(fā) 。)
很明顯,當(dāng)數(shù)據(jù)傳輸?shù)男阅鼙仨氉屛挥跀?shù)據(jù)傳輸?shù)耐暾?、可控制性和可靠性時(shí),TCP協(xié)議是當(dāng)然的選擇 。當(dāng)強(qiáng)調(diào)傳輸性能而不是傳輸?shù)耐暾詴r(shí),如:音頻和多媒體應(yīng)用,UDP是最好的選擇 。在數(shù)據(jù)傳輸時(shí)間很短,以至于此前的連接過程成為整個(gè)流量主體的情況下,UDP也是一個(gè)好的選擇,如:DNS交換 。把SNMP建立在UDP上的部分原因是設(shè)計(jì)者認(rèn)為當(dāng)發(fā)生網(wǎng)絡(luò)阻塞時(shí),UDP較低的開銷使其有更好的機(jī)會(huì)去傳送治理數(shù)據(jù) 。TCP豐富的功能有時(shí)會(huì)導(dǎo)致不可預(yù)料的性能低下,但是我們相信在不遠(yuǎn)的將來,TCP可靠的點(diǎn)對(duì)點(diǎn)連接將會(huì)用于絕大多數(shù)的網(wǎng)絡(luò)應(yīng)用 。

推薦閱讀