throbber
ncludes
`ngand
`Ver A~
`
`Ex.1022
`APPLE INC. / Page 1 of 31
`
`

`

`lnternetworking With TCP/IP
`Vol I:
`Principles, Protocols, and Architecture
`Third Edition
`
`DOUGLAS E. COMER
`
`Department of Computer Sciences
`Purdue University
`West Lafayette, IN 47907
`
`PRENTICE HALL
`Englewood Cliffs, New Jersey 07632
`
`Ex.1022
`APPLE INC. / Page 2 of 31
`
`

`

`Library of Congress Cataloging-in-Publication Data
`
`Comer, Douglas
`Intemctworlcing with TCP/IP / Douglas E. Comer. -- 3rd ed.
`p.
`cm.
`Includes bibliographical references and index.
`Contents: v. I. Principles, protocols , and architecture
`ISBN 0-13-216987-8 (v. 1)
`I . TCP/IP (Computer network protocol) 2. Client/server computing.
`3. Intemctworking (Telecommunication)
`I. Title.
`TK5105.585.C66
`1995
`005.2--dc20
`
`95-1830
`CIP
`
`Acquisitions editor: ALAN APT
`Production editor: IRWIN ZUCKER
`Cover designer: WENDY ALLING JUDY
`Buyer: LORI BULWIN
`Editorial assistant: SHIRLEY MCGUIRE
`
`ii ©1995 by Prentice-Hall, Inc.
`
`A Simon & Schuster Company
`Englewood Cliffs, New Jersey 07632
`
`All rights reserved. No part of this book may be
`reproduced, in any form or by any means,
`without permission in writing from the publisher.
`
`The author and publisher of this book have used their best efforts in preparing this book. These efforts include the
`development, research, and testing of the theories and programs to determine their effectiveness. The author and
`publisher make no warranty of any kind, expressed or implied, with regard to these programs or the documentation
`contained in this book. The author and publisher shall not be liable in any event for incidental or consequential damages
`in connection with, or arising out of, the furnishing, performance, or use of these programs.
`
`UNIX is a registered trademark of UNIX System Laboratories, Incorporated
`proNET-10 is a trademark of Proteon Corporation
`LSI 11 is a trademark of Digital Equipment Corporation
`Microsoft Windows is a trademark of Microsoft Corporation
`
`Printed in the United States of America
`
`10 9 8 7 6 5 4 3
`
`ISBN
`
`□ -13-216987-8
`
`Prentice-Hall International (UK) Limited, London
`Prentice-Hall of Australia Pty. Limited, Sydney
`Prentice-Hall Canada Inc., Toronto
`Prentice-Hall Hispanoamericana, S.A., Mexico
`Prentice-Hall of India Private Limited, New Delhi
`Prentice-Hall of Japan, Inc., Tokyo
`Simon & Schuster Asia Pte. Ltd., Singapore
`Editora Prentice-Hall do Brasil, Ltda., Rio de Janeiro
`
`Ex.1022
`APPLE INC. / Page 3 of 31
`
`

`

