運輸層簡介

2021-10-07 21:51:14 字數 2558 閱讀 3684

封裝和解封

復用和分用

流量控制

差錯控制

運輸層位於網路層和應用層之間,運輸層負責向應用層提供服務,同時它接受來自網路層的服務。

運輸層協議主要負責程序到程序間的通訊。

程序可以理解未是使用了運輸層服務的應用層實體。

比如nginx程序,mysql程序等,都需要把資料傳給運輸層,由運輸層負責把資料報傳輸到正確的目標主機的目標程序。

但是主機到主機的通訊是由網路層負責的,網路層協議只能把報文交付給目的計算機,但這並不是完整的交付,報文必須交付到正確的程序,而這正是運輸層協議的任務。

程序間通訊有很多種方式,但最常用的方法是客戶-伺服器正規化。位於本地主機上的程序稱為客戶,它通常需要遠端主機上的乙個稱為伺服器的程序提供的服務。

比如本地主機的瀏覽器程序就是客戶,它需要向遠端的web伺服器索取服務。

網路層協議支援把本地主機報文交付給正確的遠端主機,但是只交付到主機是不夠的。運輸層需要把報文交付到正確的應用層程序。

本地主機和遠端主機都是通過ip位址來定義的。

那如何定義程序呢,我們需要引入新的標識,也就是埠號。在tcp/ip協議族中,埠號是 0~65535之間的整數。

客戶端程式通過乙個埠號來定義自己,這種埠號稱為臨時埠號。「臨時」的含義是指生存時間很短,客戶的生存時間通常都比較短。

伺服器程序也需要用乙個埠號來定義自己。但是這個埠號不能隨機選取,這會導致客戶程式不知道該請求伺服器的哪個埠。

tcp/ip決定讓伺服器使用全球通用埠號,它們稱為熟知埠號。

事實上客戶端可以使用熟知埠號,而伺服器也可以使用其他埠號。這個決定更像是一種約定,或者預設。比如我們在請求web伺服器的時候,如果我們不指定埠號,瀏覽器缺省會請求目的主機的80埠。但是如果伺服器同時在8080埠也提供服務,我們也可以通過指定8080埠來請求服務。

現在應該清楚,在選擇資料最後的終點時,ip位址定義了無數臺主機中的一台,而埠則定義了主機上多個程序之中的某乙個

icann(the internet corporation for assigned names and numbers)網際網路名稱與數字位址分配機構是乙個非營利性的國際組織.

icann 把埠好劃分為三個範圍段:

熟知埠號範圍從0~1023,由icann指派和控制。

註冊埠範圍從1024~49151,icann既不指派也不控制,但它們必須在 icann處註冊以防止重複。

動態埠範圍從19152~65535 它們可被用作臨時的或專用的埠號

ip位址和埠號的組合就稱為套接字位址。

客戶套接字定義了唯一的客戶程序,同樣伺服器套接字定義了唯一的乙個伺服器程序。

為了把報文從乙個程序傳送到另乙個程序,運輸層協議要對報文進行封裝和解封。

封裝發生在傳送方。傳送方程序需要將報文以及套接字等資訊遞交給運輸層。運輸層負責接收並新增運輸層首部。

在網際網路中,運輸層的分組也稱為使用者資料報、資料段或分組。

解封發生在接收方。接收方運輸層接收到報文後,拆除首部,並將報文交付給正確的應用層程序。

當乙個實體接收來自多個源的輸入時,就稱為復用。

當乙個實體將資料交付到多個源時,就稱為分用。

源點的運輸層執行的是復用,它需要接收來自多個應用層程序的報文。

終點的運輸層執行的是分用,它需要把資料交付給多個應用層程序。

當乙個實體產生資料而另乙個實體消耗這些資料時,資料的產生速度和消耗速度之間應當達到某種平衡。如果資料產生速度比消耗的快,那麼消耗方就會以為來不及處理而丟失一部分資料。如果資料產生的速度比消耗的慢,消耗方需要等待,從而使整個系統的效率降低。而流量控制就是為了解決第乙個問題。

生產者傳送資料到消耗者有兩種方式:

推送:生產者一有資料產生就傳送出去,不管消耗方是否有能力處理。

拉取: 消耗方請求資料的時候,生產者才傳送資料。

推送方式中,當生產者生產速率過快,消費者來不及處理時,就需要通知生產者進行流量控制。

拉取方式中,消費者在拉取資料時,是準備好的狀態,是有能力處理即將到來的資料的,所以不需要進行流量控制。

第十三章 運輸層簡介

1 運輸層提供程序到程序的通訊,程序通過ip 埠號標識自己,埠號16位,取值0 65535之間 2 0 1023為熟知埠號,1024 49151為註冊埠號,49152 65535為動態埠號 3 源點運輸層執行復用,將不同程序資料放入運輸層,終點運輸層執行分用,將運輸層資料交付到不同程序 4 資料的推...

unix網路程式設計之簡介和運輸層TCP UDP

前言 本文只介紹了有關unix網路程式設計的理論知識,具體的應用和例子在稍後的博文中將更新 第一章 簡介 乙個簡單的伺服器程式步驟 說明 1.建立tcp套介面 2.伺服器的眾所周知埠 3.把套介面變換成監聽套介面 4.接受客戶連線,傳送應答,伺服器程序在呼叫accept函式後處於睡眠狀態,它等待客戶...

運輸層筆記 TCP

tcp ip tcp 流量控制 差錯控制 擁塞控制 tcp報文段 程序到程序的通訊 流交付服務。全雙工通訊 復用和分用 面向連線的服務。兩個tcp之間建立虛連線,而不是物理連線。可靠的服務 編號系統 tcp是面向位元組的,所以首部中的序號和確認號字段所指的都是位元組的編號 流量控制 tcp能夠使用面...