به ویرایش هشتم کتاب «شبکههای کامپیوتری: رویکردی از بالا به پایین، نسخه جهانی» خوش آمدید. از زمان انتشار ویرایش اول در 16 سال پیش، کتاب ما برای استفاده در صدها دانشکده و دانشگاه انتخاب شده است، به 14 زبان ترجمه شده و بیش از صد هزار دانشجو و شاغل در سراسر جهان از آن استفاده میکنند. ما از بسیاری از این خوانندگان شنیده ایم و غرق در واکنشهای مثبت شده ایم.
ما فکر میکنیم یکی از دلایل مهم این موفقیت این بوده است که کتاب ما همچنان رویکردی تازه و به موقع برای آموزش شبکههای کامپیوتری ارائه میدهد. ما در ویرایش هشتم این کتاب تغییراتی ایجاد کرده ایم، اما آن چیز هایی را که معتقدیم از مهمترین جنبههای این کتاب هستند (و مدرسان و دانشجویانی که از کتاب ما استفاده کرده اند نیز تأیید کرده اند) را بدون تغییر نگه داشته ایم: رویکرد بالا به پایین آن، تمرکز آن بر اینترنت و نگرشی مدرن از شبکههای کامپیوتری، توجه آن به هر دوی اصول و عمل، و سبک و رویکرد قابل دسترسی آن نسبت به یادگیری در مورد شبکههای کامپیوتری. با این وجود، ویرایش هشتم به طور اساسی تجدید نظر و به روز شده است.
کتاب Computer Networking: A Top-Down Approach 8th Edition, Global Edition (ویرایش هشتم شبکههای کامپیوتری: رویکردی از بالا به پایین، نسخه جهانی)، در میان متون شبکههای کامپیوتری منحصر به فرد است: رویکرد بالا به پایین آن که بر اساس سابقه طولانی نویسنده در آموزش این موضوع پیچیده از طریق رویکردی لایه ای به صورت «بالا به پایین» بنا میشود. این کتاب از لایه برنامه به سمت پایین و تا لایه فیزیکی حرکت میکند و با قرار دادن خوانندگان در معرض مفاهیم مهم در اوایل مطالعه شبکه، در آنها انگیزه ایجاد میکند. با تمرکز بر روی اینترنت و موضوعات مهم و اساسی شبکه، این کتاب پایه ای عالی را برای خوانندگان علاقه مند به علوم کامپیوتر و مهندسی برق، بدون نیاز به دانش گسترده ای از برنامه نویسی یا ریاضیات، فراهم میکند.
ویرایش هشتم کتاب شبکههای کامپیوتری به روز شده است تا مهمترین و مهیجترین پیشرفتهای اخیر در شبکه را منعکس کند از جمله شبکه نرم افزاری تعریف شده (SDN) و پذیرش سریع شبکههای 4G/5G و کاربردهای سیاری که قادر هستند.
مهمترین تغییرات ویرایش هشتم کتاب شبکههای کامپیوتری کراس و راس عبارتند از:
- فصل 1 به منظور منعکس کردن دسترسی و استفاده روز افزون از اینترنت و شبکههای 4G/5G به روز شده است.
- فصل 2، که لایه برنامه را پوشش میدهد، به طور قابل توجهی به روز شده است، از جمله مطالب مربوط به پروتکلهای جدید HTTP/2 و HTTP/3 برای وب.
- فصل 3، به منظور منعکس کردن پیشرفتها و تکاملات در استفاده از پروتکلهای کنترل ازدحام و خطای لایه انتقال در طی پنج سال گذشته به روز شده است. در حالی که این موضوع برای مدتی نسبتاً پایدار باقی مانده بود، از زمان ویرایش هفتم پیشرفتهای مهمی صورت گرفته است. چندین الگوریتم جدید کنترل ازدحام توسعه یافته و فراتر از الگوریتمهای TCP «کلاسیک» به کار گرفته شده اند. ما پوشش عمیقتری از TCP CUBIC، که پروتکل پیش فرض TCP در بسیاری از سیستمهای استقرار یافته است ارائه میدهیم و رویکردهای مبتنی بر تاخیر برای کنترل ازدحام را بررسی میکنیم، از جمله پروتکل جدید BBR، که در ستون فقرات شبکه Google استقرار یافته است. ما همچنین پروتکل QUIC را که در استاندارد HTTP/3 گنجانده شده است، مطالعه میکنیم. اگرچه QUIC از نظر فنی یک پروتکل لایه انتقال نیست، قابلیت اطمینان لایه برنامه، کنترل ازدحام و خدمات مالتی پلکس اتصال را در لایه برنامه ارائه میدهد و از بسیاری از اصول کنترل خطا و ازدحام که در بخشهای اولیه فصل 3 توسعه داده ایم استفاده میکند.
- فصل 4، که سطح دادههای لایه شبکه را پوشش میدهد، تماما به روز رسانی کلی شده است. ما بخش جدیدی را به اصطلاح جعبههای میانی اضافه کرده ایم که عملکردهای لایه شبکه به غیر از مسیریابی و ارسال را انجام میدهد، مانند دیوار آتش و تعدیل بار. جعبههای میانی به طور طبیعی بر روی "match plus action" تعمیم یافته عمل ارسال دستگاههای لایه شبکه که قبلاً در فصل 4 به آنها پرداخته ایم، بنا میشوند. ما همچنین مطالب جدیدی را به موقع درباره موضوعاتی مانند میزان بافر مناسب در روترهای شبکه، بی طرفی شبکه و اصول معماری اینترنت اضافه کرده ایم.
- فصل 5، که سطح کنترل لایه شبکه را پوشش میدهد، حاوی مطالب به روز شده درباره SDN و روش به طور قابل توجه جدیدی برای مدیریت شبکه است. استفاده از SDN، فراتر از مدیریت جدولهای ارسال پکت تکامل یافته تا مدیریت پیکربندی دستگاههای شبکه را نیز شامل شود. ما دو پروتکل جدید NETCONF و YANG را معرفی میکنیم که پذیرش و استفاده از آنها، این رویکرد جدید را به سوی مدیریت شبکه تقویت کرده است.
- فصل 6، که لایه پیوند را پوشش میدهد، به روز شده است تا تکامل مداوم فناوریهای لایه پیوند مانند اترنت را منعکس کند. ما همچنین روشهای خود را در مورد شبکههای مرکز داده، که در قلب فن آوری بسیاری از تجارت امروز اینترنت قرار دارند، به روز کرده و گسترش داده ایم.
- همانطور که قبلاً نیز اشاره شد ، فصل 7 به طور قابل توجهی به روز شده و مورد تجدید نظر قرار گرفته است تا تغییرات متعدد در شبکههای بی سیم را از زمان ویرایش هفتم نشان دهد، از piconetهای بلوتوث کوتاه برد، تا شبکههای محلی بی سیم 802.11 با برد متوسط (WLAN) ، و شبکههای سلولی بیسیم 4G/5G. ما پوشش شبکههای 2G و 3G قبلی خود را به نفع روشهای گستردهتر و عمیقتر شبکههای امروزی 4G LTE و شبکههای 5G فردا، کنار گذاشته ایم. ما همچنین پوشش خود را در مورد مسائل مربوط به تحرک، از موضوع تحویل دستگاههای تلفن همراه بین ایستگاههای پایه تا مسئله جهانی مدیریت هویت و رومینگ دستگاههای تلفن همراه در بین شبکههای مختلف تلفن همراه جهانی، به روز کرده ایم.
- فصل 8، که امنیت شبکه را پوشش میدهد، به روز شده است تا تغییرات در امنیت شبکههای بی سیم را نشان دهد به ویژه با مطالب جدیدی در مورد امنیت WPA3 در WLAN ها، احراز هویت متقابل دستگاه و شبکه و محرمانه بودن در شبکههای 4G/5G.
ما همچنین فصل 9، در مورد شبکههای چند رسانه ای، را از این ویرایش بازنشسته کرده ایم. با گذشت زمان، با رواج بیشتر برنامههای چند رسانه ای، ما قبلاً مطالب فصل 9 را درباره موضوعاتی مانند پخش ویدئو، زمانبندی بستهها و شبکههای توزیع محتوا به فصلهای قبلی منتقل کرده بودیم. همانطور که قبلاً ذکر شد، همه مطالب بازنشسته شده این نسخه و نسخههای قبلی را میتوان در وب سایت همراه کتاب یافت.
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