第3章-傳輸層及傳輸層協(xié)議_第1頁
第3章-傳輸層及傳輸層協(xié)議_第2頁
第3章-傳輸層及傳輸層協(xié)議_第3頁
第3章-傳輸層及傳輸層協(xié)議_第4頁
第3章-傳輸層及傳輸層協(xié)議_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章傳輸層及傳輸層協(xié)議袁津生主編主要內(nèi)容3.1傳輸層的基本概念3.2UDP協(xié)議3.3TCP協(xié)議主要內(nèi)容傳輸層是資源子網(wǎng)與通信子網(wǎng)的界面與橋梁,它完成通信子網(wǎng)中兩結(jié)點間的直接邏輯通信。本章將討論傳輸層的基本功能、傳輸層向應(yīng)用層提供的服務(wù),以及實現(xiàn)這些服務(wù)的協(xié)議TCP(TransmissionControlProtocol)和UDP(UserDatagramProtocol)。3.1傳輸層的基本概念傳輸層的功能傳輸層的功能是保證數(shù)據(jù)可靠地從發(fā)送結(jié)點發(fā)送到目標結(jié)點,傳輸層提供端到端的數(shù)據(jù)交換機制,傳輸層對應(yīng)用層提供可靠的傳輸服務(wù),對網(wǎng)絡(luò)層提供可靠的目的地站點信息。傳輸層也稱為運輸層。傳輸層只存在于端開放系統(tǒng)中,是介于OSI參考模型的低3層通信子網(wǎng)系統(tǒng)和高3層之間的一層,是很重要的一層,因為它是源端到目的端對數(shù)據(jù)傳送進行控制從低到高的最后一層。傳輸層的位置傳輸層的基本功能連接管理。傳輸層要建立、維持和終止一個會話,就要對整個過程進行管理。流量控制。傳輸層定義了端到端用戶之間的流量控制。差錯檢測。對用戶請求的響應(yīng)。建立無連接或面向連接的通信。傳輸層提供的服務(wù)面向連接的通信保持數(shù)據(jù)的分發(fā)順序可靠服務(wù)流量控制多路復用擁塞避免進程標識一臺計算機中,不同的進程可以用進程號或進程標識惟一地標識出來。進程號又稱為端口號。在網(wǎng)絡(luò)環(huán)境中,標識一個進程必須同時使用IP地址和端口號。套接字(socket)就是用來表示一個IP地址與對應(yīng)的一個進程標識。一個IP地址為202.204.125.56的客戶端使用端口號1157,與一個IP地址為202.204.125.87、端口號為80的Web服務(wù)器建立TCP連接,那么標識客戶端的套接字為“202.204.125.56:1157”,標識服務(wù)器端的套接字為“202.204.125.87:80”。應(yīng)用進程通過套接字交換數(shù)據(jù)物理層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層TCP/UDP套接字服務(wù)進程物理層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層TCP/UDP套接字客戶進程因特網(wǎng)客戶端服務(wù)器端口號的分配方法

端口號取值范圍是0~65535之間的整數(shù)。熟知端口號:取值范圍0~1023,它是由IANA(TheInternetAssignedNumbersAuthority,因特網(wǎng)數(shù)字分配機構(gòu))統(tǒng)一分配和控制的。注冊端口號:取值范圍:1024~49151,用戶根據(jù)需要可以在IANA進行注冊,以防止重復。臨時端口號:取值范圍:49152~65535,由運行在客戶機上的軟件隨機選取的。傳輸層與其它層次之間的關(guān)系3.2UDP協(xié)議UDP協(xié)議UDP協(xié)議全稱是用戶數(shù)據(jù)報協(xié)議,是TCP/IP協(xié)議簇中傳輸層的兩個重要的協(xié)議之一。它為應(yīng)用程序提供了一條訪問IP的無連接功能、面向事務(wù)、簡單不可靠傳送服務(wù)。UDP的設(shè)計允許應(yīng)用程序創(chuàng)建數(shù)據(jù)報,允許它們通過端口訪問應(yīng)用程序或進程,其基本作用是向IP分組增加了一個應(yīng)用程序的端口地址。UDP協(xié)議的主要特點

UDP是一個無連接的,不可靠的傳輸層協(xié)議。UDP協(xié)議在傳輸數(shù)據(jù)之前不需要在通信雙方之間建立連接,因此減少了協(xié)議開銷與傳輸時延。UDP信息包的標題很短,只有8個字節(jié),相對于TCP的20個字節(jié)信息包的額外開銷很小。UDP是一種面向報文的傳輸層協(xié)議。UDP數(shù)據(jù)報格式

UDP的報頭是一個具有固定8B的長度。源端口號和目的端口號,每個端口號各占16位(2B)。源端口號表示發(fā)送方進程端口號,目的端口號表示接收方進程端口號。UDP總長度占16位(2B),它定義了包括報頭在內(nèi)的UDP總長度。校驗和字段的長度為16位(2B)UDP的偽頭部偽首部源端口目的端口長度檢驗和UDP長度源IP地址目的IP地址017字節(jié)44112122222字節(jié)數(shù)據(jù)首部UDP用戶數(shù)據(jù)報

