計算機網(wǎng)絡(luò):運輸層_第1頁
計算機網(wǎng)絡(luò):運輸層_第2頁
計算機網(wǎng)絡(luò):運輸層_第3頁
計算機網(wǎng)絡(luò):運輸層_第4頁
計算機網(wǎng)絡(luò):運輸層_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

復(fù)習局域網(wǎng)內(nèi)共享桌面、磁盤和文件局域網(wǎng)內(nèi)網(wǎng)絡(luò)映射磁盤局域網(wǎng)內(nèi)計算機網(wǎng)絡(luò)管理局域網(wǎng)內(nèi)發(fā)送控制臺消息局域網(wǎng)內(nèi)遠程連接嘗試局域網(wǎng)內(nèi)經(jīng)典網(wǎng)絡(luò)命令虛擬機中操作系統(tǒng)的安裝計算機網(wǎng)絡(luò)(第5版)第5章運輸層第5章運輸層

5.1運輸層協(xié)議概述

5.1.1進程之間的通信

5.1.2運輸層的兩個主要協(xié)議

5.1.3運輸層的端口5.2用戶數(shù)據(jù)報協(xié)議UDP 5.2.1UDP概述

5.2.2UDP的首部格式第5章運輸層(續(xù))5.3傳輸控制協(xié)議TCP概述

5.3.1TCP最主要的特點

5.3.2TCP的連接5.4可靠傳輸?shù)墓ぷ髟?/p>

5.4.1停止等待協(xié)議

5.4.2連續(xù)ARQ協(xié)議5.5TCP報文段的首部格式第5章運輸層(續(xù))5.6TCP可靠傳輸?shù)膶崿F(xiàn)(自學)

5.6.1以字節(jié)為單位的滑動窗口

5.6.2超時重傳時間的選擇

5.6.3選擇確認SACK5.7TCP的流量控制(自學)

5.7.1利用滑動窗口實現(xiàn)流量控制

5.7.1必須考慮傳輸效率

第5章運輸層(續(xù))5.8TCP的擁塞控制(自學)

5.8.1擁塞控制的一般原理

5.8.2幾種擁塞控制方法

5.8.3隨機早期檢測RED5.9TCP的運輸連接管理(自學)

5.9.1TCP的連接建立

5.9.2TCP的連接釋放

5.9.3TCP的有限狀態(tài)機5.1運輸層協(xié)議概述

5.1.1進程之間的通信從通信和信息處理的角度看,運輸層向它上面的應(yīng)用層提供通信服務(wù),它屬于面向通信部分的最高層,同時也是用戶功能中的最低層。當網(wǎng)絡(luò)的邊緣部分中的兩個主機使用網(wǎng)絡(luò)的核心部分的功能進行端到端的通信時,只有位于網(wǎng)絡(luò)邊緣部分的主機的協(xié)議棧才有運輸層,而網(wǎng)絡(luò)核心部分中的路由器在轉(zhuǎn)發(fā)分組時都只用到下三層的功能。運輸層為相互通信的應(yīng)用進程提供了邏輯通信54321運輸層提供應(yīng)用進程間的邏輯通信主機A主機B應(yīng)用進程應(yīng)用進程路由器1路由器2AP1LAN2WANAP2AP3AP4IP層LAN1AP1AP2AP4端口端口54321IP協(xié)議的作用范圍運輸層協(xié)議TCP和UDP的作用范圍AP3應(yīng)用進程之間的通信兩個主機進行通信實際上就是兩個主機中的應(yīng)用進程互相通信。應(yīng)用進程之間的通信又稱為端到端的通信。運輸層的一個很重要的功能就是復(fù)用和分用。應(yīng)用層不同進程的報文通過不同的端口向下交到運輸層,再往下就共用網(wǎng)絡(luò)層提供的服務(wù)?!斑\輸層提供應(yīng)用進程間的邏輯通信”?!斑壿嬐ㄐ拧钡囊馑际牵哼\輸層之間的通信好像是沿水平方向傳送數(shù)據(jù)。但事實上這兩個運輸層之間并沒有一條水平方向的物理連接。運輸層協(xié)議和網(wǎng)絡(luò)層協(xié)議的主要區(qū)別

應(yīng)用進程…

應(yīng)用進程…

IP協(xié)議的作用范圍(提供主機之間的邏輯通信)TCP和UDP協(xié)議的作用范圍(提供進程之間的邏輯通信)因特網(wǎng)運輸層的主要功能運輸層為應(yīng)用進程之間提供端到端的邏輯通信(但網(wǎng)絡(luò)層是為主機之間提供邏輯通信)。運輸層還要對收到的報文進行差錯檢測。運輸層需要有兩種不同的運輸協(xié)議,即面向連接的TCP和無連接的UDP。

