網路基礎筆記 傳輸層

2021-08-17 08:30:35 字數 2474 閱讀 9875

跟蹤各個會話,讀個應用程式同屬在網路上通行時,傳輸層負責管理這些應用程式的多道路通行流

分段資料,將大量的資料拆分成小的分段,更適合傳輸。這一過程傳輸層在每個分段上新增報頭,關聯與該分段的通訊

重組資料段,通過編號與排序分段,資料層能保證分段能以正確的順序重組,然後傳給適當的應用程式。傳輸層的協議描述了傳輸層的頭資訊如何用於重組資料分段成為正常的資料流傳給應用程式。

標識應用程式,傳輸層標誌目的應用程式,將資料流傳到適當的應用程式。因此,傳輸層將應用程式分配表示符。tcp/ip協議族將這種表示符稱為埠號。在與外部聯網的程式都會被分配乙個位於的埠號。傳輸層負載我拿過來傳輸,是應用層和網路層之間的橋梁。公認埠(用於服務和應用程式)0-1023,已註冊埠(分配給使用者程序或應用程式)1024-49151,動態或私有埠65535

流量控制,傳輸層通過建設設計院的傳送設計組的大小實現對資料流流量的控制。流量控制能防止在網路上丟失分段並且避免重傳。

錯誤恢復,傳輸層通過重傳對視的資料確保所有的片段都能到達目的地。

開始會話,傳輸層通過在應用程式之間建立乙個會話提供面向連線的定位服務。這些連線在傳送任何資料之前準備好應用程式間的通訊。

資料要求各不相同,對於不同的應用程式的要求傳輸層協議分為很多種。(udp:盡力傳輸,高效傳輸資料片段,適用於那些對資料延遲及其敏感的應用程式;tcp可靠傳輸,提供更為健全的應用程式之間的資料通訊,但也產生了額外的開銷並增加了對網路的要求)

傳輸層的主要功能就是管理主機會話過程中的應用程式資料。tcp能確保資料的可靠傳輸。

可靠性指從源裝置傳送的每段資料都能到達目的裝置。傳輸層有三項基本的可靠性操作:  

跟蹤已傳送的資料

確認已接收的資料

重傳未確認的資料

在傳輸層(第4層)的報頭中標識了控制資料位,用於對是收發主機之間的資料控制,跟蹤每個會話中的所有資料片段,並從重傳未被目的主機確認的資料。

盡力傳輸缺乏母的裝置對收到的資料的確認機制。

根據rfc768,udp是一種簡單的無連線協議,優點在於提供低開銷資料傳輸。udp中的通訊資料段稱為資料報。盡力傳輸。

udp資料段報頭只需要8個位元組。

乙個udp的分段稱為資料報。

udp協議的應用包括:

1.網域名稱系統(dns)

3.ip語音(voip)

根據rfc793,tcp是一種面向連線的協議。tcp協議描述的其他功能包括原虛處理、可靠傳輸以及流量控制。

tcp報頭需要20個位元組的開銷。

乙個tcp的分段稱為分段。

tcp通訊的可靠性再也使用了面向連線的會話。在tcp協議傳送資料到另一主機前,傳輸層會啟動乙個程序,用於建立於母的主機之間的連線,通過該連線,可以跟蹤逐漸之間的會話或者通訊資料流。還確保每台主機都知道並做好了通訊準備。完整的tcp會話要求在主機之間建立雙向會話。

使用tcp協議的額外系統開銷部分源自確認訊息和重新傳送資訊所產生的網路流量。建立會話產生的其他的資料段交換也會構成系統開銷。在跟蹤待確認的資料和重新傳送過程中也會產生額外開銷。

在兩台主機採用tcp進行通訊時,在交換資料前將建立連線。通訊完成後,將關閉會話並終止連線。連線和會話機制保障了tcp的可靠性功能。

ps:也有同時使用udp和tcp的應用程式

tcp報頭中的控制為指出了連線的進度和狀態。

tcp連線建立的過程

客戶端想伺服器傳送包含初始序列值(seq)的資料段,開始通訊會話。傳送syn

伺服器傳送包含確認值(ack)的資料段,其值等於收到的序列值加1。該值比序列號大1,因為ack總是下乙個預期位元組或二進位制八位數。並傳送其自身的同步序列值(syn)。傳送syn,ack

傳送帶確認值(ack)的客戶端響應,其值等於接收的序列值加1.這便完成了整個建立連線的過程。傳送ack

在tcp資料段報頭中,有6個包含控制資訊的1位元字段,用於管理tcp程序,他們其實只有兩個值(0或1),代表該資料段中是否包含該控制資訊。

序列號的初始值被稱為初始序列號(isn),由系統選舉,並用於跟蹤會話過程中從客戶端到伺服器的資料流。在會話過程中,每從客戶端向伺服器傳送乙個位元組的資料,資料段報頭中的isn值就要加1。

一但在客戶端和伺服器之間建立和雙向會話,該通訊過程中交換的所有資料段都將包換ack標誌設定。

若要關閉連線,應設定資料段報頭中的fin控制標誌。為終止每個單向tcp會話,需採用包含fin資料段和ack資料段的二層握手。因此,乙個雙向會話需要實施4次交換:

客戶端傳送帶fin標誌設定的資料段

伺服器傳送ack資訊,確認收到從客戶端傳送的請求終止會話的fin

伺服器向客戶端傳送fin,終止從伺服器到客戶端的會話

客戶端傳送ack響應資訊,確認收到從伺服器發出的fin資訊

udp是無連線協議,即通訊前不建立會話。換而言之,應用程式要傳送資料時,他僅僅是資料而已。

udp pdu的實際意義是資料報。

udp不跟蹤序列號,不會對資料報,重組,因此不會講資料恢復到傳輸時的順序。因此udp僅僅是將受到的資料安卓顯老厚道的順序**到應用程式。如果資料的順序對應用程式很重要,納悶應用程式只能自己標誌資料的正確順序,並決定如何處理這些資料。

網路基礎 傳輸層

傳輸層負責資料能夠從傳送端傳輸接收端。埠號 port 標識了乙個主機上進行通訊的不同的應用程式。在tcp ip協議中,用 源ip 源埠號 統稱為源端套接字 目的ip 目的埠號 統稱為伺服器端套接字 協議號 這樣乙個五元組來標識乙個通訊,可通過netstat n檢視。協議號決定了使用傳輸層的哪個協議。...

網路基礎 傳輸層

傳輸層 解決如何傳輸,協議都不可變 五元組織 源ip 源埠號 目的ip 目的埠號 協議號 udp報文 報頭 源埠,目的埠 16位udp長度 16位udp校驗和 解決有效載荷與報頭分離 基於udp的應 用層協議 nfs 網路檔案系統 tftp 簡單檔案傳輸協議 dhcp 動態主機配置協議 向路由申請i...

TCP IP 網路基礎(三)傳輸層

網路層為通訊搭建好了基礎架構,但對於應用程式來說,它仍是 不可用 的。類似地,即使各級鐵路公路能通到全國的任何地方,但如果沒有快遞公司,你怎麼寄東西?傳輸層就是給需要使用網路傳輸的應用程式直接使用的協議,也只有它提供了程式設計介面,即套接字。tcp ip在傳輸層的主要協議就是tcp和udp。在這一層...