TCP/IP架構(gòu)、設(shè)計(jì)及應(yīng)用

出版時(shí)間:2010-8  出版社:塞斯(Sameer Seth)、文卡特蘇魯(M.Ajaykumar Venkatesulu)、黃清元、 于杰 清華大學(xué)出版社 (2010-08出版)  作者:(印度) 塞斯 (印度) 文卡特蘇魯 著  頁(yè)數(shù):736  
Tag標(biāo)簽:無(wú)  

前言

我們非常愿意向大家推薦由Sameer Seth和M.Ajaykumar Venkatesulu編寫(xiě)的《TCP/IP架構(gòu)、設(shè)計(jì)及應(yīng)用(Linux版)》一書(shū)。 Sameer Seth以前是Sun Microsystems的高級(jí)工程師,主要從事Solaris TCP/IP協(xié)議棧、套接字、流、NFS、相關(guān)內(nèi)核框架方面的研究與開(kāi)發(fā)工作,擁有十幾年Linux研究和商業(yè)開(kāi)發(fā)的經(jīng)驗(yàn)。他在嵌入式Linux TCP/IP協(xié)議棧和X86體系結(jié)構(gòu)方面有著很深的造詣。此外,他曾從事Motorola MPC8260處理器上各種通信協(xié)議的開(kāi)發(fā)工作??梢哉f(shuō),Sameer Seth對(duì)LinuxTCP/IP協(xié)議棧有著非常深入的理解。 本書(shū)采用大量的源碼和圖例來(lái)闡述Linux TCP/IP協(xié)議棧,盡管市面上有很多介紹TCP/IP協(xié)議棧的書(shū)籍,但是這些書(shū)籍過(guò)于側(cè)重參照TCPflP協(xié)議相關(guān)的RFC來(lái)進(jìn)行闡述,或者注重于一些TCP/IP相關(guān)的算法,而從報(bào)文的處理過(guò)程以及實(shí)現(xiàn)源碼來(lái)深入淺出地介紹Linux TCP/IP協(xié)議棧的書(shū)籍則很少??梢哉f(shuō),本書(shū)是當(dāng)前市面上唯一使用源碼來(lái)介紹LinuxTCP/IP概念和實(shí)現(xiàn)的文獻(xiàn)。本書(shū)試圖介紹TCP/IP協(xié)議棧和內(nèi)核支撐框架的各個(gè)方面,其思想是盡可能地弱化其復(fù)雜性,以便于理解的方式呈現(xiàn)給讀者。本書(shū)首先介紹了支撐該協(xié)議棧的內(nèi)核框架。在Linux中,這些支撐框架有VFS層、套接字框架、協(xié)議層、定時(shí)器、內(nèi)存管理、中斷處理、軟中斷、內(nèi)核線程、內(nèi)核同步機(jī)制等,這是內(nèi)核實(shí)現(xiàn)協(xié)議棧所需的。本書(shū)采用一種簡(jiǎn)潔、漸進(jìn)的方式討論了TCP/IP協(xié)議棧的各個(gè)方面,從簡(jiǎn)單的客戶端-服務(wù)器程序開(kāi)始,直到深入介紹TCP/IP協(xié)議棧中一些比較復(fù)雜的處理過(guò)程。每個(gè)章節(jié)都配有大量的源碼和圖示,以幫助讀者更好地理解這些內(nèi)容。對(duì)于沒(méi)有太多時(shí)間來(lái)閱讀書(shū)籍又期望對(duì)LinuxTCP/IP協(xié)議棧有深入了解的讀者來(lái)說(shuō),這是一本很好的參考用書(shū)。 全書(shū)由黃清元博士和于杰博士翻譯完成,最后由李化統(tǒng)稿。由于譯者水平所限,翻譯不妥或者錯(cuò)誤之處在所難免,敬請(qǐng)廣大讀者批評(píng)指正。

