📄 network
字号:
sends a message to let the.I MASTERknow it is ready to receive the systemidentification and conversation sequence number.The response from the.I MASTERisverified by the.I SLAVEand if acceptable, protocol selection begins..SHLine Protocol Selection.PPThe remote system sends a message.IP "" 12P\fIproto-list\fR.LPwhere.I proto-listis a string of characters, eachrepresenting a line protocol.The calling program checks the proto-listfor a letter corresponding to an available lineprotocol and returns a.I use-protocolmessage.The.I use-protocolmessage is.IP "" 12U\fIcode\fR.LPwhere code is either a one characterprotocol letter or a.I Nwhich means there is no common protocol..PPGreg Chesson designed and implemented the standardline protocol used by the uucp transmission program.Other protocols may be added by individual installations..SHWork Processing.PPDuring processing, one program is the.I MASTERand the other is.I SLAVE .Initially, the calling program is the.I MASTER.These roles may switch one or more times duringthe conversation..PPThere are four messages used during thework processing, each specified by the firstcharacter of the message.They are.KS.TScenter;c l.S send a file,R receive a file,C copy complete,H hangup..TE.KE.LPThe.I MASTERwill send.I Ror.I Smessages until all work from the spool directory iscomplete, at which point an.I Hmessage will be sent.The.I SLAVEwill reply with\fISY\fR, \fISN\fR, \fIRY\fR, \fIRN\fR, \fIHY\fR, \fIHN\fR,corresponding to.I yesor.I nofor each request..PPThe send and receive replies arebased on permission to access therequested file/directory.After each file is copied into the spool directoryof the receiving system,a copy-complete message is sent by the receiver of the file.The message.I CYwill be sent if the.UX.I cpcommand, used to copy from the spool directory, is successful.Otherwise, a.I CNmessage is sent.The requests and results are logged on both systems,and, if requested, mail is sent to the user reporting completion(or the user can request status information from the log program at any time)..PPThe hangup response is determined by the.I SLAVEprogram by a work scan of the spool directory.If work for the remote system exists in the.I SLAVE'sspool directory, a.I HNmessage is sent and the programs switch roles.If no work exists, an.I HYresponse is sent..PPA sample conversation is shown in Figure 2..SHConversation Termination.PPWhen a.I HYmessage is received by the.I MASTERit is echoed back to the.I SLAVEand the protocols are turned off.Each program sends a final "OO" message to theother..NHPresent Uses.PPOne application of this software is remote mail.Normally, a.UXsystem userwrites ``mail dan'' to send mail touser ``dan''.By writing ``mail usg!dan''the mail is sent to user ``dan''on system ``usg''..PPThe primary uses of our network to date have been in software maintenance.Relatively few of the bytes passed between systems are intended forpeople to read.Instead, new programs (or new versions of programs)are sent to users, and potential bugs are returned to authors.Aaron Cohen has implemented a``stockroom'' which allows remote users to call in and request software.He keeps a ``stock list'' of available programs, and new bugfixes and utilities are added regularly.In this way, users can always obtain the latest version of anythingwithout bothering the authors of the programs.Although the stock list is maintained on a particular system,the items in the stockroom may be warehoused in many places;typically each program is distributed from the home site ofits author.Where necessary, uucp does remote-to-remote copies..PPWe also routinely retrieve test cases from other systemsto determine whether errors on remote systems are causedby local misconfigurations or old versions of software,or whether they are bugs that must be fixed at the home site.This helps identify errors rapidly.For one set of test programs maintained by us,over 70% of the bugs reported from remote siteswere due to old software, and were fixedmerely by distributing the current version..PPAnother application of the network for software maintenanceis to compare files on two different machines.A very useful utility on one machine has beenDoug McIlroy's ``diff'' programwhich compares two text files and indicates the differences,line by line, between them..[hunt mcilroy file.]Only lines which arenot identical are printed.Similarly,the program ``uudiff''compares files (or directories) on two machines.One of these directories may be on a passive system.The``uudiff'' programis set up to work similarly to the inter-system mail, but it is slightlymore complicated..PPTo avoid moving large numbers of usually identicalfiles, .I uudiffcomputes file checksumson each side, and only moves files that are differentfor detailed comparison.For large files, this process can be iterated; checksums can be computedfor each line, and only those lines that are differentactually moved..PPThe ``uux'' command hasbeen useful for providing remote output.There are some machines which do not have hard-copydevices, but which are connected over 9600 baudcommunication lines to machines with printers.The.I uuxcommand allows the formatting of theprintout on the local machine and printing on theremote machine using standard.UXcommand programs..br.NHPerformance.PPThroughput, of course, is primarily dependent on transmission speed.The table below shows the real throughput of characterson communication links of different speeds.These numbers represent actual data transferred;they do not include bytes used by the line protocol fordata validation such as checksums and messages.At the higher speeds, contention for the processors on bothends prevents the network from driving the line full speed.The range of speeds represents the difference between light andheavy loads on the two systems.If desired, operating system modifications canbe installedthat permit full use of even very fast links..KS.TScenter;c cn n.Nominal speed Characters/sec.300 baud 271200 baud 100-1109600 baud 200-850.TE.KEIn addition to the transfer time, there is some overheadfor making the connection and logging in ranging from15 seconds to 1 minute.Even at 300 baud, however, a typical 5,000 byte source programcan be transferred infour minutes instead of the 2 days that might be requiredto mail a tape..PPTraffic between systems is variable. Between twoclosely related systems,we observed20 files moved and 5 remote commands executed in a typical day.A more normal traffic out of a single system would be arounda dozen files per day..PPThe total number of sites at presentin the main network is82, which includes most of the Bell Laboratoriesfull-size machineswhich run the.UXoperating system.Geographically, the machines range from Andover, Massachusetts toDenver, Colorado..PPUucp has alsobeen used to set up another networkwhich connects a group ofsystems in operational sites with the home site.The two networks touch at oneBell Labs computer..NHFurther Goals.PPEventually, we would like to develop a full system of remote softwaremaintenance.Conventional maintenance (a support group which mails tapes)has many well-known disadvantages..[brooks mythical man month 1975.]There are distribution errors and delays, resulting in old softwarerunning at remote sites and old bugs continually reappearing.These difficulties are aggravated whenthere are 100 different small systems, instead of a few large ones..PPThe availability of file transfer on a network of compatible operatingsystemsmakes it possible just to send programs directly to the end user who wants them.This avoids the bottleneck of negotiation and packaging in the central supportgroup.The ``stockroom'' serves this function for new utilitiesand fixes to old utilities.However, it is still likely that distributions will not be sentand installed as often as needed.Users are justifiably suspicious of the ``latest version'' that has justarrived; all too often it features the ``latest bug.''What is needed is to address both problems simultaneously:.IP 1.Send distributions whenever programs change..IP 2.Have sufficient quality control so that users will install them..LPTo do this, we recommend systematic regression testing both on thedistributing and receiving systems.Acceptance testing on the receiving systems can be automated andpermits the local system to ensure that its essential work can continuedespite the constant installation of changes sent from elsewhere.The work of writing the test sequences should be recovered in lowercounseling and distribution costs..PPSome slow-speed network services are also being implemented.We now have inter-system ``mail'' and ``diff,''plus the many implied commands represented by ``uux.''However, we still need inter-system ``write'' (real-time inter-usercommunication) and ``who'' (list of people logged inon different systems).A slow-speed network of this sort may be very usefulfor speeding up counseling and education, evenif not fast enough for the distributed data baseapplications that attract many users to networks.Effective use of remote execution over slow-speed lines, however,must await the general installation of multiplexable channels sothat long file transfers do not lock out short inquiries..NHLessons.PPThe following is a summary of the lessons we learned inbuilding these programs..IP 1.By starting your network in a way that requires no hardware or major operating systemchanges, you can get going quickly..IP 2.Support will follow use.Since the network existed and was being used, system maintainerswere easily persuaded to help keep it operating, including purchasingadditional hardware to speed traffic..IP 3.Make the network commands look like local commands.Our users have a resistance to learning anything new:all the inter-system commands look very similar tostandard.UXsystemcommands so that little training costis involved..IP 4.An initial error was not coordinating enoughwith existing communications projects: thus, the firstversion of this network was restricted to dial-up, sinceit did not support the various hardware links between systems.This has been fixed in the current system..SHAcknowledgements.PPWe thank G. L. Chesson for his design and implementationof the packet driver and protocol, and A. S. Cohen, J. Lions,and P. F. Long for their suggestions and assistance..[$LIST$.]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -