TCP-UDP詳解PPT優(yōu)秀課件_第1頁(yè)
TCP-UDP詳解PPT優(yōu)秀課件_第2頁(yè)
TCP-UDP詳解PPT優(yōu)秀課件_第3頁(yè)
TCP-UDP詳解PPT優(yōu)秀課件_第4頁(yè)
TCP-UDP詳解PPT優(yōu)秀課件_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、傳輸層協(xié)議( TCP/UDP )測(cè)試部傳輸層1 1物物 理理 層層2 2數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層4 4傳傳 輸輸 層層3 3網(wǎng)網(wǎng) 絡(luò)絡(luò) 層層5 5會(huì)會(huì) 話話 層層7 7應(yīng)應(yīng) 用用 層層6 6表表 示示 層層建立應(yīng)用間的端到端連接建立應(yīng)用間的端到端連接TCPSPXUDPTCP/IPIPXEtherNet, Token Ring, Token Bus, FDDI, PPP/SLIP, X. 25數(shù) 據(jù)鏈路層網(wǎng)絡(luò)層ICMPIPIGMPRARPARP傳輸層TCPUDPHTTPSMTPFTPTELNETDHCPSNMPDNSTFTP應(yīng)用層TCP/IP體系中的傳輸層Internet的傳輸層協(xié)議概述的傳輸層協(xié)議

2、概述為什么需要傳輸層?為什么需要傳輸層?n OSI網(wǎng)絡(luò)層是網(wǎng)絡(luò)層是通過(guò)通過(guò)“逐節(jié)點(diǎn)逐節(jié)點(diǎn)”(Hop-by-hop)實(shí)現(xiàn)源主機(jī)到實(shí)現(xiàn)源主機(jī)到目的目的主機(jī)間主機(jī)間網(wǎng)絡(luò)協(xié)議數(shù)據(jù)單元(網(wǎng)絡(luò)協(xié)議數(shù)據(jù)單元(Internet中的中的IP)的的“端到端到端端”傳輸?shù)摹<词咕W(wǎng)絡(luò)層在節(jié)點(diǎn)間提供服務(wù)確認(rèn),仍不能傳輸?shù)?。即使網(wǎng)絡(luò)層在節(jié)點(diǎn)間提供服務(wù)確認(rèn),仍不能保障保障“端到端端到端”可靠傳輸(如果中間節(jié)點(diǎn)對(duì)收到的數(shù)據(jù)確可靠傳輸(如果中間節(jié)點(diǎn)對(duì)收到的數(shù)據(jù)確認(rèn)后,在前傳前出現(xiàn)節(jié)點(diǎn)故障)。認(rèn)后,在前傳前出現(xiàn)節(jié)點(diǎn)故障)。n 網(wǎng)絡(luò)層地址僅能標(biāo)識(shí)網(wǎng)絡(luò)設(shè)備或端系統(tǒng)的網(wǎng)絡(luò)端口,不能網(wǎng)絡(luò)層地址僅能標(biāo)識(shí)網(wǎng)絡(luò)設(shè)備或端系統(tǒng)的網(wǎng)絡(luò)端口,不能作為

3、標(biāo)識(shí)系統(tǒng)內(nèi)部的多個(gè)應(yīng)用進(jìn)程(用戶平臺(tái)的應(yīng)用進(jìn)程作為標(biāo)識(shí)系統(tǒng)內(nèi)部的多個(gè)應(yīng)用進(jìn)程(用戶平臺(tái)的應(yīng)用進(jìn)程或信控管理平臺(tái)的特殊應(yīng)用進(jìn)程)的標(biāo)識(shí)符,因此需要應(yīng)或信控管理平臺(tái)的特殊應(yīng)用進(jìn)程)的標(biāo)識(shí)符,因此需要應(yīng)用進(jìn)程傳輸層標(biāo)識(shí)符(用進(jìn)程傳輸層標(biāo)識(shí)符(TSAP);在;在Internet中稱為中稱為“端口端口號(hào)號(hào)”傳輸層為相互通信的應(yīng)用進(jìn)程提供了傳輸層為相互通信的應(yīng)用進(jìn)程提供了“端到端端到端”(End-to-End)End-to-End)的邏的邏輯通信機(jī)制輯通信機(jī)制 54321傳輸層提供應(yīng)用進(jìn)程間的邏輯通信主機(jī) A主機(jī) B應(yīng)用進(jìn)程應(yīng)用進(jìn)程路由器 1路由器 2AP1LAN2WANAP2AP3AP4IP 層LAN1

