注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信網(wǎng)絡(luò)協(xié)議用TCP/IP進(jìn)行網(wǎng)際互聯(lián)

用TCP/IP進(jìn)行網(wǎng)際互聯(lián)

用TCP/IP進(jìn)行網(wǎng)際互聯(lián)

定 價:¥48.00

作 者: (美)Douglas E.Comer,(美)David L.Stevens著;趙剛 等譯
出版社: 電子工業(yè)出版社
叢編項: 國外計算機(jī)科學(xué)教材系列
標(biāo) 簽: Linux

ISBN: 9787505365902 出版時間: 2001-04-01 包裝:
開本: 26cm 頁數(shù): 432 字?jǐn)?shù):  

內(nèi)容簡介

  很榮幸DougComer給我這個機(jī)會,讓我能在他的這本書第三版付印時與諸位探討一些個人的想法。在這過去的十年期間,Internet以驚人的速度發(fā)展著。Internet上主機(jī)的數(shù)目從1989年的100000臺發(fā)展到1998年的30000000臺。在本書第二版出版的時候,連接到Internet的網(wǎng)絡(luò)大約有26000個。到1998年,這個數(shù)字大約在2000000到350000之間,這還不包括那些利用互聯(lián)網(wǎng)技術(shù)但未連接到公共網(wǎng)絡(luò)上的專用內(nèi)聯(lián)網(wǎng)。除了規(guī)模上的變化,Internet在應(yīng)用上也發(fā)生了驚人的變化。Internet技術(shù)與正在蓬勃發(fā)展的WWW作為一個完整的、不可缺少的系統(tǒng)已被人們所認(rèn)可。而WWW在商業(yè)、學(xué)術(shù)和政府等部門都掀起了一場革命。在WWW上每天出現(xiàn)的“網(wǎng)頁”可達(dá)三億兩千萬之多,并且還在不斷涌現(xiàn)。有些學(xué)校大約四分之一的入學(xué)申請都是通過電子郵件或其他網(wǎng)頁申請形式進(jìn)行的。Dell公司透露,他們通過網(wǎng)站每天銷售價值大約六百萬美元的PC機(jī)。Amazon網(wǎng)上書店以季度盈利達(dá)六千六百萬美元成為歷史上發(fā)展最快的公司,這也是第一個在一年之內(nèi)銷售額超過兩億五千萬美元的公司。目前,至少有兩千多家無線電臺將他們的音頻服務(wù)推向了Internet,許多網(wǎng)站也開始提供音頻甚至低質(zhì)量的視頻服務(wù)。隨著將訪問速率提高到兆比特的范圍,以及主干網(wǎng)容量的增加,視頻服務(wù)的質(zhì)量也將得到提高。隨著1996年網(wǎng)絡(luò)電視和1997年Nokia推出的支持網(wǎng)絡(luò)功能的手機(jī)的問世,其他支持網(wǎng)絡(luò)功能的產(chǎn)品也不斷地涌現(xiàn)。更多的實用產(chǎn)品實現(xiàn)了相似的網(wǎng)絡(luò)功能,例如水暖加熱器既可以用家用電腦來控制,也可以由電力公司來控制用以滿足適度的調(diào)峰需求。盡管智能代理還沒有成為主流,但是XML近來的發(fā)展也表明Internet上有關(guān)事務(wù)處理的應(yīng)用正在急劇增多。SML的標(biāo)準(zhǔn)“文檔”表示方式以及一致的常用解釋格式構(gòu)成了一種可傳輸對象,該對象已形成所有商業(yè)、金融、事務(wù)、數(shù)據(jù)庫事務(wù)及其他需要標(biāo)準(zhǔn)表示方式和解釋格式的交易的基礎(chǔ)。再回頭看看電話產(chǎn)品的發(fā)展,無論傳統(tǒng)的服務(wù)商還是現(xiàn)代企業(yè)都在將支持網(wǎng)絡(luò)的電話產(chǎn)品推向市場?!败汸BX”系統(tǒng)利用LAN和Internet實現(xiàn)傳統(tǒng)的專用交換機(jī)的功能,基于微處理器的電話機(jī)也正在改變遠(yuǎn)程通信的經(jīng)濟(jì)情況和可操作性。具有IP功能的傳真機(jī)已經(jīng)出現(xiàn)。網(wǎng)關(guān)把原有的模擬世界與現(xiàn)在的Internet世界聯(lián)系在一起,起著非常重要的作用。對Internet服務(wù)需求量的增長速度趕上甚至超過了網(wǎng)絡(luò)本身的增長。主干網(wǎng)絡(luò)的速度達(dá)到每秒622兆已是很平常的事。新一代利用硬件IP中繼器的路由器可望以每秒10G(OC192)以上的速度處理Internet上傳輸?shù)臄?shù)據(jù)。下一個挑戰(zhàn)是利用單模光纖處理每秒兆兆字節(jié)的信息量。網(wǎng)絡(luò)的安全性過去總是處于后臺操作狀態(tài),隨著越來越多領(lǐng)域依賴于Internet,安全性已逐漸走向前臺。防火墻技術(shù)、端-端加密、密鑰管理、信用證策略或鑒認(rèn)系統(tǒng)已成為成功管理Internet的關(guān)鍵因素。再向未來展望,網(wǎng)絡(luò)協(xié)議和結(jié)構(gòu)已經(jīng)朝著星際互連的方向發(fā)展,也許會形成和互聯(lián)網(wǎng)一樣的形式。域名系統(tǒng)如果還存在,還要考慮將不同的行星計入命名體系。“互連的Internet”協(xié)議將能夠處理更高的延遲,傳統(tǒng)的TCP概念也將被更多的單向過程取代。未來的網(wǎng)際遨游者回看這十年,一定會覺得這是個充滿挑戰(zhàn)但技術(shù)相對落后的時代。在他們看來,這段前言中的觀點可能已經(jīng)過時又難以理解,因為他們所面對的是經(jīng)歷了另外二十年革命的Internet。序言用TCP/IP進(jìn)行網(wǎng)際互聯(lián)第二卷提供了第一卷所沒有包含的關(guān)于TCP/IP協(xié)議的一些細(xì)節(jié)問題。第二卷如同將TCP/IP置于放大鏡下,考察每個協(xié)議的具體細(xì)節(jié)。它討論了協(xié)議的實現(xiàn)方案,并著重于介紹協(xié)議軟件的內(nèi)部機(jī)制。第三版包含了對某些協(xié)議的修改和更新的內(nèi)容。其中的代碼改用C++語言的ANSI標(biāo)準(zhǔn)C子集,包含了函數(shù)原型和參數(shù)的聲明。另外還糾正了一些錯誤。我們將SNMP更新為標(biāo)準(zhǔn)的第二版,這包括替換了地址轉(zhuǎn)換表,增加了UDPlistener列表。在本書的最后,還增加了附錄2,給出了書中代碼所用到的主要數(shù)據(jù)結(jié)構(gòu)的聲明及變量的交叉參考表,并擴(kuò)充了附錄1中的過程調(diào)用交叉參考的內(nèi)容。書中的范例代碼用GnuC++編譯器在Intel體系平臺編譯通過,也在PentiumTM系統(tǒng)上經(jīng)過測試。所有的代碼均可在以下網(wǎng)址得到:ftp://ftp.cs.purdue.edu/pub/comer/TCPIP-vol2.dist.tar.Z雖然本書受到版權(quán)保護(hù),但書中的代碼可供讀者使用,而且已經(jīng)在許多商業(yè)產(chǎn)品中實現(xiàn)。這些代碼使用的惟一限制是不得在公開出版物中出版。我們鼓勵讀者利用計算機(jī)工具來查看、修改、編譯和測試這些代碼。事實上,盡管附錄1和附錄2中提供了定位代碼條目的有效途徑,但在查看大段代碼時,UNIXgrep程序的價值更是不可估量。對于各種正式的協(xié)議規(guī)范,以及對協(xié)議的實現(xiàn)和使用的討論,可參見請求評論文檔(RFC)。盡管一些RFC文檔對初學(xué)者來講難以理解,但這些文檔是信息詳盡的權(quán)威性資源,沒有哪個作者能夠做到在自己編寫的書中包涵RFC文檔中的所有內(nèi)容。盡管RFC文檔涉及了每一個協(xié)議,但有時它們對協(xié)議之間的交互問題并未加以說明。例如,選路信息協(xié)議(RIP或OSPF)之類的選路協(xié)議規(guī)定了網(wǎng)關(guān)如何將路由置入IP路由表中,以及如何將表中的路由通知其他網(wǎng)關(guān)。RIP還規(guī)定路由必須設(shè)立定時機(jī)制,一旦某條路由超時,就將其刪除。但是,我們在RFC文檔中并不容易看出RIP和其他協(xié)議之間是如何交互作用的,隨之而來的問題是:“路由超時機(jī)制將如何影響路由表中那些由ICMP設(shè)置的路由呢?”我們可能還會考慮這樣一個問題:“當(dāng)RIP更新路由時,應(yīng)不應(yīng)該推翻那些由管理員直接輸入的路由呢?”為了有助于解釋協(xié)議之間的交互作用,并確保我們的方案能協(xié)調(diào)工作,我們設(shè)計并構(gòu)造了一個工作系統(tǒng),作為全書的中心范例。該系統(tǒng)提供了TCP/IP協(xié)議族中的大部分協(xié)議,包括:TCP、IP、ICMP、IGMP、UDP、ARP、RIP、SNMPv2以及OSPF的主要部分。另外,還具有一個finger服務(wù)的客戶和服務(wù)器范例。由于本書包括了每一個協(xié)議的程序代碼,讀者可以研究其實現(xiàn)方法及理解其內(nèi)部結(jié)構(gòu)。最重要的是,由于范例系統(tǒng)將所有協(xié)議軟件集成為一個工作整體,讀者可以清楚地了解協(xié)議之間的交互作用。范例的程序代碼試圖做到一方面遵守協(xié)議標(biāo)準(zhǔn),另一方面引入一些新的思想。例如,我們的TCP程序代碼中包含了“糊涂窗口預(yù)防”技術(shù)、Jacobson-Karels的“慢啟動”和“防擁塞”等優(yōu)化技術(shù),諸如此類的性能可能在商業(yè)實現(xiàn)中被忽略。但同時,我們也清楚地認(rèn)識到商業(yè)領(lǐng)域并不總是遵從已經(jīng)公布的標(biāo)準(zhǔn),因此我們也努力將系統(tǒng)調(diào)整到能夠在現(xiàn)實環(huán)境中使用。例如,程序代碼中包含了一個配置參數(shù),使得它既可以采納Internet標(biāo)準(zhǔn),也可以采納BSDUNIX中“TCP緊急數(shù)據(jù)指針”的實現(xiàn)方法。我們并不認(rèn)為書中所提供的程序代碼都是準(zhǔn)確無誤的,甚至不能斷言它肯定比其他實現(xiàn)方法要好。事實上,經(jīng)過多年使用,我們?nèi)匀辉诓粩嗤晟七@套軟件,同時,也希望讀者跟我們一起繼續(xù)改進(jìn)它。本書可以作為網(wǎng)絡(luò)工程人員的高級教程,或者作為研究生教材使用。在作為本科教程使用時,應(yīng)將重點放在前幾章,而忽略有關(guān)OSPF、SNMP和RIP這幾章內(nèi)容。研究生可能會在有關(guān)TCP的章節(jié)中發(fā)現(xiàn)一些最為有趣和最難理解的概念。為保證其高性能而采用的自適應(yīng)重發(fā)和相關(guān)的試探法尤為重要,應(yīng)當(dāng)仔細(xì)加以研究??v觀全書,絕大部分習(xí)題都向大家提示了其他可選擇的實現(xiàn)方案及其大致情況,它們并不要求死記硬背,因此學(xué)生們可能需要閱讀本書以外的其他資料,才能解答這些習(xí)題。正如任何耗費甚巨的工程一樣,本書中包含了許多人的心血,對此我們表示衷心的感謝。作者之一DavidStevens完成了大部分軟件的編制工作,其中包括一個完整的TCP版本。ShawnOstermann為本書付出了許多努力。Shawn將TCP/IP代碼集成到Xinu版本8中,并將其從最初的Sun3平臺移植到DECstation3100上。在這一版本中,他還對上一版中由VicNorman編寫的SNMP軟件進(jìn)行了大量的修改,以滿足第二版的標(biāo)準(zhǔn),也有助于代碼的調(diào)試。JohnLin對書中的技術(shù)細(xì)節(jié)進(jìn)行了校對,糾正了一些錯誤。珀杜(Purdue)大學(xué)的網(wǎng)際互連研究小組(InternetworkingResearchGroup)的許多成員對程序代碼的早期版本做過很多貢獻(xiàn)。AndyMuckelbauer和SteveChapin建立了一個UNIX兼容庫,并與ShawnOstermann和ScottMark合作,使用TCP代碼運行一個Xwindow服務(wù)器。他們對TCP做了大量的測試工作,并指出其性能上存在的幾個問題。ScottM.Ballew參與了一些軟件的開發(fā)工作。我的妻子Christine對本書手稿進(jìn)行了編輯,并提出許多建議。最后,我們感謝珀杜大學(xué)的計算機(jī)科學(xué)系和計算中心所提供的幫助。DouglasE.ComerDavidL.Stevens1998年5月

