Computer Networking: A Top-Down Approach, Global Edition

Total pages
June 2021

Product detail

Product Price CHF Available  
Computer Networking: A Top-Down Approach, Global Edition


This print textbook is available for students to rent for their classes. The Pearson print rental program provides students with affordable access to learning materials, so they come to class ready to succeed.

For courses in Networking/Communications.

Motivate your students with a top-down, layered approach to computer networking

Unique among computer networking texts, the 8th Edition of the popular Computer Networking: A Top Down Approach builds on the authors’ long tradition of teaching this complex subject through a layered approach in a “top-down manner.” The text works its way from the application layer down toward the physical layer, motivating students by exposing them to important concepts early in their study of networking. Focusing on the Internet and the fundamentally important issues of networking, this text provides an excellent foundation for students in computer science and electrical engineering, without requiring extensive knowledge of programming or mathematics. The 8th Edition has been updated to reflect the most important and exciting recent advances in networking, including software-defined networking (SDN) and the rapid adoption of 4G/5G networks and the mobile applications they enable.


Hallmark features of this title

  • VideoNote presentations, programming assignments, Wireshark labs, and additional technical material are available on the Companion Website at
  • The author-maintained website at contains additional resources and interactive exercises that allow students to generate (and view solutions for) problems similar to those in the text so they can work until the material is truly mastered.
  • A balanced presentation focuses on the Internet as a specific motivating example of a network and also introduces students to protocols in a more theoretical context.
  • Principles and Practice boxes throughout demonstrate real-world applications of the principles studied.
  • Case History boxes help tell the story of the history and development of computer networking.
  • Material on application programming development is included, along with numerous programming assignments.
  • A highly developed art program enhances the descriptions of concepts.

New to this Edition

  • Expanded and significantly updated coverage reflects the swift rise in importance of software-defined networking (SDN) and the rapid adoption of 4G/5G networks and the mobile applications they enable – arguably the most important and exciting advances in networking in decades.
  • Individual chapters have been updated to reflect changes in the field of computer networking:
    • Chapter 1 has been updated to reflect the ever-growing reach and use of the Internet, and of 4G/5G networks.
    • Chapter 2, which covers the application layer, has been significantly updated, including material on the new HTTP/2 and HPPT/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. Updated coverage includes expanded examinations of TCP CUBIC, the default TCP protocol in many deployed systems, and delay-based approaches to congestion control, including the new BBR protocol, which is deployed in Google’s backbone network. Additional coverage studies the QUIC protocol, which is being incorporated into the HTTP/3 standard.
    • Chapter 4, which covers the network-layer data plane, has general updates throughout. A new section is included on so-called “middleboxes,” which perform network-layer functions other than routing and forwarding, such as firewalling and load balancing. Timely new material is included on topics such as the amount of buffering that is “just right” in network routers, net neutrality, and the architectural principles of the Internet.
    • Chapter 5, which covers the network-layer’s control plane, contains updated material on SDN, and a significantly new treatment of network management. The use of SDN has evolved beyond management of packet-forwarding tables to include configuration management of network devices as well. Two new protocols are introduced, NETCONF and YANG, whose adoption and use have fueled this new approach towards network management.
    • Chapter 6, which covers the link layer, has been updated to reflect the continuing evolution of link-layer technologies such as Ethernet. Also included is an updated and expanded treatment of datacenter networks, which are at the heart of the technology driving much of today’s Internet commerce.
    • Chapter 7 has been significantly updated and revised to reflect the many changes in wireless networking since the 7th edition, from short-range Bluetooth piconets, to medium-range wireless 802.11 local area networks (WLANs), to wide-area 4G/5G wireless cellular networks. Coverage of earlier 2G and 3G networks is retired in favor of a broader and deeper treatment of today’s 4G LTE networks and tomorrow’s 5G networks. Updated coverage of mobility issues, from the local issue of handover of mobile devices between base stations to the global issue of identity management and mobile device roaming among global cellular provider networks, is provided.
    • 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.

Table of Contents

