File NETNAME.TXT 5 Oct 1992 A Standard for Naming and Numbering Novell Service Advertizing Objects This preface and the accompanying Postscript file describe the naming and numbering convention adopted by the State of Utah for NetWare objects. In outline form the standard says: o Use Internet names and addresses for networks and nodes to guarantee uniqueness, and to eliminate the need for creating a long term administrative unit for the world. o Reverse the order of Internet name components, to sort naturally. o Dots in names are replaced by dashes (minus signs) because not all Novell software allows dots in names. o Names should be kept short to permit prefixes by commercial products. Allow 40 characters overall, less if possible, and all are 7-bit ASCII printable characters. o Some Novell-compatible Named Services limit the length of service names. In this case it is permissible to use the text form of the numeric IP address assigned to the server or system providing the service. For example, if 128.110.48.64 were assigned to a gateway, then "806E3040_GW" would be a service name. If necessary, the "_GW" part could be omitted. o NW 3.x internal node address is the Internet address of the interface closest to the main backbone, expressed in hexadecimal notation for NetWare. NW 2.x and Lite lack the notion of internal node addresses. o The IPX network number is the IP address for that interface, ANDed with the subnet mask, and written in hexadecimal notation. Thus IPX networks ideally have the same address as IP networks. Example subset from SLIST - Known NetWare File Servers Network Node Address Status -------------------------- ------- ------------ ------ EDU-USU-NETLAB [817BFE00][AA0004007E61] EDU-USU-NETLAB2 [817B012C][ 1] EDU-USU-WRITECTR [817B3F01][ 1] EDU-UTAH-CC-UUSERV [806E3074][ 1] EDU-UTAH-CC-XANADU [806E3000][ 1B022E27] EDU-UTAH-MED-ECCLAB [806E4E04][ 1] EDU-WCSLC-WHITEWATER [92560103][ 1] GOV-USL [C06F2E00][ 79001F23] Machine Netlab is a VMS VAX running NW/VMS v2.1, IP address of 129.123.1.11 connecting to IP network 129.123.1.0 but because of other (historical) constraints the NW identification of the backbone is 817BFE00 (129.123.254.0). Machine Netlab2 is a NW 3.11 server, IP address 129.123.1.44, connecting to IP network 129.123.1.0 and IPX backbone 817BFE00. EDU-UTAH-* and GOV-* are 120+KM away, joined to EDU-USU-* by routing IPX across the Internet with cisco router boxes. IP tunneling is not used, because it is slow and because it relays ALL IPX traffic long distance. The chief architects, if we can use the term, of this plan are Joe Doupnik at Utah State University and David Hoisve at the University of Utah (alphabetical order), together with the Utah Academic Statewide Microcomputer Networking Committee, whose membership is: Keith Barlow UVCC barlowke@cc.utah.edu Craig Bennion U of U craig.cc.utah.edu Brooke Chase WSU bchase@cc.weber.edu Vern Cole UVCC coleve@cc.utah.edu Joe Doupnik USU jrd@cc.usu.edu Gehri Grimaud USU gehri@cc.usu.edu David Hoisve U of U hoisve@cc.utah.edu Dave Howard BYU daveh@ucs.byu.edu Andrew Howlett U of U andrew@gsic.utah.edu (@gsk.utah.edu??) Miles Johnson USU miles@cc.usu.edu Paul Leo U of U paulleo@genetics.med.utah.edu Tek McGrath WSU tmcgrath@cc.weber.edu Ray Rawlins USU ray@cc.usu.edu Roy Stock WSU stock@cc.weber.edu Elazabeth Walden BYU liz@noc.byu.edu We are also indebted to discussions with many colleagues at the Novell Technology Transfer Partners meeting in Chapel Hill, NC. The Postscript file below is a one page condensed description of applying these rules to networks where Novell routers have one or more interfaces and are cascaded one behind another. The diagram was prepared by Gehri Grimaud of the USU Computer Center. After that is an example autoexec.ncf file and several Email messages discussing the standard. Joe Doupnik 5 October 1992 --------------- 8< --------- cut here -------- 8< --------------- %!PS-Adobe-2.0 EPSF-1.2 %%BoundingBox: 16.874 12.937 595.688 757.126 %%Title: net_rules %%CreationDate: Fri May 15 09:36:30 1992 %%Creator: Tgif by William Cheng %%Pages: 1 1 %%DocumentFonts: Times-Roman Helvetica Courier NewCenturySchlbk Symbol %%EndComments %%BeginSetup /ellipsedict 6 dict def ellipsedict /mtrx matrix put /ellipse { ellipsedict begin /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 0 360 arc savematrix setmatrix end } def /arrowtipdict 8 dict def arrowtipdict /mtrx matrix put /arrowtip { arrowtipdict begin /dy exch def /dx exch def /h exch def /w exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate dy dx atan rotate 0 0 moveto w neg h lineto w neg h neg lineto savematrix setmatrix end } def /tgifarcdict 8 dict def tgifarcdict /mtrx matrix put /tgifarcn { tgifarcdict begin /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix end } def /tgifarc { tgifarcdict begin /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arcn savematrix setmatrix end } def /setuserscreendict 22 dict def setuserscreendict begin /tempctm matrix def /temprot matrix def /tempscale matrix def /concatprocs { /proc2 exch cvlit def /proc1 exch cvlit def /newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx } def /resmatrix matrix def /findresolution { 72 0 resmatrix defaultmatrix dtransform /yres exch def /xres exch def xres dup mul yres dup mul add sqrt } def end /setuserscreen { setuserscreendict begin /spotfunction exch def /screenangle exch def /cellsize exch def /m tempctm currentmatrix def /rm screenangle temprot rotate def /sm cellsize dup tempscale scale def sm rm m m concatmatrix m concatmatrix pop 1 0 m dtransform /y1 exch def /x1 exch def /veclength x1 dup mul y1 dup mul add sqrt def /frequency findresolution veclength div def /newscreenangle y1 x1 atan def m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt {{neg} /spotfunction load concatprocs /spotfunction exch def } if frequency newscreenangle /spotfunction load setscreen end } def /setpatterndict 18 dict def setpatterndict begin /bitison { /ybit exch def /xbit exch def /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def /mask 1 7 xbit 8 mod sub bitshift def bytevalue mask and 0 ne } def end /bitpatternspotfunction { setpatterndict begin /y exch def /x exch def /xindex x 1 add 2 div bpside mul cvi def /yindex y 1 add 2 div bpside mul cvi def xindex yindex bitison { /onbits onbits 1 add def 1 } { /offbits offbits 1 add def 0 } ifelse end } def /setpattern { setpatterndict begin /cellsz exch def /angle exch def /bwidth exch def /bpside exch def /bstring exch def /onbits 0 def /offbits 0 def cellsz angle /bitpatternspotfunction load setuserscreen {} settransfer offbits offbits onbits add div setgray end } def /inch {72 mul} def /showpattern { /ang exch def /pat exch def pat 8 1 ang 72 300 32 div div setpattern newpath 0 0 moveto 1 inch 0 lineto 1 inch dup lineto 0 1 inch lineto closepath fill } def /xpmdict 4 dict def /bwpicstr 1 string def /colorpicstr 3 string def /setpixels { xpmdict begin /pixels exch def end } def % bwimage adapted from xgrabsc: Copyright (C) 1990, 1991 Bruce Schuchardt /bwspot { xpmdict begin /index exch def bwpicstr 0 pixels index 3 mul 3 getinterval aload pop 255 mul .11 mul exch 255 mul .59 mul add exch 255 mul .3 mul add cvi put bwpicstr end } def /colorspot { xpmdict begin /index exch def pixels index 3 mul 3 getinterval aload pop 255 mul cvi colorpicstr 2 3 -1 roll put 255 mul cvi colorpicstr 1 3 -1 roll put 255 mul cvi colorpicstr 0 3 -1 roll put colorpicstr end } def /patdict 10 dict def /patbyte { currentdict /retstr get exch pat i cellsz mod get put } def /patproc { 0 1 widthlim {patbyte} for retstr /i i 1 add def } def /patfill { patdict begin /h exch def /w exch def /lty exch def /ltx exch def /cellsz exch def /pat exch def /widthlim w cellsz div cvi 1 sub def /retstr widthlim 1 add string def /i 0 def ltx lty translate w h true [1 0 0 1 0 0] {patproc} imagemask ltx neg lty neg translate end } def /pat1 def /pat2 <0000000000000000> def /pat3 <8000000008000000> def /pat4 <8800000022000000> def /pat5 <8800220088002200> def /pat6 <8822882288228822> def /pat7 def /pat8 <77dd77dd77dd77dd> def /pat9 <77ffddff77ffddff> def /pat10 <77ffffff77ffffff> def /pat11 <7fffffff7fffffff> def /pat12 <8040200002040800> def /pat13 <40a00000040a0000> def /pat14 def /pat15 def /pat16 def /pat17 <038448300c020101> def /pat18 <081c22c180010204> def /pat19 <8080413e080814e3> def /pat20 <8040201008040201> def /pat21 <8844221188442211> def /pat22 <77bbddee77bbddee> def /pat23 def /pat24 <7fbfdfeff7fbfdfe> def /pat25 <3e1f8fc7e3f1f87c> def /pat26 <0102040810204080> def /pat27 <1122448811224488> def /pat28 def /pat29 <83070e1c3870e0c1> def /pat30 def /pat31 <7cf8f1e3c78f1f3e> def /centertext { dup stringwidth pop 2 div neg 0 rmoveto } def /righttext { dup stringwidth pop neg 0 rmoveto } def /reencsmalldict 12 dict def /ReEncodeSmall { reencsmalldict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put} repeat newfontname newfont definefont pop end } def %%EndSetup %%Page: 1 1 gsave 1 setmiterlimit 1 setlinewidth 72 0 mul 72 11 mul translate 72 128 div 100 mul 100 div dup neg scale % TEXT 0 setgray /Helvetica-Bold findfont [24 0 0 -24 0 0] makefont setfont gsave 544 88 moveto (USU Novell Addressing Scheme) centertext show grestore % TEXT 0 setgray /Times-Roman findfont [24 0 0 -24 0 0] makefont setfont gsave 544 134 moveto (Domain:) righttext show 544 162 moveto (Network number:) righttext show 544 190 moveto (Default netmask:) righttext show grestore % TEXT 0 setgray /Times-Roman findfont [24 0 0 -24 0 0] makefont setfont gsave 560 134 moveto (USU.EDU) show 560 162 moveto (129.123.0.0) show 560 190 moveto (255.255.255.0) show grestore % TEXT 0 setgray /Times-Bold findfont [24 0 0 -24 0 0] makefont setfont gsave 176 246 moveto (IP rules) show grestore % TEXT 0 setgray /Times-Roman findfont [14 0 0 -14 0 0] makefont setfont gsave 176 270 moveto (Default gateway is 129.123.X.254 where X is ) show 176 288 moveto (the corrasponding part of the host's IP address.) show 176 306 moveto () show 176 324 moveto (Each Novell server with two or more network) show 176 342 moveto (interfaces gets it's own IP subnet. This includes ) show 176 360 moveto (Netware 2.x machines.) show 176 378 moveto () show 176 396 moveto (Each interface of a Novell server is assigned ) show 176 414 moveto (an IP address regardless of the verson of ) show 176 432 moveto (Netware or protocols that are to be routed.) show 176 450 moveto () show 176 468 moveto (If a server has three or more interfaces, the ) show 176 486 moveto (netmask will be 255.255.255.192 and each internal ) show 176 504 moveto (\(non backbone\) interface will use the top two bits ) show 176 522 moveto (in the last octet to determine its IP network address.) show grestore % TEXT 0 setgray /Times-Bold findfont [24 0 0 -24 0 0] makefont setfont gsave 640 246 moveto (IPX rules) show grestore % TEXT 0 setgray /Times-Roman findfont [14 0 0 -14 0 0] makefont setfont gsave 640 270 moveto (All Novell address and network numbers are ) show 640 288 moveto (determined by the IP addresses assigned to that server.) show 640 306 moveto () show 640 324 moveto (The internal IPX number is always the IP address of ) show 640 342 moveto (the network interface that is "closest" to the backbone ) show 640 360 moveto (\(converted to HEX\)) show 640 378 moveto () show 640 396 moveto (The IPX network number is the IP address for that ) show 640 414 moveto (interface ANDed with the netmask \(converted to HEX\)) show 640 432 moveto () show 640 450 moveto (All Novel fileserver names are the IP name flipped with the ) show 640 468 moveto (periods replaced with dashes. For example, ) show 640 486 moveto (SERVER.USU.EDU would be EDU-USU-SERVER.) show grestore % POLY/OPEN-SPLINE gsave 3 setlinewidth newpath 368 96 moveto 720 96 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Times-Bold findfont [24 0 0 -24 0 0] makefont setfont gsave 544 614 moveto (Examples*) centertext show grestore % POLY/OPEN-SPLINE gsave 3 setlinewidth newpath 488 624 moveto 592 624 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [12 0 0 -12 0 0] makefont setfont gsave 544 732 moveto (Cisco) centertext show 544 747 moveto (Router) centertext show grestore % BOX gsave 1.415 setmiterlimit newpath 512 720 moveto 576 720 lineto 576 752 lineto 512 752 lineto closepath stroke 1 setmiterlimit grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 544 720 moveto 544 704 lineto 544 688 lineto 560 704 lineto -64 0 atan dup cos 10 mul 560 exch sub exch sin 10 mul 640 exch sub lineto stroke 1 setlinewidth grestore gsave newpath 560 640 10 4 0 -64 arrowtip closepath fill grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 480 667 moveto (192.31.39.26) show grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 640 832 moveto 1024 832 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 640 816 moveto 640 848 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 1024 816 moveto 1024 848 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 576 736 moveto 672 736 lineto 672 832 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 592 731 moveto (129.123.253.254) show grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 416 832 moveto 416 736 lineto 512 736 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 32 832 moveto 592 832 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 32 816 moveto 32 848 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 592 816 moveto 592 848 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 432 731 moveto (129.123.1.254) show grestore % TEXT 0 setgray /Helvetica-Bold findfont [12 0 0 -12 0 0] makefont setfont gsave 688 812 moveto (Engineering Backbone 129.123.253.0) show 688 827 moveto (IPX network 817BFD00) show grestore % TEXT 0 setgray /Helvetica-Bold findfont [12 0 0 -12 0 0] makefont setfont gsave 48 812 moveto (Main Backbone 129.123.1.0) show 48 827 moveto (IPX network 817B0100) show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 768 1355 moveto (*Address used are for example only. These are not the ac tual) show 768 1368 moveto (addresses or names used. The network topology is an exam ple) show 768 1381 moveto (as well.) show grestore % TEXT 0 setgray /Helvetica findfont [12 0 0 -12 0 0] makefont setfont gsave 64 892 moveto (Novell) centertext show 64 907 moveto (Fileserver) centertext show grestore % BOX gsave 1.415 setmiterlimit newpath 32 880 moveto 96 880 lineto 96 912 lineto 32 912 lineto closepath stroke 1 setmiterlimit grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 64 832 moveto 64 880 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 64 859 moveto ( 129.123.1.200) show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 224 875 moveto (IP name:) righttext show 224 888 moveto (IPX name:) righttext show 224 901 moveto (Internal network number:) righttext show 224 914 moveto (Netmask:) righttext show 224 927 moveto (Default IP gateway:) righttext show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 224 875 moveto ( fs1.usu.edu) show 224 888 moveto ( EDU-USU-FS1) show 224 901 moveto ( 817B01C8) show 224 914 moveto ( 255.255.255.0) show 224 927 moveto ( 129.123.1.254) show grestore % POLY/OPEN-SPLINE gsave newpath 96 864 moveto 85.33 864.00 74.67 869.33 16 -16 atan dup cos 8 mul 64 exch sub exch sin 8 mul 880 exch sub curveto stroke grestore gsave newpath 64 880 8 3 -16 16 arrowtip closepath fill grestore % TEXT 0 setgray /Helvetica findfont [12 0 0 -12 0 0] makefont setfont gsave 448 988 moveto (Novell) centertext show 448 1003 moveto (Fileserver) centertext show grestore % BOX gsave 1.415 setmiterlimit newpath 416 976 moveto 480 976 lineto 480 1008 lineto 416 1008 lineto closepath stroke 1 setmiterlimit grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 448 832 moveto 448 976 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 448 955 moveto ( 129.123.1.54) show grestore % POLY/OPEN-SPLINE gsave newpath 480 960 moveto 469.33 960.00 458.67 965.33 16 -16 atan dup cos 8 mul 448 exch sub exch sin 8 mul 976 exch sub curveto stroke grestore gsave newpath 448 976 8 3 -16 16 arrowtip closepath fill grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 312 971 moveto (IP name:) righttext show 312 984 moveto (IPX name:) righttext show 312 997 moveto (Internal network number:) righttext show 312 1010 moveto (Netmask:) righttext show 312 1023 moveto (Default IP gateway:) righttext show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 312 971 moveto ( abc.usu.edu) show 312 984 moveto ( EDU-USU-ABC) show 312 997 moveto ( 817B0136) show 312 1010 moveto ( 255.255.255.0) show 312 1023 moveto ( 129.123.1.254) show grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 448 1008 moveto 448 1088 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 448 1038 moveto ( 129.123.13.254) show grestore % POLY/OPEN-SPLINE gsave newpath 480 1024 moveto 469.33 1024.00 458.67 1018.67 -16 -16 atan dup cos 8 mul 448 exch sub exch sin 8 mul 1008 exch sub curveto stroke grestore gsave newpath 448 1008 8 3 -16 -16 arrowtip closepath fill grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 224 1088 moveto 512 1088 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 224 1072 moveto 224 1104 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 512 1072 moveto 512 1104 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica-Bold findfont [12 0 0 -12 0 0] makefont setfont gsave 240 1068 moveto (ABC Backbone 129.123.13.0) show 240 1083 moveto (IPX network 817B0D00) show grestore % TEXT 0 setgray /Helvetica findfont [12 0 0 -12 0 0] makefont setfont gsave 272 1148 moveto (Novell) centertext show 272 1163 moveto (Fileserver) centertext show grestore % BOX gsave 1.415 setmiterlimit newpath 240 1136 moveto 304 1136 lineto 304 1168 lineto 240 1168 lineto closepath stroke 1 setmiterlimit grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 272 1088 moveto 272 1136 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 272 1115 moveto ( 129.123.13.117) show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 432 1131 moveto (IP name:) righttext show 432 1144 moveto (IPX name:) righttext show 432 1157 moveto (Internal network number:) righttext show 432 1170 moveto (Netmask:) righttext show 432 1183 moveto (Default IP gateway:) righttext show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 432 1131 moveto ( xyz.usu.edu) show 432 1144 moveto ( EDU-USU-XYZ) show 432 1157 moveto ( 817B0D75) show 432 1170 moveto ( 255.255.255.0) show 432 1183 moveto ( 129.123.13.254) show grestore % POLY/OPEN-SPLINE gsave newpath 304 1120 moveto 293.33 1120.00 282.67 1125.33 16 -16 atan dup cos 8 mul 272 exch sub exch sin 8 mul 1136 exch sub curveto stroke grestore gsave newpath 272 1136 8 3 -16 16 arrowtip closepath fill grestore % TEXT 0 setgray /Helvetica findfont [12 0 0 -12 0 0] makefont setfont gsave 768 892 moveto (Novell) centertext show 768 907 moveto (Fileserver) centertext show grestore % BOX gsave 1.415 setmiterlimit newpath 736 880 moveto 800 880 lineto 800 912 lineto 736 912 lineto closepath stroke 1 setmiterlimit grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 768 832 moveto 768 880 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 768 859 moveto ( 129.123.253.91) show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 928 875 moveto (IP name:) righttext show 928 888 moveto (IPX name:) righttext show 928 901 moveto (Internal network number:) righttext show 928 914 moveto (Netmask:) righttext show 928 927 moveto (Default IP gateway:) righttext show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 928 875 moveto ( engfs1.usu.edu) show 928 888 moveto ( EDU-USU-ENGFS1) show 928 901 moveto ( 817BFD5B) show 928 914 moveto ( 255.255.255.192) show 928 927 moveto ( 129.123.253.254) show grestore % POLY/OPEN-SPLINE gsave newpath 800 864 moveto 789.33 864.00 778.67 869.33 16 -16 atan dup cos 8 mul 768 exch sub exch sin 8 mul 880 exch sub curveto stroke grestore gsave newpath 768 880 8 3 -16 16 arrowtip closepath fill grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 816 1024 moveto 1040 1024 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 816 1008 moveto 816 1040 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 1040 1008 moveto 1040 1040 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 544 1024 moveto 768 1024 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 544 1008 moveto 544 1040 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 768 1008 moveto 768 1040 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 672 1136 moveto 896 1136 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 672 1120 moveto 672 1152 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 5 setlinewidth newpath 896 1120 moveto 896 1152 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 736 896 moveto 640 896 lineto 640 1024 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 752 912 moveto 752 992 lineto 784 992 lineto 784 1088 lineto 864 1088 lineto 864 1136 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 784 912 moveto 784 944 lineto 848 944 lineto 848 1024 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 738 875 moveto ( 129.123.47.254) righttext show grestore % POLY/OPEN-SPLINE gsave newpath 706 880 moveto 716.67 880.00 727.33 885.33 16 16 atan dup cos 8 mul 738 exch sub exch sin 8 mul 896 exch sub curveto stroke grestore gsave newpath 738 896 8 3 16 16 arrowtip closepath fill grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 722 926 moveto ( 129.123.47.126) righttext show grestore % POLY/OPEN-SPLINE gsave newpath 722 928 moveto 732.67 928.00 743.33 922.67 -16 16 atan dup cos 8 mul 754 exch sub exch sin 8 mul 912 exch sub curveto stroke grestore gsave newpath 754 912 8 3 16 -16 arrowtip closepath fill grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 768 974 moveto ( 129.123.47.190) show grestore % POLY/OPEN-SPLINE gsave newpath 800 960 moveto 821.33 960.00 816.00 944.00 -48 -48 atan dup cos 8 mul 784 exch sub exch sin 8 mul 912 exch sub curveto stroke grestore gsave newpath 784 912 8 3 -48 -48 arrowtip closepath fill grestore % TEXT 0 setgray /Helvetica findfont [12 0 0 -12 0 0] makefont setfont gsave 704 1196 moveto (Novell) centertext show 704 1211 moveto (Fileserver) centertext show grestore % BOX gsave 1.415 setmiterlimit newpath 672 1184 moveto 736 1184 lineto 736 1216 lineto 672 1216 lineto closepath stroke 1 setmiterlimit grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 704 1136 moveto 704 1184 lineto stroke 1 setlinewidth grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 704 1163 moveto ( 129.123.47.65) show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 864 1179 moveto (IP name:) righttext show 864 1192 moveto (IPX name:) righttext show 864 1205 moveto (Internal network number:) righttext show 864 1218 moveto (Netmask:) righttext show 864 1231 moveto (Default IP gateway:) righttext show grestore % TEXT 0 setgray /Helvetica findfont [10 0 0 -10 0 0] makefont setfont gsave 864 1179 moveto ( qed.usu.edu) show 864 1192 moveto ( EDU-USU-QED) show 864 1205 moveto ( 817B2F41) show 864 1218 moveto ( 255.255.255.192) show 864 1231 moveto ( 129.123.47.126) show grestore % POLY/OPEN-SPLINE gsave newpath 736 1168 moveto 725.33 1168.00 714.67 1173.33 16 -16 atan dup cos 8 mul 704 exch sub exch sin 8 mul 1184 exch sub curveto stroke grestore gsave newpath 704 1184 8 3 -16 16 arrowtip closepath fill grestore % TEXT 0 setgray /Helvetica-Bold findfont [12 0 0 -12 0 0] makefont setfont gsave 560 1036 moveto (local Backbone A 129.123.47.192) show 560 1051 moveto (IPX network 817B2FC0) show grestore % TEXT 0 setgray /Helvetica-Bold findfont [12 0 0 -12 0 0] makefont setfont gsave 832 1036 moveto (local Backbone B 129.123.47.128) show 832 1051 moveto (IPX network 817B2F80) show grestore % TEXT 0 setgray /Helvetica-Bold findfont [12 0 0 -12 0 0] makefont setfont gsave 688 1116 moveto (local Backbone C 129.123.47.64) show 688 1131 moveto (IPX network 817B2F40) show grestore % POLY/OPEN-SPLINE gsave newpath 448 720 moveto 458.67 709.33 469.33 704.00 480.00 704.00 curveto 490.67 704.00 501.33 714.67 32 16 atan dup cos 8 mul 512 exch sub exch sin 8 mul 736 exch sub curveto stroke grestore gsave newpath 512 736 8 3 16 32 arrowtip closepath fill grestore % POLY/OPEN-SPLINE gsave newpath 640 720 moveto 629.33 709.33 618.67 704.00 608.00 704.00 curveto 597.33 704.00 586.67 714.67 32 -16 atan dup cos 8 mul 576 exch sub exch sin 8 mul 736 exch sub curveto stroke grestore gsave newpath 576 736 8 3 -16 32 arrowtip closepath fill grestore % POLY/OPEN-SPLINE gsave newpath 512 672 moveto 512.00 682.67 522.67 698.67 32 32 atan dup cos 8 mul 544 exch sub exch sin 8 mul 720 exch sub curveto stroke grestore gsave newpath 544 720 8 3 32 32 arrowtip closepath fill grestore % TEXT 0 setgray /Helvetica findfont [12 0 0 -12 0 0] makefont setfont gsave 560 668 moveto ( T1 to Westnet) show grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 176 248 moveto 256 248 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE gsave 2 setlinewidth newpath 640 248 moveto 744 248 lineto stroke 1 setlinewidth grestore grestore showpage ------------------- 8< ----------- cut here --------- 8< --------------- Example section of Autoexec.ncf - file server name EDU-USU-NETLAB2 ipx internal net 817b012c rem load patchman and fatfix must immediately follow the internal net line load patchman load fatfix rem set maximum alloc short term memory=8000000 set allow unencrypted passwords=on set reply to get nearest server=off set maximum directory cache buffers=1000 set maximum outstanding NCP searches=500 set maximum packet receive buffers=200 mount all load nmagent load streams load clib tz=MST7MDT load patch311 load mathlibc load tli load ipxs load spxs load pburst load ne2000 int=5 port=360 frame=Ethernet_snap name=atbone load appletlk net=52982 zone={"CASS"} bind appletlk to atbone net=100-199 zone={"CASS"} load afp load snmp ControlCommunity=password TrapCommunity=password load ne2000 int=5 port=360 frame=Ethernet_II name=bbone bind ipx bbone net=817bfe00 load tcpip1 trap=129.123.xxx.yyy bind ip bbone ad=129.123.1.44 ma=255.255.255.0 po=yes ga=129.123.1.254 load remote password load rspx load ftpserv load rarpserv load telnetd nfsexec.ncf load pserver edu-usu-netlab2 load showevnt sys:/system/showevnt.log rem rem DO PATCHES here, to level 311pt8.zip load afpfix1 etc (Tcpip1 is an unsupported version of tcpip.nlm from Novell which permits unsupported bootpfwd and rarpserv, also from Novell, to operate. The change of name is to avoid confusion with the formal distribution product. Showevnt is a free NLM from Bart Mellink which logs changes to the bindery as a security check.) ---------------------- Additional information from old Email correspondence. Subject: RE: Addressing schemes on large networks From: Joe Doupnik Date: Tue, 17 Sep 1991 22:37:00 MDT Bob, I'll put this short note on the list now (late at night) and a longer message will appear later with details. The answer to your question about addressing schemes is that indeed, the Higher Ed institutions in the State of Utah are implementing a naming and numbering method for all connected NetWare systems (all NW systems which advertize using the SAP). It's based on Internet names and numbers in a way which I think makes life a little easier for everyone. The final rules will be an RFC-like (maybe a real RFC) document giving what's and why's. In short form, things look like this EDU-USU-local-name-things-here (global --> local) Hex Internet network address portion + local networking portion This alphabetizes naturally on things such as SLIST. Note that right now NW 386 disallows dots in names. Subnet mask suggestions are included in the full spec. For those interested, the root problems are all advertized names and numbers of objects must be unique across all the wires. When a state connects we can control much of this, but when states connect matters are out of human control. Thus one needs to adopt an existing standard. Phone numbers, zip codes, short letter codes, etc, all fail when the interconnections cross national borders. The current standard which does work is Internet addressing, NETLAB.USU.EDU 129.123.1.11. The latter part is a 32 bit number, the same size as Novell network numbers. Reversing the name string to EDU-USU-NETLAB causes sorting utilities, and wild carded requests, to do natural grouping. It's also more like OSI style names of the immediate future (but lacks a leading universe.galaxy.star.planet prefix). Aren't committees wonderful? The example above is for a Class B Internet address (all 129.123 things belong to USU.EDU, my home institution). We also have to ident internal nodes, and we must worry about Macs. For Utah we will require all joining bodies to obtain an offical Internet identification. There is more to this business than I have sketched here, but you can see the direction. So far all the participating institutions have agreed to this plan and we have a deadline for implementation. Between now and then Dave Hoisve at the University of Utah and myself at USU will run tests between isolated servers, between a whole campus and a server, ditto with a borrowed cisco router as a second level of buffering, and so on up the scale to full interconnection. More will be said later on about background traffic rates and related technical issues. Finally, I might add an obvious consequence. Everyone must change simultaneously at the local site, else we will have logs full of router configuration error messages. And that change means coordinating lots of people and boxes, and running around with walkie talkies .... But more than that: the servers will be down the whole time. In addition one has to reconfigure Printer servers, shells (PS=), Async servers, and all those other small details we just love to worry about (esp. on NW 286 machines). The process will be documented so that other places can learn from our experiences and hopefully use the same system. It seems that even the State of Utah has a very large number of such places (such as the Public School system). Thus choosing a name/number scheme is the easy part. If people will track along with us then I think we may have a method acceptable to NW systems located anywhere, and which permits spontaneous interconnections without the major upheavals such as we are about to experience. In the meanwhile we are interested in constructive comments from other places. Joe Doupnik jrd@cc.usu.edu Utah State University [Note added Oct 1992: we did it about a year ago with a one hour down time on a weekday morning and it went very smoothly. We have been happy since then.] ---------------------------------- Subject: RE: naming conventions From: DESCHAPE@DAYTON.BITNET Date: Wed, 18 Sep 1991 09:08:00 EDT I read with great interest Joe's note on NW naming and numbering conventions. Somewhere in the back of my mind I seem to remember that some versions of NW had problems with server names greater than 11 characters. If this is so, and hasn't been fixed, then names like edu-xxx-xxx-xxx would be too long. I hope I'm wrong, 'cause I really like what Joe described, and would love to implement it here. Even so, I plan to perphaps use a format like subdomain-machine. The numbering scheme is also very close to what we've considered -- we planned to use the last two octets of the ip address as the NW net number (i.e. xxx.xxx.10.0 turns into 0A00). Barb Deschapelles deschape@udavxb.oca.udayton.edu deschape@dayton (bitnet) -------------------------------- Subject: RE: naming conventions From: Joe Doupnik Date: Wed, 18 Sep 1991 08:28:00 MDT Barb, Naming/numbering conventions for NetWare: Could I suggest not numbering a machine based on the "right hand" most part of an IP address? The reason is that is highly non-portable. Your example, for other readers, was Internet ddd.ddd.10.0 turns into NetWare address 0A00 hex. If your machine were ever connected to a remote cluster then you stand a good chance of having a number collision. My recommendation is to start with the organization's IP address, such as 129.123 is my campus so all local NW objects are numbered as 81 7b . So that CC.USU.EDU 129.123.1.1, the campus main VAX, is EDU-USU-CC and NW number 81 7b 01 01 and my NW 3.11 server NETLAB2.USU.EDU 129.123.1.44 becomes EDU-USU-NETLAB2 and NW number 81 7b 01 2c. This guarantees non-collisions if other sites follow suite. The local part of the address is locally administered, only the 129.123 part offically concerns the Internet authorities. Machine numbers are typed infrequently so this convention imposes no hardship. Name length limitations. Yes, we have discussed these problems and have a first cut at a workaround. However, if our plan becomes broadly accepted then the pressure is on vendors to accomodate full NW names in new products rather than nic-names of various lengths. Joe D. -------------------------------- Subject: RE: Clarifying address names From: Joe Doupnik Date: Thu, 19 Sep 1991 16:04:00 MDT Tim, On naming/numbering conventions. Individual workstations have physical addresses for the Lan adaptors set by the manufacturer or dip switches. That's not what we are worried about. The logical address, i.e. the NetWare network address, is handed out by the serving device and appears deep within a packet. Clients assume the logical address of the server/router to which they are attached; i.e., the network address of the wire. And they get this by being told by the server/router device. The physical address, Ethernet or Token Ring or Arcnet or..., is used only on the wire to address one station out of many listeners on that wire. NetWare is nearly independent of that physical address, and the current discussion has no impact on it (and v.v.). Physical addresses are strictly local to that wire and don't leave it. Logical addresses are protocol dependent things. IP has one convention, DECnet has another, Novell at third, 3+Open another, etc. None is related to nor is understood by the others. That's protocols for you. All the logical stuff appears within the "data" portion of packets on a wire and requires software to dig down and find the material. The convention I introduced the other day is all the logical addressing part of things, independent of hardware. Joe D. -------------------------------------- From: USU::GEHRI "Gehri Grimaud" 19-SEP-1991 17:43:48.86 To: USU::JRD CC: IN%"NOVELL@SUVM.BITNET" Subj: RE: Naming, incoming > From: IN%"NOVELL@SUVM.BITNET" "Novell LAN Interest Group" 19-SEP-1991 > To: USU Novell users > Subj: RE: naming conventions > > We are also looking into how to administer Novell network numbers and your > scheme sounds better than anything we have come up with. Question - how do > you plan to handle internal network numbers? Are they just assigned another > 'host number' in the addressing scheme? > > As for example, on network 128.151.226, if a Novell server was assigned an > external net number of '80 97 E2 01' (128.151.226.1), would the internal > number be assigned '80 97 E2 02' (128.151.226.2)? Here is how we intend to do it a USU (God willing and if the creeks don't rise ;)... USU's internet network number is 129.123.0.0. Each network interface (wire) on each Novell file server has been assigned a subnet out of our main network. Ok, lets look at the 3.1.1 file server in the Computer Center. It has two interfaces. Each interface has been assigned an internet number. The interface connected to the backbone has been assigned the internet address 129.123.1.31. The second interface has been assigned the internet subnet of 129.123.20.0. Because this server will route IP, the second interface has the internet address 129.123.20.254. So how do we use these numbers to come up with the corresponding IPX address? The fileserver's internal network number comes from the internet address of the interface that is connected to the backbone. So we convert 129.123.1.31 to hex and come up with 817B011f. We will always use the internet address from the interface that is closest to the backbone to derive the internal IPX network number. The IPX address for the backbone interface is 817B0000 (from 129.123.0.0). The IPX address for the second interface is 817B1400. This comes from the internet subnet assigned to that interface, 129.123.20.0. Of course this gets complicated when you have several layers of fileserver between you and the backbone. Also note the we have whacked off rather large subnets for each IPX interface. This is only because we can. Those of you who have an involved IP network will have to figure out how you are going to divy up subnets before you start. =============================================================================== Gehri Grimaud gehri@cc.usu.edu Utah State University gehri@usu.bitnet Office of Computer Services tel. (801) 750-2392 UMC 3700 Logan, Utah 84322 "Friends don't let friends do MS-DOS" =============================================================================== -------------------------------------- Subject: RE: choosing IP addresses for NW internal nodes. From: Joe Doupnik Date: Thu, 19 Sep 1991 20:17:00 MDT > >Here is how we intend to do it a USU (God willing and if the creeks don't >rise ;)... USU's internet network number is 129.123.0.0. Each network >interface (wire) on each Novell file server has been assigned a subnet out of >our main network. > >Ok, lets look at the 3.1.1 file server in the Computer Center. >It has two interfaces. Each interface has been assigned an internet number. >The interface connected to the backbone has been assigned the internet address >129.123.1.31. The second interface has been assigned the internet subnet of >129.123.20.0. Because this server will route IP, the second interface has >the internet address 129.123.20.254. > >So how do we use these numbers to come up with the corrasponding IPX address? >The fileserver's internal network number comes from the internet address .of the interface that is connected to the backbone. So we convert >129.123.1.31 to hex and come up with 817B011f. We will always use the >internet address from the interface that is closest to the backbone to derive >the internal IPX network number. > >The IPX address for the backbone interface is 817B0000 (from 129.123.0.0). >The IPX address for the second interface is 817B1400. This comes from the >internet subnet assigned to that interface, 129.123.20.0. > Gehri Grimaud, USU I'd like to add two short(?) comments here. First, for the benefit of others reading the correspondence, "The second interface has been assigned the internet subnet of 129.123.20.0". What Gehri is saying is that second interface is responsible for all IP packets with an address of 129.123.20.*. If the server is acting as an IP router that means it needs to decide which packets need to be relayed to another interface, and which do not. It does this based on it's perception of a "network", using the IP subnet mask. The concept is really simple, as it has to be for speed and compactness: Get the IP destination address from a packet. That's a 32 bit number of the form say 129.123.20.7 in dotted decimal notation. Get the subnet mask, in dotted decimal form like 255.255.255.0. Write each as binary 1's and 0's. Compare the current network address (the interface) with the destination address in only those bit positions where the subnet mask has a 1, ignoring bits where the subnet mask has zeros. If all the selected bits are the same then the packet belongs on this side, if they differ even in a single bit then relay/route the packet to another interface. destination IP value local IP address AND subnet mask AND subnet mask ------------- ------------ result =? result if differ then route So a subnet mask of 255.255.255.0 says compare the leading 24 bits of each address, or 129.123.20.* all belong on the same wire so don't route/relay. My second comment is on the choice of a subnet mask. There is nothing magic about 255.255.0.0 or 255.255.255.0. The split between 1's and 0's can be anywhere in the 32 bit field, and in principle the mask could have 0's in between 1's here and there (network managers get grey hairs from this). If an interface had only four possible IP numbers to worry about for ever and ever the subnet mask could be 255.255.255.252 (the last is slicing off the two least significant bits if my arithmetic is correct). Using a subnet mask with 1's located further to the right means fewer IP addresses are in the same (non-routed) network and we conserve "networks" for other parts of the system. In actuality it's probably better to think of network addresses and masks as binary numbers rather than decimal so the bit-matching stuff is easier to visualize (but harder to type). Thus if we, *.USU.EDU, 129.123.*.*, wanted to have not just 256 local "networks" but 1024 of them then a suitable subnet mask would be 255.255.255.192 dotted decimal == ff ff ff c0 hex vvvvvvvvv vv-- these bits detect on-campus nets == 1111 1111 1111 1111 1111 1111 1100 0000 binary ^^^^^^^^^^^^^^^^^^^^ -- differences here are routed off campus. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- differences here are routed by a NW server. ^^^^^^^ differences here mean the destination is on the same wire/network, no need to route/relay. Generally we reserve 0 as special, say for an entire network, and 254 (or all ones minus 1 in the non-networking part) for a router's IP. All ones in the non-networking part can be regarded as a directed IP broadcast. Systems based on Berkeley Unix bsd 4.2 and earlier compound difficulties by using all zeros as broadcast addresses, but that practice is discouraged in today's practice. You can see the modern form in Gehri's examples above. Sorry for the longer than expected comments, but networking jargon does tend to obscure even the simplest things. Joe D. (end of document)