作者簡介

  作者:DouglasE.ComerDouglasE.Comer博士從20世紀(jì)70年代開始從事互聯(lián)網(wǎng)的研究和開發(fā)工作,他曾是互聯(lián)網(wǎng)體系結(jié)構(gòu)委員會的成員,該委員會是確定互聯(lián)網(wǎng)發(fā)展標(biāo)準(zhǔn)的權(quán)威機(jī)構(gòu);他也曾任美國計算機(jī)網(wǎng)CSTNET技術(shù)委員會的主席,該網(wǎng)絡(luò)是美國早期互聯(lián)網(wǎng)建設(shè)中最重要的網(wǎng)絡(luò)之一。他現(xiàn)在是美國普渡大學(xué)計算機(jī)科學(xué)系的教授,從事計算機(jī)網(wǎng)絡(luò)和操作系統(tǒng)方面的教學(xué)和科研工作。Internet技術(shù)基礎(chǔ)>>更多作品

圖書目錄

第1章 引言和概述 
1.1 使用TCP/IP的因特網(wǎng)應(yīng)用 
1.2 為分布式環(huán)境設(shè)計應(yīng)用程序 
1.3 標(biāo)準(zhǔn)和非標(biāo)準(zhǔn)的應(yīng)用協(xié)議 
1.4 使用標(biāo)準(zhǔn)應(yīng)用協(xié)議的例子 
1.5 telnet連接的例子 
1.6 使用TELNET訪問其他服務(wù) 
1.7 應(yīng)用協(xié)議和軟件的靈活性 
1.8 從提供者的角度看服務(wù) 
1.9 本教材的其余部分 
1.10 小結(jié) 
深入研究 
習(xí)題 
第2章 客戶-服務(wù)器模型與軟件設(shè)計 
2.1 引言 
2.2 動機(jī) 
2.3 術(shù)語和概念 
2.3.1 客戶和服務(wù)器 
2.3.2 特權(quán)和復(fù)雜性 
2.3.3 標(biāo)準(zhǔn)和非標(biāo)準(zhǔn)客戶軟件 
2.3.4 客戶的參數(shù)化 
2.3.5 無連接的和面向無連接的服務(wù)器 
2.3.6 無狀態(tài)和有狀態(tài)服務(wù)器 
2.3.7 無狀態(tài)文件服務(wù)器的例子 
2.3.8 有狀態(tài)文件服務(wù)器的例子 
2.3.9 標(biāo)識客戶 
2.3.10 無狀態(tài)是一個協(xié)議問題 
2.3.11 充當(dāng)客戶的服務(wù)器 
2.4 小結(jié) 
深入研究 
習(xí)題 
第3章 客戶-服務(wù)器軟件中的并發(fā)處理 
3.1 引言 
3.2 網(wǎng)絡(luò)中的并發(fā) 
3.3 服務(wù)器中的并發(fā) 
3.4 術(shù)語和概念 
3.4.1 進(jìn)程概念 
3.4.2 局部和全局變量的共享 
3.4.3 過程調(diào)用 
3.5 一個創(chuàng)建并發(fā)進(jìn)程的例子 
3.5.1 一個順序執(zhí)行的C實例 
3.5.2 程序的并發(fā)版本 
3.5.3 時間分片 
3.5.4 單線程的進(jìn)程 
3.5.5 使各進(jìn)程分離 
3.6 執(zhí)行新的代碼 
3.7 上下文切換和協(xié)議軟件設(shè)計 
3.8 并發(fā)和異步I/O 
3.9 小結(jié) 
深入研究 
習(xí)題 
第4章 協(xié)議的程序接口 
4.1 引言 
4.2 不精確指明的協(xié)議軟件接口 
4.2.1 優(yōu)點與缺點 
4.3 接口功能 
4.4 概念性接口的規(guī)約 
4.5 系統(tǒng)調(diào)用 
4.6 網(wǎng)絡(luò)通信的兩種基本方法 
4.7 LINIX中提供的基本I/O功能 
4.8 將Linux I/O用于TCP/IP 
4.9 小結(jié) 
深入研究 
習(xí)題 
第5章 套接字API 
5.1 引言 
5.2 Berkeley套接字 
5.3 指明一個協(xié)議接口 
5.4 套接字的抽象 
5.4.1 套接字描述符和文件描述符 
5.4.2 針對套接字的系統(tǒng)數(shù)據(jù)結(jié)構(gòu) 
5.4.3 主動套接字或被動套接字 
5.5 指明端點地址 
5.6 類屬地址結(jié)構(gòu) 
5.7 套接字API中的主要系統(tǒng)調(diào)用 
5.7.1 socket調(diào)用 
5.7.2 connect調(diào)用 
5.7.3 send調(diào)用 
5.7.4 recv調(diào)用 
5.7.5 close調(diào)用 
5.7.6 bind調(diào)用 
5.7.7 listen調(diào)用 
5.7.8 accept調(diào)用 
5.7.9 在套接字中使用read和write 
5.7.10 套接字調(diào)用小結(jié) 
5.8 用于整數(shù)轉(zhuǎn)換的實用例程 
5.9 在程序中使用套接字調(diào)用 
5.10 套接字調(diào)用的參數(shù)所使用的符號常量 
5.11 小結(jié) 
深入研究 
習(xí)題 
第6章 客戶軟件設(shè)計中的算法和問題 
6.1 引言 
6.2 不是研究細(xì)節(jié)而是學(xué)習(xí)算法 
6.3 客戶體系結(jié)構(gòu) 
6.4 標(biāo)識服務(wù)器的位置 
6.5 分析地址參數(shù) 
6.6 查找域名 
6.7 由名字查找某個熟知端口 
6.8 端口號和網(wǎng)絡(luò)字節(jié)順序 
6.9 由名字查找協(xié)議 
6.10 TCP客戶算法 
6.11 分配套接字 
6.12 選擇本地協(xié)議端口號 
6.13 選擇本地IP地址中的一個基本問題 
6.14 將TCP套接字連接到某個服務(wù)器 
6.15 使用TCP與服務(wù)器通信 
6.16 從TCP連接中讀取響應(yīng) 
6.17 關(guān)閉TCP連接 
6.17.1 對部分關(guān)閉的需要 
6.17.2 部分關(guān)閉的操作 
6.18 UDP客戶的編程 
6.19 連接的和非連接的UDP套接字 
6.20 對UDP使用connect 
6.21 使用UDP與服務(wù)器通信 
6.22 關(guān)閉使用UDP的套接字 
6.23 對UDP的部分關(guān)閉 
6.24 關(guān)于UDP不可靠性的警告 
6.25 小結(jié) 
深入研究 
習(xí)題 
第7章 客戶軟件舉例 
7.1 引言 
7.2 小例子的重要性 
7.3 隱藏細(xì)節(jié) 
7.4 針對客戶程序的過程庫例子 
7.5 connectTCP的實現(xiàn) 
7.6 connectUDP的實現(xiàn) 
7.7 構(gòu)成連接的過程 
7.8 使用例子庫 
7.9 DAYTIME服務(wù) 
7.10 針對DAYTIME的TCP客戶實現(xiàn) 
7.11 從TCP連接中進(jìn)行讀 
7.12 TIME服務(wù) 
7.13 訪問TIME服務(wù) 
7.14 精確時間和網(wǎng)絡(luò)時延 
7.15 針對TIME服務(wù)的UDP客戶 
7.16 ECHO服務(wù) 
7.17 針對ECHO服務(wù)的TCP客戶 
7.18 針對ECHO服務(wù)的UDP客戶 
7.19 小結(jié) 
深入研究 
習(xí)題 
第8章 服務(wù)器軟件設(shè)計的算法和問題 
8.1 引言 
8.2 概念性的服務(wù)器算法 
8.3 并發(fā)服務(wù)器和循環(huán)服務(wù)器 
8.4 面向連接的和無連接的訪問
8.5 傳輸協(xié)議的語義 
8.5.1 TCP語義 
8.5.2 UDP語義 
8.6 選擇傳輸協(xié)議 
8.7 面向連接的服務(wù)器 
8.8 無連接的服務(wù)器 
8.9 故障、可靠性和無狀態(tài) 
8.10 優(yōu)化無狀態(tài)服務(wù)器 
8.11 四種基本類型的服務(wù)器 
8.12 請求處理時間 
8.13 循環(huán)服務(wù)器的算法 
8.14 一種循環(huán)的、面向連接的服務(wù)器的算法 
8.15 用INADDR_ANY綁定熟知端口 
8.16 將套接字置于被動模式 
8.17 接受連接并使用這些連接 
8.18 循環(huán)的、無連接的服務(wù)器的算法 
8.19 在無連接的服務(wù)器中構(gòu)造應(yīng)答 
8.20 并發(fā)服務(wù)器的算法 
8.21 主線程和從線程 
8.22 并發(fā)的、無連接的服務(wù)器的算法 
8.23 并發(fā)的、面向連接服務(wù)器的算法 
8.24 服務(wù)器并發(fā)性的實現(xiàn) 
8.25 把單獨的程序作為從進(jìn)程來使用 
8.26 使用單線程獲得表面上的并發(fā)性 
8.27 各服務(wù)器類型所適用的場合 
8.28 服務(wù)器類型小結(jié) 
8.29 重要問題——服務(wù)器死鎖 
8.30 其他的實現(xiàn)方法 
8.31 小結(jié) 
深入研究 
習(xí)題 
第9章 循環(huán)的、無連接服務(wù)器(UDP) 
9.1 引言 
9.2 創(chuàng)建被動套接字 
9.3 進(jìn)程結(jié)構(gòu) 
9.4 TIME服務(wù)器舉例 
9.5 小結(jié) 
深入研究 
習(xí)題 
第10章 循環(huán)的、面向連接的服務(wù)器(TCP) 
10.1 引言 
10.2 分配被動的TCP套接字 
10.3 用于DAYTIME服務(wù)的服務(wù)器 
10.4 進(jìn)程結(jié)構(gòu) 
10.5 DAYTIME服務(wù)器舉例 
10.6 關(guān)閉連接 
10.7 連接終止和服務(wù)器的脆弱性 
10.8 小結(jié) 
深入研究 
習(xí)題 
第11章 并發(fā)的、面向連接的服務(wù)器(TCP) 
11.1 引言 
11.2 并發(fā)ECHO 
11.3 循環(huán)與并發(fā)實現(xiàn)的比較 
11.4 進(jìn)程結(jié)構(gòu) 
11.5 并發(fā)ECHO服務(wù)器舉例 
11.6 清除游離(errant)進(jìn)程 
11.7 小結(jié) 
深入研究 
習(xí)題 
第12章 將線程用于并發(fā)(TCP) 
12.1 引言 
12.2 Linux線程概述 
12.3 線程的優(yōu)點 
12.4 線程的缺點 
12.5 描述符、延遲和退出 
12.6 線程退出 
12.7 線程協(xié)調(diào)和同步 
12.7.1 互斥 
12.7.2 信號量 
12.7.3 條件變量 
12.8 使用線程的服務(wù)器實例 
12.9 監(jiān)控 
12.10 小結(jié) 
深入研究 
習(xí)題 
第13章 單線程、并發(fā)服務(wù)器(TCP) 
13.1 引言 
13.2 服務(wù)器中的數(shù)據(jù)驅(qū)動處理 
13.3 用單線程進(jìn)行數(shù)據(jù)驅(qū)動處理 
13.4 單線程服務(wù)器的線程結(jié)構(gòu) 
13.5 單線程ECHO服務(wù)器舉例 
13.6 小結(jié) 
深入研究 
習(xí)題 
第14章 多協(xié)議服務(wù)器(TCP,UDP) 
14.1 引言 
14.2 減少服務(wù)器數(shù)量的動機(jī) 
14.3 多協(xié)議服務(wù)器的設(shè)計 
14.4 進(jìn)程結(jié)構(gòu) 
14.5 多協(xié)議DAYTIME服務(wù)器的例子 
14.6 共享代碼的概念 
14.7 并發(fā)多協(xié)議服務(wù)器 
14.8 小結(jié) 
深入研究 
習(xí)題 
第15章 多服務(wù)服務(wù)器(TCP,UDP) 
15.1 引言 
15.2 合并服務(wù)器 
15.3 無連接的、多服務(wù)服務(wù)器的設(shè)計 
15.4 面向連接的、多服務(wù)服務(wù)器的設(shè)計 
15.5 并發(fā)的、面向連接的、多服務(wù)服務(wù)器 
15.6 單線程的、多服務(wù)服務(wù)器的實現(xiàn) 
15.7 從多服務(wù)服務(wù)器調(diào)用單獨的程序 
15.8 多服務(wù)、多協(xié)議設(shè)計 
15.9 多服務(wù)服務(wù)器的例子 
15.10 靜態(tài)的和動態(tài)的服務(wù)器配置 
15.11 UNIX超級服務(wù)器,inetd 
15.12 inetd服務(wù)器的例子 
15.13 服務(wù)器的幾種變形清單 
15.14 小結(jié) 
深入研究 
習(xí)題 
第16章 服務(wù)器并發(fā)性的統(tǒng)一、高效管理 
16.1 引言 
16.2 在循環(huán)設(shè)計和并發(fā)設(shè)計間選擇 
16.3 并發(fā)等級 
16.4 需求驅(qū)動的并發(fā) 
16.5 并發(fā)的代價 
16.6 額外開銷和時延 
16.7 小時延可能出麻煩 
16.8 從線程/進(jìn)程預(yù)分配 
16.8.1 Linux中的預(yù)分配 
16.8.2 面向連接服務(wù)器中的預(yù)分配 
16.8.3 互斥、文件鎖定和accept并發(fā)調(diào)用 
16.8.4 無連接服務(wù)器中的預(yù)分配 
16.8.5 預(yù)分配、突發(fā)通信量和NFS 
16.8.6 多處理器上的預(yù)分配 
16.9 延遲的從線程/進(jìn)程分配 
16.10 兩種技術(shù)統(tǒng)一的基礎(chǔ) 
16.11 技術(shù)的結(jié)合 
16.12 小結(jié) 
深入研究 
習(xí)題 
第17章 客戶進(jìn)程中的并發(fā) 
17.1 引言 
17.2 并發(fā)的優(yōu)點 
17.3 運用控制的動機(jī) 
17.4 與多個服務(wù)器的并發(fā)聯(lián)系 
17.5 實現(xiàn)并發(fā)客戶 
17.6 單線程實現(xiàn) 
17.7 使用ECHO的并發(fā)客戶例子 
17.8 并發(fā)客戶的執(zhí)行
17.9 例子代碼中的并發(fā)性 
17.10 小結(jié) 
習(xí)題 
第18章 運輸層和應(yīng)用層的隧道技術(shù) 
18.1 引言 
18.2 多協(xié)議環(huán)境 
18.3 混合網(wǎng)絡(luò)技術(shù) 
18.4 動態(tài)電路分配 
18.5 封裝和隧道技術(shù) 
18.6 通過IP互聯(lián)網(wǎng)的隧道技術(shù) 
18.7 客戶和服務(wù)器之間的應(yīng)用級隧道技術(shù) 
18.8 隧道技術(shù)、封裝和電話撥號線 
18.9 小結(jié) 
深入研究 
習(xí)題 
第19章 應(yīng)用級網(wǎng)關(guān) 
19.1 引言 
19.2 在受約束的環(huán)境中的客戶和服務(wù)器 
19.2.1 限制訪問的現(xiàn)實 
19.2.2 有限功能的計算機(jī) 
19.2.3 安全性引起的連通性約束 
19.3 使用應(yīng)用網(wǎng)關(guān) 
19.4 通過郵件網(wǎng)關(guān)互操作 
19.5 郵件網(wǎng)關(guān)的實現(xiàn) 
19.6 應(yīng)用網(wǎng)關(guān)與隧道技術(shù)的比較 
19.7 應(yīng)用網(wǎng)關(guān)和有限因特網(wǎng)連接 
19.8 為解決安全問題而使用的應(yīng)用網(wǎng)關(guān) 
19.9 應(yīng)用網(wǎng)關(guān)和額外跳問題 
19.10 應(yīng)用網(wǎng)關(guān)舉例 
19.11 一個應(yīng)用網(wǎng)關(guān)的實現(xiàn) 
19.12 應(yīng)用網(wǎng)關(guān)的代碼 
19.13 網(wǎng)關(guān)交換的例子 
19.14 使用rfcd和.forward或slocal文件 
19.15 通用的應(yīng)用網(wǎng)關(guān) 
19.16 SLIRP的運行 
19.17 SLIRP如何處理連接 
19.18 IP尋址和SLIRP 
19.19 小結(jié) 
深入研究 
習(xí)題 
第20章 外部數(shù)據(jù)表示(XDR) 
20.1 引言 
20.2 數(shù)據(jù)表示 
20.3 N平方轉(zhuǎn)換問題 
20.4 網(wǎng)絡(luò)標(biāo)準(zhǔn)字節(jié)順序 
20.5 外部數(shù)據(jù)表示的事實上的標(biāo)準(zhǔn) 
20.6 XDR數(shù)據(jù)類型 
20.7 隱含類型 
20.8 使用XDR的軟件支持 
20.9 XDR庫例程 
20.10 一次一片地構(gòu)造報文 
20.11 XDR庫中的轉(zhuǎn)換例程 
20.12 XDR流、I/O和TCP 
20.13 記錄、記錄邊界和數(shù)據(jù)報I/O 
20.14 小結(jié) 
深入研究 
習(xí)題 
第21章 遠(yuǎn)程過程調(diào)用(RPC)的概念 
21.1 引言 
21.2 遠(yuǎn)程過程調(diào)用模型 
21.3 構(gòu)建分布式程序的兩種模式 
21.4 常規(guī)過程調(diào)用的概念性模型 
21.5 過程模型的擴(kuò)充 
21.6 常規(guī)過程調(diào)用的執(zhí)行和返回 
21.7 分布式系統(tǒng)中的過程模型 
21.8 客戶-服務(wù)器和RPC之間的類比 
21.9 作為程序的分布式計算 
21.10 Sun Microsystems的遠(yuǎn)程過程調(diào)用定義 
21.11 遠(yuǎn)程程序和過程 
21.12 減少參數(shù)的數(shù)量 
21.13 標(biāo)識遠(yuǎn)程程序和過程 
21.14 適應(yīng)遠(yuǎn)程程序的多個版本 
21.15 遠(yuǎn)程程序中的互斥 
21.16 通信語義 
21.17 至少一次語義 
21.18 RPC重傳 
21.19 將遠(yuǎn)程程序映射到協(xié)議端口 
21.20 動態(tài)端口映射 
21.21 RPC端口映射器算法 
21.22 ONC RPC的報文格式 
21.23 對遠(yuǎn)程過程進(jìn)行參數(shù)排序 
21.24 21.24 鑒別 
21.25 21.25 RPC報文表示的例子 
21.26 UNIX鑒別字段的例子 
21.27 小結(jié) 
深入研究 
習(xí)題 
第22章 分布式程序的生成(rpcgen的概念) 
22.1 引言 
22.2 使用遠(yuǎn)程過程調(diào)用 
22.3 支持RPC的編程工具 
22.4 將程序劃分成本地過程和遠(yuǎn)程過程 
22.5 為RPC增加代碼 
22.6 stub過程 
22.7 多個遠(yuǎn)程過程和分派 
22.8 客戶端的stub過程的名字 
22.9 使用rpcgen生成分布式程序 
22.10 rpcgen輸出和接口過程 
22.11 rpcgen的輸入和輸出 
22.12 使用rpcgen構(gòu)建客戶和服務(wù)器 
22.13 小結(jié) 
深入研究 
習(xí)題 
第23章 分布式程序的生成(rpcgen的例子) 
23.1 引言 
23.2 說明rpcgen的例子 
23.3 查找字典 
23.4 分布式程序的八個步驟 
23.5 步驟1:構(gòu)建常規(guī)應(yīng)用程序 
23.6 步驟2:將程序劃分成兩部分 
23.7 步驟3:創(chuàng)建rpcgen規(guī)約 
23.8 步驟4:運行rpcgen 
23.9 rpcgen產(chǎn)生的.h文件 
23.10 rpcgen產(chǎn)生的XDR轉(zhuǎn)換文件 
23.11 rpcgen產(chǎn)生的客戶代碼 
23.12 rpcgen產(chǎn)生的服務(wù)器代碼 
23.13 步驟5:編寫stub接口過程 
23.13.1 客戶端接口例程 
23.13.2 服務(wù)器端接口例程 
23.14 步驟6:編譯和鏈接客戶程序 
23.15 步驟7:編譯和鏈接服務(wù)器程序 
23.16 步驟8:啟動服務(wù)器和執(zhí)行客戶 
23.17 使用make實用程序 
23.18 小結(jié) 
深入研究 
習(xí)題 
第24章 網(wǎng)絡(luò)文件系統(tǒng)(NFS)的概念 
24.1 引言 
24.2 遠(yuǎn)程文件存取和傳送 
24.3 對遠(yuǎn)程文件的操作 
24.4 異構(gòu)計算機(jī)之間的文件存取 
24.5 無狀態(tài)服務(wù)器 
24.6 NFS和UNIX的文件語義 
24.7 UNIX文件系統(tǒng)的回顧 
24.7.1 基本定義 
24.7.2 無記錄界限的字節(jié)序列 
24.7.3 文件擁有者和組標(biāo)識符 
24.7.4 保護(hù)和存取 
24.7.5 打開-讀-寫-關(guān)閉范例 
24.7.6 數(shù)據(jù)傳送 
24.7.7 搜索目錄權(quán)限 
24.7.8 隨機(jī)存取 
24.7.9 搜索超過文件的結(jié)束 
24.7.10 文件位置和并發(fā)存取 
24.7.11 在并發(fā)存取時的“寫(write)”語義 
24.7.12 文件名和路徑 
24.7.13 索引節(jié)點(inode):存儲在文件中的信息 
24.7.14 stat操作 
24.7.15 文件命名機(jī)制 
24.7.16 文件系統(tǒng)mount 
24.7.17 UNIX文件名解析 
24.7.18 符號鏈接 
24.8 NFS下的文件 
24.9 NFS的文件類型 
24.10 NFS文件模式 
24.11 NFS文件屬性 
24.12 NFS客戶和服務(wù)器 
24.13 NFS客戶操作 
24.14 NFS客戶與UNIX系統(tǒng) 
24.15 NFS安裝 
24.16 文件句柄 
24.17 句柄取代路徑名 
24.18 無狀態(tài)服務(wù)器的文件定位 
24.19 對目錄的操作 
24.20 無狀態(tài)地讀目錄 
24.21 NFS服務(wù)器中的多個分層結(jié)構(gòu) 
24.22 安裝(mount)協(xié)議 
24.23 NFS的傳輸協(xié)議 
24.24 小結(jié) 
深入研究 
習(xí)題 
第25章 網(wǎng)絡(luò)文件系統(tǒng)協(xié)議(NFS,Mount) 
25.1 引言 
25.2 用RPC定義協(xié)議 
25.3 用數(shù)據(jù)結(jié)構(gòu)和過程定義協(xié)議 
25.4 NFS常數(shù)、類型和數(shù)據(jù)聲明 
25.4.1 NFS常數(shù) 
25.4.2 NFS的typedef聲明 
25.4.3 NFS數(shù)據(jù)結(jié)構(gòu) 
25.5 NFS過程 
25.6 NFS操作的語義 
25.6.1 NFSPROC3_NULL(過程0) 
25.6.2 NFSPROC3_GETATTR(過程1) 
25.6.3 NFSPROC3_SETATTR(過程2) 
25.6.4 NFSPROC3_LOOKUP(過程3) 
25.6.5 NFSPROC3_ACCESS(過程4) 
25.6.6 NFSPROC3_READLINK(過程5) 
25.6.7 NFSPROC3_READ(過程6) 
25.6.8 NFSPROC3_WRITE(過程7) 
25.6.9 NFSPROC3_CREATE(過程8) 
25.6.10 NFSPROC3_MKDIR(過程9) 
25.6.11 NFSPROC3_SYMLINK(過程10) 
25.6.12 NFSPROC3_MKNOD(過程11) 
25.6.13 NFSPROC3_REMOVE(過程12) 
25.6.14 NFSPROC3_RMDIR(過程13) 
25.6.15 NFSPROC3_RENAME(過程14) 
25.6.16 NFSPROC3_LINK(過程15) 
25.6.17 NFSPROC3_READDIR(過程16) 
25.6.18 NFSPROC3_READDIRPLUS(過程17) 
25.6.19 NFSPROC3_FSSTAT(過程18) 
25.6.20 NFSPROC3_FSINO(過程19) 
25.6.21 NFSPROC3_PATHCONF(過程20) 
25.6.22 NFSPROC3_COMMIT(過程21) 
25.7 安裝協(xié)議 
25.7.1 安裝協(xié)議的常數(shù)定義 
25.7.2 安裝協(xié)議的類型定義 
25.7.3 安裝數(shù)據(jù)結(jié)構(gòu) 
25.8 安裝協(xié)議中的過程 
25.9 安裝操作的語義 
25.9.1 MOUNTPROC3_NULL(過程0) 
25.9.2 MOUNTPROC3_MNT(過程1) 
25.9.3 MOUNTPROC3_DUMP(過程2) 
25.9.4 MOUNTPROC3_UMNT(過程3) 
25.9.5 MOUNTPROC3_UMNTALL(過程4) 
25.9.6 MOUNTPROC3_EXPORT(過程5) 
25.10 NFS和安裝鑒別 
25.11 文件加鎖 
25.12 NFS第3版與第4版之間的變化 
25.13 小結(jié) 
深入研究 
習(xí)題 
第26章 TELNET客戶(程序結(jié)構(gòu)) 
26.1 引言 
26.2 概述 
26.2.1 用戶終端 
26.2.2 命令和控制信息 
26.2.3 終端、窗口和文件 
26.2.4 對并發(fā)性的需要 
26.2.5 TELNET客戶的過程模型 
26.3 TELNET客戶算法 
26.4 Linux中的終端I/O 
26.4.1 控制設(shè)備驅(qū)動器 
26.5 建立終端模式 
26.6 用于保存狀態(tài)的全局變量 
26.7 在退出之前恢復(fù)終端模式 
26.8 客戶掛起與恢復(fù) 
26.9 有限狀態(tài)機(jī)的規(guī)約 
26.10 在TELNET數(shù)據(jù)流中嵌入命令 
26.11 選項協(xié)商 296
26.12 請求/提供的對稱性 
26.13 TELNET字符定義 
26.14 針對來自服務(wù)器數(shù)據(jù)的有限狀態(tài)機(jī) 
26.15 在各種狀態(tài)之間轉(zhuǎn)移 
26.16 有限狀態(tài)機(jī)的實現(xiàn) 
26.17 壓縮的有限狀態(tài)機(jī)表示 
26.18 在運行時維持壓縮表示 
26.19 壓縮表示的實現(xiàn) 
26.20 構(gòu)造有限狀態(tài)機(jī)轉(zhuǎn)移矩陣 
26.21 套接字輸出有限狀態(tài)機(jī) 
26.22 套接字輸出有限狀態(tài)機(jī)的相關(guān)定義 
26.23 選項子協(xié)商有限狀態(tài)機(jī) 
26.24 選項子協(xié)商有限狀態(tài)機(jī)的相關(guān)定義 
26.25 有限狀態(tài)機(jī)初始化 
26.26 TELNET客戶的參數(shù) 
26.27 TELNET客戶的核心 
26.28 主有限狀態(tài)機(jī)的實現(xiàn) 
26.29 小結(jié) 
深入研究 
習(xí)題 
第27章 TELNET客戶(實現(xiàn)細(xì)節(jié)) 
27.1 引言 
27.2 有限狀態(tài)機(jī)動作過程 
27.3 記錄選項請求的類型 
27.4 完成空操作 
27.5 對回顯選項的WILL/WONT做出響應(yīng) 
27.6 對未被支持的選項的WILL/WONT做出響應(yīng) 
27.7 對 no go-ahead 選項的WILL/WONT做出響應(yīng) 
27.8 生成用于二進(jìn)制傳輸?shù)腄O/DONT 
27.9 對未被支持的選項的DO/DONT做出響應(yīng) 
27.10 對傳輸二進(jìn)制選項的DO/DONT做出響應(yīng) 
27.11 對終端類型選項的DO/DONT做出響應(yīng) 
27.12 選項子協(xié)商 
27.13 發(fā)送終端類型信息 
27.14 終止子協(xié)商 
27.15 向服務(wù)器發(fā)送字符 
27.16 顯示在用戶終端上出現(xiàn)的傳入數(shù)據(jù) 
27.17 使用termcap控制用戶終端 
27.18 將數(shù)據(jù)塊寫到服務(wù)器 
27.19 與客戶進(jìn)程交互 
27.20 對非法命令做出響應(yīng) 
27.21 腳本描述文件 
27.22 腳本描述的實現(xiàn) 
27.23 初始化腳本描述 
27.24 收集腳本文件名的字符 
27.25 打開腳本文件 
27.26 終止腳本描述 
27.27 打印狀態(tài)信息 
27.28 小結(jié) 
深入研究 
習(xí)題 
第28章 流式音頻和視頻傳輸(RTP概念和設(shè)計) 
28.1 引言 
28.2 流式傳輸服務(wù) 
28.3 實時交付 
28.4 抖動的協(xié)議補償 
28.5 重傳、丟失和恢復(fù) 
28.6 實時傳輸協(xié)議 
28.7 流的轉(zhuǎn)換和混合 
28.8 遲延回放和抖動緩存 
28.9 RTP控制協(xié)議(RTCP) 
28.10 多種流同步 
28.11 RTP傳輸和多對多傳輸 
28.12 會話、流、協(xié)議端口和分用 
28.13 編碼的基本方法 
28.14 RTP軟件的概念性組織 
28.15 進(jìn)程/線程結(jié)構(gòu) 
28.16 API的語義 
28.17 抖動緩存的設(shè)計和重新緩存 
28.18 事件處理 
28.19 回放異常及時間戳的復(fù)雜性 
28.20 實時庫例子的大小 
28.21 MP3播放器的例子 
28.22 小結(jié) 
深入研究 
習(xí)題 
第29章 流式音頻和視頻傳輸(RTP實現(xiàn)示例) 
29.1 引言 
29.2 集成實現(xiàn) 
29.3 程序結(jié)構(gòu) 
29.4 RTP定義 
29.5 時間值的處理 
29.6 RTP序列空間的處理 
29.7 RTP分組隊列的處理 
29.8 RTP輸入處理 
29.9 為RTCP保存統(tǒng)計信息 
29.10 RTP初始化 
29.11 RTCP的定義 
29.12 接收RTCP發(fā)送方的報告 
29.13 產(chǎn)生RTCP接收方的報告 
29.14 創(chuàng)建RTCP的首部 
29.15 RTCP時延的計算 
29.16 RTCP Bye(再見)報文的產(chǎn)生 
29.17 集成實現(xiàn)的大小 
29.18 小結(jié) 
深入研究 
習(xí)題 
第30章 Linux服務(wù)器中的實用技巧和技術(shù) 
30.1 引言 
30.2 后臺操作 
30.3 編寫在后臺運行的服務(wù)器 
30.4 打開描述符和繼承 
30.5 對服務(wù)器編程以關(guān)閉所繼承的描述符 
30.6 來自控制TTY的信號 
30.7 對服務(wù)器編程以改變它的控制TTY 
30.8 轉(zhuǎn)移到一個安全的和已知的目錄 
30.9 對服務(wù)器編程以改變目錄 
30.10 Linux umask 
30.11 對服務(wù)器編程以設(shè)置其umask 
30.12 進(jìn)程組 
30.13 對服務(wù)器編程以設(shè)置其進(jìn)程組 
30.14 標(biāo)準(zhǔn)I/O描述符 
30.15 對服務(wù)器編程以打開標(biāo)準(zhǔn)描述符 
30.16 服務(wù)器互斥 
30.17 對服務(wù)器編程以避免多個副本 
30.18 記錄服務(wù)器的進(jìn)程ID 
30.19 對服務(wù)器編程以記錄其進(jìn)程ID 
30.20 等待一個子進(jìn)程退出 
30.21 對服務(wù)器編程以等待每個子進(jìn)程退出 
30.22 外來信號 
30.23 對服務(wù)器編程以忽略外來信號 
30.24 使用系統(tǒng)日志設(shè)施 
30.24.1 產(chǎn)生日志報文 
30.24.2 間接方式和標(biāo)準(zhǔn)差錯的優(yōu)點 
30.24.3 I/O重定向的限制 
30.24.4 客戶-服務(wù)器的解決方案 
30.24.5 syslog機(jī)制 
30.24.6 syslog的報文類 
30.24.7 syslog的設(shè)施 
30.24.8 syslog的優(yōu)先級 
30.24.9 使用syslog 
30.24.10 syslog配置文件舉例 
30.25 小結(jié) 
深入研究 
習(xí)題 
第31章 客戶-服務(wù)器系統(tǒng)中的死鎖和資源缺乏 
31.1 引言 
31.2 死鎖的定義 
31.3 死鎖檢測的難度 
31.4 避免死鎖 
31.5 客戶和服務(wù)器間的死鎖 
31.6 在單個交互中避免死鎖 
31.7 一組客戶和一個服務(wù)器之間的資源缺乏 
31.8 忙連接和資源缺乏 
31.9 避免阻塞的操作 
31.10 進(jìn)程、連接和其他限制 
31.11 客戶和服務(wù)器的循環(huán) 
31.12 用文檔確認(rèn)依賴性 
31.13 小結(jié) 
習(xí)題 
附錄1 系統(tǒng)調(diào)用與套接字使用的庫例程 
附錄2 Linux文件和套接字描述符的操作 
參考文獻(xiàn) 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號