UDP的復用和分用UDP的應(yīng)用UDP協(xié)議適用于對傳輸數(shù)據(jù)的準確性要求不高、無須應(yīng)答并且通常一次只傳送少量數(shù)據(jù)的情況。UDP協(xié)議在數(shù)據(jù)傳輸過程中無須建立邏輯連接,對數(shù)據(jù)報也不進行檢查,因而在傳輸數(shù)據(jù)方面,減少了網(wǎng)絡(luò)的往返來回、使速度和性能得到提升,并且UDP具有較好的實時性,效率高。UDP協(xié)議應(yīng)用于網(wǎng)絡(luò)游戲,視頻聊天,語音聊天UDP協(xié)議也是分發(fā)信息的一個理想?yún)f(xié)議。2.3TCP協(xié)議TCP協(xié)議傳輸控制協(xié)議TCP是一種面向連接的、可靠的、基于字節(jié)流的運輸層通信協(xié)議。在簡化的計算機網(wǎng)絡(luò)OSI模型中,它完成第四層傳輸層所指定的功能。在TCP/IP協(xié)議族中,TCP層是位于IP層之上,應(yīng)用層之下的中間層。TCP協(xié)議為應(yīng)用進程提供可靠的、端到端的、面向連接的字節(jié)流通信的協(xié)議。TCP協(xié)議提供一種可靠的機制來保證數(shù)據(jù)完整、無損并且按順序到達。TCP的設(shè)計允許應(yīng)用程序創(chuàng)建數(shù)據(jù)報,并通過端口訪問應(yīng)用程序或進程。TCP協(xié)議的主要特點面向連接的傳輸服務(wù)支持字節(jié)流的傳輸支持全雙工服務(wù)支持可靠的傳輸服務(wù)TCP面向流的概念768H發(fā)送TCP報文段發(fā)送方接收方把字節(jié)寫入發(fā)送緩存從接收緩存讀取字節(jié)應(yīng)用進程應(yīng)用進程1230181716151419202145131211H109H加上TCP首部構(gòu)成TCP報文段TCPTCP字節(jié)流字節(jié)流H表示TCP

報文段的首部x表示序號為x

的數(shù)據(jù)字節(jié)TCP

連接TCP報文格式TCP首部20字節(jié)的固定首部目的端口數(shù)據(jù)偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FIN32bitSYNRSTPSHACKURG比特08162431填充TCP數(shù)據(jù)部分TCP首部TCP報文段TCP報文格式端口號包括源端口號和目的端口號。每個端口號長度都是16位,分別表示發(fā)送方和接收方的端口號。序號字段占32位,是本報文段所發(fā)送的數(shù)據(jù)部分第一個字節(jié)的序號。確認號字段占32位。只有當ACK標志為1時,確認號字段才有效。數(shù)據(jù)偏移又稱為頭部長度占4位。它指出TCP報文段的數(shù)據(jù)起始處距離TCP報文段的起始處有多遠。保留字段占6位,保留為今后使用,但目前應(yīng)置為0。TCP報文格式控制字段定義了6種不同的控制位或標志。內(nèi)容如下:緊急URG:當URG為1時,表明緊急指針字段有效。確認ACK:只有當ACK為1時,確認號字段才有效。推送PSH:接收TCP收到PSH為1的報文段,就盡快地交付接收應(yīng)用進程,而不再等到整個緩存都填滿了后再向上交付。復位RST:用來復位一條連接。同步SYN:用來建立連接,讓連接雙方同步序列號。終止FIN:用來釋放一個連接。當FIN為1時,表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放連接。TCP報文格式窗口字段占16位(2B),用來讓對方設(shè)置發(fā)送窗口的依據(jù),單位為字節(jié)。校驗和占16位(2B)。校驗和字段檢驗的范圍包括TCP頭部和TCP數(shù)據(jù)這兩部分。緊急指針字段占16位,只有當URG為1時,表明緊急指針字段有效。選項字段占32位。該字段可包括最大報文段長度、窗口擴大因子、時間戳等選項。TCP連接建立與釋放TCP連接有三個階段,即:連接建立、數(shù)據(jù)傳送和連接釋放。連接的管理就是使傳輸連接的建立和釋放都能正常地進行。TCP連接的建立都是采用客戶服務(wù)器方式。主動發(fā)起連接建立的應(yīng)用進程叫做客戶,被動等待連接建立的應(yīng)用進程叫做服務(wù)器。TCP建立連接階段連接的最初階段服務(wù)器端處于打開階段,而客戶端處于關(guān)閉狀態(tài)。這樣要建立一個TCP連接需要經(jīng)過三次握手的過程。SYN=1,seq=xACK=1,seq=x+1,ack=y1客戶服務(wù)器SYN=1,ACK=1,seq=y,ack=x1TCP的連接釋放由于TCP連接是全雙工的,因此每個方向都必須單獨進行關(guān)閉。因此,需要4次握手。當一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就要發(fā)送一個FIN來終止這個方向的連接。只有當另一方也發(fā)送一個FIN時,才能全部關(guān)閉TCP的連接。FIN=1,seq=uACK=1,seq=v,ack=u1FIN=1,ACK=1,seq=w,ack=u1客戶服務(wù)器數(shù)據(jù)傳送ACK=1,seq=u+1,ack=w1TCP的定時器重傳定時器。為了控制丟失的或丟棄的報文段,TCP使用了處理報文段的確認的等待重傳時間的重傳定時器。堅持定時器。TCP為每一個連接使用一個堅持定時器。當發(fā)送方的TCP收到一個窗口大小為零的確認時,就需要啟動堅持定時器。保持定時器。又叫做激活定時器,它是用來防止在兩個TCP之間的連接處于長時期空閑。時間等待計時器。在連接終止期間使用的。TCP滑動窗口機制滑動窗口協(xié)議的基本原理就是在任意時刻,發(fā)送方都維持了一個連續(xù)的允許發(fā)送的字節(jié)流的序號,稱為發(fā)送窗口;同時,接收方也維持了一個連續(xù)的允許接收的字節(jié)流的序號,稱為接收窗口。發(fā)送窗口和接收窗口的序號的上下界不一定要一樣,甚至大小也可以不同。不同的滑動窗口協(xié)議窗口大小一般不同。發(fā)送方窗口內(nèi)的序列號代表了那些已經(jīng)被發(fā)送,但是還沒有被確認的字節(jié),或者是那些可以被發(fā)送的字節(jié)。指針發(fā)送窗口縮小1002003004005006007008009001012013014015016017018011已發(fā)送并被確認可發(fā)送不可發(fā)送發(fā)送窗口前移900指針1002003004005006007008001012013014015016017018011不可發(fā)送已發(fā)送并被確認已發(fā)送但未被確認可發(fā)送指針收到確認即可前移1002003004005006007008009001012013014015016017018011發(fā)送窗口可發(fā)送不可發(fā)送(a)發(fā)送窗口大小為500B(b)發(fā)送400B,收到確認200B,窗口大小不變,還可發(fā)送300B(c)

