Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

The Internet and its protocols
PREMIUM
Số trang
840
Kích thước
9.1 MB
Định dạng
PDF
Lượt xem
1933

The Internet and its protocols

Nội dung xem thử

Mô tả chi tiết

The Internet and Its Protocols

A Comparative Approach

This page intentionally left blank

The Internet and Its Protocols

A Comparative Approach

ADRIAN FARREL

This page intentionally left blank

For Eleanor and Elliot in the hope that they

need never read it.

This page intentionally left blank

vii

Contents

Preface Preface xix

About the Author About the Author xxix

Chapter 1Chapter 1 Chapter 1 Overview of Essentials 1

1.1 Physical Connectivity 1

1.2 Protocols and Addressing 2

1.3 The OSI Seven-Layer Model 4

1.4 An Architecture for the Network 7

1.5 Packaging Data 9

1.6 Data-link Protocols 10

1.6.1 Ethernet 10

1.6.2 Token Ring 12

1.6.3 Asynchronous Transfer Mode 14

1.6.4 Packet over SONET 16

1.6.5 Dial-Up Networking 18

1.6.6 802.2 and Logical Link Control 18

1.7 The Protocols at a Glance 19

1.8 Further Reading 20

Chapter 2Chapter 2 Chapter 2 The Internet Protocol 23

2.1 Choosing to Use IP 24

2.1.1 Connecting across Network Types 24

2.2 IPv4 25

2.2.1 IP Datagram Formats 26

2.2.2 Data and Fragmentation 30

2.2.3 Choosing to Detect Errors 34

2.3 IPv4 Addressing 37

2.3.1 Address Spaces and Formats 37

2.3.2 Broadcast Addresses 39

2.3.3 Address Masks, Prefixes, and Subnetworks 39

2.3.4 Network Address Translation (NAT) 41

2.4 IP in Use 42

2.4.1 Bridging Function 42

2.4.2 IP Switching and Routing 44

2.4.3 Local Delivery and Loopbacks 46

2.4.4 Type of Service 47

viii Contents

2.4.5 Address Resolution Protocol 49

2.4.6 Dynamic Address Assignment 53

2.5 IP Options and Advanced Functions 59

2.5.1 Route Control and Recording 61

2.6 Internet Control Message Protocol (ICMP) 64

2.6.1 Messages and Formats 64

2.6.2 Error Reporting and Diagnosis 65

2.6.3 Flow Control 70

2.6.4 Ping and Traceroute 70

2.6.5 Discovering Routers 74

2.6.6 Path MTU Discovery 75

2.6.7 Security Implications 76

2.7 Further Reading 77

Chapter 3 Multicast 79

3.1 Choosing Unicast or Multicast 79

3.1.1 Applications That Use Multicast 83

3.2 Multicast Addressing and Forwarding 84

3.3 Internet Group Management Protocol (IGMP) 87

3.3.1 What are Groups? 87

3.3.2 IGMP Message Formats and Exchanges 88

3.4 Further Reading 91

Chapter 4 IP Version Six 93

4.1 IPv6 Addresses 94

4.1.1 IPv6 Address Formats 95

4.1.2 Subnets and Prefixes 99

4.1.3 Anycast 99

4.1.4 Addresses with Special Meaning 100

4.1.5 Picking IPv6 Addresses 101

4.2 Packet Formats 102

4.3 Options 103

4.4 Choosing IPv4 or IPv6 110

4.4.1 Carrying IPv4 Addresses in IPv6 110

4.4.2 Interoperation between IPv4 and IPv6 111

4.4.3 Checksums 111

4.4.4 Effect on Other Protocols 112

4.4.5 Making the Choice 113

4.5 Further Reading 113

Chapter 5 Routing 115

5.1 Routing and Forwarding 116

5.1.1 Classless Inter-Domain Routing (CIDR) 116

5.1.2 Autonomous Systems 118

5.1.3 Building and Using a Routing Table 119

5.1.4 Router IDs, Numbered Links, and Unnumbered Links 122

Contents ix

5.2 Distributing Routing Information 124

5.2.1 Distance Vectors 125

5.2.2 Link State Routing 131

5.2.3 Path Vectors and Policies 137

5.2.4 Distributing Additional Information 141

5.2.5 Choosing a Routing Model 141

5.3 Computing Paths 142

5.3.1 Open Shortest Path First (OSPF) 143

