throbber
Second Edition
`
`Internetworking
`
`with
`
`TCP/IP
`
`VOLUME I
`
`Principles, Protocols, and Architecture
`
`
`
`Douglas E. Comer
`
`Samsung - Exhibit 1016 - Page 1
`
`Samsung - Exhibit 1016 - Page 1
`
`

`

`lnternetworking With TCP/IP
`
`;__________
`
`Samsung - Exhibit 1016 - Page 2
`
`Samsung - Exhibit 1016 - Page 2
`
`

`

`
`
`lnternetworking With TCP/IP
`
`Vol I:
`
`Principles, Protocols, and Architecture
`
`Second Edition
`
`DOUGLAS E. COMER
`
`Department of Computer Sciences
`Purdue University
`West Lafayette, IN 47907
`
`,
`l:
`
`PRENTICE HALL
`Englewood Cliffs, New Jersey 07632
`
`i i S
`
`amsung - Exhibit 1016 - Page 3
`
`Samsung - Exhibit 1016 - Page 3
`
`

`

`Library of Congress Cataloglng—In—Publtcatton Data
`
`Comer. Douglas E.
`Internetworktng wtth TCP/IP / Douglas E. Caner. -- 2nd ed.
`p.
`cm.
`) and 1ndex.
`Includes blbltographtcal references (v. 1, p.
`Contents: vol. 1. Prlnctples. protocols. and archttecture.
`ISBN 0—13—468505-9 (v.
`1)
`1. Computer networks.
`2. Conputer network protocols.
`transn1sston systems.
`I. Title.
`TK5105.5.C59
`1991
`004.6--dc20
`
`3. Data
`
`90-7829
`CIP
`
`
`
`Editorial/production supervision: Joe Scordato
`Cover design: Karen Stephens
`Cover illustration: Jim Kinstrey
`Manufacturing buyers: Linda Behrens and Patrice Fraccio
`
`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 fumishing, performance, or use of these
`programs.
`
`©1991 by Prentice—Hall, Inc.
`A Division of Simon & Schuster
`
`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.
`
`Printed in the United States Of America
`
`10
`
`9
`
`8
`
`7
`
`6
`
`5
`
`UNIX is a registered trademark of AT&T Bell
`Laboratories. proNET—IO is a trademark of
`Proteon Corporation. VAX, Microvax, and
`LSI 11 are trademarks of Digital Equipment
`Corporation. Network Systems and HYPER-
`channels are registered trademarks of Network
`Systems Corporation.
`
`ISBN U-lB-HEBSDS-‘l
`
`Prentice—Hall International (UK) Limited, Landon
`Prentice-Hall of Australia Pty. Limited, Sidney
`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
`
`
`
`"N“ --—’—“*"~—~r "" ‘W‘m‘m, .
`
`Samsung - Exhibit 1016 - Page 4
`
`Samsung - Exhibit 1016 - Page 4
`
`

`

`
`
`T0 Chris
`
`Samsung - Exhibit 1016 - Page 5
`
`Samsung - Exhibit 1016 - Page 5
`
`

`

`
`
`Contents
`
`Foreword
`
`Preface
`
`Chapter 1
`
`Introduction and Overview
`
`1.1 The Need For An Internet
`1.2 The TCP/IP Internet
`2
`1.3 Internet Services
`3
`
`1
`
`6
`1.4 History And Scope Of The Internet
`1.5 The Original Internet Activities Board
`1.6 The New IAB Organization
`9
`11
`1.7 Internet Request For Comments
`1.8 Internet Protocols and Standardization
`
`8
`
`12
`
`1.9 Future Growth and Technology
`1.10 The FNC And The NREN 13
`
`12
`
`1.1] Organization Of This Text
`1.12 Summary
`15
`
`14
`
`xix
`
`xxi
`
`1
`
`Chapter 2 Review of Underlying Network Technologies
`
`17
`
`2.1 Introduction
`
`17
`
`18
`2.2 Two Approaches To Network Communication
`2.3 Wide Area, Metropolitan Area, and Local Area Networks
`2.4 Ethernet Technology
`20
`2.5 ProNET Token Ring Technology
`2.6 ARPANET Technology
`33
`2.7 National Science Foundation Networking
`
`36
`
`28
`
`19
`
`2.8 Other Technologies over which TCP/IP has been used
`2.9 Summary And Conclusion
`48
`
`44
`
`Samsung - Exhibit 1016 - Page 6
`
`Samsung - Exhibit 1016 - Page 6
`
`

`

