資源描述:
《傳輸控制協(xié)議TCP》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第7章傳輸控制協(xié)議TCP要求:1.掌握TCP的可靠性機(jī)制:確認(rèn)、重傳、序號(hào);2.掌握TCP的流控和提高傳輸效率策略:滑動(dòng)窗口機(jī)制;3.掌握TCP連接的建立與關(guān)閉協(xié)議:三次握手;4.掌握TCP的報(bào)文段格式;5.掌握TCP的擁塞控制技術(shù);6.掌握TCP避免糊涂窗口綜合癥的技術(shù);7.了解緊急數(shù)據(jù)發(fā)送和強(qiáng)迫數(shù)據(jù)發(fā)送。問題?IP協(xié)議的特點(diǎn)是什么?無連接不保證可靠性盡最大努力傳輸應(yīng)用程序如果要得到高可靠性服務(wù),有哪些途徑?在IP層上增加一層功能模塊由應(yīng)用程序自身完成可靠性功能UDP能否滿足應(yīng)用程序的需求?7.1概述1.可靠性:①防丟失:確認(rèn)與重傳;②防重復(fù):報(bào)文段序號(hào);2.傳輸效率、流量控制:
2、滑動(dòng)窗口機(jī)制;3.擁塞控制:加速遞減與慢啟動(dòng)技術(shù);4.建立連接:三次握手協(xié)議;5.關(guān)閉連接:改進(jìn)的三次握手協(xié)議。要實(shí)現(xiàn)可靠的數(shù)據(jù)流傳輸服務(wù),必須解決哪幾個(gè)問題?①面向數(shù)據(jù)流;②虛電路連接;③有緩沖的傳輸;④無結(jié)構(gòu)的數(shù)據(jù)流;⑤全雙工連接??煽總鬏敺?wù)有哪些特點(diǎn)?7.2TCP的特點(diǎn)7.3TCP連接1.建立連接:三次握手功能:1.同意連接協(xié)商,做好傳輸數(shù)據(jù)的準(zhǔn)備;2.協(xié)商各自報(bào)文段ISN(初始序列號(hào),不能為‘1’);3.協(xié)商MSS(只有SYN報(bào)文段能協(xié)商MSS)。說明:SYN報(bào)文段占用初始序號(hào),發(fā)送數(shù)據(jù)的第一字節(jié)序號(hào)為ISN+1。接收ACK客戶端服務(wù)器報(bào)文段發(fā)送SYNseq=xREQUE
3、ST接收SYN發(fā)送SYNseq=y,ACKx+1ACCEPTED接收SYN+ACK發(fā)送ACKy+1CONFIRM關(guān)于ISN和MSSISN不能取1,為什么?ISN的設(shè)置方法是有一定規(guī)律的。MSS為什么要選擇MSS?如果連接的兩端在同一個(gè)物理網(wǎng)絡(luò)中,TCP協(xié)議軟件能計(jì)算出合適的MSS;如果連接的兩端不在同一個(gè)物理網(wǎng)絡(luò)中,則把路徑上最小的MTU除去首部后的數(shù)據(jù)大小作為MSS.選擇合適的MSS非常困難:太小,網(wǎng)絡(luò)利用率低;太大,會(huì)降低網(wǎng)絡(luò)性能。2.關(guān)閉連接:改進(jìn)的三次握手說明:①FIN報(bào)文段占用一個(gè)序號(hào);單純的ACK報(bào)文段不占用序號(hào)。②TCP提供了半關(guān)閉能力:連接的一端在結(jié)束它的發(fā)送后還能
4、接收來自另一端數(shù)據(jù)。③有些編程接口提供close來關(guān)閉TCP連接,提供shutdown加特殊參數(shù)來實(shí)現(xiàn)半關(guān)閉。網(wǎng)點(diǎn)1網(wǎng)點(diǎn)2接收ACK接收ACK發(fā)送FINseq=x接收FINACKx+1發(fā)送FINseq=yACKx+1接收FIN+ACK發(fā)送ACKy+13.TCP連接異常關(guān)閉異常關(guān)閉:出現(xiàn)異常情況使得應(yīng)用程序或網(wǎng)絡(luò)軟件中斷連接。連接復(fù)位–RST:發(fā)起端發(fā)RST報(bào)文段,雙方立即停止傳輸,并退出連接。4.端口、端點(diǎn)和連接(1)端口(21、23、25、53、79、80、88、139、161)(2)端點(diǎn)一對(duì)整數(shù):(hostIP,port)標(biāo)識(shí)通信一方的一個(gè)應(yīng)用程序。(3)連接一對(duì)端點(diǎn):表示通信
5、雙方應(yīng)用程序間的一條虛電路。①主動(dòng)打開–去請(qǐng)求②被動(dòng)打開–等待來(4)說明①一臺(tái)機(jī)器上的一個(gè)TCP端口可被多個(gè)連接共享;②TCP、UDP可用相同的端口號(hào),但不會(huì)沖突。一個(gè)DOS命令:NetstatActiveConnectionsProtoLocalAddressForeignAddressStateTCPkoukou:1056202.196.56.240:httpsESTABLISHEDNetstat–o:列出與每個(gè)端口相關(guān)的進(jìn)程N(yùn)etstat–r:顯示路由表7.4提供可靠性1.防丟失–帶重傳的肯定確認(rèn)技術(shù)①接收方收到數(shù)據(jù)后向源站發(fā)確認(rèn)(ACK);②設(shè)置定時(shí)器,源站在限定時(shí)間內(nèi)未
6、收到ACK,則重發(fā)。數(shù)據(jù)發(fā)送方數(shù)據(jù)接收方接收確認(rèn)發(fā)送分組接收分組發(fā)送確認(rèn)接收確認(rèn)發(fā)送分組接收分組發(fā)送確認(rèn)超時(shí)重傳兩個(gè)問題如何識(shí)別和處理重復(fù)的數(shù)據(jù)?序號(hào)拋棄定時(shí)器時(shí)限設(shè)置多長(zhǎng)?2.防重復(fù)和亂序報(bào)文段重復(fù)產(chǎn)生的原因?“假“丟失:確認(rèn)丟失或確認(rèn)延遲(超時(shí))到達(dá),致使發(fā)送方重傳造成的。解決方法:①?為每一分組賦予一個(gè)序號(hào),用以檢測(cè)重復(fù)。②序號(hào)同時(shí)保證了分組間的正確順序。③?確認(rèn)時(shí)通過確認(rèn)號(hào)指明哪些分組已經(jīng)收到。(累計(jì)確認(rèn))序號(hào)與確認(rèn)號(hào)序號(hào)(seq)seq1=ISNseqn+1=seqn+第n個(gè)報(bào)文段的長(zhǎng)度(以字節(jié)計(jì))確認(rèn)號(hào)(ACK)確認(rèn)號(hào)=期望接收的下一個(gè)報(bào)文段的序號(hào)可提高效率的捎帶累計(jì)確
7、認(rèn)技術(shù)什么是累計(jì)確認(rèn)?只確認(rèn)前面連續(xù)收到的報(bào)文什么是捎帶確認(rèn)?把對(duì)上一個(gè)報(bào)文的確認(rèn)信息放到發(fā)給發(fā)送方的數(shù)據(jù)報(bào)文中捎帶回去。3.RTT與重傳定時(shí)器對(duì)于超時(shí)重傳的情況,如何設(shè)置重傳定時(shí)器的時(shí)限?時(shí)限設(shè)置的過大過小會(huì)出現(xiàn)什么問題?網(wǎng)絡(luò)性能不斷變化,定時(shí)時(shí)限應(yīng)動(dòng)態(tài)調(diào)整兩個(gè)概念:①RTT:往返時(shí)間,報(bào)文段發(fā)出到收到確認(rèn)信息間的時(shí)間段。②自適應(yīng)重傳算法:監(jiān)視每個(gè)連接的性能,由此推算出合適的定時(shí)時(shí)限。當(dāng)連接的性能變化時(shí),隨時(shí)修改定時(shí)時(shí)限。重傳定時(shí)時(shí)限的計(jì)算方法重傳定時(shí)時(shí)限的計(jì)算方法