5.3.2 Constrained Shortest Path First (CSPF) 145

5.3.3 Equal Cost Multi-Path (ECMP) 146

5.3.4 Traffic Engineering 146

5.3.5 Choosing How to Compute Paths 147

5.4 Routing Information Protocol (RIP) 147

5.4.1 Messages and Formats 148

5.4.2 Overloading the Route Entry 150

5.4.3 Protocol Exchanges 151

5.4.4 Backwards Compatibility with RIPv1 153

5.4.5 Choosing to Use RIP 154

5.5 Open Shortest Path First (OSPF) 155

5.5.1 Basic Messages and Formats 155

5.5.2 Neighbor Discovery 157

5.5.3 Synchronizing Database State 159

5.5.4 Advertising Link State 161

5.5.5 Multi-Access Networks and Designated

Routers 167

5.5.6 OSPF Areas 170

5.5.7 Stub Areas 172

5.5.8 Not So Stubby Areas (NSSAs) 172

5.5.9 Virtual Links 174

5.5.10 Choosing to Use Areas 175

5.5.11 Other Autonomous Systems 177

5.5.12 Opaque LSAs 178

5.6 Intermediate-System to Intermediate-System (IS-IS) 179

5.6.1 Data Encapsulation and Addressing 180

5.6.2 Fletcher’s Checksum 181

5.6.3 Areas 181

5.6.4 IS-IS Protocol Data Units 184

5.6.5 Neighbor Discovery and Adjacency Maintenance 185

5.6.6 Distributing Link State Information 190

5.6.7 Synchronizing Databases 195

5.7 Choosing between IS-IS and OSPF 196

5.8 Border Gateway Protocol 4 (BGP-4) 199

5.8.1 Exterior Routing and Autonomous Systems 199

5.8.2 Basic Messages and Formats 200

5.8.3 Advanced Function 214

5.8.4 Example Message 217

5.8.5 Interior BGP 218

5.8.6 Choosing to Use BGP 222

x Contents

5.9 Multicast Routing 223

5.9.1 Multicast Routing Trees 224

5.9.2 Dense-Mode Protocols 225

5.9.3 Sparse-Mode Protocols 227

5.9.4 Protocol Independent Multicast Sparse-Mode

(PIM-SM) 227

5.9.5 Multicast OSPF (MOSPF) 231

5.9.6 Distance Vector Multicast Routing Protocol

(DVMRP) 232

5.9.7 The MBONE 234

5.9.8 A New Multicast Architecture 236

5.9.9 Choosing a Multicast Routing Protocol 239

5.10 Other Routing Protocols 241

5.10.1 Inter-Gateway Routing Protocol (IGRP) and

Enhanced Inter-Gateway Routing Protocol (EIGRP) 242

5.10.2 ES-IS 242

5.10.3 Inter-Domain Routing Protocol (IDRP) 243

5.10.4 Internet Route Access Protocol 243

5.10.5 Hot Standby Router Protocol (HSRP) and Virtual Router

Redundancy Protocol (VRRP) 243

5.10.6 Historic Protocols 245

5.11 Further Reading 246

Chapter 6 IP Service Management 249

6.1 Choosing How to Manage Services 251

6.2 Differentiated Services 253

6.2.1 Coloring Packets in DiffServ 253

6.2.2 DiffServ Functional Model 255

6.2.3 Choosing to Use DiffServ 257

6.3 Integrated Services 257

6.3.1 Describing Traffic Flows 258

6.3.2 Controlled Load 260

6.3.3 Guaranteed Service 260

6.3.4 Reporting Capabilities 262

6.3.5 Choosing to Use IntServ 264

6.3.6 Choosing a Service Type 265

6.3.7 Choosing between IntServ and DiffServ 266

6.4 Reserving Resources Using RSVP 266

6.4.1 Choosing to Reserve Resources 267

6.4.2 RSVP Message Flows for Resource Reservation 267

6.4.3 Sessions and Flows 270

6.4.4 Requesting, Discovering, and Reserving 271

6.4.5 Error Handling 272

6.4.6 Adapting to Changes in the Network 274

6.4.7 Merging Flows 277

6.4.8 Multicast Resource Sharing 280

Contents xi

6.4.9 RSVP Messages and Formats 281

6.4.10 RSVP Objects and Formats 286

6.4.11 Choosing a Transport Protocol 296

6.4.12 RSVP Refresh Reduction 297