`viii
`
`Contents
`
`Chapter 3 lnternetworking Concept and Architectural Model
`
`51
`
`3.1 Introduction
`
`51
`
`3.2 Application-Level Interconnection
`3.3 Network-Level Interconnection
`52
`
`51
`
`3.4 Properties Of The Internet
`3.5 Internet Architecture
`54
`
`53
`
`3.6 Interconnection Through IP Gateways or Routers
`3.7 The User’s View 56
`
`54
`
`56
`3.8 All Networks Are Equal
`3.9 The Unanswered Questions
`3.10 Summary
`58
`
`57
`
`Chapter 4 Internet Addresses
`
`61
`
`4.1 Introduction
`
`61
`
`61
`4.2 Universal Identifiers
`4.3 Three Primary Classes 0f IP Addresses
`4.4 Addresses Specify Network Connections
`4.5 Network And Broadcast Addresses
`63
`4.6 Limited Broadcast
`64
`
`62
`63
`
`4.7 Interpreting Zero To Mean “This"
`4.8 Weaknesses In Internet Addressing
`4.9 Dotted Decimal Notation
`66
`
`64
`65
`
`67
`4.10 Loopback Address
`4.11 Summary Of Special Address Conventions
`4.12 Internet Addressing Authority
`68
`4.13 An Example
`68
`4.14 Network Byte Order
`4.15 Summary
`70
`
`69
`
`67
`
`
`
`Chapter 5 Mapping Internet Addresses to Physical Addresses (ARP)
`
`73
`
`73
`5.1 Introduction
`5.2 The Address Resolution Problem 73
`
`5.3 Two Types Of Physical Addresses
`5.4 Resolution Through Direct Mapping
`5.5 Resolution Through Dynamic Binding
`5.6 The Address Resolution Cache
`76
`
`74
`
`74
`75
`
`77
`5.7 ARP Refinements
`5.8 Relationship OfARP To Other Protocols
`
`77
`
`— vv «"me
`
`Samsung - Exhibit 1016 - Page 7
`
`Samsung - Exhibit 1016 - Page 7
`
`

`

`Contents
`
`ix
`
`77
`5.9 ARP Implementation
`5.10 ARP Encapsulation And Identification
`5.11 ARP Protocol Format
`79
`
`79
`
`5.12 Summary
`
`80
`
`Chapter 6 Determining an Internet Address at Startup (RARP)
`
`83
`
`83
`6.1 Introduction
`6.2 Reverse Address Resolution Protocol (RARP)
`
`84
`
`86
`6.3 Timing RARP Transactions
`6.4 Primary And Backup RARP Servers
`6.5 Summary
`87
`
`86
`
`Chapter 7 Internet Protocol: Connectionless Datagram Delivery
`
`89
`
`89
`7.1 Introduction
`7.2 A Virtual Network
`
`89
`
`90
`90
`
`7.3 Internet Architecture And Philosophy
`7.4 The Concept 0f Unreliable Delivery
`7.5 Connectionless Delivery System 91
`7.6 Purpose Of The Internet Protocol
`91
`7.7 The Internet Datagram 91
`7.8 Internet Datagram Options
`7.9 Summary
`106
`
`100
`
`Chapter 8 Internet Protocol: Routing IP Datagrams
`
`109
`
`8.1 Introduction
`
`109
`
`111
`
`109
`8.2 Routing In An Internet
`8.3 Direct And Indirect Delivery
`8.4 Table-Driven IP Routing
`113
`8.5 Default Routes
`115
`115
`8.6 Host—Specific Routes
`8.7 The Final Algorithm 115
`116
`8.8 Routing With IP Addresses
`8.9 Handling Incoming Datagrams
`8.10 Establishing Routing Tables
`8.11 Summary
`119
`
`118
`119
`
`
`
`
`
`-Ir~v~v\-nwvuuw.ow~n.g_w.m-....<
`
`
`
`r~m.-....,1...
`
`1
`
`Samsung - Exhibit 1016 - Page 8
`
`Samsung - Exhibit 1016 - Page 8
`
`

`

