版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、計(jì)算機(jī)網(wǎng)絡(luò),第 6 章 運(yùn)輸層,第 6 章 運(yùn)輸層,6.1 運(yùn)輸層基本概念 6.1.1 傳輸服務(wù) 6.1.2 傳輸協(xié)議的要素 6.1.3 運(yùn)輸層在OSI中的地位和作用 6.2 傳輸控制協(xié)議 6.2.1 TCP服務(wù)模型 6.2.2 TCP數(shù)據(jù)傳輸機(jī)制 6.2.3 TCP連接管理,第 6 章 運(yùn)輸層(續(xù)),6.2.4 TCP滑動(dòng)窗口機(jī)制 6.2.5 TCP重傳策略 6.2.6 TCP擁塞控制 6.3 用戶數(shù)據(jù)報(bào)傳輸協(xié)議 6.3.1 UDP 服務(wù)模型 6.3.2 UDP 數(shù)據(jù)傳輸機(jī)制 6.3.3 UDP 協(xié)議的應(yīng)用,6.1 運(yùn)輸層基本概念,6.1.1 傳輸服務(wù) 6.1.2 傳輸協(xié)議的要素 6.1.3
2、 運(yùn)輸層在OSI中的地位和作用,6.1 運(yùn)輸層基本概念,傳輸層是整個(gè)協(xié)議層次結(jié)構(gòu)的核心,其功能是從源主機(jī)到目的主機(jī)提供可靠的、價(jià)格低廉的數(shù)據(jù)傳輸,而與當(dāng)前網(wǎng)絡(luò)或使用的網(wǎng)關(guān)無關(guān)。,運(yùn)輸層為相互通信的應(yīng)用進(jìn)程提供了邏輯通信,5 4 3 2 1,運(yùn)輸層提供應(yīng)用進(jìn)程間的邏輯通信,主機(jī) A,主機(jī) B,應(yīng)用進(jìn)程,應(yīng)用進(jìn)程,路由器 1,路由器 2,AP1,LAN2,WAN,AP2,AP3,AP4,IP 層,LAN1,AP1,AP2,AP4,端口,端口,5 4 3 2 1,IP 協(xié)議的作用范圍,運(yùn)輸層協(xié)議 TCP 和 UDP 的作用范圍,AP3,運(yùn)輸層協(xié)議和網(wǎng)絡(luò)層協(xié)議的主要區(qū)別,應(yīng)用進(jìn)程,應(yīng)用進(jìn)程,IP 協(xié)議
3、的作用范圍 (提供主機(jī)之間的邏輯通信),TCP 和 UDP 協(xié)議的作用范圍 (提供進(jìn)程之間的邏輯通信),因 特 網(wǎng),6.1.1 傳輸服務(wù),1.傳輸實(shí)體 傳輸層中完成向應(yīng)用層提供服務(wù)的硬件和軟件稱為傳輸實(shí)體(Transport Entity) 傳輸實(shí)體可能存在于下列軟、硬件環(huán)境中: 操作系統(tǒng)的內(nèi)核中 一個(gè)單獨(dú)的用戶進(jìn)程中 網(wǎng)絡(luò)應(yīng)用的程序庫中 網(wǎng)絡(luò)接口卡上,6.1.1 傳輸服務(wù),傳輸層的最終目標(biāo)是向其用戶(或是指應(yīng)用層的進(jìn)程)提供有效的、可靠且價(jià)格合理的服務(wù)。這需要使用網(wǎng)絡(luò)層提供的服務(wù)。 網(wǎng)絡(luò)層、傳輸層和應(yīng)用層之間的邏輯關(guān)系 傳輸層起著將通信子網(wǎng)的技術(shù)、設(shè)計(jì)和各種欠缺與上層隔離的關(guān)鍵作用 網(wǎng)絡(luò)地址
4、與傳輸?shù)刂返年P(guān)系 兩種傳輸服務(wù):面向連接的TCP和無連接的UDP,運(yùn)輸實(shí)體,運(yùn)輸實(shí)體,運(yùn)輸協(xié)議,運(yùn)輸層,層接口,運(yùn)輸服務(wù)用戶 (應(yīng)用層實(shí)體),運(yùn)輸服務(wù)用戶 (應(yīng)用層實(shí)體),層接口,網(wǎng)絡(luò)層 (或網(wǎng)際層),應(yīng)用層,主機(jī) A,主機(jī) B,運(yùn)輸層服務(wù)訪問點(diǎn) TSAP,網(wǎng)絡(luò)層服務(wù)訪問點(diǎn) NSAP,網(wǎng)絡(luò)層、傳輸層和應(yīng)用層之間的邏輯關(guān)系,6.1.2 傳輸協(xié)議的要素,傳輸服務(wù)是通過建立連接的兩個(gè)傳輸實(shí)體之間所采用的傳輸協(xié)議來實(shí)現(xiàn)的。 傳輸層協(xié)議與數(shù)據(jù)鏈路層協(xié)議的異同點(diǎn): 相同點(diǎn):都必須解決差錯(cuò)控制、分組順序、流量控制及其它問題 不同點(diǎn): 主要是所運(yùn)行的環(huán)境不同。傳輸層是通信子網(wǎng)間進(jìn)行的數(shù)據(jù)傳輸。數(shù)據(jù)鏈路層是兩個(gè)
5、相鄰節(jié)點(diǎn)間的數(shù)據(jù)傳輸。 這導(dǎo)致在傳輸層需要尋址、建立連接的過程復(fù)雜以及對(duì)數(shù)據(jù)緩沖區(qū)與流量控制的方法上的區(qū)別。,6.1.2 傳輸協(xié)議的要素尋址,當(dāng)一個(gè)應(yīng)用程序希望與另一個(gè)應(yīng)用程序傳輸數(shù)據(jù)時(shí),如果是面向連接的,則在建立連接時(shí),必須指定是與那個(gè)應(yīng)用進(jìn)程相連,如果是無連接的,也要指明數(shù)據(jù)發(fā)給誰。 傳輸?shù)刂罚篒P地址主機(jī)端口號(hào) 兩種編址方式: 分級(jí)結(jié)構(gòu):也稱為層次型地址,由一系列字段組成,這些字段將地址分為不相交的分區(qū)。易于進(jìn)行路徑選擇,但當(dāng)用戶或進(jìn)程遷移時(shí),必須重新分配地址。如: 地址國家/網(wǎng)絡(luò)/主機(jī)/端口 平面結(jié)構(gòu):地址隨機(jī)分配,不含任何路徑信息。,6.1.2 傳輸協(xié)議的要素建立連接,建立連接的復(fù)雜
6、性在于如何確認(rèn)可靠的連接已經(jīng)建立起來了。 在TCP中采用三次握手的方法并增加某些條件來解決最后確認(rèn)問題。 增加的條件是: 所發(fā)送的報(bào)文都要有遞增的序列號(hào) 對(duì)每一個(gè)報(bào)文設(shè)置計(jì)時(shí)器,設(shè)定一個(gè)最大時(shí)延。 三次握手的原理: 發(fā)送方向接收方發(fā)送建立連接的請(qǐng)求報(bào)文,接收方向發(fā)送方回應(yīng)一個(gè)對(duì)建立連接請(qǐng)求報(bào)文的確認(rèn)報(bào)文,發(fā)送方再向接收方發(fā)送一個(gè)對(duì)確認(rèn)報(bào)文的確認(rèn)報(bào)文。,6.1.2 傳輸協(xié)議的要素釋放連接,采用三次握手的方法,有對(duì)稱釋放和非對(duì)稱釋放兩種方式 對(duì)稱釋放: 在兩個(gè)方向上分別釋放連接,一方釋放連接后,只是不能發(fā)送數(shù)據(jù),可以繼續(xù)接收數(shù)據(jù)。 適合于每個(gè)進(jìn)程有固定數(shù)量的數(shù)據(jù)需要發(fā)送并確切知道何時(shí)發(fā)送完畢的情況
7、 非對(duì)稱釋放: 當(dāng)一方釋放連接時(shí),兩個(gè)方向的連接都會(huì)被釋放。 很突然,可能會(huì)導(dǎo)致數(shù)據(jù)丟失,不適合在傳輸層使用。,6.1.3 運(yùn)輸層在OSI中的地位和作用,兩個(gè)主機(jī)進(jìn)行通信實(shí)際上就是兩個(gè)主機(jī)中的應(yīng)用進(jìn)程互相通信。 應(yīng)用進(jìn)程之間的通信又稱為端到端的通信。 運(yùn)輸層的一個(gè)很重要的功能就是復(fù)用和分用。應(yīng)用層不同進(jìn)程的報(bào)文通過不同的端口向下交到運(yùn)輸層,再往下就共用網(wǎng)絡(luò)層提供的服務(wù) 傳輸層的主要功能是:對(duì)一個(gè)進(jìn)行的對(duì)話或連接提供可靠的傳輸服務(wù),在通向網(wǎng)絡(luò)的單一無力連接上實(shí)現(xiàn)該連接的服用,在單一連接上提供端到端的序號(hào)與流量控制、端到端的差錯(cuò)控制及恢復(fù)等服務(wù),6.2 傳輸控制協(xié)議,TCP是用于在不可靠的因特網(wǎng)上
8、提供可靠的、端到端的字節(jié)流通信的協(xié)議 6.2.1 TCP服務(wù)模型 6.2.2 TCP數(shù)據(jù)傳輸機(jī)制 6.2.3 TCP連接管理 6.2.4 TCP滑動(dòng)窗口機(jī)制 6.2.5 TCP重傳策略 6.2.6 TCP擁塞控制,6.2.1 TCP服務(wù)模型,TCP服務(wù)模型具有以下特征: TCP 則提供面向連接的服務(wù) 端到端的通信,不提供廣播或多播服務(wù) 高可靠性,確保傳輸數(shù)據(jù)的正確性,不會(huì)出現(xiàn)丟失或亂序 全雙工方式傳輸 采用字節(jié)流方式,以字節(jié)為單位傳輸字節(jié)序列,如果字節(jié)流太長,將其分段。 提供緊急數(shù)據(jù)傳送功能,即當(dāng)有緊急數(shù)據(jù)需要發(fā)送時(shí),發(fā)送進(jìn)程會(huì)立即發(fā)送,接收方收到后會(huì)暫停當(dāng)前工作,讀取緊急數(shù)據(jù)并做相應(yīng)處理。,
9、6.2.2 TCP數(shù)據(jù)傳輸機(jī)制,TCP的段結(jié)構(gòu) TCP是應(yīng)用大量數(shù)據(jù)傳輸?shù)那闆r,所以需要將長的數(shù)據(jù)流分段。,TCP 首部,20 字節(jié)的 固定首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,32 bit,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,TCP 數(shù)據(jù)部分,TCP 首部,TCP 報(bào)文段,IP 數(shù)據(jù)部分,IP 首部,發(fā)送在前,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端
10、口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,源端口和目的端口字段各占 2 字節(jié)。端口是運(yùn)輸層與應(yīng)用層的服務(wù)接口。運(yùn)輸層的復(fù)用和分用功能都要通過端口才能實(shí)現(xiàn)。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,序號(hào)字段占 4 字節(jié)。TCP 連接中傳
11、送的數(shù)據(jù)流中的每一個(gè)字節(jié)都編上一個(gè)序號(hào)。序號(hào)字段的值則指的是本報(bào)文段所發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,確認(rèn)號(hào)字段占 4 字節(jié),是期望收到對(duì)方的下一個(gè)報(bào)文段的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針
12、,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,頭長度占 4 bit,它指出 TCP 報(bào)文段的數(shù)據(jù)起始處距離 TCP 報(bào)文段的起始處有多遠(yuǎn)?!皵?shù)據(jù)偏移”的單位不是字節(jié)而是 32 bit 字(4 字節(jié)為計(jì)算單位)。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,保留字段占
13、6 bit,保留為今后使用,但目前應(yīng)置為 0。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,緊急比特 URG 當(dāng) URG 1 時(shí),表明緊急指針字段有效。它告訴系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級(jí)的數(shù)據(jù))。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗
14、 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,確認(rèn)比特 ACK 只有當(dāng) ACK 1 時(shí)確認(rèn)號(hào)字段才有效。當(dāng) ACK 0 時(shí),確認(rèn)號(hào)無效。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,推送比特 PSH (PuSH) 接收 TCP 收到推送比特置 1 的報(bào)文段,就盡快地交付給
15、接收應(yīng)用進(jìn)程,而不再等到整個(gè)緩存都填滿了后再向上交付。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,復(fù)位比特 RST (ReSeT) 當(dāng) RST 1 時(shí),表明 TCP 連接中出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立運(yùn)輸連接。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源
16、端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,同步比特 SYN 同步比特 SYN 置為 1,就表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,終止比特 FIN (FINal) 用來釋放一個(gè)連接。當(dāng)FIN
17、1 時(shí),表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運(yùn)輸連接。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,窗口字段 占 2 字節(jié)。窗口字段用來控制對(duì)方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。TCP 連接的一端根據(jù)設(shè)置的緩存空間大小確定自己的接收窗口大小,然后通知對(duì)方以確定對(duì)方的發(fā)送窗口的上限。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,
18、選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,檢驗(yàn)和 占 2 字節(jié)。檢驗(yàn)和字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分。在計(jì)算檢驗(yàn)和時(shí),要在 TCP 報(bào)文段的前面加上 12 字節(jié)的偽首部。具體算法是將TCP段的內(nèi)容轉(zhuǎn)換成一系列的16比特的整數(shù),并相加,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S
19、 T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,緊急指針字段 占 16 bit。緊急指針指出在本報(bào)文段中的緊急數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào),以區(qū)分緊急數(shù)據(jù)和非緊急數(shù)據(jù)。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,選項(xiàng)字段 長度可變。一種選項(xiàng),即最大報(bào)文段長度 MSS (Maximum Segment Size)。MSS 告訴對(duì)方
20、TCP:“我的緩存所能接收的報(bào)文段的數(shù)據(jù)字段的最大長度是 MSS 個(gè)字節(jié)?!?。另一個(gè)是在使用高帶寬線路傳輸大型文件時(shí),允許用16比特代替32比特的窗口字段。,MSS 是 TCP 報(bào)文段中的數(shù)據(jù)字段的最大長度。 數(shù)據(jù)字段加上 TCP 首部 才等于整個(gè)的 TCP 報(bào)文段。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,頭 長度,檢 驗(yàn) 和,選 項(xiàng) (長 度 可 變),源 端 口,序 號(hào),緊 急 指 針,窗 口,確 認(rèn) 號(hào),保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,填充字段 這是為了使整個(gè)首部長度是 4 字節(jié)的整
21、數(shù)倍。,6.2.2 TCP數(shù)據(jù)傳輸機(jī)制TCP端口號(hào),端口用一個(gè) 16 bit 端口號(hào)進(jìn)行標(biāo)志,可以有065535范圍內(nèi)的端口。 端口號(hào)只具有本地意義,即端口號(hào)只是為了標(biāo)志本計(jì)算機(jī)應(yīng)用層中的各進(jìn)程。在因特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒有聯(lián)系的。,6.2.2 TCP數(shù)據(jù)傳輸機(jī)制TCP端口號(hào),對(duì)于這65536個(gè)端口有如下使用規(guī)定: 端口號(hào)小于256的定義為常用端口,服務(wù)器一般是通過常用端口來識(shí)別的。任何TCP/IP實(shí)現(xiàn)所提供的服務(wù)都用11023之間的端口號(hào)。這些端口號(hào)由Internet端口號(hào)分配機(jī)構(gòu)IANA(Intenet Assigned Numbers Authority) 另一類則是一般端口,
22、用來隨時(shí)分配給請(qǐng)求通信的客戶進(jìn)程,又稱為臨時(shí)端口號(hào),只需保證在本機(jī)上是唯一的即可。一般在10245000之間 大于5000的端口號(hào)是為其它服務(wù)器預(yù)留的(Internet上并不常用的服務(wù)),6.2.2 TCP數(shù)據(jù)傳輸機(jī)制TCP端口號(hào),6.2.2 TCP數(shù)據(jù)傳輸機(jī)制TCP連接管理,建立、維護(hù)和釋放連接的過程就是連接管理 1.連接建立 采用三次握手協(xié)議 第一次:第一方向另一方發(fā)送連接請(qǐng)求段 第二次:回應(yīng)對(duì)連接請(qǐng)求的確認(rèn)段 第三次:第一方再發(fā)送對(duì)確認(rèn)方確認(rèn)段的確認(rèn),用三次握手建立 TCP 連接,主機(jī) B,被動(dòng)打開,主動(dòng)打開,確認(rèn),確認(rèn),主機(jī) A,連接請(qǐng)求,建立 TCP 連接,A 的 TCP 向 B 發(fā)
23、出連接請(qǐng)求報(bào)文段,其首部中的同步比特 SYN 應(yīng)置為 1,并選擇序號(hào) x,表明傳送數(shù)據(jù)時(shí)的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)是 x。 B 的 TCP 收到連接請(qǐng)求報(bào)文段后,如同意,則發(fā)回確認(rèn)。 B 在確認(rèn)報(bào)文段中應(yīng)將 SYN 置為 1,其確認(rèn)號(hào)應(yīng)為 x 1,同時(shí)也為自己選擇序號(hào) y。 A 收到此報(bào)文段后,向 B 給出確認(rèn),其確認(rèn)號(hào)應(yīng)為 y 1。 A 的 TCP 通知上層應(yīng)用進(jìn)程,連接已經(jīng)建立。 當(dāng)運(yùn)行服務(wù)器進(jìn)程的主機(jī) B 的 TCP 收到主機(jī) A 的確認(rèn)后,也通知其上層應(yīng)用進(jìn)程,連接已經(jīng)建立。,TCP 的數(shù)據(jù)編號(hào)與確認(rèn),TCP 協(xié)議是面向字節(jié)的。TCP 將所要傳送的報(bào)文看成是字節(jié)組成的數(shù)據(jù)流,并使每一個(gè)字節(jié)
24、對(duì)應(yīng)于一個(gè)序號(hào)。 在連接建立時(shí),雙方要商定初始序號(hào)。TCP 每次發(fā)送的報(bào)文段的首部中的序號(hào)字段數(shù)值表示該報(bào)文段中的數(shù)據(jù)部分的第一個(gè)字節(jié)的序號(hào)。 TCP 的確認(rèn)是對(duì)接收到的數(shù)據(jù)的最高序號(hào)表示確認(rèn)。接收端返回的確認(rèn)號(hào)是已收到的數(shù)據(jù)的最高序號(hào)加 1。因此確認(rèn)號(hào)表示接收端期望下次收到的數(shù)據(jù)中的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)。,6.2.2 TCP數(shù)據(jù)傳輸機(jī)制TCP連接管理,2.連接釋放 因?yàn)槭侨p工通信,一方發(fā)完,另一方不一定發(fā)完,所以TCP采用對(duì)稱釋放方式。 采用三次握手方式,TCP 連接釋放的過程,應(yīng)用進(jìn)程 釋放連接 A 不再發(fā)送報(bào)文,主機(jī) B,主機(jī) A,確認(rèn),確認(rèn),從 A 到 B 的連接就釋放了,連接處于半
25、關(guān)閉狀態(tài)。 相當(dāng)于 A 向 B 說: “我已經(jīng)沒有數(shù)據(jù)要發(fā)送了。 但你如果還發(fā)送數(shù)據(jù),我仍接收?!?至此,整個(gè)連接已經(jīng)全部釋放。,6.2.4 TCP滑動(dòng)窗口機(jī)制,TCP中的滑動(dòng)窗口管理并不直接受制于確認(rèn)信息。發(fā)送方不需要從應(yīng)用層的數(shù)據(jù)一到就馬上發(fā)送,可以等數(shù)據(jù)到達(dá)一定數(shù)量后一起發(fā)送。接收方也不用一接收到數(shù)據(jù)立即發(fā)送確認(rèn),可以等到接收的數(shù)據(jù)達(dá)到一定數(shù)量后一起發(fā)送確認(rèn)。 TCP的滑動(dòng)窗口協(xié)議中的接收窗口的大小是隨著已經(jīng)接收的數(shù)據(jù)量變化的。,利用可變窗口大小進(jìn)行流量控制雙方確定的窗口值是 400,主機(jī) A,主機(jī) B,允許 A 再發(fā)送 300 字節(jié)(序號(hào) 201 至 500),A 還能發(fā)送 200 字
26、節(jié),A 還能發(fā)送 200 字節(jié)(序號(hào) 301 至 500),A 還能發(fā)送 300 字節(jié),A 還能發(fā)送 100 字節(jié)(序號(hào) 401 至 500),A 超時(shí)重發(fā),但不能發(fā)送序號(hào) 500 以后的數(shù)據(jù),允許 A 再發(fā)送 200 字節(jié)(序號(hào) 501 至 700),A 還能發(fā)送 100 字節(jié)(序號(hào) 501 至 700),不允許 A 再發(fā)送(到序號(hào) 600 的數(shù)據(jù)都已收到),6.2.5 TCP重傳策略,重傳機(jī)制是 TCP 中最重要和最復(fù)雜的問題之一。 TCP 每發(fā)送一個(gè)報(bào)文段,就對(duì)這個(gè)報(bào)文段設(shè)置一次計(jì)時(shí)器。只要計(jì)時(shí)器設(shè)置的重傳時(shí)間到但還沒有收到確認(rèn),就要重傳這一報(bào)文段。 這種重傳策略的關(guān)鍵是對(duì)計(jì)時(shí)器初值的設(shè)
27、定。目前采用較多的算法是Jacobson于1988年提出的一種不斷調(diào)整超時(shí)時(shí)間間隔的動(dòng)態(tài)算法。,6.2.5 TCP重傳策略,Jacobson算法的基本原理: 對(duì)每條TCP連接都保持一個(gè)變量RTT,用于存放當(dāng)前到目的端往返所需時(shí)間最接近的估計(jì)值。 當(dāng)發(fā)送一個(gè)報(bào)文段時(shí),同時(shí)啟動(dòng)連接的計(jì)時(shí)器。 如果再超時(shí)前到達(dá),則記錄所需的時(shí)間M,并修正RTT的值。 平均往返時(shí)延RTT (舊的RTT) (1 ) (新的往返時(shí)延樣本) 如果超時(shí)了,則將RTT的值增加1倍。,6.2.5 TCP擁塞控制,在Internet中,對(duì)擁塞控制的大部分是由TCP完成的,對(duì)擁塞控制的最有效的方法是降低數(shù)據(jù)傳輸速率。 要進(jìn)行擁塞控制
28、就要檢測到擁塞的發(fā)生,可以認(rèn)為如果出現(xiàn)傳輸超時(shí)就意味著出現(xiàn)了擁塞。 造成擁塞出現(xiàn),是由網(wǎng)絡(luò)容量與接收方容量兩個(gè)方面的問題引起的,需要分別處理。,6.2.5 TCP擁塞控制,因此,每一個(gè) TCP 連接需要有以下兩個(gè)狀態(tài)變量: 接收端窗口 rwnd (receiver window) 又稱為通知窗口(advertised window)。 這是接收端根據(jù)其目前的接收緩存大小所許諾的最新的窗口值,是來自接收端的流量控制。接收端將此窗口值放在 TCP 報(bào)文的首部中的窗口字段,傳送給發(fā)送端。 擁塞窗口 cwnd (congestion window)。 是發(fā)送端根據(jù)自己估計(jì)的網(wǎng)絡(luò)擁塞程度而設(shè)置的窗口值,是來自發(fā)送端的流量控制。 發(fā)送方取兩個(gè)窗口中的最小值作為發(fā)送的字節(jié)數(shù)。,6.2.5 TCP擁塞控制,擁塞窗口大小的確定: 在主機(jī)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 同步優(yōu)化設(shè)計(jì)2024年高中數(shù)學(xué)第一章直線與圓1.4兩條直線的平行與垂直課后篇鞏固提升含解析北師大版選擇性必修第一冊(cè)
- 專題11 課外閱讀(講義+試題) -2023年三升四語文暑假銜接課(統(tǒng)編版)
- 2024貸款購銷合同范本范文
- 2024養(yǎng)豬場轉(zhuǎn)讓合同(參考文本)
- 草藥基地合同范本(2篇)
- 2022年監(jiān)理合同(2篇)
- 關(guān)于試用期工作總結(jié)
- 頑固皮膚病康復(fù)經(jīng)驗(yàn)分享
- 國際會(huì)展中心建設(shè)總承包合同
- 跨境電商快遞租賃合同
- 如何培養(yǎng)孩子的自信心課件
- 中醫(yī)藥膳學(xué)全套課件
- 頸脊髓損傷-匯總課件
- 齒輪故障診斷完美課課件
- 2023年中國鹽業(yè)集團(tuán)有限公司校園招聘筆試題庫及答案解析
- 大班社會(huì)《特殊的車輛》課件
- 野生動(dòng)物保護(hù)知識(shí)講座課件
- 早教托育園招商加盟商業(yè)計(jì)劃書
- 光色變奏-色彩基礎(chǔ)知識(shí)與應(yīng)用課件-高中美術(shù)人美版(2019)選修繪畫
- 前列腺癌的放化療護(hù)理
- 機(jī)場英語-Airport-English課件
評(píng)論
0/150
提交評(píng)論