




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第5 5章章 傳輸層傳輸層 UDP 用戶(hù)數(shù)據(jù)報(bào)傳輸協(xié)議用戶(hù)數(shù)據(jù)報(bào)傳輸協(xié)議 TCP 傳輸控制協(xié)議傳輸控制協(xié)議最重要的概念:最重要的概念:進(jìn)程,端口號(hào),套接字,連接進(jìn)程,端口號(hào),套接字,連接數(shù)據(jù)通信與計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)通信與計(jì)算機(jī)網(wǎng)絡(luò)wenzhanSchool of Communication Engineering, CUIT2l本章要回答的問(wèn)題本章要回答的問(wèn)題1、計(jì)算機(jī)網(wǎng)絡(luò)的可靠性是如何解決的?、計(jì)算機(jī)網(wǎng)絡(luò)的可靠性是如何解決的?2、為什么說(shuō)、為什么說(shuō)TCP/IP不能分離?不能分離?3、TCP連接的含義是什么?連接的含義是什么?第 5 章 傳輸層wenzhanSchool of Communica
2、tion Engineering, CUIT3第第5 5章章 傳輸層傳輸層l本次課程的前言本次課程的前言1 1、IPIP數(shù)據(jù)包達(dá)到某個(gè)主機(jī)后提交給誰(shuí)數(shù)據(jù)包達(dá)到某個(gè)主機(jī)后提交給誰(shuí)?2 2、IPIP數(shù)據(jù)包根據(jù)什么來(lái)提交給相應(yīng)的進(jìn)程數(shù)據(jù)包根據(jù)什么來(lái)提交給相應(yīng)的進(jìn)程?wenzhanSchool of Communication Engineering, CUIT41 1、從源主機(jī)傳輸?shù)浇邮罩鳈C(jī);、從源主機(jī)傳輸?shù)浇邮罩鳈C(jī); (服務(wù)器服務(wù)器/PC/路由器路由器) ;2 2、源主機(jī)的數(shù)據(jù)從哪里來(lái)?、源主機(jī)的數(shù)據(jù)從哪里來(lái)?3 3、接收主機(jī)收到數(shù)據(jù)后又交給誰(shuí)?、接收主機(jī)收到數(shù)據(jù)后又交給誰(shuí)?4 4、如你的機(jī)器同時(shí)
3、有多個(gè)應(yīng)用,依據(jù)什么來(lái)交?、如你的機(jī)器同時(shí)有多個(gè)應(yīng)用,依據(jù)什么來(lái)交?5 5、傳輸?shù)墓δ苁鞘裁??、傳輸?shù)墓δ苁鞘裁矗繑?shù)據(jù)傳輸?shù)哪康氖鞘裁???5 章 傳輸層wenzhanSchool of Communication Engineering, CUIT5運(yùn)輸層協(xié)議概述 l 從通信和信息處理的角度看,運(yùn)輸層向它上面的應(yīng)用層提供通信從通信和信息處理的角度看,運(yùn)輸層向它上面的應(yīng)用層提供通信服務(wù),它屬于面向通信部分的最高層,同時(shí)也是用戶(hù)功能中的最服務(wù),它屬于面向通信部分的最高層,同時(shí)也是用戶(hù)功能中的最低層。低層。 物理層網(wǎng)絡(luò)層運(yùn)輸層應(yīng)用層數(shù)據(jù)鏈路層面向信息處理面向通信用戶(hù)功能網(wǎng)絡(luò)功能wenzhanSch
4、ool of Communication Engineering, CUIT6運(yùn)輸層為相互通信的應(yīng)用進(jìn)程提供了邏輯通信 主機(jī) A主機(jī) B路由器 1路由器 2LAN2WANAP1AP2LAN1IP 協(xié)議的作用范圍運(yùn)輸層協(xié)議 TCP 和 UDP 的作用范圍AP3AP4wenzhanSchool of Communication Engineering, CUIT754321運(yùn)輸層提供應(yīng)用進(jìn)程間的邏輯通信主機(jī) A主機(jī) B應(yīng)用進(jìn)程應(yīng)用進(jìn)程路由器 1路由器 2LAN2WANAP1AP2IP 層LAN1端口端口54321IP 協(xié)議的作用范圍運(yùn)輸層協(xié)議 TCP 和 UDP 的作用范圍AP3AP1AP3AP4
5、AP2AP4運(yùn)輸層為相互通信的應(yīng)用進(jìn)程提供了邏輯通信* wenzhanSchool of Communication Engineering, CUIT8應(yīng)用進(jìn)程之間的通信l 兩個(gè)主機(jī)進(jìn)行通信實(shí)際上就是兩個(gè)主機(jī)中的應(yīng)用進(jìn)程兩個(gè)主機(jī)進(jìn)行通信實(shí)際上就是兩個(gè)主機(jī)中的應(yīng)用進(jìn)程互相通信。互相通信。 l 應(yīng)用進(jìn)程之間的通信又稱(chēng)為應(yīng)用進(jìn)程之間的通信又稱(chēng)為端到端的通信端到端的通信。 l 運(yùn)輸層的一個(gè)很重要的功能就是運(yùn)輸層的一個(gè)很重要的功能就是復(fù)用復(fù)用和和分用分用。應(yīng)用層。應(yīng)用層不同進(jìn)程不同進(jìn)程的報(bào)文通過(guò)的報(bào)文通過(guò)不同的端口不同的端口向下交到運(yùn)輸層,再向下交到運(yùn)輸層,再往下就共用網(wǎng)絡(luò)層提供的服務(wù)。往下就共用網(wǎng)絡(luò)
6、層提供的服務(wù)。l “運(yùn)輸層提供應(yīng)用進(jìn)程間的運(yùn)輸層提供應(yīng)用進(jìn)程間的邏輯通信邏輯通信”。“邏輯通信邏輯通信”的意思是:運(yùn)輸層之間的通信好像是沿水平方向傳送的意思是:運(yùn)輸層之間的通信好像是沿水平方向傳送數(shù)據(jù)。但事實(shí)上這兩個(gè)運(yùn)輸層之間并沒(méi)有一條水平方數(shù)據(jù)。但事實(shí)上這兩個(gè)運(yùn)輸層之間并沒(méi)有一條水平方向的物理連接。向的物理連接。wenzhanSchool of Communication Engineering, CUIT9運(yùn)輸層協(xié)議和網(wǎng)絡(luò)層協(xié)議的主要區(qū)別 應(yīng)用進(jìn)程應(yīng)用進(jìn)程IP 協(xié)議的作用范圍(提供主機(jī)之間的邏輯通信)TCP 和 UDP 協(xié)議的作用范圍(提供進(jìn)程之間的邏輯通信)因 特 網(wǎng)wenzhanSch
7、ool of Communication Engineering, CUIT10運(yùn)輸層向上提供可靠的和不可靠的邏輯通信信道 ?應(yīng)用層運(yùn)輸層發(fā)送進(jìn)程接收進(jìn)程接收進(jìn)程數(shù)據(jù)數(shù)據(jù)全雙工可靠信道數(shù)據(jù)數(shù)據(jù)使用 TCP 協(xié)議使用 UDP 協(xié)議不可靠信道發(fā)送進(jìn)程wenzhanSchool of Communication Engineering, CUIT11TCP/IP的運(yùn)輸層有兩個(gè)不同的協(xié)議:的運(yùn)輸層有兩個(gè)不同的協(xié)議:(1)用戶(hù)數(shù)據(jù)報(bào)協(xié)議用戶(hù)數(shù)據(jù)報(bào)協(xié)議 UDP (User Datagram Protocol)(2) 傳輸控制協(xié)議傳輸控制協(xié)議 TCP (Transmission Control Protoc
8、ol)TCP/IP 體系中的運(yùn)輸層運(yùn)輸層中的兩個(gè)協(xié)議wenzhanSchool of Communication Engineering, CUIT12l 兩個(gè)對(duì)等運(yùn)輸實(shí)體在通信時(shí)傳送的數(shù)據(jù)單位叫作兩個(gè)對(duì)等運(yùn)輸實(shí)體在通信時(shí)傳送的數(shù)據(jù)單位叫作運(yùn)輸協(xié)議運(yùn)輸協(xié)議數(shù)據(jù)單元數(shù)據(jù)單元 TPDU (Transport Protocol Data Unit)。l TCP 傳送的數(shù)據(jù)單位協(xié)議是傳送的數(shù)據(jù)單位協(xié)議是 TCP 報(bào)文段報(bào)文段(segment)l UDP 傳送的數(shù)據(jù)單位協(xié)議是傳送的數(shù)據(jù)單位協(xié)議是 UDP 報(bào)文報(bào)文或或用戶(hù)數(shù)據(jù)報(bào)用戶(hù)數(shù)據(jù)報(bào)(Datagram)。 TCP 與 UDP wenzhanSchoo
9、l of Communication Engineering, CUIT13TCP/IP 體系中的運(yùn)輸層協(xié)議* TCPUDPIP應(yīng)用層與各種網(wǎng)絡(luò)接口運(yùn)輸層wenzhanSchool of Communication Engineering, CUIT14TCP 與 UDP功能* l UDP 解決上層解決上層通信進(jìn)程對(duì)通信進(jìn)程對(duì)之間的數(shù)據(jù)傳輸,提供不提之間的數(shù)據(jù)傳輸,提供不提供可靠交付。供可靠交付。l TCP 解決上層解決上層通信進(jìn)程對(duì)通信進(jìn)程對(duì)之間的數(shù)據(jù)傳輸,提供提供之間的數(shù)據(jù)傳輸,提供提供可靠交付。可靠交付。 l 可靠交付:可靠交付:1)不差錯(cuò);)不差錯(cuò);2)不丟失;)不丟失;3)不亂序;)
10、不亂序;4)不重復(fù))不重復(fù)wenzhanSchool of Communication Engineering, CUIT15TCP 與 UDP* l UDP 在傳送數(shù)據(jù)之前不需要先建立連接。對(duì)方的運(yùn)輸在傳送數(shù)據(jù)之前不需要先建立連接。對(duì)方的運(yùn)輸層在收到層在收到 UDP 報(bào)文后,不需要給出任何確認(rèn)。雖然報(bào)文后,不需要給出任何確認(rèn)。雖然 UDP 不提供可靠交付,但在某些情況下不提供可靠交付,但在某些情況下 UDP 是一種是一種最有效的工作方式。最有效的工作方式。l TCP 則提供則提供面向連接面向連接的服務(wù)。的服務(wù)。TCP 不提供廣播或多播不提供廣播或多播服務(wù)。由于服務(wù)。由于 TCP 要提供可靠的
11、、面向連接的運(yùn)輸服務(wù),要提供可靠的、面向連接的運(yùn)輸服務(wù),因此不可避免地增加了許多的開(kāi)銷(xiāo)。這不僅使協(xié)議數(shù)因此不可避免地增加了許多的開(kāi)銷(xiāo)。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多的處理機(jī)資源。據(jù)單元的首部增大很多,還要占用許多的處理機(jī)資源。 wenzhanSchool of Communication Engineering, CUIT16還要強(qiáng)調(diào)兩點(diǎn) l 運(yùn)輸層的運(yùn)輸層的 UDP 用戶(hù)數(shù)據(jù)報(bào)與網(wǎng)際層的用戶(hù)數(shù)據(jù)報(bào)與網(wǎng)際層的IP數(shù)據(jù)報(bào)有很大數(shù)據(jù)報(bào)有很大區(qū)別。區(qū)別。pIP 數(shù)據(jù)報(bào)要經(jīng)過(guò)互連網(wǎng)中許多路由器的存儲(chǔ)轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)要經(jīng)過(guò)互連網(wǎng)中許多路由器的存儲(chǔ)轉(zhuǎn)發(fā)pUDP 用戶(hù)數(shù)據(jù)報(bào)指提供給應(yīng)用層進(jìn)程的數(shù)
12、據(jù)是獨(dú)立用戶(hù)數(shù)據(jù)報(bào)指提供給應(yīng)用層進(jìn)程的數(shù)據(jù)是獨(dú)立的分組的分組l TCP 報(bào)文段是在運(yùn)輸層抽象的端到端邏輯通道中傳送報(bào)文段是在運(yùn)輸層抽象的端到端邏輯通道中傳送p可靠的全雙工通道可靠的全雙工通道p不清楚具體的轉(zhuǎn)發(fā)過(guò)程不清楚具體的轉(zhuǎn)發(fā)過(guò)程wenzhanSchool of Communication Engineering, CUIT171 1、地址標(biāo)記只有、地址標(biāo)記只有IPIP地址夠了嗎?為什么?地址夠了嗎?為什么?2 2、端口號(hào)碼、端口號(hào)碼 ;3 3、源進(jìn)程占用的、源進(jìn)程占用的 源源端口端口;4 4、目的進(jìn)程占用的、目的進(jìn)程占用的 目的目的端口端口;傳輸層(UDP、TCP)依據(jù)什么來(lái)把數(shù)據(jù)提交給應(yīng)
13、用?第 5 章 傳輸層wenzhanSchool of Communication Engineering, CUIT18端口的概念*l 端口就是運(yùn)輸層服務(wù)訪問(wèn)點(diǎn)端口就是運(yùn)輸層服務(wù)訪問(wèn)點(diǎn) 。l 端口的作用就是讓?xiě)?yīng)用層的各種應(yīng)用進(jìn)程都能將其數(shù)據(jù)通端口的作用就是讓?xiě)?yīng)用層的各種應(yīng)用進(jìn)程都能將其數(shù)據(jù)通過(guò)端口向下交付給運(yùn)輸層,以及讓運(yùn)輸層知道應(yīng)當(dāng)將其報(bào)過(guò)端口向下交付給運(yùn)輸層,以及讓運(yùn)輸層知道應(yīng)當(dāng)將其報(bào)文段中的數(shù)據(jù)向上通過(guò)端口交付給應(yīng)用層相應(yīng)的進(jìn)程。文段中的數(shù)據(jù)向上通過(guò)端口交付給應(yīng)用層相應(yīng)的進(jìn)程。l 從這個(gè)意義上講,端口是用來(lái)標(biāo)志應(yīng)用層的進(jìn)程。從這個(gè)意義上講,端口是用來(lái)標(biāo)志應(yīng)用層的進(jìn)程。 wenzhanS
14、chool of Communication Engineering, CUIT19端口在進(jìn)程之間的通信中所起的作用 應(yīng)用層運(yùn)輸層網(wǎng)絡(luò)層TCP 報(bào)文段UDP用戶(hù)數(shù)據(jù)報(bào)應(yīng)用進(jìn)程TCP 復(fù)用IP 復(fù)用UDP 復(fù)用TCP 報(bào)文段UDP用戶(hù)數(shù)據(jù)報(bào) 應(yīng)用進(jìn)程端口端口TCP 分用UDP 分用IP 分用IP 數(shù)據(jù)報(bào)IP 數(shù)據(jù)報(bào)發(fā)送方接收方wenzhanSchool of Communication Engineering, CUIT20端口* l 端口用一個(gè)端口用一個(gè) 16 bit 端口號(hào)進(jìn)行標(biāo)志。端口號(hào)進(jìn)行標(biāo)志。l 端口號(hào)只端口號(hào)只具有本地意義具有本地意義,即端口號(hào)只是為了標(biāo)志本計(jì)算,即端口號(hào)只是為了標(biāo)志
15、本計(jì)算機(jī)應(yīng)用層中的各進(jìn)程。在因特網(wǎng)中不同計(jì)算機(jī)的相同端機(jī)應(yīng)用層中的各進(jìn)程。在因特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒(méi)有聯(lián)系的??谔?hào)是沒(méi)有聯(lián)系的。wenzhanSchool of Communication Engineering, CUIT21兩類(lèi)端口* l 一類(lèi)是熟知端口,其數(shù)值一般為一類(lèi)是熟知端口,其數(shù)值一般為 01023。當(dāng)一種新的。當(dāng)一種新的應(yīng)用程序出現(xiàn)時(shí),必須為它指派一個(gè)熟知端口。應(yīng)用程序出現(xiàn)時(shí),必須為它指派一個(gè)熟知端口。l 另一類(lèi)則是一般端口,用來(lái)隨時(shí)分配給請(qǐng)求通信的客另一類(lèi)則是一般端口,用來(lái)隨時(shí)分配給請(qǐng)求通信的客戶(hù)進(jìn)程。戶(hù)進(jìn)程。 wenzhanSchool of Communicati
16、on Engineering, CUIT22插口(socket) *l TCP 使用使用“連接連接”(而不僅僅是而不僅僅是“端口端口”)作為最作為最基本的抽象,同時(shí)將基本的抽象,同時(shí)將 TCP 連接的端點(diǎn)稱(chēng)為連接的端點(diǎn)稱(chēng)為插口插口(socket),或,或套接字套接字、套接口套接口。l 插口和端口、插口和端口、IP 地址的關(guān)系是:地址的關(guān)系是: IP 地址131.6.23.13 端口號(hào)1500 131.6.23.13, 1500插口(socket)wenzhanSchool of Communication Engineering, CUIT23TCP編程lTCP編程的服務(wù)器端一般步驟是:編程的
17、服務(wù)器端一般步驟是:1 1、創(chuàng)建一個(gè)、創(chuàng)建一個(gè)socketsocket,用函數(shù),用函數(shù)socket()socket();2 2、設(shè)置、設(shè)置socketsocket屬性,用函數(shù)屬性,用函數(shù)setsockoptsetsockopt(); (); * * 可選可選3 3、綁定、綁定IPIP地址、端口等信息到地址、端口等信息到socketsocket上,用函數(shù)上,用函數(shù)bind();bind();4 4、開(kāi)啟監(jiān)聽(tīng),用函數(shù)、開(kāi)啟監(jiān)聽(tīng),用函數(shù)listen()listen();5 5、接收客戶(hù)端上來(lái)的連接,用函數(shù)、接收客戶(hù)端上來(lái)的連接,用函數(shù)accept()accept();6 6、收發(fā)數(shù)據(jù),用函數(shù)、收發(fā)數(shù)
18、據(jù),用函數(shù)send()send()和和recvrecv()(),者,者read()read()和和write();write();7 7、關(guān)閉網(wǎng)絡(luò)連接;、關(guān)閉網(wǎng)絡(luò)連接;8 8、關(guān)閉監(jiān)聽(tīng);、關(guān)閉監(jiān)聽(tīng);lTCP編程的客戶(hù)端一般步驟是:編程的客戶(hù)端一般步驟是:1 1、創(chuàng)建一個(gè)、創(chuàng)建一個(gè)socketsocket,用函數(shù),用函數(shù)socket()socket();2 2、設(shè)置、設(shè)置socketsocket屬性,用函數(shù)屬性,用函數(shù)setsockoptsetsockopt();();* * 可選可選3 3、綁定、綁定IPIP地址、端口等信息到地址、端口等信息到socketsocket上,用函數(shù)上,用函數(shù)bin
19、d();bind();* * 可可選選4 4、設(shè)置要連接的對(duì)方的、設(shè)置要連接的對(duì)方的IPIP地址和端口等屬性;地址和端口等屬性;5 5、連接服務(wù)器,用函數(shù)、連接服務(wù)器,用函數(shù)connect()connect();6 6、收發(fā)數(shù)據(jù),用函數(shù)、收發(fā)數(shù)據(jù),用函數(shù)send()send()和和recvrecv()(),或者,或者read()read()和和write();write();7 7、關(guān)閉網(wǎng)絡(luò)連接;、關(guān)閉網(wǎng)絡(luò)連接;wenzhanSchool of Communication Engineering, CUIT24UDP編程lUDP編程的服務(wù)器端一般步驟是:編程的服務(wù)器端一般步驟是:1 1、創(chuàng)建一
20、個(gè)、創(chuàng)建一個(gè)socketsocket,用函數(shù),用函數(shù)socket()socket();2 2、設(shè)置、設(shè)置socketsocket屬性,用函數(shù)屬性,用函數(shù)setsockoptsetsockopt();();* * 可選可選3 3、綁定、綁定IPIP地址、端口等信息到地址、端口等信息到socketsocket上,用函數(shù)上,用函數(shù)bind();bind();4 4、循環(huán)接收數(shù)據(jù),用函數(shù)、循環(huán)接收數(shù)據(jù),用函數(shù)recvfromrecvfrom();();5 5、關(guān)閉網(wǎng)絡(luò)連接;、關(guān)閉網(wǎng)絡(luò)連接;lUDP編程的客戶(hù)端一般步驟是:編程的客戶(hù)端一般步驟是:1、創(chuàng)建一個(gè)、創(chuàng)建一個(gè)socket,用函數(shù),用函數(shù)sock
21、et();2、設(shè)置、設(shè)置socket屬性,用函數(shù)屬性,用函數(shù)setsockopt();* 可選可選3、綁定、綁定IP地址、端口等信息到地址、端口等信息到socket上,用函數(shù)上,用函數(shù)bind();* 可選可選4、設(shè)置對(duì)方的、設(shè)置對(duì)方的IP地址和端口等屬性地址和端口等屬性;5、發(fā)送數(shù)據(jù),用函數(shù)、發(fā)送數(shù)據(jù),用函數(shù)sendto();6、關(guān)閉網(wǎng)絡(luò)連接;、關(guān)閉網(wǎng)絡(luò)連接; wenzhanSchool of Communication Engineering, CUIT25用戶(hù)數(shù)據(jù)報(bào)協(xié)議 UDP UDP 概述* lUDP 只在只在 IP 的數(shù)據(jù)報(bào)服務(wù)之上增加了很少一點(diǎn)的功能,的數(shù)據(jù)報(bào)服務(wù)之上增加了很少一點(diǎn)
22、的功能,即端口的功能和差錯(cuò)檢測(cè)的功能。即端口的功能和差錯(cuò)檢測(cè)的功能。l雖然雖然 UDP 用戶(hù)數(shù)據(jù)報(bào)只能提供不可靠的交付,但用戶(hù)數(shù)據(jù)報(bào)只能提供不可靠的交付,但 UDP 在某些方面有其特殊的優(yōu)點(diǎn)。在某些方面有其特殊的優(yōu)點(diǎn)。p發(fā)送數(shù)據(jù)之前不需要建立連接發(fā)送數(shù)據(jù)之前不需要建立連接pUDP 的主機(jī)不需要維持復(fù)雜的連接狀態(tài)表。的主機(jī)不需要維持復(fù)雜的連接狀態(tài)表。pUDP 用戶(hù)數(shù)據(jù)報(bào)只有用戶(hù)數(shù)據(jù)報(bào)只有8個(gè)字節(jié)的首部開(kāi)銷(xiāo)。個(gè)字節(jié)的首部開(kāi)銷(xiāo)。p網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)的發(fā)送速率降低。這網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)的發(fā)送速率降低。這對(duì)某些實(shí)時(shí)應(yīng)用是很重要的。對(duì)某些實(shí)時(shí)應(yīng)用是很重要的。 wenzhanSchool o
23、f Communication Engineering, CUIT26UDP 用戶(hù)數(shù)據(jù)報(bào)的首部格式* 數(shù) 據(jù)首 部IP 數(shù)據(jù)報(bào)UDP長(zhǎng)度源 IP 地址目的 IP 地址017字節(jié)44112源端口目的端口長(zhǎng) 度檢驗(yàn)和2222偽首部12字節(jié)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶(hù)數(shù)據(jù)報(bào)wenzhanSchool of Communication Engineering, CUIT27偽首部源端口目的端口長(zhǎng) 度檢驗(yàn)和數(shù) 據(jù)首 部UDP長(zhǎng)度源 IP 地址目的 IP 地址017IP 數(shù)據(jù)報(bào)字節(jié)44112122222字節(jié)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶(hù)數(shù)據(jù)報(bào)用戶(hù)數(shù)據(jù)報(bào) UDP 有兩個(gè)字段:數(shù)據(jù)字段和首部字段。首部字
24、段有 8 個(gè)字節(jié),由 4 個(gè)字段組成,每個(gè)字段都是兩個(gè)字節(jié)。 UDP 用戶(hù)數(shù)據(jù)報(bào)的首部格式* wenzhanSchool of Communication Engineering, CUIT28偽首部源端口目的端口長(zhǎng) 度檢驗(yàn)和數(shù) 據(jù)首 部UDP長(zhǎng)度源 IP 地址目的 IP 地址017IP 數(shù)據(jù)報(bào)字節(jié)44112122222字節(jié)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶(hù)數(shù)據(jù)報(bào)在計(jì)算檢驗(yàn)和時(shí),臨時(shí)把“偽首部”和 UDP 用戶(hù)數(shù)據(jù)報(bào)連接在一起。偽首部?jī)H僅是為了計(jì)算檢驗(yàn)和。UDP 用戶(hù)數(shù)據(jù)報(bào)的首部格式* wenzhanSchool of Communication Engineering, CUIT29計(jì)算 UD
25、P 檢驗(yàn)和的例子 10011001 00010011 153.1900001000 01101000 8.10410101011 00000011 171.300001110 00001011 14.1100000000 00010001 0 和 1700000000 00001111 1500000100 00111111 108700000000 00001101 1300000000 00001111 1500000000 00000000 0(檢驗(yàn)和)01010100 01000101 數(shù)據(jù)01010011 01010100 數(shù)據(jù)01001001 01001110 數(shù)據(jù)01000111
26、 00000000 數(shù)據(jù)和 0(填充)10010110 11101011 求和得出的結(jié)果01101001 00010100 檢驗(yàn)和 153.19.8.104171.3.14.1112 字節(jié)偽首部8 字節(jié)UDP 首部7 字節(jié)數(shù)據(jù)填充按二進(jìn)制反碼運(yùn)算求和將得出的結(jié)果求反碼全 0 17 15 1087 13 15 全 0數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù)數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 全 0wenzhanSchool of Communication Engineering, CUIT301 1、順序號(hào)、順序號(hào) 每個(gè)字節(jié)一個(gè)順序號(hào);每個(gè)字節(jié)一個(gè)順序號(hào);2 2、應(yīng)答號(hào)、應(yīng)答號(hào) 表示該應(yīng)答號(hào)以前的都正確收到?表示該應(yīng)答號(hào)以前的都
27、正確收到?3 3、接收窗口、接收窗口 流控制流控制4 4、發(fā)送窗口、發(fā)送窗口 流控制流控制5 5、一個(gè)分組內(nèi)的字節(jié)公用一個(gè)時(shí)鐘、一個(gè)分組內(nèi)的字節(jié)公用一個(gè)時(shí)鐘 超時(shí)重新發(fā)送超時(shí)重新發(fā)送TCP如何實(shí)現(xiàn)可靠性?第 5 章 傳輸層wenzhanSchool of Communication Engineering, CUIT31傳輸控制協(xié)議 TCP TCP 概述* 端口發(fā)送 TCP 報(bào)文段TCPTCP接收緩存發(fā)送緩存報(bào)文段報(bào)文段報(bào)文段端口發(fā)送端接收端向發(fā)送緩存寫(xiě)入數(shù)據(jù)塊從接收緩存讀取數(shù)據(jù)塊應(yīng)用進(jìn)程應(yīng)用進(jìn)程wenzhanSchool of Communication Engineering, CUIT3
28、2TCP-TCP報(bào)文段結(jié)構(gòu)-TCP連接的順序號(hào)控制-TCP連接的建立和關(guān)閉第 5章 傳輸層wenzhanSchool of Communication Engineering, CUIT3332 bit比特 0 8 16 24 31TCP 數(shù)據(jù)部分TCP 首部TCP 報(bào)文段IP 數(shù)據(jù)部分IP 首部TCP首部20 字節(jié)的固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG填 充發(fā)送在前傳輸控制協(xié)議 TCP 首部* wenzhanSchool of Communication Engineerin
29、g, CUIT34TCP首部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ùn)輸層與應(yīng)用層的服務(wù)接口。運(yùn)輸層的復(fù)用和分用功能都要通過(guò)端口才能實(shí)現(xiàn)。 傳輸控制協(xié)議 TCP 首部* wenzhanSchool of Communication Engineering, CUIT35TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)
30、保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充序號(hào)字段占 4 字節(jié)。TCP 連接中傳送的數(shù)據(jù)流中的每一個(gè)字節(jié)都編上一個(gè)序號(hào)。序號(hào)字段的值則指的是本報(bào)文段所發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。 傳輸控制協(xié)議 TCP 首部* wenzhanSchool of Communication Engineering, CUIT36TCP首部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ì)方的下一
31、個(gè)報(bào)文段的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。 傳輸控制協(xié)議 TCP 首部* wenzhanSchool of Communication Engineering, CUIT37TCP首部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)文段的首部長(zhǎng)度。“數(shù)據(jù)偏移”的單位不是字節(jié)而是 32 bit 字(4 字節(jié)為計(jì)算單位)。 傳輸控制協(xié)議 TCP 首部 wenzhanSchool of Communication En
32、gineering, CUIT38TCP數(shù)據(jù)長(zhǎng)度是怎么計(jì)算的?第5章 傳輸層TCP 數(shù)據(jù)部分TCP 首部TCP 報(bào)文段IP 數(shù)據(jù)部分IP 首部IP總長(zhǎng)度IP頭長(zhǎng)TCP頭長(zhǎng)(數(shù)據(jù)偏移)? wenzhanSchool of Communication Engineering, CUIT39TCP首部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。 傳輸控制協(xié)議 TCP 首部 wenzhanSc
33、hool of Communication Engineering, CUIT40TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 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ù))。 傳輸控制協(xié)議 TCP 首部 wenzhanSchool of Communication Engineering, CUIT41TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢
34、驗(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é)的序號(hào)。 傳輸控制協(xié)議 TCP 首部 wenzhanSchool of Communication Engineering, CUIT42TCP數(shù)據(jù)長(zhǎng)度是怎么計(jì)算的?第 5 章 傳輸層TCP 數(shù)據(jù)部分TCP 首部TCP 報(bào)文段IP 數(shù)據(jù)部分IP 首部IP總長(zhǎng)度IP頭長(zhǎng)TCP頭長(zhǎng)(數(shù)據(jù)偏移)URG=1緊急數(shù)據(jù)緊急數(shù)據(jù)wenzhanSchool of Communi
35、cation Engineering, CUIT43TCP首部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ú)效。 傳輸控制協(xié)議 TCP 首部 wenzhanSchool of Communication Engineering, CUIT44TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口
36、確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充推送比特 PSH (PuSH) 接收 TCP 收到推送比特置 1 的報(bào)文段,就盡快地交付給接收應(yīng)用進(jìn)程,而不再等到整個(gè)緩存都填滿(mǎn)了后再向上交付。 傳輸控制協(xié)議 TCP 首部 wenzhanSchool of Communication Engineering, CUIT45TCP首部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
37、) 當(dāng) RST 1 時(shí),表明 TCP 連接中出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立運(yùn)輸連接。 傳輸控制協(xié)議 TCP 首部 wenzhanSchool of Communication Engineering, CUIT46TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(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)文。 傳輸控制協(xié)議 TCP 首部 wenzhanSchoo
38、l of Communication Engineering, CUIT47TCP首部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ā)送完畢,并要求釋放運(yùn)輸連接。 傳輸控制協(xié)議 TCP 首部 wenzhanSchool of Communication Engineering, CUIT48TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和
39、選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充窗口字段 占 2 字節(jié)。窗口字段用來(lái)控制對(duì)方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。TCP 連接的一端根據(jù)設(shè)置的緩存空間大小確定自己的接收窗口大小,然后通知對(duì)方以確定對(duì)方的發(fā)送窗口的上限。傳輸控制協(xié)議 TCP 首部* wenzhanSchool of Communication Engineering, CUIT49TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSY
40、NRSTPSHACKURG比特 0 8 16 24 31填 充檢驗(yàn)和 占 2 字節(jié)。檢驗(yàn)和字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分。在計(jì)算檢驗(yàn)和時(shí),要在 TCP 報(bào)文段的前面加上 12 字節(jié)的偽首部。傳輸控制協(xié)議 TCP 首部* wenzhanSchool of Communication Engineering, CUIT50TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充選項(xiàng)字段 長(zhǎng)度可變。TCP 只規(guī)定了一種選項(xiàng),即最大報(bào)文段長(zhǎng)度 M
41、SS (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)文段。wenzhanSchool of Communication Engineering, CUIT51TCP首部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)度是 4
42、 字節(jié)的整數(shù)倍。 傳輸控制協(xié)議 TCP 首部 wenzhanSchool of Communication Engineering, CUIT52可靠傳輸-停等協(xié)議-連續(xù)ARQ第 5 章 傳輸層wenzhanSchool of Communication Engineering, CUIT535.3 可靠傳輸?shù)墓ぷ髟?(a) 無(wú)差錯(cuò)情況A發(fā)送 M1確認(rèn) M1B發(fā)送 M2發(fā)送 M3確認(rèn) M2確認(rèn) M3A發(fā)送 M1B超時(shí)重傳 M1發(fā)送 M2確認(rèn) M1丟棄有差錯(cuò)的報(bào)文(b) 超時(shí)重傳tttt停止等待協(xié)議 wenzhanSchool of Communication Engineering, CUI
43、T54確認(rèn)丟失和確認(rèn)遲到 A發(fā)送 M1B超時(shí)重傳 M1發(fā)送 M2丟棄重復(fù)的 M1重傳確認(rèn) M1(a) 確認(rèn)丟失確認(rèn) M1A發(fā)送 M1B超時(shí)重傳 M1發(fā)送 M2丟棄重復(fù)的 M1重傳確認(rèn)M1(b) 確認(rèn)遲到確認(rèn) M1收下遲到的確認(rèn)但什么也不做tttt停止等待協(xié)議* wenzhanSchool of Communication Engineering, CUIT55可靠通信的實(shí)現(xiàn)*確認(rèn)和重傳機(jī)制確認(rèn)和重傳機(jī)制 在不可靠的傳輸網(wǎng)絡(luò)上實(shí)現(xiàn)可靠的通信在不可靠的傳輸網(wǎng)絡(luò)上實(shí)現(xiàn)可靠的通信; 自動(dòng)重傳請(qǐng)求自動(dòng)重傳請(qǐng)求ARQ (Automatic Repeat reQuest)。問(wèn)題:?jiǎn)栴}:停止等待協(xié)議降低了信道
44、利用率,如何解停止等待協(xié)議降低了信道利用率,如何解決?決?wenzhanSchool of Communication Engineering, CUIT56連續(xù) ARQ 協(xié)議*l 發(fā)送端發(fā)送端在發(fā)送完一個(gè)分組后,不是停下來(lái)等待確在發(fā)送完一個(gè)分組后,不是停下來(lái)等待確認(rèn),而是可以連續(xù)再發(fā)送分組。認(rèn),而是可以連續(xù)再發(fā)送分組。l 如果這時(shí)如果這時(shí)發(fā)送端發(fā)送端收到了接收端發(fā)來(lái)的確認(rèn)幀,那收到了接收端發(fā)來(lái)的確認(rèn)幀,那么還可以接著發(fā)送分組。么還可以接著發(fā)送分組。l 由于減少了等待時(shí)間,整個(gè)通信的吞吐量就提高由于減少了等待時(shí)間,整個(gè)通信的吞吐量就提高了。了。 wenzhanSchool of Communi
45、cation Engineering, CUIT57連續(xù) ARQ 協(xié)議的工作原理 DATA0DATA1DATA2DATA3DATA4DATA5重傳 DATA2重傳 DATA3ACK1ACK2ACK1 確認(rèn) DATA0ACK2 確認(rèn) DATA1DATA2 出錯(cuò),丟棄DATA3 不按序,丟棄,重傳 ACK2DATA4 不按序,丟棄,重傳 ACK2DATA5 不按序,丟棄,重傳 ACK2ACK3ACK3 確認(rèn) DATA2ACK4 確認(rèn) DATA3ACK4重傳 DATA5重傳 DATA4超時(shí)重傳時(shí)間ABtout送交上層送交上層?ACK2ACK2ACK2wenzhanSchool of Communic
46、ation Engineering, CUIT58(1) 按序按序 接收接收(2) 設(shè)置設(shè)置 超時(shí)計(jì)時(shí)器超時(shí)計(jì)時(shí)器(3) ACKn 表示表示 確認(rèn)確認(rèn) n-1 號(hào)分組號(hào)分組(4) 連續(xù)連續(xù) 發(fā)送(包括重新連續(xù)發(fā)送)發(fā)送(包括重新連續(xù)發(fā)送)連續(xù) ARQ 協(xié)議的工作原理* wenzhanSchool of Communication Engineering, CUIT59ARQ-Automatic Request for Repeat 這個(gè)方法還存在什么問(wèn)題?1 1、浪費(fèi)信道!、浪費(fèi)信道!2 2、完全不顧接收端、完全不顧接收端 的能力!的能力!DATA0DATA1DATA2DATA3DATA4DA
47、TA5重傳 DATA2重傳 DATA3ACK1ACK2ACK3ACK4重傳 DATA5重傳 DATA4超時(shí)重傳時(shí)間ABtout?ACK2ACK2ACK2wenzhanSchool of Communication Engineering, CUIT60滑動(dòng)窗口的概念*l 發(fā)送端和接收端分別設(shè)定發(fā)送端和接收端分別設(shè)定發(fā)送窗口發(fā)送窗口和和接收窗口接收窗口 。l 發(fā)送窗口用來(lái)對(duì)發(fā)送端進(jìn)行發(fā)送窗口用來(lái)對(duì)發(fā)送端進(jìn)行流量控制流量控制。l 發(fā)送窗口的發(fā)送窗口的大小大小 WT 代表在還沒(méi)有收到對(duì)方確認(rèn)信代表在還沒(méi)有收到對(duì)方確認(rèn)信息的情況下發(fā)送端息的情況下發(fā)送端最多可以發(fā)送最多可以發(fā)送多少個(gè)分組多少個(gè)分組。 w
48、enzhanSchool of Communication Engineering, CUIT61連續(xù) ARQ 協(xié)議* 01234567012發(fā)送窗口WT不允許發(fā)送這些分組允許發(fā)送 5 個(gè)分組(a)01234567012不允許發(fā)送這些分組還允許發(fā)送 4 個(gè)分組WT已發(fā)送(b)01234567012不允許發(fā)送這些分組WT已發(fā)送(c)01234567012不允許發(fā)送這些分組還允許發(fā)送 3 個(gè)分組WT已發(fā)送 已發(fā)送并已收到確認(rèn)(d)wenzhanSchool of Communication Engineering, CUIT62接收端設(shè)置接收窗口* l 在接收端只有當(dāng)收到的數(shù)據(jù)幀的發(fā)送序號(hào)在接收端
49、只有當(dāng)收到的數(shù)據(jù)幀的發(fā)送序號(hào)落入接落入接收窗口內(nèi)收窗口內(nèi)才允許將該分組收下。才允許將該分組收下。 l 若接收到的分組落在若接收到的分組落在接收窗口之外接收窗口之外,則一律將其,則一律將其丟棄。丟棄。 l 在連續(xù)在連續(xù) ARQ 協(xié)議中,接收窗口的大小協(xié)議中,接收窗口的大小 WR = 1。p只有當(dāng)收到分組的序號(hào)與接收窗口一致時(shí)才能接收。否則,就丟棄它。p每收到一個(gè)序號(hào)正確的分組,接收窗口就向前(即向右方)滑動(dòng)一個(gè)分組的位置。同時(shí)發(fā)送對(duì)該幀的確認(rèn)。 wenzhanSchool of Communication Engineering, CUIT63不允許接收這些分組01234567012WR準(zhǔn)備接收
50、 0 號(hào)分組(a)不允許接收這些分組01234567012WR準(zhǔn)備接收 1 號(hào)分組已收到(b)不允許接收這些分組01234567012WR準(zhǔn)備接收 4 號(hào)分組已收到(c)連續(xù) ARQ 協(xié)議 *wenzhanSchool of Communication Engineering, CUIT64課堂練習(xí)*l P221l 5-21wenzhanSchool of Communication Engineering, CUIT65TCP-TCP報(bào)文段結(jié)構(gòu)-TCP連接的順序號(hào)控制-TCP連接的建立和關(guān)閉第 5 章 傳輸層wenzhanSchool of Communication Engineering
51、, CUIT6632 bit比特 0 8 16 24 31TCP 數(shù)據(jù)部分TCP 首部TCP 報(bào)文段IP 數(shù)據(jù)部分IP 首部TCP首部20 字節(jié)的固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào) - 該報(bào)文的數(shù)據(jù)部分的第一個(gè)字節(jié)的順序號(hào)緊 急 指 針窗 口保 留FINSYNRSTPSHACKURG填 充發(fā)送在前其它字節(jié)(第n個(gè))的數(shù)據(jù)號(hào)呢?序號(hào)+n傳輸控制協(xié)議 TCP 首部* wenzhanSchool of Communication Engineering, CUIT6732 bit比特 0 8 16 24 31TCP 數(shù)據(jù)部分TCP 首部TCP 報(bào)文段I
52、P 數(shù)據(jù)部分IP 首部TCP首部20 字節(jié)的固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào) - 該報(bào)文的數(shù)據(jù)部分的第一個(gè)字節(jié)的順序號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào) 表示接收端希望接收的第一個(gè)字節(jié)的順序號(hào)保 留FINSYNRSTPSHACKURG填 充發(fā)送在前傳輸控制協(xié)議 TCP 首部* wenzhanSchool of Communication Engineering, CUIT68TCP 的流量控制與擁塞控制的流量控制與擁塞控制滑動(dòng)窗口的概念滑動(dòng)窗口的概念l TCP 采用大小可變的滑動(dòng)窗口進(jìn)行流量控制。窗口大小的單采用大小可變的滑動(dòng)窗口進(jìn)行流量控制。窗口
53、大小的單位是位是字節(jié)字節(jié)。(。(一對(duì)進(jìn)程之間一對(duì)進(jìn)程之間)發(fā)送端發(fā)送端接收端接收端已發(fā)已確認(rèn)已發(fā)已確認(rèn)已發(fā)未確認(rèn)已發(fā)未確認(rèn)可發(fā)未發(fā)可發(fā)未發(fā)不可以發(fā)送不可以發(fā)送已接收已確認(rèn)已接收已確認(rèn)可以接收可以接收不可以接收不可以接收接收窗口接收窗口發(fā)送窗口發(fā)送窗口wenzhanSchool of Communication Engineering, CUIT69收到確認(rèn)即可前移1002003004005006007008009001012013014015016017018011發(fā)送窗口可發(fā)送不可發(fā)送指針l 發(fā)送端要發(fā)送發(fā)送端要發(fā)送 900 字節(jié)長(zhǎng)的數(shù)據(jù),劃分為字節(jié)長(zhǎng)的數(shù)據(jù),劃分為 9 個(gè)個(gè) 100 字字節(jié)
54、長(zhǎng)的報(bào)文段,而發(fā)送窗口確定為節(jié)長(zhǎng)的報(bào)文段,而發(fā)送窗口確定為 500 字節(jié)。字節(jié)。l 發(fā)送端只要收到了對(duì)方的確認(rèn),發(fā)送窗口就可前移。發(fā)送端只要收到了對(duì)方的確認(rèn),發(fā)送窗口就可前移。l 發(fā)送發(fā)送 TCP 要維護(hù)一個(gè)指針。每發(fā)送一個(gè)報(bào)文段,指針要維護(hù)一個(gè)指針。每發(fā)送一個(gè)報(bào)文段,指針就向前移動(dòng)一個(gè)報(bào)文段的距離。就向前移動(dòng)一個(gè)報(bào)文段的距離。TCP 的流量控制與擁塞控制的流量控制與擁塞控制滑動(dòng)窗口的概念滑動(dòng)窗口的概念*wenzhanSchool of Communication Engineering, CUIT70收到確認(rèn)即可前移10020030040050060070080090010120130140
55、15016017018011可發(fā)送不可發(fā)送指針1002003004005006007008009001012013014015016017018011發(fā)送窗口可發(fā)送不可發(fā)送指針發(fā)送窗口前移l 發(fā)送端已發(fā)送了發(fā)送端已發(fā)送了 400 字節(jié)的數(shù)據(jù),但只收到對(duì)前字節(jié)的數(shù)據(jù),但只收到對(duì)前 200 字節(jié)數(shù)據(jù)的確認(rèn),字節(jié)數(shù)據(jù)的確認(rèn),同時(shí)窗口大小不變。同時(shí)窗口大小不變。l 現(xiàn)在發(fā)送端還可發(fā)送現(xiàn)在發(fā)送端還可發(fā)送 300 字節(jié)。字節(jié)。 已發(fā)送并被確認(rèn)已發(fā)送但未被確認(rèn)TCP 的流量控制與擁塞控制的流量控制與擁塞控制滑動(dòng)窗口的概念滑動(dòng)窗口的概念*wenzhanSchool of Communication Engin
56、eering, CUIT711002003004005006007008009001012013014015016017018011已發(fā)送并被確認(rèn)已發(fā)送但未被確認(rèn)可發(fā)送不可發(fā)送指針1002003004005006007008009001012013014015016017018011已發(fā)送并被確認(rèn)可發(fā)送不可發(fā)送指針發(fā)送窗口前移發(fā)送窗口縮小l 發(fā)送端收到了對(duì)方對(duì)前發(fā)送端收到了對(duì)方對(duì)前 400 字節(jié)數(shù)據(jù)的確認(rèn),但對(duì)方通知發(fā)送端必須把字節(jié)數(shù)據(jù)的確認(rèn),但對(duì)方通知發(fā)送端必須把窗口減小到窗口減小到 400 字節(jié)。字節(jié)。l 現(xiàn)在發(fā)送端最多還可發(fā)送現(xiàn)在發(fā)送端最多還可發(fā)送 400 字節(jié)的數(shù)據(jù)。字節(jié)的數(shù)據(jù)。 TC
57、P 的流量控制與擁塞控制的流量控制與擁塞控制滑動(dòng)窗口的概念滑動(dòng)窗口的概念*wenzhanSchool of Communication Engineering, CUIT72利用可變窗口大小進(jìn)行流量控制雙方確定的窗口值是 400 SEQ = 1SEQ = 201SEQ = 401SEQ = 301SEQ = 101SEQ = 501ACK = 201, WIN = 300ACK = 601, WIN = 0ACK = 501, WIN = 200主機(jī) A主機(jī) B允許 A 再發(fā)送 300 字節(jié)(序號(hào) 201 至 500)A 還能發(fā)送 200 字節(jié)A 還能發(fā)送 200 字節(jié)(序號(hào) 301 至 50
58、0)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ù)都已收到)SEQ = 201丟失!wenzhanSchool of Communication Engineering, CUIT73作業(yè)l P221l 5-23wenzhanSchool of Communication Engineering, CUIT74慢開(kāi)始和擁塞避免(自學(xué))l 發(fā)送端的主機(jī)在確定發(fā)送報(bào)
59、文段的速率時(shí),既要根據(jù)接收端發(fā)送端的主機(jī)在確定發(fā)送報(bào)文段的速率時(shí),既要根據(jù)接收端的接收能力,又要從全局考慮不要使網(wǎng)絡(luò)發(fā)生擁塞。的接收能力,又要從全局考慮不要使網(wǎng)絡(luò)發(fā)生擁塞。l 通知窗口通知窗口(接收端窗口接收端窗口rwnd)是接收端根據(jù)其目前的接收緩存大小所許諾的最新的窗口值,是接收端根據(jù)其目前的接收緩存大小所許諾的最新的窗口值,是來(lái)自接收端的流量控制。接收端將此窗口值放在是來(lái)自接收端的流量控制。接收端將此窗口值放在 TCP 報(bào)報(bào)文的首部中的窗口字段,傳送給發(fā)送端。文的首部中的窗口字段,傳送給發(fā)送端。l 擁塞窗口擁塞窗口cwnd (congestion widow)是發(fā)送端根據(jù)自己估計(jì)的網(wǎng)絡(luò)擁
60、塞程度而設(shè)置的窗口值,是是發(fā)送端根據(jù)自己估計(jì)的網(wǎng)絡(luò)擁塞程度而設(shè)置的窗口值,是來(lái)自發(fā)送端的流量控制。來(lái)自發(fā)送端的流量控制。wenzhanSchool of Communication Engineering, CUIT75發(fā)送窗口的上限值l 發(fā)送端的發(fā)送窗口的上限值應(yīng)當(dāng)取為接收端窗口發(fā)送端的發(fā)送窗口的上限值應(yīng)當(dāng)取為接收端窗口 rwnd 和擁和擁塞窗口塞窗口 cwnd 這兩個(gè)變量中較小的一個(gè),即應(yīng)按以下公式確這兩個(gè)變量中較小的一個(gè),即應(yīng)按以下公式確定:定:l 發(fā)送窗口發(fā)送窗口 = Min通知窗口通知窗口,擁塞窗口擁塞窗口 (7-1)l 當(dāng)當(dāng) rwnd cwnd 時(shí),是接收端的接收能力限制發(fā)送窗口的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年電動(dòng)鎖項(xiàng)目投資價(jià)值分析報(bào)告
- 2024年高校輔導(dǎo)員考試未來(lái)試題及答案
- 2025至2030年電刷彈簧項(xiàng)目投資價(jià)值分析報(bào)告
- 大學(xué)生人際關(guān)系處理能力測(cè)試試題及答案
- 2025至2030年珠光球項(xiàng)目投資價(jià)值分析報(bào)告
- 2024年輔導(dǎo)員招聘考試成功路徑試題及答案
- 2025至2030年照相機(jī)外包裝項(xiàng)目投資價(jià)值分析報(bào)告
- 公司代辦保障房合同樣本
- 中考試題核心母題及答案
- 園藝師的市場(chǎng)營(yíng)銷(xiāo)能力培養(yǎng)試題及答案
- 施工單位項(xiàng)目部組織機(jī)構(gòu)
- 政策性搬遷計(jì)劃書(shū)
- 2023年廈門(mén)市海滄區(qū)(中小學(xué)、幼兒園)教師招聘考試《教育綜合知識(shí)》模擬試題及答案解析
- GB/T 23445-2009聚合物水泥防水涂料
- 中醫(yī)基礎(chǔ)理論(中英文對(duì)照)
- 香港公司條例
- 污水處理系統(tǒng)工程合同范本
- 德能勤績(jī)廉個(gè)人總結(jié)的
- 二年級(jí)美術(shù)上冊(cè)課件 《3.我的手印畫(huà)》 贛美版 (共18張PPT)
- Q∕SY 126-2014 油田水處理用緩蝕阻垢劑技術(shù)規(guī)范
- GB∕T 3216-2016 回轉(zhuǎn)動(dòng)力泵 水力性能驗(yàn)收試驗(yàn) 1級(jí)、2級(jí)和3級(jí)
評(píng)論
0/150
提交評(píng)論