TCP/IP詳解 卷2:實(shí)現(xiàn)(英文版)

出版時間:201003  出版社:人民郵電出版社  作者:Gary R.Wright,,W.Richard Stevens  頁數(shù):1174  字?jǐn)?shù):1440000  
Tag標(biāo)簽:無  

前言

  本書介紹并給出了TCP/IP的常見參考實(shí)現(xiàn)的源代碼,即由加州大學(xué)伯克利分校計(jì)算機(jī)系統(tǒng)研究組(CSRG)研發(fā)的實(shí)現(xiàn)。歷史上該實(shí)現(xiàn)是隨4.x BSD(Berkeley Software Distribution)系統(tǒng)一起發(fā)布的。最早的發(fā)布版本出現(xiàn)干1982年,隨后經(jīng)過了多次大改、多次微調(diào),并實(shí)現(xiàn)了映射到其他unix及非Unix系統(tǒng)的眾多端口。這個實(shí)現(xiàn)不可小覷,它是世界范圍內(nèi)無數(shù)系統(tǒng)中日常運(yùn)行的TCP/IP實(shí)現(xiàn)的基礎(chǔ)。該實(shí)現(xiàn)還提供了路由器功能,使我們可以展示出TCP/IP的主機(jī)實(shí)現(xiàn)與路由器的區(qū)別。  本書將描述該實(shí)現(xiàn)并給出TCP/IP核心實(shí)現(xiàn)的全部源代碼,大約有15000行C代碼。書中介紹的Berkeley代碼的版本是4.4BSD-Lite發(fā)布版本。這個代碼于1994年4月公布,它在1988年的4.3BSD Tahoe發(fā)布版本、1990年的4.3BSD Reno發(fā)布版本以及1993年的4-4BSD發(fā)布版本基礎(chǔ)上增加了大量的網(wǎng)絡(luò)增強(qiáng)技術(shù)(附錄B講述了如何獲取這些源代碼)?! ?.4BSD發(fā)布版本提供了最新的TCP/IP特性,例如對多播(multicast)和長肥管道(10ng fat pipe)的支持(用于高帶寬、長延遲的通道)。圖1-1(第4頁)提供了各版本的Berkeley網(wǎng)絡(luò)代碼的更多細(xì)節(jié)。

內(nèi)容概要

  本書是TCP/IP領(lǐng)域的經(jīng)典之作!書中完整而詳細(xì)地介紹了TCP/IP協(xié)議是如何實(shí)現(xiàn)的。本書介紹了一個實(shí)際的TCP/IP實(shí)現(xiàn),并給出了這一實(shí)現(xiàn)的完整源代碼,幫助讀者全面掌握TCP/IP的實(shí)現(xiàn)。本書內(nèi)容詳盡且具權(quán)威性,幾乎每章都提供精選的習(xí)題,并在附錄中提供了部分習(xí)題的答案?! ”緯m合任何希望了解TCP/IP協(xié)議如何實(shí)現(xiàn)的讀者閱讀,更是TCP/IP領(lǐng)域研究人員和開發(fā)人員的權(quán)威參考書。

作者簡介

  Gary.Wright,研究TCP/IP多年。他是Connix公司的董事長,Cotlnix公司的總部在康涅狄格州,主要提供Intermet接入和咨詢服務(wù)。  W.Richard Stevens(1951-1999)國際知名的LJNIX和網(wǎng)絡(luò)專家,備受贊譽(yù)的技術(shù)作家。生前著有《TCP/IP詳解》(三卷)、《UNIX環(huán)境高級編程》和《UNIX網(wǎng)絡(luò)編程》(兩卷),均為不朽的經(jīng)典著作。

書籍目錄

Chapter 1. Introduction Chapter 2. Mbufs:Memory Buffers Chapter 3. Interface Layer Chapter 4. Interfaces:Ethernet Chapter 5. Interfaces:SLIP and Loopback Chapter 6. IP Addressing Chapter 7. Domains and Protocols Chapter 8. IP:Internet Protocol Chapter 9. IP Option Processing Chapter 10. IP Fragmentation and Reassembly Chapter 11. ICMP:Internet Control Message Protocol Chapter 12. IP Multicasting Chapter 13. IGMP:Internet Group Management Protocol Chapter 14. IP Multicast Routing Chapter 15. Socket Layer Chapter 16. Socket I/O Chapter 17. Socket Options Chapter 18. Radix Tree Routing Tables Chapter 19. Routing Requests and Routing Messages Chapter 20. Routing Sockets Chapter 21. ARP:Address Resolution Protocol Chapter 22. Protocol Control Blocks Chapter 23. UDP:User Datagram Protocol Chapter 24. TCP:Transmission Control Protocol Chapter 25. TCP Timers Chapter 26. TCP Output Chapter 27. TCP Functions Chapter 28. TCP Input  Chapter 29. TCP Input(Continued) Chapter 30. TCP User Requests Chapter 31. BPF:BSD Packet Filter Chapter 32. Raw IP Epilogue Appendix A. Solutions to Selected Exercises Appendix B. Source Code Availability Appendix C. RFC 1122 Compliance Bibliography Index 

