throbber
DOUGLAS E. COMER 1
`
`
`
`ARRIS EX. 1023 J,
`
`INTERNETWORKING WITH
`
`TC%1>/1P
`
`V 0 I. U M E
`
`PRINCIPLES, PROTOCOLS,
`
`AND ARCHITECTURE
`
`

`
`'1N'WRN3TW0I.I1NLG;. mm
`-.
`-.
`
`VOLUMEI
`PRINCIPLES, PROTOCOLS,
`AND ARCHITECTURE
`
`DOUGLA-.3 E. Comma,
`
`“THE classic text for an introduction to TCP/lP."
`—~Jon Postel, RFC editor and former Deputy lnternet Architect
`“Although others have tried, there is no better written or organized explanation of the core
`of TCP/IP'”
`—.Joel Snyder, Network Computing
`“As an introduction to the TCP/lP protocol suite and its underpinnings, this is an excellent
`book.
`it is also a good reference book to keep around for anyone who is working with
`79*”/'9"
`——George v. Neville—Neil, USENIX ,'login.'
`
`The all—time best—selIing TCP/IP book, /nternetworking with TCP/IP, is still THE reference
`for anyone who wants to learn about or work with the TCP/lP protocol suite. Volume I of
`the series by Douglas Comer provides the most up—to-date conceptual introduction to
`TCP/IP protocols and the latest developments in lnternet technology.
`Renowned for its clarity and accessibility, this superb text covers wide area (WAN) Internet
`backbones as well as local area network (LAN) technologies like Ethernet and FDDI. The
`text explains address binding (ARP), lP connectionless datagram delivery, error detection,
`multicasting, and routing.
`
`_1-msmwsm1ou;or sgauunmz.
`
`I Discusses how to use TCP/iP over an ATM network.
`I Covers the latest lPng (next generation) deveiopments and information.
`I Describes CIDR (Classless lnter—Domaih Routing) and supernettlng.
`Ii Discusses security in TCP/lP environments and firewall design.
`-I Categorizes hundreds of new RFCs and the protocols they describe.
`
`-ml laklllanrh whims is
`
`U Compares the lSO 7-layer reference model to the TCP/1P 5-layer reference model.
`I Explains TCP: reliability, acknowledgments, flow control, and sliding windows.
`I Details adaptive retransmission, including slow-start and silly window avoidance.
`I Describes the socket interface that applications use to access TCP/lP protocols.
`I Presents routing architectures for large and small internets.
`i Discusses bridges and routers.
`-I Examines appiication services:
`
`Domain Name System (DNS)
`Electronic mail (SMTP, MIME)
`File transfer and access (FTP, TFTP, NFS)
`Remote login (TELENET, rlogin)
`Network management (SNMP, MlB, ANSJ)
`
`PRENTICE HALL
`Upper Saddle River, NJ 07458
`
`

`
`

`
`Internetworking With TCP/IP
`
`

`
`

`
`Internetworking With TCP/IP
`Vol I:
`Principles, Protocols, and Architecture
`Third Edition
`
`DOUGLAS E. COMER
`
`Department of Compllfer Sciences
`Pllrdue Unil'ersity
`West Lafayette, IN 47907
`
`PRENTICE HALL
`Upper Saddle River, New Jersey 07458
`
`

`
`Corner, Douglll
`intemelW<>lkins willi TCP/lP I Dcuglu E. Comer. -- 3td e.d.
`em.
`p.
`lncl\ldel bibliosnphical ~rerenc ... and indu.
`ConICtlU: v. l. Principleo, protocola. and .n:hitoclll~
`ISBN 0-13-216987-8 (v. I)
`l. TCPIIP (Comp.tloer network ptolOCol) 2. Client/server comp.ttins.
`I. Tille.
`3.loternetworkins (fclecanmunicotion)
`]995
`TK5]05.S8~.C66
`005.2--ck:20
`
`95·]830
`
`'"
`
`Acquisitions editor: ALAN APT
`Production editor: IRWIN ZUCKER
`Cover designer: WENDY ALLING JU DY
`Buyer: LOR I BULWIN
`Editorial assistant: SHIRLEY MCGUIRE
`
`Cl 1995 by Prentice- Hall. Inc.
`A Simon & Schuster Company
`Upper Saddle Ri\·er. New Jersey 07458
`
`All rights reserved. No part of this book may be
`reproduced. in any form or by any means.
`withom 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 amhor and
`publisher make no warranty of any kind. e~presscd 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 usc of these programs.
`
`UNIX is a registered trademark of UNIX System Laboratories. Incorporated
`proNET-IO is a trademaric of Proteon Corporation
`LSI II 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
`
`I SBN 0- 13- 216 9 87-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. Ncw Delhi
`Prentice-Hall of Japan. Inc., Tokyo
`Simon & Schuster Asia Pte. Ltd., Singapore
`Editora Prentice-Hall do Brasil, Ltda., Rio de Janeiro
`
`

`
`To Chris To C'h.='f.5'
`
`

`
`Additional Enthusiastic Comments About
`Internetworking With rep/IP Volume 1
`
`"Unquestionably THE reference for Tep/IP; both informative and easy to
`read, this book is liked by both novice and experienced. "
`
`- Raj Yavatkar
`University of Kentucky
`US Editor, Computer Communications
`
`"The third edition maintains Comer's Intemetworking with Tep/IP as the
`acknowledged leader in Tep!IP books by adding up-to-the-minute ma(cid:173)
`terial on ATM, CIDR, firewalls, DHCP and the next version of IP, IPng."
`
`- Ralph Droms
`Bucknell University
`IFTF Working Group Chair
`
`"Doug Comer remains the first and best voice of Internet technology.
`Despite the legion of 'Internet carpetbaggers' (the current crop of 'au(cid:173)
`thors' who can barely spell F-T-P) which contributes noise - but no
`knowledge - on the Internet and its infrastructure, Dr. Comer shines
`through as the premiere source for lucid explanations and accurate infor(cid:173)
`mation. He sets a standard for which many strive, but precious few at-
`fain. "
`
`- Marshall Rose
`Dover Beach Consulting
`IETF Area Director
`
`"Comer's Volume 1 drastically changed the course of networking history. "
`
`- Dan Lynch
`Interop Company
`lAB Member
`
`"When you need to teach the details of TCPI IP, you need the latest in(cid:173)
`formation. Once again, Comer separates the chaff from the wheat with
`his latest edition of the TCPI IP book that a generation of networkers grew
`up with. "
`
`- Shawn Ostermann
`Ohio University
`
`

`
`Contents
`
`Foreword
`
`Preface
`
`Chapter 1 Introduction And Overview
`
`The Motil'ation For Internerworkillg
`1.1
`The rePIIP Internel 2
`1.2
`Internel Services 3
`J.3
`History And Scope Of The Internet
`1.4
`The IlIfernet Architecture Board 8
`1.5
`1.6
`The lAB Reorganization 9
`II
`1.7
`The [merne! Society
`II
`1.8
`II/femel Request For Comments
`1.9
`III(el"llel Protocols And Standardization
`12
`Fl/fIIre Growth And Technology
`1.10
`13
`1.11 Organizatioll O/The Text
`14
`Summary
`1.12
`
`6
`
`12
`
`xxi
`
`xxiii
`
`1
`
`Chapter 2 Review Of Underlying Network Technologies
`
`17
`
`17
`ImrOOl/etion
`2.1
`Two Approaches To Network COII/fllllllication
`2.2
`2.3 Wide Area And Local Area Networks
`19
`2.4
`E,heme/ Technology
`20
`2.5
`Fiber Distributed Data IlIIerCOlllleC! (FOOl)
`2.6
`Asynchronous Transfer Mode
`36
`2.7
`ARPANET Technology
`37
`2.8
`Naliollal Science FOl/lldalion Nerworking
`2.9
`ANSNET 44
`
`39
`
`18
`
`32
`
`vii
`
`

`
`viii
`
`Contents
`
`2.10 A Plallned Wide Area Backbone 44
`2.11 Other Technologies Over Which TCPIIP Has Been Used
`2.12
`Summary And Conelusion
`47
`
`44
`
`Chapter 3
`
`Internetworking 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
`
`49
`Introduction
`Application-Level Interconnection 49
`Network-LevellnterCOllnectiOfl
`50
`Properties 01 The Intemet
`51
`Internet Architecture 52
`Interconnection Through IP Routers 52
`The User's View 54
`54
`All Networks Are Equal
`The Unanswered Questions 55
`Summary
`56
`
`Chapter 4
`
`Internet Addresses
`
`59
`
`59
`Imroduction
`4.1
`Universalldelllijiers
`4.2
`59
`Three Primary Classes 01 I P Addresses 60
`4.3
`Addresses Specify Network Connections
`61
`4.4
`Network And Broadcast Addresses
`61
`4.5
`Limited Broadcast 62
`4.6
`IlIIerpreting Zero To Mean 'This"
`4.7
`4.8 Weaknesses 111 IlIIernet Addressing
`4.9
`DOlled Decimal Notation
`65
`4.10 Loopback Address 65
`4.11
`Summary Of Special Address Convellliolls 66
`4.12
`Internet Addressillg Authority 66
`4.13 All Example
`67
`4.14 Network Byte Order 69
`4.15
`Summary 70
`
`62
`63
`
`Chapter 5 Mapping Internet Addresses To Physical Addresses (ARP)
`
`73
`
`5.1
`5.2
`5.3
`5.4
`
`73
`Inlroductiol/
`73
`The Address Resolmiol/ Problem
`Two Types Of Physical Addresses 74
`74
`Resolution Throllgh Direct Mapping
`
`

`
`Contents
`
`;,
`
`75
`
`Resolution Through Dynamic Binding
`5.5
`The Address Resolution Cache
`76
`5.6
`ARP Refinements 77
`5.7
`5.8
`Relationship Of ARP To Other Protocols
`77
`ARP Implementation
`5.9
`5.10 ARP Encapsulation And Identification
`79
`5.1 I ARP Protocol Format
`5.12
`Summary
`81
`
`77
`
`79
`
`Chapter 6 Determining An Internet Address At Startup (RARP)
`
`83
`
`6.1
`6.2
`6.3
`6.4
`6.5
`
`83
`Introduction
`Reverse Address Resolution Protocol (RARP)
`Timing RARP Transactions
`86
`Primary And Backup RARP Servers
`Summary
`87
`
`86
`
`84
`
`Chapter 7
`
`Internet Protocol: Connection less Datagram Delivery
`
`89
`
`7.1
`7.2
`7.3
`7.4
`7.5
`7.6
`7.7
`7.8
`7.9
`
`Introduction
`89
`89
`A Virlllal Network
`Internet Architecture And Philosophy 90
`The Concept Of Unreliable Delivery
`90
`Conllectiolliess DeliveJY System
`91
`Purpose Of The IlIlernet Protocol
`91
`The Internet Datagram
`9 1
`Internet Datagram Options
`106
`Summary
`
`100
`
`Chapter 8
`
`Internet Protocol: Routing IP Datagrams
`
`109
`
`III
`
`8.1
`109
`ImrodUCliOIl
`ROllting In All Internet
`8.2
`109
`Direct And Indirect Delivery
`8.3
`Table-Driven I? ROllling
`113
`8.4
`Next-Hop ROllling
`113
`8.5
`liS
`Defaliit ROlltes
`8.6
`liS
`Host-Specific Routes
`8.7
`116
`The IP Routing Algorithm
`8.8
`116
`Routing With IP Addresses
`8.9
`8.10 Handling Incoming Datagrams
`
`118
`
`

`
`8./ 1 Establishing ROllling Tables
`8.12
`Summary
`JI9
`
`119
`
`Contents
`
`Chapter 9
`
`Internet Protocol : Error And Control Messages (ICMP)
`
`123
`
`123
`124
`
`lntroduction
`9.1
`123
`9.2
`The IlIfernet COllfrol Message ProTOcol
`Error Reponing vs. Error Correction
`9.3
`9.4
`ICMP Message Delil'elY
`125
`ICMP Message Format
`9.5
`126
`9.6
`Testing Destination Reachability And Status (Ping)
`9.7
`Echo Request And Reply Message Format
`128
`9.8
`Reports Of Unreachable Destinmiolls
`128
`9.9
`Congestion And Datagram Flow Control
`130
`Source Quench Format
`9.10
`130
`9.11
`ROllle Change Requests From Romers
`131
`9.12 Detecting Circlilar Or Excessil'ely Long ROlltes
`9.13 Reporting Other Problems
`134
`9.14 Clock Synchronizmion And Trallsit Time Estimation
`9.15
`In/ormation Request And Reply Messages
`136
`9.16 Obtaining A Subnet Mask
`136
`9.17 Summary
`137
`
`127
`
`133
`
`134
`
`Chapter 10 Subnet And Supernet Address Extensions
`
`139
`
`10.1
`10.2
`10.3
`10.4
`10.5
`10.6
`10.7
`10.8
`10.9
`10.10
`10.11
`10.12
`10.13
`10.14
`10.15
`10.16
`10.17
`
`140
`
`Introducrion
`139
`139
`Review Of Relemnt Facts
`Minimizing Network Numbers
`Transparent Romers
`141
`Proxy ARP
`142
`Subnet Addressing
`143
`Flexibility In Subnet Addres.~ Assignmcm
`Implementation Of Subnets Wilh Masks
`Subllet Mask Representation
`148
`Routing 1/1 The Presence 0/ Suhnets
`The Subnet ROUling Algorithm
`150
`A Unified Rouling Algorithm
`151
`Maintenance Of Subnet Masks
`152
`Broadcasting To Subncrs
`152
`SlIpernet Addressing
`153
`The Effect 0/ Supernelling On Roming
`Summary
`155
`
`146
`147
`
`149
`
`154
`
`

`
`•
`
`Contents
`
`Chapter 11 Protocol Layering
`
`11.1
`1/.2
`11.3
`/fA
`11.5
`11.6
`/1.7
`/1.8
`/1.9
`/J .10
`/l.1l
`11.12
`
`160
`
`159
`Imrodllclion
`159
`The Need For Multiple Protocols
`The COllceptllal Layers Of Protocol Software
`163
`FIII/cliollafity Of The Layers
`X.25 And lIS Rela/ioll To The ISO Model
`[64
`Differences Between X.25 And illlernet Layering
`The Protocol Layering Principle
`169
`Layering In Tile Presence Of NeN'ork Substructure
`Two Importafll BOllndaries /11 The rePII? Model
`The Disadvantage Of Layering
`174
`The Basic Mea Behind MII/tip/exing And Demultiplexing
`176
`Summary
`
`167
`
`171
`173
`
`,i
`
`159
`
`174
`
`Chapter 12 User Datagram Protocol (UDP)
`
`179
`
`179
`
`[79
`Introduction
`12.1
`Identifying The Ultimate Des/ination
`12.2
`The User Datagram Pro/ocol
`180
`12.3
`12.4 FormatOjUDPMessages
`lSI
`12.5 UDP Pseudo-Header
`182
`183
`12.6 UDP Encapsulation Anti Protocol Layering
`12.7 Layering And The UDP Checksum Computation
`12.8 UDP MII/liplexing, Demultiplexing, And Ports
`12.9 Reserved And Available UDP Pori Numbers
`12.10 Summary
`188
`
`185
`185
`186
`
`Chapter 13 Reliable Stream Transport Service (TCP)
`
`191
`
`191
`IlIIrodllClioll
`13.1
`191
`13.2 The Need For Srream Delivery
`13.3 Properries Of The Reliable Delil'el)' Service
`13.4 Providing Reliability
`193
`13.5
`The Idea Behind Sliding Windoll's
`13.6
`The Transmission Control Protocol
`13.7 Ports. Connections. And Endpoinrs
`13.8 Passive And Active Opens
`201
`13.9
`Segmems, Streams, And Sequence Numbers
`13.10 Variable Window Size And FloII' COfllrol
`13.1 I TCP Segment Formm
`203
`
`195
`198
`199
`
`192
`
`201
`202
`
`

`
`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
`
`208
`
`205
`Old Of Band Data
`206
`Maximum Segment Size Option
`207
`TCP Checksum Computation
`Acknowledgements And Retransmission
`Timeom And Retransmission
`209
`Accurate Measurement Of Round Trip Samples 2 11
`Karn" s Algorithm And Tim er Backoff 212
`Respondillg To High Variance In Delay
`213
`Response To Congestion
`2 14
`Establishing A TCP Connection
`Illitial Sequence Numbers 2 17
`217
`Closillg a TCP Connection
`TCP Connection Reset 219
`TCP State Machine
`219
`Forcing Dara Delivery
`221
`Reserved TCP Port Numhers
`TCP PClformance
`221
`Silly Window Syndrome And Small Packets 223
`Avoidillg Silly Window Syndrome
`224
`227
`Summary
`
`2 16
`
`221
`
`Chapter 14 Routing: Cores, Peers, And Algorithms (GGP)
`
`231
`
`231
`IllIroduclion
`14.1
`232
`Th e Origin Of Routing Tahles
`14.2
`233
`14.3 ROUling With Partial III formation
`14.4
`Originalllllernet ArchitecLUre And Cores 234
`235
`Core ROlllers
`14.5
`14.6
`Beyond The Core Architecture To Peer Backbones
`14]
`Automatic Route Propagation
`240
`240
`Vector DisIance (Bellman- Ford) Roming
`14.8
`14.9
`Gatev"ay-To-Gareway Protocol (GG P) 242
`GGP Message Formars
`14.10
`243
`14.11
`Link-State (SPF) Routing
`245
`SPF Protocols 246
`14.12
`Summary 246
`14.13
`
`238
`
`Chapter 15 Routing: Autonomous Systems (EGP)
`
`249
`
`Introduction
`/5.1
`249
`15.2 Adding Complexity To The Architectural Model 249
`15.3 A Fundamental Idea: EXira Hops 250
`
`

`
`Contents
`
`15.4
`15.5
`/5.6
`/5.7
`/5.8
`/5.9
`15.10
`15.11
`/5./2
`/5./3
`/5.14
`15.15
`15.16
`
`xiii
`
`261
`
`254
`
`256
`257
`
`252
`Au/onomous System Concept
`Exterior Gateway Protocol (EGP)
`EGP Message Header
`255
`EGP Neighbor Acquisition Messages
`EGP Neighbor Reachability Messages
`EGP Poll Request Messages
`258
`EG P ROllling Update Messages
`259
`Measuring From The Receiver's Perspectiw
`The Key Restriction Of EGP
`262
`Technical Problems
`264
`Decemralization Of Internet Architecture
`Beyond Autonomous Systems
`264
`Summary 265
`
`264
`
`Chapter 16 Routing: In An Autonomous System (RIP, OSPF, HELLO) 267
`
`/6.1
`/6.2
`16.3
`16.4
`/6.5
`16.6
`16.7
`16.8
`
`267
`lntroduction
`Static Vs. Dynamic lnterior Rallies
`Routing Informatioll Protocol (RIP)
`The Hello Protocol
`276
`Combining RIP, Hello, And EGP
`The Open SPF Protocol (OSPF)
`ROllting With Partial Information
`Summary 286
`
`278
`279
`286
`
`267
`270
`
`Chapter 17
`
`Internet Multicasting (IGMP)
`
`289
`
`289
`290
`
`/7./
`fmrodllction
`289
`17.2 Hardware Broadcast
`173 Hardware Multicast
`17.4
`IP Multicast
`29 1
`17.5
`IP Multicast Addresses
`291
`17.6 Mapping IP Multicast To Ethernet MlIlticast
`17.7 Extellding IP To Handle Multicasting
`293
`17.8
`lnternet Group Management Protocol 294
`294
`17.9
`lGMP Implementation
`17.10 Group Membership State TransiliOlls
`17.1 J IGMP Message Format
`296
`17.12 Multicast Address Assignment 297
`17.13 Propagatillg ROlllillg Illformatioll
`297
`17.14 The Mrollled Program
`298
`17.15 Summary
`300
`
`295
`
`292
`
`

`
`xiv
`
`Chapter 18 TCP/IP Over ATM Networks
`
`Contems
`
`303
`
`18.1
`18.2
`IS3
`/S.4
`/S.5
`IS.6
`18.7
`18.8
`18.9
`18.10
`/8.11
`18.12
`/8.13
`18./4
`18.15
`18.16
`18.17
`18.18
`18.19
`18.20
`18.21
`
`Introduction
`303
`ATM Hardware
`304
`Large ATM Networks
`304
`The Logical View Of An ATM Neru.-ork
`The Two ATM Connection Paradigms
`Palhs, CirClli/s, And Idellfifiers
`307
`ATM Cell Transport
`308
`ArM Adapta/ion Layers
`308
`AAL5 Convergence, Segmentation, And Reassembly
`Datagram Encapsularion Alld IP MTU Size
`311
`Packet Type And Multiplexing
`312
`IP Address Binding I" An ATM Network
`LogicallP Subnet Concept 3 14
`Connection Mallagemellf
`315
`Address Binding Within An LIS
`ATMARP Packet Formal
`316
`Using ATMARP Packets To Determine An Address 3 18
`Ob/ainillg Entries For A Server Database
`320
`Timing Ollt ATMARP In/ormalion ln A Server
`320
`Timillg 0111 ATMARP Informalionln A Hosl Or ROilier
`Summary
`321
`
`311
`
`320
`
`305
`306
`
`313
`
`316
`
`Chapter 19 Client·Server Model Of Interaction
`
`325
`
`Imrodllc/iol1
`325
`19.1
`325
`The Cliellt-Sen'el" Model
`19.2
`19.3 A Simple Example: UDP Echo Server 326
`Time And Dale Service
`328
`19.4
`19.5 The Complexity of Sen'eJ"s
`329
`19.6 RARP Sen'eJ"
`330
`19.7 Allematil'es To The Clielll-Server Model
`/9.8
`Summary
`332
`
`331
`
`Chapter 20 The Socket Interface
`
`335
`
`Introduction
`335
`20.1
`The UNIX flO Paradigm And Network 110
`20.2
`20.3 Adding Network 110 to UNIX
`336
`The Socket Abstraclioll
`337
`20.4
`
`336
`
`

`
`Contents
`
`338
`
`337
`Creating A Sockel
`205
`Socket Inheritance And Terminalion
`20.6
`Specifying A Local Address
`339
`20.7
`Cormecling Sockets To Destination Addresses 340
`20.8
`Sending Dolo Through A Socket
`341
`20.9
`Receiving Data Through A Socket
`343
`20.10
`Obtaining Local And Remole Socket Addresses 344
`20.11
`Obtaining And Setting Sockel Options
`345
`20.12
`20.13
`Specifying A Queue Length For A Serrer 346
`20.14
`How A Server Accepts Connections
`346
`SelTers Tllat Halldle Mulliple Services
`347
`20.15
`Obtaining Alld Setting Hosl Names
`348
`20.16
`Obtaining And Setting The Intemol NaSI DOlliain
`20.17
`BSD UNIX Network Library Calls
`349
`20.18
`20.19 NefWork Byte Order Conversion Routines 350
`20.20 IP Address Manipulation ROlltines
`351
`20.21 Accessing The Domain Name System
`352
`20.22 Obtaining In/ormation Abolll Hosts
`354
`20.23 Obtaining In/ormation About Networks 355
`20.24 Obtaining In/ornUltion Abolll Protocols
`355
`20.25 Obtaining Information Abolll Network Sen'ices 356
`20.26 All Example Client
`357
`20.27 All Example Serrer 359
`20.28 Summary
`362
`
`•
`
`349
`
`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.J1
`21.12
`21.13
`2/.14
`21.15
`21.16
`
`365
`Introduction
`The Need For An Alternative To RARP 366
`Using IP To Determine AnlP Address 366
`The BOOTP Retransmission Policy
`367
`Tile BOOTP Message Format
`368
`The TWO-SfCP Boolslrap Procedure
`Vendor-Specific Field
`370
`The Need For Dynamic Configllrarion
`Dynamic Host Configuration
`372
`Dynamic IP Address Assignment 372
`ObfOilljng Multiple Addresses 373
`Address Acquisition States
`374
`Early Lease Termination
`374
`Lease Renewal States
`376
`DHCP Message Format
`377
`DHCP Options And Message Type
`
`369
`
`370
`
`378
`
`

`
`21.17 Option Overload 379
`21 .18 DHCP And Domain Names 379
`21.19 Summary
`380
`
`Contents
`
`Chapter 22 The Domain Name System (DNS)
`
`383
`
`22./
`22.2
`22.3
`22.4
`22.5
`22.6
`22.7
`22.8
`22.9
`22./0
`22.11
`22.12
`22.13
`22.14
`22.15
`22.16
`22./7
`22./8
`22./9
`22.20
`22.21
`
`386
`
`388
`
`383
`Introduction
`Names For Machines 384
`Flat Namespace
`384
`Hierarchical Name!
`385
`Delegation OJ AllfllOriry For Names
`Suhset Authority 386
`387
`TCPIIP Internel Domain Names
`Official And Unojficial llllemet Domain Names
`l/ems Named And Sylllax OJ Names
`390
`Mapping Domaill Names To Addresses
`391
`Domain Name ReSO/llfioll
`393
`Ejficiem Tralls/alioll
`394
`395
`Cachillg: The Key To Efficiellcy
`Domain Server Message Format 396
`Compressed Name Format
`399
`AbbreviatiOn OJ Domain Names
`400
`11I1'erse Mappings
`Pointer Queries
`401
`Objecl Types Alld Resource Record Contents 401
`Obraining Authority For A Subdomain
`402
`Summary 403
`
`399
`
`Chapter 23 Applications: Remote Login (TELNET, Rlogin)
`
`407
`
`407
`
`407
`Introduction
`23.1
`23.2 Remote Imeractil'e Computing
`23.3
`TELNET Protocol 408
`23.4 Accommodating Heterogeneity 410
`23.5 Passillg Commands That Colltrol The Remote Side
`23.6 Forcing The Se/"l'C/" To Read A Control FlInctioll
`23.7 TELNET Options 414
`23.8
`TELNET Option Negotiation
`23.9 Rlogin (BSD UNIX)
`416
`23.10 Summary 417
`
`415
`
`412
`4 14
`
`

`
`ConlentS
`
`xvii
`
`Chapter 24 Applications: File Transfer And Access (FTP, TFTP, NFS) 419
`
`419
`Introduc/ion
`24.1
`242 File Access And Transfer 419
`24.3 On-line Shared Access 420
`Sharing By File Transfer
`421
`24.4
`245 Frp: The Major TCPIIP File Transfer Pr%col 421
`24.6 FTP Features
`422
`24.7
`422
`ITP Process Model
`24.8
`TCP Par/ Number Assignment 424
`24.9
`The User's View Of ITP 424
`An Example Anonymous FTP Session
`24.10
`TFTP
`427
`24.1I
`24.12
`NFS 429
`429
`24.13
`NFS Implememation
`24./4
`Remote Procedure Call (RPC) 430
`24.15
`Summary 431
`
`426
`
`Chapter 25 Applications: Electronic Mail (822, SMTP, MIME)
`
`433
`
`433
`Introdllc/ioll
`25.1
`25.2 Elec/rollic Mail
`433
`25.3 Mailbox Names And Aliases 435
`435
`25.4 Alias Expamion And Mail FOIwardillg
`436
`255 The Relationship Of !lIIerne/working And Mail
`25.6 TCPIIP Slallllards For Electronic Mail Service 438
`25.7 Electronic Mail Addresses 438
`25.8 Pseudo Domain Addresses 440
`25.9
`440
`Simple Mail Transfer Pr%eol (SMTP)
`25.10 The MIME Ex/ension For Non-ASCII Data
`443
`25.1 I MIME MlIlliparl Messages
`444
`25.12 SlImmary
`445
`
`Chapter 26 Applications: Internet Management (SNMP, SNMPv2)
`
`447
`
`447
`IlIIroduclioll
`26.1
`26.2 The Level Of Malia gemelli PrO/aeols 447
`26.3 Archi/eClllral Model
`448
`26.4 Protocol Arclli/eell/re 450
`451
`26.5 Examples of MIB Variables
`26.6 The SlrUCf/lre Of Mallagememlnformatioll
`
`452
`
`

`
`xviii
`
`Contents
`
`453
`26.7 Formal Definitions Using ASN.I
`Struclllre And Represelllation Of MIB Object Names
`26.8
`26.9
`Simple Network Management Protocol 458
`26.10 SNMP Message Format 460
`26.11 Example Encoded SNMP Message
`26.12 Summary 463
`
`462
`
`453
`
`Chapter 27 Summary Of Protocol Dependencies
`
`465
`
`465
`IlIIroduction
`27.1
`27.2 Protocol Dependencies 465
`27.3 Applicafion Program Access 467
`27.4
`Summary
`468
`
`Chapter 28
`
`Internet Security And Firewall Design
`
`471
`
`474
`
`471
`Introduction
`28.1
`28.2 Protecting Resources 472
`28.3
`The Need For An Information Policy 472
`Commllllicatioll. Cooperation. And MlIIual Misrrust
`28.4
`Mechanisms Forlfllemet Securiry 475
`28.5
`Firewalls And Internet Access 476
`28.6
`Multiple Connectiom And Weakest Links 477
`28.7
`Firewallimplementarion And High·Speed Hardware 478
`28.8
`Packet-Lel'el Filters 479
`28.9
`480
`Securiry And Packer Filter Specification
`28./0
`The Consequence Of Restricted Access For C/iellls
`28.11
`Accessing Services Throllgh A Firewall
`481
`28.12
`The Details Of Firewall Archile(."tllre 483
`28.13
`Stub NeN·ork
`484
`28.14
`An Alternative Firewall Implememation 484
`28.15
`MonilOring And Logging 485
`28.16
`Summary
`486
`28.17
`
`481
`
`Chapter 29 The Future Of TCP/IP (IPng, IPv6)
`
`489
`
`489
`IlIIroducrioll
`29.1
`29.2 Why Chal/ge TCP/IP And The Internet?
`491
`29.3 Motivation For Changing IP,,4
`29.4 The Road To A New Version Of IP
`29.5
`The Name Of Tile Next IP
`492
`
`492
`
`490
`
`

`
`-
`
`Contents
`
`xix
`
`494
`
`29.6 Features Of IPv6 493
`29.7 General Form Of AIl/Pv6 Datagram
`29.8
`IPv6 Base Header Formal
`494
`29.9
`IPI,6 Extension Headers
`496
`29.10 Parsing An IPv6 Dmagrom
`497
`29.1 I IPv6 Fragmenrarioll And Reassembly 498
`29.12 The COl/sequence Of End-To-End Fragmentation
`29.13 IPI'6 Source ROllling
`500
`29.14 IPv60plions 500
`502
`29.15 Size G/Tlle IPv6 Address Space
`502
`29./6 IPv6 Cololl Hexadecimal NotaliOIl
`503
`29.17 Three Basic IPv6 Address Types
`504
`29./8 The Duoliry O/Broadcast And Multicast
`29.19 An Engineering Choice And Simula/ed Broadcast 504
`29.20 Proposed IPv6 Address Space Assigllmem 504
`29.2 J IPv4 Address Encoding And Transition
`506
`29.22 Providers, Subscribers, And Address Hierarchy 506
`29.23 Additional Hierarchy 507
`29.24 Summary 508
`
`498
`
`Appendix 1 A Guide To RFCs
`
`511
`
`Appendix 2 Glossary Of Internetworking Terms And Abbreviations
`
`557
`
`Bibliography
`
`Index
`
`591
`
`599
`
`

`
`

`
`-
`
`Foreword
`
`Professor Douglas Comer's book has become rhe classic text for an introduction to
`TCP/IP. Writing an introduction to TePtlP 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 Tepnp protocol suite. Doug Comer has provided a
`very readable book.
`Whi le Ihis book is specifically about the Tepnp protocol sui Ie, il is a good book
`for learning about computer communications protocols in general. The principles of ar(cid:173)
`chitecture. layering, multiplex ing, encapsulation. addressing and address mapping, rout(cid:173)
`ing, and naming are quite similar in any protocol sui le, though, of course. different in
`detail.
`Computer communication protocols do not do anything themselves. Li ke operat(cid:173)
`ing systems, they arc in the service of application processes. Processes are the active
`clements 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(cid:173)
`puter operating system. especially the file system. Understanding protocol architecture
`is like understanding opemting system architecture. In this book Doug Comer has taken
`the "bottom up" approach - starting with the physical networks and moving up in lev(cid:173)
`els of abstraction to the applications.
`Since application processes are the active clements using the communication sup(cid:173)
`l>Orted by the protocol s. TCP/IP is an "interprocess communication" (IPC) mechanism.
`While there are several experiments in progress with operating system sty le message
`passing and procedure call types of IPC based on IP, the focus in this book is on more
`traditional applications that usc the UDP datagram or TCP logical connection ronns of
`IPC. Typically in operating systems there is a set of functions prov ided by the operat(cid:173)
`ing 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 arc similar system calls for IPC functions including network communication. As
`:10 example of such an interface Doug Comer presents an overview of the socket inter(cid:173)
`face.
`One of the key ideas inherent in TCP/IP and in the title of this book is " internet(cid:173)
`working." The power of a commun ication system is directly related to the number of
`entities in that system. The telephone network is very useful because (nearly) all the
`telephones are connected to one network (as it appears to the users). Computer com(cid:173)
`munication systems and networks are currently separ.l.led and fragmented. As more
`users and enterprises adopt TCP/IP as their network communication technology and are
`joining the Internet this is becoming less of a problem. but there is still a long way to
`
`x)(i
`
`

`
`xxii
`
`Foreword
`
`go. The goal of interconnection and intemetworking. to have a single powerful comput(cid:173)
`er communication network, is fundamental to the design of TCP/IP.
`Essential to internet working is addressing, and a uni versal protocol - the Internet
`Protocol. Of course, the individual networks have their own protocols which are used
`to carry the IP datagrams, and there must be a mapping between the individual network
`address and the IP address. Over the lifetime of TCP/IP, the nature of these individual
`networks have changed from the early days of the ARPANET to the recently developed
`ATM networks. A new chapter in this edition discusses IP over ATM networks. Thi s
`book now includes recent developments in Dynamic Host Configuration (DHCP) that
`will ease the administrat ion of networks and the installation of new computers.
`To have an internetwork, the individual networks must be connected. The connect(cid:173)
`ing devices are called routers. Further, these routers must have some procedures for
`forwarding data from one network to the next. The data is in the form of IP datagrams
`and the destination is specified by an IP address, but the router must make a routing de(cid:173)
`cision based on the IP address and what it knows about the connectivity of the networks
`making up the Internet. The procedures for distributing the current connectivity infor(cid:173)
`mation to the routers are called routing algorithms, and these are currently the subject of
`much study and development. In particular, the recent development of the Classless In(cid:173)
`terDomain Routing (CIDR) technique to reduce the amount of routing information ex(cid:173)
`changed is important.
`Like all communication systems, the TCP/IP protocol suite is an unfin ished sys(cid:173)
`tem.
`It is evolving to meet changi ng requirements and new opportun it ies. Thus, this
`book is, in a sense, a snapshot of TCP/IP. And, as Doug Comer points out, there are
`many loose ends. With the recent rapid growth of the Internet there is concern about it
`outgrowing the capabilities of the TCPflP protocols, particularly the address space. In
`response the research and engineering community has developed a "next generation"
`version of the Internet Protocol called IPng. Many of the enterprises now joining the
`Internet have concerns about security. A new chapter in this edition discusses the secu(cid:173)
`rity and firewalls.
`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 avai lable. 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(cid:173)
`fort. and has had sign ificant benefits for the development of computer communication.
`Th is book brings together information about the various pans of Ihe TCP/IP archi(cid:173)
`tecture and protocols and makes it accessible. Its publication is a very significant mile(cid:173)
`stone in the evolution of computer communications.
`
`Jon Postel,
`Associate Director for Networking
`Information Sciences Institute
`University of Southern California
`
`January 1995
`
`

`
`-
`
`Preface
`
`The world has changed dramatically since the second edilion of this book was pub(cid:173)
`lished.
`It hardly seems possible on ly four years have elapsed. When I began the
`second edition in the summer of 1990, the Internet had grown to nearly 300,000 host
`computers, up from 5,()()() hosts when the book was first written. At the lime. we marv(cid:173)
`eled nt how large an obscure research project had become. Cynics predicted thaI con(cid:173)
`tinued growth would lead to a complete collapse by 1993. Instead of collapsing, the in(cid:173)
`ternet has continued its e:<plosivc expansion; the " large" Internet of 1990 is only 7% of
`the current Internet.
`TCP/IP and the Internet have accommodated change well. The basic technology
`has survived over a decade of exponential growth and the associated increases in traffic.
`The protocols huve worked over new high-speed network technologies. and the design
`has handled applica!ions thut could not be imagined a decade ago. Of course, the entire
`protocol suite has not remained static. New protocols have been deployed. and new
`techniques have been developed to adapt ex isting protocols to new network technolo(cid:173)
`gies. Changes are documented in RFCs, which have increased by over 50 percent.
`Thi s edition contains updated infonnation throughout the text (includi ng use of the
`commercially popular tenn IP rOilier in place of the traditional scientific ternl IP gale(cid:173)
`way) as well as new material Ihat describes technical advances and changes. The
`

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