Chapter 1: Computer Networks and the Internet     

1.1    What Is the Internet?    
    1.1.1    A Nuts-and-Bolts Description    
    1.1.2    A Services Description    
    1.1.3    What Is a Protocol?    
1.2    The Network Edge     
    1.2.1    Access Networks     
    1.2.2    Physical Media     
1.3    The Network Core     
    1.3.1    Packet Switching     
    1.3.2    Circuit Switching     
    1.3.3    A Network of Networks     
1.4    Delay, Loss, and Throughput in Packet-Switched Networks     
    1.4.1    Overview of Delay in Packet-Switched Networks     
    1.4.2    Queuing Delay and Packet Loss     
    1.4.3    End-to-End Delay     
    1.4.4    Throughput in Computer Networks     
1.5    Protocol Layers and Their Service Models     
    1.5.1    Layered Architecture     
    1.5.2    Encapsulation     
1.6    Networks Under Attack     
1.7    History of Computer Networking and the Internet     
    1.7.1    The Development of Packet Switching: 1961—1972     
    1.7.2    Proprietary Networks and Internetworking: 1972—1980     
    1.7.3    A Proliferation of Networks: 1980—1990     
    1.7.4    The Internet Explosion: The 1990s     
    1.7.5    The New Millennium     
1.8    Summary     
Homework Problems and Questions     
Wireshark Lab     

Chapter 2: Application Layer     
2.1    Principles of Network Applications     
    2.1.1    Network Application Architectures     
    2.1.2    Processes Communicating     
    2.1.3    Transport Services Available to Applications     
    2.1.4    Transport Services Provided by the Internet     
    2.1.5    Application-Layer Protocols     
    2.1.6    Network Applications Covered in This Book     
2.2    The Web and HTTP     
    2.2.1    Overview of HTTP     
    2.2.2    Non-Persistent and Persistent Connections     
    2.2.3    HTTP Message Format     
    2.2.4    User-Server Interaction: Cookies     
    2.2.5    Web Caching     
    2.2.6    HTTP/2
2.3    Electronic Mail in the Internet     
    2.3.1    SMTP     
    2.3.2    Mail Message Formats     
    2.3.3    Mail Access Protocols     
2.4    DNS–The Internet’s Directory Service     
    2.4.1    Services Provided by DNS     
    2.4.2    Overview of How DNS Works     
    2.4.3    DNS Records and Messages     
2.5    Peer-to-Peer Applications     
    2.5.1    P2P File Distribution     
2.6    Video Streaming and Content Distribution Networks     
    2.6.1    Internet Video     
    2.6.2    HTTP Streaming and DASH     
    2.6.3    Content Distribution Networks     
    2.6.4    Case Studies: Netflix and YouTube    
2.7    Socket Programming: Creating Network Applications      
    2.7.1    Socket Programming with UDP     
    2.7.2    Socket Programming with TCP     
2.8    Summary     
Homework Problems and Questions     
Socket Programming Assignments     
Wireshark Labs: HTTP, DNS      
Chapter 3: Transport Layer    
3.1    Introduction and Transport-Layer Services     
    3.1.1    Relationship Between Transport and Network Layers    
    3.1.2    Overview of the Transport Layer in the Internet    
3.2    Multiplexing and Demultiplexing    
3.3    Connectionless Transport: UDP    
    3.3.1    UDP Segment Structure    
    3.3.2    UDP Checksum    
3.4    Principles of Reliable Data Transfer    
    3.4.1    Building a Reliable Data Transfer Protocol    
    3.4.2    Pipelined Reliable Data Transfer Protocols    
    3.4.3    Go-Back-N (GBN)    
    3.4.4    Selective Repeat (SR)    
3.5    Connection-Oriented Transport: TCP    
    3.5.1    The TCP Connection    
    3.5.2    TCP Segment Structure    
    3.5.3    Round-Trip Time Estimation and Timeout    
    3.5.4    Reliable Data Transfer    
    3.5.5    Flow Control    
    3.5.6    TCP Connection Management    