兩種不同的運輸協(xié)議運輸層向高層用戶屏蔽了下面網(wǎng)絡(luò)核心的細節(jié)(如網(wǎng)絡(luò)拓撲、所采用的路由選擇協(xié)議等),它使應(yīng)用進程看見的就是好像在兩個運輸層實體之間有一條端到端的邏輯通信信道。當運輸層采用面向連接的TCP協(xié)議時,盡管下面的網(wǎng)絡(luò)是不可靠的(只提供盡最大努力服務(wù)),但這種邏輯通信信道就相當于一條全雙工的可靠信道。當運輸層采用無連接的UDP

協(xié)議時,這種邏輯通信信道是一條不可靠信道。TCP/IP的運輸層有兩個不同的協(xié)議:(1)用戶數(shù)據(jù)報協(xié)議UDP (UserDatagramProtocol)(2)傳輸控制協(xié)議TCP (TransmissionControlProtocol)5.1.2運輸層的兩個主要協(xié)議兩個對等運輸實體在通信時傳送的數(shù)據(jù)單位叫作運輸協(xié)議數(shù)據(jù)單元

TPDU(TransportProtocolDataUnit)。TCP傳送的數(shù)據(jù)單位協(xié)議是TCP報文段(segment)UDP傳送的數(shù)據(jù)單位協(xié)議是UDP報文或用戶數(shù)據(jù)報。TCP與UDPTCP/IP體系中的運輸層協(xié)議TCPUDPIP應(yīng)用層與各種網(wǎng)絡(luò)接口運輸層TCP與UDPUDP在傳送數(shù)據(jù)之前不需要先建立連接。對方的運輸層在收到UDP報文后,不需要給出任何確認。雖然UDP不提供可靠交付,但在某些情況下UDP是一種最有效的工作方式。TCP則提供面向連接的服務(wù)。TCP不提供廣播或多播服務(wù)。由于TCP要提供可靠的、面向連接的運輸服務(wù),因此不可避免地增加了許多的開銷。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多的處理機資源。還要強調(diào)兩點運輸層的

UDP

用戶數(shù)據(jù)報與網(wǎng)際層的IP數(shù)據(jù)報有很大區(qū)別。IP

數(shù)據(jù)報要經(jīng)過互連網(wǎng)中許多路由器的存儲轉(zhuǎn)發(fā),但

UDP

用戶數(shù)據(jù)報是在運輸層的端到端抽象的邏輯信道中傳送的。TCP

報文段是在運輸層抽象的端到端邏輯信道中傳送,這種信道是可靠的全雙工信道。但這樣的信道卻不知道究竟經(jīng)過了哪些路由器,而這些路由器也根本不知道上面的運輸層是否建立了TCP連接。5.1.3運輸層的端口運行在計算機中的進程是用進程標識符來標志的。運行在應(yīng)用層的各種應(yīng)用進程卻不應(yīng)當讓計算機操作系統(tǒng)指派它的進程標識符。這是因為在因特網(wǎng)上使用的計算機的操作系統(tǒng)種類很多,而不同的操作系統(tǒng)又使用不同格式的進程標識符。為了使運行不同操作系統(tǒng)的計算機的應(yīng)用進程能夠互相通信,就必須用統(tǒng)一的方法對TCP/IP體系的應(yīng)用進程進行標志。需要解決的問題由于進程的創(chuàng)建和撤銷都是動態(tài)的,發(fā)送方幾乎無法識別其他機器上的進程。有時我們會改換接收報文的進程,但并不需要通知所有發(fā)送方。我們往往需要利用目的主機提供的功能來識別終點,而不需要知道實現(xiàn)這個功能的進程。端口號(protocolportnumber)

簡稱為端口(port)解決這個問題的方法就是在運輸層使用協(xié)議端口號(protocolportnumber),或通常簡稱為端口(port)。雖然通信的終點是應(yīng)用進程,但我們可以把端口想象是通信的終點,因為我們只要把要傳送的報文交到目的主機的某一個合適的目的端口,剩下的工作(即最后交付目的進程)就由TCP來完成。軟件端口與硬件端口在協(xié)議棧層間的抽象的協(xié)議端口是軟件端口。路由器或交換機上的端口是硬件端口。硬件端口是不同硬件設(shè)備進行交互的接口,而軟件端口是應(yīng)用層的各種協(xié)議進程與運輸實體進行層間交互的一種地址。TCP的端口端口用一個16位端口號進行標志。端口號只具有本地意義,即端口號只是為了標志本計算機應(yīng)用層中的各進程。在因特網(wǎng)中不同計算機的相同端口號是沒有聯(lián)系的。三類端口熟知端口,數(shù)值一般為0~1023。登記端口號,數(shù)值為1024~49151,為沒有熟知端口號的應(yīng)用程序使用的。使用這個范圍的端口號必須在”互聯(lián)網(wǎng)編號分配機構(gòu)”IANA(InternetAssignedNumbersAuthority)登記,以防止重復(fù)??蛻舳丝谔柣蚨虝憾丝谔?,數(shù)值為49152~65535,留給客戶進程選擇暫時使用。當服務(wù)器進程收到客戶進程的報文時,就知道了客戶進程所使用的動態(tài)端口號。通信結(jié)束后,這個端口號可供其他客戶進程以后使用。5.2用戶數(shù)據(jù)報協(xié)議UDP

