TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP和UNIX域协议(英文版)[按需印刷]
基本信息
内容简介回到顶部↑
Praised by Reviewers and practicing TCP/IP programmers alike, the TCP/IP Illustrated series examines the many facets of the TCP/IP protocol suite using a unique and highly-effective visual approach that describes the inner workings of TCP/IP with detail, insight, and clarity.
TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols provides detailed coverage of four essential topics with which today's TCP/IP programmers and network administrators must be thoroughly familiar:T/TCP, an extension to TCP that makes client-server transactions faster, more efficient, and more reliable; HTTP, the foundation for the rapidly expanding WWW; NNTP, the basis for the Usenet news system; and UNIX Domain Protocols, a set of protocols used heavily in UNIX implementations.
TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols provides detailed coverage of four essential topics with which today's TCP/IP programmers and network administrators must be thoroughly familiar:T/TCP, an extension to TCP that makes client-server transactions faster, more efficient, and more reliable; HTTP, the foundation for the rapidly expanding WWW; NNTP, the basis for the Usenet news system; and UNIX Domain Protocols, a set of protocols used heavily in UNIX implementations.
作译者回到顶部↑
目录回到顶部↑
part 1. tcp for transactions
chapter 1 . t/tcp introduetion
1 .1 introduction
1 .2 udp client-server
1 .s tcp client-server
1 .4 t/tcp client-server
1 .5 test network
1 .6 timing example
1 .7 applications
1 .8 history
1 .9 implementations
1 .10 summary
chapter 2. t/tcp protocol
2.1 introduction
2.2 new tcp options for t/tcp
2.3 t/tcp implementation variables
2.4 state transition diagram
2.5 t/tcp extended states
2.6 summary
chapter 3. t/tcp examples
chapter 1 . t/tcp introduetion
1 .1 introduction
1 .2 udp client-server
1 .s tcp client-server
1 .4 t/tcp client-server
1 .5 test network
1 .6 timing example
1 .7 applications
1 .8 history
1 .9 implementations
1 .10 summary
chapter 2. t/tcp protocol
2.1 introduction
2.2 new tcp options for t/tcp
2.3 t/tcp implementation variables
2.4 state transition diagram
2.5 t/tcp extended states
2.6 summary
chapter 3. t/tcp examples
前言回到顶部↑
Introduetion and Organization of the Book
This book is a logical continuation of the TCP/IP Illustrated series: [Stevens 1994], which we refer to as Volume 1, and [Wright and Stevens 1995], which we refer to as Volume 2.This book is divided into three parts, each covering a different topic:
l. TCP for transactions, commonly called T/TCP. This is an extension to TCPdesigned to make client-server transactions faster, more efficient, and reliable.This is done by omitting TCP's three-way handshake at the beginning of a connection and shortening the TIME_WAIT state at the end of a connection. We'Il see that T/TCP can match UDP's performance for a client-server transaction and that T/TCP provides reliability and adaptability, both major improvements over UDP.
A transaction is defined to be a client request to a server, followed by the server's reply. (The term transaction does not mean a database transaction, with locking, two-phase commit, and backout.)
2. TCP/IP applications, specifically HTTP (the Hypertext Transfer Protocol, the foundation of the World Wide Web) and NNTP (the Network News Transfer Protocol, the basis for the Usenet news system).
3. The Unix domain protocols. These protocols are provided by all Unix TCP/IP implementations and on many non-Unix implementations. They provide a form of interprocess communication (IPC) and use the same sockets Interface used with TCP/IP. When the client and server are on the same host, the Unix domain protocols are often twice as fast as TCP/IP.
Part 1, the presentation of T/TCP, is in two pieces. Chapters 1--4 describe the protocol and provide numerous examples of how it works. This material is a major expansion of the brief presentation of T/TCP in Section 24.7 of Volume 1. The second piece,Chapters 5--12, describes the actual implementation of T/TCP within the 4.4BSD-Lite networking code (i.e., the codc presented in Volume 2). Since the first T/TCP implementation was not releascd until September 1994, about one year after Volume 1 was published dnd right as Volume 2 was being completed, the detailed presentation of T/TCP, with examples and all the implemel1tation details, had to wait for another volume in the scries.
Part 2, the HTTP, and NNTP applications, are a continuation of the TCP/lP applications Presentcd in Chapters 25--30 of Volume 1. In the two years sincc Yblume 1 was publishcd, the popularity of HTTP has grown enormously, as the lnternet has exploded,and the use of NNTP has been growing about 75% per year for more than 10 years.HTTP is also a wonderful candidate for T/TCP, given its typical use of TCP: short connections with small amounts of data transferred, wherc the total time is often dominated by the conncction setup and teardown. The heavy use of HTTP (and therefore TCP) on a busy Web server by thousands of different and varied clients also provides a umique opportunity to examine the actual packets at the server (Chapter 14) and look at many features of TCP/IP that were presented in Volumes 1 and 2.
The Unix domain protocols in Part 3 were originally considered for Volume 2 but omitted when its size reached 1200 pages. While it may seem odd to cover protocols othcr than TCP/IP in a series titled TCP/P Illu5trated, the Unix domain protocols were implemented almost 15 years ago in 4.2BSD alongside the first implementation of BSD TCP/IP They are used heavily today in any Berkeley-derived kernel, but their use is typically "under the covers," and most users are unaware of their presence. Besides being the foundation for Unix pipes on a Berkeley-derived kernel, another heavy user is the X Window System, when the client and server are on the same host (i.e., on typical workstations). Unix domain sockets are also used to pass descriptors between processes, a powerful technique for interprocess communication. Since the sockets API (application program interface) used with the Unix domain protocols is nearly identical to the sockets API used with TCP/IP, the Unix domain protocols provide an easy way to enhance the performance of Iocal applications with minimal code changes.
Each of the three parts can be read by itself.
Readers
As with the previous two volumes in the series, this volume is intended for anyone wishing to understand how the TCP/IP protocols operatet programmers writing network applications, system administrators responsible for maintaining computer systems and networks utilizing TCP/IP, and users who deal with TCP/IP applications on a daily basis.
Parts 1 and 2 assume a basic understanding of how the TCP/IP protocols work.Readers unfamiliar with TCP/IP should consult the first volume in this series, [Stevens1994], for a thorough description of the TCP/IP protocol suite. The first half of Part 1(Chapters1--4,theconcepts behine T/TCP along with examples)can be read independent of Volume 2,but the remainder of Part 1(Chapters 5-12,the implementation of T/TCP)assumes familiarity with the 4.4BSD-Litenetworking code ,as provided with Volume 2.
Many forward and backward referentces are provided throughout the text. to both topics within this text, and to relevant sections of Volumes l and 2 for readers interested in more details. A thorough index is provided, and a list of all the acronyms used throughout the text, along with the compound term for the acronym. appears on the inside front covers. The inside back covers contain an alphabetical cross-reference of all the structures. functions. and macros described in the book and the starting page number of the description. This cross-reference also refers to definitions in VoIume2. when that object is referenced from the code in this volume.
Acknowledgments
First and foremost I thank my family, Sally, Bill, Ellen, and David, who have endured another book along with an my haveling during the past year. This time, however, it really is a "small" book.
I thank the technical reviewers who read the manuscript and provided important feedback on a tight timetable: Sami Boulos, Alan Cox, Tony DeSimone, Pete Haverlock,Chris Heigham, Mukesh Kacker, Brian Kernighan, Art Mellor, Jeff Mogul, Marianne Mueller, Andras Olah, Craig Partridge, Vern Paxson, Keith Sklower, lan Lance Taylor,and Gary Wright. A special thanks to the consulting editor, Brian Kernighan, for his rapid, thorough, and helpful reviews throughout the course of the book, and for his continued encouragement and support.
Special thanks are also due Vern Paxson and Andras Olah for their incredibly detailed reviews of the entire manuscript, finding many errors and providing valuable technical suggestions. My thanks also to Vern Paxson for making available his software for analyzing Tcpdump traces, and to Andras Olah for his help with T/TCP over the past year. My thanks also to Bob Braden, the designer of T/TCP who provided the reference source code implementation on which Part l of this book is based.
Others helped in significant ways. Cary Wright and Jim Hogue provided the system on which the data for Chapter 14 was collected. Doug Schmidt provided a copy of the public domain TTCP program that uses Unix domain sockets, for the timing measurements in Chapter 16. Craig Partridge provided a copy of the RDP source code to examine. Mike Karels answered lots of questions.
My thanks once again to the National Optical Astronomy Observatories (NOAO),Sidney Wolff, Richard Wolff, and Steve Grandi, for providing access to their networks and hosts.
This book is a logical continuation of the TCP/IP Illustrated series: [Stevens 1994], which we refer to as Volume 1, and [Wright and Stevens 1995], which we refer to as Volume 2.This book is divided into three parts, each covering a different topic:
l. TCP for transactions, commonly called T/TCP. This is an extension to TCPdesigned to make client-server transactions faster, more efficient, and reliable.This is done by omitting TCP's three-way handshake at the beginning of a connection and shortening the TIME_WAIT state at the end of a connection. We'Il see that T/TCP can match UDP's performance for a client-server transaction and that T/TCP provides reliability and adaptability, both major improvements over UDP.
A transaction is defined to be a client request to a server, followed by the server's reply. (The term transaction does not mean a database transaction, with locking, two-phase commit, and backout.)
2. TCP/IP applications, specifically HTTP (the Hypertext Transfer Protocol, the foundation of the World Wide Web) and NNTP (the Network News Transfer Protocol, the basis for the Usenet news system).
3. The Unix domain protocols. These protocols are provided by all Unix TCP/IP implementations and on many non-Unix implementations. They provide a form of interprocess communication (IPC) and use the same sockets Interface used with TCP/IP. When the client and server are on the same host, the Unix domain protocols are often twice as fast as TCP/IP.
Part 1, the presentation of T/TCP, is in two pieces. Chapters 1--4 describe the protocol and provide numerous examples of how it works. This material is a major expansion of the brief presentation of T/TCP in Section 24.7 of Volume 1. The second piece,Chapters 5--12, describes the actual implementation of T/TCP within the 4.4BSD-Lite networking code (i.e., the codc presented in Volume 2). Since the first T/TCP implementation was not releascd until September 1994, about one year after Volume 1 was published dnd right as Volume 2 was being completed, the detailed presentation of T/TCP, with examples and all the implemel1tation details, had to wait for another volume in the scries.
Part 2, the HTTP, and NNTP applications, are a continuation of the TCP/lP applications Presentcd in Chapters 25--30 of Volume 1. In the two years sincc Yblume 1 was publishcd, the popularity of HTTP has grown enormously, as the lnternet has exploded,and the use of NNTP has been growing about 75% per year for more than 10 years.HTTP is also a wonderful candidate for T/TCP, given its typical use of TCP: short connections with small amounts of data transferred, wherc the total time is often dominated by the conncction setup and teardown. The heavy use of HTTP (and therefore TCP) on a busy Web server by thousands of different and varied clients also provides a umique opportunity to examine the actual packets at the server (Chapter 14) and look at many features of TCP/IP that were presented in Volumes 1 and 2.
The Unix domain protocols in Part 3 were originally considered for Volume 2 but omitted when its size reached 1200 pages. While it may seem odd to cover protocols othcr than TCP/IP in a series titled TCP/P Illu5trated, the Unix domain protocols were implemented almost 15 years ago in 4.2BSD alongside the first implementation of BSD TCP/IP They are used heavily today in any Berkeley-derived kernel, but their use is typically "under the covers," and most users are unaware of their presence. Besides being the foundation for Unix pipes on a Berkeley-derived kernel, another heavy user is the X Window System, when the client and server are on the same host (i.e., on typical workstations). Unix domain sockets are also used to pass descriptors between processes, a powerful technique for interprocess communication. Since the sockets API (application program interface) used with the Unix domain protocols is nearly identical to the sockets API used with TCP/IP, the Unix domain protocols provide an easy way to enhance the performance of Iocal applications with minimal code changes.
Each of the three parts can be read by itself.
Readers
As with the previous two volumes in the series, this volume is intended for anyone wishing to understand how the TCP/IP protocols operatet programmers writing network applications, system administrators responsible for maintaining computer systems and networks utilizing TCP/IP, and users who deal with TCP/IP applications on a daily basis.
Parts 1 and 2 assume a basic understanding of how the TCP/IP protocols work.Readers unfamiliar with TCP/IP should consult the first volume in this series, [Stevens1994], for a thorough description of the TCP/IP protocol suite. The first half of Part 1(Chapters1--4,theconcepts behine T/TCP along with examples)can be read independent of Volume 2,but the remainder of Part 1(Chapters 5-12,the implementation of T/TCP)assumes familiarity with the 4.4BSD-Litenetworking code ,as provided with Volume 2.
Many forward and backward referentces are provided throughout the text. to both topics within this text, and to relevant sections of Volumes l and 2 for readers interested in more details. A thorough index is provided, and a list of all the acronyms used throughout the text, along with the compound term for the acronym. appears on the inside front covers. The inside back covers contain an alphabetical cross-reference of all the structures. functions. and macros described in the book and the starting page number of the description. This cross-reference also refers to definitions in VoIume2. when that object is referenced from the code in this volume.
Acknowledgments
First and foremost I thank my family, Sally, Bill, Ellen, and David, who have endured another book along with an my haveling during the past year. This time, however, it really is a "small" book.
I thank the technical reviewers who read the manuscript and provided important feedback on a tight timetable: Sami Boulos, Alan Cox, Tony DeSimone, Pete Haverlock,Chris Heigham, Mukesh Kacker, Brian Kernighan, Art Mellor, Jeff Mogul, Marianne Mueller, Andras Olah, Craig Partridge, Vern Paxson, Keith Sklower, lan Lance Taylor,and Gary Wright. A special thanks to the consulting editor, Brian Kernighan, for his rapid, thorough, and helpful reviews throughout the course of the book, and for his continued encouragement and support.
Special thanks are also due Vern Paxson and Andras Olah for their incredibly detailed reviews of the entire manuscript, finding many errors and providing valuable technical suggestions. My thanks also to Vern Paxson for making available his software for analyzing Tcpdump traces, and to Andras Olah for his help with T/TCP over the past year. My thanks also to Bob Braden, the designer of T/TCP who provided the reference source code implementation on which Part l of this book is based.
Others helped in significant ways. Cary Wright and Jim Hogue provided the system on which the data for Chapter 14 was collected. Doug Schmidt provided a copy of the public domain TTCP program that uses Unix domain sockets, for the timing measurements in Chapter 16. Craig Partridge provided a copy of the RDP source code to examine. Mike Karels answered lots of questions.
My thanks once again to the National Optical Astronomy Observatories (NOAO),Sidney Wolff, Richard Wolff, and Steve Grandi, for providing access to their networks and hosts.
评论交流
共有11人开贴评论 16人参与评论 7人参与打分 查看
发表于:2009-6-3 17:41:00
现筹集人数进行《tcp/ip详解—卷二--英文影印版》的预订,现说明情况如下:
(1)由于互动(china-pub)告知20人即可开印,我现在手头已有7人,所以希望在此告知有同样需求的人来发挥自己并周围的力量来筹集更多的人。
(2)书的价格是原书价的2倍,即69 * 2=138,互动说没有商量的余地,之前我已经努力和他们商量价格了,但互动说价格贵不是在copyleft和印量上,而是开机费用比较贵,所以鉴于此也没有必要和我进行价格上的讨价还价,浪费彼此的时间。
(3)过程是:(3.1)先报名,留联系方式和地址,报需要几本,不收取任何费用;(3.2)超过20人后我和互动联系初步的开印事宜;(3.3)由于对方是在收到最少20本的全额款后即刻开印的,所以初步的开印事宜确定后,才开始收款,之前不收任何费用,当然如果期间有人退出使得印量少于20本,那整个过程也就流产了,所以希望大家找的都是不会出尔反尔比较情绪化的人,以减少大家彼此的麻烦和浪费大家的时间;(3.4)如果(3.3)步比较顺利,我开始收款,我收到全款后即刻与互动联系出版,签订相应的约定合同,完后我将合同扫描,给所有订购人发一份电子版;(3.5)开始正式印刷到正式出书的周期最长为一个月,顺利的话是两周时间;(3.6)书印好后,我和互动按(3.1)中的地址由互动按正常的网上购书流程将书配送至订购人的收货地址;
(4)至于大家关心的书的质量问题:(4.1)书的封面风格与大小保持与卷一和卷三一致,大家都有珍藏好书的习惯,我也一样,我同样不希望我的三卷是不一样的大小,不一样的风格,我有爱书的习惯;(4.2)书籍左侧是胶印,不是线装,如果出现胶印断裂,或其它属于书的质量问题的问题,互动负责调换新书,这点我已经确认过了;(由于书籍较厚,有1208页,所以特此强调这点,这点也是我当时联系时所特别在意的)(4.3)如果无法接受当时卷一与卷三风格的(包括封面风格,字体大小,纸张质量(传说只会不比前面印刷的版本差)),就不用浪费时间联系了;(4.4)其它问题我没有想到,如还有疑问,请询问:150-110-67391, 王先生我本人,msn: wangyong_f117@hotmail.com
(5)关于我是不是骗子的问题:(5.1)首先我是个人需要此书,但找遍全国的网络书店以及实体点,都买不到该书,加之我实在不能看中文版的,而另印又需至少20本,所以发此消息;(5.2)我个人是互动的5星会员,在之上购买过很多影印版的书籍,而骗子需要先不停的买书并达到一定的数额后才会成为5星会员(具体成为5星的购书数额我不清楚,也没有关心过,只是我现在就是5星会员),用这个方法骗钱是不是绕了点费劲了点?再说总共也没有多少钱,总共不过才19 * 138=2622,我没必要因为这点钱坏了自己的口碑;(5.3)我个人在看stevens( and rago)的 APUE(2nd),network programming IPC;及卷一三,就剩他的6部作品中的卷二了,我想这些从某种程度上也可以说明点什么,另外我看过ace,了解过tao,ciao 希望能够说明点问题;(5.4)如果非要让我保证我不是骗子,那我没有什么办法进行保证,我只是个想看这本书的程序员而已;(5.5)其它接受待问的问题。。。
(6)如果有意,就让我们开始(3.1)步,联系方式见(4.4)步。谢谢!
(1)由于互动(china-pub)告知20人即可开印,我现在手头已有7人,所以希望在此告知有同样需求的人来发挥自己并周围的力量来筹集更多的人。
(2)书的价格是原书价的2倍,即69 * 2=138,互动说没有商量的余地,之前我已经努力和他们商量价格了,但互动说价格贵不是在copyleft和印量上,而是开机费用比较贵,所以鉴于此也没有必要和我进行价格上的讨价还价,浪费彼此的时间。
(3)过程是:(3.1)先报名,留联系方式和地址,报需要几本,不收取任何费用;(3.2)超过20人后我和互动联系初步的开印事宜;(3.3)由于对方是在收到最少20本的全额款后即刻开印的,所以初步的开印事宜确定后,才开始收款,之前不收任何费用,当然如果期间有人退出使得印量少于20本,那整个过程也就流产了,所以希望大家找的都是不会出尔反尔比较情绪化的人,以减少大家彼此的麻烦和浪费大家的时间;(3.4)如果(3.3)步比较顺利,我开始收款,我收到全款后即刻与互动联系出版,签订相应的约定合同,完后我将合同扫描,给所有订购人发一份电子版;(3.5)开始正式印刷到正式出书的周期最长为一个月,顺利的话是两周时间;(3.6)书印好后,我和互动按(3.1)中的地址由互动按正常的网上购书流程将书配送至订购人的收货地址;
(4)至于大家关心的书的质量问题:(4.1)书的封面风格与大小保持与卷一和卷三一致,大家都有珍藏好书的习惯,我也一样,我同样不希望我的三卷是不一样的大小,不一样的风格,我有爱书的习惯;(4.2)书籍左侧是胶印,不是线装,如果出现胶印断裂,或其它属于书的质量问题的问题,互动负责调换新书,这点我已经确认过了;(由于书籍较厚,有1208页,所以特此强调这点,这点也是我当时联系时所特别在意的)(4.3)如果无法接受当时卷一与卷三风格的(包括封面风格,字体大小,纸张质量(传说只会不比前面印刷的版本差)),就不用浪费时间联系了;(4.4)其它问题我没有想到,如还有疑问,请询问:150-110-67391, 王先生我本人,msn: wangyong_f117@hotmail.com
(5)关于我是不是骗子的问题:(5.1)首先我是个人需要此书,但找遍全国的网络书店以及实体点,都买不到该书,加之我实在不能看中文版的,而另印又需至少20本,所以发此消息;(5.2)我个人是互动的5星会员,在之上购买过很多影印版的书籍,而骗子需要先不停的买书并达到一定的数额后才会成为5星会员(具体成为5星的购书数额我不清楚,也没有关心过,只是我现在就是5星会员),用这个方法骗钱是不是绕了点费劲了点?再说总共也没有多少钱,总共不过才19 * 138=2622,我没必要因为这点钱坏了自己的口碑;(5.3)我个人在看stevens( and rago)的 APUE(2nd),network programming IPC;及卷一三,就剩他的6部作品中的卷二了,我想这些从某种程度上也可以说明点什么,另外我看过ace,了解过tao,ciao 希望能够说明点问题;(5.4)如果非要让我保证我不是骗子,那我没有什么办法进行保证,我只是个想看这本书的程序员而已;(5.5)其它接受待问的问题。。。
(6)如果有意,就让我们开始(3.1)步,联系方式见(4.4)步。谢谢!
| 我要写评论 |
| 查看所有评论交流(共11条) |








点击看大图







加载中...