3.6    Principles of Congestion Control    
    3.6.1    The Causes and the Costs of Congestion    
    3.6.2    Approaches to Congestion Control    
3.7    TCP Congestion Control    
    3.7.1    Classic TCP congestion Control
    3.7.2    Network-Assisted Explicit Congestion Notification and Delay-based Congestion Control
    3.7.3    Fairness
3.8    Evolution of transport-layer functionality    
3.9    Summary    
Homework Problems and Questions    
Programming Assignments    
Wireshark Labs: Exploring TCP, UDP

Chapter 4: The Network Layer: Data Plane    
4.1    Overview of Network Layer    
    4.1.1    Forwarding and Routing: The Network Data and Control Planes    
    4.1.2    Network Service Models    
4.2    What’s Inside a Router?    
    4.2.1    Input Port Processing and Destination-Based Forwarding    
    4.2.2    Switching    
    4.2.3    Output Port Processing
    4.2.4    Where Does Queuing Occur?    
    4.2.5    Packet Scheduling    
4.3    The Internet Protocol (IP): IPv4, Addressing, IPv6, and More    
    4.3.1    IPv4 Datagram Format    
    4.3.2    IPv4 Addressing    
    4.3.3    Network Address Translation (NAT)    
    4.3.4    IPv6    
4.4    Generalized Forwarding and SDN    
    4.4.1    Match    
    4.4.2    Action    
    4.4.3    OpenFlow Examples of Match-plus-action in Action    
4.5    Middleboxes    
4.6    Summary    
Homework Problems and Questions    
Wireshark Lab: IP    
Chapter 5: The Network Layer: Control Plane    
5.1    Introduction    
5.2    Routing Algorithms    
    5.2.1    The Link-State (LS) Routing Algorithm    
    5.2.2    The Distance-Vector (DV) Routing Algorithm    
5.3    Intra-AS Routing in the Internet: OSPF    
5.4    Routing Among the ISPs: BGP    
    5.4.1    The Role of BGP    
    5.4.2    Advertising BGP Route Information    
    5.4.3    Determining the Best Routes    
    5.4.4    IP-Anycast    
    5.4.5    Routing Policy    
    5.4.6    Putting the Pieces Together: Obtaining Internet Presence    
5.5    The SDN Control Plane    
    5.5.1    The SDN Control Plane: SDN Controller and SDN Control Applications    
    5.5.2    OpenFlow Protocol    
    5.5.3    Data and Control Plane Interaction: An Example    
    5.5.4    SDN: Past and Future    
5.6    ICMP: The Internet Control Message Protocol    
5.7    Network Management, SNMP, and NETCONF/YANG    
    5.7.1    The Network Management Framework    
    5.7.2    The Simple Network Management Protocol (SNMP)   
    5.7.3    NETCONF and YANG
5.8    Summary
Homework Problems and Questions    
Socket Programming Assignment    
Programming Assignment    
Wireshark Lab: ICMP    

Chapter 6: The Link Layer and LANs    
6.1    Introduction to the Link Layer    
    6.1.1    The Services Provided by the Link Layer    
    6.1.2    Where Is the Link Layer Implemented?     
6.2    Error-Detection and -Correction Techniques    
    6.2.1    Parity Checks    
    6.2.2    Checksumming Methods    
    6.2.3    Cyclic Redundancy Check (CRC)    
6.3    Multiple Access Links and Protocols    
    6.3.1    Channel Partitioning Protocols    
    6.3.2    Random Access Protocols    
    6.3.3    Taking-Turns Protocols    
    6.3.4    DOCSIS: The Link-Layer Protocol for Cable Internet Access    
6.4    Switched Local Area Networks    
    6.4.1    Link-Layer Addressing and ARP    
    6.4.2    Ethernet    
    6.4.3    Link-Layer Switches    
    6.4.4    Virtual Local Area Networks (VLANs)    
6.5    Link Virtualization: A Network as a Link Layer    
    6.5.1    Multiprotocol Label Switching (MPLS)    