4、AP1AP2AP4端口端口54321IP 協(xié)議的作用范圍傳輸層協(xié)議 TCP 和 UDP 的作用范圍AP3OSI中傳輸層服務(wù)訪問(wèn)中傳輸層服務(wù)訪問(wèn)點(diǎn)(點(diǎn)(TSAP)傳輸層功能 連接管理 流量控制 差錯(cuò)檢測(cè) 對(duì)用戶請(qǐng)求的響應(yīng) 建立無(wú)連接或面向連接的通信 面向連接:會(huì)話建立、數(shù)據(jù)傳輸、會(huì)話拆除 無(wú)連接:不保證數(shù)據(jù)的有序到達(dá)網(wǎng)絡(luò)層與傳輸層在實(shí)現(xiàn)網(wǎng)絡(luò)層與傳輸層在實(shí)現(xiàn)“端到端端到端”傳輸?shù)漠愅瑐鬏數(shù)漠愅W(wǎng)絡(luò)層(主機(jī)間)網(wǎng)絡(luò)層(主機(jī)間):通過(guò)通信子網(wǎng)中中繼系統(tǒng)逐級(jí)通過(guò)通信子網(wǎng)中中繼系統(tǒng)逐級(jí)轉(zhuǎn)發(fā)實(shí)現(xiàn)的轉(zhuǎn)發(fā)實(shí)現(xiàn)的“源源”、“目目的的”主機(jī)間主機(jī)間物理上物理上的的“端到端到端端”的用戶數(shù)據(jù)的傳輸。但網(wǎng)絡(luò)層協(xié)議通常只

5、定義節(jié)的用戶數(shù)據(jù)的傳輸。但網(wǎng)絡(luò)層協(xié)議通常只定義節(jié)點(diǎn)間的轉(zhuǎn)發(fā)過(guò)程,因此網(wǎng)絡(luò)層協(xié)議執(zhí)行過(guò)程不是點(diǎn)間的轉(zhuǎn)發(fā)過(guò)程,因此網(wǎng)絡(luò)層協(xié)議執(zhí)行過(guò)程不是“端端到端到端”直接通信,而是直接通信,而是“逐級(jí)逐級(jí)”(Hop-by-hop)轉(zhuǎn)發(fā)實(shí)轉(zhuǎn)發(fā)實(shí)現(xiàn)的物理上的端到端通信?,F(xiàn)的物理上的端到端通信。傳輸層(應(yīng)用進(jìn)程間)傳輸層(應(yīng)用進(jìn)程間):由于用戶數(shù)據(jù)在通信子網(wǎng)由于用戶數(shù)據(jù)在通信子網(wǎng)的用戶數(shù)據(jù)平臺(tái)上沒(méi)有傳輸層實(shí)體,因此,應(yīng)用進(jìn)程的用戶數(shù)據(jù)平臺(tái)上沒(méi)有傳輸層實(shí)體,因此,應(yīng)用進(jìn)程利用傳輸層實(shí)現(xiàn)進(jìn)程間的傳輸只是概念上利用傳輸層實(shí)現(xiàn)進(jìn)程間的傳輸只是概念上/邏輯上)的邏輯上)的“端到端端到端”的的“直接傳輸直接傳輸”。物理上仍然利用

