【Linux基礎】TCP

網絡基礎編程主要介紹傳輸層中的TCP與UDP協議。TCP和UDP是兩種不同的網絡傳輸方式。
(1)概述
同其他任何協議棧一樣,TCP向相鄰的高層提供服務。因爲TCP的上一層就是應用層,因此,TCP數據傳輸實現了從一個應用程序到另一個應用程序的數據傳遞。應用程序通過編程調用TCP並使用TCP服務,提供需要準備發送的數據,用來區分接收數據應用的目的地址和端口號。
通常應用程序通過打開一個socket來使用TCP服務,TCP管理到其他socket的數據傳遞。可以說,通過IP的源/目的可以惟一的區分網絡中兩個設備的關聯,通過socket的源/目的可以惟一的區分網絡中兩個應用程序的關聯。
(2)三次握手協議
TCP對話通過三次握手來初始化的。三次握手的目的是使數據段的發送和接收同步,告訴其他主機其一次可接收的數據量,並建立虛連接。下面描述了這三次握手的簡單過程。
初始化主機通過一個同步標誌置位的數據段發出會話請求。
接收主機通過發回具有以下項目的數據段表示回覆:同步標誌置位、即將發送的數據段的起始字節的順序號、應答並帶有將收到的下一個數據段的字節順序號。
請求主機再回送一個數據段,並帶有確認順序號和確認號。
TCP實體所採用的基本協議是滑動窗口協議。當發送方傳送一個數據報時,它將啓動計時器。當該數據報到達目的地後,接收方的TCP實體向回發送一個數據報,其中包含有一個確認序號,它意思是希望收到的下一個數據報的順序號。如果發送方的定時器在確認信息到達之前超時,那麼發送方會重發該數據報。
發佈了1 篇原創文章 · 獲贊 3 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章