內(nèi)容概要

  隨著開(kāi)源軟件逐漸成為商業(yè)系統(tǒng)和研究項(xiàng)目可信任的組成部分,TCP/IP與Linux操作系統(tǒng)的結(jié)合也越來(lái)越常見(jiàn)。TCP/IP的盛行使計(jì)算機(jī)之間的通信越來(lái)越容易,雖然這些計(jì)算機(jī)使用不同的操作系統(tǒng),如Windows、Mac OS、Linux、Unix等。由于Linux的開(kāi)源性和易修改性,因此在構(gòu)建應(yīng)用程序時(shí),它已經(jīng)成為開(kāi)發(fā)人員常選的操作系統(tǒng),開(kāi)發(fā)人員可以定制操作系統(tǒng),以滿足應(yīng)用程序的需求?!  禩CP/IP架構(gòu)、設(shè)計(jì)及應(yīng)用(Linux版)》采用一種簡(jiǎn)潔、漸進(jìn)的方式介紹了Linux中TCP/IP的設(shè)計(jì)和實(shí)現(xiàn)——從簡(jiǎn)單的客戶端一服務(wù)器應(yīng)用程序到比較復(fù)雜的執(zhí)行過(guò)程,還提供了大量源碼和圖示來(lái)闡述相關(guān)的實(shí)現(xiàn),以幫助讀者更好地理解《國(guó)外計(jì)算機(jī)科學(xué)經(jīng)典教材:TCP/IP架構(gòu)、設(shè)計(jì)及應(yīng)用》的內(nèi)容?!  禩CP/IP架構(gòu)、設(shè)計(jì)及應(yīng)用(Linux版)》適合于嵌入式網(wǎng)絡(luò)產(chǎn)品開(kāi)發(fā)人員、網(wǎng)絡(luò)安全產(chǎn)品開(kāi)發(fā)人員、研究人員、IT網(wǎng)絡(luò)架構(gòu)師以及研究生。

作者簡(jiǎn)介

作者:(印度)塞斯(Sameer Seth) (印度)文卡特蘇魯(M.Ajaykumar Venkatesulu) 譯者:黃清元 于杰Sameer Seth是Juniper Networks公司JUNOS內(nèi)核工作組的高級(jí)工程師。他曾經(jīng)是Sun Microsystems的高級(jí)工程師,主要從事Sotaris的TCP/0P協(xié)議棧、套接字、流、NFS以及相關(guān)的內(nèi)核框架方面的工作。他擁有十幾年Linux的研發(fā)經(jīng)驗(yàn),也曾從事嵌入式TCP/IP Linux.協(xié)議棧和X86體系結(jié)構(gòu)方面的工作。此外;他還曾從事Motorola MPC8260處理器上各種通信協(xié)議的工作。并發(fā)布相關(guān)的技術(shù)討論。他還參與網(wǎng)絡(luò)和Unix相關(guān)技術(shù)的寫(xiě)作和討論。M. Ajaykumar Venkatesulu當(dāng)前從事網(wǎng)絡(luò)服務(wù)和命名服務(wù)方面的工作。他擁有了年Linux網(wǎng)絡(luò)和內(nèi)核方面的研發(fā)經(jīng)驗(yàn),主要研究Linux內(nèi)核、嵌入式系統(tǒng)、IP路由以及IP服務(wù)質(zhì)量等內(nèi)容。

書(shū)籍目錄

