home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / desqview / dvxtechn.arj / PCTCP.TEC < prev    next >
Text File  |  1992-03-31  |  18KB  |  384 lines

  1.  
  2.                 Remote Computing with DESQview/X.
  3.  
  4.  
  5.  Remote computing is a field that DESQview/X is very much involved in.
  6. Unfortunatly there is an abundance of variables that can greatly complicate
  7. the running of applications remotely under DESQview/X. This technical
  8. report covers the implementation of a remote computing environment with
  9. FTP's TCP/IP version 2.03 and DESQview/X.
  10.  
  11.  
  12. Some general notes about TCP/IP Networks.
  13.  
  14.  Most of the Unix networks in the world today conform to a protocol
  15. called the Internet Protocol Suite. Of all the network protocols, the
  16. Transmission Control Protocol (TCP) and the Internet Protocol (IP) are
  17. the most widely used. The Internet Protocol Suite was used as a
  18. foundation for the Open Systems Interconnection (OSI) Reference Model,
  19. which is accepted as a international standard. The OSI Reference Model
  20. is based on a seven layer model of communications.
  21.  
  22. Application Layer   - This layer describes how application services like
  23.                       file transfering, electronic mail and terminal
  24.                       emulation will run on different computers.
  25.  
  26. Presentation Layer  - This layer manages the format of data, and ensures
  27.                       that different machines can understand each other.
  28.  
  29. Session Layer       - The Session layer ensures that reliable
  30.                       communication sessions between computers are
  31.                       established. It works with the Transport layer to
  32.                       descibe the way sessions can be set up.
  33.                                                              
  34. Transport layer     - The Transport Layer specifies the setting up of
  35.                       reliable communications between computers (TCP).
  36.  
  37. Network Layer       - Provides routing information for establishing
  38.                       communications between two machines over a network
  39.                       (IP).
  40.  
  41. Data Link Layer     - Network protocols for synchronizing communication
  42.                       and error handling over the physical layer. ie,
  43.                       Ethernet, StarLAN, Token Ring and Serial
  44.                       Communications.
  45.  
  46. Physical Layer      - Network hardware.
  47.  
  48.  A TCP/IP network works by converting blocks of data into packets. At
  49. the beginning of each packet is a header that contains the control
  50. information which is the address of the destination, followed by the
  51. data. When a large file is sent across a TCP/IP network its contents
  52. are broken down into a series of packets.
  53.  
  54.  The Internet Protocol (IP) which corresponds to the OSI Network Layer
  55. allows applications to run transparently across networks. When IP is
  56. used, applications do not need to know about the network hardware. The
  57. same application can run across Local Area Networks (corresponding to
  58. the OSI Physical and Data Link layers) such as Ethernet, StarLAN, or
  59. Token Ring, or a Wide Area Network like X.25.
  60.  
  61.  The Transmission Control Protocol (TCP) corresponds with the OSI
  62. Transport layer, it ensures that data is delivered to the correct
  63. address, it checks that the data recieved was the same that was sent and
  64. the packets are received in the correct order.
  65.  
  66.  Unix System V Release 4 for the first time incorporated an Internet
  67. TCP/IP package. Previously TCP/IP was available only as an add-in.
  68. Release 4 includes two sets of commands, the DARPA Commands and the
  69. Berkeley Remote Commands. The latter was developed at UC Berkeley.
  70. The DARPA Command set include facilities independant of the operating
  71. system, these include terminal emulation, file transfer, mail and
  72. obtaining information on users. These commands can be used for networking
  73. with computers running operating systems other than Unix (i.e. DOS). The
  74. Berkeley Remote Commands include Unix to Unix System commands for remote
  75. copying of files, remote login, remote shell execution and facilities
  76. for obtaining information on remote systems and users.
  77.  
  78.  On a TCP/IP network every node (known as a host) has an Internet
  79. address. For peer to peer communication, both hosts must be "aware" of
  80. the other, this is achieved by having an entry, that includes a IP
  81. address and usually a name, for each remote host in the host tables on
  82. each machine (see the example host file below). An IP address is a 32
  83. bit number, expressed as 4 decimal octects in dot notation. For example
  84. 128.40.10.230 (please note that the IP address is not the same as the
  85. card address). Internet addressing schemes:
  86.  
  87.                   Range         Network Part    Host Part
  88. Class A           0-127         xxx             xxx.xxx.xxx
  89. Class B         128-191         xxx.xxx         xxx.xxx
  90. Class C         192-223         xxx.xxx.xxx     xxx
  91.  
  92.  So by following the above example, 125.10.3.25 is Host 10.3.25 on
  93. Network 125. Hosts can also be addressed by a name in two ways:
  94. 1. Local host file turns name into an Internet address.
  95. 2. Nameserver turns a server name into an address.
  96.  
  97.  Any machine with more than one network interface could be made to act
  98. as a router/gateway. The subnet mask is used by routers to increase the
  99. speed of the routing algorithm. Normally the default is to your network
  100. path.
  101.  
  102.  So if a Class B Network is xxx.xxx the subnet would be 255.255.0.0. If
  103. the nodes 0-127.xxx are on Ethernet and nodes 128-255.xxx are on Token
  104. Ring the subnet would be 255.255.128.0. Nodes 0 and all ones are
  105. reserved.
  106.  
  107. A typical Host file :
  108.  
  109. address         name            nickname/alias
  110. 128.17.5.4      accounts        alr386 mole
  111. 128.17.4.17     support         dec333 serval
  112. 128.17.4.18     support         sparc2+ mink
  113. 128.17.3.17     marketing       sgi4d hamster
  114.  
  115.  
  116.  
  117. Configuring the DOS TCP/IP.
  118.  
  119. Configuring DESQview/X.
  120.  
  121.  To configure DESQview/X to handle TCP/IP packets, the DVX.CFG must be
  122. modified by adding the following line to the file "net pctcp". Below is
  123. an example of a DVX.CFG file with the modification added:
  124.  
  125. net pctcp
  126. client dwm,appman
  127. type VGA
  128. arch 2
  129. dispsize 224x168
  130. screen 800x600:58h
  131. #screen 640x480:12h
  132. fp fonts\misc,fonts\75dpi
  133. bc
  134. bs on
  135.  
  136. Installation of the software.
  137.  
  138.  Currently the only TCP/IP drivers for DOS that work with DESQview/X are
  139. FTP's PC/TCP version 2.03. Before running the initial "a:install" the
  140. user should determine which card they are going to use and determine
  141. hardware conflicts with existing devices. Ensure that you have the
  142. correct driver for your card by reading your installation manual and
  143. looking at the driver/card table in the installation chapter. The
  144. install procedure will ask you where to install the software. C:\FTP is
  145. the standard directory. It then copies all of the relevant files to that
  146. directory. It is left to the user to modify his Config.Sys and his
  147. Autoexec.Bat. This also documented in the FTP PC/TCP manual.
  148.  
  149.  The user can use the "ifconfig" utility to ensure that both the drivers
  150. (ipcust.sys and the relevant device driver for his network card, refered
  151. to as "interface.sys" in the FTP manuals)  are configured correctly. In
  152. the IPCUST.SYS file the only critical entry is the location of the host
  153. table. This is the line that reads:
  154.  
  155. Host table (hosttable): c:\ftp\hosts.hst
  156.  
  157.  This entry must point to the correct file in the correct directory.
  158. Another potential problem area is running out of sockets or packets
  159. while running DESQview/X. The default amount of sockets is four and two
  160. packets. Each remote application requires one packet. If you are running
  161. an application inside of an Xterm that will require two packets one for
  162. the application and one for Xterm. The syntax for increasing sockets and
  163. packets is as follows ("t" is for sockets and "p" is for packets, and
  164. "INTERFACE.SYS" is the relevant driver for your network card):
  165.  
  166. DEVICE=C:\FTP\INTERFACE.SYS -t 16 -p 8
  167.  
  168.  
  169. Testing PC/TCP.
  170.  
  171.  To test PC/TCP the PING utility should be tried initially. Firstly
  172. trying to ping the local host should be the first test, and will show if
  173. the network is configured correctly locally; this would be done by
  174. typing:
  175.  
  176. ping localhost
  177.  
  178. If the test has passed the response should be:
  179.  
  180. Host responding
  181.  
  182.  This message will be followed by some confirmation statistics. What
  183. this means is that the Ping.Exe has executed and that the Kernel is
  184. loaded correctly. When you Ping Localhost with FTP, it only checks to
  185. see if the Kernel is loaded. If the test fails, the PING program will
  186. generate a message, some of the more common messages are:
  187.  
  188. Host not responding
  189.  
  190. Host unreachable -
  191.  
  192. This usually means that the Kernel hasn't even tried to assign a
  193. packet to be sent because it doesn't recognize the IP address as a valid
  194. IP address to transmit to. This can usually be fixed by ensuring that
  195. the first two octects in the IP address corespond to the physical
  196. networks configuration.
  197.  
  198. Host unreachable: ARP failed -
  199.  
  200. Addressed Resolution Protocol, usually fails when the specific host
  201. cannot be found on the network, or the last octects in hte IP address
  202. are incorrect.
  203.  
  204.  The error message is followed by some more statistics. If the PING
  205. fails locally it means that your software is not configured or that your
  206. network card is not working correctly. If your card has some form of
  207. diagnostic utility, you should probably review it. For more help you
  208. should consult the FTP manual, under the "Problem Soloving" chapter.
  209. Conversely, if the local PING works you can try to PING a remote
  210. xmachine. This uses similar syntax to the previous command:
  211.  
  212. ping <HOST>
  213.  
  214.  In this case <HOST> is the remote machine. If this fails then you have
  215. double the potential causes to detect. You should at this stage try to
  216. PING from the remote host. If this fails then the network hardware
  217. should fall under scrutiny. The following steps might help, but as
  218. always the user should refer to the FTP manual as mentioned above.
  219.  
  220. 1 - If you can PING one way but not both, then setup and configuration
  221.     on the node that refuses to respond to PING could be to blame.
  222.     
  223. 2 - If you can PING localhost but not remote then bad hardware ie,
  224.     network card or cable, could possibly be the cause.
  225.  
  226.  Once the PING utilty is working properly, the other TCP/IP utilities
  227. can be used to test the network. The File Transfer Protocol, a utility
  228. for transfering files is a good test for evalaluating the ability of the
  229. network. FTP is invoked by running FTP.EXE from the DOS command prompt,
  230. this will allow you to transfer files between hosts by using the
  231. functions "put" and "get" to copy to and copy from remote machines. If
  232. the FTP utility fails but remote PING works,then refer to the paragraph
  233. above mentioning increasing system resources, specifically packets.
  234. Failure at this point should lead to the trouble shooting section of the
  235. FTP manual, as mentioned elsewhere. The Remote Login utility RLOGIN is
  236. another test that could be tried to determine how well the network is
  237. functioning. It allows the user to log in to a remote host. The syntax
  238. would be as follows (as before <HOST> refers to the remote machine);
  239.  
  240. rlogin <HOST>
  241.  
  242. If this fails then the respective host files should be checked, as
  243. should the system resources.
  244.  
  245.  
  246. DOS to DOS Networking.
  247.  
  248.  To run an application on one machine and display it on another, the
  249. Remote Shell (RSH) command should be used. This should be run from the
  250. DOS command line as follows;
  251.  
  252. rsh <HOST> <user> <application (path if needed)> -display <display>:0
  253.  
  254. <HOST>        Corresponds to the machine (remote or local) that the
  255.               following application shall be processed on. This can be
  256.               represented by either the IP address or the HOST name,
  257.               presuming the host names match with the relevant host
  258.               tables.
  259.  
  260. <user>        If the <HOST> machine has some form of security or user
  261.               restrictions then a user account will have to be opened,
  262.               DOS machines do not need a user login. Unix machines do
  263.               require a Login. The Quarterdeck RSH does not support
  264.               passwords currently, so a generic user account without a
  265.               password should be used. If you encounter problems with
  266.               setting up an account with a nul password refer to the
  267.               paragraph below concerning Unix Configuration. In an
  268.               environment where allowing users to login to the system
  269.               without passwords could cause potential security issues,
  270.               refer to the paragraph below concerning DOS and Unix
  271.               networking.
  272.  
  273. <application> Corresponds to the application to run on the above
  274.               mentioned <HOST>. The <user> must have rights to run that
  275.               application. If the application's directory is not in the
  276.               path then the full path must be specified, for example:
  277.               /usr/src/demo/ico
  278.  
  279.  
  280. <display>     The display variable sets the the node (<HOST>) that the
  281.               the applications display output should be routed to.
  282.  
  283.  The completed line in this case should read as follows;
  284.  
  285. rsh sgi4d markw /usr/src/demo/ico -display mink:0
  286.  
  287.  It is imperative that the RSH.EXE in C:\DVX directory be used as
  288. opposed to using the RSH.EXE in C:\FTP directory. If the C:\FTP
  289. directory is in the path and C:\FTP\RSH.EXE hasn't been renamed or
  290. copied to an obscure directory, running RSH inside DESQview/X may not
  291. quite return the results anticipated. RSH relies on a substantial amount
  292. of variables, the tests mentioned in the previous paragraphs should have
  293. eliminated these variables. To run a DOS client from a DESQview/X
  294. machine, the Program Information File (PIF, distinguished by its ".dvp"
  295. extension) for the relevant application must be in the DVX\DVPS
  296. directory. This is a security feature built into to the DESQview/X
  297. network server.                                                                                                                                                                   Any real mode DOS text
  298.  
  299. Any real mode DOS text application when run under DESQview/X becomes an
  300. X Client. DESQview/X has the capability to virtualize real mode DOS graphics
  301. applications but this feature has not been implemented yet.
  302.  
  303.  
  304. Unix Configuration.
  305.  
  306.  To be able to RSH a remote machine by using the host name as opposed to
  307. calling an IP address, the file /etc/hosts needs to contain the IP
  308. address and the unique hostname. The host tables on all networked
  309. machines must correspond for the various TCP/IP utilities to work. There
  310. is an example host file in the paragraph titled "Some general notes
  311. about TCP/IP networks". The IFconfig utility could be used to display
  312. the configuration for a particular network interface or with the <-a>
  313. option it will display addressing information for all of the active
  314. network interfaces. <NETSTAT> is another network utility that can help
  315. show the status of the network connections on a particuler machine. Some
  316. ports of System V Release 4 do not allow a nul password account by
  317. default. This can easily be changed by setting the line PASSREQ=NO in
  318. the file etc/default/login.
  319.  
  320.  
  321. DOS and UNIX Networking.
  322.  
  323.  For remote computing to succeed, the X servers must be configured and
  324. started on both Unix machines and DOS machines running DESQview/X. The
  325. DOS machine should be able to pass all of the tests mentioned in the
  326. paragraph regarding "Testing PC/TCP" from within DESQview/X. The Unix
  327. machine should be able to do the same from within its own X environment.
  328. Depending on the the users login script, the X server will be initiated
  329. differently. If the X server isn't called from the startup script then
  330. there is usually an XINIT routine that can be called from the root and
  331. is available to most general users. Some subtle difficulties may occur
  332. if the users rights aren't correctly setup, a very common symptom of
  333. this is that the X server starts up correctly but there is no window
  334. manager. The users startup information can be found in the
  335. /usr/home/.profile file. A typical example of .profile is shown below;
  336.  
  337. TERM=vt100
  338. export TERM
  339. DISPLAY=unix:2
  340. xinit
  341.  
  342.  Once the X server has started up correctly on the Unix machine, the user
  343. should grant all rights to the X server from any remote host by issuing
  344. the following command:
  345.  
  346.  xhost +
  347.  
  348.  Now the RSH command can be tried between machines. This syntax is
  349. demonstrated above in the paragraph entitled "DOS to DOS networking".
  350. A useful first application to try to run remotely would be Xterm, which
  351. is usually in the /BIN directory, as demonstrated below in the path;
  352.  
  353. rsh <host> <user> <path> <xterm> -display <display>:0
  354.  
  355. becomes:
  356.  
  357. rsh dec333 xuser /bin/xterm -display sgi4d:0
  358.  
  359.  If security is an issue, and allowing users access to the network
  360. without passwords is unacceptable, then calling Xterm with the
  361. <-e login> parameters will call up a remote Xterm with a login prompt.
  362. For this the users would be logging into a generic account with very
  363. limited access to any system resources. Then they could then login with
  364. their account name and access the remote machine with their own specific
  365. account restrictions. The only disadvantage to this method of
  366. maintaining security this that there is an overhead of one socket for
  367. each Xterm to contend with, for this refer to the above paragraph
  368. entitled "Configuring DESQview/X". The syntax for this would be as
  369. follows:
  370.  
  371. rsh dec333 xuser /bin/xterm -e login -display sgi4d:0
  372.  
  373.  This could be encapsulated into the DESQview/X menu. Therefore
  374. eliminating potential user intervention. Unix also allows machines to be
  375. configured for remote access without a user password being specified by
  376. making a file called .rhosts in the usr/home directory. In this file
  377. enter the remote IP address and the remote <host> name. This allows
  378. anyone to login from that machine without a password. Access rights can
  379. be restricted at the local machine level or the user login names can be
  380. added to the .rhosts file. This will only allow the users listed in the
  381. .rhosts file to remote login.
  382.  
  383.  
  384.