計算機網(wǎng)絡(luò)理論與實踐 教案 第5章 運輸層_第1頁
計算機網(wǎng)絡(luò)理論與實踐 教案 第5章 運輸層_第2頁
計算機網(wǎng)絡(luò)理論與實踐 教案 第5章 運輸層_第3頁
計算機網(wǎng)絡(luò)理論與實踐 教案 第5章 運輸層_第4頁
計算機網(wǎng)絡(luò)理論與實踐 教案 第5章 運輸層_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章運輸層教案課題名稱第5章運輸層計劃課時8學(xué)時內(nèi)容分析本章簡要介紹運輸層的基本功能,無連接的服務(wù)與面向連接的服務(wù),套接字的概念。然后分別講解UDP和TCP這兩種運輸層協(xié)議。重點講解UDP數(shù)據(jù)報結(jié)構(gòu),TCP實現(xiàn)可靠性通信的原理,包括TCP報文結(jié)構(gòu)、流量控制、擁塞控制、連接管理。本章還用實例分析了TCP協(xié)議存在的安全漏洞。教學(xué)目標及基本要求理解運輸層層基本功能,無連接的服務(wù)與面向連接的服務(wù)理解UDP協(xié)議和TCP協(xié)議的基本功能和不同特點理解并掌握TCP協(xié)議可靠性通信機制,包括流量控制和擁塞控制理解TCP連接管理機制教學(xué)重點運輸層層基本功能,無連接的服務(wù)與面向連接的服務(wù)TCP流量控制和擁塞控制教學(xué)難點TCP流量控制和擁塞控制教學(xué)方式以PPT講授為主,并結(jié)合多媒體進行教學(xué)教學(xué)過程5.1運輸層提供的服務(wù)(1學(xué)時)運輸層就是利用網(wǎng)絡(luò)層提供的服務(wù)向應(yīng)用層提供有效的、可靠的端到端即進程到進程之間的通信服務(wù)。所以運輸層協(xié)議也被稱為端到端協(xié)議(End-to-EndProtocol)。5.1.1運輸層的功能運輸層的基本功能可以概括為以下幾點。(1)實現(xiàn)端到端即進程到進程的數(shù)據(jù)通信。(2)數(shù)據(jù)的封裝/解封。(3)可靠數(shù)據(jù)傳輸即差錯控制,避免報文出錯、丟失、延遲時間紊亂、重復(fù)、亂序。(4)流量控制、擁塞控制。(5)連接的建立與釋放。5.1.2運輸層端口與套接字運輸層的重要功能之一就是提供了面向進程的通信機制。因此,運輸層協(xié)議必須提供某種方法來標識通信應(yīng)用進程。TCP/UDP協(xié)議采用端口(Port)概念來標識通信應(yīng)用進程。端口用一個16位端口號進行標識。運輸層最常用的熟知端口是TCP20文件傳輸協(xié)議(FTP)的數(shù)據(jù)連接、TCP21文件傳輸協(xié)議的控制連接、TCP23遠程登錄服務(wù)(Telnet)、TCP25簡單郵件傳輸協(xié)議(SMTP)、TCP80HTTP、TCP110電子郵件接收協(xié)議(POP3)、UDP23域名服務(wù)(DNS)等。查看本機正在運行的服務(wù)和已經(jīng)建立的連接,以及對應(yīng)的端口,可以在命令窗口(運行cmd)下用netstat–an命令查看。為了區(qū)分不同的網(wǎng)絡(luò)應(yīng)用服務(wù),就必須把主機的IP地址和端口號進行綁定后使用。主機IP地址和端口號的綁定組成了套接字。5.1.3無連接的服務(wù)與面向連接的服務(wù)運輸層的基本服務(wù)又可分成兩種,分別是面向連接的服務(wù)和無連接的服務(wù)。面向連接的服務(wù)具有基于連接的流量控制、差錯控制和分組排序功能,數(shù)據(jù)在這種服務(wù)方式下的傳遞是有序的和可靠的,但是這種服務(wù)的實現(xiàn)需要進行連接的建立、維護和終止,開銷較大。面向連接服務(wù)以電話系統(tǒng)為模式。要和某個人通話,首先拿起電話,撥號碼,通話,然后掛斷。同樣在使用面向連接的服務(wù)時,用戶首先要建立連接,使用連接,然后釋放連接。連接本質(zhì)上像個管道:發(fā)送者在管道的一端放入物體,接收者在另一端按同樣的次序取出物體;其特點是收發(fā)的數(shù)據(jù)不僅順序一致,而且內(nèi)容也相同。無連接的服務(wù)不能保證可靠地按順序提交,開銷較小。因此在選擇這兩種服務(wù)時要根據(jù)具體的應(yīng)用需求來決定。比如,當(dāng)用戶之間傳輸?shù)臄?shù)據(jù)量很大或者數(shù)據(jù)傳輸準確性要求很高時,就需要采用面向連接的服務(wù)。反之,對于數(shù)據(jù)傳遞量小、傳遞準確性要求不是很高的情況則可采用無連接的服務(wù)。無連接服務(wù)以郵政系統(tǒng)為模式。每個報文(信件)帶有完整的目的地址,并且每一個報文都獨立于其他報文,由系統(tǒng)選定的路線傳遞。在正常情況下,當(dāng)兩個報文發(fā)往同一目的地時,先發(fā)的先到。但是,也有可能先發(fā)的報文在途中延誤了,后發(fā)的報文反而先收到;而這種情況在面向連接的服務(wù)中是不會出現(xiàn)的。TCP/IP的運輸層有兩個不同的協(xié)議:(1)用戶數(shù)據(jù)報協(xié)議(UserDatagramProtocol,UDP)。(2)傳輸控制協(xié)議(TransmissionControlProtocol,TCP)。兩種協(xié)議共同構(gòu)成TCP/IP協(xié)議的運輸層,如圖5-3所示。運輸層運輸層圖5-3運輸層的兩種協(xié)議5.2用戶數(shù)據(jù)報協(xié)議(UDP)(1學(xué)時)用戶數(shù)據(jù)報協(xié)議,是面向報文的無連接運輸層協(xié)議。5.2.1UDP特點UDP協(xié)議有以下主要特點。(1)UDP在傳送數(shù)據(jù)之前不需要先建立連接。對方的運輸層在收到UDP報文后,不需要給出任何確認。雖然UDP不提供可靠交付,但在某些情況下UDP是一種最有效的工作方式。UDP只在IP的數(shù)據(jù)報服務(wù)之上增加了很少一點的功能,即端口的功能和差錯檢測的功能。(2)由于UDP沒有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)的擁塞不會使源主機的發(fā)送速率降低。這對某些實時應(yīng)用是很重要的。很多的實時應(yīng)用(如IP電話、實時視頻會議等)要求源主機以恒定的速率發(fā)送數(shù)據(jù),并且允許在網(wǎng)絡(luò)發(fā)生擁塞時丟失一些數(shù)據(jù),但不允許數(shù)據(jù)有太大的時延。UDP正好適合這種要求。(3)UDP是面向報文的。這就是說,UDP對應(yīng)用程序交給的報文不再劃分為若干個分組來發(fā)送,也不把收到的若干個報文合并后再交付給應(yīng)用程序。應(yīng)用程序交給UDP一個報文,UDP就發(fā)送這個報文;而UDP收到一個報文,就把它交付給應(yīng)用程序。應(yīng)用程序必須選擇合適大小的報文。(4)UDP支持一對一、一對多、多對一和多對多的交互通信。用戶數(shù)據(jù)報只有8字節(jié)的首部開銷,比TCP的20字節(jié)的首部要短。5.2.2UDP數(shù)據(jù)報結(jié)構(gòu)UDP協(xié)議的數(shù)據(jù)報報文結(jié)構(gòu)如圖5-4所示。圖5-4UDP協(xié)議的數(shù)據(jù)報報文結(jié)構(gòu)用戶數(shù)據(jù)報UDP有兩個字段:數(shù)據(jù)字段和首部字段。首部字段有8個字節(jié),由4個字段組成,每個字段都是兩個字節(jié)。在計算檢驗和時,臨時把“偽首部”和UDP用戶數(shù)據(jù)報連接在一起。偽首部僅僅是為了計算檢驗和的。5.3傳輸控制協(xié)議(TCP)(4學(xué)時)TCP提供面向連接的服務(wù)。TCP不提供廣播或多播服務(wù)。由于TCP要提供可靠的、面向連接的傳輸服務(wù),因此不可避免地增加了許多的開銷。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多的處理機資源。5.3.1TCP特點TCP協(xié)議有以下一些主要特點。(1)通信是全雙工方式。(2)發(fā)送方的應(yīng)用進程按照自己產(chǎn)生數(shù)據(jù)的規(guī)律,不斷地把數(shù)據(jù)塊陸續(xù)寫入到TCP的發(fā)送緩存中。TCP再從發(fā)送緩存中取出一定數(shù)量的數(shù)據(jù),將其組成TCP報文段(Segment)逐個傳送給IP層,然后發(fā)送出去。(3)接收方從IP層收到TCP報文段后,先把它暫存在接收緩存中,然后讓接收方的應(yīng)用進程從接收緩存中將數(shù)據(jù)塊逐個讀取。(4)由于運輸層的通信是面向連接的,因此TCP每一條連接上的通信只能是一對一的,而不可能是一對多、多對一或多對多的。(5)TCP的報文段的長度是不確定的。(6)TCP可以在發(fā)送自己的數(shù)據(jù)報文段的同時,捎帶地把確認信息附上。為了提高通信傳輸效率,發(fā)送數(shù)據(jù)報文段的一方,可以連續(xù)發(fā)送多個數(shù)據(jù)報文段,而不需要在收到一個確認后才發(fā)送下一個報文段。例5-1:簡述TCP和UDP的主要區(qū)別。解答:TCP提供的是面向連接、可靠的字節(jié)流服務(wù),并且有流量控制和擁塞控制功能。UDP提供的是無連接、不可靠的數(shù)據(jù)報服務(wù),無流量控制和擁塞控制。5.3.2TCP可靠傳輸?shù)墓ぷ髟頂?shù)據(jù)傳輸?shù)目煽啃跃褪且獙崿F(xiàn)差錯控制,避免報文在傳輸過程中出錯、丟失、延遲時間紊亂、重復(fù)、亂序等。TCP協(xié)議實現(xiàn)可靠性傳輸?shù)幕痉椒ǔ谩皺z驗和”進行報文差錯檢測外就是確認與重傳、連接管理、流量控制和擁塞控制機制。以下介紹確認與重傳機制,其他機制后續(xù)詳述。5.3.3TCP數(shù)據(jù)報結(jié)構(gòu)TCP數(shù)據(jù)報結(jié)構(gòu)如圖5-6所示。圖5-6TCP數(shù)據(jù)報結(jié)構(gòu)下面是對TCP數(shù)據(jù)報報文結(jié)構(gòu)主要字段的解釋。1.源端口和目的端口源端口和目的端口就是用于對應(yīng)發(fā)送端和接收端應(yīng)用進程的。這兩個值加上IP首部中的源端IP地址和目的端IP地址就可以唯一確定一個TCP連接。2.序號在每條TCP通信連接上傳送的每個數(shù)據(jù)字節(jié)都有一個與之相對應(yīng)的序號,這是TCP協(xié)議實體的重要概念之一。以字節(jié)為單位遞增的TCP序號主要用于數(shù)據(jù)排序、重復(fù)檢測、差錯處理及流量控制窗口等TCP協(xié)議機制,從而保證了傳輸任何數(shù)據(jù)字節(jié)都是可靠的。TCP序號不僅用于保證數(shù)據(jù)傳送的可靠性,還用于保證建立連接(SYN請求)和拆除連接(FIN請求)的可靠性,每個SYN和FIN字段都要占一個單位的序號空間。當(dāng)建立一個新的連接時,SYN標志變?yōu)?。序號字段中包含由這個主機所選擇的該連接的初始序號(InitialSequenceNumber,ISN)。既然每個傳輸?shù)淖止?jié)都被計數(shù),就要確認序號是發(fā)送確認的一端所期望收到的下一個序號。因此,確認序號應(yīng)當(dāng)是上次已成功收到的數(shù)據(jù)字節(jié)序號加1。只有ACK標志為1時,確認序號字段才有效。發(fā)送ACK無須任何代價,因為32位的確認序號字段和ACK標志一樣,總是TCP首部的一部分。因此,可以看到一旦一個連接建立起來,那么這個字段就總被設(shè)置,ACK標志也總被設(shè)置為1。TCP為應(yīng)用層提供全雙工服務(wù),這意味著數(shù)據(jù)能在兩個方向上獨立地進行傳輸。因此,連接的每一端必須保持每個方向上的傳輸數(shù)據(jù)序號。3.確認號確認號字段——占4字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。4.數(shù)據(jù)偏移數(shù)據(jù)偏移占4位,它指出TCP報文段的數(shù)據(jù)起始處距離TCP報文段的起始處有多遠,單位是字。5.標志位TCP協(xié)議根據(jù)報文的不同功能設(shè)置6個標志位UAPRSF。U表示緊急位(URG)。當(dāng)URG=1時,表明緊急指針字段有效。它告訴系統(tǒng)此報文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級的數(shù)據(jù))。A表示確認位(ACK)。只有當(dāng)ACK=1時確認號字段才有效。當(dāng)ACK=0時,確認號字段無效。P表示推送位(PSH)。TCP收到PSH=1的報文段,就盡快地交付給接收應(yīng)用進程,而不再等到整個緩存都填滿了后再向上交付。R表示復(fù)位位(RST)。當(dāng)RST=1時,表明TCP連接中出現(xiàn)嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后再重新建立傳輸連接。S表示同步位(SYN)。當(dāng)SYN=1時,表示這是一個連接請求或連接接受報文。F表示終止位(FIN)。用來釋放連接。當(dāng)FIN=1時,表明此報文段的發(fā)送方的數(shù)據(jù)已發(fā)送完畢,并要求釋放傳輸連接。6.窗口2個字節(jié),由接收方通知發(fā)送方自己目前能夠接收的數(shù)據(jù)量(由緩沖區(qū)空間限制),發(fā)送方據(jù)此設(shè)置發(fā)送窗口。窗口是TCP實現(xiàn)流量控制的依據(jù),將在本章5.4節(jié)詳細介紹。在數(shù)據(jù)傳輸過程中,發(fā)送方按接收方通告的窗口尺寸和序號發(fā)送一定的數(shù)據(jù)量。接收方可根據(jù)接收緩沖區(qū)的使用狀況動態(tài)地調(diào)整接收窗口,并在輸出數(shù)據(jù)段或確認號字段時捎帶著將新的窗口尺寸和起始序號(在確認號字段中指出)通告給發(fā)送方。發(fā)送方將按新的起始序號和新的接收窗口尺寸來調(diào)整發(fā)送窗口,接收方也用新的起始序號和新的接收窗口大小來驗證每一個輸入數(shù)據(jù)段的可接收性。7.檢驗和檢驗和覆蓋了整個的TCP報文段:TCP首部和TCP數(shù)據(jù)。這是一個強制性的字段,必須是由發(fā)送端計算和存儲,由接收端進行驗證的。8.緊急指針緊急指針占16位。緊急指針指出在本報文段中的緊急數(shù)據(jù)的最后一個字節(jié)的序號。9.選項10.填充填充字段是為了使整個首部長度是4字節(jié)的整數(shù)倍。5.3.4TCP的流量控制與滑動窗口協(xié)議在建立連接時,TCP連接的每一端都會為這個連接分配一定數(shù)量的緩存。當(dāng)收到正確的字節(jié)后,就會將數(shù)據(jù)放入緩存。如果發(fā)送方繼續(xù)快速地發(fā)送數(shù)據(jù),緩存就會被充滿,最后溢出。因此需要有一種機制來控制發(fā)送方發(fā)送數(shù)據(jù)的速度,保證接收緩存不溢出,這種機制稱為流量控制。上一節(jié)介紹的確認重傳機制不僅實現(xiàn)了可靠數(shù)據(jù)傳輸,實際上也是一種簡單的流量控制協(xié)議。發(fā)送方每發(fā)給接收方一個數(shù)據(jù)報文,就等待接收方確認收到的應(yīng)答(ACK),在沒有收到這個ACK之前,發(fā)送方不能發(fā)送第2個數(shù)據(jù)報。對發(fā)送方而言,如果在一段設(shè)定的時間內(nèi)沒有收到ACK,則重新發(fā)送數(shù)據(jù)報。雖然這種方式傳輸數(shù)據(jù)可靠,但對帶寬的利用率不高。因此TCP協(xié)議按以下所謂滑動窗口方式一次發(fā)送一組數(shù)據(jù)報,更加有效地利用了帶寬。(1)發(fā)送方可以連續(xù)發(fā)送窗口中的所有數(shù)據(jù)包而不必等待ACK,同時每發(fā)送一個數(shù)據(jù)包啟動一個計時器。(2)接收方每當(dāng)成功接收一個數(shù)據(jù)報時,要向發(fā)送方發(fā)送一個ACK。(3)對于發(fā)送方而言,每收到一個ACK則窗口將滑動一次。發(fā)送窗口:發(fā)送方維持一個發(fā)送窗口,位于發(fā)送窗口內(nèi)的分組都可被連續(xù)發(fā)送出去,而不需要等待接收方的確認。(4)累積確認:接收方對按序到達的最后一個分組發(fā)送確認,表示到這個分組為止的所有分組都已正確收到了。(5)Go-Back-N(回退N):表示需要再退回來重傳已發(fā)送過的N個分組。在圖5-7中,一個窗口大小為5的滑動窗口,在連續(xù)發(fā)送5個數(shù)據(jù)報時不必等待應(yīng)答信號。若在連續(xù)發(fā)送時收到了ACK1,則窗口向前移動一格,此時可以發(fā)送第6個數(shù)據(jù)報。圖5-7滑動窗口正常變化如果第2個數(shù)據(jù)報在發(fā)送過程中丟失,而其他數(shù)據(jù)報都順利發(fā)送,那么接收方只發(fā)出ACK2,對于成功接收到的第3、4、5、6個數(shù)據(jù)報,對發(fā)送方的應(yīng)答也是ACK2,也就是說,接收方只對連續(xù)收到的數(shù)據(jù)報進行應(yīng)答。發(fā)送方一直等待ACK3,直到定時器超時,重新發(fā)送第2個數(shù)據(jù)報。當(dāng)?shù)?個數(shù)據(jù)報成功發(fā)送給接收方后,接收方將直接產(chǎn)生并發(fā)送ACK7,發(fā)送方的滑動窗口移動到seq6,如圖5-8所示。圖5-8數(shù)據(jù)丟失滑動窗口停止變化,丟失的數(shù)據(jù)超時重傳TCP協(xié)議利用首部中的窗口字段動態(tài)通知對方自己的接收緩存大小,使發(fā)送窗口根據(jù)接收方的調(diào)節(jié)而變化。窗口通告值增大時,發(fā)送方擴大發(fā)送窗口的大小,以便發(fā)送更多的數(shù)據(jù)。窗口通告值減小時,發(fā)送方縮小發(fā)送窗口的大小,以便接收方能夠來得及接收數(shù)據(jù)。窗口通告值減小至零時,發(fā)送方將停止發(fā)送數(shù)據(jù),直到窗口通告值重新調(diào)整為大于零的數(shù)值。例5-2:圖5-9是一個利用可變窗口實現(xiàn)流量控制的實例。在建立連接時B向A發(fā)送,其rwnd=400。其后rwnd依次改變成300、100和0。問A各輪次可發(fā)送的字節(jié)是怎樣變化的?解答:根據(jù)累積確認、超時重傳以及回退N協(xié)議,A各輪次可發(fā)送字節(jié)范圍隨B的rwnd的變化而相應(yīng)變化。圖5-9TCP流量控制實例在“滑動窗口”概念中,“發(fā)送窗口”和“接收窗口”的作用是什么?如果接收方的接收能力不斷地發(fā)生變化,則采取何種措施可以提高協(xié)議的效率。解答:“發(fā)送窗口”作用是限制發(fā)送方連續(xù)發(fā)送數(shù)據(jù)的數(shù)量,即控制發(fā)送方發(fā)送數(shù)據(jù)的平均速率?!敖邮沾翱凇狈从沉私邮辗疆?dāng)前接收緩存的大小,即接收方接收能力的大小。當(dāng)接收方的接收能力不斷地發(fā)生變化時,可以將接收窗口的大小發(fā)送給發(fā)送方,調(diào)節(jié)發(fā)送方的發(fā)送速率,避免因發(fā)送方發(fā)送速率太大或太小而導(dǎo)致接收緩存的溢出或帶寬的浪費,從而提高協(xié)議的效率。例5-4:設(shè)發(fā)送端為A,接收端為B,忽略擁塞窗口,當(dāng)前A的滑動窗口大小為8個分組單位,在連續(xù)發(fā)送編號為1到6的6個分組后,收到B確認已經(jīng)收到4號分組的信息(按照累積確認方式),同時接收方窗口rwnd修改成了5,問:1)此時可以明確B已經(jīng)收到的分組是哪些?2)在下一次收到B的確認之前A還能夠繼續(xù)發(fā)送哪些分組?3)如果發(fā)送窗口內(nèi)的數(shù)據(jù)已經(jīng)全部發(fā)送,之后就沒有再收到B的確認,則A將執(zhí)行什么操作?要求說明每個問題的依據(jù)。解答:1)根據(jù)累計確認協(xié)議,此時可以明確B已經(jīng)收到的分組是1~4。2)因為當(dāng)前rwnd=5,在下一次收到B的確認之前A還能夠繼續(xù)發(fā)送的分組是5~9。3)根據(jù)超時重傳和GBN協(xié)議,如果發(fā)送窗口內(nèi)的數(shù)據(jù)已經(jīng)全部發(fā)送,之后就沒有再收到B的確認,則A將重傳5號開始的舊數(shù)據(jù)。5.3.5TCP的擁塞控制擁塞(Congestion)是指互聯(lián)網(wǎng)中的數(shù)據(jù)報過多,超過了中間節(jié)點(如路由器等)的最大容量,從而導(dǎo)致時延急劇增加,網(wǎng)絡(luò)性能急速下降的現(xiàn)象。而解決擁塞問題所采用的機制和采取的措施稱為擁塞控制(CongestionControl)。擁塞控制算法主要用于避免擁塞現(xiàn)象的發(fā)生。擁塞控制可以限制TCP向網(wǎng)絡(luò)中注入數(shù)據(jù)的大小和速率。流量控制中的接收窗口值rwnd是接收方通告值,只反映接收方的接收能力,不能體現(xiàn)中間節(jié)點的處理能力。TCP引入擁塞窗口(CongestionWindow,cwnd),由發(fā)送方根據(jù)網(wǎng)絡(luò)的情況設(shè)置,表示發(fā)送方允許發(fā)送的最大報文段。從流量控制的角度,發(fā)送窗口一定不能超過接收窗口,實際的發(fā)送窗口的上限值應(yīng)該等于接收窗口(rwnd)與擁塞窗口(cwnd)中最小的一個:Min(rwnd,cwnd)。rwnd與cwnd中較小的一個限制發(fā)送端的報文發(fā)送速率。TCP通常綜合采用慢開始、擁塞避免、快速重傳和快速恢復(fù)等擁塞控制算法。下面只對慢開始和擁塞避免算法做簡要介紹。慢開始算法要點:1)建立連接后,準備發(fā)送數(shù)據(jù)時,擁塞窗口的大小初始值設(shè)置為1(1個報文段);2)收到確認后,將擁塞窗口大小設(shè)為2;收到2個確認后,將擁塞窗口大小設(shè)為4;3)隨后慢開始算法中的擁塞窗口cwnd會以指數(shù)方式快速增長,所以慢開始只是初值小,增長速度卻很快。為避免cwnd過快增長引起網(wǎng)絡(luò)擁塞,設(shè)置慢開始閾值(ssthresh)。cwnd<ssthresh時采用慢開始算法;cwnd>ssthresh時采用擁塞避免算法,減慢窗口增長速度。擁塞避免算法:每經(jīng)過一個往返時延RTT,只有當(dāng)發(fā)送方收到對所有報文段的確認后,才將擁塞窗口的大小增加一個報文段。如圖5-10是一個擁塞控制實例,初始設(shè)定閾值為16,前5次往返用慢開始算法,窗口的變化是1、2、4、8、16,接著改用擁塞避免算法,窗口的值依次變成17、18、19、20、21、22、23、24,是線性增長的,當(dāng)窗口值達到24時出現(xiàn)超時,重新采用慢開始算法,但新的閾值改為出現(xiàn)超時時的窗口閾值24的一半12。圖5-10擁塞控制實例例5-5:簡述TCP流量控制和擁塞控制的不同。解答:流量控制解決因發(fā)送方發(fā)送數(shù)據(jù)太快而導(dǎo)致接收方來不及接收使接收方緩存溢出的問題。流量控制的基本方法就是接收方根據(jù)自己的接收能力控制發(fā)送方的發(fā)送速率。TCP采用接收方控制發(fā)送方發(fā)送窗口大小的方法來實現(xiàn)在TCP連接上的流量控制。擁塞控制就是防止過多的數(shù)據(jù)注入到網(wǎng)絡(luò)中,這樣可以使網(wǎng)絡(luò)中的路由器或鏈路不過載。TCP的發(fā)送方維持一個叫作擁塞窗口的狀態(tài)變量。擁塞窗口的大小取決于網(wǎng)絡(luò)的擁塞程度,當(dāng)網(wǎng)絡(luò)擁塞時減小擁塞窗口的大小,控制TCP發(fā)送方的發(fā)送速率。TCP發(fā)送方的發(fā)送窗口大小取接收窗口和擁塞窗口的最小值。從慢開始開始,當(dāng)擁塞窗口上升到12時網(wǎng)絡(luò)發(fā)生了超時。試畫出每個往返時間TCP擁塞窗口的演變曲線圖(橫坐標單位為“往返次數(shù)”,縱坐標為擁塞窗口值)。說明擁塞窗口每一次變化的原因(畫15個“往返次數(shù)”)。圖5-11例題5-6解答圖5.3.6TCP的運輸連接管理TCP是一個面向連接的協(xié)議,通信雙方不論哪一方發(fā)送報文段,都必須首先建立一條連接,并在雙方數(shù)據(jù)通信結(jié)束后關(guān)閉連接。1.連接的建立TCP連接采用三次握手方法,所謂三次握手是指通信雙方三次交換報文,如圖5-12所示。首先發(fā)送方向接收方發(fā)送報文,報文中的同步位SYN=1,表示向接收方提出連接請求,同時報文中的初始序號seq=x,是發(fā)送方為自己選取的初始序列號。接收方收到此報文后,若同意連接,作為第2次握手,接收方向發(fā)送方回送同步位SYN=1、確認位ACK=1、初始序列號seq=y(tǒng),以及確認序號ack=x+1的報文段,對發(fā)送方的連接請求進行確認。最后一次握手,發(fā)送方向接收方發(fā)送確認位ACK=1、確認序號ack=y+1的報文段,對第2次握手時接收方發(fā)來的SYN=1的報文進行確認,完成連接的建立。通常接收方主機的TCP服務(wù)器進程被動地等待連接建立請求,而發(fā)送方主機的TCP客戶進程主動地發(fā)出建立連接的請求。客戶端發(fā)送SYN報文,并設(shè)置發(fā)送序號為x服務(wù)端發(fā)送SYN+ACK報文,并設(shè)置發(fā)送序號為y,確認序號為x客戶端發(fā)送SYN報文,并設(shè)置發(fā)送序號為x服務(wù)端發(fā)送SYN+ACK報文,并設(shè)置發(fā)送序號為y,確認序號為x+1客戶端發(fā)送ACK報文,并設(shè)置發(fā)送序號為z,確認序號為y+1確認序號為y+1ACK=y+1seq=zSYN=1ACK=x+1seq=ySYN=1seq=x圖5-12TCP連接建立的過程5.4實驗(2學(xué)時)5.5本章小結(jié)本章要求重點理解和掌握運輸層的功能、運輸層端口的作用、TCP和UDP兩種運輸層協(xié)議首部格式及不同特點。接著介紹了TCP可靠傳輸?shù)脑砼c實現(xiàn)、TCP的流量控制與滑動窗口協(xié)議、TCP的擁塞控制和TCP的傳輸連接管理。實驗項目要求學(xué)會用網(wǎng)絡(luò)監(jiān)聽工具捕獲和分析運輸層協(xié)議。思考題和習(xí)題習(xí)題一、選擇題1. 運輸層的基本功能是將()數(shù)據(jù)封裝成運輸層報文。 A.數(shù)據(jù)鏈路層 B.應(yīng)用層 C.會話層 D.網(wǎng)絡(luò)層2. ()是面向連接的服務(wù)。 A.TCP B.UDP C.IP D.以太網(wǎng)3. 運輸層的端口是指()。 A.服務(wù)器的端口 B.路由器的端口 C.應(yīng)用進程的標識 D.交換機的端口4. TCP協(xié)議用滑動窗口實現(xiàn)()。 A.流量控制 B.擁塞控制 C.連接建立 D.差錯改正5. 擁塞控制是根據(jù)()的狀況決定發(fā)送端向網(wǎng)絡(luò)注入的數(shù)據(jù)大小和速率。 A.網(wǎng)絡(luò) B.應(yīng)用進程 C.接收端 D.網(wǎng)卡6. 接收端在收到數(shù)據(jù)字節(jié)序號為100的報文后將向發(fā)送端發(fā)送確認號為()的確認報文。 A.100 B.101 C.0 D.17. 下面的關(guān)于傳輸控制協(xié)議表述不正確的是()。 A.主機尋址 B.進程尋址 C.流量控制 D.差錯檢測8. TCP協(xié)議采取的保證數(shù)據(jù)包可靠傳遞的措施不包括()。 A.超時重傳機制 B.確認應(yīng)答機制 C.校驗和機制 D.用戶認證與加密機制9. 滑動窗口的作用是()。 A.流量控制 B.擁塞控制 C.路由控制 D.差錯控制10. 慢開始和擁塞避免算法的作用是()。 A.流量控制 B.擁塞控制 C.路由控制 D.差錯控制二、填空題1. 運輸層的基本服務(wù)又可分成兩種,分別是()服務(wù)和()服務(wù)。2. ()和()的綁定組成了套接字(S

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論