1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
|
%!PS-Adobe-3.0
%%Creator: groff version 1.05
%%DocumentNeededResources: font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%DocumentSuppliedResources: procset grops 1.05 0
%%Pages: 5
%%PageOrder: Ascend
%%Orientation: Portrait
%%EndComments
%%BeginProlog
%%BeginResource: procset grops 1.05 0
/setpacking where {
pop
currentpacking
true setpacking
} if
/grops 120 dict dup begin
% The ASCII code of the space character.
/SC 32 def
/A /show load def
/B { 0 SC 3 -1 roll widthshow } bind def
/C { 0 exch ashow } bind def
/D { 0 exch 0 SC 5 2 roll awidthshow } bind def
/E { 0 rmoveto show } bind def
/F { 0 rmoveto 0 SC 3 -1 roll widthshow } bind def
/G { 0 rmoveto 0 exch ashow } bind def
/H { 0 rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def
/I { 0 exch rmoveto show } bind def
/J { 0 exch rmoveto 0 SC 3 -1 roll widthshow } bind def
/K { 0 exch rmoveto 0 exch ashow } bind def
/L { 0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def
/M { rmoveto show } bind def
/N { rmoveto 0 SC 3 -1 roll widthshow } bind def
/O { rmoveto 0 exch ashow } bind def
/P { rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def
/Q { moveto show } bind def
/R { moveto 0 SC 3 -1 roll widthshow } bind def
/S { moveto 0 exch ashow } bind def
/T { moveto 0 exch 0 SC 5 2 roll awidthshow } bind def
% name size font SF -
/SF {
findfont exch
[ exch dup 0 exch 0 exch neg 0 0 ] makefont
dup setfont
[ exch /setfont cvx ] cvx bind def
} bind def
% name a c d font MF -
/MF {
findfont
[ 5 2 roll
0 3 1 roll % b
neg 0 0 ] makefont
dup setfont
[ exch /setfont cvx ] cvx bind def
} bind def
/level0 0 def
/RES 0 def
/PL 0 def
/LS 0 def
% BP -
/BP {
/level0 save def
1 setlinecap
1 setlinejoin
72 RES div dup scale
LS {
90 rotate
} {
0 PL translate
} ifelse
1 -1 scale
} bind def
/EP {
level0 restore
showpage
} bind def
% centerx centery radius startangle endangle DA -
/DA {
newpath arcn stroke
} bind def
% x y SN - x' y'
% round a position to nearest (pixel + (.25,.25))
/SN {
transform
.25 sub exch .25 sub exch
round .25 add exch round .25 add exch
itransform
} bind def
% endx endy startx starty DL -
% we round the endpoints of the line, so that parallel horizontal
% and vertical lines will appear even
/DL {
SN
moveto
SN
lineto stroke
} bind def
% centerx centery radius DC -
/DC {
newpath 0 360 arc closepath
} bind def
/TM matrix def
% width height centerx centery DE -
/DE {
TM currentmatrix pop
translate scale newpath 0 0 .5 0 360 arc closepath
TM setmatrix
} bind def
% these are for splines
/RC /rcurveto load def
/RL /rlineto load def
/ST /stroke load def
/MT /moveto load def
/CL /closepath load def
% fill the last path
% amount FL -
/FL {
currentgray exch setgray fill setgray
} bind def
% fill with the ``current color''
/BL /fill load def
/LW /setlinewidth load def
% new_font_name encoding_vector old_font_name RE -
/RE {
findfont
dup maxlength dict begin
{
1 index /FID ne { def } { pop pop } ifelse
} forall
/Encoding exch def
dup /FontName exch def
currentdict end definefont pop
} bind def
/DEFS 0 def
% hpos vpos EBEGIN -
/EBEGIN {
moveto
DEFS begin
} bind def
/EEND /end load def
/CNT 0 def
/level1 0 def
% llx lly newwid wid newht ht newllx newlly PBEGIN -
/PBEGIN {
/level1 save def
translate
div 3 1 roll div exch scale
neg exch neg exch translate
% set the graphics state to default values
0 setgray
0 setlinecap
1 setlinewidth
0 setlinejoin
10 setmiterlimit
[] 0 setdash
/setstrokeadjust where {
pop
false setstrokeadjust
} if
/setoverprint where {
pop
false setoverprint
} if
newpath
/CNT countdictstack def
userdict begin
/showpage {} def
} bind def
/PEND {
clear
countdictstack CNT sub { end } repeat
level1 restore
} bind def
end def
/setpacking where {
pop
setpacking
} if
%%EndResource
%%IncludeResource: font Times-Bold
%%IncludeResource: font Times-Italic
%%IncludeResource: font Times-Roman
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron/zcaron
/Ydieresis/trademark/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space/exclam
/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright
/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J
/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z
/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl/endash
/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut/dotaccent/breve
/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash/quotedblbase/OE/Lslash
/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis
/copyright/ordfeminine/guilsinglleft/logicalnot/minus/registered/macron/degree
/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla
/onesuperior/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth
/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave
/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex
/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde
/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn
/ydieresis]def/Times-Roman@0 ENC0/Times-Roman RE/Times-Italic@0 ENC0
/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE
%%EndProlog
%%Page: 1 1
%%BeginPageSetup
BP
%%EndPageSetup
/F0 12/Times-Bold@0 SF -.5(What is a Domain?)239.58 82.031 R/F1 10
/Times-Italic@0 SF(Mark R. Horton)255.92 100.031 Q(ABSTRACT)264.385 154.031 Q
/F2 10/Times-Roman@0 SF 1.689(In the past, electronic mail has used many dif)
122 190.031 R 1.688(ferent kinds of syntax, naming a)-.18 F .036
(computer and a login name on that computer)122 202.031 R 5.036(.A)-.55 G .036
(new system, called `)318.134 202.031 R(`domains')-.74 E .037(', is)-.74 F
1.905(becoming widely used, based on a heirarchical naming scheme.)122 214.031
R 1.904(This paper is)6.904 F 1.256
(intended as a quick introduction to domains.)122 226.031 R 1.257
(For more details, you should read)6.257 F
(some of the documents referenced at the end.)122 238.031 Q F1 2.5(1. Intr)72
286.031 R(oduction)-.37 E F2 .139(What exactly are domains?)72 304.031 R
(Basically)5.139 E 2.639(,t)-.65 G .138
(hey are a way of looking at the world as a heirarchy \(tree structure\).)
230.625 304.031 R -1(Yo)72 316.031 S 1.079(u're already used to using two tree\
world models that work pretty well: the telephone system and the)1 F(post of)
72 328.031 Q 2.5(\214ce. Domains)-.18 F
(form a similar heirarchy for the electronic mail community)2.5 E(.)-.65 E .232
(The post of)72 346.031 R .232(\214ce divides the world up geographically)-.18
F 2.732<2c8c>-.65 G .232
(rst into countries, then each country divides itself up,)289.946 346.031 R
.598(those units subdivide, and so on.)72 358.031 R .598(One such country)5.598
F 3.098(,t)-.65 G .598(he USA, divides into states, which divide into coun-)
290.332 358.031 R .211(ties \(except for certain states, like Louisiana, which\
divide into things like parishes\), the counties subdivide)72 370.031 R 2.189
(into cities, towns, and townships, which typically divide into streets, the s\
treets divide into lots with)72 382.031 R .265(addresses, possibly containing \
room and apartment numbers, the then individual people at that address.)72
394.031 R(So)5.265 E(you have an address like)72 406.031 Q(Mark Horton)108
424.031 Q(Room 2C-249)108 436.031 Q(6200 E. Broad St.)108 448.031 Q
(Columbus, Ohio, USA)108 460.031 Q 1.167(\(I'm ignoring the name `)72 478.031 R
(`A)-.74 E 1.168(T&T Bell Laboratories')-1.11 F 3.668('a)-.74 G 1.168
(nd the zip code, which are redundant information.\))292.814 478.031 R
(Other countries may subdivide dif)72 490.031 Q(ferently)-.18 E 2.5(,f)-.65 G
(or example many small countries do not have states.)247.25 490.031 Q .554
(The telephone system is similar)72 508.031 R 5.554(.Y)-.55 G .553
(our full phone number might look like 1-614-860-1234 x234 This con-)214.6
508.031 R 1.24(tains, from left to right, your country code \(Surprise!)72
520.031 R 1.24(The USA has country code `)6.24 F(`1')-.74 E 1.24
('!\), area code 614)-.74 F 1.012
(\(Central Ohio\), 860 \(a pre\214x in the Reynoldsbur)72 532.031 R 3.512(gC)
-.18 G 1.012(.O.\), 1234 \(individual phone number\), and extension)287.398
532.031 R 2.69(234. Some)72 544.031 R .191(phone numbers do not have extension\
s, but the phone system in the USA has standardized on a)2.69 F 3.782(3d)72
556.031 S 1.281(igit area code, 3 digit pre\214x, and 4 digit phone number)
85.782 556.031 R 6.281(.O)-.55 G 1.281(ther countries don')332.354 556.031 R
3.781(tu)-.18 G 1.281(se this standard, for)421.837 556.031 R 1.424(example, i\
n the Netherlands a number might be +46 8 7821234 \(country code 46, city code\
8, number)72 568.031 R .294(7821234\), in Germany +49 231 7551234, in Sweden \
+31 80 551234, in Britain +44 227 61234 or +44 506)72 580.031 R(41)72 592.031 Q
3.237(1234. Note)-.37 F .737(that the country and city codes and telephone num\
bers are not all the same length, and the)3.237 F .812(punctuation is dif)72
604.031 R .812(ferent from our North American notation.)-.18 F -.4(Wi)5.812 G
.812(thin a country).4 F 3.312(,t)-.65 G .812(he length of the telephone)
396.882 604.031 R .25(number might depend on the city code.)72 616.031 R .251
(Even within the USA, the length of extensions is not standardized:)5.25 F .005
(some places use the last 4 digits of the telephone number for the extension, \
some use 2 or 3 or 4 digit exten-)72 628.031 R .649
(sions you must ask an operator for)72 640.031 R 5.649(.E)-.55 G .649
(ach country has established local conventions.)227.363 640.031 R .65
(But the numbers are)5.65 F .197(unambigous when dialed from left-to-right, so\
as long as there is a way to indicate when you are done dial-)72 652.031 R
(ing, there is no problem.)72 664.031 Q 3.092(Ak)72 682.031 S .592(ey dif)
87.312 682.031 R .593(ference in philosophy between the two systems is evident\
from the way addresses and telephone)-.18 F 1.497(numbers are written.)72
694.031 R -.4(Wi)6.497 G 1.497(th an address, the most speci\214c information \
comes \214rst, the least speci\214c last.).4 F .573(\(The `)72 706.031 R .573
(`root of the tree')-.74 F 3.073('i)-.74 G 3.073(sa)172.515 706.031 S 3.074(tt)
183.918 706.031 S .574(he right.\))192.552 706.031 R -.4(Wi)5.574 G .574
(th telephones, the least speci\214c information \(root\) is at the left.).4 F
.299(The telephone system was designed for machinery that looks at the \214rst\
few digits, does something with it,)72 718.031 R .773
(and passes the remainder through to the next level.)72 730.031 R .773
(Thus, in ef)5.773 F .774(fect, you are routing your call through the)-.18 F
.255(telephone network.)72 742.031 R .255(Of course, the exact sequence you di\
al depends on where you are dialing from - some-)5.255 F .259(times you must d\
ial 9 or 8 \214rst, to get an international dialtone you must dial 01)72
754.031 R .259(1, if you are calling locally)-.37 F EP
%%Page: 2 2
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF .31(you can \(and sometimes must\) leave of)72 96 R
2.81(ft)-.18 G .31(he 1 and the area code.)239.24 96 R .31
(\(This makes life very interesting for peo-)5.31 F .463
(ple who must design a box to call their home of)72 108 R .463
(\214ce from any phone in the world.\))-.18 F .464(This type of address is)
5.464 F(called a `)72 120 Q(`relative address')-.74 E
(', since the actual address used depends on the location of the sender)-.74 E
(.)-.55 E .547(The postal system, on the other hand, allows you to write the s\
ame address no matter where the sender is.)72 138 R .851(The address above wil\
l get to me from anywhere in the world, even private company mail systems.)72
150 R -1(Ye)5.851 G(t,)1 E .195
(some optional abbreviations are possible - I can leave of)72 162 R 2.695(ft)
-.18 G .195(he USA if I'm mailing within the USA; if I'm in)307.61 162 R .552
(the same city as the address, I can usually just say `)72 174 R(`city')-.74 E
3.053('i)-.74 G 3.053(np)312.94 174 S .553(lace of the last line.)325.993 174 R
.553(This type of address is)5.553 F(called an `)72 186 Q(`absolute address')
-.74 E
(', since the unabbreviated form does not depend on the location of the sender)
-.74 E(.)-.55 E .674(The ARP)72 204 R .674
(ANET has evolved with a system of absolute addresses: `)-.92 F(`user@host')
-.74 E 3.173('w)-.74 G .673(orks from any machine.)407.001 204 R .269
(The UUCP network has evolved with a system of relative addresses: `)72 216 R
-2.13(`host!user ')-.74 F 2.769('w)-.74 G .269(orks from any machine)410.713
216 R .566(with a direct link to `)72 228 R(`host')-.74 E .565(', and you have\
to route your mail through the network to \214nd such a machine.)-.74 F .451
(In fact, the `)72 240 R(`user@host')-.74 E 2.951('s)-.74 G .452(yntax has bec\
ome so popular that many sites run mail software that accepts this)180.114 240
R .502(syntax, looks up `)72 252 R(`host')-.74 E 3.002('i)-.74 G 3.002(nat)
175.578 252 S .501(able, and sends it to the appropriate network for `)193.802
252 R(`host')-.74 E 3.001('. This)-.74 F .501(is a very nice)3.001 F .693
(user interface, but it only works well in a small network.)72 264 R .693
(Once the set of allowed hosts grows past about)5.693 F
(1000 hosts, you run into all sorts of administrative problems.)72 276 Q .357(\
One problem is that it becomes nearly impossible to keep a table of host names\
up to date.)72 294 R .356(New machines)5.356 F 1.123
(are being added somewhere in the world every day)72 306 R 3.623(,a)-.65 G
1.123(nd nobody tells you about them.)294.727 306 R 1.124(When you try to)6.124
F .951(send mail to a host that isn')72 318 R 3.451(ti)-.18 G 3.451(ny)196.537
318 S .951
(our table \(replying to mail you just got from a new host\), your mailing)
209.988 318 R 1.057(software might try to route it to a smarter machine, but w\
ithout knowing which network to send it to, it)72 330 R(can')72 342 Q 2.78(tg)
-.18 G .28(uess which smarter machine to forward to.)99.59 342 R .28
(Another problem is name space collision - there is noth-)5.28 F 1.293(ing to \
prevent a host on one network from choosing the same name as a host on another\
network.)72 354 R(For)6.293 E .944(example, DEC')72 366 R 3.444(sE)-.55 G .944
(NET has a `)148.048 366 R(`vortex')-.74 E 3.444('m)-.74 G .944
(achine, there is also one on UUCP)244.204 366 R 5.943(.B)-1.11 G .943
(oth had their names long)401.348 366 R .13
(before the two networks could talk to each other)72 378 R 2.63(,a)-.4 G .131
(nd neither had to ask the other network for permission to)275.5 378 R 1.268
(use the name.)72 390 R 1.268(The problem is compounded when you consider how \
many computer centers name their)6.268 F(machines `)72 402 Q(`A)-.74 E -.74('')
-1.11 G 2.5(,`).74 G(`B')137.81 402 Q(', `)-.74 E(`C')-.74 E(', and so on.)-.74
E 1.123(In recognition of this problem, ARP)72 420 R 3.623(Ah)-.92 G 1.123
(as established a new way to name computers based on domains.)236.978 420 R
1.423(The ARP)72 432 R 1.423(ANET is pioneering the domain convention, and man\
y other computer networks are falling in)-.92 F .575(line, since it is the \
\214rst naming convention that looks like it really stands a chance of working\
.)72 444 R .576(The MIL-)5.576 F .626(NET portion of ARP)72 456 R .626
(ANET has a domain, CSNET has one, and it appears that Digital, A)-.92 F(T&T)
-1.11 E 3.125(,a)-.74 G .625(nd UUCP)464.205 456 R .661
(will be using domains as well.)72 468 R .661
(Domains look a lot like postal addresses, with a simple syntax that \214ts on)
5.661 F .876(one line, is easy to type, and is easy for computers to handle.)72
480 R 2.276 -.7(To i)5.876 H .875(llustrate, an old routed UUCP address).7 F
7.093(might read `)72 492 R(`sdcsvax!ucbvax!allegra!cbosgd!mark')-.74 E 9.593
('. The)-.74 F 7.094(domain version of this might read)9.593 F -.74(``)72 504 S
(mark@d.osg.cb.att.uucp').74 E 4.443('. The)-.74 F 1.942
(machine is named d.osg.cb.att.uucp \(UUCP domain, A)4.443 F 1.942(T&T company)
-1.11 F(,)-.65 E 1.183
(Columbus site, Operating System Group project, fourth machine.\))72 516 R
1.183(Of course, this example is somewhat)6.183 F .877(verbose and contrived; \
it illustrates the heirarchy well, but most people would rather type something\
like)72 528 R -.74(``)72 540 S(cbosgd.att.uucp').74 E 2.791('o)-.74 G 2.791
(re)154.401 540 S .292(ven `)164.962 540 R(`cbosgd.uucp')-.74 E .292
(', and actual domains are usually set up so that you don')-.74 F 2.792(th)-.18
G .292(ave to)479.548 540 R(type very much.)72 552 Q -1(Yo)72 570 S 5.307(um)1
G 2.806(ay wonder why the single @ sign is present, that is, why the above add\
ress does not read)101.307 570 R -.74(``)72 582 S(mark.d.osg.cb.att.uucp').74 E
3.736('. In)-.74 F 1.236
(fact, it was originally proposed in this form, and some of the examples in)
3.736 F .961(RFC819 do not contain an @ sign.)72 594 R .961
(The @ sign is present because some ARP)5.961 F .961
(ANET sites felt the strong)-.92 F .317(need for a divider between the domain,\
which names one or more computers, and the left hand side, which)72 606 R 1.73
(is subject to whatever interpretation the domain chooses.)72 618 R 1.729
(For example, if the A)6.729 F 1.729(TT domain chooses to)-1.11 F .185
(address people by full name rather than by their login, an address like `)72
630 R(`Mark.Horton@A)-.74 E(TT)-1.11 E(.UUCP')-.74 E 2.685('m)-.74 G(akes)
486.23 630 Q .16(it clear that some machine in the A)72 642 R .159
(TT domain should interpret the string `)-1.11 F(`Mark.Horton')-.74 E .159
(', but if the address)-.74 F 2.657(were `)72 654 R(`Mark.Horton.A)-.74 E(TT)
-1.11 E(.UUCP')-.74 E 2.657
(', routing software might try to \214nd a machine named `)-.74 F(`Horton')-.74
E 5.158('o)-.74 G(r)500.67 654 Q -.74(``)72 666 S(Mark.Horton').74 E 2.613
('. \(By)-.74 F .113(the way)2.613 F 2.613(,c)-.65 G .113
(ase is ignored in domains, so that `)201.952 666 R(`A)-.74 E(TT)-1.11 E
(.UUCP')-.74 E 2.612('i)-.74 G 2.612(st)402.282 666 S .112(he same as `)411.564
666 R(`att.uucp')-.74 E('.)-.74 E 1.58 -.7(To t)72 678 T .181
(he left of the @ sign, however).7 F 2.681(,ad)-.4 G .181
(omain can interpret the text any way it wants; case can be ignored or)226.987
678 R(it can be signi\214cant.\))72 690 Q 1.202(It is important to note that)72
708 R/F1 10/Times-Bold@0 SF 1.202(domains ar)3.702 F 3.702(en)-.18 G 1.202
(ot r)248.666 708 R(outes)-.18 E F0 6.202(.S)C 1.202
(ome people look at the number of !')301.44 708 R 3.702(si)-.55 G 3.702(nt)
463.816 708 S 1.202(he \214rst)475.298 708 R .679(example and the number of .')
72 720 R 3.179(si)-.55 G 3.179(nt)202.444 720 S .68
(he second, and assume the latter is being routed from a machine called)213.403
720 R -.74(``)72 732 S(uucp').74 E 2.548('t)-.74 G 2.548(oa)108.608 732 S .048
(nother called `)120.596 732 R(`att')-.74 E 2.548('t)-.74 G 2.548(oa)202.29 732
S .048(nother called `)214.278 732 R(`cb')-.74 E 2.548('a)-.74 G .048
(nd so on.)297.072 732 R .048(While it is possible to set up mail routing)5.048
F .547(software to do this, and indeed in the worst case, even without a reaso\
nable set of tables, this method will)72 744 R EP
%%Page: 3 3
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF .077(always work, the intent is that `)72 96 R
(`d.osg.cb.att.uucp')-.74 E 2.577('i)-.74 G 2.577(st)279.919 96 S .077
(he name of a machine, not a path to get there.)289.166 96 R .077(In par)5.077
F(-)-.2 E(ticular)72 108 Q 2.534(,d)-.4 G .035(omains are absolute addresses, \
while routes depend on the location of the sender)107.184 108 R 5.035(.S)-.55 G
.035(ome subroutine)442.025 108 R 1.067(is char)72 120 R 1.067(ged with \214gu\
ring out, given a domain based machine name, what to do with it.)-.18 F 1.066
(In a high quality)6.067 F .148(environment like the ARP)72 132 R 2.648(AI)-.92
G .148(nternet, it can query a table or a name server)189.442 132 R 2.648(,c)
-.4 G .148(ome up with a 32 bit host num-)377.682 132 R(ber)72 144 Q 2.555(,a)
-.4 G .055(nd connect you directly to that machine.)93.865 144 R .055
(In the UUCP environment, we don')5.055 F 2.555(th)-.18 G .055
(ave the concept of two)413.25 144 R .785
(processes on arbitrary machines talking directly)72 156 R 3.286(,s)-.65 G
3.286(ow)276.302 156 S 3.286(ef)291.808 156 S .786
(orward mail one hop at a time until it gets to the)302.864 156 R .096
(appropriate destination.)72 168 R .096(In this case, the subroutine decides i\
f the name represents the local machine, and if)5.096 F
(not, decides which of its neighbors to forward the message to.)72 180 Q/F1 10
/Times-Italic@0 SF 2.5(2. What)72 204 R(is a Domain?)2.5 E F0 .084
(So, after all this background, we still haven')72 222 R 2.584(ts)-.18 G .084
(aid what a domain is.)258.582 222 R .085(The answer \(I hope it')5.085 F 2.585
(sb)-.55 G .085(een worth the)449.4 222 R .439
(wait\) is that a domain is a subtree of the world tree.)72 234 R .439
(For example, `)5.439 F(`uucp')-.74 E 2.939('i)-.74 G 2.939(sat)380.937 234 S
.439(op level domain \(that is, a)397.925 234 R .127(subtree of the `)72 246 R
(`root')-.74 E .127
('.\) and represents all names and machines beneath it in the tree.)-.74 F -.74
(``)5.128 G(att.uucp').74 E 2.628('i)-.74 G 2.628(sas)463.194 246 S(ubdo-)
480.67 246 Q .04(main of `)72 258 R(`uucp')-.74 E .04
(', representing all names, machines, and subdomains beneath `)-.74 F(`att')
-.74 E 2.54('i)-.74 G 2.54(nt)407.74 258 S .04(he tree.)418.06 258 R .04
(Similarly for)5.04 F -.74(``)72 270 S(cb.att.uucp').74 E .812(', `)-.74 F
(`osg.cb.att.uucp')-.74 E .812(', and even `)-.74 F(`d.osg.cb.att.uucp')-.74 E
3.312('\()-.74 G .812(although `)337.65 270 R(`d.osg.cb.att.uucp')-.74 E 3.312
('i)-.74 G 3.313(sa`)461.664 270 S -1.95(`leaf ')479.21 270 R(')-.74 E
(domain, representing only the one machine\).)72 282 Q 2.664(Ad)72 300 S .164
(omain has certain properties.)86.884 300 R .164
(The key property is that it has a `)5.164 F(`registry')-.74 E 2.663('. That)
-.74 F .163(is, the domain has a list)2.663 F .429(of the names of all immedia\
te subdomains, plus information about how to get to each one.)72 312 R .43
(There is also a)5.43 F .601(contact person for the domain.)72 324 R .601
(This person is responsible for the domain, keeping the registry up-to-date,)
5.601 F .007(serving as a point of contact for outside queries, and setting po\
licy requirements for subdomains.)72 336 R .008(Each sub-)5.008 F .839(domain \
can decide who it will allow to have subdomains, and establish requirements th\
at all subdomains)72 348 R .062(must meet to be included in the registry)72 360
R 5.062(.F)-.65 G .062(or example, the `)243.506 360 R(`cb')-.74 E 2.562('d)
-.74 G .063(omain might require all subdomains to be)336.964 360 R
(physically located in the A)72 372 Q(T&T building in Columbus.)-1.11 E(ARP)72
390 Q 3.564(Ah)-.92 G 1.064
(as established certain requirements for top level domains.)106.314 390 R 1.064
(These requirements specify that there)6.064 F .371(must be a list of all subd\
omains and contact persons for them, a responsible person who is an authority \
for)72 402 R .685(the domain \(so that if some site does something bad, it can\
be made to stop\), a minimum size \(to prevent)72 414 R 1.051(small domains f\
rom being top level\), and a pair of nameservers \(for redundancy\) to provide\
a directory-)72 426 R .367(assistance facility)72 438 R 5.367(.D)-.65 G .367(\
omains can be more lax about the requirements they place on their subdomains, \
mak-)157.624 438 R .139
(ing it harder to be a top level domain than somewhere lower in the tree.)72
450 R .139(Of course, if you are a subdomain,)5.139 F
(your parent is responsible for you.)72 462 Q 1.005
(One requirement that is NOT present is for unique parents.)72 480 R 1.004
(That is, a machine \(or an entire subdomain\))6.005 F .724
(need not appear in only one place in the tree.)72 492 R .725(Thus, `)5.724 F
(`cb')-.74 E 3.225('m)-.74 G .725(ight appear both in the `)321.65 492 R(`att')
-.74 E 3.225('d)-.74 G .725(omain, and in)447.83 492 R 1.253(the `)72 504 R
(`ohio')-.74 E 3.753('d)-.74 G 3.753(omain. This)126.346 504 R 1.253(allows do\
mains to be structured more \215exibly than just the simple geography)3.753 F
.297(used by the postal service and the telephone company; or)72 516 R .298
(ganizations or topography can be used in parallel.)-.18 F(\(Actually)72 528 Q
2.761(,t)-.65 G .261(here are a few instances where this is done in the postal\
service [overseas military mail] and the)117.161 528 R .528(telephone system \
[pre\214xes can appear in more than one area code, e.g. near W)72 540 R .529
(ashington D.C., and Silicon)-.8 F -1.11(Va)72 552 S 4.068(lley].\) It)1.11 F
1.567(also allows domains to split or join up, while remaining upward compatib\
le with their old)4.068 F(addresses.)72 564 Q 1.958
(Do all domains represent speci\214c machines?)72 582 R 1.958(Not necessarily)
6.958 F 6.958(.I)-.65 G(t')342.794 582 Q 4.458(sp)-.55 G 1.958
(retty obvious that a full path like)361.702 582 R -.74(``)72 594 S
(d.cbosg.att.uucp').74 E 3.546('r)-.74 G 1.046(efers to exactly one machine.)
155.986 594 R 1.046(The OSG domain might decide that `)6.046 F
(`cbosg.att.uucp')-.74 E(')-.74 E .385
(represents a particular gateway machine.)72 606 R .385
(Or it might decide that it represents a set of machines, several of)5.385 F
1.763(which might be gateways.)72 618 R 1.763(The `)6.763 F(`att.uucp')-.74 E
4.263('d)-.74 G 1.762(omain might decide that several machines, `)261.338 618 R
(`ihnp4.uucp')-.74 E(',)-.74 E -.74(``)72 630 S(whgwj.uucp').74 E .482
(', and `)-.74 F(`hogtw)-.74 E(.uucp')-.65 E 2.982('a)-.74 G .482
(re all entry points into `)221.456 630 R(`att.uucp')-.74 E 2.983('. Or)-.74 F
.483(it might decide that it just rep-)2.983 F .045
(resents a spot in the name space, not a machine.)72 642 R .044
(For example, there is no machine corresponding to `)5.044 F(`arpa')-.74 E(')
-.74 E .336(or `)72 654 R(`uucp')-.74 E .336(', or to the root.)-.74 F .337
(Each domain decides for itself.)5.336 F .337
(The naming space and the algorithm for getting)5.337 F .977(mail from one mac\
hine to another are not closely linked - routing is up to the mail system to \
\214gure out,)72 666 R(with or without help from the structure of the names.)72
678 Q .286(The domain syntax does allow explicit routes, in case you want to e\
xercise a particular route or some gate-)72 696 R 9.168(way is balking.)72 708
R 9.167(The syntax is `)165.334 708 R(`@dom)-.74 E(1)281.576 713 Q(,@dom)
286.576 708 Q(2)316.066 713 Q(,...,@dom)321.066 708 Q(n)360.556 713 Q
(:user@domain')365.556 708 Q 9.167(', for example,)-.74 F(@ihnp4.UUCP)72 720 Q
(,@ucbvax.UUCP)-1.11 E(,:joe@NIC.ARP)-1.11 E .946
(A, forcing it to be routed through dom)-.92 F(1)425.602 725 Q 3.446(,d)430.602
720 S(om)441.548 720 Q(2)454.328 725 Q 3.446(,.)459.328 720 S .946(.., dom)
467.774 720 R(n)496.5 725 Q(,)501.5 720 Q .406
(and from domn sent to the \214nal address.)72 732 R .406
(This behaves exactly like the UUCP ! routing syntax, although it)5.406 F
(is somewhat more verbose.)72 744 Q EP
%%Page: 4 4
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 2.218(By the way)72 96 R 4.718(,y)-.65 G 2.219(ou've n\
o doubt noticed that some forms of electronic addresses read from left-to-righ\
t)133.554 96 R .545
(\(cbosgd!mark\), others read from right-to-left \(mark@Berkeley\).)72 108 R
.545(Which is better?)5.545 F .544(The real answer here is)5.544 F .891
(that it')72 120 R 3.391(sar)-.55 G .891(eligious issue, and it doesn')117.173
120 R 3.391(tm)-.18 G .891(ake much dif)245.338 120 R 3.391
(ference. left-to-right)-.18 F .891(is probably a bit easier for a)3.391 F
1.413(computer to deal with because it can understand something on the left an\
d ignore the remainder of the)72 132 R 2.507(address. \(While)72 144 R(it')
2.507 E 2.507(sa)-.55 G .008(lmost as easy for the program to read from right-\
to-left, the ease of going from left-to-)158.951 144 R(right was probably in t\
he backs of the minds of the designers who invented host:user and host!user)72
156 Q(.\))-.55 E .779(On the other hand, I claim that user@host is easier for \
humans to read, since people tend to start reading)72 174 R .811(from the left\
and quit as soon as they recognize the login name of the person.)72 186 R .812
(Also, a mail program that)5.812 F 1.53
(prints a table of headers may have to truncate the sender)72 198 R 2.629 -.55
('s a).37 H 1.529(ddress to make it \214t in a \214xed number of).55 F
(columns, and it')72 210 Q 2.5(sp)-.55 G(robably more useful to read `)147.56
210 Q(`mark@d.osg.a')-.74 E 2.5('t)-.74 G(han `)335.8 210 Q(`ucbvax!sdcsv')-.74
E('.)-.74 E .841(These are pretty minor issues, after all, humans can adapt to\
skip to the end of an address, and programs)72 228 R .393
(can truncate on the left.)72 240 R .392(But the real problem is that if the w\
orld contains BOTH left-to-right and right-to-)5.392 F .82
(left syntax, you have ambiguous addresses like x!y@z to consider)72 252 R 5.82
(.T)-.55 G .82(his single problem turns out to be a)357.43 252 R(killer)72 264
Q 2.5(,a)-.4 G
(nd is the best single reason to try to stamp out one in favor of the other)
102.15 264 Q(.)-.55 E/F1 10/Times-Italic@0 SF 2.5(3. So)72 288 R(why ar)2.5 E
2.5(ew)-.37 G 2.5(ed)137.74 288 S(oing this, anyway?)149.68 288 Q F0 .938
(The current world is full of lots of interesting kinds of mail syntax.)72 306
R .938(The old ARP)5.938 F 3.437(A`)-.92 G(`user@host')423.656 306 Q 3.437('i)
-.74 G 3.437(ss)481.663 306 S(till)492.88 306 Q 1.156(used on the ARP)72 318 R
1.156(ANET by many systems.)-.92 F 1.156
(Explicit routing can sometimes by done with an address like)6.156 F -.74(``)72
330 S(user@host2@host1').74 E 3.856('w)-.74 G 1.356
(hich sends the mail to host1 and lets host1 interpret `)173.336 330 R
(`user@host2')-.74 E 3.855('. Addresses)-.74 F .704
(with more than one @ were made illegal a few years ago, but many ARP)72 342 R
.704(ANET hosts depended on them,)-.92 F 1.899
(and the syntax is still being used.)72 354 R 1.899(UUCP uses `)6.899 F -2.13
(`h1!h2!h3!user ')-.74 F 1.898(', requiring the user to route the mail.)-.74 F
(Berknets use `)72 366 Q -2.13(`host:user ')-.74 F 2.5('a)-.74 G
(nd do not allow explicit routing.)181.14 366 Q 4.804 -.7(To g)72 384 T 3.404
(et mail from one host to another).7 F 5.904(,i)-.4 G 5.904(th)252.842 384 S
3.404(ad to be routed through gateways.)266.526 384 R 3.405(Thus, the address)
8.404 F -.74(``)72 396 S(csvax:mark@Berkeley').74 E 2.744('f)-.74 G .244
(rom the ARP)181.324 396 R .244(ANET would send the mail to Berkeley)-.92 F
2.743(,w)-.65 G .243(hich would forward it to)405.818 396 R 2.948
(the Berknet address csvax:mark.)72 408 R 4.348 -.7(To s)7.948 H 2.949
(end mail to the ARP).7 F 2.949(ANET from UUCP)-.92 F 5.449(,a)-1.11 G 5.449
(na)426.003 408 S 2.949(ddress such as)440.892 408 R -.74(``)72 420 S
(ihnp4!ucbvax!sam@foo-unix').74 E 7.46('w)-.74 G 4.96
(ould route it through ihnp4 to ucbvax, which would interpret)216.6 420 R -.74
(``)72 432 S(sam@foo-unix').74 E 4.422('a)-.74 G 4.422(sa)152.462 432 S 4.422
(nA)165.214 432 S(RP)181.856 432 Q 1.922(ANET address and pass it along.)-.92 F
1.923(When the Berknet-UUCP gateway and)6.922 F(Berknet-ARP)72 444 Q 16.197
(ANET gateway were on dif)-.92 F 16.196(ferent machines, addresses such as)-.18
F -.74(``)72 456 S(csvax:ihnp4!ihnss!warren@Berkeley').74 E 2.5('w)-.74 G
(ere common.)242.18 456 Q .986(As you can see, the combination of left-to-righ\
t UUCP syntax and right-to-left ARP)72 474 R .986(ANET syntax makes)-.92 F
1.681(things pretty complex.)72 486 R 1.681(Berknets are gone now)6.681 F 4.181
(,b)-.65 G 1.68(ut there are lots of gateways between UUCP and the)279.757 486
R(ARP)72 498 Q 1.301(ANET and ARP)-.92 F(ANET)-.92 E 1.301
(-like mail networks.)-.92 F 1.301
(Sending mail to an address for which you only know a)6.301 F 5.618
(path from the ARP)72 510 R 5.618
(ANET onto UUCP is even harder \255 suppose the address you have is)-.92 F
(ihnp4!ihnss!warren@Berkeley)72 522 Q 3.51(,a)-.65 G 1.011
(nd you are on host rlgvax which uses seismo as an ARP)204.87 522 R 1.011
(ANET gateway)-.92 F(.)-.65 E -1(Yo)72 534 S 3.535(um)1 G 1.035
(ust send to seismo!ihnp4!ihnss!warren@Berkeley)99.535 534 R 3.535(,w)-.65 G
1.035(hich is not only pretty hard to read, but when)314.705 534 R 1.43
(the recipient tries to reply)72 546 R 3.93(,i)-.65 G 3.93(tw)189.04 546 S 1.43
(ill have no idea where the break in the address between the two UUCP)202.97
546 R .608(pieces occurs.)72 558 R .608(An ARP)5.608 F .608
(ANET site routing across the UUCP world to somebody')-.92 F 3.108(sE)-.55 G
.607(thernet using domains)414.456 558 R 2.224
(locally will have to send an address something like `)72 570 R(`xxx@Berkeley)
-.74 E(.ARP)-.65 E -1.02 -1.11(A' ')-.92 H 2.225(to get it to UUCP)5.835 F
4.725(,t)-1.11 G(hen)489.56 570 Q -.74(``)72 582 S(ihnp4!decvax!island!yyy').74
E 4.039('t)-.74 G 4.039(og)190.639 582 S 1.539
(et it to the other ethernet, then `)204.678 582 R(`sam@csvax.ISLAND')-.74 E
4.038('t)-.74 G 4.038(og)444.116 582 S 1.538(et it across)458.154 582 R 31.285
(their ethernet.)72 594 R 31.286(The single address would therefore be)195.11
594 R(ihnp4!decvax!island!sam@csvax.ISLAND@Berkeley)72 606 Q(.ARP)-.65 E 2.801
(A, which is too much to ask any person or)-.92 F 5.863(mailer to understand.)
72 618 R(It')179.299 618 Q 8.363(se)-.55 G 5.863
(ven worse: gateways have to deal with ambiguous names like)204.882 618 R
(ihnp4!mark@Berkeley)72 630 Q 4.833(,w)-.65 G 2.333
(hich can be parsed either `)177.873 630 R(`\(ihnp4!mark\)@Berkeley')-.74 E
4.833('i)-.74 G 4.833(na)409.531 630 S 2.333(ccordance with the)423.804 630 R
(ARP)72 642 Q(ANET conventions, or `)-.92 E(`ihnp4!\(mark@Berkeley\)')-.74 E
2.5('a)-.74 G 2.5(st)301.26 642 S(he old UUCP would.)310.43 642 Q .415(Another\
very important reason for using domains is that your mailing address becomes \
absolute instead of)72 660 R 3.03(relative. It)72 672 R .53(becomes possible t\
o put your electronic address on your business card or in your signature \214l\
e)3.03 F .185(without worrying about writing six dif)72 684 R .185
(ferent forms and \214fteen hosts that know how to get to yours.)-.18 F .185
(It dras-)5.185 F .468(tically simpli\214es the job of the reply command in yo\
ur mail program, and automatic reply code in the net-)72 696 R(news software.)
72 708 Q EP
%%Page: 5 5
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Italic@0 SF 2.5(4. Further)72 96 R(Information)2.5 E/F1 10
/Times-Roman@0 SF .794(For further information, some of the basic ARP)72 114 R
.794(ANET reference documents are in order)-.92 F 5.794(.T)-.55 G .794
(hese can often)445.212 114 R .65
(be found posted to Usenet, or available nearby)72 126 R 5.65(.T)-.65 G .65
(hey are all available on the ARP)276.23 126 R .65(ANET on host NIC via)-.92 F
.371(FTP with login ANONYMOUS, if you have an ARP)72 138 R .371(ANET login.)
-.92 F .371(They can also be ordered from the Net-)5.371 F
(work Information Center)72 150 Q 2.5(,S)-.4 G
(RI International, Menlo Park, California, 94025.)182.14 150 Q 2.5(RFC819 The)
72 168 R(Domain Naming Convention for Internet User Applications)2.5 E 2.5
(RFC821 Simple)72 180 R(Mail T)2.5 E(ransfer Protocol)-.35 E 2.5
(RFC822 Standard)72 192 R(for the Format of ARP)2.5 E(ANET T)-.92 E
(ext Messages)-.7 E 2.5(RFC881 The)72 204 R(Domain Names Plan and Schedule)2.5
E(#)72 222 Q 2.5(#@)72 234 S 29.07(\(#\)domain.mm 2.1)88.71 234 R
(smail 12/14/86)2.5 E(#)72 246 Q EP
%%Trailer
end
%%EOF
|