計(jì)算機(jī)網(wǎng)絡(luò)與通信7internet協(xié)議-傳輸層_第1頁
計(jì)算機(jī)網(wǎng)絡(luò)與通信7internet協(xié)議-傳輸層_第2頁
計(jì)算機(jī)網(wǎng)絡(luò)與通信7internet協(xié)議-傳輸層_第3頁
計(jì)算機(jī)網(wǎng)絡(luò)與通信7internet協(xié)議-傳輸層_第4頁
計(jì)算機(jī)網(wǎng)絡(luò)與通信7internet協(xié)議-傳輸層_第5頁
已閱讀5頁,還剩160頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

7.2輸層協(xié)傳輸層保證端到端可靠的傳輸傳輸層只存在于通信子網(wǎng)以外的主機(jī)中。因通信子網(wǎng)所提供的服務(wù)不同。為了能使通信子網(wǎng)的用戶得到一個(gè)統(tǒng)一的通信服務(wù),就需要設(shè)置一個(gè)傳輸層。組重復(fù),數(shù)據(jù)被破壞,分組到達(dá)順序,只對(duì)IP數(shù)據(jù)報(bào)首部進(jìn)傳輸層向 用戶 了下面通信子網(wǎng)的細(xì)節(jié)。使得 用戶看見的就好像在兩個(gè)傳輸層實(shí)體之間有一條端到端的、可靠的全雙工通信通路。網(wǎng)絡(luò)層的問題

7.2輸層協(xié)網(wǎng)絡(luò)的性能與用戶的要求存在差異用戶要求高速傳輸,而網(wǎng)絡(luò)的吞吐量、傳輸速率和遲等性能不能滿足;網(wǎng)絡(luò)的傳輸差錯(cuò)率不能滿足用戶的要求網(wǎng)絡(luò)層的分組長(zhǎng)度不一定適配用戶數(shù)據(jù)的長(zhǎng)度網(wǎng)絡(luò)的數(shù)據(jù)流量不一定能滿足用戶的要求

