計算機網路(四) 傳輸層協議TCP UDP協議

2021-09-14 07:36:17 字數 2832 閱讀 2076

tcp(transmission control protocal)傳輸控制協議,在應用程式間建立虛擬鏈路,進行資料傳輸。

tcp協議位於tcp/ip協議第3層,將應用層資料進行包裝,傳輸給網路層進一步處理。

具體:傳輸層在程序與程序之間進行資料傳輸。埠對應程序。將應用層的資料報裝成乙個乙個的process,通過復用技術轉換成message,再進行ip組包通過資料鏈路傳輸。

組包通過 滑動視窗 實現連線控制

定址通過 序號確認 提供可靠性

為不同主機上執行的應用程序提供邏輯通訊。

執行在端系統上,不在路由器(並不執行應用程序)。

運輸層位於網路層之上,網路層為不同主機間提供邏輯通訊。

udp能更好地控制傳送資料和傳送時間

udp檢驗和:將所有16bit字資料加起來(如果有溢位,則回卷:溢位的1加到後面),取反作為檢驗和。

接收方將獲得的所有16位元字加起來再與檢驗和求和,如果和為1111111111111111,則分組從源到目的地移動時未發生錯誤。

運輸層分組稱為報文段

socket是應用層與運輸層之間介面

運輸層協議基本職責:將主機交付擴充套件為程序間交付,具體為

多路復用要求:

tcp套接字是乙個四元組,包括

面向連線

端到端高可靠:保證傳輸資料正確性

全雙工方式傳輸

以位元組為單位傳輸位元組序列

緊急資料傳送

建立連線(3次握手)

傳輸資料

釋放鏈結(四次揮手)

1、建立連線

客戶a向伺服器b傳送連線請求,請求報文段首部syn=1,seq=x,表明傳送資料時的第乙個資料位元組的序號是x

b收到連線請求後,若同意連線,則發回確認,syn=1,ack=1,ack=x+1,seq=y

a收到b發出的同意連線請求後,向b給出確認,ack=1,ack=y+1,seq=x+1,並通知上層應用程式連線已經建立。b收到主機 a 的確認後,也通知其上層應用程序tcp連線已經建立。

2、傳輸資料

連線建立後即可進行資料傳輸。

3、釋放連線

資料傳輸結束後,通訊的雙方都可釋放連線。例如:a的應用程序先發出連線釋放報文段,並停止再傳送資料,主動關閉tcp連線。

a 把連線釋放報文段首部的fin = 1,其序號seq = u,等待b的確認。

b發出確認,ack=1,確認號ack = u+1,而這個報文段自己的序號seq =v。tcp伺服器程序通知高層應用程序,從a到b這個方向的連線就釋放了,tcp 連線處於半關閉狀態。若b 傳送資料,a仍要接收。

若b已經沒有要向a傳送的資料,其應用程序就通知tcp釋放連線。fin=1,ack=1,seq=w,ack=u+1

a收到連線釋放報文段後,必須發出確認,在確認報文段中ack = 1,確認號ack=w﹢1,序號seq = u + 1。

tcp連線必須經過時間2msl後才真正釋放掉,2msl的時間是 為了保證 a 傳送的最後乙個ack報文段能夠到達b。防止「已失效的連線請求報文段」出現在本連線中。

a 在傳送完最後乙個ack報文段後,再經過時間2msl,就可以使本連線持續的時間內所產生的所有報文段,都從網路中消失。這樣就可以使下乙個新的連線中不會出現這種舊的連線請求報文段。

upd(使用者資料報協議user datagram protocol)提供無連線的不可靠的傳輸層協議,同tcp一樣用於處理資料報。常用於多**資料傳輸

ud7個p特點

無連線。在傳輸資料前不用建立連線欸,也就沒有鏈結釋放,使得udp傳輸效率高

盡最大努力交付。無法保證資料能準確到達目的主機,也不對udp資料報進行確認

面向報文。udp協議將應用層傳輸下來的資料封裝在udp包裡,不拆分合併。運輸層收到udp包後,去掉首部後,將資料原封不動交給應用程式。

沒有擁塞控制。udp傳輸的傳送速率不受網路擁塞度影響。

支援1對1,1對多,多對多互動通訊

頭部只占用8位元組

設計簡單,保證udp在工作時的高效性與低延時性。

udp協議使用埠號為不同應用程式提供各自的傳輸通道,埠號佔兩個位元組

udp協議建立在ip協議之上,用udp時,先從應用程式緩衝區輸出乙個udp報文段,將其直接封裝在ip資料報中傳輸。傳送端不用傳送緩衝區。udp資料報到達目標端ip層後,目標主機udp層根據目標埠號送到相應程序。

參考:南京農業大學錢燕老師計算機網路課程

計算機網路 傳輸層

為什麼要劃分傳輸層?既然網路層已經能把源主機上發出的資料傳送給目的主機,那麼為什麼還需要加上乙個傳輸層呢?這就需要我們理解主機使用者應用層通訊的主體,位於兩台網路主機中真正的資料通訊主體並不是這兩台主機,而是兩台主機中的各種網路應用程序.同一時間一台主機上可能有多個程序同時執行,這時候就需要為應用程...

計算機網路(傳輸層)

網路層提供了主機之間的邏輯通訊,運輸層為運輸在不同主機上的程序之間提供了邏輯通訊。運輸層協議是在端系統中而不是在路由器中實現的。運輸協議能夠提供的服務常常受制於底層網路層協議的服務模型。底層無法提供時延或頻寬保證,運輸層協議也無法提供。但是即使底層網路協議不可靠,運輸協議也可以提供可靠的資料傳輸服務...

計算機網路 傳輸層

運輸層最重要的兩種協議 tcp協議,udp協議 真正的通訊 兩個主機之間應用程序的通訊 運輸層的重要功能 1 復用 傳送方的不同應用程序使用同乙個運輸層協議傳輸資料 應用層 運輸層 2 分用 接收方的運輸層在剝去報文首部後把資料真正交付到目的應用程序 運輸層 應用層 網路層和運輸層的區別 網路層說明...