Автор: George Varghese
Издательство: Morgan Kaufmann
Качество: Изначально компьютерное (eBook)
Количество страниц: 496
Описание: This book was written to answer a need for a text on efﬁcient protocol implementations. The vast majority of networking books are on network protocols; even the implementation books are, for the most part, detailed explanations of the protocol. While protocols form the foundation of the ﬁeld, there are just a handful of fundamental network infrastucture protocols left, such as TCPand IP. On the other hand, there are many implementations as most companies and start-ups customize their products to gain competitive advantage. This is exacerbated by the tendency to place TCP and IP everywhere, from bridges to SAN switches to toasters.
Thus there are many more people implementing protocols than designing them. This is a textbook for implementors, networking students, and networking researchers, covering ground from the art of building a fast Web server to building a fast router and beyond.
To do so, this book describes a collection of efﬁcient implementation techniques; in fact, an initial section of each chapter concludes with a Quick Reference Guide for implementors that points to the most useful techniques for each topic. However, the book goes further and distills a fundamental method of crafting solutions to new network bottlenecks that we call network algorithmics. This provides the reader tools to design different implementations for speciﬁc contexts and to deal with new bottlenecks that will undoubtedly arise in a changing world.
Here is a detailed proﬁle of our intended audience.
• Network Protocol Implementors: This group includes implementors of endnode networking stacks for large servers, PCs, and workstations and for network appliances. It also includes implementors of classic network interconnection devices, such as routers, bridges, switches, and gateways, as well as devices that monitor networks for measurement and security purposes. It also includes implementors of storage area networks, distributed computing infrastructures, multimedia switches and gateways, and other new networking devices. This book can be especially useful for implementors in start-ups as well as in established companies, for whom improved performance can provide an edge.
• Networking Students: Undergraduate and graduate students who have mastered the basics of network protocols can use this book as a text that describes how protocols should be implemented to improve performance, potentially an important aspect of their future jobs.
• Instructors: Instructors can use this book as a textbook for a one-semester course on network algorithmics.
• Systems Researchers: Networking and other systems researchers can use this text as a reference and as a stimulus for further research in improving system performance. Given that disributed operating systems and distributed computing infrastructures (e.g., the Grid) rely on an underlying networking core whose performance can be critical, this book can be useful to general systems researchers.
CHAPTER 1 Introducing Network Algorithmics
CHAPTER 3 Network Implementation Models
CHAPTER 5 Fifteen Implementation Principles
CHAPTER 4 Principles in Action
PART II Playing with Endnodes
CHAPTER 5 Copying Data
CHAPTER 6 Transferring Control
CHAPTER 7 Maintaining Timers
CHAPTER 8 Demultiplexing
CHAPTER 9 Protocol Processing
PART III Playing with Routers
CHAPTER 10 Exact-Match Lookups
CHAPTER 11 Prefix-Match Lookups
CHAPTER 12 Packet Classification
CHAPTER 13 Switching
CHAPTER 14 Scheduling Packets
CHAPTER 15 Routers as Distributed Systems
PART IV Endgame
CHAPTER 16 Measuring Network Traffic
CHAPTER 17 Network Security
CHAPTER 18 Conclusions
APPENDIX Detailed Models