6、網(wǎng)絡(luò)層。物理上仍然利用網(wǎng)絡(luò)層逐級(jí)實(shí)現(xiàn)的端到端服務(wù)。逐級(jí)實(shí)現(xiàn)的端到端服務(wù)。兩類服務(wù):面向連接兩類服務(wù):面向連接/無(wú)連接服務(wù)無(wú)連接服務(wù)n提供面向連接服務(wù)的協(xié)議:提供面向連接服務(wù)的協(xié)議:TCP (Transmission Control Protocol)-RFC 973n提供無(wú)連接服務(wù)的協(xié)議:提供無(wú)連接服務(wù)的協(xié)議:UDP (User Datagram Protocol)-RFC 768傳輸控制協(xié)議(傳輸控制協(xié)議(TCP)n 客戶(主動(dòng)請(qǐng)求)客戶(主動(dòng)請(qǐng)求)/服務(wù)器(被動(dòng)相應(yīng))工作模式:服務(wù)器(被動(dòng)相應(yīng))工作模式:n 建立連接:通過(guò)三次握手方式建立連接。建立連接:通過(guò)三次握手方式建立連接。SYN,

7、SEQ = xLISTEN(被動(dòng)打開)(被動(dòng)打開)(主動(dòng)打開主動(dòng)打開) SYN_SENTSYN_RCVDESTABLISHEDESTABLISHEDSYN, ACK, SEQ = y, ACK = x + 1ACK, SEQ = x + 1, ACK = y + 1SYN_RCVD客戶機(jī)客戶機(jī)服務(wù)器服務(wù)器建立連接請(qǐng)求建立連接請(qǐng)求接受連接請(qǐng)求接受連接請(qǐng)求連接已建立確認(rèn)連接已建立確認(rèn)時(shí)間時(shí)間狀態(tài)狀態(tài)狀態(tài)狀態(tài)n數(shù)據(jù)傳輸數(shù)據(jù)傳輸基本數(shù)據(jù)傳輸:能連續(xù)、雙向傳輸字節(jié)流基本數(shù)據(jù)傳輸:能連續(xù)、雙向傳輸字節(jié)流提供敦促接收方迅速將收到的數(shù)據(jù)提交應(yīng)提供敦促接收方迅速將收到的數(shù)據(jù)提交應(yīng)用進(jìn)程的功能用進(jìn)程的功能(PUS

8、H)。可靠性:數(shù)據(jù)損壞、丟失、重復(fù)和錯(cuò)序必可靠性:數(shù)據(jù)損壞、丟失、重復(fù)和錯(cuò)序必須能恢復(fù)(機(jī)制:以字節(jié)為基礎(chǔ)的序號(hào)、須能恢復(fù)(機(jī)制:以字節(jié)為基礎(chǔ)的序號(hào)、正確接收確認(rèn)(正確接收確認(rèn)(ACK)、重傳時(shí)鐘、檢錯(cuò))、重傳時(shí)鐘、檢錯(cuò))流量控制:窗口可變的流量控制:窗口可變的“滑動(dòng)窗口滑動(dòng)窗口”流控流控方式,窗口大小以方式,窗口大小以“字節(jié)字節(jié)”為基礎(chǔ)。為基礎(chǔ)。 n連接拆除連接拆除 請(qǐng)求拆除、兩次拆除確認(rèn)等待、請(qǐng)求方在確認(rèn)的請(qǐng)求拆除、兩次拆除確認(rèn)等待、請(qǐng)求方在確認(rèn)的方式。方式。(主動(dòng)關(guān)閉) FIN_WAIT_1CLOSE_WAIT ( 被動(dòng)關(guān)閉)FIN_WAIT_2LAST_ACKTIME_WAITCLOS

9、EDFIN, SEQ = uACK, SEQ = v, ACK = u + 1FIN, ACK, SEQ = v, ACK = u + 1ACK, SEQ = u + 1, ACK = v + 1TIME_WAITCLOSE_WAIT客戶進(jìn)程服務(wù)器進(jìn)程 TCP協(xié)議數(shù)據(jù)單元格式協(xié)議數(shù)據(jù)單元格式TCP首部20 字節(jié)的固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充TCP 數(shù)據(jù)部分TCP 首部TCP 報(bào)文段IP 數(shù)據(jù)部分IP 首部發(fā)送在前TCP首部

10、20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充源端口和目的端口字段各占 2 字節(jié)。端口是傳輸層與應(yīng)用層的服務(wù)接口。傳輸層的復(fù)用和分用功能都要通過(guò)端口才能實(shí)現(xiàn)。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充序號(hào)字段占 4 字節(jié)。TCP 連接中傳輸?shù)臄?shù)據(jù)流中的每一個(gè)字節(jié)都編上一個(gè)序號(hào)。序

