《傳輸控制協(xié)議》PPT課件.ppt_第1頁
《傳輸控制協(xié)議》PPT課件.ppt_第2頁
《傳輸控制協(xié)議》PPT課件.ppt_第3頁
《傳輸控制協(xié)議》PPT課件.ppt_第4頁
《傳輸控制協(xié)議》PPT課件.ppt_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第7章 傳輸控制協(xié)議TCP,要求: 1. 掌握TCP的可靠性機制:確認、重傳、序號; 2. 掌握TCP的流控和提高傳輸效率策略:滑動窗口機制; 3. 掌握TCP連接的建立與關(guān)閉協(xié)議:三次握手; 4. 掌握TCP的報文段格式; 5. 掌握TCP的擁塞控制技術(shù); 6. 掌握TCP避免糊涂窗口綜合癥的技術(shù); 7. 了解緊急數(shù)據(jù)發(fā)送和強迫數(shù)據(jù)發(fā)送。,問題?,IP協(xié)議的特點是什么? 無連接 不保證可靠性 盡最大努力傳輸 應(yīng)用程序如果要得到高可靠性服務(wù),有哪些途徑? 在IP層上增加一層功能模塊 由應(yīng)用程序自身完成可靠性功能 UDP能否滿足應(yīng)用程序的需求?,7.1 概述,1.可靠性: 防丟失:確認與重傳; 防重復(fù):報文段序號; 2.傳輸效率、流量控制:滑動窗口機制; 3.擁塞控制:加速遞減與慢啟動技術(shù); 4.建立連接:三次握手協(xié)議; 5.關(guān)閉連接:改進的三次握手協(xié)議。,要實現(xiàn)可靠的數(shù)據(jù)流傳輸服務(wù), 必須解決哪幾個問題?, 面向數(shù)據(jù)流; 虛電路連接; 有緩沖的傳輸; 無結(jié)構(gòu)的數(shù)據(jù)流; 全雙工連接。,可靠傳輸服務(wù)有哪些特點?,7.2 TCP的特點,7.3 TCP連接 1.建立連接 :三次握手,功能: 1. 同意連接協(xié)商,做好傳輸數(shù)據(jù)的準備; 2.協(xié)商各自報文段ISN(初始序列號,不能為1); 3. 協(xié)商MSS(只有SYN報文段能協(xié)商MSS)。 說明: SYN報文段占用初始序號,發(fā)送數(shù)據(jù)的第一字節(jié)序號為ISN+1。,接收ACK,關(guān)于ISN和MSS,ISN 不能取1,為什么? ISN的設(shè)置方法是有一定規(guī)律的。 MSS 為什么要選擇MSS? 如果連接的兩端在同一個物理網(wǎng)絡(luò)中,TCP協(xié)議軟件能計算出合適的MSS; 如果連接的兩端不在同一個物理網(wǎng)絡(luò)中,則把路徑上最小的MTU除去首部后的數(shù)據(jù)大小作為MSS. 選擇合適的MSS非常困難:太小,網(wǎng)絡(luò)利用率低;太大,會降低網(wǎng)絡(luò)性能。,2.關(guān)閉連接:改進的三次握手,說明: FIN報文段占用一個序號;單純的ACK報文段不占用序號。 TCP提供了半關(guān)閉能力:連接的一端在結(jié)束它的發(fā)送后還能接收來自另一端數(shù)據(jù)。 有些編程接口提供close來關(guān)閉TCP連接,提供shutdown加特殊參數(shù)來實現(xiàn)半關(guān)閉。,接收ACK,接收ACK,3. TCP連接異常關(guān)閉 異常關(guān)閉:出現(xiàn)異常情況使得應(yīng)用程序或網(wǎng)絡(luò)軟件 中斷連接。 連接復(fù)位 RST:發(fā)起端發(fā)RST報文段,雙方立即停 止傳輸,并退出連接。,4. 端口、端點和連接 (1) 端口(21、23、25、53、79、80、88、139、161) (2) 端點 一對整數(shù):(host IP,port)標識通信一方的一個應(yīng)用程序。 (3) 連接 一對端點:表示通信雙方應(yīng)用程序間的一條虛電路。 主動打開 去請求 被動打開 等待來 (4)說明 一臺機器上的一個TCP端口可被多個連接共享; TCP、UDP可用相同的端口號,但不會沖突。,一個DOS命令:Netstat Active Connections Proto Local Address Foreign Address State TCP koukou:1056 40:https ESTABLISHED Netstat o:列出與每個端口相關(guān)的進程 Netstat r: 顯示路由表,7.4 提供可靠性 1. 防丟失 帶重傳的肯定確認技術(shù), 接收方收到數(shù)據(jù)后向源站發(fā)確認(ACK); 設(shè)置定時器,源站在限定時間內(nèi)未收到ACK,則重發(fā)。,接收確認,兩個問題,如何識別和處理重復(fù)的數(shù)據(jù)? 序號 拋棄 定時器時限設(shè)置多長?,2. 防重復(fù)和亂序,報文段重復(fù)產(chǎn)生的原因? “假“丟失:確認丟失或確認延遲(超時)到達,致使發(fā)送方重傳造成的。 解決方法: 為每一分組賦予一個序號,用以檢測重復(fù)。 序號同時保證了分組間的正確順序。 確認時通過確認號指明哪些分組已經(jīng)收到。(累計確認),序號與確認號,序號 (seq) seq1=ISN seqn+1= seqn+第n個報文段的長度(以字節(jié)計) 確認號(ACK) 確認號 = 期望接收的下一個報文段的序號,可提高效率的捎帶累計確認技術(shù),什么是累計確認? 只確認前面連續(xù)收到的報文 什么是捎帶確認? 把對上一個報文的確認信息放到發(fā)給發(fā)送方的數(shù)據(jù)報文中捎帶回去。,3. RTT與重傳定時器,對于超時重傳的情況,如何設(shè)置重傳定時器的時限? 時限設(shè)置的過大過小會出現(xiàn)什么問題? 網(wǎng)絡(luò)性能不斷變化,定時時限應(yīng)動態(tài)調(diào)整 兩個概念: RTT:往返時間,報文段發(fā)出到收到確認信息間的時間段。 自適應(yīng)重傳算法:監(jiān)視每個連接的性能,由此推算出合適的定時時限。當連接的性能變化時,隨時修改定時時限。,重傳定時時限的計算方法,重傳定時時限的計算方法: 早期的方法 改進的方法 Karn算法和定時器補償,(1) 早期的方法 R:RTT的估計值 (之前RTT的加權(quán)平均值) M:本次測量的RTT值 RTO:定時時限 修改估計值: R R + (1-)M (01,通常取=0.9) 計算時限: RTO = R (早期取2,后改為4) 缺陷:在RTT變化較大的場合,說明網(wǎng)絡(luò)某處處于擁塞狀態(tài),但上述方法對此反映不敏感,從而造成不必要的重傳,進一步加重網(wǎng)絡(luò)負擔(dān)。,(2) 改進的方法 R:RTT的估計值 M:本次測量的RTT值 RTO:定時時限 Diff:本次測量結(jié)果與上次RTT估計值的偏差 Dev :平均偏差的估計值 Diff M - R R R + *Diff Dev Dev +*(|Diff| - Dev) (Dev的估計值) RTO R +*Dev 、在01之間,通常?。?= 1/8, = 1/4,= 8,(3) Karn算法和定時器補償 確認二義性:對于重傳的報文段,收到確認后是對哪一次傳輸?shù)拇_認無法確定。 結(jié)果:RTT樣本值無法使用 ; Karn算法: 思想:當超時重傳發(fā)生時,不再更新RTT估計值,忽略重傳樣本。 定時器補償: 超時重傳發(fā)生,加大定時時限: RTO *RTO (通常取2,即指數(shù)避退)。 對重傳分組的后續(xù)分組,定時時限不變,直到獲得一個新的有效樣本時再更改時限值。,7.5 傳輸效率和流量控制 - 滑動窗口機制 停-等機制:等前一個報文的確認到來后才能發(fā)送下一個報文,效率太低。 1.一般的滑動窗口機制 思想:允許發(fā)送方不必等確認到來就可繼續(xù)發(fā)送下面的分組,但規(guī)定一個上限。若多個分組的確認未到時,則暫停發(fā)送。,TCP的滑動窗口按字節(jié)操作而不是按報文段或 分組操作。 TCP窗口大小為字節(jié)數(shù)。最大為65535字節(jié)。 發(fā)送方為每個連接設(shè)置3個指針,定義了滑動窗口三要素: (1) 左邊界指針:區(qū)分已發(fā)送字節(jié)流中已確認部分與未確認部分。 (2) 右邊界指針:序列中未得到確認情況下可以發(fā)送的最高字節(jié)的序號。 (3) 已發(fā)與未發(fā)邊界指針:窗口中已發(fā)送和未發(fā)送字節(jié)的界限。,2. TCP的滑動窗口技術(shù),1 2 100 101 102 4100 4101 4102,分組流,WindowSize=4000,右邊界指針,左邊界指針,已發(fā)與未發(fā) 邊界指針,通信雙方都設(shè)有發(fā)送和接收緩沖區(qū)(相當于發(fā)送窗口和接收窗口)。默認大小各系統(tǒng)有差異,如4096、8192、16384等。發(fā)送緩沖區(qū)大小為默認窗口大小。 TCP連接兩端各有兩個窗口(發(fā)送窗口和接收窗口),3. TCP端到端流量控制 - 窗口大小可變技術(shù) 時機:目的主機緩沖區(qū)變小而不能接收源主機更多的數(shù)據(jù)時,就要進行流量控制。 TCP技術(shù):可隨時改變窗口大小。目的主機在確認時,向源主機告知目的主機接收緩沖區(qū)的大小。,說明:接收方使用0窗口通告來停止所有的傳輸。此時,除了緊急數(shù)據(jù)和窗口試探報文外,不發(fā)其它數(shù)據(jù) 。,101 200 201 320 321399,如何防止死鎖?,當接收方緩存有了空間時,如何讓對方繼續(xù)發(fā)送數(shù)據(jù)給自己? 如果窗口變?yōu)榉?時,則接收方會向發(fā)送方發(fā)非0窗口的通告; 但是,若該確認丟失,則會造成死鎖。如何防止死鎖? 堅持定時器:發(fā)送方接收到0窗口通告時進行設(shè)置。用于周期性地向?qū)Ψ皆儐柎翱诖笮 ?窗口試探報文:在堅持定時器時間到、但仍沒收到接收方非0窗口的通知時發(fā)送。防止非0窗口通告丟失造成死鎖。,發(fā)送端要發(fā)送 900 字節(jié)長的數(shù)據(jù),劃分為 9 個 100 字節(jié)長的報文段,而發(fā)送窗口確定為 500 字節(jié)。 發(fā)送端只要收到了對方的確認,發(fā)送窗口就可前移。 發(fā)送 TCP 要維護一個指針。每發(fā)送一個報文段,指針就向前移動一個報文段的距離。,舉例,發(fā)送端已發(fā)送了 400 字節(jié)的數(shù)據(jù),但只收到對前 200 字節(jié)數(shù)據(jù)的確認,同時窗口大小不變。 現(xiàn)在發(fā)送端還可發(fā)送 300 字節(jié)。,發(fā)送端收到了對方對前 400 字節(jié)數(shù)據(jù)的確認,但對方通知發(fā)送端必須把窗口減小到 400 字節(jié)。 現(xiàn)在發(fā)送端最多還可發(fā)送 400 字節(jié)的數(shù)據(jù)。,主機 A,主機 B,允許 A 再發(fā)送 300 字節(jié),A 還能發(fā)送 200 字節(jié),A 還能發(fā)送 200 字節(jié),A 還能發(fā)送 300 字節(jié),A 還能發(fā)送 100 字節(jié),A 超時重發(fā),但不能發(fā)送序號 500 以后的數(shù)據(jù),允許 A 再發(fā)送 200 字節(jié)(序號 501 至 700),A 還能發(fā)送 100 字節(jié)(序號 601 至 700),不允許 A 再發(fā)送(到序號 600 的數(shù)據(jù)都已收到),利用可變窗口大小進行流量控制 雙方確定的窗口值是 400,1.什么是SWS? 接收方的小窗口通告造成發(fā)送方發(fā)送一系列小的報文段,嚴重浪費網(wǎng)絡(luò)帶寬。 2.啟發(fā)式的避免策略: 接收方: (1)避免小窗口通告 ,在零窗口通告之后,只在可用緩沖區(qū)顯著增加(緩沖區(qū)空間的一半或一個MSS)后才發(fā)送新的窗口通告 (2)推遲確認(最多500ms),窗口大小不到避免SWS策略所需的尺寸時,不確認。 為了使發(fā)送方正確估計RTT,至少每隔一個報文段要進行正常的確認。,4. 糊涂窗口綜合癥SWS,發(fā)送方:避免小報文段發(fā)送 Nagle算法:自適應(yīng)推遲傳輸以便將數(shù)據(jù)組塊 (1)連接建立后,最初的數(shù)據(jù)會立即發(fā)送。 (2)當緩沖區(qū)中數(shù)據(jù)不足一個報文段,則推遲發(fā)送。等到一個確認來到(確認觸發(fā))時,發(fā)送緩沖區(qū)中的小報文段。 3.說明 Nagle算法的兩個優(yōu)點: 自適應(yīng):確認到達得越快,數(shù)據(jù)也就發(fā)送得越快 ; 計算簡單:不需要定時器。 可關(guān)閉Nagle算法,應(yīng)用程序接口一般提供選項TCP-NODELAY來關(guān)閉Nagle算法。,擁塞:交換節(jié)點(如路由器)數(shù)據(jù)報負載過重的現(xiàn)象 。 回顧:IP層的擁塞控制技術(shù): (ICMP源站抑制報文),是一種被動機制。 TCP擁塞控制的必要性:在TCP層,擁塞造成時延增加,這又會造成超時重傳,控制不當會進一步加重擁塞。,7.6 TCP擁塞控制技術(shù),TCP控制擁塞的兩個變量,每一個TCP連接需要有以下兩個狀態(tài)變量: 接收端窗口 (receiver window) ,又稱為通知窗口(advertised window)。 接收端根據(jù)其目前的接收緩存大小向發(fā)送方所許諾的最新的窗口值 來自接收端的流量控制 擁塞窗口 (congestion window)。 發(fā)送端根據(jù)自己估計的網(wǎng)絡(luò)擁塞程度而設(shè)置的窗口值 它對一個發(fā)送方能向網(wǎng)絡(luò)中發(fā)送流量的速率進行限制 來自發(fā)送端的流量控制。,發(fā)送窗口的上限值,發(fā)送窗口的上限值取決于接收端窗口rwnd和擁塞窗口cwnd這兩個變量中較小的一個,即應(yīng)按以下公式確定: 發(fā)送窗口的上限值 min rwnd, cwnd,慢啟動門限,慢啟動門限(ssthresh)用于確定是采用慢啟動還是擁塞避免算法來控制數(shù)據(jù)傳送: 當cwndssthresh時,使用擁塞避免算法; 當cwnd=ssthresh時,既可以使用慢啟動算法,也可以使用擁塞避免算法。, 擁塞窗口cwnd 每個連接都有一個擁塞窗口,該窗口大小以字節(jié)為單位,但是增加和減少以MSS為單位; 初始大?。?個MSS; 慢啟動算法 思想:新連接開始或擁塞解除后,都僅以一個最大報文段長度作為擁塞窗口cwnd的初始值。此后,每收到一個確認,cwnd增加一個MSS。 擁塞 避免算法 當cwnd增加到ssthresh的一半時,進入“擁塞避免”狀態(tài)。 思想:窗口中的所有報文段都被確認后,才將cnwd增加一個MSS。 加速遞減技術(shù) 指數(shù)級遞減:出現(xiàn)超時重傳時,將ssthresh值設(shè)為當前擁塞窗口的1/2,擁塞窗口恢復(fù)為1個MSS大小; 指數(shù)退避:對保留在發(fā)送窗口中的報文段,將重傳時限加倍 。,TCP擁塞控制技術(shù),慢開始和擁塞避免算法的實現(xiàn)舉例-1,當 TCP 連接進行初始化時,將擁塞窗口置為 1。圖中的窗口單位不使用字節(jié)而使用報文段。,慢開始門限的初始值設(shè)置為 16 個報文段,即 ssthresh = 16。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,發(fā)送端的發(fā)送窗口不能超過擁塞窗口和接收端窗口中的最小值。我們假定接收端窗口足夠大,因此現(xiàn)在發(fā)送窗口的數(shù)值等于擁塞窗口的數(shù)值。,慢開始和擁塞避免算法的實現(xiàn)舉例-2,在執(zhí)行慢開始算法時,擁塞窗口的初始值為 1,發(fā)送第一個報文段 M0。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例-3,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,發(fā)送端收到 ACK1 (確認 M0,期望收到 M1)后,將擁塞窗口從 1 增大到 2,于是發(fā)送端可以接著發(fā)送 M1 和 M2 兩個報文段。,慢開始和擁塞避免算法的實現(xiàn)舉例-4,接收端發(fā)回 ACK2 和 ACK3。發(fā)送端每收到一個對新報文段的確認 ACK,就把發(fā)送端的擁塞窗口加 1?,F(xiàn)在發(fā)送端的擁塞窗口從 2 增大到 4,并可發(fā)送 M4 M6共 4個報文段。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例-5,發(fā)送端每收到一個對新報文段的確認 ACK,就把發(fā)送端的擁塞窗口加 1,因此擁塞窗口 隨著傳輸次數(shù)按指數(shù)規(guī)律增長。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例-6,當擁塞窗口增長到慢開始門限值 ssthresh 時(即當 CongWin = 16 時),就改為執(zhí)行擁塞避免算法,擁塞窗口按線性規(guī)律增長。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口,ssthresh = 16,慢開始,慢開始,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例-7,假定擁塞窗口的數(shù)值增長到 24 時,網(wǎng)絡(luò)出現(xiàn)超時(表明網(wǎng)絡(luò)擁塞了)。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例-8,更新后的 ssthresh 值變?yōu)?12(即發(fā)送窗口數(shù)值 24 的一半),擁塞窗口再重新設(shè)置為 1,并執(zhí)行慢開始算法。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例-9,當 CongWin = 12 時改為執(zhí)行擁塞避免算法,擁塞窗口按線性規(guī)律增長,每經(jīng)過一個往返時延就增加一個 MSS 的大小。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,7.7 TCP報文,1. 報文段和序號:報文段是TCP軟件間傳輸數(shù)據(jù)的基本單元,每個報文段都有一個序號。 (1)選取初始序號 (2)第n+1段的序號 = 第n段序號 + 第n段數(shù)據(jù)區(qū)字節(jié)數(shù)(相當于每個字節(jié)都有一個序號),首部長度:4字節(jié)計數(shù),最大15,TCP首部長度20-60 序號:當前報文的序號 確認號:希望接收的對方下一報文段序號(已成功接收到的數(shù)據(jù)字節(jié)序+1) 說明: (1)序號和確認序號在一起使得確認可捎帶進行。 (2)TCP采用累計確認策略。 (3) TCP采用經(jīng)受時延的確認(時延一般為200ms)。 缺點:發(fā)送方無法收到所有成功傳輸?shù)膱笪亩蔚拇_認信息,對往返時間樣本的精確測量帶來影響。,窗口:通告對等端緩沖區(qū)大小,使發(fā)送方修改窗口的大小,以便進行收發(fā)雙方的流量控制。 問題:初始窗口大小如何確定? 默認值,在建立連接時互相通告,校驗和計算:加入偽首部,必須(UDP可選),碼元比特(標識報文段的目的與內(nèi)容):,選項: 第一版TCP:定義了選項表結(jié)束、無操作、MSS(最大報文段長度。,MSS過小:效率低 MSS過大:考慮分片,丟失可能性增大 MSS接近路徑MTU時為最佳(由于路徑改變,很難)。 說明:只有SYN報文能協(xié)商MSS,默認536字節(jié),選項: 第二版TCP(rfc1323):增加了窗口擴大因子和時間戳。,功能:將TCP窗口定義從16bit擴大到32bit。 移位數(shù) = R:窗口大小 = 65535 2R 說明: 只能出現(xiàn)在一個SYN報文段中; 主動建立連接的一方發(fā)送這個選項,被動方收到該選項后才能發(fā)此選項; 每個方向上的擴大因子可以不同;,時間戳選項:,時間戳:發(fā)送方填 時間戳回顯應(yīng)答:接收方確認復(fù)制發(fā)回 功能:更好地估算RTT 防止回繞的序號 問題:如果接收方發(fā)送了一個對兩個報文段的確認,那么應(yīng)該復(fù)制哪一個報文的時間戳字段呢?,解決:TCP為每個連接保留一個時間戳數(shù)值。 1. TCP設(shè)置兩個變量: (1)tsrecent:每個連接的時間戳數(shù)值; (2)lastack: 最后發(fā)送的ACK的確認序號; 2. 當包含lastack的報文段到達時,其中的時間戳被保存至tsrecent; 3. 無論何時發(fā)送確認,tsrecent將被寫入時間戳回顯應(yīng)答字段,確認序號則被保存到lastack。,分析: 1. 若ACK被接收方延遲,則回顯的是第一個報文段。 例:若包含11024和10252048字節(jié)的兩個報文段到達,則: lastack為1025,回顯時間戳為11024的時戳。 原因:發(fā)送方在進行重傳超時時間的計算時,必須將延遲的ACK也考慮在內(nèi)。 2. 若收到的報文失序,則丟失的報文段到達時,它的時間戳被回顯。 例:收到報文的順序為11024-20494072-10252048,則處理情況如下: (1)確認號為1025,回顯時間戳為11024的時戳; (2)確認號為1025,回顯時間戳為11024的時戳; (3)確認號為4073,回顯時間戳為10252048的時戳;,結(jié)果:造成RTT估計過高,比過低好,7.8 緊急數(shù)據(jù)和強迫數(shù)據(jù)發(fā)送,1. 緊急數(shù)據(jù)發(fā)送和帶外數(shù)據(jù) 帶外數(shù)據(jù):源站不能按字節(jié)流的順序而需要立即發(fā)給接收方并及時處理的數(shù)據(jù)(普通數(shù)據(jù)流中的緊急數(shù)據(jù))。,接收方收到URG報文段,立即把緊急數(shù)據(jù)交應(yīng)用程序處理,然后再處理普通數(shù)據(jù)流。 通常,緊急數(shù)據(jù)從數(shù)據(jù)區(qū)最前端開始。但有些系統(tǒng)只傳送1字節(jié)緊急數(shù)據(jù),可位于數(shù)據(jù)區(qū)任意地方。,2. 強迫數(shù)據(jù)發(fā)送 應(yīng)用背景: 通常,TCP為提高網(wǎng)絡(luò)利用率,在緩沖區(qū)中積累夠一個最大報文段容量的數(shù)據(jù)后才發(fā)送。 在交互環(huán)境或?qū)崟r性要求高的場合,每條命令(甚至每個字符)希望及時傳送。TCP提供推(PUSH)操作,以強迫發(fā)送當前數(shù)據(jù)流中的數(shù)據(jù)而不必等待緩沖區(qū)滿。 應(yīng)用方式: 發(fā)送方將PSH置“1”,以通知接收方盡快把該報文段數(shù)據(jù)交應(yīng)用程序。,1. 重傳定時器: 設(shè)定丟失重傳的時間間隔 。 2. 堅持定時器 在接收方發(fā)出0窗口通告后,發(fā)送方為了防止死鎖發(fā)生,用一個堅持定時器周期性地向接收方發(fā)送窗口探察報文, 防止“0”窗口通告后窗口恢復(fù)通告丟失后造成死鎖。 3. ?;疃〞r器(間隔:2小時) 在服務(wù)器端檢測半開放的連接。 如果一個給定的連接在兩個小時內(nèi)沒有任何動作,則服務(wù)器會向客戶端發(fā)送一個探察報文段,根據(jù)響應(yīng)情況進行處理。,7.9 TCP的定時器,客戶機可能的四種狀態(tài): 客戶機正常工作,并從服務(wù)器可達:2小時后?;疃〞r器復(fù)位;若期間有通信,通信后2小時再復(fù)位; 客戶機崩潰:服務(wù)器連續(xù)發(fā)10個探察報文,回應(yīng)超時時間間隔設(shè)置為75秒,若始終沒有回應(yīng),則終止連接; 客戶機崩潰后重新啟動:服務(wù)器收到RST回應(yīng)報文,終止連接; 客戶機正常工作,但從服務(wù)器不可達:同狀態(tài)2。,1. IP欺騙:核心:ISN估計,7.11 TCP攻擊實例,H冒充B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論