-
Notifications
You must be signed in to change notification settings - Fork 0
/
RFC1034_part1.txt
458 lines (404 loc) · 29.3 KB
/
RFC1034_part1.txt
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
Network Working Group P. Mockapetris
Request for Comments: 1034 ISI
Obsoletes: RFCs 882, 883, 973 November 1987
DOMAIN NAMES - CONCEPTS AND FACILITIES
1. STATUS OF THIS MEMO
This RFC is an introduction to the Domain Name System (DNS), and omits
many details which can be found in a companion RFC, "Domain Names -
Implementation(実装) and Specification" [RFC-1035]. That RFC assumes that the
reader is familiar with the concepts discussed in this memo.
DNSのイントロダクション
細かいことはRFC1035
RFC1035はRFC1034を前提としている
> コミュニティで色々議論されている前提
A subset of DNS functions and data types constitute(構成する) an official
protocol. The official protocol includes standard queries and their
responses and most of the Internet class data formats (e.g., host
addresses).
DNS機能とデータ・タイプが公式なプロトコル
標準クエリとそのレスポンス、インターネットクラスデータ・フォーマットの殆どがこのプロトコルに含まれる
However, the domain system is intentionally(意図的に) extensible. Researchers are
continuously proposing(提案), implementing(実装) and experimenting with new data
types, query types, classes, functions, etc. Thus(このように) while the components
of the official protocol are expected to stay essentially(本質的に) unchanged and
operate as a production service, experimental behavior should always be
expected in extensions beyond the official protocol. Experimental or
obsolete features are clearly marked in these RFCs, and such information
should be used with caution.
ドメインシステムは意図的に拡張可
プロトコルは本質的に変わらないことを望まれているが、研究者たちが新しい拡張を研究しているので、
実験的、廃止された機能はここのRFCで記載するので、気をつけて
The reader is especially cautioned not to depend on the values which
appear in examples to be current or complete(正しい), since their purpose is
primarily(主に) pedagogical.(教育学的な) Distribution of this memo is unlimited.
例示の値はあくまで例。本気にするな
2. INTRODUCTION
This RFC introduces domain style names, their use for Internet mail and
host address support, and the protocols and servers used to implement(実装)
domain name facilities.
[domain style names]?
[host address] http://www.itbook.info/study/p54.html
[address class] http://www.itbook.info/study/p55.html
2.1. The history of domain names
The impetus(勢い) for the development of the domain system was growth in the
Internet:
- Host name to address mappings were maintained by the Network
Information Center (NIC) in a single file (HOSTS.TXT) which
was FTPed by all hosts [RFC-952, RFC-953]. The total network
bandwidth consumed in distributing a new version by this
scheme is proportional to(比例して) the square(の二乗) of the number of hosts in
the network, and even when multiple levels of FTP are used,
the outgoing FTP load on the NIC host is considerable(無視できない).
Explosive growth in the number of hosts didn't bode well(良い兆候でない) for
the future.
FTPでhosts.txtを交換していた時代のインターネット
つらたん -> DNSしようぜ
> The NICという組織があった
> 階層的にFTPもやっていた。mirrorサイトみたいなかんじ?
- The network population(人口) was also changing in character.(性格) The
timeshared hosts that made up the original ARPANET were being
replaced with local networks of workstations. Local
organizations were administering their own names and
addresses, but had to wait for the NIC to change HOSTS.TXT to
make changes visible to the Internet at large. Organizations
also wanted some local structure on the name space.
タイムシェアリングなホストからローカルなワークステーションへ
新しく立てたホストは、hostsの更新を待たなきゃインターネットから見えなかった
ローカルでのネームスペース機構がほしい
> population 人口ってより台
> TSS time sharing system
> the Internet at large インターネット全体
- The applications on the Internet were getting more
sophisticated(洗練された) and creating a need for general purpose name
service.
> general purpose name service. それぞれの仕様のアプリケーションじゃなくて、一般的なDNSが期待された
The result was several ideas about name spaces and their management
[IEN-116, RFC-799, RFC-819, RFC-830]. The proposals(提案) varied(多様), but a
common thread was the idea of a hierarchical(階層制の) name space, with the
hierarchy(階層的で) roughly(概略的で) corresponding to(に対応する) organizational structure, and names
using "." as the character(文字) to mark the boundary(境界) between hierarchy
levels.(階層レベル) A design using a distributed database(分散データベース) and generalized resources
was described in [RFC-882, RFC-883]. Based on experience with several
implementations(実行), the system evolved into(に発展する) the scheme described in this
memo.
> hosts.txt ローカルなものもあったけど、他の組織から見えるためにTheNICが管理した
> ドットが組織の区分(だいたい)
> the system ex. BIND
The terms(言葉、用語) "domain" or "domain name" are used in many contexts beyond the
DNS described here. Very often, the term domain name is used to refer
to a name with structure indicated by dots, but no relation to the DNS.
This is particularly true in mail addressing [Quarterman 86].
ドメイン / ドメイン名 いろんな文脈で使われる
ドメイン名は、DNSに関係なくドットで区切られた名前構造を呼ぶときに使われます。
> 名前空間はドットで区切られる
> DNSはドットでは区切られない .jp /.co.jpみたいに?ちょっとちがうかも
2.2. DNS design goals
The design goals of the DNS influence(に影響を及ぼす) its structure. They are:
- The primary goal is a consistent(首尾一貫した) name space which will be used
for referring to resources. In order to avoid the problems
caused by ad hoc(特定の目的のための) encodings, names should not be required to
contain network identifiers, addresses, routes, or similar
information as part of the name.
一環とした名前空間のルールの策定がゴール
余計な問題を起こさないため名前にはアドホックなエンコーディングは避けるべき
> resorceをreferするために
> http://www.netcat.jp/netcat.jp-web/Book/%25E3%2582%25A4%25E3%2583%25B3%25E3%2582%25BF%25E3%2583%25BC%25E3%2583%258D%25E3%2583%2583%25E3%2583%2588%25E3%2581%25AE%25E9%259B%25BB%25E5%25AD%2590%25E3%2583%25A1%25E3%2583%25BC%25E3%2583%25AB%25EF%25BC%2588%25EF%25BC%2591%25EF%25BC%2589.html
>UUCPでは メールアドレスに経路情報が入っていた、DNSではこんなのやりたくない!ということ
> "ad hoc encodings" の Encoding ですが、メール配送のようなラベルわけって意味だと。
- The sheer(薄い) size of the database and frequency of updates
suggest that it must be(べき) maintained in a distributed manner(方法),
with local caching to improve performance. Approaches [that
attempt to collect a consistent copy of the entire database]
will become more and more expensive(コストが掛かる) and difficult, and hence(今後)
should be avoided(避けるべき). The same principle(原理) holds for the structure
of the name space, and in particular(特有の) mechanisms(メカニズム) for creating
and deleting names; these should also be distributed.
少ないデータ・頻繁なアップデートは分散管理すべき件。ローカルキャッシュがパフォーマンスを上げる
名前を作成・削除する特有のメカニズムを持つ名前空間の構造も同様に分散管理すべき
- Where there tradeoffs between the cost of acquiring data, the
speed of updates, and the accuracy(正確さ) of caches, the source of
the data should control the tradeoff.
トレードオフ {データ取得コスト アップデートスピード キャッシュの正確さ}
データの元がトレードオフをコントロールすべき
> acquiring data ≒ 通信コスト
> 時々しかデータを取りに行かないと アップデートのスピード
> 時々しかデータを取りに行かないとキャッシュの正確さが犠牲になる
> TTL, SOAとかでソース元がコントロールする
> このころは権威/キャッシュ共用
- The costs of implementing(実装) such a facility dictate(規定する、要求する) that it be
generally useful, and not restricted to a single application.
We should be able to use names to retrieve(回収する) host addresses,
mailbox data, and other as yet undetermined information. All
data associated with a name is tagged with a type, and queries
can be limited to a single type.
ホストアドレス、メールデータなどなどを得るために名前を使うべき
名前のデータにはtypeをタグ付けし、クエリは一つのtypeに絞るべき
> まだ見ぬソフトを想定しておかなくちゃならない
> 名前にいろんな情報が紐付けられる
- Because we want the name space to be useful in dissimilar
networks and applications, we provide the ability(技能) to use the
same name space with different protocol families or
management. For example, host address formats differ between
protocols, though all protocols have the notion of address.
The DNS tags all data with a class as well as the type, so
that we can allow parallel use of different formats for data
of type address.
ホストアドレスのように、異なるネットワークやアプリケーションにでも有用な名前空間にしたい
DNSは全てのデータに「type」と同様に「class」をつける
これによってtypeアドレスのデータに異なる形式が利用可能となる
> A / AAAA type分けじゃなくてclass分けでもよかった
> ex. IN A "ipv4 addr" / IN6 A "ipv6 addr"
- We want name server transactions to be independent of the
communications system that carries them. Some systems may
wish to use datagrams for queries and responses, and only
establish virtual circuits for transactions that need the
reliability(信頼度) (e.g., database updates, long transactions); other
systems will use virtual circuits exclusively( もっぱら).
ネームサーバーのトランザクションはそれを運ぶ通信システムから独立してほしい
クエリとレスポンスにはデータグラムを使用していることが望ましい
データベースアップデートや長いトランザクションなどの
信頼性が必要なトランザクションのみにヴァーチャルサーキットが確立する
他のシステムはヴァーチャルサーキットをもっぱら使用するだろう
> datagrams -> UDP
> virtual ciruit -> TCP
- The system should be useful across a wide spectrum(連続体、範囲) of host
capabilities(能力、性能). Both personal computers and large timeshared
hosts should be able to use the system, though perhaps in
different ways.
DNSはどんなマシンであろうと、たとえ方法が違ったとしても広く使われるようすべき
> spectrum:虹色の
> 当初はいろんなシステムが並列で
2.3. Assumptions(仮定、前提) about usage
The organization(構成) of the domain system derives(引き出す) from some assumptions(仮定)
about the needs and usage patterns of its user community and (The organization of the domain system) is designed
to avoid many of the the complicated(複雑な) problems found in general purpose
database systems.
> DNSを使う人を仮定してみる
The assumptions are:
- The size of the total database will initially be proportional
to(に比例する) the number of hosts using the system, but will eventually(結局は)
grow to be proportional to the number of users on those hosts
as mailboxes and other information are added to the domain
system.
databaseサイズは、最初は使うシステムのホスト数に比例するが
結局、メール情報などをドメインシステムに足すのでユーザー数に比例するようになる
- Most of the data in the system will change very slowly (e.g.,
mailbox bindings, host addresses), but that the system should
be able to deal with subsets that change more rapidly (on the
order of seconds or minutes).
システムのデータのほとんどがゆっくり変わっていくが、(hosts.txtを使っいる現状はってこと?)
もっと早く変更できるサブセットを扱えるようになるべきである
> データはそんなにころころかわるものではない、でも早く変わる可能性も
- The administrative(管理の) boundaries [used to distribute(分配する)
responsibility(責任) for the database] will usually(普段は) correspond to(に一致する)
organizations that have one or more hosts. Each organization
[that has responsibility for a particular(特定の) set of domains] will
provide redundant(冗長な) name servers, either(のどちらか) on the organization's
own hosts or other hosts that the organization arranges to
use.
- Clients [of the domain system] should be able to identify
trusted name servers they prefer to use before accepting
referrals to name servers outside of this "trusted" set.
クライアントは信頼できるネームサーバーを識別できるようにしておくべき
クライアントは信頼できるネームサーバーを、信頼外のネームサーバーへの参照を受け入れる前に使われるのが好まれる
> referrals=あっちを参照してね
> trusted set=rootサーバーからの信頼の木
> client=resolver
> 誰に聞いたら信頼のある答えをもらえるか。キャッシュ/権威 同時はどっちも
> 権威の移譲につながっていく話、この時点では抽象的なはなし あくまで仮定
- Access to information is more critical than instantaneous(即時の)
updates or guarantees of consistency(一貫性). Hence(今後は) the update
process allows updates to percolate(浸透する) out through the users of
the domain system rather than guaranteeing that all copies are
simultaneously(同時に) updated. When updates are unavailable due to
network or host failure, the usual course is to believe old
information while continuing efforts to update it. The
general model is that copies are distributed(配布する) with timeouts for
refreshing. The distributor sets the timeout value and the
recipient of the distribution is responsible for performing
the refresh. In special situations, very short intervals can
be specified(明示する), or the owner can prohibit copies.
即時アップデートや一貫性の保証より、情報にアクセスできることを重要
アップデートのプロセスは、コピーが同時にアップデートされる保証されることより利用者を通して浸透して更新することを許している
アップデートができなくなたときは、アップデートしようとされる限り古い情報をしするのが普通
普通のモードでは、コピーはリフレッシュのためのタイムアウト値とともに配布される
配布者はタイムアウト値をセット、受取人はリフレッシュする義務をもつ
特殊な状況では、短いインターバルが明示できたり、コピーを禁止することができる
> 可用性が重要
> percolate 浸透
> このころはデータの更新 pull/push型かも決まっていない
> [The distributor sets the timeout] -> [source of the data should control the tradeoff.]
>
- In any system that has a distributed database, a particular(特有の、各々の)
name server may be presented(提供される) with a query that can only be
answered by some other server. The two general approaches to
dealing with this problem are "recursive", in which the first
server pursues(追跡する) the query for the client at another server, and
"iterative", in which the server refers the client to another
server and lets the client pursue the query. Both approaches
have advantages and disadvantages, but the iterative approach
is preferred for the datagram style of access. The domain
system requires implementation of the iterative approach, but
allows the recursive approach as an option.
分散データベースにおいては、他のサーバーしか答えられないクエリがくるかもしれない
2つの対処法があって、"recursive"と"iterative"
"recursive"は最初のサーバーがクライアントのためにクエリを追跡する(再帰)
"iterative"はサーバーはクライアントに他のサーバーを参照させ、クライアントがクエリを追う(反復)
どちらも、利点と難点があるが、iterativeのほうがダイヤグラムのアクセスとしては好まれる
DNSは反復的なアプローチの実装が要求されるが、再帰的なアプローチも許可されている
> recursive 多段の動作がリカーシブ 勘違いされやすい ex① -> ② -> ③ -> フルリゾルバ
> 俯瞰的に見たらiterative / recursive
> recursiveはoption
by orrange morishita
再帰問い合わせ(recursive query)
機能:名前解決の依頼
DNSクライアントやDNSプロキシーがキャッシュDNSサーバーに対し、必要に応じて実行する
DNSクライアントやDNSプロキシーは再帰問い合わせによって、キャッシュDNSサーバーに名前解決を要求する
非再帰問い合わせ(non-recursive query)
機能:名前解決の実行
キャッシュDNSサーバーが各権威DNSサーバーに対し、反復的に実行するそのため、
非再帰問い合わせは反復問い合わせ(iterativequery)とも呼ばれる
The domain system assumes that all data originates in master files
scattered(ちらかる) through the hosts that use the domain system. These master
files are updated by local system administrators. Master files are text
files that are read by a local name server, and hence become available
through the name servers to users of the domain system. The user
programs access name servers through standard programs called resolvers.
すべてのデータはDNSを使うホストに分散されたマスターファイルがオリジナルに源を発する
マスターファイルはローカル管理者によってアップデートされる
マスターファイルはローカルネームサーバーに読めるテキストで、それゆえこのネームサーバーを通してユーザが使えるようになる
ユーザプログラムはリゾルバーと呼ばれる標準的なプログラムをとおしてネームサーバーにアクセスする
(マスターファイルってなんのこと?ゾーンファイル?)
> cache/authrityがごっちゃを前提
>
The standard format of master files allows them to be exchanged between
hosts (via FTP, mail, or some other mechanism); this facility is useful
when an organization wants a domain, but doesn't want to support a name
server. The organization can maintain the master files locally using a
text editor, transfer them to a foreign host which runs a name server,
and then arrange with the system administrator of the name server to get
the files loaded.
標準的な形式のマスターファイルはホスト間で交換される
このことは組織がドメインをほしいけど、ネームサーバーのサポートは不必要なときに役に立つ
組織はテキストエディタでマスターファイルをメンテナンスできるし、
他のネームサーバーで動くように転送しネームサーバのシステム管理者がファイルをロードできるよう整えられる
Each host's name servers and resolvers are configured by a local system
administrator [RFC-1033]. For a name server, this configuration data
includes the identity of local master files and instructions(命令、指図) on which
non-local master files are to be loaded from foreign servers. The name
server uses the master files or copies to load its zones. For
resolvers, the configuration data identifies the name servers which
should be the primary sources of information.
それぞれのホストのネームサーバーとリゾルバーはローカルシステム管理者によって設定される
ネームサーバーにとっては、この設定データはローカルマスターファイルの識別子と
外部のサーバから読み込まれたローカルでないマスターファイル上の命令が含まれている
> primary sources of information.
> /etc/hostsのnameserver A; nameserver BでAに聞きに行く。まず最初に聞きに行くサーバー
The domain system defines procedures(手順) for accessing the data and for
referrals(参照) to other name servers. The domain system also defines
procedures for caching retrieved data and for periodic(定期の) refreshing of
data defined by the system administrator.
データへのアクセスおよび他のネームサーバーへの参照の手順を規定している
得たデータのキャッシングおよびシステム管理者に規定された定期的なデータの更新の手順も規定している
The system administrators provide:
- The definition of zone boundaries.
- Master files of data.
- Updates to master files.
- Statements of the refresh policies desired.
The domain system provides:
- Standard formats for resource data.
- Standard methods for querying the database.
- Standard methods for name servers to refresh local data from
foreign name servers.
システム管理者とドメインシステム
2.4. Elements of the DNS
DNSの要素
The DNS has three major components:
3つのコンポーネント
- The DOMAIN NAME SPACE and RESOURCE RECORDS, which are
specifications for a tree structured name space and data
associated with the names. Conceptually(概念的に), each node and leaf
of the domain name space tree names(指し示す) a set of information, and
query operations are attempts to extract specific types of
information from a particular set. A query names the domain
name of interest and describes the type of resource
information that is desired. For example, the Internet
uses some of its domain names to identify hosts; queries for
address resources return Internet host addresses.
①ドメイン名前空間とリソースレコード
それは木構造の名前空間と名前に紐付いたデータの仕様
それぞれのドメイン名前空間の木のnodeとleafは情報のセットである
クエリの実行とは、特定のセットから特定の情報のタイプを引き出す試みのこと
クエリは必要なドメイン名と欲しい資源情報の種別を指定する
> extract specific types ex.CNAME
- NAME SERVERS are server programs which hold information about
the domain tree's structure and set information. A name
server may cache structure or set information about any part
of the domain tree, but in general a particular name server
has complete information about a subset of the domain space,
and pointers to other name servers that can be used to lead to
information from any part of the domain tree. Name servers
know the parts of the domain tree for which they have complete
information; a name server is said to be an AUTHORITY for
these parts of the name space. Authoritative information is
organized into units called ZONEs, and these zones can be
automatically distributed to the name servers which provide
redundant service for the data in a zone.
②ネームサーバーはドメインツリー構造と情報セットを有するサーバプログラム
ネームサーバーはメインツリーのどの部分の構造や情報セットをキャシュしてもいいが、
普通は、特定のネームサーバーはドメイン空間のサブセットに関しての完全な情報および
ドメインツリーのどの部分からの情報へ導くよう使うことのできる他のネームサーバーへのポインターをもっている
ネームサーバーはドメインツリーのある部分の完全な情報を持っている、
それを名前空間でのその部分のAUTHORITYがあると呼ばれる
> 普通のauthrityはrootから移譲されている部分を持っていれば権威
> ここで解釈はauthrityはおれおれ権威、移譲されてなくてもいいと
- RESOLVERS are programs that extract information from name
servers in response to client requests. Resolvers must be
able to access at least one name server and use that name
server's information to answer a query directly, or pursue(追跡) the
query using referrals to other name servers. A resolver will
typically be a system routine that is directly accessible to
user programs; hence no protocol is necessary between the
resolver and the user program.
リゾルバーはネームサーバーから情報を取り出しクライアントへ返すプログラム
リゾルバーは最低一つのネームサーバーにはアクセスできなくてはならない
ネームサーバーの情報を問い合わせにそのまま答えるか、他のネームサーバー参照を使い問い合わせを追うかする
典型的なリゾルバはユーザプログラムから直接アクセスできるシステムルーチンである
そのためリゾルバとユーザープログラム間のプロトコルは必要ない。
(必要ないの?)
> 関数呼び出しくらいでいい
These three components roughly correspond to the three layers or views
of the domain system:
3つのコンポーネントはざっくり3つのレイヤーまたは視点に対応している
- From the user's point of view, the domain system is accessed
through a simple procedure(手順) or OS call to a local resolver.
The domain space consists of a single tree and the user can
request information from any section of the tree.
"ユーザー"視点では、DNSはシンプルな手順、ローカルリゾルバーへのOSコールととおしてしてアクセスされる。
ドメイン空間なシングルツリーで構成されており、ユーザーはツリーのどの部分の情報を要求してよい
- From the resolver's point of view, the domain system is
composed of an unknown number of name servers.
Each nameserver has one or more pieces of the whole domain tree's data,
but the resolver views each of these databases as essentially
static.
"リゾルバー"視点では、DNSは不明な数のネームサーバーにより構成される
おのおのネームサーバーはドメインツリーの完全なデータを一つ以上持っている
しかし、リゾルバは各データベースは本質的に静的であると見ている。
- From a name server's point of view, the domain system consists
of separate sets of local information called zones. The name
server has local copies of some of the zones. The name server
must periodically(定期的に) refresh its zones from master copies in
local files or foreign name servers. The name server must
concurrently(同時に) process queries that arrive from resolvers.
ネームサーバー視点では、DNSはゾーンと呼ばれるローカル情報の分割されたセットにより構成される
ネームサーバーはいくつかのゾーンのローカルコピーを持っている
ネームサーバーは、ローカルマスターコピーからか外部のネームサーバーからゾーンを定期的に更新しなければならない
ネームサーバーはリゾルバーからくるクエリを同時に処理しなければならない
In the interests of performance, implementations may couple these
functions. For example, a resolver on the same machine as a name server
might share a database consisting of the the zones managed by the name
server and the cache managed by the resolver.
性能面の都合で、これらの機能が結合された実装になっていることもある。
例えば、ネームサーバと同じマシン上にあるリゾルバは
ネームサーバの管理するゾーンとリゾルバの管理するキャッシュとからなるデータベースを共有するかもしれない
> resolver/cache/contonts serverにもなり得る