6.4.13 Choosing to Use Refresh Reduction 303

6.4.14 Aggregation of RSVP Flows 304

6.5 Further Reading 304

Chapter 7Chapter 7 Chapter 7 Transport Over IP 307

7.1 What Is a Transport Protocol? 307

7.1.1 Choosing to Use a Transport Protocol 308

7.1.2 Ports and Addresses 309

7.1.3 Reliable Delivery 311

7.1.4 Connection-Oriented Transport 312

7.1.5 Datagrams 312

7.2 User Datagram Protocol (UDP) 313

7.2.1 UDP Message Format 313

7.2.2 Choosing to Use the UDP Checksum 314

7.2.3 Choosing between Raw IP and UDP 316

7.2.4 Protocols That Use UDP 316

7.2.5 UDP Lite 317

7.3 Transmission Control Protocol (TCP) 318

7.3.1 Making IP Connection Oriented 318

7.3.2 TCP Messages 318

7.3.3 Connection Establishment 319

7.3.4 Data Transfer 322

7.3.5 Acknowledgements and Flow Control 324

7.3.6 Urgent Data 329

7.3.7 Closing the Connection 330

7.3.8 Implementing TCP 331

7.3.9 TCP Options 334

7.3.10 Choosing between UDP and TCP 336

7.3.11 Protocols That Use TCP 337

7.4 Stream Control Transmission Protocol (SCTP) 337

7.4.1 SCTP Message Formats 339

7.4.2 Association Establishment and Management 341

7.4.3 Data Transfer 348

7.4.4 SCTP Implementation 352

7.4.5 Choosing between TCP and SCTP 353

7.4.6 Protocols That Use SCTP 353

7.5 The Real-time Transport Protocol (RTP) 354

7.5.1 Managing Data 354

7.5.2 Control Considerations 358

7.5.3 Choosing a Transport for RTP 363

7.5.4 Choosing to Use RTP 363

7.6 Further Reading 364

xii Contents

Chapter 8 Traffic Engineering 367

8.1 What Is IP Traffic Engineering? 367

8.2 Equal Cost Multipath (ECMP) 369

8.3 Modifying Path Costs 369

8.4 Routing IP Flows 371

8.5 Service-Based Routing 372

8.6 Choosing Offline or Dynamic Traffic Engineering 373

8.7 Discovering Network Utilization 374

8.7.1 Explicit Congestion Notification 375

8.8 Routing Extensions for Traffic Engineering 376

8.8.1 OSPF-TE 377

8.8.2 IS-IS-TE 379

8.9 Choosing to Use Traffic Engineering 381

8.9.1 Limitations of IP Traffic Engineering 382

8.9.2 Future Developments in Traffic Engineering 382

8.10 Further Reading 383

Chapter 9 Multiprotocol Label Switching (MPLS) 385

9.1 Label Switching 386

9.1.1 Choosing between Routing and Switching 387

9.2 MPLS Fundamentals 388

9.2.1 Labeling Packets 388

9.2.2 Label Swapping and the Label Switched Path (LSP) 389

9.2.3 Inferred Labels in Switching Networks 390

9.2.4 Mapping Data to an LSP 391

9.2.5 Hierarchies and Tunnels 393

9.2.6 Choosing MPLS Over Other Switching Technologies 396

9.3 Signaling Protocols 397

9.3.1 What Does a Signaling Protocol Do? 397

9.3.2 Choosing an IP-Based Control Plane 397

9.3.3 Routing-Based Label Distribution 398

9.3.4 On-Demand Label Distribution 399

9.3.5 Traffic Engineering 399

9.3.6 Choosing to Use a Signaling Protocol 400

9.4 Label Distribution Protocol (LDP) 401

9.4.1 Peers, Entities, and Sessions 403

9.4.2 Address Advertisement and Use 409

9.4.3 Distributing Labels 411

9.4.4 Choosing a Label Distribution Mode 417

9.4.5 Choosing a Label Retention Mode 418

9.4.6 Stopping Use of Labels 419

9.4.7 Error Cases and Event Notification 423

9.4.8 Further Message Flow Examples 426

9.4.9 Choosing Transport Protocols for LDP 429

9.4.10 Surviving Network Outages 429

9.4.11 LDP Extensions 430

Contents xiii

9.5 Traffic Engineering in MPLS 431

9.5.1 Explicit Routes 433

9.5.2 Reserving Resources and Constraint-Based Routing 436

9.5.3 Grooming Traffic 437

9.5.4 Managing the Network 437

9.5.5 Recovery Procedures 438

9.5.6 Choosing to Use a Constraint-Based Signaling Protocol 438

9.6 Constraint-Based LSP Setup Using LDP (CR-LDP) 439

9.6.1 Adding Constraints to LDP 439

9.6.2 New TLVs 440

9.6.3 New Status Codes 451

9.6.4 CR-LDP Messages 452

9.7 Extensions to RSVP for LSP Tunnels (RSVP-TE) 456

9.7.1 Re-use of RSVP Function 457

9.7.2 Distributing Labels 458

9.7.3 Identifying LSPs 458

9.7.4 Managing Routes 459

9.7.5 Resource Requests and Reservation 464

9.7.6 Priorities, Preemption, and Other Attributes 465

9.7.7 Coloring the LSP 466

9.7.8 Detecting Errors and Maintaining Connectivity 466

9.7.9 Summary of Messages and Objects 468

9.7.10 Choosing a Transport Protocol 470

9.7.11 Security, Admission Control, and Policy Considerations 471

9.7.12 New Error Codes and Values 471

9.7.13 Message Flows 472

9.7.14 Sample Messages 476

9.8 Choosing Between CR-LDP and RSVP-TE 479

9.8.1 Why Are There Two Protocols? 479

9.8.2 Applicability and Adoption 479

9.8.3 Comparison of Functionality 480

9.9 Prioritizing Traffic in MPLS 481

9.9.1 Inferring Priority from Labels 482

9.9.2 Inferring Priority from Experimental Bits 483

9.9.3 New Error Codes 484

9.9.4 Choosing between L-LSPs and E-LSPs 485

9.10 BGP-4 and MPLS 486

9.10.1 Distributing Labels for BGP Routes 486

9.10.2 New and Changed Message Objects 488

9.10.3 Constructing MPLS VPNs 489

9.11 Further Reading 489

Chapter 10Chapter 10 Chapter 10 Generalized MPLS (GMPLS) 491

10.1 A Hierarchy of Media 492

10.1.1 Layer Two Switching 492

10.1.2 Packet Switching 492

10.1.3 Time Division Multiplexing 492

xiv Contents

10.1.4 Lambda Switching 493

10.1.5 Waveband Switching 493

10.1.6 Fiber and Port Switching 493

10.1.7 Choosing Your Switching Type 493

10.1.8 What is a Label? 494

10.2 Generic Signaling Extensions for GMPLS 494

10.2.1 Generic Labels 494

10.2.2 Requesting Labels 496

10.2.3 Negotiating Labels 497

10.2.4 Bidirectional Services 502

10.2.5 Protection Services 503

10.2.6 Managing Connections and Alarms 503

10.2.7 Out of Band Signaling 505

10.2.8 Choosing to Use GMPLS Signaling 507

10.3 Choosing RSVP-TE or CR-LDP in GMPLS 508

10.4 Generalized RSVP-TE 509

10.4.1 Enhanced Route Control 509

10.4.2 Reducing Protocol Overheads 511

10.4.3 Notification Requests and Messages 512

10.4.4 Graceful Restart 513

10.4.5 New and Changed Message Objects 514

10.4.6 Message Formats 516

10.4.7 Message Exchanges 516

10.5 Generalized CR-LDP 520

10.5.1 New TLVs 521

10.5.2 Message Formats 521

10.6 Hierarchies and Bundles 521

10.7 OSPF and IS-IS in GMPLS 523

10.7.1 A New Meaning for Bandwidth 524

10.7.2 Switching and Protection Capabilities 524

10.7.3 Shared Risk Link Groups 525

10.7.4 OSPF Message Objects 526

10.7.5 IS-IS Message Objects 528

10.7.6 Choosing between OSPF and IS-IS

in GMPLS 529

10.8 Optical VPNs 530

10.9 Link Management Protocol (LMP) 531

10.9.1 Links, Control Channels, and Data

Channels 533

10.9.2 Discovering and Verifying Links 537

10.9.3 Exchanging Link Capabilities 542

10.9.4 Isolating Faults 544

10.9.5 Authentication 545

10.9.6 Choosing to Use LMP 546

10.10 Further Reading 547

Tải ngay đi em, còn do dự, trời tối mất!