11、號(hào)字段的值則指的是本報(bào)文段所發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充確認(rèn)號(hào)字段占 4 字節(jié),是期望收到對(duì)方的下一個(gè)報(bào)文段的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充數(shù)據(jù)偏移占 4 bit,它指出 TCP 報(bào)文

12、段的數(shù)據(jù)起始處距離 TCP 報(bào)文段的起始處有多遠(yuǎn)?!皵?shù)據(jù)偏移”的單位不是字節(jié)而是 32 bit 字(4 字節(jié)為計(jì)算單位)。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充保留字段占 6 bit,保留為今后使用,但目前應(yīng)置為 0。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充

13、緊急比特 URG 當(dāng) URG 1 時(shí),表明緊急指針字段有效。它告訴系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳輸(相當(dāng)于高優(yōu)先級(jí)的數(shù)據(jù))。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 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)無(wú)效。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKUR

14、G比特 0 8 16 24 31填 充推送比特 PSH (PuSH) 接收 TCP 收到推送比特置 1 的報(bào)文段,就盡快地交付給接收應(yīng)用進(jìn)程,而不再等到整個(gè)緩存都填滿了后再向上交付。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充復(fù)位比特 RST (ReSeT) 當(dāng) RST 1 時(shí),表明 TCP 連接中出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立傳輸連接。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢

15、驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充同步比特 SYN 同步比特 SYN 置為 1,就表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充終止比特 FIN (FINal) 用來(lái)釋放一個(gè)連接。當(dāng)FIN 1 時(shí),表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放傳輸連接。 窗口字段 占 2 字

16、節(jié)。窗口字段用來(lái)控制對(duì)方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。TCP 連接的一端根據(jù)設(shè)置的緩存空間大小確定自己的接收窗口大小,然后通知對(duì)方以確定對(duì)方的發(fā)送窗口的上限。TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 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首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊

17、急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充緊急指針字段 占 16 bit。緊急指針指出:在本報(bào)文段中緊急數(shù)據(jù)共有多少個(gè)字節(jié)(緊急數(shù)據(jù)放在本報(bào)文段數(shù)據(jù)的最前面)。 TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKU

18、RG比特 0 8 16 24 31填 充選項(xiàng)字段 長(zhǎng)度可變。TCP 只規(guī)定了一種選項(xiàng),即最大報(bào)文段長(zhǎng)度 MSS (Maximum Segment Size)。MSS 告訴對(duì)方 TCP:“我的緩存所能接收的報(bào)文段的數(shù)據(jù)字段的最大長(zhǎng)度是 MSS 個(gè)字節(jié)。” MSS 是 TCP 報(bào)文段中的數(shù)據(jù)字段的最大長(zhǎng)度。數(shù)據(jù)字段加上 TCP 首部才等于整個(gè)的 TCP 報(bào)文段。TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充填充字段 這是為了使整個(gè)首部長(zhǎng)度

19、是 4 字節(jié)的整數(shù)倍。 TCP狀態(tài)描述狀態(tài)描述CLOSED 沒(méi)有連接處于活動(dòng)或掛起狀態(tài)沒(méi)有連接處于活動(dòng)或掛起狀態(tài)LISTEN 服務(wù)器等待到來(lái)的呼叫服務(wù)器等待到來(lái)的呼叫SYN_RCVD 到達(dá)了一個(gè)連接請(qǐng)求,等待確認(rèn)到達(dá)了一個(gè)連接請(qǐng)求,等待確認(rèn)SYN_SENT 客戶端開始打開一個(gè)連接客戶端開始打開一個(gè)連接ESTABLISHED 連接成功建立,進(jìn)入數(shù)據(jù)傳輸狀態(tài)連接成功建立,進(jìn)入數(shù)據(jù)傳輸狀態(tài)FIN_WAIT_1客戶端聲明自己傳輸結(jié)束客戶端聲明自己傳輸結(jié)束FIN_WAIT_2 服務(wù)器端聲明自己傳輸結(jié)束服務(wù)器端聲明自己傳輸結(jié)束TIMED_WAIT 等待延時(shí)一段時(shí)間等待延時(shí)一段時(shí)間 (“2MSL 等待狀態(tài)等

20、待狀態(tài)”)CLOSING 兩端試圖同時(shí)關(guān)閉兩端試圖同時(shí)關(guān)閉CLOSE_WAIT 服務(wù)器端開始釋放連接服務(wù)器端開始釋放連接LAST_ACK 等待掛起等待掛起TCP狀態(tài)狀態(tài)變遷變遷圖圖 CLOSEDESTABLISHEDLISTENCLOSE_WAITFIN_WAIT_1SYN_RCVDFIN_WAIT_2CLOSINGTIME_WAITSYN_SENTLAST_ACK主動(dòng)打開被動(dòng)打開被動(dòng)關(guān)閉主動(dòng)關(guān)閉起點(diǎn)被動(dòng)打開主動(dòng)打開 發(fā)送 SYN同時(shí)打開收到 SYN,發(fā)送 SYN, ACK收到 ACK數(shù)據(jù)傳輸 階段 關(guān)閉發(fā)送 FIN 關(guān)閉發(fā)送 FIN 關(guān)閉發(fā)送 FIN收到 RST 收到 SYN發(fā)送 SYN,

