“怎樣”系列再出新作,TCP 入門必備,對新手超友好的圖解技術書
一個優(yōu)秀的、能夠準確無誤傳輸數(shù)據(jù)的應用程序,需要具備什么樣的協(xié)議?
對數(shù)據(jù)丟失零容忍;
不允許數(shù)據(jù)順序出錯;
杜絕網(wǎng)絡頻繁擁堵的亂象;
……
如此列舉下去,似乎有位“嘉賓”符合以上所有的功能需求。
噔噔噔!接下來就有請通信協(xié)議的優(yōu)等生?TCP?出列!
TCP 是一種提供面向連接的通信協(xié)議,會確認通信設備間連接的開始和結束。在傳輸數(shù)據(jù)的過程中,發(fā)送方發(fā)送數(shù)據(jù),而接收方在收到數(shù)據(jù)后返回對應的 ACK。通過這種方式,雙方設備便可以確認數(shù)據(jù)是否發(fā)送成功,進而確保數(shù)據(jù)傳輸準確無誤。它還能在預測網(wǎng)絡擁堵情況的同時控制發(fā)送 TCP 報文的數(shù)量、重傳丟失的 TCP 報文段數(shù)據(jù)等。
以上這段話讀起來可能有點抽象,但 TCP 的確在各個生活場景中支撐、改善著我們的體驗。比如使用網(wǎng)盤傳輸文件、觀看短視頻和直播,它都像流水一樣,負責收發(fā)數(shù)據(jù)雙方的溝通,最終實現(xiàn)每一次可靠的連接。也正是依靠重傳控制、順序控制、擁塞控制等一系列的強大措施,使得 TCP 自 1974 年問世以來經(jīng)歷發(fā)展、普及與進化仍然經(jīng)久不衰,作為互聯(lián)網(wǎng)信息傳輸?shù)幕倭⒉坏?,更是成為每個計算機學習、從業(yè)者修煉升級之路上繞不過的重要NPC。伴隨著近年來應用程序日新月異的發(fā)展,TCP 自然也在不斷變化發(fā)展,而這又進一步提高了 它的學習門檻:要系統(tǒng)掌握 TCP 協(xié)議,不僅需要啃下復雜的構成邏輯,還必須瞭望前沿動向。許多初學者因此望而卻步,只求略知一二。
但好在,“魚與熊掌”并非不可得兼。《TCP 是怎樣工作的》這本書,便用通俗易懂、以圖配文的方式,從基礎知識到前沿研究動向,盡可能全面地為讀者講解 TCP。尤其是對于更新較為頻繁的擁塞控制算法,本書特意采用了大量篇幅來詳細說明。此外,本書也提供了可供下載的模擬環(huán)境,以幫助讀者進一步理解 TCP 的技術理論。


本書內容
除前言外,本書共有 7 章。
第 1 章到第 3 章全局性地總覽 TCP 的基礎知識。第 1 章概述計算機網(wǎng)絡的基礎知識,以及 UDP 與 TCP 之間的差異。第2章介紹 TCP 誕生的背景。第3章講解 TCP 協(xié)議的設計方法。
第 4 章到第 6 章深入挖掘 TCP 的核心技術——擁塞控制。第4章概述擁塞控制的基本思想,以及迄今為止所提出的各種擁塞控制算法。第5章和第6章重點介紹近幾年來最重要的擁塞控制算法 CUBIC 和 BBR。
最后,第 7 章介紹 TCP 前沿的研究動向和今后的技術發(fā)展,涉及5G、物聯(lián)網(wǎng)、數(shù)據(jù)中心、自動駕駛等內容。
此外,每章末尾列有部分參考資料,如需了解更詳細的知識,請查閱相應的參考資料。

本書特色
圖解×模擬直擊 TCP 技術核心算法“TCP 技術入門”通俗圖解版蹲馬桶就能看懂的網(wǎng)絡協(xié)議基礎
如果你是計算機網(wǎng)絡初學者, 總是搞不清、記不住 TCP 的運行機制, 那么就應該讀一讀這本書, 系統(tǒng)地掌握實現(xiàn)高可靠性傳輸?shù)?TCP 技術!
146 張示意圖幫助理解,詳略得當,為讀懂大部頭開路
詳細梳理 TCP 發(fā)展歷程,從變遷中窺見設計思路與本質
深入 TCP 核心技術,重點講解擁塞控制算法(CUBIC、BBR 等)
使用 Wireshark 和 ns-3 等搭建模擬環(huán)境,切實體驗算法流程
本書適合人群
菜鳥程序員入門進階
中級程序員查漏補缺
高手程序員/相關專業(yè)教師講解網(wǎng)絡通信關鍵技術
作譯者簡介

“怎樣”系列其他圖書推薦
以通俗易懂、配合圖解的方式講解計算機基礎知識,既消除了初學者面對大部頭巨著之時的恐懼,又能將知識更為直觀地呈現(xiàn),加深記憶。如果你對本書內容以及其背后更為寬廣的計算機宇宙感興趣,還可以選購以下“怎樣”系列圖書:
程序是怎樣跑起來的(第3版)
作者:[日]矢澤久雄??譯者:周自恒
本書從計算機的內部結構開始講起,以圖配文的形式詳細講解了二進制、內存、數(shù)據(jù)壓縮、源文件和可執(zhí)行文件、操作系統(tǒng)和應用程序的關系、匯編語言、硬件控制方法等內容。

計算機是怎樣跑起來的
作者:[日]矢澤久雄??譯者:胡屹
本書以圖配文,以計算機的三大原則為開端、相繼介紹了計算機的結構、手工匯編、程序流程、算法、數(shù)據(jù)結構、面向對象編程、數(shù)據(jù)庫、TCP/IP 網(wǎng)絡、數(shù)據(jù)加密、XML、計算機系統(tǒng)開發(fā)以及SE 的相關知識。

網(wǎng)絡是怎樣連接的
作者:[日]戶根勤??譯者:周自恒
本書以探索之旅的形式,從在瀏覽器中輸入網(wǎng)址開始,一路追蹤了到顯示出網(wǎng)頁內容為止的整個過程,以圖配文,講解了網(wǎng)絡的全貌,并重點介紹了實際的網(wǎng)絡設備和軟件是如何工作的。

面向對象是怎樣工作的(第3版)
作者:[日]平澤章??譯者:侯振龍
本書以圖配文的形式,直觀易懂地介紹了面向對象的全貌及其包含的各項技術,包括面向對象編程、框架、設計模式、UML、建模、面向對象設計和敏捷開發(fā)方法等。

Linux是怎樣工作的
作者:[日]武內覺??譯者:曹栩
本書結合大量實驗程序和圖表,通俗易懂地介紹了Linux操作系統(tǒng)的運行原理和硬件的基礎知識,涉及進程管理、進程調度器、內存管理、存儲層次、文件系統(tǒng)和外部存儲器等。