目錄2 使用者資料報協議udp
3 傳輸控制協議tcp
4 可靠傳輸的工作原理
5 tcp可靠傳輸的實現
6 tcp的流量控制
7 tcp的擁塞控制
8 tcp運輸連線的管理
任務:為兩台主機中程序之間的通訊提供通用的資料傳輸服務
功能:
復用:是指傳送方不同的應用程序都可以使用同乙個傳輸層協議傳送資料(首部不同)
分用:接收方的傳輸層在剝去報文的首部後能夠把這些資料正確的交付目的應用程序。
通訊:向上面的應用層提供通訊服務,同時使用網路層提供的服務。
通訊的真正端點不是主機而是主機中的程序(端到端的通訊是應用程序之間的通訊),即兩台主機之間的通訊實際是分別在這兩台主機上的應用程序之間互相通訊。ip協議能把分組送到目的主機,但分組還停留在主機的網路層,而沒有交付給主機的應用程序。網路層為主機之間提供邏輯通訊,運輸層為應用程序之間提邏輯通訊。
1.2.1 使用者資料報協議udp
udp中的傳送資料單元叫udp使用者資料報
udp是無連線的協議,意味著可以隨時直接傳送資料,而不需要建立連線,接收方收到udp報文後也不需要給出任何確認。這種邏輯通訊通道是一條不可靠通道。
1.2.2 傳輸控制協議tcp
tcp中的傳送資料單元叫tcp報文段
tcp是面向連線的協議,傳送資料之前必須建立連線,接收方收到tcp報文需要給出確認,資料傳送完畢之後必須釋放連線。這種邏輯通訊通道就相當於一條全雙工的可靠通道。因為提供可靠的傳輸服務,所以增加了許多開銷,比如連線管理、流量控制、確認、計時器等。tcp不提供廣播、多播服務。
在單個計算機中的程序用程序識別符號來標誌的。在運輸層使用協議埠號(簡稱埠)。運輸層收到網路層ip協議交上來的報文後,能夠根據其中的目的埠號把資料交付給應用層的目的應用程序。
此處埠是指軟體埠,是應用層的各種協議程序與運輸實體進行層間互動的一種位址。硬體埠是不同硬體裝置進行互動的介面,比如路由器或交換機上的硬體埠。
埠號只有本地意義,它只是為了標誌計算機應用層中各個程序在傳輸層互動時的層間介面。在網際網路中,不同計算機的相同埠號是沒有聯絡的。
埠用乙個 16 位埠號進行標誌,允許有65,535個不同的埠號。
1.3.1 傳輸層的埠分為兩大類:
1. 伺服器端使用的埠號:
其中又分熟知埠號(埠號01023)和**登記埠號**(埠號102449151)。熟知埠號又叫系統埠號,是iana指派給了tcp/ip最重要的一些應用程式,讓所有使用者都熟知。登記埠號是為沒有熟知埠號的應用程式使用的,當乙個新的應用程式出現後,在iana處登記使用的埠號,防止重複。
2. 客戶端使用的埠號:
也叫短暫埠號,埠號為49152~65535。這類埠號是僅在客戶端程序執行時動態選擇,暫時使用程序結束埠號即不存在了,又可以被其他客戶程序使用。
** 1.3.2 套接字**
在網路中採用套接字來識別端點,套接字唯一的標示了網路中的一台主機和它上面的乙個程序。雖然udp之間的通訊也要用到埠號,但udp的通訊是無連線的,因此不需要使用套接字,tcp之間的通訊必須建立在兩個套接字之間建立連線。
需要注意的是,在不同的地方,套接字socket可能表示不同的意思。
udp 只在 ip 的資料報服務之上增加了很少一點的功能:復用和分用的功能、差錯檢測的功能
關於面向報文:
udp 對應用層交下來的報文,既不合併,也不拆分,而是保留這些報文的邊界。udp 一次交付乙個完整的報文。接收方 udp 對 ip 層交上來的 udp 使用者資料報,在去除首部後就原封不動地交付上層的應用程序,一次交付乙個完整的報文。
應用程式必須選擇合適大小的報文:
若報文太長,udp 把它交給 ip 層後,ip 層在傳送時可能要進行分片,這會降低 ip 層的效率。
若報文太短,udp 把它交給 ip 層後,會使 ip 資料報的首部的相對長度太大,這也降低了 ip 層的效率。
使用者資料報 udp 有兩個字段:資料字段和首部字段。
首部欄位有 8 個位元組,由 4 個字段組成,每個欄位都是 2 個位元組。
udp使用者資料報中首部的檢驗和在計算時,需要在該udp資料報之前增加12個位元組的偽首部,計算方法是二進位制反碼求和。偽首部並不是udp資料報真正的首部,只是在計算檢驗和時臨時加上的,它不會被向下傳送也不會向上遞交。偽首部由五個字段構成分,如下:
tcp 是面向連線的運輸層協議,在無連線的、不可靠的 ip 網路服務基礎之上提供可靠交付的服務。為此,在 ip 的資料報服務基礎之上,增加了保證可靠性的一系列措施。
(1)tcp 中的「流」(stream) 指的是流入或流出程序的位元組序列。
(2)「面向位元組流」的含義是:雖然應用程式和 tcp 的互動是一次乙個資料塊,但 tcp 把應用程式交下來的資料看成僅僅是一連串無結構的位元組流。
(3)tcp 不保證接收方應用程式所收到的資料塊和傳送方應用程式所發出的資料塊具有對應大小的關係。但接收方應用程式收到的位元組流必須和傳送方應用程式發出的位元組流完全一樣。
2019.5.11 待更新.......
計算機網路 運輸層
問題 一 運輸層為相互通訊的的應用程序提供邏輯通訊 問題二 埠和套接字的意義 問題三 理解udp和tcp協議 問題四 在不可靠的網路上實現可靠傳輸的工作原理 問題五 tcp的滑動視窗 流量控制 擁塞控制和連線管理 1 埠 應用層所有的應用程序都可以通過運輸層傳送到ip層,這就是復用 運輸層從ip層收...
計算機網路 運輸層
運輸層協議作用於端系統,為執行在不同主機上的程序提供了邏輯通訊,將主機間的交付擴充套件到程序間交付。該層的分組稱為segment 報文段 多路復用 主機把不同套接字 每生成乙個套接字同時分配乙個埠號 收集的資料封裝後生成報文段,傳送給網路層 多路分解 將運輸層報文段的不同資料 通過套接字的埠號 交付...
計算機網路 運輸層
運輸層協議為執行在不同主機上的應用程序之間提供了邏輯通訊 logic communication 功能。運輸層協議是在端系統中而不是在路由器中實現的 在傳送端,運輸層將從傳送應用程式程序接收到的報文轉換成運輸層分組 運輸層報文段,segment 實現的方法 可能 是將應用報文劃分為較小的塊,並為每塊...