收到確認400B,窗口縮小400B,還可發(fā)送400B發(fā)送窗口和接收窗口

TCP滑動窗口用來暫存兩臺計算機間要傳送的數(shù)據(jù)分組。每臺運行TCP協(xié)議的計算機有兩個滑動窗口:一個用于數(shù)據(jù)發(fā)送,另一個用于數(shù)據(jù)接收。在全雙工工作時,有4個滑動窗口:發(fā)送端的發(fā)送窗口和接收窗口,接收端的接收窗口和發(fā)送窗口。停止等待協(xié)議(a)無差錯情況A發(fā)送

M1確認

M1B發(fā)送

M2發(fā)送

M3確認

M2確認

M3A發(fā)送

M1B超時重傳

M1發(fā)送

M2確認

M1丟棄有差錯的報文(b)超時重傳tttt后退n協(xié)議選擇重發(fā)協(xié)議TCP協(xié)議的流量控制

所謂流量控制就是管理發(fā)送端和接收端之間的流量,以免會產(chǎn)生發(fā)送過快導致接收端溢出,或者因接收端處理太快而浪費時間。換句話說就是讓發(fā)送方的發(fā)送速率不要太快,要讓接收方來得及接收,也不要使網(wǎng)絡(luò)發(fā)生擁塞。利用滑動窗口機制可以很方便地在TCP連接上實現(xiàn)對發(fā)送方的流量控制。共有三種情況,窗口擴大,收縮和合攏。擴大:接收方通知接收窗口擴大,右側(cè)邊界右移收縮:接收方通知接收窗口縮小,右側(cè)邊界左移合攏:接收方通知接收窗口為零,左右邊界合攏利用滑動窗口實現(xiàn)流量控制seq=1,DATAseq=201,DATAseq=401,DATAseq=301,DATAseq=101,DATAseq=201,DATAseq=501,DATAACK=1,ack=201,rwnd=300ACK=1,ack=601,rwnd=0ACK=1,ack=501,rwnd=100AB允許A發(fā)送序號201至500共300字節(jié)A發(fā)送了序號101至200,還能發(fā)送200字節(jié)A發(fā)送了序號301至400,還能再發(fā)送100字節(jié)新數(shù)據(jù)A發(fā)送了序號1至100,還能發(fā)送300字節(jié)A發(fā)送了序號401至500,不能再發(fā)送新數(shù)據(jù)了A超時重傳舊的數(shù)據(jù),但不能發(fā)送新的數(shù)據(jù)允許A發(fā)送序號501至600共100字節(jié)A發(fā)送了序號501至600,不能再發(fā)送了不允許A再發(fā)送(到序號600為止的數(shù)據(jù)都收到了)丟失TCP的差錯控制

TCP的差錯控制是通過差錯檢測、確認與重傳來實現(xiàn)的。差錯檢測。在TCP協(xié)議中使用的是校驗和。確認。TCP在接到數(shù)據(jù)段后要對其進行校驗,并且向發(fā)送方反饋確認消息。TCP協(xié)議的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論