出版時(shí)間:2010-3 出版社:人民郵電出版社 作者:W.Richard Stevens 頁(yè)數(shù):576 字?jǐn)?shù):715000
Tag標(biāo)簽:無(wú)
前言
本書介紹的是TCP/IP協(xié)議族,但是視角卻不同于其他TCP/IP教科書。我們將用一種流行的診斷工具來(lái)動(dòng)態(tài)地監(jiān)視協(xié)議,而不僅僅是描述協(xié)議及其功能。通過(guò)觀察不同環(huán)境下協(xié)議的運(yùn)作情況,可以更好地理解其工作原理和設(shè)計(jì)方案的由來(lái)。此外,本書還分析了協(xié)議的實(shí)現(xiàn),讀者無(wú)須花費(fèi)精力去閱讀數(shù)千行的源代碼?! ≡诰W(wǎng)絡(luò)協(xié)議從20世紀(jì)60年代到20世紀(jì)80年代的發(fā)展過(guò)程中,必須要使用昂貴的專用硬件才能監(jiān)視到分組在線路上的傳送情況。要理解由硬件顯示的分組,還必須對(duì)協(xié)議極為熟悉。硬件分析器的功能也受限于硬件設(shè)計(jì)者所提供的內(nèi)置功能?! ‖F(xiàn)在的情況有了顯著的變化:隨處可見的工作站就能監(jiān)視局域網(wǎng)了[Mogul 1990]。只要在網(wǎng)絡(luò)上連接一個(gè)工作站,然后運(yùn)行一些公用軟件(詳見附錄A),就能夠觀察線路上發(fā)生的情況。很多人可能會(huì)認(rèn)為這只是一個(gè)診斷網(wǎng)絡(luò)問(wèn)題的工具,實(shí)際上它也非常有助于理解網(wǎng)絡(luò)協(xié)議的工作原理,這正是本書的目標(biāo)。 本書面向所有希望了解TCP/IP協(xié)議運(yùn)行原理的讀者:編寫網(wǎng)絡(luò)應(yīng)用的程序員、利用TCP/IP維護(hù)計(jì)算機(jī)系統(tǒng)與網(wǎng)絡(luò)的系統(tǒng)管理員以及那些需要每天與TCP/IP應(yīng)用打交道的用戶?! ”緯慕Y(jié)構(gòu) 下圖給出了本書涉及的各種協(xié)議和應(yīng)用,方框上的斜體數(shù)字指明了該協(xié)議或應(yīng)用在哪一章討論?! ?圖中略去的許多細(xì)節(jié)將在相應(yīng)的章節(jié)中討論。例如,DNS和RPC都用到了TCP,但從圖中看不出來(lái)。) 我們采用一種自底向上的方式來(lái)介紹TCP/IP協(xié)議族。第1章介紹TCP/IP的基礎(chǔ)知識(shí);隨后從鏈路層(第2章)開始向上介紹協(xié)議棧。這樣做可以為不熟悉TCP/IP或者網(wǎng)絡(luò)的讀者提供閱讀后續(xù)章節(jié)所需的背景知識(shí)。
內(nèi)容概要
本書是TCP/IP領(lǐng)域的經(jīng)典之作!書中主要講述TCP/IP協(xié)議,不僅僅講述RFC的標(biāo)準(zhǔn)協(xié)議,而且結(jié)合大量實(shí)例講述了TCP/IP協(xié)議族的定義原因,以及在各種不同的操作系統(tǒng)中的應(yīng)用及工作方式,使讀者可以輕松掌握TCP/IP的知識(shí)。本書內(nèi)容詳盡且具權(quán)威性,幾乎每章都提供精選的習(xí)題,并提供了部分習(xí)題的答案?! ”緯m合任何希望理解TCP/IP協(xié)議如何實(shí)現(xiàn)的人閱讀,更是TCP/IP領(lǐng)域研究人員和開發(fā)人員的權(quán)威參考書。無(wú)論是初學(xué)者還是功底深厚的網(wǎng)絡(luò)領(lǐng)域高手,本書都是案頭必備。
作者簡(jiǎn)介
W. Richard Stevens 國(guó)際知名的UNIX和網(wǎng)絡(luò)專家,備受贊譽(yù)的技術(shù)作家。他1951年2月5日出生于贊比亞,后隨父母回到美國(guó)。中學(xué)時(shí)就讀于弗吉尼亞菲什伯恩軍事學(xué)校,1973年獲得密歇根大學(xué)航空和航天工程學(xué)士學(xué)位。1975年至1982年,他在亞利桑那州圖森市的基特峰國(guó)家天文臺(tái)從事計(jì)算機(jī)編程工作,業(yè)余時(shí)間喜愛飛行運(yùn)動(dòng),做過(guò)兼職飛行教練。這期間他分別在1978年和1982年獲得亞利桑那大學(xué)系統(tǒng)工程碩士和博士學(xué)位。此后他去康涅狄格州紐黑文的健康系統(tǒng)國(guó)際公司任主管計(jì)算機(jī)服務(wù)的副總裁。
書籍目錄
Chapter 1. Introduction Chapter 2. Link Layer Chapter 3. IP: Internet Protocol Chapter 4. ARP: Address Resolution Protocol Chapter 5. RARP: Reverse Address Resolution Protocol Chapter 6. ICMP: Internet Control Message Protocol Chapter 7. Ping Program Chapter 8. Traceroute Program Chapter 9. IP Routing Chapter 10. Dynamic Routing Protocols Chapter 11. UDP: User Datagram Protocol Chapter 12. Broadcasting and Multicasting Chapter 13. IGMP: Internet Group Management Protocol Chapter 14. DNS: The Domain Name System Chapter 15. TFTP: Trivial File Transfer Protocol Chapter 16. BOOTP: Bootstrap Protocol Chapter 17. TCP: Transmission Control Protocol Chapter 18. TCP Connection Establishment and Termination Chapter 19. TCP Interactive Data Flow Chapter 15. TFTP: Trivial File Transfer Protocol Chapter 16. BOOTP: Bootstrap Protocol Chapter 17. TCP: Transmission Control Protocol Chapter 18. TCP Connection Establishment and Termination Chapter 19. TCP Interactive Data Flow Chapter 20. TCP Bulk Data Flow Chapter 21. TCP Timeout and Retransmission Chapter 22. TOP Persist Timer Chapter 23. TOP Keepalive Timer Chapter 24. TCP Futures and Performance Chapter 25. SNMP: Simple Network Management Protocol Chapter 26. Telnet and Rlogin: Remote Login Chapter 27. FTP: File Transfer Protocol Chapter 28. SMTP: Simple Mail Transfer Protocol Chapter 25. SNMP: Simple Network Management Protocol Chapter 26. Telnet and Rlogin: Remote Login Chapter 27. FTP: File Transfer Protocol Chapter 28. SMTP: Simple Mail Transfer Protocol Chapter 29. NFS: Network File System Chapter 30. Other TCP/IP Applications Appendix A. The tcpdump Program Appendix B. Computer Clocks Appendix C. The sock Program Appendix D. Solutions to Selected Exercises Appendix E. Configurable Options Appendix F. Source Code Availability Bibliography Index
章節(jié)摘錄
The third and major reason is that the room allocated for options in the IP header isnt large enough today to handle most routes. There is room for only nine IP addresses in the IP header options field. In the old days of the ARPANET this was adequate, but it is far too small nowadays. Traceroute uses ICMP and the TTL field in the IP header. The TrL field (time-to-live) is an 8-bit field that the sender initializes to some value. The recommended initial value is specified in the Assigned Numbers RFC and is currently 64. Older systems would often initialize it to 15 or 32. We saw in some of the Ping examples in Chapter 7 that ICMP echo replies are often sent with the TrL set to its maximum value of 255. Each router that handles the datagram is required to decrement the TTL by either one or the number of seconds that the router holds onto the datagram. Since most routers hold a datagram for less than a second, the TrL field has effectively become a hop counter, decremented by one by each router. The purpose of the TTL field is to prevent datagrams from ending up in infinite loops, which can occur during routing transients. For example, when a router crashes or when the connection between two routers is lost, it can take the routing protocols some time (from seconds to a few minutes) to detect the lost route and work around it.During this time period it is possible for the datagram to end up in routing loops. The TTL field puts an upper limit on these looping datagrams. When a router gets an IP datagram whose TTL is either 0 or 1 it must not forward the datagram. (A destination host that receives a datagram like this can deliver it to the application, since the datagram does not have to be routed. Normally, however, no system should receive a datagram with a TTL of 0.) Instead the router throws away the datagram and sends back to the originating host an ICMP "time exceeded" message.The key to Traceroute is that the IP datagram containing this ICMP message has the routers IP address as the source address. We can now guess the operation of Traceroute. It sends an IP datagram with a TTL of 1 to the destination host. The first router to handle the datagram decrements the TTL, discards the datagram, and sends back the ICMP time exceeded. This identifies the first router in the path. Traceroute then sends a datagram with a TrL of 2, and we find the IP address of the second router. This continues until the datagram reaches the destination host. But even though the arriving IP datagram has a TTL of 1, the destination host wont throw it away and generate the ICMP time exceeded, since the datagram has reached its final destination. How can we determine when weve reached the destination? Traceroute sends UDP datagrams to the destination host, but it chooses the destination UDP port number to be an unlikely value (larger than 30,000), making it improbable that an application at the destination is using that port. This causes the destination hosts UDP module to generate an ICMP "port unreachable" error (Section 6.5) when the datagram arrives. All Traceroute needs to do is differentiate between the received ICMP messages——time exceeded versus port unreachable——to know when its done.
媒體關(guān)注與評(píng)論
“這本書必定是TCP/IP開發(fā)人員和用戶的圣經(jīng)。Stevens揭秘了此前一些網(wǎng)絡(luò)專家諱莫如深的許多奧妙。我本人參與過(guò)幾年TCP/IP的實(shí)現(xiàn)工作,以我的觀點(diǎn),這本書堪稱目前最詳盡的參考書了?!薄 猂obert A. Ciampa,3COM公司網(wǎng)絡(luò)工程師 “Stevens創(chuàng)作了一本很好的教材和參考書。內(nèi)容組織合理,文字清晰易懂,書中有很多出色的圖示詳細(xì)解讀了IP、TCP和輔助協(xié)議以及應(yīng)用的原理與運(yùn)作中的隱秘細(xì)節(jié)?!薄 猄cott Bradner,哈佛大學(xué)OIT/NSD技術(shù)顧問(wèn) “比光講理論強(qiáng)多了。Stevens采用了多主機(jī)的配置,帶領(lǐng)我們飽覽TCP/IP的各種例子和圖示。基于實(shí)際的例子,這些例子反過(guò)來(lái)又強(qiáng)化了理論,這一點(diǎn)使其有別于本領(lǐng)域的所有其他書籍,并使本書既有極強(qiáng)的可讀性,又蘊(yùn)涵豐富的信息?!薄 狿eter M.Haverlock,IBM TCP/IP技術(shù)顧問(wèn) “卷1對(duì)于開發(fā)人員、網(wǎng)絡(luò)管理員以及任何想理解TCP/IP技術(shù)的人來(lái)說(shuō),都是極好的參考書。內(nèi)容非常全面,既能滿足專家的需要,也給了新手足夠的背景知識(shí)和注解?!薄 狟ob Williams,NetManage公司營(yíng)銷副總裁 “Stevens寫的所有書都相當(dāng)出色,這部巨著再次令世人稱奇。雖然已經(jīng)有不少書在寫TCP/IP了,但是這本書以其深入和詳實(shí)而領(lǐng)先群倫。Stevens帶領(lǐng)讀者深入TCP/IP協(xié)議的內(nèi)部,采用了形象化的方法展示協(xié)議的運(yùn)作?!薄 猄teven Baker,Unix Review雜志 “書中的圖示好極了,寫作風(fēng)格清新,可讀性強(qiáng)??傊?,Stevens把一個(gè)復(fù)雜的問(wèn)題說(shuō)得很容易理解。這本書值得每個(gè)人關(guān)注。你一定要讀一讀,并把它珍藏在書架上?!薄 狤lizabeth Zinkann,Sys Admin雜志 “作者成功地創(chuàng)作出了又一本不可或缺的網(wǎng)絡(luò)巨著。這是我所讀過(guò)的最全面、最完整的TCP/IP著作,寫法完全不同于其他書,不僅詳細(xì)介紹了TCP、IP、ARP、ICMP、路由技術(shù)等,還實(shí)際展示了這些協(xié)議和常見網(wǎng)絡(luò)工具的用法?!薄 狤li Charne,ConneXions雜志 “……區(qū)別在于Stevens力圖向大家清晰地展示協(xié)議內(nèi)幕。他的主要方法是直截了當(dāng)?shù)仃U釋、章末提供練習(xí)題、對(duì)于首部等逐字節(jié)解讀,并將實(shí)際通信流內(nèi)容列出來(lái)作為示例?!薄 猈alter Zintz,Unix World雜志
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
TCP/IP詳解 卷1:協(xié)議(英文版) PDF格式下載