6.6    Data Center Networking   
    6.6.1     Data Center Architectures
    6.6.2     Trends in Data Center Networking
6.7    Retrospective: A Day in the Life of a Web Page Request    
    6.7.1    Getting Started: DHCP, UDP, IP, and Ethernet    
    6.7.2    Still Getting Started: DNS and ARP    
    6.7.3    Still Getting Started: Intra-Domain Routing to the DNS Server    
    6.7.4    Web Client-Server Interaction: TCP and HTTP    
6.8    Summary    
Homework Problems and Questions    
Wireshark Labs: Ethernet and Home Networking    
Chapter 7: Wireless and Mobile Networks    
7.1    Introduction    
7.2    Wireless Links and Network Characteristics    
    7.2.1    CDMA
7.3    Wireless LANs    
    7.3.1    The 802.11 Architecture    
    7.3.2    The 802.11 MAC Protocol    
    7.3.3    The IEEE 802.11 Frame    
    7.3.4    Mobility in the Same IP Subnet    
    7.3.5    Advanced Features in 802.11    
    7.3.6    Bluetooth
7.4    Cellular Networks: 4G and 5G    
    7.4.1    4G LTE Cellular Networks: Architecture and Elements
    7.4.2    LTE Protocol Stacks
    7.4.3    LTE Radio Access Network
    7.4.4    LTE Network Attachment and Power Management
    7.4.5    The Global Cellular Network: a Network of Networks
    7.4.6    5G Cellular Networks
7.5    Mobility Management: Principles    
    7.5.1    Device Mobility: a Network-layer Perspective
    7.5.2    Home Networks and Roaming on Visited Networks
    7.5.3    Direct and Indirect Routing to/from a Mobile Device  
7.6    Mobile Management in Practice
    7.6.1    Mobility Management in 4G/5G Networks
    7.6.2    Mobile IP  
7.7 Wireless and Mobility: Impact on Higher-Layer Protocols    
7.8    Summary    
Homework Problems and Questions    
Wireshark Lab: 802.11

Chapter 8: Security in Computer Networks    
8.1    What Is Network Security?    
8.2    Principles of Cryptography    
    8.2.1    Symmetric Key Cryptography    
    8.2.2    Public Key Encryption    
8.3    Message Integrity and Digital Signatures    
    8.3.1    Cryptographic Hash Functions    
    8.3.2    Message Authentication Code    
    8.3.3    Digital Signatures    
8.4    End-Point Authentication    
    8.4.1    Building an Authentication Protocol     
8.5    Securing E-Mail    
    8.5.1    Secure E-Mail    
    8.5.2    PGP    
8.6    Securing TCP Connections: SSL    
    8.6.1    The Big Picture    
    8.6.2    A More Complete Picture    
8.7    Network-Layer Security: IPsec and Virtual Private Networks    
    8.7.1    IPsec and Virtual Private Networks (VPNs)    
    8.7.2    The AH and ESP Protocols     
    8.7.3    Security Associations    
    8.7.4    The IPsec Datagram    
    8.7.5    IKE: Key Management in IPsec    
8.8    Securing Wireless LANs     and 4G/5G Cellular Networks
    8.8.1    Authentication and Key Agreement in 802.11 Wireless LANs 
    8.8.2    Authentication and Key Agreement in 4G/5G Cellular Networks 
8.9    Operational Security: Firewalls and Intrusion Detection Systems    
    8.9.1    Firewalls    
    8.9.2    Intrusion Detection Systems    
8.10    Summary    
Homework Problems and Questions    
Wireshark Lab: SSL    
IPsec Lab


About our authors

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 US and abroad, including IBM Research, INRIA and the Sorbonne University in France. He recently completed a 5-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 is 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 former 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 and the ACM. His research interests include network protocols and architecture, network measurement, multimedia communication, and modeling and performance evaluation.

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 measurement of computer networks, peer-to-peer systems, content distribution networks, social networks and privacy. He is currently working in deep reinforcement 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 program 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.