7.2輸層協(xié)層用戶在相互通信時(shí)不必關(guān)心通信子網(wǎng)的細(xì)節(jié)??煽浚簜鬏攲犹幚?低層的錯(cuò)誤 層用戶不涉及點(diǎn)對(duì)點(diǎn)間通信的任何細(xì)節(jié)7.2輸層協(xié)單元數(shù)據(jù)傳輸:是一種無連接的服務(wù)【不可靠的傳輸方法】7.2輸層協(xié)服務(wù)質(zhì)量連接④傳輸延遲:從發(fā)送報(bào)文開始到收到報(bào)文為止恢復(fù)功能:出現(xiàn)問題或擁塞時(shí),自動(dòng)終止連7.2輸層協(xié)傳輸服務(wù)原 CONNECTSENDRECEIVEDISCONNECT7.2輸層協(xié)基本原語功能(傳輸工作過程客戶機(jī)調(diào)用CONNECT→服務(wù)器根據(jù)請(qǐng)求中建議的服務(wù)質(zhì)量來確定是否建立連接。如果同意,則建立傳輸連接,并回7.2輸層協(xié)(2)基本原語功能(傳輸工作過程通信結(jié)束后調(diào)用DISCONNECT原語釋放連接。釋非對(duì)稱方式——任何一方都可執(zhí)行DISCONNECT原語發(fā)送釋放連接指示,一旦該指示到達(dá)對(duì)方連對(duì)稱方式——通信雙方單獨(dú)關(guān)閉連接,一方執(zhí)行④傳輸報(bào)文需要確認(rèn),確認(rèn)機(jī)制在傳輸層 傳輸層需要設(shè)置定時(shí)和重發(fā)機(jī)制,以保證提供給7.2輸層協(xié)Windows的傳輸原以API函數(shù)形式提供調(diào)用。在VC中,原語被定義在WINSOCK.H中,共有100 (端點(diǎn)) CONNECT 7.2輸層協(xié)傳輸層位面向信息處面向通

用戶功傳輸應(yīng)用網(wǎng)絡(luò)傳輸應(yīng)用網(wǎng)絡(luò)物理7.2輸層協(xié)TCP/IP體系中的傳輸層協(xié)應(yīng)用應(yīng)用與各種網(wǎng)絡(luò)接應(yīng)用應(yīng)用進(jìn)應(yīng)用進(jìn)傳輸層提供應(yīng)用進(jìn)程間的邏輯通端11223IP34455主機(jī)路由器 路由器1234IP協(xié)議的作用范傳輸層協(xié)議TCPUDP的作用范7.2輸層協(xié)應(yīng)用進(jìn)程之兩個(gè)主機(jī)進(jìn)行通信實(shí)際上就是兩個(gè)主機(jī)中的應(yīng)用進(jìn)應(yīng)用進(jìn)程之間的通信又稱為端到端的通信傳輸層的一個(gè)很重要的功能就是復(fù)用和分用。應(yīng)用層不同進(jìn)程的報(bào)文通過不同的端口向下交到傳輸層,“傳輸層提供應(yīng)用進(jìn)程間的邏輯通信”?!斑壿嬐ㄐ拧钡囊馑际牵簜鬏攲又g的通信好像是沿水平方向傳送數(shù)據(jù)。但事實(shí)上這兩個(gè)傳輸層之間并沒有一7.2輸層協(xié)傳輸層與網(wǎng)絡(luò)層的主要區(qū)應(yīng)用進(jìn) 應(yīng)用進(jìn)??… ??…因特網(wǎng)IP協(xié)議的作用范(提供主機(jī)之間的邏輯通信TCPUDP協(xié)議的作用范(提供進(jìn)程之間的邏輯通信7.2輸層協(xié)傳輸層與網(wǎng)絡(luò)層的主要區(qū)別:P249-250謝(4),P181-謝傳輸層為應(yīng)用進(jìn)程之間提供端到端的邏輯通信,而網(wǎng)絡(luò)層是為主機(jī)之間提供邏輯通信。傳輸層還要對(duì)收到的報(bào)文進(jìn)行差錯(cuò)檢測(cè),而網(wǎng)絡(luò)層中,I數(shù)據(jù)報(bào)首部中的檢測(cè)和字段,只檢測(cè)首部是否出現(xiàn)差錯(cuò)而查數(shù)據(jù)部分。傳輸層需要有兩種不同的協(xié)議,即面向連接的7.2輸層協(xié)傳輸協(xié)議的要傳輸協(xié)議在實(shí)現(xiàn)傳輸服務(wù)時(shí)要解決差錯(cuò)控制,順序,流量控制及其它問題。傳輸層協(xié)議和數(shù)據(jù)鏈路層協(xié)議的差異傳輸層的環(huán)境是兩個(gè)主機(jī)通過多個(gè)網(wǎng)絡(luò)進(jìn)行通信,這就使傳輸層比數(shù)據(jù)鏈路層的環(huán)境復(fù)雜的多。由于分組在網(wǎng)絡(luò)的各個(gè)結(jié)點(diǎn)都進(jìn)行轉(zhuǎn)發(fā),因此會(huì)產(chǎn)生時(shí)延,另絡(luò)同時(shí)存在多條線路,且連接的數(shù)目經(jīng)常動(dòng)態(tài)地變化,因此流量控制和擁塞控制也較為復(fù)雜。傳輸層功能

7.2輸層協(xié)采用的技 主要有分流/合流技術(shù):使得具有低吞吐量、低速率和高傳輸延遲的網(wǎng)絡(luò)可以支持用戶高速傳輸數(shù)據(jù)的要求;復(fù)用/解復(fù)用技術(shù)和拼接/分割技術(shù):使得具有高吞吐量、高速率和低傳輸延遲、且高費(fèi)用的網(wǎng)絡(luò)可以支持用戶低傳輸成本的要求;分段/合段技術(shù):使得傳輸有限長(zhǎng)度用戶數(shù)據(jù)(分組)的網(wǎng)絡(luò)可以支持用戶的無限長(zhǎng)數(shù)據(jù)的傳輸。差錯(cuò)檢測(cè)和恢復(fù)技術(shù):使得差錯(cuò)率較高的網(wǎng)絡(luò)可以支持用戶高可靠性的數(shù)據(jù)傳輸要求流量控制技術(shù):對(duì)連續(xù)傳輸?shù)膮f(xié)議數(shù)據(jù)單元個(gè)數(shù)進(jìn)行限制,避免網(wǎng)絡(luò)擁塞。7.2輸層協(xié)TCP傳送的數(shù)據(jù)單位協(xié)議是TCP報(bào)文段UDPUDP報(bào)文或用戶數(shù)據(jù)數(shù)數(shù)數(shù)數(shù)7.2輸層協(xié)數(shù)數(shù)接接全雙工可靠信數(shù)數(shù)接接全雙工可靠信不可靠信TCP協(xié)UDP協(xié)?發(fā)發(fā)7.2輸層協(xié)傳輸?shù)刂贩Q為傳輸服 點(diǎn)TSAP兩個(gè)對(duì)等傳輸實(shí)體在通信時(shí)傳送的數(shù)據(jù)單位叫作傳輸協(xié)議數(shù)據(jù)單元TPDU(ransportPotocolat)。在傳送數(shù)據(jù)之前不需要先建立連接。收到P報(bào)文后,不需要任何確認(rèn)。在某些情況下P是一種最有效的工作方式。和多播。由于TCP要提供可靠的、面向連接的 7.2輸層協(xié)還要強(qiáng)調(diào)兩點(diǎn)傳輸層的P用戶數(shù)據(jù)報(bào)與網(wǎng)際層的大區(qū)別。IP數(shù)據(jù)報(bào)要經(jīng)過互連網(wǎng)中許多路由器的存儲(chǔ)轉(zhuǎn)發(fā),但P用戶數(shù)據(jù)報(bào)是在傳輸層的端到端抽象的邏輯信道中傳送的。P報(bào)文段是在傳輸層抽象的端到端邏輯信道中傳送,這種信道是可靠的全雙工信道。但這樣的信道卻不知道究竟經(jīng)過了哪些路由器,而這些路由器也根本不知道上面的傳輸層是否建立了TCP連接。7.2輸層協(xié)端口與套接字P182-183謝(5),P238-概端口:是一個(gè)16位的地址0~65535。端口就是傳輸層服務(wù) 點(diǎn)TSA。端口的用途: 是沒有聯(lián)系的應(yīng)用層的各種進(jìn)程是通過相應(yīng)的端口才能與傳輸實(shí)體進(jìn)行交互。應(yīng)用層的源進(jìn)程將報(bào)文發(fā)送給傳輸層的某個(gè)端口,而應(yīng)用層的目的進(jìn)程從端口接收?qǐng)?bào)文。7.2輸層協(xié)識(shí)別通信的雙方——傳輸?shù)刂?——一個(gè) 到唯一一個(gè) ——一個(gè) 到多個(gè) ——多個(gè) 主機(jī) 主機(jī)服務(wù)用(應(yīng)用層實(shí)體傳輸層服 實(shí)實(shí)網(wǎng)絡(luò)層服

應(yīng)用協(xié)協(xié)網(wǎng)絡(luò)(或網(wǎng)際層

服務(wù)用(應(yīng)用層實(shí)體實(shí)實(shí)7.2輸層協(xié)獲知對(duì)方TSAP的方方案一:每個(gè)應(yīng)用進(jìn)程(服務(wù))都有固定不變的TSAP,并且公之于眾,讓網(wǎng)絡(luò)上所有的進(jìn)程都知道。只適用于少數(shù)固定的服務(wù),基本思想:提供服務(wù)的機(jī)器運(yùn)行一個(gè)進(jìn)程服務(wù)器,它一系列端口(TSAP),等待連接請(qǐng)求。當(dāng)用戶的連接請(qǐng)求到達(dá)后,便將用戶的請(qǐng)求及所建立的連接一并轉(zhuǎn)交給實(shí)際提供此服務(wù)的服務(wù)器7.2輸層協(xié)0~1023 端:1024~49151。使用這個(gè)范圍的端口IANA(InternetAssignedNumbersAuthority)登記, 常用的熟知端端7.2輸層協(xié)0007.2輸層協(xié)TCP與UDP的復(fù)用和分P251-謝發(fā)送 接收 應(yīng)用進(jìn)用層 用層

??????運(yùn) TCP復(fù)層

UDP

TCP分 UDP分TCP報(bào)文 網(wǎng) IP復(fù)層

TCP報(bào)文段 IP分用IP數(shù)據(jù) IP數(shù)據(jù)7.2輸層協(xié)插口的概P252-253謝(4),P239- 接由它的兩個(gè)端點(diǎn)來標(biāo)識(shí),這里的端點(diǎn)叫插口或套接(socket)。插口:IP地址+端口,共48位如插口和端口、IP地址的關(guān)系是IP地 插口

7.2輸層協(xié)UDP協(xié)UDP概只在I的數(shù)據(jù)報(bào)服務(wù)之上增加了很少一點(diǎn)功能,這就是端口的功能,即可使應(yīng)用進(jìn)程進(jìn)行復(fù)用和分用及差錯(cuò)檢測(cè)的功能。UDP的優(yōu)點(diǎn):P253-謝UDPUDP用戶數(shù)據(jù)報(bào)只有8使用UD和TC協(xié)議的各種應(yīng)用和應(yīng)用層協(xié)議見-謝(4)表7-1-謝(5)表5-17.2輸層協(xié)UDP的主要特UDP是無連接UDP使用盡力而為交付,即不保證可UDP支持一對(duì)一、一對(duì)多、多對(duì)一和UDP的首部開銷小,只有8個(gè)字節(jié)UDP是面向報(bào)文的。UDP沒有擁塞控 7.2輸層協(xié)UDPUDPUDPUDPIPIPIPIP7.2輸層協(xié)面向報(bào)文的發(fā)送方UDP對(duì)接收應(yīng)用程序的報(bào)文,在添加首部后就向下交付IP層。UDP對(duì)應(yīng)用層的交下來的報(bào)文,既不合并,接收方UDPIP層來的UDP用戶數(shù)據(jù)報(bào),應(yīng)用程序必須選擇合適大小的報(bào)文7.2輸層協(xié)使用UDP的應(yīng)用層協(xié)UDP 每次發(fā)送很少量數(shù)據(jù) 實(shí)時(shí)性要求較高、差錯(cuò)控制要求不高7.2輸層協(xié)UDPUDP用戶數(shù)據(jù)報(bào)分首部字段和數(shù)據(jù)字段首部和偽首部的格式:P185-謝(5),P251-字 IP地IP地0UDP長(zhǎng)字 偽首源端目的端長(zhǎng)度檢驗(yàn)據(jù)數(shù)首部UDP用戶數(shù)據(jù)據(jù)數(shù)首部發(fā) 數(shù) 據(jù)數(shù)據(jù)IP數(shù)據(jù)UDP有兩個(gè)字段:數(shù)據(jù)字段和首部84個(gè)字段組成,字 IPIP0偽首源端目的端長(zhǎng)度檢驗(yàn)偽首源端目的端長(zhǎng)度檢驗(yàn)據(jù)數(shù)首部UDP用戶數(shù)據(jù)據(jù)數(shù)首部據(jù)數(shù)首部發(fā)據(jù)數(shù)首部IP數(shù)據(jù)UDP用戶數(shù)據(jù)字 IP地IP地0UDP長(zhǎng)偽首源端目的端長(zhǎng)度檢驗(yàn)偽首源端目的端長(zhǎng)度檢驗(yàn)據(jù)數(shù)首部UDP用戶數(shù)據(jù)據(jù)數(shù)首部據(jù)數(shù)首部發(fā)據(jù)數(shù)首部IP數(shù)據(jù)7.2輸層協(xié)→00001000→→→→00001000→→→00000000→000000000→00000100→00000000→00000000→00000000→0(檢驗(yàn)和01010100→數(shù)→數(shù)01001001→數(shù)→1001011011101011→求和得出的結(jié)0110100100010100→檢驗(yàn)全數(shù)數(shù)全數(shù)數(shù)數(shù)數(shù)數(shù)數(shù)數(shù)8字7字節(jié)填將得出的結(jié)果求反小結(jié)

7.2輸層協(xié) 在多 應(yīng)用中,常用TCP支持?jǐn)?shù)據(jù)傳輸,DP支持音頻/傳輸。TCP協(xié)

7.2輸層協(xié)TCPTCP是面向連接 每一條TCP連接只能有兩個(gè)端點(diǎn)(endpoint),每一條TCP連接只能是點(diǎn)對(duì)點(diǎn)的(一對(duì)一),不支持廣播TCP提供可靠交付TCP提供全雙工面向字節(jié)流7.2輸層協(xié)TCP0123發(fā)送0123TCPxTCPxxH

??應(yīng)用進(jìn)4545

H

加上TCPTCP9HTCP

發(fā)送TCP876H

7.2輸層協(xié)TCP根據(jù)對(duì)方給出的窗口值和當(dāng)前網(wǎng)絡(luò)擁塞的程度來決定一個(gè)報(bào)文段的長(zhǎng)度(UDP發(fā)送的報(bào)文長(zhǎng)TCP可把太長(zhǎng)的數(shù)據(jù)塊劃分短一些再傳送。TCP7.2輸層協(xié)TCP每一條TCP連接有兩個(gè)端點(diǎn)TCP連接的端點(diǎn)叫做套接字(socket)或插口Socket(套接字)=IP地址+端7.2輸層協(xié)可靠傳輸?shù)墓ぷ髟V沟却齾f(xié)Att

t超時(shí)重t

7.2輸層協(xié)要點(diǎn)分組和確認(rèn)分組都必須進(jìn) 7.2輸層協(xié)確認(rèn)丟失和確

丟重丟重復(fù)重傳確

丟重丟重復(fù)重傳確認(rèn)

但什么也不7.2輸層協(xié)可靠通信的實(shí)(AutomaticRepeatreQuest)。ARQ表明重傳的請(qǐng)求是自動(dòng)進(jìn)行的。接收7.2輸層協(xié)信道利用 TD+RTT+7.2輸層協(xié)信道的利用率DU D

TA7.2輸層協(xié)流水線傳 7.2輸層協(xié)連續(xù)ARQ協(xié)123456789發(fā)送方維持發(fā)送窗口(1231234567897.2輸層協(xié)7.2輸層協(xié)Go-back-N(回退如果發(fā)送方發(fā)送了前5個(gè)分組,而中間的第3個(gè)分組丟失了。這時(shí)接收方只能對(duì)前兩個(gè)這就叫做Go-back-N(回退N),表示需要再退回來重傳已發(fā)送過的N個(gè)分組??梢姰?dāng)通信線路質(zhì)量不好時(shí),連續(xù)ARQ協(xié)議會(huì)帶來的影響。7.2輸層協(xié)TCPTCP連接的每一端都必須設(shè)有兩個(gè)窗口——TCP的可靠傳輸機(jī)制用字節(jié)的序號(hào)進(jìn)行控制。TCP所有的確認(rèn)都是基于序號(hào)而不是基于報(bào)TCP兩端的四個(gè)窗口經(jīng)常處于動(dòng)態(tài)變化之中7.2輸層協(xié)TCP報(bào)文格式P193-195謝(5),P239-TCP報(bào)文分為首部和數(shù)據(jù)兩部分TCP報(bào)文首部的20個(gè)字節(jié)是固定的,后面有32源端口目的端口序確認(rèn)號(hào)保源端口目的端口序確認(rèn)號(hào)保GKHTNN窗檢驗(yàn)緊急指選項(xiàng)(長(zhǎng)度可變填充20TCPTCPTCPTCPIPIPIP比特 源端 目的端首

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

緊急指填充比特 源端 目的端首

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

緊急指填充序號(hào)字段——4字節(jié)。TCP連接中傳送的數(shù)據(jù)流比特 源端 目的端首

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

緊急指填充確認(rèn)號(hào)字段——4字節(jié),是期望收到對(duì)方的下一個(gè)第一個(gè)報(bào)文段攜帶了多少字節(jié)的數(shù)據(jù)比特 源端 目的端首

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

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

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

緊急指填充URG——URG1時(shí),表明緊急指比特 源端口目的端口序源端口目的端口序首確認(rèn)號(hào)數(shù)保URG窗口檢驗(yàn)緊急指針選項(xiàng)(度可變填充首確認(rèn)比特ACK只有當(dāng)ACK1時(shí)確認(rèn)號(hào)字段才有效。當(dāng)ACK0時(shí),確認(rèn)號(hào)無效。比特 源端 目的端首

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

緊急指填充PSH(PuSH)TCP收到推送比特比特 源端口目的端口序源端口目的端口序首確認(rèn)號(hào)數(shù)保RST窗口檢驗(yàn)緊急指針選項(xiàng)(度可變填充首復(fù)位比特RST(ReSeT)——當(dāng)RST1時(shí),表明TCP 比特 源端口目的端口源端口目的端口序首確認(rèn)號(hào)數(shù)保窗口檢驗(yàn)緊急指針選項(xiàng)(度可變填充首同步比特SYN——同步比特SYN置為1,就表示 比特 源端口目的端口源端口目的端口序首確認(rèn)號(hào)數(shù)保窗口檢驗(yàn)緊急指針選項(xiàng)(度可變填充首終止比特FIN(FINal)——用來釋放 FIN1時(shí),表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送完 比特 源端 目的端首

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

緊急指填充——2字節(jié)。窗口字段用來控制對(duì)方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。TCP連接的一端根據(jù)設(shè)置的緩比特 源端 目的端首

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

緊急指填充2字節(jié)。檢驗(yàn)和字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分。在計(jì)算檢驗(yàn)和時(shí),要在TCP12字節(jié)的偽首部。7.2輸層協(xié)TCP的偽首字 IPIP06偽首首部數(shù)據(jù)字偽首首部數(shù)據(jù)發(fā) 數(shù) 據(jù)數(shù)據(jù)IP數(shù)據(jù)比特 源端 目的端首

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

緊急指填充——16bit。緊急指針在本報(bào)文段中的緊急數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào)。這可以SSTCPSSTCP報(bào)文段中的數(shù)據(jù)字段的最大長(zhǎng)度數(shù)據(jù)字段加TCP首部才等于整個(gè)TCP報(bào)文段選項(xiàng)(長(zhǎng)度可變填充——最大報(bào)文段長(zhǎng)度MSS( umSegmentSize)。MSS告訴對(duì)方TCP:“緩存所能接收的報(bào)文段的數(shù)據(jù)字段的最大長(zhǎng)度是MSS個(gè)字節(jié)?!?.2輸層協(xié)窗口擴(kuò)大選項(xiàng)——3字節(jié),其中有一個(gè)字節(jié)表示移位值S。新的窗口值等于TCP首部中的窗口位數(shù)增大到(16+S),相當(dāng)于把窗口值向左移動(dòng)S位后獲得實(shí)際的窗口大小時(shí)間戳選項(xiàng)——占10字節(jié),其中最主要的字段時(shí)間戳值字段(4字節(jié))和時(shí)間戳回送回答字段(4字節(jié))。選擇確認(rèn)選項(xiàng)

7.2輸層協(xié)0--標(biāo)志所有選項(xiàng)結(jié)1--無操作,用于后續(xù)選項(xiàng)對(duì)齊32位邊2433窗口擴(kuò)大因表示窗口字段值乘以2n,n為擴(kuò)大因42-允許使用選擇性確5可選擇確認(rèn)數(shù)據(jù)無需重傳的數(shù)據(jù)3替換校驗(yàn)和算允許使用非TCP標(biāo)準(zhǔn)的校驗(yàn)和算可替換校驗(yàn)當(dāng)校驗(yàn)和超過16位時(shí),放于此比特 源端 目的端首

序字確認(rèn) 固首 保留

UAPRCSGK

RSSY 窗TN檢驗(yàn)選項(xiàng)(長(zhǎng)度可變

緊急指填充——4字節(jié)的

7.2輸層協(xié)7.2輸層協(xié)7.2.7根據(jù)根據(jù)B給出的窗口值20,確認(rèn)號(hào)A后 前前 收 前A的發(fā)送窗31

3334

36

3839

41

4344

46

48收到確

TCP標(biāo)準(zhǔn)強(qiáng)烈不贊成BTCP標(biāo)準(zhǔn)強(qiáng)烈不贊成

允許發(fā)送的序

不允許發(fā)收到的序AA的發(fā)送窗口位置不可用窗 收到確并交付主

不允許發(fā)32333435363233343536373839404142434445464748已發(fā)送但未收到確允許發(fā)送但尚未發(fā)B的接收窗3233343536373839404142434445464748不允許接允許接未按序收PP3P1A的發(fā)送窗口(又稱為通知窗口P2P1P3P2允許發(fā)送但尚未發(fā)送的字節(jié)數(shù)(又稱為可用窗口AAA的發(fā)送窗口向前滑已發(fā)送并收到確 不允3536353637383940414243444546474849505152已發(fā)允許發(fā)送但尚未發(fā) 但未收到確

35363738394041353637383940414243444546474849505152允許接未按序收

AA的發(fā)送窗口內(nèi)的序號(hào)都已用完,已發(fā)送并收到確

A的發(fā)送窗口已滿,有效窗口為353637383940414243444546474849505152已發(fā)送但未收到確

7.2輸層協(xié)

7.2輸層協(xié)接收緩

7.2輸層協(xié)發(fā)送緩存與接收緩存的作發(fā)送緩存用來暫時(shí)存放 TCP準(zhǔn)備發(fā)送TCP接收緩存用來暫時(shí)存放 7.2輸層協(xié)A的發(fā)送窗口并不總是和B的接收窗口一樣(因?yàn)橛幸欢ǖ臅r(shí)間滯后)TCP標(biāo)準(zhǔn)沒有規(guī)定對(duì)不按序到達(dá)的數(shù)據(jù)應(yīng)如何處TCP要求接收方必須有累積確認(rèn)的功能,這樣可7.2輸層協(xié)7.2.8TCP建立與釋放連接機(jī)送和連接釋放。連接的管理就是使連接7.2輸層協(xié)客戶服務(wù)器方TCP連接的建立都是采用客戶服務(wù)器方式主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)程叫做客(client)(server)7.2輸層協(xié)用三次握手建立TCP連客 服務(wù)

AA的TCP向B發(fā)出連接請(qǐng)求報(bào)文段,其首部中的SYN1seqx,表明傳送數(shù)據(jù)時(shí)的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)是x。7.2輸層協(xié)用三次握手建立TCP連客 服務(wù)

BTCP收到連接請(qǐng)求報(bào)文段后,如同意,則 B在確認(rèn)報(bào)文段中應(yīng)使SYN=1,使ACK=1,其確認(rèn)號(hào)ackx1seqy。AAB給出確認(rèn),其ACK1,確認(rèn)號(hào)ack=y1。ATCP客 服務(wù)

客 服務(wù)

??BTCP收到主機(jī)A的確認(rèn)后,也通知其上層應(yīng)用進(jìn)程:TCP連接已經(jīng)建立。7.2輸層協(xié)用三次握手建立TCP連接的各狀態(tài)P216-謝客 服務(wù)

7.2輸層協(xié)初始序號(hào)的確定P242-可選擇0或7.2輸層協(xié)三次 制的問題P243-安全問A(猜出y+1序號(hào)消耗TCP的連接TCP的連接釋客 服務(wù) 現(xiàn)在ATCP發(fā)出連接釋放TCPAFIN1seq=uBTCP的連接釋客 服務(wù) 主動(dòng)關(guān) 應(yīng) B Back=u1,seqv。TCP 從AB這個(gè)方向的連接就釋放了,TCP連接處于半關(guān)閉狀態(tài)。B若發(fā)送數(shù)據(jù),A仍要接收。TCP的連接釋客 服務(wù) 主動(dòng)關(guān) 應(yīng) B已經(jīng)沒有要向A發(fā)送的數(shù)據(jù),TCP釋放連接。(1)TCP的連接釋 四次握客 服務(wù) 主動(dòng)關(guān) 應(yīng)AA收到連接釋放報(bào)文段后,必須發(fā)出確認(rèn)TCP的連接釋 四次握客 服務(wù) 主動(dòng)關(guān) 應(yīng) 在確認(rèn)報(bào)文段中ACK1ackw1,seq=u+1。TCP連接必須經(jīng)過時(shí)間2MSL(最長(zhǎng)報(bào)文 )后才真正釋放掉客 服務(wù)

7.2輸層協(xié)A必須等待2MSL的時(shí)第一,為了保證A發(fā)送的ACK報(bào)文段能夠到達(dá)B。第二,防止“已失效的連接請(qǐng)求報(bào)文段”出現(xiàn)在本連接中。A在發(fā)送完最后一個(gè)ACK報(bào)文段后,再經(jīng)過時(shí)間2MSL,就可以使本連接持續(xù)的時(shí)間 TCP釋放連接機(jī) 三次握 TCP釋放連接機(jī) 對(duì)稱釋B BA7.2輸層協(xié)TCP定時(shí)管理機(jī)TCP每發(fā)送一個(gè)報(bào)文段,就對(duì)這個(gè)報(bào)文段設(shè)問題:超時(shí)時(shí)間的設(shè)7.2輸層協(xié)往返時(shí)延的方差很由于TCP的下層是一個(gè)互聯(lián)網(wǎng)環(huán)境,IP數(shù)據(jù)報(bào)所往往返時(shí)間概率分?jǐn)?shù)據(jù)鏈路傳輸時(shí) RTTS(1RTTS(1RTT樣本(Jacoson算法平均往返時(shí)TCPRTT的一個(gè)RTTS(這第一次測(cè)量到RTT樣本時(shí),RTTS值就取為所測(cè)量到的RTTRTT樣本,就按RTTS:01很接近于零RTT值更新較慢。1RTT值更新較快。RFC29881/87.2輸層協(xié)RTO應(yīng)略大于上面得出的平均往返時(shí)間RTTSRFC2988RTORTTS+4RTTDRTT的偏差的平均值RFC2988RTTD:第一次測(cè)量時(shí),RTTD值取為測(cè)量到的RTT樣本值的一半。在以后的測(cè)量中,則使用下式計(jì)算RTTD:RTTD(1舊的RTTSRTT樣本11/47.2輸層協(xié)TCP1沒有收到確認(rèn)。重傳(1的2的確認(rèn)?是對(duì)哪一個(gè)報(bào)文12時(shí)往12時(shí)往返時(shí)往返時(shí)

超時(shí)重

的確認(rèn)TCP報(bào)文

TCP報(bào)文 收到7.2輸層協(xié)Karn算 平均平均往返時(shí)間RTTS和超時(shí)重傳時(shí)間RTO就較準(zhǔn)確。7.2輸層協(xié)報(bào)文段每重傳一次,就把RTO增大一些新新的RTO舊的系數(shù)的典型值是2的往返時(shí)延更新平均往返時(shí)延RTT和超時(shí)重傳時(shí)間RTO的數(shù)值。7.2輸層協(xié)選擇確認(rèn)7.2輸層協(xié)1 …1…

………確認(rèn)號(hào)= L1=

R1=

L2=

R1=……L11501R13001 字節(jié)塊的第一個(gè)字節(jié)的序號(hào),但右邊界減1才字節(jié)塊中的最后一個(gè)序號(hào)L23501R245017.2輸層協(xié)RFC2018的規(guī)如果要使用選擇確認(rèn),那么在建立TCP連接時(shí),就要在TCP首部的選項(xiàng)SACK”的選項(xiàng),而雙方必須用法仍然不變。只是以后在TCP報(bào)文段的首部中都增加了SACK選項(xiàng),以便報(bào)告收到的不連續(xù)的字節(jié)塊的邊界。由于首部選項(xiàng)40字節(jié),而指明一個(gè)邊界44個(gè)字節(jié)塊1個(gè)字節(jié)選項(xiàng)長(zhǎng)度,共347.2輸層協(xié)利用滑動(dòng)窗口實(shí)現(xiàn)流量控TC采用可變發(fā)送窗口的方式進(jìn)行流量控制(滑動(dòng)窗口協(xié)議)。TC的首部窗口字段寫入的數(shù)值是當(dāng)前接收窗口的大小。在通信過程中,接收端根據(jù)自己的資源情況,動(dòng)態(tài)調(diào)整自己的接收窗口,然后通知發(fā)送方,使發(fā)送窗口和它的保持一致。7.2輸層協(xié)利用可變窗口大小進(jìn)行流量控制:雙方確定的窗口值是400,一個(gè)報(bào)文段為100字節(jié)主機(jī) 主機(jī)SEQ=SEQ=SEQ 丟失ACK=201,WIN=SEQ=SEQ=SEQ=ACK=501,WIN=SEQ=ACK=601,WIN=

A還能發(fā)300字A還能發(fā)200字允許A再發(fā)300字節(jié)(序201500)A還能發(fā)200字節(jié)A還能發(fā)100字A超時(shí)重發(fā),但不能發(fā)送序號(hào)500以后的數(shù)據(jù)允許A再發(fā)200字節(jié)(序501700)A還能發(fā)100字節(jié)(序601700)不允許A再發(fā)送(到序號(hào)600的數(shù)據(jù)都已收到7.2輸層協(xié)0窗口應(yīng)答報(bào)文丟對(duì)策:持續(xù)計(jì)數(shù)器+探測(cè)報(bào)文(見下一頁7.2輸層協(xié)持續(xù)計(jì)數(shù)器+探測(cè)TCP為 接設(shè)有一個(gè)持續(xù)計(jì)時(shí)器只要TCP連接的一方收到對(duì)方的零窗口通零窗口探測(cè)報(bào)文段(僅攜帶1字節(jié)的數(shù)據(jù)),若窗口不是零,則可以通信7.2輸層協(xié)可選發(fā)送機(jī)制第一種機(jī)制是TCP維持一個(gè)變量,它等于最大報(bào)文段長(zhǎng)度MSS。只要緩存中存放的數(shù)據(jù)達(dá)到MSS字節(jié)時(shí),就組裝成一個(gè)TCP報(bào)文段發(fā)送出去。報(bào)文段,即TCP支持的推送(push)操作。第三種機(jī)制是發(fā)送方的一個(gè)計(jì)時(shí)限到了,這7.2輸層協(xié)問題2:效率考慮P204-205謝(5),P246問題:每次發(fā)送一個(gè)字節(jié):需要大量應(yīng)答。(如解決:Nagle算法:發(fā)送第一個(gè)字節(jié)后將后續(xù)的字節(jié)緩存直到原來的字節(jié)被確認(rèn),以期收集的字節(jié)一7.2輸層協(xié)問題3:傻瓜窗口癥能一個(gè)字節(jié),每讀一個(gè)字節(jié)通知發(fā)送方解決:Clark算法:接收方發(fā)送1字節(jié)的窗口修正。即接收方等待一段時(shí)間或者等到接7.2輸層協(xié)問題47.2輸層協(xié)問題5對(duì)策:利用TCP可選項(xiàng)允許使用選擇性確7.2輸層協(xié)TCP1.擁塞控制的一般原對(duì)資源需求的總和7.2輸層協(xié)擁塞控制與流量控制的關(guān)7.2輸層協(xié)擁塞控制的目標(biāo)②合理分配網(wǎng)絡(luò)資源③匹配傳輸速度④避免死鎖7.2輸層協(xié)吞吐理想的擁塞控實(shí)際的擁塞控?zé)o擁塞控死鎖(吞吐= 7.2輸層協(xié)擁塞控制的一般原引起網(wǎng)絡(luò)性能甚至發(fā)生死鎖的原因。這7.2輸層協(xié)擁塞控制原理—— ②閉

7.2輸層協(xié)塞。7.2輸層協(xié)TCP的擁塞控制方慢開始和擁塞避快重傳和快恢隨即早期檢測(cè)7.2輸層協(xié)慢開始和擁塞避擁塞窗口cwnd(congestionwindow):可能發(fā)生擁擁塞窗口就再增大一些,以便把的分組發(fā)送7.2輸層協(xié)發(fā)送窗口的rwnd和擁塞窗口cwnd這兩個(gè)變量中較小的一個(gè),即應(yīng)按以下發(fā)發(fā)送窗口的上限=Min{接收窗口,擁塞窗口Min{rwnd,rwndcwnd時(shí),是接收方的接收能力限制發(fā)送當(dāng)cwndrwnd時(shí),則是網(wǎng)絡(luò)的擁塞限制發(fā)送窗口7.2輸層協(xié)慢開始算法的原在主機(jī)剛剛開始發(fā)送報(bào)文段時(shí)可先設(shè)置擁塞窗口cwnd=1,即設(shè)置為一個(gè)最大報(bào)文段MSS在每收到一個(gè)對(duì)新的報(bào)文段的確認(rèn)后,將擁塞1MSS的數(shù)值。用這樣的方法逐步增大發(fā)送端的擁塞窗口cwnd發(fā)送 接收cwnd=cwnd=cwnd=cwnd=

(重傳的不算在內(nèi))cwnd1cwnd=cwnd=cwnd=cwnd=… …7.2輸層協(xié)(transmission就加倍“傳輸輪次cwnd所允許發(fā)送的例如,擁塞窗口cwnd=4,這時(shí)的往返時(shí)間RTT就是發(fā)送44個(gè)報(bào)文段的確認(rèn),總7.2輸層協(xié)擁塞避免方法的原原因:擁塞窗口不可能一直加時(shí)機(jī):當(dāng)擁塞窗口大于某個(gè)值時(shí)生動(dòng)作:擁塞窗口按線性增目的:減少發(fā)往網(wǎng)絡(luò)的數(shù)7.2輸層協(xié)設(shè)置慢開始門限狀態(tài)變量慢開始門限(閾值)ssthreshcwndssthresh時(shí),使用慢開始算法cwndssthresh時(shí),停止使用慢開始算法而改用擁塞避cwndssthresh時(shí),既可使用慢開始算法,也可使用擁cwnd緩慢地增大,即1,而不是加倍cwnd按線性規(guī)律緩慢增長(zhǎng)。7.2輸層協(xié)當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞ssthresh設(shè)置為出現(xiàn)擁塞時(shí)的把擁塞cwnd1慢開始和擁塞避免算法的實(shí)現(xiàn)擁塞窗

線性規(guī)律增

發(fā)生超 進(jìn)入擁塞避 ssthresh=8 指數(shù)規(guī)律增

進(jìn)入擁塞避

更新后ssthresh傳輸次 TCP1。圖中慢開始門限的初始值設(shè)置為16個(gè)報(bào)文段,即ssthresh= 慢開始和擁塞避免算法的實(shí)現(xiàn)擁塞窗線性規(guī)律增 進(jìn)入擁塞避 ssthresh=8 指數(shù)規(guī)律增

發(fā)生超進(jìn)入擁塞避

更新后ssthresh傳輸次慢開

擁塞避

慢開

擁塞避 過擁塞窗口cwnd和接收端窗口rwnd中的最小值。我們假定接收端窗口足夠大,慢開始和擁塞避免算法的實(shí)現(xiàn)擁塞窗線性規(guī)律增 進(jìn)入擁塞避 ssthresh=84指數(shù)規(guī)律增4

發(fā)生超進(jìn)入擁塞避

更新后ssthresh傳輸次 cwnd1,M0。慢開始和擁塞避免算法的實(shí)現(xiàn)擁塞窗線性規(guī)律增 進(jìn)入擁塞避 ssthresh=8 指數(shù)規(guī)律增

發(fā)生超進(jìn)入擁塞避

更新后ssthresh傳輸次 發(fā)送端收到ACK1(M0M1)后,將cwnd12M1和M2兩個(gè)報(bào)文段。慢開始和擁塞避免算法的實(shí)現(xiàn)擁塞窗線性規(guī)律增 進(jìn)入擁塞避 ssthresh=8 指數(shù)規(guī)律增

發(fā)生超進(jìn)入擁塞避

更新后ssthresh傳輸次慢開

擁塞避

慢開

擁塞避接收端發(fā)回ACK2和ACK3文段的確認(rèn)ACK1cwnd24M4~M6慢開始和擁塞避免算法的實(shí)現(xiàn)擁塞窗線性規(guī)律增 進(jìn)入擁塞避 ssthresh=8 指數(shù)規(guī)律增

發(fā)生超進(jìn)入擁塞避

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論