`x
`
`Contents
`
`Chapter 9 Internet Protocol: Error and Control Messages (ICMP)
`
`123
`
`9.1 Introduction
`
`123
`
`123
`124
`
`127
`128
`
`130
`
`9.2 The Internet Control Message Protocol
`9.3 Error Reporting vs. Error Correction
`9.4 ICMP Message Delivery
`125
`9.5 ICMP Message Format
`126
`9.6 Testing Destination Reachability And Status
`9.7 Echo Request And Reply Message Format
`9.8 Reports 0f Unreachable Destinations
`128
`9.9 Congestion And Datagram Flow Control
`9.10 Source Quench Format
`130
`131
`9.11 Route Change Requests From Gateways
`9.12 Detecting Circular 0r 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
`
`133
`
`134
`
`Chapter 10 Protocol Layering
`
`139
`
`10.1 Introduction
`
`139
`
`139
`10.2 The Need For Multiple Protocols
`10.3 The Conceptual Layers 0f Protocol Software
`10.4 Functionality Of The Layers
`143
`10.5 CCITT X.25 And Its Relation To The 150 Model
`
`140
`
`144
`
`10.6 Diflerences Between X.25 And Internet Layering
`10.7 The Protocol Layering Principle
`149
`10.8 Layering In The Presence 0f Network Substructure
`[0.9 Two Important Boundaries In The TCP/IP Model
`10.10 The Disadvantage OfLayering
`154
`10.11 The Basic Idea Behind Multiplexing And Demultiplexing
`10.12 ISO’s OSI Protocols
`156
`
`151
`153
`
`147
`
`154
`
`10.13 Summary
`
`157
`
`Chapter 11 User Datagram Protocol
`
`159
`
`11.1 Introduction
`
`159
`
`11.2 Identifying The Ultimate Destination
`11.3 The User Datagram Protocol
`160
`
`159
`
`
`
`
`
`Samsung - Exhibit 1016 - Page 9
`
`Samsung - Exhibit 1016 - Page 9
`
`

`

` xi
`
`Contents
`
`161
`
`[1.4 Format 0f UDP Messages
`11.5 UDP Pseudo—Header
`162
`163
`11.6 UDP Encapsulation And Protocol Layering
`11.7 Layering And The UDP Checksum Computation
`11.8 UDP Multiplexing, Demultiplexing, And Parts
`11.9 Reserved And Available UDP Port Numbers
`11.10 Summary
`168
`
`165
`165
`166
`
`Chapter 12 Reliable Stream Transport Service (TCP)
`
`171
`
`12.1 Introduction
`
`171
`
`171
`12.2 The Need For Stream Delivery
`12.3 Properties Of The Reliable Delivery Service
`12.4 Providing Reliability
`173
`12.5 The Idea Behind Sliding Windows
`12.6 The Transmission Control Protocol
`
`175
`177
`
`172
`
`12.7 Ports, Connections, And Endpoints
`12.8 Passive And Active Opens
`180
`12.9 Segments, Streams, And Sequence Numbers
`12.10 Variable Window Size And Flow Control
`
`178
`
`181
`182
`
`183
`12.11 TCP Segment Format
`184
`12.12 Out OfBand Data
`185
`12.13 Maximum Segment Size Option
`186
`12.14 TCP Checksum Computation
`12.15 Acknowledgements And Retransmission
`12.16 Timeout And Retransmission
`188
`
`187
`
`12.17 Accurate Measurement 0f Round Trip Samples
`12.18 Karn's Algorithm And Timer Backofi‘
`191
`12.19 Responding To High Variance In Delay
`192
`12.20 Response To Congestion
`192
`12.21 Establishing A TCP Connection
`12.22 Initial Sequence Numbers
`196
`12.23 Closing a TCP Connection
`196
`12.24 TCP Connection Reset
`198
`12.25 TCP State Machine
`198
`
`194
`
`200
`12.26 Forcing Data Delivery
`12.27 Reserved TCP Part Numbers
`
`200
`
`12 .28 TCP Performance
`12.29 Summary
`202
`
`200
`
`190
`
`Samsung - Exhibit 1016 - Page 10
`
`Samsung - Exhibit 1016 - Page 10
`
`

`

`xii
`
`Chapter 13 Routing: Cores, Peers, and Algorithms (GGP)
`
`13.1 Introduction
`
`205
`
`Contents
`
`205
`
`206
`
`208
`
`13.2 The Origin Of Gateway Routing Tables
`13.3 Routing With Partial Information
`207
`13.4 Original Internet Architecture And Cores
`13.5 Core Gateways
`209
`13.6 Beyond The Core Architecture To Peer Backbones
`13.7 Automatic Route Propagation
`214
`13.8 Vector Distance (Bellman-Ford) Routing
`13.9 Gateway—To—Gateway Protocol (GGP)
`13.10 GGP Message Formats
`216
`13.11 Link-State (SPF) Routing
`218
`13.12 SPF Protocols
`219
`
`212
`
`214
`216
`
`13.13 Summary
`
`220
`
`Chapter 14 Routing: Autonomous Systems (EGP)
`
`223
`
`14.1 Introduction
`
`223
`
`14.2 Adding Complexity To The Architectural Model
`14.3 A Fundamental Idea: Extra Hops
`224
`14.4 Autonomous System Concept
`226
`14.5 Exterior Gateway Protocol (EGP)
`14.6 EGP Message Header
`229
`14.7 EGP Neighbor Acquisition Messages
`14.8 EGP Neighbor Reachability Messages
`14.9 EGP Poll Request Messages
`232
`234
`14.10 EGP Routing Update Messages
`14.11 Measuring From The Receiver’s Perspective
`14.12 The Key Restriction OfEGP
`236
`14.13 Technical Problems
`238
`
`230
`231
`
`228
`
`14.14 Decentralization Of The Internet Architecture
`14.15 Beyond Autonomous Systems
`239
`14.16 Summary
`240
`
`223
`
`235
`
`239
`
`Chapter 15 Routing: Interior Gateway Protocols (RIP, OSPF, HELLO)
`
`243
`
`15.1 Introduction
`
`243
`
`15.2 Static Vs. Dynamic Interior Routes
`15.3 Routing Information Protocol (RIP)
`15.4 The Hello Protocol
`252
`
`243
`246
`
`
`
`Samsung - Exhibit 1016 - Page 11
`
`Samsung - Exhibit 1016 - Page 11
`
`

`