21、ACK 關(guān)閉或超時(shí)收到 ACK 收到 SYN, ACK發(fā)送 ACK收到 ACK收到 ACK收到 FIN發(fā)送 ACK收到 FIN, ACK 發(fā)送 ACK收到 FIN發(fā)送 ACK同時(shí)關(guān)閉收到 FIN發(fā)送 ACK發(fā)送 SYN定時(shí)經(jīng)過(guò)兩倍報(bào)文段壽命后關(guān)閉TCP數(shù)據(jù)編號(hào)與確認(rèn)數(shù)據(jù)編號(hào)與確認(rèn)TCP 協(xié)議是面向字節(jié)的。協(xié)議是面向字節(jié)的。TCP 將所要傳輸?shù)膱?bào)文將所要傳輸?shù)膱?bào)文看成是字節(jié)組成的數(shù)據(jù)流,并使每一個(gè)字節(jié)對(duì)應(yīng)看成是字節(jié)組成的數(shù)據(jù)流,并使每一個(gè)字節(jié)對(duì)應(yīng)于一個(gè)序號(hào)。于一個(gè)序號(hào)。在連接建立時(shí),雙方要商定初始序號(hào)。在連接建立時(shí),雙方要商定初始序號(hào)。TCP 每次每次發(fā)送的報(bào)文段的首部中的序號(hào)字段數(shù)值表示該報(bào)發(fā)

22、送的報(bào)文段的首部中的序號(hào)字段數(shù)值表示該報(bào)文段中的文段中的數(shù)據(jù)部分的第一個(gè)字節(jié)的序號(hào)數(shù)據(jù)部分的第一個(gè)字節(jié)的序號(hào)。TCP 的確認(rèn)是對(duì)接收到的數(shù)據(jù)的最高序號(hào)表示確的確認(rèn)是對(duì)接收到的數(shù)據(jù)的最高序號(hào)表示確認(rèn)。接收端返回的確認(rèn)號(hào)是已收到的數(shù)據(jù)的最高認(rèn)。接收端返回的確認(rèn)號(hào)是已收到的數(shù)據(jù)的最高序號(hào)加序號(hào)加 1。因此確認(rèn)號(hào)表示。因此確認(rèn)號(hào)表示接收端期望下次收到接收端期望下次收到的數(shù)據(jù)中的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)的數(shù)據(jù)中的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)。 TCP 的流量控制的流量控制 TCP 的流量控制的流量控制TCP 采用大小可變的滑動(dòng)窗口進(jìn)行流量控制。窗口大小的單位是字節(jié)。在 TCP 報(bào)文段首部的窗口字段寫入的數(shù)值就是當(dāng)前