5.2.1UDP概述

UDP只在IP的數(shù)據(jù)報服務(wù)之上增加了很少一點的功能,即端口的功能和差錯檢測的功能。雖然UDP用戶數(shù)據(jù)報只能提供不可靠的交付,但UDP在某些方面有其特殊的優(yōu)點。UDP的主要特點UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。UDP使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制。UDP是面向報文的。UDP沒有擁塞控制,很適合多媒體通信的要求。UDP支持一對一、一對多、多對一和多對多的交互通信。UDP的首部開銷小,只有8個字節(jié)。面向報文的UDP發(fā)送方UDP對應(yīng)用程序交下來的報文,在添加首部后就向下交付IP層。UDP對應(yīng)用層交下來的報文,既不合并,也不拆分,而是保留這些報文的邊界。應(yīng)用層交給UDP多長的報文,UDP就照樣發(fā)送,即一次發(fā)送一個報文。接收方UDP對IP層交上來的UDP用戶數(shù)據(jù)報,在去除首部后就原封不動地交付上層的應(yīng)用進程,一次交付一個完整的報文。應(yīng)用程序必須選擇合適大小的報文。UDP是面向報文的IP數(shù)據(jù)報的數(shù)據(jù)部分IP首部IP層UDP首部UDP用戶數(shù)據(jù)報的數(shù)據(jù)部分運輸層應(yīng)用層報文應(yīng)用層5.2.2UDP的首部格式偽首部源端口目的端口長度檢驗和數(shù)據(jù)首部UDP長度源IP地址目的IP地址017IP數(shù)據(jù)報字節(jié)44112122222字節(jié)發(fā)送在前數(shù)據(jù)首部UDP用戶數(shù)據(jù)報UDP基于端口的分用IP層UDP數(shù)據(jù)報到達端口2端口3端口1UDP分用偽首部源端口目的端口長度檢驗和數(shù)據(jù)首部UDP長度源IP地址目的IP地址017IP數(shù)據(jù)報字節(jié)44112122222字節(jié)發(fā)送在前數(shù)據(jù)首部UDP用戶數(shù)據(jù)報用戶數(shù)據(jù)報UDP有兩個字段:數(shù)據(jù)字段和首部字段。首部字段有8個字節(jié),由4個字段組成,每個字段都是兩個字節(jié)。偽首部源端口目的端口長度檢驗和數(shù)據(jù)首部UDP長度源IP地址目的IP地址017IP數(shù)據(jù)報字節(jié)44112122222字節(jié)發(fā)送在前數(shù)據(jù)首部UDP用戶數(shù)據(jù)報在計算檢驗和時,臨時把“偽首部”和UDP用戶數(shù)據(jù)報連接在一起。偽首部僅僅是為了計算檢驗和。5.3傳輸控制協(xié)議TCP概述

5.3.1TCP最主要的特點

TCP是面向連接的運輸層協(xié)議。每一條TCP連接只能有兩個端點(endpoint),每一條TCP連接只能是點對點的(一對一)。TCP提供可靠交付的服務(wù)。TCP提供全雙工通信。面向字節(jié)流。768H

TCP面向流的概念

發(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連接應(yīng)當注意TCP連接是一條虛連接而不是一條真正的物理連接。TCP對應(yīng)用進程一次把多長的報文發(fā)送到TCP的緩存中是不關(guān)心的。TCP根據(jù)對方給出的窗口值和當前網(wǎng)絡(luò)擁塞的程度來決定一個報文段應(yīng)包含多少個字節(jié)(UDP發(fā)送的報文長度是應(yīng)用進程給出的)。TCP可把太長的數(shù)據(jù)塊劃分短一些再傳送。TCP也可等待積累有足夠多的字節(jié)后再構(gòu)成報文段發(fā)送出去。5.3.2TCP的連接TCP把連接作為最基本的抽象。每一條TCP連接有兩個端點。TCP連接的端點不是主機,不是主機的IP地址,不是應(yīng)用進程,也不是運輸層的協(xié)議端口。TCP連接的端點叫做套接字(socket)或插口。端口號拼接到(contatenatedwith)IP地址即構(gòu)成了套接字。套接字(socket)套接字socket=(IP地址:端口號)(5-1)每一條TCP連接唯一地被通信兩端的兩個端點(即兩個套接字)所確定。即:

TCP連接::={socket1,socket2}={(IP1:port1),(IP2:port2)}(5-2)同一個名詞socket

有多種不同的意思應(yīng)用編程接口

API(控制win各部件的函數(shù)集)

稱為socketAPI,簡稱為socket。socketAPI中使用的一個函數(shù)名也叫作socket。調(diào)用socket函數(shù)的端點稱為socket。調(diào)用

溫馨提示

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

評論

0/150

提交評論