`Internetworking in
`a UNIX™ Environment
`
`Michael Santif all er
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, Cover
`
`
`
`@ 1991 Addison-Wesley (Deutschland) GmbH.
`
`Translated from the German edition TCP /IP und NFS in Theorie und Pmxis : UNIX
`.,-
`in lokalen Netzen.
`
`All rights reserved. No part of this publication may be reproduced, stored in a retrieval
`system, or transmitted in any form or by any means, electronic, mechanical,
`photocopying, recording or otherwise, without prior written permission of the
`publisher.
`
`The programs in this book have been included for their instructional value. They have
`been tested with care but are not guaranteed for any particular purpose. The publisher
`does not offer any warranties or representations, nor does it accept any liabilities with
`respect to the programs.
`
`Many of the designations used by manufacturers and sellers to distinguish their
`products are claimed as trademarks. Addison-Wesley has made every attempt to
`supply trademark information about manufacturers and their products mentioned in
`this book. A list of the trademark designations and their owners appears on p. (x).
`
`Cover designed by Chris Eley and
`printed by The Riverside Printing Co. (Reading) Ltd.
`Printed in Great Britain by Mackays of Chatham plc, Chatham, Kent.
`
`First printed 1991. Reprinted 1991.
`
`British Library Cataloguing in Publication Data
`Santifaller, Michael
`TCP /IP and NFS internetworking in a UNIX environment.
`1. Computers. Networks
`I. Title
`II. [TCP/IP und NFS in Theorie und Praxis).
`English
`004.6
`
`ISBN 0-201-54432-6
`
`Library of Congress Cataloging-in-Publication Data
`Santifaller, Michael.
`[TCP /IP und NFS in Theorie und Praxis. English)
`TCP /IP and NFS : internetworking in a UNIX environment / Michael
`Santifaller ; translated by Stephen S. Wilson.
`p. cm.
`Translation of: TCP /IP und NFS in Theorie und Praxis.
`Includes bibliographical references and index.
`ISBN 0-201-54432-6
`1. Local area networks (Computer networks) 2. UNIX (Computer
`operating system)
`I. Title.
`TK5105.7.S27 1991
`004.6 ' 8--dc20
`
`90-26268
`CIP
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, Copyright
`
`
`
`Contents
`
`Preface
`
`Introduction
`
`1
`
`Protocols
`Why do we need protocols?
`
`~
`
`The Open Systems Interconnection reference model
`
`Tasks of a protocol
`
`Connection-oriented and connectionless protocols
`
`2
`
`Genesis of the TCP /IP architecture
`
`The beginnings of ARPANET
`
`Goals of the TCP /IP architecture
`Comparison of OSI and TCP /IP architecture
`
`Importance of the Berkeley UNIX implementation
`
`3
`
`TCP /IP - layers 1 to 4
`General specifications
`
`Internet Protocol
`
`Transmission Control Protocol
`
`User Datagram Protocol
`
`Internet Control Message Protocol
`
`Ethernet and IEEE 802.3
`
`~
`J
`
`I
`
`V
`
`1
`
`5
`
`6
`
`6
`
`8
`
`9
`
`11
`
`12
`
`13
`
`14
`
`15
`
`17
`
`19
`
`19
`
`30
`
`42
`
`44
`
`47
`
`vii
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, vii
`
`
`
`viii Contents
`
`Serial Line IP
`X.25
`
`4
`
`TCP /IP - layers 5 to 7
`TELNET
`
`File Transfer Protocol
`
`Simple Mai.I Transfer. Protocol
`
`Trivial File Transfer Protocol
`
`5
`
`Berkeley r-utilities
`$HOHE/.rhosts and /etc/hosts.equiv
`
`rlogin
`
`rsh
`
`rep
`
`ruptime and rwho
`
`.re:z:ec
`
`6
`
`TCP /IP administration
`
`Loopback driver
`
`Configuration files in /etc
`
`hostname
`
`netstat
`
`ifconfig
`arp
`
`ping
`
`trpt
`
`inettl
`
`7
`
`Internetworking
`Gateways, bridges and routers
`
`Routing
`
`Domain Name Servic.e
`
`Network management
`
`53
`54
`
`55
`56
`61
`64
`66
`
`69
`70
`72
`73
`74
`76
`77
`
`79
`80
`81
`82
`83
`90
`91
`91
`93
`93
`
`97
`98
`100
`104
`108
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. viii
`
`
`
`8
`
`Introduction to NFS
`
`Presentation of the NFS technology
`
`Steps to network integration
`
`Alternatives t9 NFS
`
`9
`
`NFS protocols
`
`Classification of NFS protocols
`
`Remote Procedure Call
`
`External Data Representation
`
`Port mapper
`
`Network File System protocol
`
`MOUNT protocol
`
`Network Information Service
`
`10
`
`Implementation of NFS
`
`NFS software packages
`
`Implementation of NFS under UNIX
`
`Mounting NFS file systems
`
`Diagnosis of RPC and NFS problems
`
`Lock manager
`
`Network Information Service
`
`NFS-based services
`
`NFS specialities
`
`NFS start-up, operation and management
`
`Remote file system organization
`
`t
`
`."ff
`?
`{'.
`it
`'
`1/
`
`f{
`
`~
`II
`
`;+
`µ:
`
`\j
`
`j' p
`~
`~
`~
`'
`
`11 Programmer interfaces
`
`Socket interface
`
`TLI and XTI
`
`RPC/XDR programming
`
`Glossary
`
`Contents
`
`ix
`
`111
`112
`115
`117
`
`121
`122
`123
`129
`132
`135
`150
`152
`
`157
`158
`159
`166
`174
`176
`181
`192
`195
`197
`199
`
`201
`202
`205
`206
`
`213
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. ix
`
`
`
`x Contents
`
`Contact addresses
`
`Bibliography
`
`Index
`
`219
`
`221
`
`223
`
`Trademark notice
`
`386/ix™ is a trademark of Interactive Systems Incorporated.
`DCE™ and OSF/1™ are trademarks of Open Software Foundation.
`DYNIX™ is a trademark of Sequent Computer Systems Incorporated.
`Ethernet TM and XNS™ are trademarks of Xerox Corporation.
`iXOS™ is a trademark of iXOS Software GmhH.
`Macintosh TM and LocalTa.lk ™ are trademarks of Apple Corporation.
`MS-DOS™, MS-OS/2™, LAN Manager/X™ and XENIX™ are trademarks of
`MicroSoft Corporation.
`NFS™, NIS™, SPARC™ and SunOS™ are trademarks of Sun Microsystems
`Incorporated.
`SINIX™ is a trademark of Siemens AG.
`UNIX™, RFS™ and System v™ are trademarks of AT&T.
`VAX™, VMS™, DEC station™ and Ultrix™ are trademarks of Digital Equipment
`Corporation.
`
`ll
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. x
`
`
`
`Introduction
`
`About this book
`
`This book was developed from course material prepared on the same topic
`for iXOS Software GmbH. The book is not intended for specialists only.
`However, anyone who wishes to know even more details of the individual
`protocols described here or of specific algorithms is referred to the sources
`listed in the Bibliography. Nor is the book intended as a reference or a
`replacement for a manual. Whether you are a user, an administrator or a
`developer, the book should ease your entry into the world of UNIX systems
`networked with TCP /IP and NFS. It may possibly give you an appetite for
`networks and it should help you to tackle acute problems.
`As far as the choice of topics is concerned, the characteristics of
`TCP /IP and NFS architectures mean that their protocols appear in various
`forms and guises on a large variety of computer systems. Every run-time
`environment has individual features which influence user and programmer
`interfaces, as well as the nature of available networking options.
`A presentation and discussion of this variety would occupy all the
`space in this book several times over. Thus, we .shall restrict ourselves
`to the operation of TCP /IP and NFS on computers running under the
`UNrX operating system, and within this topic to those areas which give
`an understanding of the architecture, of the interfaces and of their uses.
`Even on UNIX systems there are many differences in comprehensiveness
`and functionality.
`This book is not a guide to the implementation of any of the protocols
`described, rather the intention is to enable you to understand what is
`happening in the computer and in the transmission medium when you use
`
`1
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. 1
`
`
`
`2
`
`Introduction
`
`a command or programmer interface. This understanding will also help you
`to diagnose errors more rapidly and to correct any problems.
`Some of the themes of this book can only be touched on; thus, the
`following areas are at best discussed in brief:
`
`•
`•
`•
`•
`•
`
`gateway protocols
`routing
`network management .
`domain name service, name server and resolver
`electronic mail.
`
`Experience shows that most UNIX networks currently used in
`industry are too small to justify the installation of network management and
`routing. Electronic mail, and in particular the UNIX program sendmai Z,
`would fill a book on its own. The reader is referred to the literature available
`in the product documentation, which is usually sufficiently comprehensive
`to support the work of the system administrator.
`
`Description of the notation used
`
`As is generally the custom, different typefaces have been used to facilitate
`understanding and for emphasis:
`
`• New terms are introduced in italics. Terms shown in this way are
`listed in either the Glossary or the Index.
`• A typewriter font is used for screen output and program listings.
`• All user entries in screen dialogues together with program and path
`names are given in an itaZic typewriter font.
`
`Standards
`
`Many readers will immediately ask themselves how they should rate the
`information from the following pages. Thus, to clarify the situation right
`from the start, here are a few comments on standards.
`Only one of the protocols described in this book is a world-wide
`standard in the sense of an official norm from ISO, IEEE, DIN or other
`body; namely, the IEEE 802.3 standard for local area network technology.
`However, this does not imply that no reference specifications exist for all
`other protocols in the TCP /IP and NFS world and that implementations
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. 2
`
`
`
`Standards 3
`
`are at the discretion of individual manufacturers.
`As you will find out in the following chapters, most protocols of
`the TCP /IP architecture are specified by a so-called RFC (Request For
`Comment). RFCs are publications for the Internet community; namely,
`those people and institutions who belong to the ARPA-Internet (more about.
`the ARPA-Internet in Chapter 2). RFCs are published by the IAB (Internet
`Activities Board). They may be obtained either by electronic mail from the
`Network Information Centre (NIC) at the Stanford Research Institute (SRI)
`or in machine-readable form by file transfer from a computer in the NIC.
`The precise addresses for information about RFCs are given in an appendix.
`Both specifications of individual protocols and articles about general
`problems of network operation are published in the RFCs. Not all the
`protocols published in RFCs are at the same time also Internet standards.
`A standard is first declared after verification by the IAB and a six-month
`transition period (draft standard). In total, approximately 1200 RFCs have
`now been issued. Relevant RFCs. are listed in the Bibliography, and the
`RFC numbers are given in the discussions of the individual protocols.
`Since uniform standards are in the interest of both the user and the
`manufacturer, the RFC specifications are overwhelmingly adhered to in all
`TCP /IP and NFS implementations known to the author. Compatibility is
`increased by the fact that the products of most manufacturers are based
`on the same source code and are additionally tested against generally
`recognized reference machines (for example, the Sun workstation for NFS).
`However, there are some differences in the robustness of the implementations
`(that is, system failures occur or connections are left hanging).
`In addition to being Internet standards, IP, ICMP, TCP, FTP
`and SMTP have also been declared to be MIL-STD (the standard of
`the US military). These standards are laid down in publications of the
`Department of Defence (DOD). Although RFC and MIL-STD specifications
`are formulated in very different ways, the protocols they specify are largely
`identical.
`In addition to the official and semi-official standards, there are also
`the much valued industry standards, developed by copying the interfaces
`and functions of the product of a market-leading competitor, which cannot
`be the worst for the user. This category includes the NFS protocols and the
`well-known Berkeley utilities, with which we shall become acquainted later.
`When talking about standards, we should not omit to mention the
`validation of implementations in respect of conformance with the standard.
`Like many other things, this point is handled pragmatically in the TCP /IP
`and NFS worlds. There are at present no official test specifications for
`TCP /IP. As previously mentioned, individual implementations are tested
`against a generally complete and seemingly robust implementation from
`another manufacturer. For NFS, a package of test programs is available
`for the licensee.of the reference implementation source code, which may be
`used to test various aspects of the operation of NFS. But this proof can
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. 3
`
`
`
`4
`
`Introduction
`
`scarcely be termed validation. An annual meeting (so-called connectathon)
`in California is organized on this topic by Sun Microsystems, at which
`manufacturers can test their NFS implementations against each other.
`This means that problems with the implementation of NFS or with the
`underlying protocols are as a rule soon recognized. Other test venues
`include the so-called multivendor shows at computer fairs, when, even here
`in Europe, computers from different manufacturers intercommunicate on a
`single network for demonstration purposes. If you are looking for a form of
`seal of approval for UNIX networking, you will be disappointed, since there
`is no such thing at present.
`
`i
`I
`I,
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. 4
`
`
`
`,
`
`Contact addresses
`
`Contact address of the IAB:
`
`Address of the publisher of RFCs:
`
`Jon Postel
`Deputy Internet Architect
`USC Information Sciences Institute
`4676 Admiralty Way
`Marina del Rey
`CA 90292-6695
`USA
`1-213-822-1511
`Email: Postel@ISI.EDU
`
`Official Internet numbers are issued by:
`
`Joyce K. Reynolds
`Internet Assigned Numbers Authority
`USC Information Sciences Institute
`4676 Admiralty Way
`Marina del Rey
`CA 90292-6695
`USA
`1-213-822-1511
`Email: JKRey@ISI.EDU
`
`Jon Postel
`RFC Editor
`USC Information Sciences Institute
`4676 Admiralty Way
`Marina del Rey
`CA 90292-6695
`USA
`
`1-213-822-1511
`Email: Postel@ISI.EDU
`
`Address of the NIC for information about
`RFCs:
`
`SRI International
`DDN Network Information Centre
`333 Ravenswood Avenue
`Menlo Park
`CA 94025
`USA
`
`1-800-235-3155, 1-415-859-3695
`Email:NIC@SRI-NIC.ARPA
`
`219
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. 219
`
`
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. 220
`
`
`
`7
`
`Bibliography
`
`Callaghan B. and Lyon T. (1989). The Automof.!nter Proceedings of the 1989 Winter
`USENIX Technical Con/., San Diego
`Cerf V. (1988).
`JAB Recommendations for the Development of Internet Network
`Management Standards. RFC 1052
`Croft B. and Gilmore J. (1985). Bootstrap Protocol (BOOTP). RFC 951
`Davin J. et al. (1990). Simple Network Management Protocol {SNMP). RFC 1157
`DEC, Intel and Xerox (1982). The Ethernet - A Local Area Network Data Link Layer
`and Physical Layer Specifications
`Deering S. (1988). Host Extensions for IP Multicasting. RFC 1054
`DOD (1983a). DOD, Military Standard Internet Protocol. MIL-STD 1777
`DOD (1983b). DOD, Military Standard Thmsmission Control Protocol. MIL-STD 1778
`Finlayson R. (1984). R.oss Bootstrap Loading Using TFTP. RFC 906
`Finlayson R. et al. (1984). A Reverse Address Resolution Protocol. RFC 903
`Hedrick C. (1988). R.outing Information Protocol. RFC 1058
`Hornig C. (1984). A Standard for the Transmission of IP Datagrams over Ethernet
`Networks. RFC 894
`IEEE (1983, 1984, 1985, 1986). Standard IEEE BOS Local Area Networks.
`Publication Service
`IEEE Standard for Binary Floating-point ~rithmetic. ANSI/IEEE
`IEEE (1985).
`Standard 754-1985
`ISO (1987a).
`Information Processing systems - Open Systems Interconnection -
`Specification of Abstmct Syntax Notation One {ASN.1). International Standard 8824
`ISO (1987b).
`Information Processing Systems - Open Systems Interconnection -
`Specification of Basic Encoding Rules for Abstmct Syntax Notation One (ASN.1).
`International Standard 8825
`ISO/IEC 9595.
`Information Processing Systems - Open Systems Interconnection -
`Management Information Service Definition
`ISO/IEC 9596.
`Information Processing Systems - Open Systems Interconnection -
`Management Information Protocol Definition
`Jacobson V. (1990). TCP/IP Headers for Low-speed Serial Links. RFC 1144
`Juszczak C. (1989). Improving the Performance and Correctness of an NFS Server. In
`Proc. 1989 Winter USENIX Technical Con/., San Diego
`Kirton P. (1984). EGP Gateway under Berkeley UNIX 4.e. RFC 911
`Korb J. (1983). A Standard for the Transmission of IP Datagrams over Public Data
`Networks. RFC 877
`
`IEEE
`
`221
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. 221
`
`
`
`222 Bibliography
`
`Leffler J .S. and Karels M.J. (1984). Trailer Encapsulations. RFC 893
`McCloghrie K. and Rose M.T. (1990a). Structure and Identification of Management
`Information for TCP/IP-based Internets. RFC 1155
`McCloghrie K. and Rose M.T. (1990b). Management Information Base for Network
`Management of TCP/IP-based Internets. RFC 1156
`Miller S.P. et al. {1987). Kerberos Authentication and Authorization System. Project
`Athena Technical Plan Section E.e.1
`Mills D.L. (1983). DCN Local Network Protocols. RFC 891
`Mills D.L. (1984). Exterior Gateway Protocol Formal Specification. RFC 904
`Mockapetris P. (1987a). Domain Names - Concepts and Facilities. RFC 1034
`Mockapetris P. (1987b). Domain Names - Implementation and Specification. RFC 1035
`Mogul J. and Postel J. (1985). Internet Standard Subnetting Procedure. RFC 950
`Mogul J. et al. (1988). IP MTU Discovery Options. RFC 1063
`OSI (1984). Information Processing Systems - Open Systems Interconnection: Basic
`International Standardization Organization and International
`Reference Model.
`Electrotechnical Committee Standard 7498
`Plummer D.C. {1982). An Ethernet Address Resolution Protocol. RFC 826
`Postel J. {1980). User Datagram Protocol. RFC 768
`Postel J. {1981a). Internet Protocol. RFC 791
`Postel J. (1981b). Internet Control Message Protocol. RFC 792
`Postel J. {1981c). Transmission Control Protocol. RFC 793
`Postel J. (1982). Simple Mail Transfer Protocol. RFC 821
`Postel J. and Reynolds J. (1983). TELNET Protocol Specification. RFC 854
`Postel J. and Reynolds J. (1985). File Transfer Protocol (FTP). RFC 959
`Postel J. and Reynolds J. (1987). Assigned Numbers. RFC 1010
`Postel J. and Reynolds J. (1988). A Standard for the Transmission of IP Datagrams
`over IEEE 802 Networks. RFC 1042
`Romkey J. (1988). A Non-standard for Transmission of IP Datagrams over Serial Lines:
`SLIP. RFC 1055
`Rosen E.C. (1982). BBN Exterior Gateway Protocol (EGP). RFC 827
`St. Johns M. (1988). Draft Revised.IP Security Option. RFC 1038
`Samonson L.J. and Rosen E.C. (1984). 'STUB' Exterior Gateway Protocol. RFC 888
`Schneider H.J., ed. (1983). Lexikon der Informatik und Datenbearbeitung. Vienna:
`Oldenbourg
`Sollins K.R. (1981). The TFTP Protocoi (Revision 2). RFC 783
`Stahl M. (1987). Domain Administrators Guide. RFC 1032
`Sun Microsystems (1987). XDR: External Data Representation Standard. RFC 1014
`Sun Microsystems (1988). RPG: Remote Procedure Call Specification. RFC 1050
`Sun Microsystems (1989). NFS: Network File System Protocol Specification. RFC 1094
`Warrier U. and Besaw L. (1989). Common Management Information Services and
`Protocol over TCP/IP (CMOT). RFC 1095
`
`IPR2018-00131
`Riot Games, Inc. v. PalTalk Holdings, Inc.
`Ex. 1045, p. 222
`
`