23、給對(duì)方設(shè)置的發(fā)送窗口數(shù)值的上限。發(fā)送窗口在連接建立時(shí)由雙方商定。但在通信的過(guò)程中,接收端可根據(jù)自己的資源情況,隨時(shí)動(dòng)態(tài)地調(diào)整對(duì)方的發(fā)送窗口上限值(可增大或減小)。 發(fā)送端要發(fā)送 900 字節(jié)長(zhǎng)的數(shù)據(jù),劃分為 9 個(gè) 100 字節(jié)長(zhǎng)的報(bào)文段,而發(fā)送窗口確定為 500 字節(jié)。 發(fā)送端只要收到了對(duì)方的確認(rèn),發(fā)送窗口就可前移。 發(fā)送 TCP 要維護(hù)一個(gè)指針。每發(fā)送一個(gè)報(bào)文段,指針就向前移動(dòng)一個(gè)報(bào)文段的距離。收到確認(rèn)即可前移1002003004005006007008009001012013014015016017018011發(fā)送窗口可發(fā)送不可發(fā)送指針發(fā)送端已發(fā)送了 400 字節(jié)的數(shù)據(jù),但只收到對(duì)前 2

24、00 字節(jié)數(shù)據(jù)的確認(rèn),同時(shí)窗口大小不變。現(xiàn)在發(fā)送端還可發(fā)送 300 字節(jié)。 收到確認(rèn)即可前移1002003004005006007008009001012013014015016017018011可發(fā)送不可發(fā)送指針1002003004005006007008009001012013014015016017018011發(fā)送窗口可發(fā)送不可發(fā)送指針發(fā)送窗口前移已發(fā)送并被確認(rèn)已發(fā)送但未被確認(rèn)1002003004005006007008009001012013014015016017018011已發(fā)送并被確認(rèn)已發(fā)送但未被確認(rèn)可發(fā)送不可發(fā)送指針1002003004005006007008009001012

25、013014015016017018011已發(fā)送并被確認(rèn)可發(fā)送不可發(fā)送發(fā)送窗口前移發(fā)送窗口縮小發(fā)送端收到了對(duì)方對(duì)前 400 字節(jié)數(shù)據(jù)的確認(rèn),但對(duì)方通知發(fā)送端必須把窗口減小到 400 字節(jié)。現(xiàn)在發(fā)送端最多還可發(fā)送 400 字節(jié)的數(shù)據(jù)。 利用可變窗口大小進(jìn)行流量控制雙方確定的窗口值是 400 SEQ = 1SEQ = 201SEQ = 401SEQ = 301SEQ = 101SEQ = 501ACK = 201, WIN = 300ACK = 501, WIN = 200主機(jī) A主機(jī) B允許 A 再發(fā)送 300 字節(jié)(序號(hào) 201 至 500)A 還能發(fā)送 200 字節(jié)A 還能發(fā)送 200 字節(jié)

26、(序號(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ā)送 200 字節(jié)(序號(hào) 501 至 700)SEQ = 201丟失! 擁塞控制擁塞控制n慢開始和擁塞避免慢開始和擁塞避免 發(fā)送端的主機(jī)在確定發(fā)送報(bào)文段的速率時(shí),既要根據(jù)接收端的接收能力,又要從全局考慮不要使網(wǎng)絡(luò)發(fā)生擁塞。 因此,每一個(gè) TCP 連接需要有以下兩個(gè)狀態(tài)變量: 接收端窗口 rwnd (receiver window) 又稱為通知窗口(advertised win

27、dow)。 擁塞窗口 cwnd (congestion window)。接收端窗口 rwnd 和擁塞窗口 cwnd (1) 接收端窗口 rwnd 這是接收端根據(jù)其目前的接收緩存大小所許諾的最新的窗口值,是來(lái)自接收端的流量控制。接收端將此窗口值放在 TCP 報(bào)文的首部中的窗口字段,傳輸給發(fā)送端。(2) 擁塞窗口 cwnd (congestion window) 是發(fā)送端根據(jù)自己估計(jì)的網(wǎng)絡(luò)擁塞程度而設(shè)置的窗口值,是來(lái)自發(fā)送端的流量控制。發(fā)送窗口的上限值 發(fā)送端的發(fā)送窗口的上限值應(yīng)當(dāng)取為接收端窗口 rwnd 和擁塞窗口 cwnd 這兩個(gè)變量中較小的一個(gè),即應(yīng)按以下公式確定:發(fā)送窗口的上限值 Min

28、rwnd, cwnd 當(dāng) rwnd cwnd 時(shí),是接收端的接收能力限制發(fā)送窗口的最大值。 當(dāng) cwnd 3),則將 cwnd 設(shè)置為 ssthresh + n MSS。(4) 若發(fā)送窗口值還容許發(fā)送報(bào)文段,就按擁塞避免算法繼續(xù)發(fā)送報(bào)文段。(5) 若收到了確認(rèn)新的報(bào)文段的 ACK,就將 cwnd 縮小到 ssthresh。用戶數(shù)據(jù)報(bào)協(xié)議 UDP UDP 概述概述UDP 只在 IP 的數(shù)據(jù)報(bào)服務(wù)之上增加了很少一點(diǎn)的功能,即端口的功能和差錯(cuò)檢測(cè)的功能。雖然 UDP 用戶數(shù)據(jù)報(bào)只能提供不可靠的交付,但 UDP 在某些方面有其特殊的優(yōu)點(diǎn)。發(fā)送數(shù)據(jù)之前不需要建立連接UDP 的主機(jī)不需要維持復(fù)雜的連接狀態(tài)