` xiii
`
`Contents
`
`15.5 Combining RIP, Hello, And EGP
`15.6 The Open SPF Protocol (OSPF)
`15.7 Routing With Partial Information
`15 .8 Summary
`262
`
`254
`255
`262
`
`Chapter 16 Transparent Gateways And Subnet Addressing
`
`265
`
`16.1 Introduction
`
`265
`
`265
`16.2 Review OfRelevant Facts
`16.3 Minimizing Network Numbers
`16.4 Transparent Gateways
`267
`16.5 Proxy ARP
`268
`16.6 Subnet Addresses
`
`270
`
`266
`
`16.7 Flexibility In Subnet Address Assignment
`16.8 Implementation 0f Subnets With Masks
`16.9 Subnet Mask Representation
`274
`16.10 Routing In The Presence OfSubnets
`16.11 The Subnet Routing Algorithm 276
`16.12 Unified Routing Algorithm 276
`16.13 Maintenance 0f Subnet Masks
`16.14 Broadcasting To Subnets
`278
`16.15 Summary
`279
`
`278
`
`272
`273
`
`275
`
`Chapter 17 Multicast Addressing (IGMP)
`
`281
`
`281
`17.1 Introduction
`17.2 Hardware Broadcast
`17.3 Hardware Multicast
`17.4 1P Multicast
`283
`17.5 [P Multicast Addresses
`
`281
`282
`
`283
`
`17.6 Mapping 1P Multicast To Ethernet Multicast
`17.7 Extending [P To Handle Multicasting
`285
`17.8 Internet Group Management Protocol
`286
`17.9 IGMP Implementation
`286
`17.10 Group Membership State Transitions
`17.11 IGMP Message Format
`288
`289
`17.12 Multicast Address Assignment
`17.13 Propagating Routing Information
`17.14 Summary
`290
`
`289
`
`287
`
`284
`
`Samsung - Exhibit 1016 - Page 12
`
`Samsung - Exhibit 1016 - Page 12
`
`

`

`Contents
`
`293
`
`303
`
`311
`
`xiv
`
`Chapter 18 Client-Server Model Of Interaction
`
`293
`18.1 Introduction
`18.2 The Client—Server Model
`
`293
`
`18.3 A Simple Example: UDP Echo Server
`18.4 Time And Date Service
`296
`
`294
`
`18.5 The Complexity of Servers
`18.6 RARP Server
`298
`18.7 Alternatives To The Client—Server Model
`
`297
`
`299
`
`18.8 Summary
`
`300
`
`Chapter 19 Bootstrap Protocol (BOOTP)
`
`19.1 Introduction
`19.2 Introduction
`
`303
`303
`
`304
`19.3 Using [P To Determine An IP Address
`19.4 The BOOTP Retransmission Policy
`305
`19.5 BOOTP Message Format
`306
`19.6 The Two-Step Bootstrap Procedure
`19.7 Vendor~Specific Field
`308
`19.8 Summary
`309
`
`307
`
`Chapter 20 The Domain Name System
`
`311
`20.1 Introduction
`20.2 Names For Machines
`
`311
`
`312
`20.3 Flat Namespace
`20.4 Hierarchical Names
`
`313
`
`20.5 Delegation OfAuthority For Names
`20.6 Subset Authority
`314
`20.7 TCP/IP Internet Domain Names
`
`315
`
`313
`
`20.8 Official And Unofi‘icial Internet Domain Names
`20.9 Items Named And Syntax 0f Names
`319
`20.10 Mapping Domain Names To Addresses
`20.11 Domain Name Resolution
`321
`
`319
`
`316
`
`322
`20.12 Efficient Translation
`20.13 Caching: The Key To Efliciency
`20.14 Domain Server Message Format
`20.15 Compressed Name Format
`327
`20.16 Abbreviation 0f Domain Names
`20.17 Inverse Mappings
`329
`
`323
`324
`
`328
`
`
`
`
`
`Samsung - Exhibit 1016 - Page 13
`
`Samsung - Exhibit 1016 - Page 13
`
`

`

` XV
`
`Contents
`
`329
`20.18 Pointer Queries
`20.19 Object Types And Resource Record Contents
`20.20 Obtaining Authority For A Subdomain
`331
`20.21 Summary
`332
`
`330
`
`Chapter 21 The Socket Interface
`
`335
`
`335
`21.1 Introduction
`21.2 The UNIX I/O Paradigm And Network [/0
`21.3 Adding Network [/0 to UNIX 336
`21.4 The Socket Abstraction
`337
`
`336
`
`337
`21.5 Creating A Socket
`21.6 Socket Inheritance And Termination
`
`338
`
`340
`
`339
`21.7 Specifying A Local Address
`21.8 Connecting Sockets To Destination Addresses
`21.9 Sending Data Through A Socket
`341
`21.10 Receiving Data Through A Socket
`343
`21.11 Obtaining Local And Remote Socket Addresses
`21.12 Obtaining And Setting Socket Options
`345
`21.13 Speczfying A Queue Length For A Server
`346
`21.14 How A Server Accepts Connections
`346
`21.15 Servers That Handle Multiple Services
`347
`21.16 Obtaining And Setting The Host Names
`348
`21.17 Obtaining And Setting The Internal Host Domain
`21.18 4850 UNIX Network Library Calls
`349
`21.19 Network Byte Order Conversion Routines
`21.20 IP Address Manipulation Routines
`351
`21.21 Accessing The Domain Name System 352
`21.22 Obtaining Information About Hosts
`354
`355
`21.23 Obtaining Information About Networks
`355
`21.24 Obtaining Information About Protocols
`21.25 Obtaining Information About Network Services
`21.26 An Example Client
`357
`21.27 An Example Server
`359
`2128 Summary
`362
`
`350
`
`344
`
`349
`
`356
`
`Chapter 22 Applications: Remote Login (TELNET, Rlogin)
`
`365
`
`22.1 Introduction
`
`365
`
`22.2 Remote Interactive Computing
`22.3 TELNET Protocol
`366
`
`365
`
`22.4 Accommodating Heterogeneity
`
`368
`
`Samsung - Exhibit 1016 - Page 14
`
`Samsung - Exhibit 1016 - Page 14
`
`

`

`xvi
`
`Contents
`
`22.5 Passing Commands That Control The Remote Side
`22.6 Forcing The Server To Read A Control Function
`22.7 TELNET Options
`372
`22.8 TELNET Option Negotiation
`22.9 Rlogin (4BSD UNIX)
`374
`22.10 Summary
`375
`
`373
`
`370
`372
`
`Chapter 23 Applications: File Transfer And Access (FTP, TFTP, NFS)
`
`377
`
`23.1 Introduction
`
`377
`
`23.2 File Access And Transfer
`23.3 On—line Shared Access
`
`377
`378
`
`379
`23.4 Sharing By File Transfer
`23.5 FTP: The Major TCP/1P File Transfer Protocol
`23.6 FTP Features
`380
`23.7 FTP Process Model
`
`380
`
`379
`
`23.8 TCP Port NumberAssignment
`23.9 The User’s View OfFTP
`382
`23.10 An Example Anonymous FTP Session
`23.11 TFTP
`385
`23.12 NFS
`387
`
`382
`
`387
`23.13 NFS Implementation
`23.14 Remote Procedure Call (RFC)
`23.15 Summary
`389
`
`388
`
`384
`
`Chapter 24 Applications: Electronic Mail (822, SMTP)
`
`391
`
`391
`24.1 Introduction
`391
`24.2 Electronic Mail
`24.3 Mailbox Names And Aliases
`
`393
`
`393
`24.4 Alias Expansion And Mail Forwarding
`24.5 The Relationship Of Internetworking And Mail
`24.6 TCP/1P Standard For Electronic Mail Service
`24.7 Electronic Mail Addresses
`397
`24.8 Pseudo Domain Addresses
`398
`
`394
`396
`
`24.9 Simple Mail Transfer Protocol (SMTP)
`24.10 Summary
`401
`
`399
`
`
`
`Samsung - Exhibit 1016 - Page 15
`
`Samsung - Exhibit 1016 - Page 15
`
`

`

`
`
`Chapter 25 Applications: Internet Management (SNMP, CMOT)
`
`403
`
`l1
`rK.
`
`i
`
`
`.-_~_«.uwnr.r
`
`“fy,:.»,w5—.wgir-ql-.
`
`q...
`
`403
`25.1 Introduction
`25.2 The Level Of Management Protocols
`25.3 Architectural Model
`404
`25.4 Protocol Architecture
`406
`25.5 Common Management Information Base
`25 .6 Examples of M18 Variables
`407
`25.7 The Structure Of Management Information
`25.8 Formal Definitions Using ASN.1
`409
`25.9 Structure And Representation 0f MIB Object Names
`25.10 Simple Network Management Protocol
`414
`25.11 SNMP Message Format
`416
`25.12 Example Encoded SNMP Message
`25.13 Summary
`419
`
`403
`
`418
`
`406
`
`408
`
`409
`
`Chapter 26 Summary Of Protocol Dependencies
`
`421
`
`26.1 Introduction
`
`421
`
`421
`26.2 Protocol Dependencies
`26.3 Application Program Access
`26.4 Summary
`424
`
`423
`
`Chapter 27 TCP/IP Internet Research And Engineering Problems
`
`427
`
`27.1 Introduction
`
`427
`
`428
`430
`
`27.2 The Forces Stimulating Evolution
`27.3 Routing In An Expanded Internet
`27.4 Finding Users
`431
`27.5 Finding Services
`432
`27.6 Managing Networks
`432
`27.7 Automatic Configuration
`27.8 New Applications
`434
`27.9 High-Speed Communication Technologies
`27.10 Reliable Transactions
`438
`
`433
`
`27.11 Security
`27.12 Summary
`
`439
`439
`
`437
`
`Samsung - Exhibit 1016 - Page 16
`
`Samsung - Exhibit 1016 - Page 16
`
`

`

`xviii
`
`Appendix 1 A Guide To RFCs
`
`Contents
`
`441
`
`Appendix 2 Glossary Of lnternetworking Terms and Abbreviations
`
`477
`
`Appendix 3 Standardization And Official TCP/IP Protocol Standards
`
`513
`
`Appendix 4 Examples Of Internet Information Archives
`
`Bibliography
`
`Index
`
`523
`
`527
`
`535
`
`
`
`Samsung - Exhibit 1016 - Page 17
`
`Samsung - Exhibit 1016 - Page 17
`
`

`

`
`
`Foreword
`
`
`
`rhythm-,3...
`
`This second edition of Professor Douglas Comer’s book provides an up-to-date
`overview and introduction to TCP/IP. There have been many requests for the article,
`
`report, or book to read to get started on understanding the TCP/IP protocols. This book
`satisfies those requests. Writing an introduction to TCP/IP for the uninitiated is a very
`difficult task. While combining the explanation of the general principles of computer
`communication with the specific examples from the TCP/IP protocol suite, Doug Corner
`has provided a very readable book.
`While this book is specifically about the TCP/IP protocol suite, it is a good book
`for learning about computer communications protocols in general. The principles of ar-
`chitecture, layering, multiplexing, encapsulation, addressing and address mapping, rout-
`ing, and naming are quite similar in any protocol suite, though, of course, different in
`detail (See Chapters 3, 10, 18, 20, and 26).
`Computer communication protocols do not do anything themselves. Like operat-
`ing systems, they are in the service of application processes. Processes are the active
`elements that request communication and are the ultimate senders and receivers of the
`data transmitted. The various layers of protocols are like the various layers in a com-
`puter operating system, especially the file system. Understanding protocol architecture
`is like understanding operating system architecture.
`In this book Doug Comer has taken
`the “bottom up” approach — starting with the physical networks and moving up in lev-
`els of abstraction to the applications.
`Since application processes are the active elements using the communication sup-
`ported by the protocols, TCP/IP is an “interprocess communication” (IPC) mechanism.
`While there are several experiments in progress with operating system style message
`passing and procedure call types of IPC based on IF, the focus in this book is on more
`traditional applications that use the UDP datagram or TCP logical connection forms of
`IPC (See Chapters 11, 12, 18, 20, and 22-25). Typically in operating systems there is a
`set of functions provided by the operating system to the application processes. This
`system call interface usually includes calls for opening, reading, writing, and closing
`files, among other things.
`In many systems there are similar system calls for IPC func-
`tions including network communication. As an example of such an interface Doug Co-
`mer presents an overview of the socket interface (See Chapter 21).
`One of the key ideas inherent in TCP/IP and in the title of this book is “intemet-
`working." The power of a communication system is directly related to the number of
`entities in that system. The telephone network is very useful because (nearly) all the
`telephones are in one network (as it appears to the users). Computer communication
`
`Samsung - Exhibit 1016 - Page 18
`
`Samsung - Exhibit 1016 - Page 18
`
`

`

`
`
`xx
`
`Foreword
`
`systems and networks are currently separated and fragmented. The goal of interconnec—
`tion and intemetworking, to have a single powerful computer communication network,
`is fundamental to the design of TCP/IP. Essential to intemetworking is addressing (See
`Chapters 4, 5, 6, and 17), and a universal protocol — the lntemet Protocol (See Chapters
`7, 8, and 9). Of course, the individual networks have their own protocols which are
`used to carry the IP datagrams (See Chapter 2), and there must be a mapping between
`the individual network address and the IP address (See Chapters 5, 6, and 19).
`To have an intemetwork the individual networks must be connected. The connect—
`
`ing devices are called gateways. Further, these gateways must have some procedures
`for forwarding data from one network to the next. The data is in the form of IP da-
`tagrams and the destination is specified by an IP address, but the gateway must make a
`routing decision based on the IP address and what it knows about the connectivity of
`the networks making up the lntemet. The procedures for distributing the current con—
`nectivity information to the gateways are called routing algorithms, and these are
`currently the subject of much study and development (See Chapters 13, 14, 15, 16, and
`17).
`
`Like all communication systems, the TCP/IP protocol suite is an unfinished sys-
`It is evolving to meet changing requirements and new opportunities. Thus, this
`tem.
`book is, in a sense, a snapshot of TCP/IP circa 1990. And, as Doug Comer points out,
`there are many loose ends (See Chapter 27). One area that has changed significantly
`9
`since the first edition of this book is network management (See Chapter 25).
`Most chapters end with a few pointers to material “for further study.’ Many of
`these refer to memos of the RFC series of notes. This series of notes is the result of a
`
`policy of making the working ideas and the protocol specifications developed by the
`TCP/IP research and development community widely available. This availability of the
`basic and detailed information about these protocols, and the availability of the early
`implementations of them, has had much to do with their current widespread use. This
`commitment to public documentation at this level of detail is unusual for a research ef-
`fort, and has had significant benefits for the development of computer communication
`(See Appendices 1, 3, and 4).
`This book brings together information about the various parts of the TCP/IP archi—
`tecture and protocols and makes it accessible.
`lts publication is a very significant mile—
`stone in the evolution of computer communications.
`
`Jon Postel,
`Director, Communications Division
`Information Sciences Institute
`
`University of Southern California
`
`June, 1990
`
`
`
`Samsung - Exhibit 1016 - Page 19
`
`Samsung - Exhibit 1016 - Page 19
`
`

`

`
`
`Preface
`
`In the last century, railroads revolutionized the world by providing a transportation
`network that moved raw materials and manufactured products. They made an industri-
`alized society possible. Digital communication networks have started a new revolution
`by providing the technology that transports the data needed by a society in which infor-
`mation plays a key role. Networking already permeates industry, education, and
`government.
`It has already begun to change the way we view the world by shrinking
`geographic distances and forming new communities of people who interact frequently.
`More important, network growth is explosive. The revolution is well underway.
`To understand networking and the selection of topics discussed in this book,
`
`it is
`
`important to realize that network research and development occurred in three stages.
`Before the 19605, the main question was, “How can we transmit bits across a commun—
`ication medium efficiently and reliably?" The results include the development of infor-
`mation theory, the sampling theorem, and other ideas commonly referred to as signal
`processing. Beginning around the mid 19605, emphasis shifted to packet switching and
`the question became, “How can we transmit packets across a communication medium
`efficiently and reliably?” The results include the development of packet switching
`technologies, local area networks, and statistical analysis of network response to load.
`From approximately the mid 1970s to the present, emphasis has centered on network ar-
`chitecture and the question, “How can we provide communication services across a
`series of interconnected networks?" The results include the development of intemet—
`work technologies, protocol layering models, datagram and stream transport services,
`and the client-server interaction paradigm.
`Most textbooks and network courses concentrate on the first two stages of network
`research, presenting the well-known theories of data communications and queueing
`analysis. Although such information is important to engineers who design network
`technologies and hardware products, most network architects purchase commercially
`available network hardware.
`Instead of detailed knowledge about how bits or packets
`flow across communication media,
`they need to know how to interconnect such
`hardware and how to use the resulting system.
`It examines the architec-
`This text concentrates on the third stage of networking.
`ture of interconnected networks and explains the principles and protocols that make
`such interconnected architectures function as a single unified communication system.
`More important, it shows how an interconnected architecture can be used for distributed
`computation.
`
`Samsung - Exhibit 1016 - Page 20
`
`
`
`
`
`,.”"WEMWW‘wm‘wwm
`
`
`L.i .
`r.aK.v
`1.
`
`
`
`Samsung - Exhibit 1016 - Page 20
`
`

`

`xxii
`
`Preface
`
`The entire text focuses on the concept of intemetworking in general and the
`TCP/IP intemet technology in particular.
`lntemetworking is a powerful abstraction that
`allows us to deal with the complexity of multiple underlying communication technolo~
`gies.
`It hides the details of network hardware and provides a high level communication
`environment. As the book shows, the ultimate goal of intemetworking is maximal in-
`teroperability, that is, maximizing the ability of programs on diverse computer and net-
`work systems to communicate reliably and efficiently.
`The text reviews both the architecture of network interconnections as well as inter—
`
`net communication services and the protocols needed to provide those services. By the
`end of the book, the reader will understand how it is possible to interconnect multiple
`physical networks into a coordinated system, how intemet protocols operate in that en-
`vironment, and how application programs use the resulting system. As a specific exam-
`ple. the reader learns the details of the Connected (TCP/IP) Internet, including the archi—
`tecture of the gateway system and the application protocols it supports.
`In addition, the
`book discusses some of the limitations of the intemet approach.
`It is challenging
`Writing about intemetworking is both exciting and challenging.
`It is exciting be-
`because, as in any rapidly changing research area, nothing is stable.
`cause the TCP/IP Internet is an active, rapidly expanding entity. Researchers working
`on it generate new ideas constantly and the possibilities seem endless. Looking back
`over TCP/IP and the evolution of the Internet makes it clear that much has been accom-
`
`plished. Knowing that the research has taken a little over a decade makes one realize
`how intense the effort has been.
`
`Designed as both a college text and as a professional reference, the book is written
`at an advanced undergraduate or graduate level. For professionals, the book provides a
`comprehensive introduction to the TCP/IP technology and the architecture of the Inter-
`net. Although it is not intended to replace protocol standards, the book is a good start—
`ing point for leaming about intemetworking because it provides a uniform overview that
`emphasizes principles. Moreover, it gives the reader perspective that can be extremely
`difficult to obtain from individual protocol documents.
`When used in the classroom, the text provides more than sufficient material for a
`single semester network course at either the undergraduate or graduate level. Such a
`course can be extended to a 2-semester sequence if accompanied by programming pro-
`jects and readings from the literature. For undergraduate courses, it can be taken at face
`value. Students should be expected to grasp the basic concepts described in the text,
`and they should be able to describe or use them. At the graduate level, students should
`be expected to use the material here as a basis for further exploration of current
`research. They should understand it well enough to answer exercises or solve problems
`that require them to explore subtleties and consequences. Many of the exercises suggest
`such subtleties; solving them often requires students to read protocol standards and ap-
`ply creative energy to comprehend consequences.
`At all
`levels, hands-on experience sharpens the concepts and helps students gain
`intuition. Thus, I encourage instructors to invent projects that force students to use in—
`temetwork services and protocols. Although such experimentation is safest when the
`instructional
`laboratory network is isolated from production computing facilities, we
`have found that students exhibit the most enthusiasm, and benefit the most, when they
`have access to the “real” TCP/IP Internet.
`
`
`
`
`
`Samsung - Exhibit 1016 - Page 21
`
`Samsung - Exhibit 1016 - Page 21
`
`

`

`
`
`Preface
`
`xxur
`
`The book is organized into four main parts. Chapters 1 and 2 form an introduction
`that provides an overview and discusses existing technologies.
`In particular, Chapter 2
`reviews physical network hardware. The intention is to provide basic intuition about
`what
`is possible, not
`to spend inordinate time on hardware details. Chapters 3—12
`describe the TCP/IP Internet from the viewpoint of a single host, showing the basic ser-
`vices available and the protocols a host uses to access them. They cover the basics of
`Internet addressing and routing as well as the notion of protocol layering. Chapters
`13-17 describe the architecture of an intemet when viewed globally. They explore the
`
`core gateway system and the protocols gateways use to exchange routing information.
`Finally, Chapters 18-26 discuss application level services available in the Internet.
`They present the client-server model of interaction and give several examples of how
`one can organize client and server software. The last section discusses electronic mail
`and the domain name system, two topics that are extremely popular.
`The chapters have been organized “bottom up.” They begin with an overview of
`hardware and continue to build new functionality on top of it. This view will appeal to
`anyone who has developed Internet software because it follows the same pattern one
`uses in implementation. The concept of layering does not appear until Chapter 10. The
`discussion of layering emphasizes the distinction between conceptual
`layers of func-
`tionality and the reality of layered protocol software in which multiple objects appear at
`each layer.
`Although it is difficult to omit any chapter completely, the instructor will find that
`students are often satisfied to know that something is possible without knowing the de—
`tails. For example, one can skim through Chapters 5, 6, and 9 by covering only the
`functionality and not the details of the protocols.
`In addition, several cha

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