一、作用
兩台主機進行通訊,不僅僅需要ip位址,還有port,所以準確的說應該是主機上的應用程式程序進行通訊。運輸層實現了復用
和分用的功能
復用:應用層的所有應用程式都通過運輸層再傳送到網路層
分用:運輸層從網路層收到傳送給各個應用程式的資料,然後分別交付指明的各應用程式
二、網路層和運輸層的區別
1、網路層為主機之間提供邏輯通訊
2、運輸層為應用程式之間提供端對端的邏輯通訊
三、埠號
埠號是16位的,所以最大是2^16是65536,範圍0-65535
服務端使用的埠號:
1、熟知(系統)埠號 0-1023
2、登記埠號:1024-49151
3、客戶端使用的埠號:49152-65535
ps:埠號只具有本地意義,換到別的機器這個埠號可能就沒有意義了
四、udp(user datagram protocol)
udp就是使用者資料報協議
4.1、特點:
1).傳輸屬於之前不需要建立連線,傳送資料不需要任何確認,不保證可靠交付。
2).面向報文:應用層交給udp多大的報文,udp直接傳送。因此報文的大小要合適,太長、太多都會導致ip層的效率下降。
3).沒有擁塞控制
4).支援一對
一、一對多、多對
一、多對多的互動通訊。
5).首部開銷小,只有8byte,比tcp的20byte要短。
使用者資料報udp有兩個字段:資料字段和首部字段
4.2、首部字段:
8byte,四個字段,每個欄位的長度都是2byte,源埠、目標埠、長度、檢驗和
udp通訊需要port,但是因為是無連線的,所以不需要使用套接字
4.3、偽首部:
只是為了檢驗和臨時加的,不向上下傳遞
4.4、使用場景:udp使用場景很少的,而且程式設計比tcp難多了
1).很在乎延遲,不能忍受重傳,那麼就用udp,例如 ntp 協議
總之:使用 udp 需要有強大到不容置疑的理由,when in doubt, use tcp,這句話說得很好
五、tcp
傳輸控制協議 提供面向連線的服務
5.1、特點:
1、在傳輸資料之前必須先建立連線,結束之後要釋放連線,只能點對點的連線
2、提供可靠交付的服務,tcp傳送的資料,無差別、不丟失、不重複、按順序到達。
3、全雙工通訊:tcp允許通訊雙方的應用程式在任何時候都能傳送資料。client和server都設有傳送快取和接收快取,用來臨時存放
雙向通訊的資料
4、面向位元組流
5.2、tcp使用場景:
1、聊天訊息傳輸
3、幾乎udp能做的tcp都能做到,只是要考慮複雜性、效能問題
4、無法進行廣播、多播等操作
5.3、傳送報文:
tcp不關心應用程式一次把多長的報文傳送到tcp的快取中,而是根據對方返回的視窗值和當前網路的擁塞程度來決定乙個報文段應該包含
多少位元組
,而udp的報文長度是應用程度決定的。
每一條tcp連線都有兩個連線點,這個連線點稱為套接字(socket)或插口。
套接字的表示:
埠號拼接到ip位址,例如192.168.22.37:8080
優點:
容易實現,即使確認丟失也不用重傳,但是如果有分組丟失,就需要將丟失的分組進行重傳,稱為go-back-n
缺點:
不能向傳送方反饋所有收到的正確分組的資訊
tcp和udp區別:
1、面向連線和無連線
2、可靠性
3、有序性
4、速度
5、是否輕量級,從報文頭來看
計算機網路 運輸層
問題 一 運輸層為相互通訊的的應用程序提供邏輯通訊 問題二 埠和套接字的意義 問題三 理解udp和tcp協議 問題四 在不可靠的網路上實現可靠傳輸的工作原理 問題五 tcp的滑動視窗 流量控制 擁塞控制和連線管理 1 埠 應用層所有的應用程序都可以通過運輸層傳送到ip層,這就是復用 運輸層從ip層收...
計算機網路 運輸層
運輸層協議作用於端系統,為執行在不同主機上的程序提供了邏輯通訊,將主機間的交付擴充套件到程序間交付。該層的分組稱為segment 報文段 多路復用 主機把不同套接字 每生成乙個套接字同時分配乙個埠號 收集的資料封裝後生成報文段,傳送給網路層 多路分解 將運輸層報文段的不同資料 通過套接字的埠號 交付...
計算機網路 運輸層
運輸層協議為執行在不同主機上的應用程序之間提供了邏輯通訊 logic communication 功能。運輸層協議是在端系統中而不是在路由器中實現的 在傳送端,運輸層將從傳送應用程式程序接收到的報文轉換成運輸層分組 運輸層報文段,segment 實現的方法 可能 是將應用報文劃分為較小的塊,並為每塊...