29、表。UDP 用戶數(shù)據(jù)報(bào)只有8個(gè)字節(jié)的首部開銷。網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)的發(fā)送速率降低。這對(duì)某些實(shí)時(shí)應(yīng)用是很重要的。 UDP 基本工作過(guò)程 UDP 數(shù)據(jù)報(bào)的發(fā)送和接收通過(guò)數(shù)據(jù)報(bào)的發(fā)送和接收通過(guò) UDP 端口實(shí)現(xiàn)端口實(shí)現(xiàn)端口是一個(gè)可讀寫的結(jié)構(gòu),具有內(nèi)部的報(bào)文緩沖區(qū);端口是一個(gè)可讀寫的結(jié)構(gòu),具有內(nèi)部的報(bào)文緩沖區(qū);數(shù)據(jù)報(bào)發(fā)送數(shù)據(jù)報(bào)發(fā)送UDP 軟件將用戶數(shù)據(jù)封裝在軟件將用戶數(shù)據(jù)封裝在 UDP 數(shù)據(jù)報(bào)中;數(shù)據(jù)報(bào)中;轉(zhuǎn)交給轉(zhuǎn)交給 IP 軟件,進(jìn)行軟件,進(jìn)行 IP 封裝和轉(zhuǎn)發(fā);封裝和轉(zhuǎn)發(fā);數(shù)據(jù)報(bào)的接收數(shù)據(jù)報(bào)的接收IP 層接收到層接收到 UDP 數(shù)據(jù)報(bào),數(shù)據(jù)報(bào), 提交給提交給 UDP 軟件的各端口;軟件的各端

30、口;端口判斷該報(bào)文的目的端口號(hào)是否與當(dāng)前端口匹配;端口判斷該報(bào)文的目的端口號(hào)是否與當(dāng)前端口匹配;若匹配成功,將該數(shù)據(jù)報(bào)保存到相應(yīng)端口的接收隊(duì)列中;(若若匹配成功,將該數(shù)據(jù)報(bào)保存到相應(yīng)端口的接收隊(duì)列中;(若隊(duì)列已滿,則丟棄該數(shù)據(jù)報(bào))隊(duì)列已滿,則丟棄該數(shù)據(jù)報(bào))若未匹配,則丟棄該數(shù)據(jù)報(bào),同時(shí)向源端發(fā)送若未匹配,則丟棄該數(shù)據(jù)報(bào),同時(shí)向源端發(fā)送 “端口不可達(dá)端口不可達(dá)” 的的 ICMP 包。包。UDP 端口 51000UDP 端口 69出隊(duì)列入隊(duì)列出隊(duì)列入隊(duì)列TFTP 服務(wù)器TFTP 客戶UDP 用戶數(shù)據(jù)報(bào)應(yīng)用層運(yùn)輸層 UDP 用戶數(shù)據(jù)報(bào)的首部(用戶數(shù)據(jù)報(bào)的首部(Head)格式格式 偽首部源端口目的端口長(zhǎng) 度檢驗(yàn)和數(shù) 據(jù)首 部UDP長(zhǎng)度源 IP 地址目的 IP 地址01

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論