`It
`
`Contents
`
`1d easy to
`
`1Unications
`
`'!IP as the
`1inute ma(cid:173)
`', IPng."
`
`echnology.
`rop of 'au(cid:173)
`, - but no
`ner shines
`urate infor(cid:173)
`Jus few at-
`
`ing history."
`
`'w latest in(cid:173)
`wheat with
`orkers grew
`
`xxi
`
`xxiii
`
`Foreword
`
`Preface
`
`Chapter 1
`
`Introduction And Overview
`
`The Motivation For lnternetworking
`1.1
`The TCP/JP Internet 2
`1.2
`3
`Internet Services
`1.3
`History And Scope Of The Internet 6
`1.4
`The Internet Architecture Board 8
`1.5
`The JAB Reorganization 9
`1.6
`11
`The Internet Society
`1.7
`11
`Internet Request For Comments
`1.8
`Internet Protocols And Standardization
`1 .9
`12
`1.10 Future Growth And Technology
`13
`1.11 Organization Of The Text
`14
`1 .12
`Summary
`
`12
`
`Chapter 2 Review Of Underlying Network Technologies
`
`17
`
`2.1
`2.2
`2.3
`2.4
`2.5
`2.6
`2.7
`2.8
`2.9
`
`17
`Introduction
`Two Approaches To Network Communication
`19
`Wide Area And Local Area Networks
`20
`Ethernet Technology
`Fiber Distributed Data Interconnect (FDD[)
`36
`Asynchronous Transfer Mode
`37
`ARPANET Technology
`National Science Foundation Networking
`ANSNET 44
`
`39
`
`18
`
`32
`
`vii
`
`Ex.1022
`APPLE INC. / Page 4 of 31
`
`

`

`viii
`
`Contents
`
`2.10 A Planned Wide Area Backbone
`44
`2.11 Other Technologies Over Which TCP/JP Has Been Used 44
`2.12
`Summary And Conclusion
`47
`
`Chapter 3
`
`lnternetworking Concept And Architectural Model
`
`49
`
`3 .1
`3 .2
`3.3
`3.4
`3 .5
`3.6
`3 .7
`3.8
`3.9
`3 .10
`
`1 ntroduction 49
`Application-Level Interconnection 49
`Network-Level Interconnection 50
`51
`Properties Of The Internet
`Internet Architecture 52
`Interconnection Through JP Routers 52
`1
`The User's View
`54
`All Networks Are Equal
`54
`The Unanswered Questions
`Summary 56
`
`55
`
`Chapter 4
`
`Internet Addresses
`
`59
`
`59
`Introduction
`4.1
`Universal Identifiers 59
`4.2
`Three Primary Classes Of JP Addresses 60
`4.3
`61
`Addresses Specify Network Connections
`4.4
`61
`Network And Broadcast Addresses
`4.5
`Limited Broadcast 62
`4.6
`Interpreting Zero To Mean "This"
`4.7
`4.8 Weaknesses In Internet Addressing
`65
`Dotted Decimal Notation
`4.9
`65
`4.10 Loopback Address
`Summary Of Special Address Conventions
`4.11
`Internet Addressing Authority 66
`4.12
`67
`4.13 An Example
`4.14 Network Byte Order
`Summary 70
`4.15
`
`62
`63
`
`66
`
`69
`
`Chapter 5 Mapping Internet Addresses To Physical Addresses (ARP)
`
`73
`
`5 .1
`5.2
`5.3
`5.4
`
`1 ntroduction 73
`73
`The Address Resolution Problem
`Two Types Of Physical Addresses
`74
`Resolution Through Direct Mapping
`74
`
`Ex.1022
`APPLE INC. / Page 5 of 31
`
`

`

`Contents
`
`Contents
`
`ix
`
`49
`
`75
`
`Resolution Through Dynamic Binding
`5.5
`76
`The Address Resolution Cache
`5.6
`ARP Refinements 77
`5 .7
`Relationship Of ARP To Other Protocols 77
`5.8
`77
`ARP Implementation
`5 .9
`5.10 ARP Encapsulation And Identification 79
`5 .11 ARP Protocol Format 79
`5.12
`Summary
`81
`
`Chapter 6 Determining An Internet Address At Startup (RAAP)
`
`83
`
`6.1
`6.2
`6.3
`6.4
`6.5
`
`Introduction
`83
`Reverse Address Resolution Protocol (RARP)
`Timing RARP Trans(J,ctions
`86
`Primary And Backup RARP Servers
`Summary
`87
`
`86
`
`84
`
`59
`
`Chapter 7
`
`Internet Protocol: Connectionless Datagram Delivery
`
`89
`
`7.1
`7.2
`7.3
`7.4
`7.5
`7.6
`7.7
`7.8
`7.9
`
`Introduction
`89
`A Virtual Network
`89
`Internet Architecture And Philosophy
`The Concept Of Unreliable Delivery
`Connectionless Delivery System
`91
`Purpose Of The Internet Protocol
`91
`The Internet Datagram
`91
`Internet Datagram Options
`Summary
`106
`
`100
`
`90
`90
`
`Chapter 8
`
`Internet Protocol: Routing IP Datagrams
`
`109
`
`(ARP)
`
`73
`
`Introduction
`8.1
`109
`Routing In An Internet
`8.2
`109
`Direct And Indirect Delivery
`8.3
`111
`Table -Driven IP Routing
`8.4
`113
`Next-Hop Routing
`8.5
`113
`Default Routes
`8.6
`115
`Host-Specific Routes
`8.7
`115
`The IP Routing Algorithm
`8.8
`116
`Routing With IP Addresses
`8.9
`116
`8.10 Handling Incoming Datagrams
`
`118
`
`Ex.1022
`APPLE INC. / Page 6 of 31
`
`

`

`8.11 Establishing Routing Tables
`8.12
`Summary
`119
`
`119
`
`Contents
`
`Chapter 9 Internet Protocol: Error And Control Messages (ICMP)
`
`123
`
`123
`124
`
`Introduction
`9.1
`123
`The Internet Control Message Protocol
`9.2
`Error Reporting vs. Error Correction
`9.3
`9.4
`ICMP Message Delivery
`125
`ICMP Message Format
`9.5
`126
`9.6
`Testing Destination Reachability And Status (Ping)
`Echo Request And Reply Message Format
`9.7
`128
`9.8
`Reports Of Unn!achable Destinations
`128
`9.9
`Congestion And Datagram Flow Control
`130
`Source Quench Format
`9.10
`130
`9.11 Route Change Requests From Routers
`131
`9.12 Detecting Circular Or Excessively Long Routes
`9.13 Reporting Other Problems
`134
`9.14 Clock Synchronization And Transit Time Estimation
`9.15
`Information Request And Reply Messages
`136
`9.16 Obtaining A Subnet Mask
`136
`9.17 Summary
`137
`
`127
`
`133
`
`134
`
`Chapter 1 O Subnet And Supernet Address Extensions
`
`139
`
`10.1
`10.2
`10.3
`10.4
`10.5
`10.6
`10.7
`10.8
`10.9
`JO.JO
`10.11
`10.12
`10.13
`10.14
`10.15
`10.16
`10.17
`
`140
`
`introduction
`139
`Review Of Relevant Facts
`139
`Minimizing Network Numbers
`Transparent Routers
`141
`Proxy ARP
`142
`Subnet Addressing
`143
`Flexibility In Subnet Address Assignment
`Implementation Of Subnets With Masks
`Subnet Mask Representation
`148
`Routing In The Presence Of Subnets
`The Subnet Routing Algorithm
`150
`A Unified Routing Algorithm
`151
`Maintenance Of Subnet Masks
`152
`Broadcasting To Subnets
`152
`Supernet Addressing
`153
`The Effect Of Supernetting On Routing
`Summary
`155
`
`146
`147
`
`149
`
`154
`
`Ex.1022
`APPLE INC. / Page 7 of 31
`
`

`

`Contents
`
`Contents
`
`Chapter 11 Protocol Layering
`
`xi
`
`159
`
`123
`
`139
`
`160
`
`159
`Introduction
`11.1
`159
`The Need For Multiple Protocols
`11.2
`The Conceptual Layers Of Protocol Software
`11.3
`163
`11.4 Functionality Of The Layers
`164
`11.5 X.25 And Its Relation To The ISO Model
`11.6 Differences Between X.25 And Internet Layering
`11.7 The Protocol Layering Principle
`169
`11.8 Layering In The Presence Of Network Substructure
`11.9 Two Important Boundaries In The TCP/IP Model
`174
`11 .10 The Disadvantage Of Layering
`11.11 The Basic Idea Behipd Multiplexing And Demultiplexing
`11.12 Summary
`176
`
`167
`
`171
`173
`
`174
`
`Chapter 12 User Datagram Protocol (UDP}
`
`179
`
`12 .1
`12.2
`12.3
`12.4
`12.5
`12.6
`12.7
`12.8
`12 .9
`12.10
`
`179
`
`179
`Introduction
`Identifying The Ultimate Destination
`180
`The User Datagram Protocol
`181
`Format Of UDP Messages
`182
`UDP Pseudo-Header
`183
`UDP Encapsulation And Protocol Layering
`Layering And The UDP Checksum Computation
`UDP Multiplexing, Demultiplexing, And Ports
`Reserved And Available UDP Port Numbers
`188
`Summary
`
`185
`185
`186
`
`Chapter 13 Reliable Stream Transport Service (TCP}
`
`191
`
`191
`Introduction
`13 .1
`191
`The Need For Stream Delivery
`13.2
`13.3 Properties Of The Reliable Delivery Service
`193
`13.4 Providing Reliability
`13.5
`The Idea Behind Sliding Windows
`13.6 The Transmission Control Protocol
`13.7 Ports, Connections, And Endpoints
`201
`13 .8 Passive And Active Opens
`13.9
`Segments, Streams, And Sequence Numbers
`13.10 Variable Window Size And Flow Control
`13.11 TCP Segment Format 203
`
`195
`198
`199
`
`192
`
`201
`202
`
`Ex.1022
`APPLE INC. / Page 8 of 31
`
`

`

`xii
`
`Contents
`
`13.12
`13.13
`13.14
`13.15
`13.16
`13.17
`13.18
`13.19
`13.20
`13.21
`13.22
`13.23
`13.24
`13.25
`13.26
`13.27
`13.28
`13.29
`13.30
`13.31
`
`216
`
`221
`
`Out Of Band Data
`205
`Maximum Segment Size Option
`206
`TCP Checksum Computation
`207
`Acknowledgements And Retransmission
`Timeout And Retransmission
`209
`Accurate Measurement Of Round Trip Samples
`Karn' s Algorithm And Timer Backoff 212
`Responding To High Variance In Delay
`213
`Response To Congestion
`214
`Establishing A TCP Connection
`Initial Sequence Numbers
`217
`Closing a TCP Connection
`217
`TCP Connection Reset 219
`TCP State Machine
`219
`Forcing Data Delivery
`221
`Reserved TCP Port Numbers
`TCP Performance
`221
`Silly Window Syndrome And Small Packets
`Avoiding Silly Window Syndrome
`224
`Summary
`227
`
`208
`
`211
`
`223
`
`Chapter 14 Routing: Cores, Peers, And Algorithms (GGP)
`
`231
`
`234
`
`Introduction
`14 .1
`231
`The Origin Of Routing Tables
`14.2
`232
`14.3 Routing With Partial Information
`233
`14.4 Original Internet Architecture And Cores
`14.5 Core Routers
`235
`14.6 Beyond The Core Architecture To Peer Backbones
`14.7 Automatic Route Propagation
`240
`14 .8 Vector Distance (Bellman-Ford) Routing
`14.9 Gateway-To -Gateway Protocol (GGP)
`14.10 GGP Message Formats
`243
`14.11 Link-State (SPF) Routing
`245
`14.12 SPF Protocols
`246
`14 .13 Summary
`246
`
`240
`242
`
`238
`
`Chapter 15 Routing: Autonomous Systems (EGP)
`
`249
`
`Introduction
`15.1
`249
`15.2 Adding Complexity To The Architectural Model
`15.3 A Fundamental Idea: Extra Hops
`250
`
`249
`
`Ex.1022
`APPLE INC. / Page 9 of 31
`
`

`

`Contents
`
`Contents
`
`xiii
`
`254
`
`15.4 Autonomous System Concept 252
`15 .5 Exterior Gateway Protocol ( EGP)
`15.6 EGP Message Header 255
`15.7 EGP Neighbor Acquisition Messages 256
`257
`15.8 EGP Neighbor Reachability Messages
`258
`15.9 EGP Poll Request Messages
`15.10 EGP Routing Update Messages 259
`15.11 Measuring From The Receiver's Perspective
`15.12 The Key Restriction Of EGP 262
`15.13 Technical Problems 264
`15.14 Decentralization Of Internet Architecture 264
`15 .15 Beyond Autonomous Systems 264
`265
`15.16 Summary
`
`261
`
`I
`Chapter 16 Routing: In An Autonomous System (RIP, OSPF, HELLO) 267
`
`267
`Introduction
`16.1
`Static Vs. Dynamic Interior Routes 267
`16.2
`270
`16.3 Routing Information Protocol (RIP)
`The Hello Protocol 276
`16.4
`16.5 Combining RIP, Hello, And EGP 278
`279
`16.6 The Open SPF Protocol (OSPF)
`16.7 Routing With Partial Information 286
`Summary 286
`16.8
`
`Chapter 17
`
`Internet Multicasting (IGMP)
`
`289
`
`289
`Introduction
`17.1
`17.2 Hardware Broadcast 289
`17.3 Hardware Multicast 290
`291
`IP Multicast
`17.4
`291
`IP Multicast Addresses
`17.5
`17.6 Mapping IP Multicast To Ethernet Multicast 292
`293
`17.7 Extending IP To Handle Multicasting
`Internet Group Management Protocol 294
`17.8
`IGMP Implementation 294
`17.9
`17.10 Group Membership State Transitions
`17.11 IGMP Message Format 296
`17.12 Multicast Address Assignment 297
`297
`17.13 Propagating Routing Information
`17.14 The Mrouted Program 298
`17.15 Summary 300
`
`295
`
`231
`
`249
`
`Ex.1022
`APPLE INC. / Page 10 of 31
`
`

`

`xiv
`
`Chapter 18 TCP/IP Over ATM Networks
`
`Contents
`
`303
`
`305
`306
`
`311
`
`303
`Introduction
`18 .1
`304
`18.2 ATM Hardware
`304
`18.3 Large ATM Networks
`18.4
`The Logical View Of An ATM Network
`18.5 The Two ATM Connection Paradigms
`307
`18.6 Paths, Circuits, And Identifiers
`308
`18.7 ATM Cell Transport
`308
`/8.8 ATM Adaptation Layers
`18.9 AAL5 Convergence, Segmentation, And Reassembly
`311
`18.10 Datagram Enc(lpsulation And IP MTV Size
`312
`18.11 Packet Type A~d Multiplexing
`18.12 IP Address Binding In An ATM Network
`18.13 Logical IP Subnet Concept 314
`315
`18.14 Connection Management
`18.15 Address Binding Within An LIS
`316
`18.16 ATMARP Packet Format
`18.17 Using ATMARP Packets To Determine An Address 318
`320
`18.18 Obtaining Entries For A Server Database
`320
`18.19 Timing Out ATMARP Information In A Server
`18.20 Timing Out ATMARP Information In A Host Or Router 320
`321
`18.21 Summary
`
`313
`
`316
`
`Chapter 19 Client-Server Model Of Interaction
`
`325
`
`325
`Introduction
`19.1
`325
`The Client-Server Model
`19.2
`19.3 A Simple Example: UDP Echo Server
`328
`19.4 Time And Date Service
`329
`The Complexity of Servers
`19.5
`330
`19.6 RARP Server
`19 .7 Alternatives To The Client-Server Model
`332
`19.8
`Summary
`
`326
`
`331
`
`Chapter 20 The Socket Interface
`
`335
`
`335
`Introduction
`20.1
`The UNIX /10 Paradigm And Network I/O
`20.2
`336
`20.3 Adding Network I/O to UNIX
`The Socket Abstraction 337
`20.4
`
`336
`
`Ex.1022
`APPLE INC. / Page 11 of 31
`
`

`

`f1l \
`
`Contents
`
`303
`
`Contents
`
`xv
`
`338
`
`337
`Creating A Socket
`20.5
`Socket inheritance And Termination
`20.6
`339
`Specifying A Local Address
`20.7
`Connecting Sockets To Destination Addresses 340
`20.8
`341
`Sending Data Through A Socket
`20.9
`343
`Receiving Data Through A Socket
`20.10
`Obtaining Local And Remote Socket Addresses 344
`20.11
`345
`Obtaining And Setting Socket Options
`20.12
`Specifying A Queue Length For A Server 346
`20.13
`346
`How A Server Accepts Connections
`20.14
`347
`Servers That Handle Multiple Services
`20.15
`348
`Obtaining And Setting Host Names
`20.16
`Obtaining And Setting The Internal Host Domain
`20.17
`349
`BSD UNIX Network Library Calls
`20.18
`20.19 Network Byte Order Conversion Routines
`351
`20.20 IP Address Manipulation Routines
`352
`20.21 Accessing The Domain Name System
`354
`20.22 Obtaining Information About Hosts
`355
`20.23 Obtaining Information About Networks
`20.24 Obtaining Information About Protocols 355
`20.25 Obtaining Information About Network Services
`20.26 An Example Client 357
`359
`20.27 An Example Server
`362
`20.28 Summary
`
`349
`
`350
`
`356
`
`325
`
`Chapter 21 Bootstrap And Autoconfiguration (BOOTP, DHCP)
`
`365
`
`21.1
`21.2
`21.3
`21.4
`21 .5
`21.6
`21.7
`21.8
`21.9
`21.10
`21.11
`21.12
`21.13
`21.14
`21.15
`21.16
`
`335
`
`365
`Introduction
`366
`The Need For An Alternative To RARP
`Using IP To Determine An IP Address 366
`367
`The BOOTP Retransmission Policy
`368
`The BOOTP Message Format
`The Two -Step Bootstrap Procedure
`370
`Vendor-Specific Field
`The Need For Dynamic Configuration
`372
`Dynamic Host Configuration
`Dynamic IP Address Assignment 372
`Obtaining Multiple Addresses 373
`374
`Address Acquisition States
`374
`Early Lease Termination
`376
`Lease Renewal States
`DHCP Message Format
`377
`DHCP Options And Message Type
`
`369
`
`370
`
`378
`
`Ex.1022
`APPLE INC. / Page 12 of 31
`
`

`

`xvi
`
`21 .17 Option Overload 379
`21.18 DHCP And Domain Names
`380
`21.19 Summary
`
`379
`
`Chapter 22 The Domain Name System (DNS)
`
`Contents
`
`383
`
`384
`
`386
`
`383
`Introduction
`22 .1
`22.2 Names For Machines
`384
`22.3 Flat Namespace
`22 .4 Hierarchical Names
`385
`22.5 Delegation Of Authority For Names
`386
`22 .6
`Subset Authority,
`22.7 TCP/JP Internet Domain Names
`387
`22.8 Official And Unofficial Internet Domain Names
`390
`22.9
`Items Named And Syntax Of Names
`22.10 Mapping Domain Names To Addresses 391
`393
`22.11 Domain Name Resolution
`394
`22.12 Efficient Translation
`22 .13 Caching: The Key To Efficiency
`22.14 Domain Server Message Format
`399
`22.15 Compressed Name Format
`22.16 Abbreviation Of Domain Names
`400
`22.17 Inverse Mappings
`22.18 Pointer Queries 401
`22.19 Object Types And Resource Record Contents
`402
`22 .20 Obtaining Authority For A Subdomain
`403
`22.21 Summary
`
`388
`
`401
`
`395
`396
`
`399
`
`Chapter 23 Applications: Remote Login (TELNET, Rlogin)
`
`407
`
`407
`
`407
`Introduction
`23 .1
`23.2 Remote Interactive Computing
`TELNET Protocol 408
`23 .3
`410
`23.4 Accommodating Heterogeneity
`23.5 Passing Commands That Control The Remote Side
`23 .6 Forcing The Server To Read A Control Function
`414
`23.7 TELNET Options
`23.8 TELNET Option Negotiation
`416
`23.9 Rlogin (BSD UNIX)
`417
`23.10 Summary
`
`415
`
`412
`414
`
`Ex.1022
`APPLE INC. / Page 13 of 31
`
`

`

`Contents
`
`Contents
`
`xvii
`
`Chapter 24 Applications: File Transfer And Access (FTP, TFTP, NFS) 419
`
`383
`
`407
`
`419
`Introduction
`24.1
`419
`24.2 File Access And Transfer
`24.3 On-line Shared Access 420
`421
`24.4
`Sharing By File Transfer
`24.5 FTP: The Major TCP/JP File Transfer Protocol 421
`422
`24.6 FTP ,Features
`422
`24.7 FTP Process Model
`24.8 TCP Port Number Assignment 424
`424
`24.9 The User's View Of FTP
`24.10 An Example Anonymous FTP Session
`1
`427
`24.11 TFTP
`429
`24.12 NFS
`429
`24.13 NFS Implementation
`24.14 Remote Procedure Call (RPC)
`24.15 Summary 431
`
`430
`
`426
`
`Chapter 25 Applications: Electronic Mail (822, SMTP, MIME)
`
`433
`
`25.1
`Introduction
`433
`25.2 Electronic Mail
`433
`25.3 Mailbox Names And Aliases 435
`25.4 Alias Expansion And Mail Forwarding
`435
`25.5 The Relationship Of Internetworking And Mail
`25.6 TCP/IP Standards For Electronic Mail Service
`25.7 Electronic Mail Addresses 438
`25.8 Pseudo Domain Addresses 440
`25.9
`Simple Mail Transfer Protocol (SMTP)
`440
`25.10 The MIME Extension For Non-ASCII Data
`443
`25.11 MIME Multipart Messages
`444
`25 .12 Summary
`445
`
`436
`438
`
`Chapter 26 Applications: Internet Management (SNMP, SNMPv2)
`
`447
`
`447
`Introduction
`26.1
`The Level Of Management Protocols
`26.2
`448
`26.3 Architectural Model
`450
`26.4 Protocol Architecture
`26.5 Examples of MIB Variables . 451
`26 .6 The Structure Of Management Information
`
`447
`
`452
`
`Ex.1022
`APPLE INC. / Page 14 of 31
`
`

`

`xviii
`
`26.7
`26.8
`26.9
`26.10
`26.11
`26.12
`
`453
`Formal Definitions Using ASN.1
`Structure And Representation Of MJB Object Names
`458
`Simple Network Management Protocol
`SNMP Message Format 460
`Example Encoded SNMP Message
`463
`Summary
`
`462
`
`453
`
`Chapter 27 Summary Of Protocol Dependencies
`
`465
`Introduction
`27.1
`27.2 Protocol Dependencies 465
`27.3 Application Rrogram Access 467
`468
`27.4
`Summary
`
`Chapter 28
`
`Internet Security And Firewall Design
`
`471
`Introduction
`28.1
`28.2 Protecting Resources 472
`472
`28.3
`The Need For An Information Policy
`28.4 Communication, Cooperation, And Mutual Mistrust
`28.5 Mechanisms For Internet Security 475
`28.6 Firewalls And Internet Access 476
`28.7 Multiple Connections And Weakest Links 477
`28.8 Firewall Implementation And High-Speed Hardware
`479
`28.9 Packet-Level Filters
`480
`28.10 Security And Packet Filter Specification
`28.11 The Consequence Of Restricted Access For Clients
`481
`28.12 Accessing Services Through A Firewall
`483
`28.13 The Details Of Firewall Architecture
`28.14 Stub Network 484
`28.15 An Alternative Firewall Implementation 484
`485
`28.16 Monitoring And Logging
`486
`28.17 Summary
`
`474
`
`478
`
`481
`
`Chapter 29 The Future Of TCP/IP (IPng, 1Pv6)
`
`489
`Introduction
`29.1
`29.2 Why Change TCP/IP And The Internet?
`491
`29.3 Motivation For Changing IPv4
`29.4
`The Road To A New Version Of IP
`492
`29.5
`The Name Of The Next IP
`
`492
`
`490
`
`Contents
`
`465
`
`471
`
`489
`
`Ex.1022
`APPLE INC. / Page 15 of 31
`
`

`

`Contents
`
`Contents
`
`xix
`
`29.6
`29.7
`29.8
`29.9
`29.10
`29.11
`29.12
`29.13
`29.14
`29.15
`29.16
`29.17
`29.18
`29.19
`29.20
`29.21
`29.22
`29.23
`29.24
`
`498
`
`493
`Features Of 1Pv6
`General Form Of An 1Pv6 Datagram 494
`1Pv6 Base Header Format 494
`496
`1Pv6 Extension Headers
`Parsing An 1Pv6 Datagram 497
`1Pv6 Fragmentation And Reassembly 498
`The Consequence Of End-To-End Fragmentation
`1Pv6 Source Routing 500
`1Pv6 Options 500
`502
`Size Of The 1Pv6 Address Space
`502
`1Pv6 Colon Hexadecimal Notation
`503
`Three Basic 1Pv6 Address Types
`504
`The Duality Of Broadcast And Multicast
`An Engineering Choice And Simulated Broadcast 504
`Proposed 1Pv6 Addre{Js Space Assignment 504
`506
`1Pv4 Address Encoding And Transition
`Providers, Subscribers, And Address Hierarchy
`507
`Additional Hierarchy
`508
`Summary
`
`506
`
`Appendix 1 A Guide To RFCs
`
`511
`
`Appendix 2 Glossary Of lnternetworking Terms And Abbreviations
`
`557
`
`Bibliography
`
`Index
`
`591 ·
`
`599
`
`465
`
`471
`
`489
`
`Ex.1022
`APPLE INC. / Page 16 of 31
`
`

`

`1
`
`Introduction And Overview
`
`1.1 The Motivation For lnternetworking
`
`Data communication has become a fundamental part of computing. World-wide
`networks gather data about such diverse subjects as atmospheric conditions, crop pro(cid:173)
`duction, and airline traffic. Groups establish electronic mailing lists so they can share
`information of common interest. Hobbyists exchange programs for their home comput(cid:173)
`ers. In the scientific world, data networks are essential because they allow scientists to
`send programs and data to remote supercomputers for processing, to retrieve the results,
`and to exchange information with colleagues.
`Unfortunately, most networks are independent entities, established to serve the
`needs of a single group. The users choose a hardware technology appropriate to their
`communication problems. More important, it is impossible to build a universal network
`from a single hardware technology because no single network suffices for all uses.
`Some users need a high-speed network to connect machines, but such networks cannot
`be expanded to span large distances. Others settle for a slower speed network that con(cid:173)
`nects machines thousands of miles apart.
`In the past 15 years, a new technology has evolved that makes it possible to inter(cid:173)
`connect many disparate physical networks and make them function as a coordinated
`unit. The technology, called internetworking, accommodates multiple, diverse underly(cid:173)
`ing hardware technologies by providing a way to interconnect heterogeneous networks
`and a set of communication conventions. The internet technology hides the details of
`network hardware and permits computers to communicate independent of their physical
`network connections.
`The internet technology described in this book is an example of open system inter(cid:173)
`connection. It is called an open system because, unlike proprietary communication sys(cid:173)
`tems available from one specific vendor, the specifications are publicly available. Thus,
`
`Ex.1022
`APPLE INC. / Page 17 of 31
`
`

`

`Introduction And Overview
`
`Chap . I
`
`anyone can build the software needed to communicate across an internet. More impor(cid:173)
`to foster communication between
`tant, the entire technology has been designed
`machines with diverse hardware architectures, to use almost any packet switched net(cid:173)
`work hardware, and to accommodate multiple computer operating systems.
`To appreciate internet technology, think of how it affects a professional group.
`Consider, for example, the effect of interconnecting the computers used by scientists.
`Any scientist can exchange data resulting from an experiment with any other scientist.
`National centers can collect data from natural phenomena and make the data available
`to all scientists . Computer services and programs available at one location can be used
`by scientists at other locations. As a result, the speed with which scientific investiga(cid:173)
`tions proceed increases; the changes are dramatic.
`
`1.2 The TCP/IP Internet
`U.S. government agencies have realized the importance and potential of internet
`technology for many years and have been funding research that has made possible a
`global internet. This book discusses principles and ideas underlying the internet tech(cid:173)
`nology that has resulted from research funded by the Advanced Research Projects Agen(cid:173)
`cy (ARPA)t. The ARPA technology includes a set of network standards that specify the
`details of how computers communicate, as well as a set of conventions for interconnect(cid:173)
`ing networks and routing traffic. Officially named the TCP/IP Internet Protocol Suite
`and commonly referred to as TCP/IP (after the names of its two main standards), it can
`be used to communicate across any set of interconnected networks. For example, some
`corporations use TCP/IP to interconnect all networks within their corporation, even
`though the corporation has no connection to outside networks. Other groups use
`TCP/IP for communication among geographically distant sites.
`Although the TCP/IP technology is noteworthy by itself, it is especially interesting
`because its viability has been demonstrated on a large scale. It forms the base technolo(cid:173)
`gy for a global internet that connects homes, university campuses and other schools,
`corporations, and government labs in 61 countries. In the U.S., The National Science
`Foundation (NSF) , the Department of Energy (DOE), the Department of Defense
`(DOD), the Health and Human Services Agency, (HHS) and the Nationa l Aeronautics
`and Space Administration (NASA) have all participated in funding the Internet, and use
`TCP/IP to connect many of their research sites. Known as the ARPA/NSF Internet, the
`TCP/IP Internet, the global Internet, or just the Internet+, the resulting internet allows
`researchers at connected institutions to share information with colleagues around the
`world as easily as they share it with researchers in the next room. An outstanding suc(cid:173)
`cess , the Internet demonstrates the viability of the TCP/IP technology and shows how it
`can accommodate a wide variety of underlying network technologies.
`Most of the material in this book applies to any internet that uses TCP/IP, but
`some chapters refer specifically to the global Internet. Readers interested only in the
`technology should be careful to watch for the distinction between the Internet architec(cid:173)
`ture as it exists and general TCP/IP intemets as they might exist. It would be a mis-
`t ARPA was called the Defense Advanced Research Projects Agency for several years during the 1980s.
`:j:We will follow the usual convention of capitalizing Internet when referring specifically to the global
`Internet, and use lower case to refer to private intemets that use TCP/IP.
`
`Ex.1022
`APPLE INC. / Page 18 of 31
`
`

`

`rview
`
`Chap. 1
`
`. More impor(cid:173)
`ation between
`t switched net(cid:173)
`s.
`~ssional group.
`d by scientists.
`other scientist.
`: data available
`on can be used
`1tific investiga-
`
`ntial of internet
`nade possible a
`1e internet tech-
`1 Projects Agen-
`, that specify the
`for interconnect(cid:173)
`:t Protocol Suite
`,tandards), it can
`r example, some
`orporation, even
`ther groups use
`
`cially interesting
`1e base technolo-
`1d other schools,
`National Science
`nent of Defense
`anal Aeronautics
`Internet, and use
`NSF Internet, the
`1g internet allows
`agues around the
`t outstanding sue(cid:173)
`and shows how it
`
`uses TCP/IP, but
`rested only in the
`, Internet architec(cid:173)
`t would be a mis-
`
`ars during the l 980s.
`ecifically to the global
`
`Sec. 1.2
`
`The TCP/IP Internet
`
`take, however, to ignore completely sections of the text that describe the global Internet
`- many corporate networks are already more complex than the global Internet of ten
`years ago, and many of the problems they face have already been solved in the global
`Internet.
`
`1.3 Internet Services
`
`One cannot appreciate the technical details underlying TCP/IP without understand(cid:173)
`ing the services it provides. This section reviews internet services briefly, highlighting
`the services most users access, and leaves to later chapters the discussion of how com(cid:173)
`puters connect to a TCP/IP internet and how the functionality is implemented.
`Much of our discussion of services will focus on standards called protocols. Proto(cid:173)
`cols like TCP and IP provide the rules for communication. They contain the details of
`message formats, describe how a computer responds when a message arrives, and speci(cid:173)
`fy how a computer handles errors or other abnormal conditions. Most important, they
`allow us to discuss computer communication independent of any particular vendor's
`network hardware. In a sense, protocols are to communication what algorithms are to
`computation. An algorithm allows one to specify or understand a computation without
`knowing the details of a particular CPU instruction set. Similarly, a communication
`protocol allows one to specify or understand data communication without depending on
`detailed knowledge of a particular vendor's network hardware.
`Hiding the low-level details of communication helps improve productivity in
`several ways. First, because programmers deal with higher-level protocol abstractions,
`they do not need to learn or remember as many details about a given hardware confi(cid:173)
`guration. They can create new programs quickly. Second, because programs built us(cid:173)
`ing higher-level abstractions are not restricted to a particular machine architecture or a
`particular network hardware, they do not need to be changed when machines or net(cid:173)
`works are reconfigured. Third, because application programs built using higher-level
`protocols are independent of the underlying hardware, they can provide direct communi(cid:173)
`cation for an arbitrary pair of machines. Programmers do not need to build special ver(cid:173)
`sions of application software to move and translate data between each possible pair of
`machine types.
`We will see that all network services are described by protocols. The next sections
`refer to protocols used to specify application-level services as well as those used to de(cid:173)
`fine network-level services. Later chapters explain each of these protocols in more de(cid:173)
`tail.
`
`1.3.1 Application Level Internet Services
`
`From the user's point of view, a TCP/IP internet appears to be a set of application
`programs that use the network to carry out useful communication tasks. We use the
`term interoperability to refer to the ability of diverse computing systems to cooperate in
`solving computational problems. Internet application programs exhibit a high degree of
`
`Ex.1022
`APPLE INC. / Page 19 of 31
`
`

`

`4
`
`Introduction And Overview
`
`Chap. I
`
`interoperability. Most users that access the Internet do so merely by running application
`programs without understanding the TCP/IP technology, the structure of the underlying
`internet, or even the path the data travels to its destination; they rely on the application
`programs and the underlying network software to handle such details. Only program(cid:173)
`mers who write network application programs need to view the internet as a network
`and need to understand some of the technology.
`The most popular and widespread Internet application services include:
`• Electronic mail. Electronic mail allows a user to compose memos and send them
`to individuals or groups. Another part of the mail application allows users to read
`memos that they have received. Electronic mail has been so successful that many
`Internet users depend on it for normal business correspondence. Although many
`electronic mail ,systems exist, using TCP/IP makes mail delivery more reliable be(cid:173)
`cause it does not rely on intermediate computers to relay mail messages. A
`TCP/IP mail delivery system operates by having the sender's machine contact the
`receiver's machine directly . Thus, the sender knows that on

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket