Computer Networking: A Top-Down Approach (8th Edition) PDF
Document Details
Uploaded by QuickerNovaculite4397
Vietnam National University, Ho Chi Minh City
2022
James F. Kurose, Keith W. Ross
Tags
Summary
This is a textbook about computer networking written by James F. Kurose and Keith W. Ross, 8th edition. This global edition of the book was written for students outside of the United States and Canada. The book provides a top-down approach covering topics such as 4G and 5G networks, new web protocols, and transport-layer congestion control.
Full Transcript
This is a special edition of an established title widely used by colleges and GLOBAL universities throughout the world. Pearson published this exclusive edition for the benefit of students outside the United S...
This is a special edition of an established title widely used by colleges and GLOBAL universities throughout the world. Pearson published this exclusive edition for the benefit of students outside the United States and Canada. If you GLOBAL EDITION purchased this book within the United States or Canada, you should be aware EDITION EDITION GLOB AL that it has been imported without the approval of the Publisher or Author. Computer Networking Kurose and Ross’s Computer Networking has been the go-to text for students of computer science and Computer Networking electrical engineering for two decades. It was the first of its kind to approach the subject from a top-down perspective, introducing a new pedagogical approach, and has continued to incorporate new information A Top-Down Approach as the field of networking has matured. The eighth edition of Computer Networking carries forward that tradition with its top-down approach, its focus on the Internet, its modern treatment of computer networking, its attention to both principles and practice, and its accessible style—all with a fresh and timely approach to the subject. A Top-Down Approach New to This Edition EIGHTH EDITION 4G and 5G networks This new edition has been thoroughly updated to reflect the fast-accelerating growth and use of the Internet and to present a broader and deeper treatment of present-day 4G LTE networks and upcoming 5G networks. James F. Kurose Keith W. Ross New Web protocols The chapter on the application layer now includes the new HTTP/2 and HTTP/3 protocols for the Web. Transport-layer congestion control and error-control protocols This edition provides deeper coverage of TCP CUBIC, examines delay-based approaches to congestion control (including the new BBR protocol deployed in Google’s backbone network), and studies the QUIC protocol, which is being incorporated into the HTTP/3 standard. SDN evolution This edition incorporates updated information on software-defined networking (SDN), reflecting its growing role, which has evolved beyond management of packet-forwarding EDITION EIGHTH tables to include configuration management of network devices. New treatment of network management Two new protocols, NETCONF and YANG, whose adoption and use have fueled a new approach toward network management, have both been introduced in this edition. Latest developments in wireless network security Information on WPA3 security in WLANs and on confidentiality and mutual device–network authentication in 4G/5G networks Kurose Ross has been incorporated into this edition. Updated coverage of mobility issues This edition covers global issues, like identity management and mobile device roaming among different global cellular networks, as well as local issues, such as the handover of mobile devices between base stations. CVR_KURO5469_08_GE_CVR_Neografia.indd 1 13/04/21 1:34 PM DIGITAL RESOURCES FOR STUDENTS Your new textbook provides 12-month access to digital resources that may include VideoNotes (illustrating key concepts from the text), interactive exercises, interactive animations, quizzes, and more. Refer to the preface in the textbook for a detailed list of resources. Follow the instructions below to register for the Companion Website for James F. Kurose and Keith W. Ross’s Computer Networking: A Top-Down Approach, Eighth Edition, Global Edition. 1 Go to www.pearsonglobaleditions.com. 2 Enter the title of your textbook or browse by author name. 3 Click Companion Website. 4 Click Register and follow the on-screen instructions to create a login name and password. ISSJKK-FROMM-DAIRY-CUPPA-PLUSH-POSES Use the login name and password you created during registration to start using the digital resources that accompany your textbook. For technical support go to https://support.pearson.com/getsupport CVR_KURO5469_08_GE_CVR_Neografia_IFC_IBC.indd 1 13/04/21 1:33 PM COMPUTER EIGHTH EDITION GLOBAL EDITION NETWORKING A Top-Down Approach J ames F. K urose University of Massachusetts, Amherst K eith W. R oss NYU and NYU Shanghai A01_KURO5469_08_GE_FM.indd 1 11/05/2021 12:07 Pearson Education Limited KAO Two KAO Park Hockham Way Harlow CM17 9SR United Kingdom and Associated Companies throughout the world Visit us on the World Wide Web at: www.pearsonglobaleditions.com Please contact https://support.pearson.com/getsupport/s/contactsupport with any queries on this content © Pearson Education Limited 2022 The rights of James F. Kurose and Keith W. Ross to be identified as the authors of this work have been asserted by them in accordance with the Copyright, Designs and Patents Act 1988. Authorized adaptation from the United States edition, entitled Computer Networking: A Top-Down Approach, 8th Edition, ISBN 978-0-13-668155-7 by James F. Kurose and Keith W. Ross, published by Pearson Education © 2021. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without either the prior written permission of the publisher or a license permitting restricted copying in the United Kingdom issued by the Copyright Licensing Agency Ltd, Saffron House, 6–10 Kirby Street, London EC1N 8TS. For information regarding permissions, request forms and the appropriate contacts within the Pearson Education Global Rights & Permissions department, please visit www.pearsoned.com/permissions/. All trademarks used herein are the property of their respective owners. The use of any trademark in this text does not vest in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such trademarks imply any affiliation with or endorsement of this book by such owners. PEARSON, ALWAYS LEARNING, and MYLAB are exclusive trademarks in the U.S. and/or other countries owned by Pearson Education, Inc. or its affiliates. Unless otherwise indicated herein, any third-party trademarks that may appear in this work are the property of their respective owners and any references to third-party trademarks, logos or other trade dress are for demonstrative or descriptive purposes only. Such references are not intended to imply any sponsorship, endorsement, authorization, or promotion of Pearson’s products by the owners of such marks, or any relationship between the owner and Pearson Education, Inc. or its affiliates, authors, licensees, or distributors. ISBN 10: 1-292-40546-5 ISBN 13: 978-1-292-40546-9 eBook ISBN 13: 978-1-292-40551-3 British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library Typeset by SPi Global eBook formatted by B2R Technologies Pvt. Ltd. About the Authors Jim Kurose Jim Kurose is a Distinguished University Professor in the College of Information and Computer Sciences at the University of Massachusetts Amherst, where he has been on the faculty since receiving his PhD in computer science from Columbia University. He received a BA in physics from Wesleyan University. He has held a number of visiting scientist positions in the United States and abroad, including IBM Research, INRIA, and the Sorbonne University in France. He recently completed a five-year term as Assistant Director at the US National Science Foundation, where he led the Directorate of Computer and Information Science and Engineering in its mission to uphold the nation’s leadership in scientific discovery and engineering innovation. Jim is proud to have mentored and taught an amazing group of students, and to have received a number of awards for his research, teaching, and service, including the IEEE Infocom Award, the ACM SIGCOMM Lifetime Achievement Award, the ACM Sigcomm Test of Time Award, and the IEEE Computer Society Taylor Booth Education Medal. Dr. Kurose is a for- mer Editor-in-Chief of IEEE Transactions on Communications and of IEEE/ ACM Transactions on Networking. He has served as Technical Program co-Chair for IEEE Infocom, ACM SIGCOMM, ACM Internet Measurement Conference, and ACM SIGMETRICS. He is a Fellow of the IEEE, the ACM and a member of the National Academy of Engineering. His research interests include network protocols and architecture, network measurement, multimedia communication, and modeling and performance evaluation. Keith Ross Keith Ross is the Dean of Engineering and Computer Science at NYU Shanghai and the Leonard J. Shustek Chair Professor in the Computer Science and Engineering Department at NYU. Previously he was at University of Pennsylvania (13 years), Eurecom Institute (5 years) and NYU-Poly (10 years). He received a B.S.E.E from Tufts University, a M.S.E.E. from Columbia University, and a Ph.D. in Computer and Control Engineering from The University of Michigan. Keith Ross is also the co-founder and original CEO of Wimba, which develops online multimedia applications for e-learning and was acquired by Blackboard in 2010. Professor Ross’s research interests have been in modeling and meaurement of computer networks, peer-to-peer systems, content distribution networks, social networks, and privacy. He is currently working in deep reinforcement 3 A01_KURO5469_08_GE_FM.indd 3 11/05/2021 12:07 4 ABOUT THE AUTHORS learning. He is an ACM Fellow, an IEEE Fellow, recipient of the Infocom 2009 Best Paper Award, and recipient of 2011 and 2008 Best Paper Awards for Multimedia Communications (awarded by IEEE Communications Society). He has served on numerous journal editorial boards and conference pro- gram committees, including IEEE/ACM Transactions on Networking, ACM SIGCOMM, ACM CoNext, and ACM Internet Measurement Conference. He also has served as an advisor to the Federal Trade Commission on P2P file sharing. A01_KURO5469_08_GE_FM.indd 4 11/05/2021 12:07 To Julie and our three precious ones—Chris, Charlie, and Nina JFK A big THANKS to my professors, colleagues, and students all over the world. KWR A01_KURO5469_08_GE_FM.indd 5 11/05/2021 12:07 This page is intentionally left blank A01_KURO5469_08_GE_FM.indd 6 11/05/2021 12:07 Preface Welcome to the eighth edition of Computer Networking: A Top-Down Approach. Since the publication of the first edition 20 years ago, our book has been adopted for use at many hundreds of colleges and universities, translated into 14 languages, and used by many hundreds of thousands students and practitioners worldwide. We’ve heard from many of these readers and have been overwhelmed by the p ositive r esponse. What’s New in the Eighth Edition? We think one important reason for this success has been that our book continues to offer a fresh and timely approach to computer networking instruction. We’ve made changes in this eighth edition, but we’ve also kept unchanged what we believe (and the instructors and students who have used our book have confirmed) to be the most important aspects of this book: its top-down approach, its focus on the Internet and a modern treatment of computer networking, its attention to both principles and prac- tice, and its accessible style and approach toward learning about computer network- ing. Nevertheless, the eighth edition has been revised and updated substantially. Readers of earlier editions of our book may recall that in moving from the sixth to the seventh edition, we deepened our coverage of the network layer, expanding material which had been previously covered in a single chapter into a new chapter focused on the so-called “data plane” component of the network layer (Chapter 4) and a new chapter focused on the network layer’s “control plane” (Chapter 5). That change turned out to be prescient, as software-defined networking (SDN), arguably the most important and exciting advance in networking in decades, has been rapidly adopted in practice—so much so that it’s already hard to imagine an introduction to modern computer networking that doesn’t cover SDN. SDN has also enabled new advances in the practice of network management, which we also cover in modernized and deep- er detail in this edition. And as we’ll see in Chapter 7 of this eighth edition, the separa- tion of the data and control planes is now also deeply embedded in 4G/5G mobile cellular network architectures, as is an “all-IP” approach to their core networks. The rapid adoption of 4G/5G networks and the mobile applications they enable are un- doubtedly the most significant changes we’ve seen in networking since the publication of our seventh edition. We’ve thus significantly updated and deepened our treatment of this exciting area. Indeed, the ongoing wireless network revolution is so important that we think it has become a critical part of an introductory networking course. In addition to these changes, we’ve also updated many sections throughout the book and added new material to reflect changes across the breadth of networking. In some cases, we have also retired material from the previous edition. As always, 7 A01_KURO5469_08_GE_FM.indd 7 11/05/2021 12:07 8 PREFACE material that has been retired from the printed text can always be found on our book’s Companion Website. The most important changes in this eighth edition are the following: Chapter 1 has been updated to reflect the ever-growing reach and use of the In- ternet, and of 4G/5G networks. Chapter 2, which covers the application layer, has been significantly updated, including material on the new HTTP/2 and HTTP/3 protocols for the Web. Chapter 3, has been updated to reflect advances in, and evolution in use of, transport-layer congestion control and error-control protocols over the past five years. While this material had remained relatively stable for quite some time, there have been a number of important advances since the seventh edition. Several new congestion-control algorithms have been developed and deployed beyond the “classic” TCP algorithms. We provide a deeper coverage of TCP CUBIC, the default TCP protocol in many deployed systems, and examine delay-based ap- proaches to congestion control, including the new BBR protocol, which is de- ployed in Google’s backbone network. We also study the QUIC protocol, which is being incorporated into the HTTP/3 standard. Although QUIC is technically not a transport-layer protocol—it provides application-layer reliability, conges- tion control, and connection multiplexing services at the application layer—it uses many of the error- and congestion-control principles that we develop in the early sections of Chapter 3. Chapter 4, which covers the network-layer data plane, has general updates throughout. We’ve added a new section on so-called middleboxes, which per- form network-layer functions other than routing and forwarding, such as firewall- ing and load balancing. Middleboxes build naturally on the generalized “match plus action” forwarding operation of network-layer devices that we cover earlier in Chapter 4. We’ve also added timely new material on topics such as the amount of buffering that is “just right” in network routers, on net neutrality, and on the architectural principles of the Internet. Chapter 5, which cover the network-layer’s control plane, contains updated ma- terial on SDN, and a significantly new treatment of network management. The use of SDN has evolved beyond management of packet-forwarding tables to in- clude configuration management of network devices as well. We introduce two new protocols, NETCONF and YANG, whose adoption and use have fueled this new approach toward network management. Chapter 6, which covers the link layer, has been updated to reflect the continu- ing evolution of link-layer technologies such as Ethernet. We have also updated and expanded our treatment of datacenter networks, which are at the heart of the technology driving much of today’s Internet commerce. As noted earlier, Chapter 7 has been significantly updated and revised to reflect the many changes in wireless networking since the seventh edition, from short- range Bluetooth piconets, to medium-range wireless 802.11 local area networks (WLANs), to wide-area 4G/5G wireless cellular networks. We have retired our A01_KURO5469_08_GE_FM.indd 8 11/05/2021 12:07 PREFACE 9 coverage of earlier 2G and 3G networks in favor of a broader and deeper treat- ment of today’s 4G LTE networks and tomorrow’s 5G networks. We have also updated our coverage of mobility issues, from the local issue of handover of mo- bile devices between base stations to the global issue of identity management and mobile device roaming among different global cellular networks. Chapter 8, which covers network security, has been updated to reflect changes in wireless network security in particular, with new material on WPA3 security in WLANs, and mutual device/network mutual authentication and confidentiality in 4G/5G networks. We have also retired Chapter 9, on multimedia networking, from this edition. Over time, as multimedia applications became more prevalent, we had already migrated Chapter 9 material on topics such as video streaming, packet scheduling, and content distribution networks into earlier chapters. As noted earlier, all retired material from this and earlier editions can be found on our book’s Companion Website. Audience This textbook is for a first course on computer networking. It can be used in both computer science and electrical engineering departments. In terms of programming languages, the book assumes only that the student has experience with C, C++, Java, or Python (and even then only in a few places). Although this book is more precise and analytical than many other introductory computer networking texts, it rarely uses any mathematical concepts that are not taught in high school. We have made a delib- erate effort to avoid using any advanced calculus, probability, or stochastic process concepts (although we’ve included some homework problems for students with this advanced background). The book is therefore appropriate for undergraduate courses and for first-year graduate courses. It should also be useful to practitioners in the networking industry. What Is Unique About This Textbook? The subject of computer networking is enormously complex, involving many con- cepts, protocols, and technologies that are woven together in an intricate manner. To cope with this scope and complexity, many computer networking texts are often organized around the “layers” of a network architecture. With a layered organization, students can see through the complexity of computer networking—they learn about the distinct concepts and protocols in one part of the architecture while seeing the big picture of how all parts fit together. From a pedagogical perspective, our personal experience has been that such a layered approach indeed works well. Nevertheless, we have found that the traditional approach of teaching—bottom up; that is, from the physical layer toward the application layer—is not the best approach for a modern course on computer networking. A01_KURO5469_08_GE_FM.indd 9 11/05/2021 12:07 10 PREFACE A Top-Down Approach Our book broke new ground 20 years ago by treating networking in a top-down manner—that is, by beginning at the application layer and working its way down toward the physical layer. The feedback we received from teachers and students alike have confirmed that this top-down approach has many advantages and does indeed work well pedagogically. First, it places emphasis on the application layer (a “high growth area” in networking). Indeed, many of the recent revolutions in computer networking—including the Web, and media streaming—have taken place at the application layer. An early emphasis on application-layer issues differs from the approaches taken in most other texts, which have only a small amount of material on network applications, their requirements, application-layer paradigms (e.g., client- server and peer-to-peer), and application programming interfaces. Second, our expe- rience as instructors (and that of many instructors who have used this text) has been that teaching networking applications near the beginning of the course is a powerful motivational tool. Students are thrilled to learn about how networking applications work—applications such as e-mail, streaming video, and the Web, which most stu- dents use on a daily basis. Once a student understands the applications, the student can then understand the network services needed to support these applications. The student can then, in turn, examine the various ways in which such services might be provided and implemented in the lower layers. Covering applications early thus pro- vides motivation for the remainder of the text. Third, a top-down approach enables instructors to introduce network applica- tion development at an early stage. Students not only see how popular applica- tions and protocols work, but also learn how easy it is to create their own network applications and application-layer protocols. With the top-down approach, students get early exposure to the notions of socket programming, service models, and protocols—important concepts that resurface in all subsequent layers. By providing socket programming examples in Python, we highlight the central ideas without confusing students with complex code. Undergraduates in electrical engineering and computer science will have no difficulty following the Python code. An Internet Focus Although we dropped the phrase “Featuring the Internet” from the title of this book with the fourth edition, this doesn’t mean that we dropped our focus on the Internet. Indeed, nothing could be further from the case! Instead, since the Internet has become so pervasive, we felt that any networking textbook must have a significant focus on the Internet, and thus this phrase was somewhat unnecessary. We continue to use the Internet’s architecture and protocols as primary vehicles for studying fundamental computer networking concepts. Of course, we also include concepts and protocols from other network architectures. But the spotlight is clearly on the Internet, a fact reflected in our organizing the book around the Internet’s five-layer architecture: the application, transport, network, link, and physical layers. A01_KURO5469_08_GE_FM.indd 10 11/05/2021 12:07 PREFACE 11 Another benefit of spotlighting the Internet is that most computer science and electrical engineering students are eager to learn about the Internet and its protocols. They know that the Internet has been a revolutionary and disruptive technology and can see that it is profoundly changing our world. Given the enormous relevance of the Internet, students are naturally curious about what is “under the hood.” Thus, it is easy for an instructor to get students excited about basic principles when using the Internet as the guiding focus. Teaching Networking Principles Two of the unique features of the book—its top-down approach and its focus on the Internet—have appeared in the titles of our book. If we could have squeezed a third phrase into the subtitle, it would have contained the word principles. The field of networking is now mature enough that a number of fundamentally important issues can be identified. For example, in the transport layer, the fundamental issues include reliable communication over an unreliable network layer, connection establishment/ teardown and handshaking, congestion and flow control, and multiplexing. Three fun- damentally important network-layer issues are determining “good” paths between two routers, interconnecting a large number of heterogeneous networks, and managing the complexity of a modern network. In the link layer, a fundamental problem is sharing a multiple access channel. In network security, techniques for providing confidentiality, authentication, and message integrity are all based on cryptographic fundamentals. This text identifies fundamental networking issues and studies approaches toward addressing these issues. The student learning these principles will gain knowledge with a long “shelf life”—long after many of today’s network standards and protocols have become obsolete, the principles they embody will remain important and rel- evant. We believe that the combination of using the Internet to get the student’s foot in the door and then emphasizing fundamental issues and solution approaches will allow the student to quickly understand just about any networking technology. Student Resources Student resources are available on the Companion Website (CW) at www.pearsonglobaleditions.com. Resources include: Interactive learning material. The book’s Website contains V ideoNotes— video presentations of important topics throughout the book done by the authors, as well as walkthroughs of solutions to problems similar to those at the end of the chapter. We’ve seeded the Website with VideoNotes and online prob- lems for Chapters 1 through 5. As in earlier editions, the Website contains the interactive animations that illustrate many key networking concepts. Pro- fessors can integrate these interactive features into their lectures or use them as mini labs. A01_KURO5469_08_GE_FM.indd 11 11/05/2021 12:07 12 PREFACE Additional technical material. As we have added new material in each edition of our book, we’ve had to remove coverage of some existing topics to keep the book at manageable length. Material that appeared in earlier editions of the text is still of interest, and thus can be found on the book’s Website. Programming assignments. The Website also provides a number of detailed programming assignments, which include building a multithreaded Web s erver, building an e-mail client with a GUI interface, programming the sender and receiver sides of a reliable data transport protocol, programming a distributed routing algorithm, and more. Wireshark labs. One’s understanding of network protocols can be greatly deepened by seeing them in action. The Website provides numerous Wireshark assignments that enable students to actually observe the sequence of messages exchanged between two protocol entities. The Website includes separate Wire- shark labs on HTTP, DNS, TCP, UDP, IP, ICMP, Ethernet, ARP, WiFi, TLS and on tracing all protocols involved in satisfying a request to fetch a Web page. We’ll continue to add new labs over time. Pedagogical Features We have each been teaching computer networking for more than 30 years. Together, we bring more than 60 years of teaching experience to this text, during which time we have taught many thousands of students. We have also been active researchers in computer networking during this time. (In fact, Jim and Keith first met each other as master’s students in a computer networking course taught by Mischa Schwartz in 1979 at Columbia University.) We think all this gives us a good perspective on where networking has been and where it is likely to go in the future. Nevertheless, we have resisted temptations to bias the material in this book toward our own pet research projects. We figure you can visit our personal Websites if you are interested in our research. Thus, this book is about modern computer networking—it is about contemporary protocols and technologies as well as the underlying principles behind these protocols and technologies. We also believe that learning (and teaching!) about networking can be fun. A sense of humor, use of analogies, and real-world examples in this book will hopefully make this material more fun. A01_KURO5469_08_GE_FM.indd 12 11/05/2021 12:07 PREFACE 13 Supplements for Instructors We provide a complete supplements package to aid instructors in teaching this course. This material can be accessed from Pearson’s Instructor Resource Center (http://www.pearsonglobaleditions.com). Visit the Instructor Resource Center for information about accessing these instructor’s supplements. PowerPoint® slides. We provide PowerPoint slides for all eight chapters. The slides have been completely updated with this eighth edition. The slides cover each chapter in detail. They use graphics and animations (rather than relying only on monotonous text bullets) to make the slides interesting and visually appealing. We provide the original PowerPoint slides so you can customize them to best suit your own teaching needs. Some of these slides have been contributed by other instructors who have taught from our book. Homework solutions. We provide a solutions manual for the homework prob- lems in the text, programming assignments, and Wireshark labs. As noted earlier, we’ve introduced many new homework problems at each chapter’s end. For additional interactive problems and solutions, an instructor (and students) can consult this books Companion Website at Pearson. Chapter Dependencies The first chapter of this text presents a self-contained overview of computer net- working. Introducing many key concepts and terminology, this chapter sets the stage for the rest of the book. All of the other chapters directly depend on this first chapter. After completing Chapter 1, we recommend instructors cover Chapters 2 through 6 in sequence, following our top-down philosophy. Each of these five chapters lever- ages material from the preceding chapters. After completing the first six chapters, the instructor has quite a bit of flexibility. There are no interdependencies among the last two chapters, so they can be taught in any order. However, the last two chapters depends on the material in the first six chapters. Many instructors first teach the first six chapters and then teach one of the last two chapters for “dessert.” One Final Note: We’d Love to Hear from You We encourage students and instructors to e-mail us with any comments they might have about our book. It’s been wonderful for us to hear from so many instructors and students from around the world about our first seven editions. We’ve incorporated many of these suggestions into later editions of the book. We also encourage instructors A01_KURO5469_08_GE_FM.indd 13 11/05/2021 12:07 14 PREFACE to send us new homework problems (and solutions) that would complement the cur- rent homework problems. We’ll post these on the instructor-only portion of the Web- site. We also encourage instructors and students to create new interactive animations that illustrate the concepts and protocols in this book. If you have an animation that you think would be appropriate for this text, please submit it to us. If the animation (including notation and terminology) is appropriate, we’ll be happy to include it on the text’s Website, with an appropriate reference to the animation’s authors. So, as the saying goes, “Keep those cards and letters coming!” Seriously, please do continue to send us interesting URLs, point out typos, disagree with any of our claims, and tell us what works and what doesn’t work. Tell us what you think should or shouldn’t be included in the next edition. Send your e-mail to [email protected] and [email protected]. Acknowledgments Since we began writing this book in 1996, many people have given us invaluable help and have been influential in shaping our thoughts on how to best organize and teach a networking course. We want to say A BIG THANKS to everyone who has helped us from the earliest first drafts of this book, up to this eighth edition. We are also very thankful to the thousands of readers from around the world—students, faculty, practitioners—who have sent us thoughts and comments on earlier editions of the book and suggestions for future editions of the book. Special thanks go out to: Al Aho (Columbia University) Hisham Al-Mubaid (University of Houston-Clear Lake) Pratima Akkunoor (Arizona State University) Paul Amer (University of Delaware) Shamiul Azom (Arizona State University) Lichun Bao (University of California at Irvine) Paul Barford (University of Wisconsin) Bobby Bhattacharjee (University of Maryland) Steven Bellovin (Columbia University) Pravin Bhagwat (Wibhu) Supratik Bhattacharyya (Amazon) Ernst Biersack (Eurécom Institute) Shahid Bokhari (University of Engineering & Technology, Lahore) Jean Bolot (Technicolor Research) Daniel Brushteyn (former University of Pennsylvania student) Ken Calvert (University of Kentucky) Evandro Cantu (Federal University of Santa Catarina) Jeff Case (SNMP Research International) Jeff Chaltas (Sprint) Vinton Cerf (Google) A01_KURO5469_08_GE_FM.indd 14 11/05/2021 12:07 PREFACE 15 Byung Kyu Choi (Michigan Technological University) Bram Cohen (BitTorrent, Inc.) Constantine Coutras (Pace University) John Daigle (University of Mississippi) Edmundo A. de Souza e Silva (Federal University of Rio de Janeiro) Philippe Decuetos (former Eurecom Institute student) Christophe Diot (Google) Prithula Dhunghel (Akamai) Deborah Estrin (Cornell University) Michalis Faloutsos (University of California at Riverside) Wu-chi Feng (Oregon Graduate Institute) Sally Floyd (ICIR, University of California at Berkeley) Paul Francis (Max Planck Institute) David Fullager (Netflix) Lixin Gao (University of Massachusetts) JJ Garcia-Luna-Aceves (University of California at Santa Cruz) Mario Gerla (University of California at Los Angeles) David Goodman (NYU-Poly) Yang Guo (Alcatel/Lucent Bell Labs) Tim Griffin (Cambridge University) Max Hailperin (Gustavus Adolphus College) Bruce Harvey (Florida A&M University, Florida State University) Carl Hauser (Washington State University) Rachelle Heller (George Washington University) Phillipp Hoschka (INRIA/W3C) Wen Hsin (Park University) Albert Huang (former University of Pennsylvania student) Cheng Huang (Microsoft Research) Esther A. Hughes (Virginia Commonwealth University) Van Jacobson (Google) Pinak Jain (former NYU-Poly student) Jobin James (University of California at Riverside) Sugih Jamin (University of Michigan) Shivkumar Kalyanaraman (IBM Research, India) Jussi Kangasharju (University of Helsinki) Sneha Kasera (University of Utah) Parviz Kermani (U. Massachusetts) Hyojin Kim (former University of Pennsylvania student) Leonard Kleinrock (University of California at Los Angeles) David Kotz (Dartmouth College) Beshan Kulapala (Arizona State University) Rakesh Kumar (Bloomberg) Miguel A. Labrador (University of South Florida) Simon Lam (University of Texas) A01_KURO5469_08_GE_FM.indd 15 11/05/2021 12:07 16 PREFACE Steve Lai (Ohio State University) Tom LaPorta (Penn State University) Tim-Berners Lee (World Wide Web Consortium) Arnaud Legout (INRIA) Lee Leitner (Drexel University) Brian Levine (University of Massachusetts) Chunchun Li (former NYU-Poly student) Yong Liu (NYU-Poly) William Liang (former University of Pennsylvania student) Willis Marti (Texas A&M University) Nick McKeown (Stanford University) Josh McKinzie (Park University) Deep Medhi (University of Missouri, Kansas City) Bob Metcalfe (International Data Group) Vishal Misra (Columbia University) Sue Moon (KAIST) Jenni Moyer (Comcast) Erich Nahum (IBM Research) Christos Papadopoulos (Colorado Sate University) Guru Parulkar (Open Networking Foundation) Craig Partridge (Colorado State University) Radia Perlman (Dell EMC) Jitendra Padhye (Microsoft Research) Vern Paxson (University of California at Berkeley) Kevin Phillips (Sprint) George Polyzos (Athens University of Economics and Business) Sriram Rajagopalan (Arizona State University) Ramachandran Ramjee (Microsoft Research) Ken Reek (Rochester Institute of Technology) Martin Reisslein (Arizona State University) Jennifer Rexford (Princeton University) Leon Reznik (Rochester Institute of Technology) Pablo Rodrigez (Telefonica) Sumit Roy (University of Washington) Catherine Rosenberg (University of Waterloo) Dan Rubenstein (Columbia University) Avi Rubin (Johns Hopkins University) Douglas Salane (John Jay College) Despina Saparilla (Cisco Systems) John Schanz (Comcast) Henning Schulzrinne (Columbia University) Mischa Schwartz (Columbia University) Ardash Sethi (University of Delaware) Harish Sethu (Drexel University) A01_KURO5469_08_GE_FM.indd 16 11/05/2021 12:07 PREFACE 17 K. Sam Shanmugan (University of Kansas) Prashant Shenoy (University of Massachusetts) Clay Shields (Georgetown University) Subin Shrestra (University of Pennsylvania) Bojie Shu (former NYU-Poly student) Mihail L. Sichitiu (NC State University) Peter Steenkiste (Carnegie Mellon University) Tatsuya Suda (University of California at Irvine) Kin Sun Tam (State University of New York at Albany) Don Towsley (University of Massachusetts) David Turner (California State University, San Bernardino) Nitin Vaidya (Georgetown University) Michele Weigle (Clemson University) David Wetherall (Google) Ira Winston (University of Pennsylvania) Di Wu (Sun Yat-sen University) Shirley Wynn (former NYU-Poly student) Raj Yavatkar (Google) Yechiam Yemini (Columbia University) Dian Yu (former NYU-Shanghai student) Ming Yu (State University of New York at Binghamton) Ellen Zegura (Georgia Institute of Technology) Honggang Zhang (Suffolk University) Hui Zhang (Carnegie Mellon University) Lixia Zhang (University of California at Los Angeles) Meng Zhang (former NYU-Poly student) Shuchun Zhang (former University of Pennsylvania student) Xiaodong Zhang (Ohio State University) ZhiLi Zhang (University of Minnesota) Phil Zimmermann (independent consultant) Mike Zink (University of Massachusetts) Cliff C. Zou (University of Central Florida) We also want to thank the entire Pearson team—in particular, Carole Snyder and Tracy Johnson—who have done an absolutely outstanding job on this eighth edition (and who have put up with two very finicky authors who seem congenitally unable to meet deadlines!). Thanks also to artists, Janet Theurer and Patrice Rossi Calkin, for their work on the beautiful figures in earlier editions of our book, and to Manas Roy and his team at SPi Global for their wonderful production work on this edition. Finally, a most special thanks go to our previous editors at Addison-Wesley and Pearson—Matt Goldstein, Michael Hirsch, and Susan Hartman. This book would not be what it is (and may well not have been at all) without their graceful management, constant encouragement, nearly infinite patience, good humor, and perseverance. A01_KURO5469_08_GE_FM.indd 17 11/05/2021 12:07 Acknowledgments for the Global Edition Pearson would like to thank and acknowledge the following people for their contributions to the Global Edition. Contributors Vangelis Angelakis (Linköping University) Reviewers Wim Lamotte (Universiteit Hasselt) Wei Tsang Ooi (National University of Singapore) Peter Quax (Universiteit Hasselt) Contributor and Reviewer Patrik Österberg (Mid Sweden University) A01_KURO5469_08_GE_FM.indd 18 11/05/2021 12:07 Brief Contents Chapter 1 Computer Networks and the Internet 31 Chapter 2 Application Layer 111 Chapter 3 Transport Layer 211 Chapter 4 The Network Layer: Data Plane 333 Chapter 5 The Network Layer: Control Plane 407 Chapter 6 The Link Layer and LANs 479 Chapter 7 Wireless and Mobile Networks 561 Chapter 8 Security in Computer Networks 637 References 721 Index 761 19 A01_KURO5469_08_GE_FM.indd 19 11/05/2021 12:07 This page is intentionally left blank A01_KURO5469_08_GE_FM.indd 20 11/05/2021 12:07 Table of Contents Chapter 1 Computer Networks and the Internet 31 1.1 What Is the Internet? 32 1.1.1 A Nuts-and-Bolts Description 32 1.1.2 A Services Description 35 1.1.3 What Is a Protocol? 37 1.2 The Network Edge 39 1.2.1 Access Networks 42 1.2.2 Physical Media 48 1.3 The Network Core 52 1.3.1 Packet Switching 53 1.3.2 Circuit Switching 57 1.3.3 A Network of Networks 61 1.4 Delay, Loss, and Throughput in Packet-Switched Networks 65 1.4.1 Overview of Delay in Packet-Switched Networks 65 1.4.2 Queuing Delay and Packet Loss 69 1.4.3 End-to-End Delay 71 1.4.4 Throughput in Computer Networks 73 1.5 Protocol Layers and Their Service Models 77 1.5.1 Layered Architecture 77 1.5.2 Encapsulation 82 1.6 Networks Under Attack 84 1.7 History of Computer Networking and the Internet 88 1.7.1 The Development of Packet Switching: 1961–1972 88 1.7.2 Proprietary Networks and Internetworking: 1972–1980 89 1.7.3 A Proliferation of Networks: 1980–1990 91 1.7.4 The Internet Explosion: The 1990s 92 1.7.5 The New Millennium 93 1.8 Summary 94 Homework Problems and Questions 96 Wireshark Lab 106 Interview: Leonard Kleinrock 108 21 A01_KURO5469_08_GE_FM.indd 21 11/05/2021 12:07 22 TABLE OF CONTENTS Chapter 2 Application Layer 111 2.1 Principles of Network Applications 112 2.1.1 Network Application Architectures 114 2.1.2 Processes Communicating 115 2.1.3 Transport Services Available to Applications 118 2.1.4 Transport Services Provided by the Internet 120 2.1.5 Application-Layer Protocols 124 2.1.6 Network Applications Covered in This Book 125 2.2 The Web and HTTP 125 2.2.1 Overview of HTTP 126 2.2.2 Non-Persistent and Persistent Connections 128 2.2.3 HTTP Message Format 131 2.2.4 User-Server Interaction: Cookies 135 2.2.5 Web Caching 138 2.2.6 HTTP/2 143 2.3 Electronic Mail in the Internet 146 2.3.1 SMTP 148 2.3.2 Mail Message Formats 151 2.3.3 Mail Access Protocols 151 2.4 DNS—The Internet’s Directory Service 152 2.4.1 Services Provided by DNS 153 2.4.2 Overview of How DNS Works 155 2.4.3 DNS Records and Messages 161 2.5 Peer-to-Peer File Distribution 166 2.6 Video Streaming and Content Distribution Networks 173 2.6.1 Internet Video 173 2.6.2 HTTP Streaming and DASH 174 2.6.3 Content Distribution Networks 175 2.6.4 Case Studies: Netflix and YouTube 179 2.7 Socket Programming: Creating Network Applications 182 2.7.1 Socket Programming with UDP 184 2.7.2 Socket Programming with TCP 189 2.8 Summary 195 Homework Problems and Questions 196 Socket Programming Assignments 205 Wireshark Labs: HTTP, DNS 207 Interview: Tim Berners-Lee 208 A01_KURO5469_08_GE_FM.indd 22 11/05/2021 12:07 TABLE OF CONTENTS 23 Chapter 3 Transport Layer 211 3.1 Introduction and Transport-Layer Services 212 3.1.1 Relationship Between Transport and Network Layers 212 3.1.2 Overview of the Transport Layer in the Internet 215 3.2 Multiplexing and Demultiplexing 217 3.3 Connectionless Transport: UDP 224 3.3.1 UDP Segment Structure 228 3.3.2 UDP Checksum 228 3.4 Principles of Reliable Data Transfer 230 3.4.1 Building a Reliable Data Transfer Protocol 232 3.4.2 Pipelined Reliable Data Transfer Protocols 241 3.4.3 Go-Back-N (GBN) 245 3.4.4 Selective Repeat (SR) 250 3.5 Connection-Oriented Transport: TCP 257 3.5.1 The TCP Connection 257 3.5.2 TCP Segment Structure 260 3.5.3 Round-Trip Time Estimation and Timeout 265 3.5.4 Reliable Data Transfer 268 3.5.5 Flow Control 276 3.5.6 TCP Connection Management 279 3.6 Principles of Congestion Control 285 3.6.1 The Causes and the Costs of Congestion 285 3.6.2 Approaches to Congestion Control 292 3.7 TCP Congestion Control 293 3.7.1 Classic TCP Congestion Control 293 3.7.2 Network-Assisted Explicit Congestion Notification and Delayed-based Congestion Control 304 3.7.3 Fairness 306 3.8 Evolution of Transport-Layer Functionality 309 3.9 Summary 312 Homework Problems and Questions 314 Programming Assignments 330 Wireshark Labs: Exploring TCP, UDP 330 Interview: Van Jacobson 331 Chapter 4 The Network Layer: Data Plane 333 4.1 Overview of Network Layer 334 4.1.1 Forwarding and Routing: The Data and Control Planes 334 4.1.2 Network Service Model 339 4.2 What’s Inside a Router? 341 4.2.1 Input Port Processing and Destination-Based Forwarding 344 4.2.2 Switching 347 A01_KURO5469_08_GE_FM.indd 23 11/05/2021 12:07 24 TABLE OF CONTENTS 4.2.3 Output Port Processing 349 4.2.4 Where Does Queuing Occur? 349 4.2.5 Packet Scheduling 355 4.3 The Internet Protocol (IP): IPv4, Addressing, IPv6, and More 360 4.3.1 IPv4 Datagram Format 361 4.3.2 IPv4 Addressing 363 4.3.3 Network Address Translation (NAT) 374 4.3.4 IPv6 377 4.4 Generalized Forwarding and SDN 383 4.4.1 Match 385 4.4.2 Action 386 4.4.3 OpenFlow Examples of Match-plus-action in Action 387 4.5 Middleboxes 390 4.6 Summary 394 Homework Problems and Questions 394 Wireshark Lab: IP 404 Interview: Vinton G. Cerf 405 Chapter 5 The Network Layer: Control Plane 407 5.1 Introduction 408 5.2 Routing Algorithms 410 5.2.1 The Link-State (LS) Routing Algorithm 413 5.2.2 The Distance-Vector (DV) Routing Algorithm 418 5.3 Intra-AS Routing in the Internet: OSPF 425 5.4 Routing Among the ISPs: BGP 429 5.4.1 The Role of BGP 429 5.4.2 Advertising BGP Route Information 430 5.4.3 Determining the Best Routes 432 5.4.4 IP-Anycast 436 5.4.5 Routing Policy 437 5.4.6 Putting the Pieces Together: Obtaining Internet Presence 440 5.5 The SDN Control Plane 441 5.5.1 The SDN Control Plane: SDN Controller and SDN Network-control Applications 444 5.5.2 OpenFlow Protocol 446 5.5.3 Data and Control Plane Interaction: An Example 448 5.5.4 SDN: Past and Future 449 5.6 ICMP: The Internet Control Message Protocol 453 5.7 Network Management and SNMP, NETCONF/YANG 455 5.7.1 The Network Management Framework 456 5.7.2 The Simple Network Management Protocol (SNMP) and the Management Information Base (MIB) 458 5.7.3 The Network Configuration Protocol (NETCONF) and YANG 462 5.8 Summary 466 A01_KURO5469_08_GE_FM.indd 24 11/05/2021 12:07 TABLE OF CONTENTS 25 Homework Problems and Questions 467 Socket Programming Assignment 5: ICMP Ping 473 Programming Assignment: Routing 474 Wireshark Lab: ICMP 475 Interview: Jennifer Rexford 476 Chapter 6 The Link Layer and LANs 479 6.1 Introduction to the Link Layer 480 6.1.1 The Services Provided by the Link Layer 482 6.1.2 Where Is the Link Layer Implemented? 483 6.2 Error-Detection and -Correction Techniques 484 6.2.1 Parity Checks 486 6.2.2 Checksumming Methods 488 6.2.3 Cyclic Redundancy Check (CRC) 489 6.3 Multiple Access Links and Protocols 491 6.3.1 Channel Partitioning Protocols 493 6.3.2 Random Access Protocols 495 6.3.3 Taking-Turns Protocols 504 6.3.4 DOCSIS: The Link-Layer Protocol for Cable Internet Access 505 6.4 Switched Local Area Networks 507 6.4.1 Link-Layer Addressing and ARP 508 6.4.2 Ethernet 514 6.4.3 Link-Layer Switches 521 6.4.4 Virtual Local Area Networks (VLANs) 527 6.5 Link Virtualization: A Network as a Link Layer 531 6.5.1 Multiprotocol Label Switching (MPLS) 532 6.6 Data Center Networking 535 6.6.1 Data Center Architectures 535 6.6.2 Trends in Data Center Networking 539 6.7 Retrospective: A Day in the Life of a Web Page Request 542 6.7.1 Getting Started: DHCP, UDP, IP, and Ethernet 542 6.7.2 Still Getting Started: DNS and ARP 544 6.7.3 Still Getting Started: Intra-Domain Routing to the DNS Server 545 6.7.4 Web Client-Server Interaction: TCP and HTTP 546 6.8 Summary 548 Homework Problems and Questions 549 Wireshark Labs: 802.11 Ethernet 557 Interview: Albert Greenberg 558 Chapter 7 Wireless and Mobile Networks 561 7.1 Introduction 562 7.2 Wireless Links and Network Characteristics 566 7.2.1 CDMA 569 A01_KURO5469_08_GE_FM.indd 25 11/05/2021 12:07 26 TABLE OF CONTENTS 7.3 WiFi: 802.11 Wireless LANs 572 7.3.1 The 802.11 Wireless LAN Architecture 574 7.3.2 The 802.11 MAC Protocol 578 7.3.3 The IEEE 802.11 Frame 583 7.3.4 Mobility in the Same IP Subnet 586 7.3.5 Advanced Features in 802.11 589 7.3.6 Personal Area Networks: Bluetooth 590 7.4 Cellular Networks: 4G and 5G 593 7.4.1 4G LTE Cellular Networks: Architecture and Elements 594 7.4.2 LTE Protocols Stacks 600 7.4.3 LTE Radio Access Network 601 7.4.4 Additional LTE Functions: Network Attachment and Power Management 602 7.4.5 The Global Cellular Network: A Network of Networks 604 7.4.6 5G Cellular Networks 605 7.5 Mobility Management: Principles 608 7.5.1 Device Mobility: a Network-layer Perspective 608 7.5.2 Home Networks and Roaming on Visited Networks 609 7.5.3 Direct and Indirect Routing to/from a Mobile Device 610 7.6 Mobility Management in Practice 617 7.6.1 Mobility Management in 4G/5G Networks 617 7.6.2 Mobile IP 622 7.7 Wireless and Mobility: Impact on Higher-Layer Protocols 624 7.8 Summary 626 Homework Problems and Questions 627 Wireshark Lab: WiFi 632 Interview: Deborah Estrin 633 Chapter 8 Security in Computer Networks 637 8.1 What Is Network Security? 638 8.2 Principles of Cryptography 640 8.2.1 Symmetric Key Cryptography 642 8.2.2 Public Key Encryption 648 8.3 Message Integrity and Digital Signatures 654 8.3.1 Cryptographic Hash Functions 655 8.3.2 Message Authentication Code 656 8.3.3 Digital Signatures 658 8.4 End-Point Authentication 664 8.5 Securing E-Mail 669 8.5.1 Secure E-Mail 670 8.5.2 PGP 673 A01_KURO5469_08_GE_FM.indd 26 11/05/2021 12:07 TABLE OF CONTENTS 27 8.6 Securing TCP Connections: TLS 674 8.6.1 The Big Picture 676 8.6.2 A More Complete Picture 679 8.7 Network-Layer Security: IPsec and Virtual Private Networks 681 8.7.1 IPsec and Virtual Private Networks (VPNs) 681 8.7.2 The AH and ESP Protocols 683 8.7.3 Security Associations 683 8.7.4 The IPsec Datagram 685 8.7.5 IKE: Key Management in IPsec 688 8.8 Securing Wireless LANs and 4G/5G Cellular Networks 689 8.8.1 Authentication and Key Agreement in 802.11 Wireless LANs 689 8.8.2 Authentication and Key Agreement in 4G/5G Cellular Networks 694 8.9 Operational Security: Firewalls and Intrusion Detection Systems 697 8.9.1 Firewalls 697 8.9.2 Intrusion Detection Systems 705 8.10 Summary 709 Homework Problems and Questions 710 Wireshark Lab: SSL 718 IPsec Lab 718 Interview: Steven M. Bellovin 719 References 721 Index 761 A01_KURO5469_08_GE_FM.indd 27 11/05/2021 12:07 This page is intentionally left blank A01_KURO5469_08_GE_FM.indd 28 11/05/2021 12:07 COMPUTER EIGHTH EDITION GLOBAL EDITION NETWORKING A Top-Down Approach A01_KURO5469_08_GE_FM.indd 29 11/05/2021 12:07 This page is intentionally left blank A01_KURO5469_08_GE_FM.indd 30 11/05/2021 12:07 CHAPTER 1 Computer Networks and the Internet Today’s Internet is arguably the largest engineered system ever created by m ankind, with hundreds of millions of connected computers, communication links, and switches; with billions of users who connect via laptops, tablets, and smartphones; and with an array of new Internet-connected “things” including game consoles, sur- veillance systems, watches, eye glasses, thermostats, and cars. Given that the Inter- net is so large and has so many diverse components and uses, is there any hope of understanding how it works? Are there guiding principles and structure that can provide a foundation for understanding such an amazingly large and complex sys- tem? And if so, is it possible that it actually could be both interesting and fun to learn about computer networks? Fortunately, the answer to all of these questions is a resounding YES! Indeed, it’s our aim in this book to provide you with a modern introduction to the dynamic field of computer networking, giving you the princi- ples and practical insights you’ll need to understand not only today’s networks, but tomorrow’s as well. This first chapter presents a broad overview of computer networking and the Internet. Our goal here is to paint a broad picture and set the context for the rest of this book, to see the forest through the trees. We’ll cover a lot of ground in this introductory chapter and discuss a lot of the pieces of a computer network, without losing sight of the big picture. We’ll structure our overview of computer networks in this chapter as follows. After introducing some basic terminology and concepts, we’ll first examine the basic hardware and software components that make up a network. We’ll begin at the net- work’s edge and look at the end systems and network applications running in the network. We’ll then explore the core of a computer network, examining the links 31 31 M01_KURO5469_08_GE_C01.indd 31 08/05/2021 13:49 32 CHAPTER 1 COMPUTER NETWORKS AND THE INTERNET and the switches that transport data, as well as the access networks and physical media that connect end systems to the network core. We’ll learn that the Internet is a network of networks, and we’ll learn how these networks connect with each other. After having completed this overview of the edge and core of a computer net- work, we’ll take the broader and more abstract view in the second half of this chap- ter. We’ll examine delay, loss, and throughput of data in a computer network and provide simple quantitative models for end-to-end throughput and delay: models that take into account transmission, propagation, and queuing delays. We’ll then introduce some of the key architectural principles in computer networking, namely, protocol layering and service models. We’ll also learn that computer networks are vulnerable to many different types of attacks; we’ll survey some of these attacks and consider how computer networks can be made more secure. Finally, we’ll close this chapter with a brief history of computer networking. 1.1 What Is the Internet? In this book, we’ll use the public Internet, a specific computer network, as our prin- cipal vehicle for discussing computer networks and their protocols. But what is the Internet? There are a couple of ways to answer this question. First, we can describe the nuts and bolts of the Internet, that is, the basic hardware and software components that make up the Internet. Second, we can describe the Internet in terms of a network- ing infrastructure that provides services to distributed applications. Let’s begin with the nuts-and-bolts description, using Figure 1.1 to illustrate our discussion. 1.1.1 A Nuts-and-Bolts Description The Internet is a computer network that interconnects billions of computing devices throughout the world. Not too long ago, these computing devices were primarily traditional desktop computers, Linux workstations, and so-called servers that store and transmit information such as Web pages and e-mail messages. Increasingly, however, users connect to the Internet with smartphones and tablets—today, close to half of the world’s population are active mobile Internet users with the percentage expected to increase to 75% by 2025 [Statista 2019]. Furthermore, nontraditional Internet “things” such as TVs, gaming consoles, thermostats, home security systems, home appliances, watches, eye glasses, cars, traffic control systems, and more are being connected to the Internet. Indeed, the term computer network is beginning to sound a bit dated, given the many nontraditional devices that are being hooked up to the Internet. In Internet jargon, all of these devices are called hosts or end systems. By some estimates, there were about 18 billion devices connected to the Internet in 2017, and the number will reach 28.5 billion by 2022 [Cisco VNI 2020]. M01_KURO5469_08_GE_C01.indd 32 08/05/2021 13:49 1.1 What Is the Internet? 33 National or Global ISP Mobile Network Datacenter Network Datacenter Network Local or Home Network Regional ISP Content Provider Network Enterprise Network Key: Host Server Mobile Router Link-layer Base Smartphone Cell phone (= end system) Computer switch station or tablet tower Datacenter Workstation Traffic light Thermostat Fridge Figure 1.1 ♦ Some pieces of the Internet M01_KURO5469_08_GE_C01.indd 33 08/05/2021 13:49 34 CHAPTER 1 COMPUTER NETWORKS AND THE INTERNET End systems are connected together by a network of communication links and packet switches. We’ll see in Section 1.2 that there are many types of communica- tion links, which are made up of different types of physical media, including coaxial cable, copper wire, optical fiber, and radio spectrum. Different links can transmit data at different rates, with the transmission rate of a link measured in bits/second. When one end system has data to send to another end system, the sending end system segments the data and adds header bytes to each segment. The resulting packages of information, known as packets in the jargon of computer networks, are then sent through the network to the destination end system, where they are reassembled into the original data. A packet switch takes a packet arriving on one of its incoming communication links and forwards that packet on one of its outgoing communication links. Packet switches come in many shapes and flavors, but the two most prominent types in today’s Internet are routers and link-layer switches. Both types of switches forward packets toward their ultimate destinations. Link-layer switches are typically used in access networks, while routers are typically used in the network core. The sequence of communication links and packet switches traversed by a packet from the send- ing end system to the receiving end system is known as a route or path through the network. Cisco predicts annual global IP traffic will reach nearly five zettabytes (1021 bytes) by 2022 [Cisco VNI 2020]. Packet-switched networks (which transport packets) are in many ways similar to transportation networks of highways, roads, and intersections (which transport vehicles). Consider, for example, a factory that needs to move a large amount of cargo to some destination warehouse located thousands of kilometers away. At the factory, the cargo is segmented and loaded into a fleet of trucks. Each of the trucks then independently travels through the network of highways, roads, and intersections to the destination warehouse. At the destination ware- house, the cargo is unloaded and grouped with the rest of the cargo arriving from the same shipment. Thus, in many ways, packets are analogous to trucks, communication links are analogous to highways and roads, packet switches are analogous to intersections, and end systems are analogous to buildings. Just as a truck takes a path through the transportation network, a packet takes a path through a computer network. End systems access the Internet through Internet Service Providers (ISPs), including residential ISPs such as local cable or telephone companies; corpo- rate ISPs; university ISPs; ISPs that provide WiFi access in airports, hotels, cof- fee shops, and other public places; and cellular data ISPs, providing mobile access to our smartphones and other devices. Each ISP is in itself a network of packet switches and communication links. ISPs provide a variety of types of network access to the end systems, including residential broadband access such as cable modem or DSL, high-speed local area network access, and mobile wireless access. ISPs also provide Internet access to content providers, connecting servers directly to the Internet. The Internet is all about connecting end systems to each other, so the M01_KURO5469_08_GE_C01.indd 34 08/05/2021 13:50 1.1 What Is the Internet? 35 ISPs that provide access to end systems must also be interconnected. These lower- tier ISPs are thus interconnected through national and international upper-tier ISPs and these upper-tier ISPs are connected directly to each other. An upper-tier ISP consists of high-speed routers interconnected with high-speed fiber-optic links. Each ISP network, whether upper-tier or lower-tier, is managed independently, runs the IP protocol (see below), and conforms to certain naming and address conventions. We’ll examine ISPs and their interconnection more closely in Section 1.3. End systems, packet switches, and other pieces of the Internet run protocols that control the sending and receiving of information within the Internet. The Transmission Control Protocol (TCP) and the Internet Protocol (IP) are two of the most impor- tant protocols in the Internet. The IP protocol specifies the format of