第1章引言 1.1 tcp/ip協(xié)議棧概述 1.2 linux 2.4.20的源碼組織結(jié)構(gòu) 1.3tcp/ip協(xié)議棧和內(nèi)核控制路徑 1.4版本2.4之后linux內(nèi)核的可搶占性 1.5 linux進(jìn)程和線程 1.6內(nèi)核同步機(jī)制 1.7tcp/ip應(yīng)用編程接口 1.8shutdown 1.9i/o 1.10 tcp狀態(tài) 1.11本章總結(jié) 第2章協(xié)議基礎(chǔ) 2.1tcp 2.2 tcp選項(xiàng)(rfcl323) 2.3tcp數(shù)據(jù)流 2.4延時(shí)確認(rèn) 2.5 nagle算法(rfc 896) 2.6tcp滑動(dòng)窗口協(xié)議 2.7最大化tcp吞吐量 .2.8tcp定時(shí)器 2.9tcp擁塞控制 2.10tcp性能和可靠性 2.11ip(internet協(xié)議) 2.12路由 2.13netstat 2.14traceroute 2.15icmp 2.16ping 2.17arp/rarp 2.18本章總結(jié) 第3章套接宇的內(nèi)核實(shí)現(xiàn) 3.1套接字層 3.2vfs和套接字 3.3協(xié)議套接字注冊(cè) 3.4結(jié)構(gòu)inet protosw 3.5內(nèi)核中的套接字組織結(jié)構(gòu) 3.6socket 3.7inet create(見(jiàn)源碼3-4) 3.8套接字調(diào)用流程圖 3.9本章總結(jié) 第4章tcp連接設(shè)置的內(nèi)核實(shí)現(xiàn) 4.1連接設(shè)置 4.2bind 4.3listen 4.4內(nèi)核對(duì)連接請(qǐng)求的處理 4.5accept 4.6客戶端設(shè)置 4.7本章總結(jié) 第5章 sk-buff和協(xié)議頭 5.1結(jié)構(gòu)sk bu遷, 5.2結(jié)構(gòu)skb shared info(見(jiàn)圖5-3) 5.3sk buff和dma-skbfrag_struct 5.4 sk buff的例程操作 5.5構(gòu)建向下遍歷協(xié)議層時(shí)的協(xié)議頭 5.6解析向上遍歷協(xié)議層時(shí)的協(xié)議頭 5.7本章總結(jié) 第6章sk-buff在不同協(xié)議層的處理 6.1tcp/ip協(xié)議棧向下的報(bào)文處理 6.2準(zhǔn)備傳輸?shù)膱?bào)文 6.3報(bào)文向下處理的內(nèi)核流 6.4協(xié)議棧向上的報(bào)文處理過(guò)程 6.5沿協(xié)議棧向上的報(bào)文內(nèi)核流程 6.6本章總結(jié) 第7章tcp發(fā)送 7.1 tcp分段單元 7.2分散-聚集支持的分段處理 7.3發(fā)送oob數(shù)據(jù) 7.4tcp分段單元和發(fā)送處理流程 7.5分段和發(fā)送機(jī)制的函數(shù)調(diào)用流 7.6本章總結(jié) 第8章tcp接收 8.1排隊(duì)機(jī)制 8.2接收隊(duì)列中tcp數(shù)據(jù)的處理 8.3tcp緊急數(shù)據(jù)處理 8.4通過(guò)tcp套接字接收數(shù)據(jù)的數(shù)據(jù)流圖 8.5本章總結(jié) 第9章tcp內(nèi)存管理 9.1發(fā)送端tcp內(nèi)存管理 9.2接收端tcp內(nèi)存管理 9.3接收緩沖區(qū)內(nèi)存釋放 9.4tcp內(nèi)存管理中的系統(tǒng)級(jí)控制參數(shù) 9.5本章總結(jié) 第10章tgp定時(shí)器 10.1linux中的定時(shí)器 10.2 tcp重傳定時(shí)器 10.3零窗口探測(cè)定時(shí)器 10.4延時(shí)確認(rèn)定時(shí)器 10.5 keepalive定時(shí)器 10.6syn-ack定時(shí)器 10.7time wait定時(shí)器 10.8本章總結(jié) 第11章tcp核心處理 11.1傳入tcp數(shù)據(jù)段處理 11.2快速路徑處理 11.3慢速路徑處理 11.4傳入ack的處理 11.5處理sack塊 11.6重定序長(zhǎng)度 11.7處理tcp緊急指針 11.8在慢速路徑中處理數(shù)據(jù)段 11.9tcp核心處理 11.10本章總結(jié) 第12章tcp狀態(tài)處理 12.1擁塞狀態(tài)處理概述 12.2tcp狀態(tài) 12.3在恢復(fù)狀態(tài)中處理重復(fù)/部分確認(rèn) 12.4在丟失狀態(tài)中處理重復(fù)/部分確認(rèn) 12.5tcp狀態(tài)的默認(rèn)處理 12.6當(dāng)確認(rèn)超過(guò)tp→high→seq時(shí)tcp非正常狀態(tài)的處理 12.7本章總結(jié) 第13章netlink套接宇 13.1 netlink套接字介紹 13.2啟動(dòng)時(shí)netlink套接字的注冊(cè)和初始化 13.3內(nèi)核netlink套接字的創(chuàng)建 13.4用戶netlink套接字的創(chuàng)建 13.5netlink數(shù)據(jù)結(jié)構(gòu) 13.5.1nl-table 13.5.2rtnetlink_link 13.6其他重要的數(shù)據(jù)結(jié)構(gòu) 13.6.1 nlmsghdr結(jié)構(gòu) 13.7netlink報(bào)文格式 13.8 netlink套接字例子——添加qdisc的比命令 13.9內(nèi)核空間中的tc命令流程圖 13.10本章總結(jié) 第14章ip路由 第15章linux中的ip服務(wù)質(zhì)量(ip qos) 第16章ip filter防火墻 第17章網(wǎng)絡(luò)軟中斷 第18章報(bào)文的傳輸和接收 第19章ikcd和tcp/ip協(xié)議棧的調(diào)試 第20章展望