章節(jié)摘錄

  When a process executes a system call such as socket, the kernel has access to the process table structure. The entry p fd in this structure points to the f i ledesc struc- ture for the process. There are two members of this structure that interest us now: (do fi1e lags is a pointer to an array of characters (the per-descriptor flags for each descriptor), and fd o files is a pointer to an array of pointers to file table structures. The per-descriptor flags are 8 bits wide since only 2 bits can be set for any descriptor: the close-on-exec flag and the mapped-from-device flag. We show all these flags as.  We purposely call this section “Descriptors” and not “File Descriptors” since Unix descriptors can refer to lots of things other than files: sockets, pipes, directories, devices, and so on. Never- theless, much of Unix literature uses the adjective file when talking about descriptors, which is an unnecessary qualification. Here the kernel data structure is called filedesc teven though were about to describe socket descriptors. Well use the unqualified term descriptor whenever possible.  The data structure pointed to by the fd ofiles entry is showrL as file since it is an array of pointers to file structures. The index into this array and the array of descriptor flags is the nonnegative descriptor itself: 0, 1, 2, and so on. In Fig- ure 1.5 we show the entries for descriptors 0, 1, and 2 pointing to the same file struc- ture at the bottom of the figure (since all three descriptors refer to our terminal). The entry for descriptor 3 points to a different file structure for our socket descriptor.  The type member of the file structure specifies the descriptor type as either DTYPE_SOCKET or DTYPE_VNODE. V-nodes are a general mechanism that allows the kernel to support different types of filesystems——a disk filesystem, a network filesystem (such as NFS), a filesystem on a CD-ROM, a memory-based filesystem, and so on. Our interest in this text is not with v-nodes, since TCP/IP sockets always have a type of DTYPE_SOCKET.  The (_data member of the file structure points to either a socket structure or a vnode structure, depending on the type of descriptor. The fops member points to a vector of five function pointers. These function pointers are used by the read, readv, write, writev, ioctl, select, and close system calls, since these system calls work with either a socket descriptor or a nonsocket descriptor. Rather than look at the (_type value each time one of these system calls is invoked and then jump accord- ingly, the implementors chose always to jump indirectly through the corresponding entry in the f i 1 e op s structure instead.  Notationally we use a fixed-width font (fo_read) to show the name of a structure member and a slanted fixed-width font (soo__read) to show the contents of a structure member. Also note that sometimes we show the pointer to a structure arriving at the top left corner (e.g., the filedesc structure) and sometimes at the top right comer (e.g., both file structures and both fileops structures). This is to simplify the fig- ures.  Next we come to the socket structure that is pointed to by the file structure when the descriptor type is DTYPE_SOCKET. In our example, the socket type (SOCK_DGRAM for a datagram socket) is stored in the so_type member. An Intemet protocol control block (PCB) is also allocated: an inpcb structure. The so_.pcb member of the socket structure points to the inpcb.

編輯推薦

  “我早就知道這《TCP/IP 詳解 卷2:實(shí)現(xiàn)(英文版)》很好,但它比我之前了解的還要好。你可以在這《TCP/IP 詳解·卷2:實(shí)現(xiàn)(英文版)》中找到任何與IP相關(guān)的信息?!薄  吧洗髮W(xué)的時候就對網(wǎng)絡(luò)充滿了好奇,偶然的機(jī)會,接觸了《TCP/IP詳解》的第1卷,立刻被它透徹的分析所深深吸引。但總還是有很多地方不甚理解。工作了,因?yàn)轫?xiàng)目的需要,又曾多次拜讀《TCP/IP詳解》第1卷,每一次都有新的收獲。今天,購買了這本第2卷,我相信它的精彩。”  “作為一名軟件程序員,我一直在尋找一本能清晰闡釋網(wǎng)際協(xié)議工作方式的書。《TCP/IP詳解》通過逐行解釋的源代碼和清晰的圖示,給出了關(guān)于TCP/IP如何實(shí)現(xiàn)的精彩且深入的細(xì)節(jié)。這《TCP/IP 詳解·卷2:實(shí)現(xiàn)(英文版)》絕對是每一位網(wǎng)絡(luò)程序員以及任何對TCP/IP運(yùn)行方式感興趣的技術(shù)人員的必備讀物?!薄  斑@本書非常詳盡地介紹了BSD/Linu×系統(tǒng)上TCP/IP協(xié)議的實(shí)現(xiàn)。對于任何對網(wǎng)絡(luò)協(xié)議軟件開發(fā)感興趣的人來說,《TCP/IP 詳解·卷2:實(shí)現(xiàn)(英文版)》都是必讀之作、必備參考。書中詳細(xì)介紹了協(xié)議的核心實(shí)現(xiàn)以及基于用戶的套接字API/ioctls。無論你是初學(xué)者還是有經(jīng)驗(yàn)的專業(yè)人士,我都向你強(qiáng)烈推薦這本書。”  “最近正在編寫網(wǎng)絡(luò)通信程序,這本書既可以加深我對TCP/IP協(xié)議的理解,又為我編程提供了很好的實(shí)例?!  敖^對的經(jīng)典!希望所有想深入研究TCP/IP的人,都能有幸獲得此書,讀懂此書?!  拔矣X得《TCP/IP詳解》真是學(xué)習(xí)TCP/IP協(xié)議的超級好書。通俗易懂,對于初學(xué)者非常適合。通過閱讀這三本書,我對整個TCP/IP有了更深層的認(rèn)識和理解?!  斑@本書難得如此細(xì)致。相對于第1卷來講,第2卷更適合做相關(guān)工作的人,或者對TCP/IP協(xié)議感興趣的人。讀這樣一本書需要耐心。難得的好書!”  《TCP/IP詳解》是已故網(wǎng)絡(luò)專家、著名技術(shù)作家W.Rictlard Steverls的傳世之作。內(nèi)容詳盡且具權(quán)威性,被譽(yù)為TCP/IP領(lǐng)域的不朽名著?!  禩CP/IP 詳解·卷2:實(shí)現(xiàn)(英文版)》是《TCP/IP詳解》三卷本的第2卷,重點(diǎn)關(guān)注TCP/IP協(xié)議的實(shí)現(xiàn)問題。書中介紹了一個實(shí)際的TCP/IP實(shí)現(xiàn),并給出了這一實(shí)現(xiàn)的完整源代碼,大約有15000行C代碼。此外,幾乎每章都提供精選的習(xí)題。并在附錄中提供了部分習(xí)題的答案。  這一卷要求讀者對TCP/IP協(xié)議的工作原理以及操作系統(tǒng)原理有初步的了解。對TCP/IP協(xié)議不是很熟悉的讀者應(yīng)先閱讀《TCP/IP詳解》的第1卷。該書對TCP/IP協(xié)議族有比較透徹的描述。  《TCP/IP詳解》對于網(wǎng)絡(luò)應(yīng)用的開發(fā)人員、網(wǎng)絡(luò)管理員以及任何想了解TCP/IP協(xié)議運(yùn)行原理的人員來說,都是極好的權(quán)威參考書。無論是初學(xué)者還是功底深厚的網(wǎng)絡(luò)領(lǐng)域高手。這套書都應(yīng)是案頭必備。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    TCP/IP詳解 卷2:實(shí)現(xiàn)(英文版) PDF格式下載


用戶評論 (總計(jì)9條)

 
 

  •   好書!適合非常了解TCP/IP的人看,新手還是看1吧。。想要成為牛逼的程序員,這本書必看!
  •   卷1讓我了解整個TCP/IP輪廓,卷2讓我能從內(nèi)核層面理解TCP/IP,Steven的書不可多得?。?!
  •   網(wǎng)絡(luò)經(jīng)典中的經(jīng)典,正在看。
  •   書很厚,值得研究
  •   2卷像磚頭一樣,增長知識的同時,又可防身,不讀此書,自稱高手也枉然~~
  •   好書 啊,真是好書,為什么當(dāng)當(dāng)每次發(fā)過來的書都有點(diǎn)臟????
  •   有中文電子書..對照..
  •   這本書很適合想要了解linux下TCP/IP編程的程序員,寫得非常詳細(xì),還有很多使用的例子,便于掌握。希望當(dāng)當(dāng)網(wǎng)以后在發(fā)貨的時候可以將書本的原包裝保留,這樣就可以減少書本在運(yùn)輸過程中受損的幾率,消費(fèi)者就會更喜歡了。
  •   蠻不錯的,等了很久的英文版終于拿到了
 

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

京ICP備13047387號-7