章節(jié)摘錄

插圖:利用Linux實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)是開(kāi)發(fā)人員最常使用的一種選擇。Linux不僅在服務(wù)器市場(chǎng)占有一定的地位,而且在小型嵌入式網(wǎng)絡(luò)操作系統(tǒng)市場(chǎng)中,Linux也是最常用的一種選擇。所有這些都需要人們對(duì)TCP/IP代碼有很好的理解。有些產(chǎn)品需要實(shí)現(xiàn)防火墻;有些產(chǎn)品需要實(shí)現(xiàn)IPSec;有些產(chǎn)品需要修改TCP連接代碼,以實(shí)現(xiàn)集群運(yùn)算環(huán)境中的負(fù)載均衡;有些產(chǎn)品則需要提高SMP機(jī)器的可擴(kuò)展性。這些產(chǎn)品中大部分都是嵌入式系統(tǒng),而互聯(lián)是嵌入式系統(tǒng)必然要考慮的因素。實(shí)時(shí)嵌入式產(chǎn)品對(duì)互聯(lián)有著非常獨(dú)特的需求,這類產(chǎn)品需要考慮緩沖區(qū)管理的要求,或者性能的要求。所有這些都需要人們對(duì)協(xié)議棧實(shí)現(xiàn)以及相關(guān)支持框架有完整的了解。如前所述,由于內(nèi)存的限制,有些嵌入式互聯(lián)產(chǎn)品只能編譯很小一部分代碼,這就要求人們對(duì)Linux源碼組織結(jié)構(gòu)有很好的理解,從而能夠輕易地找出其中的相關(guān)代碼。幾乎所有網(wǎng)絡(luò)應(yīng)用采用的都是非常基本的客戶端一服務(wù)器技術(shù)。服務(wù)器在某保留端口監(jiān)聽(tīng)連接請(qǐng)求,客戶端則將連接請(qǐng)求發(fā)送到服務(wù)器,而導(dǎo)致該基本技術(shù)比較復(fù)雜的原因是人們對(duì)安全或者負(fù)載均衡的考慮,這些因素提高了客戶端服務(wù)器技術(shù)的復(fù)雜度。但是,該技術(shù)自身的基本實(shí)現(xiàn)非常簡(jiǎn)單,只需要實(shí)現(xiàn)客戶端和服務(wù)器之間的簡(jiǎn)單對(duì)話即可。例如,telnet和ftp服務(wù)都通過(guò)inet程序進(jìn)行訪問(wèn),隱藏了服務(wù)的全部細(xì)節(jié)。不過(guò)在調(diào)整TCP/IP連接時(shí),有很多可供調(diào)整的參數(shù),從而使開(kāi)發(fā)人員能夠在不進(jìn)行系統(tǒng)范圍調(diào)整的情況下,最好地實(shí)現(xiàn)對(duì)連接的微調(diào)。

編輯推薦

《TCP/IP架構(gòu)、設(shè)計(jì)及應(yīng)用(Linux版)》特點(diǎn):介紹了基本的套接字概念和實(shí)現(xiàn)使用源碼和圖示實(shí)現(xiàn)復(fù)雜數(shù)據(jù)結(jié)構(gòu)的可視化理解tcp定時(shí)器和內(nèi)存管理闡述tcp核心處理過(guò)程并實(shí)現(xiàn)擁塞控制算法ip轉(zhuǎn)發(fā)和服務(wù)質(zhì)量實(shí)現(xiàn)調(diào)試tcp/ip協(xié)議棧

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    TCP/IP架構(gòu)、設(shè)計(jì)及應(yīng)用 PDF格式下載


用戶評(píng)論 (總計(jì)2條)

 
 

  •   內(nèi)容還行,沒(méi)想到隨便翻翻的時(shí)候居然有缺頁(yè)。。。。。
  •   還適合吧, 內(nèi)容比較舊了
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7