Báo cáo bài tập lớn - Nghiên cứu về Name Service | Học viện Nông nghiệp Việt Nam

Bài báo cáo tập trung vào nghiên cứu về dịch vụ tên và dịch vụ thư mục trong hệ thống phân tán. Nó cung cấp cái nhìn tổng quan về các vấn đề thiết kế cơ bản và các phương pháp tiếp cận được sử dụng trong triển khai các dịch vụ này.

Trường:

Học viện Nông nghiệp Việt Nam 593 tài liệu

Thông tin:
49 trang 9 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Báo cáo bài tập lớn - Nghiên cứu về Name Service | Học viện Nông nghiệp Việt Nam

Bài báo cáo tập trung vào nghiên cứu về dịch vụ tên và dịch vụ thư mục trong hệ thống phân tán. Nó cung cấp cái nhìn tổng quan về các vấn đề thiết kế cơ bản và các phương pháp tiếp cận được sử dụng trong triển khai các dịch vụ này.

124 62 lượt tải Tải xuống
KHOA CÔNG NGH THÔNG TIN
B MÔN CÔNG NGH PHN MM
BÁO CÁO BÀI TP LN
HC PHN PHÁT TRIN PHN MM PHÂN TÁN
TÊN ĐỀ TÀI: CH ĐỀ I NGHIÊN CU V NAME
SERVICE
Nhóm sinh viên thc hin:
STT
H tên
SV
lp
Đim
1
Bùi Văn Hùng
665022
8
2
Hoài Nam
6656204
3
Nghiêm Ngc
Nga
6668091
Ni, tháng 06/2023
1
NHN T CA GING VIÊN
2
BNG PHÂN CÔNG NHIM V
STT
Nhim v
Sinh viên thc hin
MSV
1
Phát hin nghiên cu đề
tài
2
Nghiên cu phn 13.1, 13.3
6668091
3
Nghiên cu phn 13.2
6656204
4
Nghiên cu phn 13.4, 13.5
665022
8
3
Mc lc
13.1 Giới
thiệu .................................................................. 6
13.1.1 Tên, Địa Ch Các Thuc Tính Kc ............................... 6
13.2 Dịch Vụ Tên Hệ Thống Tên Miền ...................... 10
13.2.1 Không Gian Tên .................................................................... 11
13.2.2 Phân Gii Tên ......................................................................... 14
13.2.3 H Thng Tên Min ............................................................... 17
13.3 Dịch Vụ Thư Mục ..................................................... 25
13.4 Nghiên Cứu Điển Hình: Dịch Vụ Tên Toàn Cầu ..... 26
13.5 Nghiên Cứu Điển Hình: Dịch Vụ T Mục X.500 .. 30
13.6 Tóm Tắt..................................................................... 36
13.7 Tài Liệu Tham Kho ................................................ 36
4
Chương này gii thiu dch v tên như mt dch v riêng bit đưc s dng
bởi các quy trình máy khách đ ly c thuộc tính như địa ch ca tài
nguyên hoặc đối tượng khi được đặt tên ca chúng. Các thc th được đặt
tên th có nhiu loi và chúng th đưc qun bi c dch v khác
nhau.
d: dch v tên thường được s dụng đ gi địa ch và các chi tiết khác
của người dùng, máy tính, min mng, dch v và c đối tượng t xa.
Cũng như các dch v tên, chúng tôi t các dch v thư mc, tra cu các
dch v khi được cung cp mt s thuc tính ca chúng.
Các vn đề thiết kế bn cho các dch v tên, chng hn như cu
trúc qun không gian tên đưc dch v công nhn các hot
động dch v n h tr, đưc phác tho minh ha trong bi
cnh H thng n min Internet (DNS).
Chúng tôi cũng kim tra ch các dch v đnh danh đưc trin
khai, bao gm các khía cnh như điu ng thông qua mt tp
hp các y ch định danh khi phân gii tên, u vào b nh đm
d liu đặt tên sao chép d liu đặt tên để tăng hiu sut
tính kh dng.Hai nghiên cu đin hình khác đưc bao gm: Dch
v tên toàn cu (GNS) Dch v thư mc X.500, bao gm LDAP.
5
13.1 Gii
thiu
Trong mt h thng phân tán, tên đưc s dng để ch nhiu
loi tài nguyên như máy tính, dch v, đối ng tp t xa, cũng
như cho ngưi dùng. Đặt tên mt vn đề d b b qua nhưng
sao cũng bn trong thiết kế h thng phân tán. Tên to điu
kin giao tiếp chia s i nguyên.
Mt i tên cn thiết đ yêu cu mt h thng y tính
hành động
da trên mt tài nguyên c th đưc chn trong s nhiu tài nguyên;
d: tên dng URL cn thiết để truy cp mt trang web c
th. Các quy trình không th chia s các tài nguyên c th đưc
qun bi mt h thng y nh tr khi chúng th đt tên cho
chúng mt cách nht quán.
Người ng không th liên lc vi nhau thông qua mt h thng phân
tán tr khi h th đặt tên cho nhau, d, bng địa ch email.
Tên không phi phương tin nhn dng hu ích duy nht: các
thuc tính t mt phương tin khác. Đôi khi khách ng không
biết n ca thc th c th h tìm kiếm, nhưng h mt s
thông tin t nó. Hoc h th yêu cu mt dch v biết mt
s đặc đim ca nng không biết thc th nào thc hin nó.
Chương này gii thiu các dch v n, cung cp cho khách hàng d
liu v các đối ng đưc đặt tên trong các h thng phân tán
khái nim liên quan v dch v thư mc, cung cp d liu v các đối
ng tha mãn mt t nht định. Chúng tôi t các phương
pháp tiếp cn đưc thc hin trong thiết kế trin khai c dch v
này, s dng Dch v tên min (DNS), Dch v tên toàn cu (GNS)
X500 làm
6
nghiên cu đin hình. Chúng tôi bt đầu bng cách kim tra các khái
nim bn v tên thuc tính.
13.1.1 Tên, Đa Ch Các Thuc nh Khác
Bt k quá trình nào yêu cu quyn truy cp vào mt tài nguyên
c th phi tên hoc s nhn dng cho i nguyên đó. d v tên
con ngưi th đọc đưc các tên tp như
/etc/passwd, URL như http://www.cdk5.net/ tên min Internet n
www.cdk5.net.
Thut ng đnh danh đôi khi đưc s dng đ ch
c tên ch đưc gii thích bi các chương trình. Tham chiếu đi
ng t xa x tp NFS d v định danh. S nhn
dng đưc chn cho hiu qu chúng th đưc tra cu lưu
tr bng phn mm.
Needham [1993] phân bit gia mt cái n thun y các tên khác.
Tên thun túy ch đơn gin các mu bit không đưc gii thích. Tên
không thun túy cha thông tin v đối ng chúng đặt n; Đặc
bit, chúng th cha thông tin v v trí ca đối ng. Tên thun
túy luôn phi đưc tra cu trước khi chúng th đưc s dng.
thái cc khác t mt tên thun túy đa ch ca mt đi ng:
mt g tr xác đnh v trí ca đối ng ch không phi chính đối
ng. Đa ch hiu qu để truy cp các đi ng, nhưng các đối
ng đôi khi th đưc di chuyn, vy địa ch không đủ làm
phương tin nhn dng. d: địa ch email ca người dùng thường
phi thay đổi khi h di chuyn gia các t chc hoc nhà cung cp
dch v Internet; Bn thân h không đưc đảm bo để đề cp đến
mt nhân c th theo thi gian.
Chúng tôi nói rng
mt tên đưc gii quyết khi đưc dch
thành d liu v tài nguyên hoc đối ng đưc đt
tên, tng
để gi mt hành động trên nó. S liên kết gia mt n mt đối
ng đưc gi ng buc. Nói chung, tên b ràng buc vi các
thuc tính ca các đi ng đưc đặt n, thay thc hin chính
c đi ng. Mt thuc tính
Hình 13.1: Tên min đặt tên đã son đưc s dng để truy cp
tài nguyên t URL
7
Đa
Tra cu DNS
ID tài nguyên (s IP, s cng, tên đưng dn)
ml
Địa ch mng
t
Socket
tp
Máy ch web
giá tr ca mt thuc tính đưc liên kết vi mt đối ng. Mt thuc
tính chính ca mt thc th thưng liên quan trong mt h thng
phân tán địa ch ca nó. Chng hn:
DNS ánh x tên min đến các thuc tính ca máy ch:
địa ch IP ca nó, loi mc nhp (ví d: tham chiếu đến
y ch t hoc y ch khác) và, d, khong thi
gian mc nhp ca y ch s vn hp l.
Dch v thư mc X500 th đưc s dng để ánh
x tên ca mt ngưi o các thuc tính bao gm địa ch
email s đin thoi ca h.
Dch v đặt tên dch v thương mi CORBA đã đưc
trình bày trong Chương 8. Dch v Đặt tên ánh x n
ca mt đối ng t xa lên tham chiếu đối ng t
xa ca nó, trong khi Dch v Thương mi ánh x tên ca
mt đi ng t xa
lên tham chiếu đi ng t xa ca
nó, cùng vi mt s thuc tính tùy ý t đối ng
theo thut ng ngưi ng th hiu đưc.
Lưu ý rng mt a ch' th đưc coi mt tên khác phi đưc tra
cu hoc th cha mt tên n vy. Đa ch IP phi đưc tra
cu để đưc địa ch mng như đa ch Ethernet. Tương t, các
trình duyt web ng dng email s dng DNS để din gii tên min
trong URL địa ch email. Hình 13.1 cho thy phn tên min ca URL
đưc gii quyết
đầu tiên thông qua DNS thành đa ch IP sau đó,
c nhy cui cùng ca định tuyến Internet, thông qua ARP đến địa
ch Ethernet cho máy ch web. Phn cui cùng ca URL
8
ch
2:60:8C:2:B0m:5
55.55.55.55 8888 WebExamples/earth.ht
đưc gii quyết bi h thng tp trên máy ch web để đnh v tp
liên quan.
Tên dch v: Nhiu tên đưc s dng trong mt h thng phân
tán dành riêng cho mt s dch v c th. d: người dùng ca
trang web mng hi twitter.com, tên như @magmapoetry
không dch v nào khác gii quyết. Ngoài ra, khách ng th
s dng tên dch v c th khi yêu cu dch v thc hin thao tác
trên mt đối ng hoc tài nguyên đưc đặt tên qun lý.
d:
tên tp đưc cung cp cho dch v tp khi yêu cu xóa tp
định danh quy trình đưc trình bày cho dch v qun
quy trình
khi yêu cu gi tín hiu.
Các n này ch đưc s dng trong ng cnh ca dch v qun
c đối ng đưc đặt tên, ngoi tr khi máy khách giao tiếp v các
đối ng đưc chia s.
Tên đôi khi cũng cn thiết để ch các thc th trong mt h thng phân
tán nm ngoài phm vi ca bt k dch v đơn l nào. Các d chính
ca các thc th này ngưi dùng (vi tên riêng đa ch email),
y tính (vi tên máy ch như www.cdk5.net) chính c dch v
(như dch v tp hoc dch v máy in). Trong phn mm trung gian
da trên đối ng, tên đề cp đến các đối ng t xa cung cp dch
v hoc ng dng. Lưu ý rng nhiu tên trong s này phi th đọc
đưc ý nghĩa đi vi con ngưi, người dùng qun tr viên
h thng cn tham kho các thành phn chính cu hình ca các
h thng phân tán, lp trình viên cn tham kho các dch v trong
chương trình người dùng cn giao tiếp vi nhau thông qua h thng
phân tán tho lun v nhng dch v nào sn trong các phn
khác nhau ca nó. Vi kết ni đưc cung cp bi Internet, các yêu
cu đặt tên này kh năng phm vi trên toàn thế gii.
định danh tài nguyên thng nht: S nhn dng tài
nguyên thng nht (URI) [Berners-Lee et al. 2005] xut phát t nhu
cu xác định tài nguyên tn Web các tài nguyên Internet khác như
hp thư đin t. Mt mc tiêu quan trng xác định các tài nguyên
mt ch mch lc, đ tt c chúng th đưc x bi các phn
mm ph biến như trình duyt. URI 'thng nht' ch pháp ca
chúng kết hp thi hn nhiu loi định danh tài nguyên riêng l
(nghĩa c đồ URI) các quy trình qun kng gian tên
toàn
9
cu ca c đồ. Ưu đim ca nh đồng nht gim bt quá trình
gii thiu các loi định danh mi, cũng như s dng các loi định danh
hin trong bi cnh mi, không làm gián đon vic s dng hin
.
d: nếu ai đó phát minh ra mt loi URI 'widget' mi, thì URI bt
đầu widget: s phi tuân theo pháp URI toàn cc, cũng như bt k
quy tc cc b nào đưc xác định cho c đ nhn dng widget.
Các URI này s xác định i nguyên widget theo cách đưc xác định
rõ. Nhưng ngay c phn mm hin không truy cp i nguyên
widget vn th x
URI widget - d: bng cách qun các
thư mc cha chúng. Chuyn sang mt d v vic kết hp các s
nhn dng hin có, điu đó đã đưc thc hin cho các s đin thoi
bng cách tin t chúng vi n c đồ tel chun hóa đi din ca
chúng, như trong đin thoi: + 1-816-555-1212. Các URI đin thoi
này đưc thiết kế đ s dng như liên kết web khiến các cuc gi đin
thoi đưc thc hin khi đưc gi.
B đnh v tài nguyên thng nht: Mt s URI cha thông tin
th đưc s dng đ định v truy cp tài ngun; mt s khác tên
tài nguyên thun y. Thut ng quen thuc B định v tài nguyên
thng nht (URL) tng đưc s dng cho các URI cung cp thông
tin v trí ch định phương pháp truy cp tài nguyên, bao gm các
URL 'http'
đưc gii thiu trong Phn 1.6. d: http://www.cdk5.net/
xác định mt trang web ti đưng dn đã cho ('/') trên www.cdk5.net
y ch lưu tr ch định rng giao thc HTTP đưc s dng để
truy cp nó. Mt d khác URL 'mailto', chng hn như
mailto:fred@flintstone.org, xác đnh hp thư ti địa ch đã cho.
URL s nhn dng hiu qu để truy cp i nguyên. Nhưng h phi
chu bt li nếu mt tài nguyên b xóa hoc nếu
di chuyn, gi
s t trang web này sang trang web khác, th các liên kết treo
lng lng đến tài nguyên cha URL cũ. Nếu ngưi dùng nhp vào
mt liên kết lng lng đến tài nguyên web, thì y ch web s phn
hi rng tài nguyên không đưc tìm thy hoc - t n, l - cung
cp mt tài ngun khác hin chiếm cùng mt v trí.
Tên tài nguyên thng nht: Tên tài nguyên thng nht (URN)
URI đưc s dng làm tên tài nguyên thun túy
thay b định v.
d: URI:
10
mid:0E4FC272-5C02-11D9-B115-
000A95B55BC8@hpl.hp.com
mt URN xác định email cha trong trường 'Message- Id' ca
nó. URI phân bit thư đó vi bt k t email nào khác. Nhưng
không cung cp đa ch ca tin nhn trong bt k ca hàng nào,
vy cn phi thao tác tra cu đ m thy nó.
Mt cây con đặc bit ca URI bt đầu bng
urn: đã đưc dành
riêng cho URN - mc dù, như
d gia: cho thy, không phi tt
c các URN đều urn: URI. Các URI urnprefix sau này đều dng
urn:nameSpace:nameSpace- specificName. d: urn:ISBN:0-201-
62433-8 xác đnh ch mang tên 0-201-62433-8 trong c đồ đặt tên
ISBN tiêu chun. Mt d khác, tên (được phát minh)
urn:doi:10.555/music-pop-1234 đề cp đến n phm đưc gi
music-pop-1234 trong đồ đặt tên ca nhà xut bn đưc gi
10.555 trong c đồ định danh đối ng k thut s (DOI)
[www.doi.org].
các dch v phân gii (dch v tên, theo thut ng ca chương này)
như H thng x [www.handle.net] để phân gii các URN như DOI
thành các thuc tính tài nguyên, nhưng không dch v nào đưc
s dng rng rãi. Tht vy, vn tiếp tc cuc tranh lun trong
cng đng nghn cu Web Internet v mc độ cn thiết ca mt
loi URN riêng bit. Mt trưng phái ng 'URL thú v không
thay đổi' - nói cách khác, mi ngưi nên gán URL cho các i nguyên
vi s đm bo v tính liên tc tham chiếu ca chúng. Chng li
quan
đim đó quan sát rng không phi ai cũng th đưa ra nhng
đảm bo như vy, điu này đòi hi phi duy trì quyn kim soát
tên min qun tài ngun mt cách cn thn.
11
13.2 Dch V Tên H Thng Tên Min
Dch
v tên
lưu tr thông tin v mt tp hp các tên văn
bn, i dng ràng buc gia tên các thuc tính ca các thc th
chúng biu th, chng hn như ngưi dùng, y tính, dch v
đối ng. B sưu tp thường đưc chia thành mt hoc nhiu bi
cnh đt tên: các tp hp con riêng l ca các ràng buc đưc qun
như mt đơn v. Hot động chính dch v tên h tr gii quyết
tên - nghĩa tra cu các thuc tính t mt tên nht định. Chúng tôi
t vic thc hin gii pháp tên trong Mc 13.2.2. Các thao tác
ng đưc yêu cu để to các ràng buc mi, xóa ràng buc lit
c n b ng buc, cũng như thêm xóa ng cnh.
Qun tên đưc tách ra khi các dch v khác phn ln do tính m
ca các h thng phân tán, mang li các đng lc sau:
Thng nht: Thưng thun tin cho các tài nguyên đưc qun
bi các dch v khác nhau s dng cùng mt đ đặt tên. URI
mt d đin hình v điu này.
Tích hp: Không phi lúc nào cũng th d đoán phm vi chia s
trong mt h thng phân tán. th tr nên cn thiết để chia s
do đó đt n cho các i nguyên đưc to trong các min
qun tr khác nhau. Nếu không dch v tên chung, các min
qun tr th s dng các quy ưc đặt tên hoàn toàn khác nhau.
Yêu cu dch v tên chung: Dch v định danh ban đầu k đơn
gin, chúng đưc thiết kế ch để đáp ng nhu cu liên kết tên vi
c đa ch trong mt min qun duy nht, tương ng vi mt mng
LAN hoc mng WAN duy nht. S kết ni ca các mng quy
ngày càng tăng ca c h thng phân n đã to ra mt vn đ lp
bn đồ tên ln hơn nhiu.
Grapevine [Birrell et al. 1982] mt trong nhng dch v tên min đa
min, th m rng sm nht. đưc thiết kế để th m rng
v s ng tên ti các yêu cu th x .
12
Dch v Tên Toàn cu, đưc phát trin ti Trung tâm Nghn cu H
thng Tp đoàn Thiết b K thut s [Lampson 1986],
hu du ca
Grapevine vi các mc tiêu đy tham vng,
bao gm:
Để x mt s ng tên v bn tùy ý để phc v mt s
ng tùy ý ca các t chc hành chính: d, h thng phi
kh năng x tên ca tt c các tài liu trên thế gii.
Tui th dài: Nhiu thay đổi s xy ra trong vic t chc tp hp tên
trong các thành phn trin khai dch v trong sut vòng đời ca
nó.
Tính sn sàng cao: Hu hết các h thng khác ph thuc vào
dch v tên; chúng không th hot động khi b hng.
Cách ly li: Li cc b không đưc khiến toàn b dch v b li.
Kh năng chu đựng s ng vc: Mt h thng m ln không th
bt k thành phn nào đưc tin cy bi tt c các khách hàng
trong h thng.
Hai d v dch v tên đã tp trung vào mc tiêu kh năng m rng
cho s ng ln các đi ng như tài liu dch v tên Globe [van
Steen et al. 1998] H thng x [www.handle.net]. Quen thuc
hơn nhiu H thng n min Internet (DNS), đưc gii thiu trong
Chương 3, đặt tên cho các máy tính (và các thc th khác) trên
Internet.
Trong phn này, chúng i tho lun v các vn đề thiết kế chính cho
c dch v tên, đưa ra các d t DNS. Chúng tôi theo dõi điu này
vi mt nghiên cu đin hình chi tiết hơn v DNS.
13.2.1 Không Gian Tên
Không gian tên tp hp tt c các tên hp l đưc công nhn
bi mt dch v c th. Dch v s c gng tra cu mt tên hp l,
mc tên đó th chng minh không tương ng vi bt k đối
ng nào - tc không b ràng buc. Không gian tên yêu cu đnh
nghĩa pháp để tách tên hp l khi tên không hp l. d: '...'
không đưc chp nhn tên DNS ca máy nh, trong khi
www.cdk99.net hp l (mc không b ràng buc).
13
Tên th cu trúc bên trong đại din cho v t ca chúng trong
không gian tên phân cp như tên đưng dn trong h thng tp hoc
trong h thng phân cp t chc như tên min Internet; hoc chúng
th đưc chn t mt b định danh s hoc ng trưng phng.
Mt li thế quan trng ca
h thng phân cp làm cho không
gian tên ln d qun hơn. Mi phn ca tên phân cp đưc gii
quyết liên quan đến mt ng cnh riêng bit kích thước tương đối
nh cùng mt n th đưc s dng vi ý nghĩa khác nhau
trong các ng cnh khác nhau, để phù hp vi các nh hung s dng
khác nhau. Trong trường hp h thng tp, mi t mc đại din cho
mt ng cnh. Do đó, /etc/passwd mt tên phân cp vi hai
thành phn. Phn đầu tiên, 'etc', đưc gii quyết liên quan đến ng
cnh '/', hoc root, phn th hai,
'passwd',
liên
quan
đến
ng
cnh
'/etc'. Tên /oldetc/passwd th ý nghĩa khác
thành phn th hai ca đưc gii quyết trong mt ng cnh
khác. Tương t, ng mt tên /etc/passwd th phân gii các tp
khác nhau trong ng cnh ca hai máy tính khác nhau.
Không gian tên phân cp kh năng hn, vy chúng cho phép
mt h thng phát trin thi hn. Ngược li, không gian tên phng
thường hu hn; ch tc ca chúng đưc xác định bng ch
c định độ dài ti đa cho phép cho tên. Mt li thế tim năng khác
ca không gian tên phân cp các ng cnh khác nhau th đưc
qun bi nhng ngưi hoc t chc khác nhau.
Cu trúc ca URL 'http' đã đưc gii thiu trong Chương 1. Không
gian n URL cũng bao gm c tên tương đối như .. /hình
nh/hình1.jpg. Khi mt trình duyt hoc máy khách web khác gp phi
mt tên ơng đối như vy, s dng tài nguyên trong đó tên ơng
đối đưc nhúng để xác đnh tên y ch lưu tr thư mc
tên đưng dn này đề cp đến.
Tên DNS chui đưc gi tên min. Mt s d www.cdk5.net
(máy nh), net, com ac.uk (ba d sau tên min).
Không gian tên DNS cu trúc phân cp: tên min bao gm mt
hoc nhiu chui đưc gi thành phn tên hoc nhãn, đưc phân
tách bng du phân cách '.'. Không du phân cách
đầu
hoc
cui
tên
min,
mc
t
mc
gc
ca
14
không gian tên DNS đôi khi đưc gi '.' cho mc đích qun tr. Các
thành phn tên các chui không th in rng không cha '.'. Nói
chung, tin t ca tên mt phn ban đầu ca tên ch cha 0 hoc
nhiu thành phn toàn b. d: trong DNS www
www.cdk5 đều
tin t ca www.cdk5.net. Tên DNS không phân bit ch hoa ch
thường, vy www.cdk5.net WWW.CDK5.NET cùng ý nghĩa.
y ch DNS không nhn ra tên ơng đối: tt c c tên đưc
gi đến thư mc gc toàn cc. Tuy nhiên, trong trin khai thc tế,
phn mm máy khách gi mt danh sách c tên min đưc gn
t động vào bt k tên thành phn đơn nào trước khi gii quyết.
d: tên www đưc trình bày trong min cdk5.net th đề cp đến
www.cdk5.net; Phn mm máy khách s ni thêm cdk5.net min mc
định c gng gii quyết n này. Nếu điu này không thành
ng, thì các tên min mc định khác th đưc thêm vào; Cui
ng, tên (tuyt đối) www s đưc trình bày cho thư mc gc đ
gii quyết (mt thao tác tt nhiên s tht bi trong trường hp này).
Tuy nhiên, các tên nhiu hơn mt thành phn thưng đưc trình
bày nguyên vn cho DNS, i dng tên tuyt đối.
danh: danh tên đưc xác định để biu th thông tin ging
như tên khác, ơng t n liên kết ng trưng gia tên đưng dn
tp. danh cho phép các tên thun tin hơn đưc thay thế cho các
tên tương đối phc tp cho phép các tên thay thế đưc s
dng bi nhng ngưi khác nhau cho cùng mt thc th. Mt
d vic s dng ph biến các công c t ngn URL, thường đưc
s dng trong các bài đăng trên Twitter các tình hung khác trong
đó không gian mc cao.
d: s dng chuyn ng web, http://bit.ly/ctqjvH đề cp đến
http://cdk5.net/additional/rmi/programCode/ShapeListClient.j ava. Mt
d khác, DNS cho phép các danh trong đó mt tên min đưc
xác định viết tt ca mt tên min khác. danh thường đưc s
dng để ch định tên ca các máy chy máy ch web hoc máy ch
FTP. d: tên www.cdk5.net danh ca cdk5.net. Điu này
li thế khách hàng th s dng mt trong hai tên cho máy
ch web nếu máy ch web đưc di chuyn sang máy tính
khác, ch cn cp nht mc nhp cho cdk5.net trong s d liu
DNS.
15
Đặt tên min: Tên min đặt tên mt không gian tên tn ti mt
quan qun tr tng th duy nht chu trách nhim gán tên trong đó.
quan này kim soát tng th tên nào th b ràng buc trong
min, nhưng th t do y
thác nhim v này.
Tên min trong DNS tp hp các tên min; v mt pháp, tên
min hu t chung ca các n min trong đó, nhưng nếu không thì
không th phân bit đưc, d, n máy tính. d: net mt n
min cha cdk5.net. u ý rng thut ng 'tên min' kh năng
gây nhm ln, ch mt s tên min xác định tên min (nhng tên
min khác xác định máy nh).
Vic qun tên min th đưc phân cp thành tên min ph. Tên
min dcs.qmul.ac.uk - Khoa Khoa hc y tính ti Queen Mary, Đại
hc London Anh - th cha bt k tên nào khoa mun.
Nhưng bn
thân tên min dcs.qmul.ac.uk phi đưc tha thun vi
chính quyn trưng đi hc, nhng ngưi qun tên min
qmul.ac.uk. Tương t, qmul.ac.uk phi đưc tha thun vi quan
đăng ac.uk, v.v.
Trách nhim đối vi tên min đặt tên thường đi đôi vi trách nhim
qun cp nht phn tương ng ca s d liu đưc u tr
trong máy ch tên thm quyn đưc s dng bi dch v đnh
danh. D liu đặt tên thuc các min đặt n khác nhau nói chung
đưc lưu tr bi các máy ch tên riêng bit do các quan tương ng
qun lý.
Kết hp tùy chnh không gian tên: DNS cung cp mt không
gian n toàn cc đồng nht, trong đó mt tên nht định đ cp đến
ng mt thc th, bt k quy trình nào trên y tính nào tra cu tên.
Ngược li, mt s dch v tên cho phép các không gian tên riêng bit -
đôi khi không gian tên không đồng nht - đưc nhúng o chúng;
mt s dch v tên cho phép không gian n đưc tùy chnh đ phù
hp vi nhu cu ca tng nhóm, người dùng hoc thm chí các
quy trình.
Hp nht: Thc tin gn các h thng tp trong UNIX NFS
(xem Phn 12.3) cung cp mt d trong đó mt phn ca không
gian tên này đưc nhúng thun tin vào mt không gian tên khác.
Nhưng hãy xem xét cách hp nht toàn b h thng tp UNIX ca
hai (hoc nhiu) máy nh đưc gi
16
đỏ xanh. Mi máy tính gc riêng, vi các tên tp chng
chéo. d: /etc/passwd đề cp đến mt tp màu đ mt tp
khác màu xanh lam. ch ng để hp nht các h thng tp
thay thế gc ca mi y tính bng 'siêu root' gn kết h thng
tp ca mi máy tính trong siêu root này, gi s / đ / xanh.
Người dùng chương trình sau đó th tham kho / red / etc /
passwd / blue / etc / passwd. Nhưng quy ưc đặt n mi t s
khiến các chương tnh trên hai y tính vn s dng
tên /etc/passwd gp trc trc. Mt gii pháp đ li ni dung gc
trên mi máy tính nhúng các h thng tp đưc gn / đ /
xanh ca c hai máy tính (gi s rng điu này không to ra xung đt
tên vi ni dung gc cũ).
Đạo đc chúng ta luôn th hp nht các không gian n bng
ch to ra mt ng cnh gc cp cao hơn, nhưng điu này th
gây ra vn đề v kh năng tương thích ngưc. Khc phc s c
tương thích, ln t, để li cho chúng tôi không gian n lai s bt
tin khi phi dch tên gia nhng ngưi dùng ca hai máy tính.
Không đng nht: Không gian tên Môi trường đin toán phân
tán (DCE) [OSF 1997] cho phép các không gian tên không đồng nht
đưc nhúng o trong đó. Tên DCE th cha các đim ni, tương
t như các đim gn trong NFS UNIX (xem Phn 12.3), ngoi tr
vic chúng cho phép gn các khong trng tên không đng nht.
d: hãy xem xét tên DCE đầy đủ
/.../dcs.qmul.ac.uk/principals/Jean.Dollimore. Phn đầu tiên ca tên
này, /.../dcs.qmul.ac.uk, biu th mt ng cnh đưc gi ô. Thành
phn tiếp theo mt ngã ba. d, các hiu trưởng ni mt ng
cnh cha các nguyên tc bo mt trong đó thành phn cui cùng,
Jean.Dollimore, th đưc tra cu trong đó các tên chính này
pháp riêng. Tương t, trong
/.../dcs.qmul.ac.uk/files/pub/reports/TR2000-99, các tp ni
mt
ng cnh tương ng vi thư mc h thng tp, trong đó thành phn
cui cùng pub / reports / TR2000-99 đưc tra cu trong đó không
gian tên tp pháp riêng bit. Hai đim ni chính tp gc
r ca không gian tên không đồng nht, đưc thc hin bi các dch
v tên không đồng nht.
17
Tùy chnh: Chúng tôi đã thy trong d v vic nhúng các h
thng tp đưc gn NFS trên rng đôi khi ngưi dùng thích xây
dng không gian tên ca h mt cách độc lp hơn chia s mt
không gian tên duy nht. Vic gn kết h thng tp cho pp
ngưi dùng nhp các tp đưc lưu tr trên y ch đưc chia
s, trong khi các n khác tiếp tc đề cp đến các tp cc b, không
đưc chia s th đưc qun t động. Nhưng các tp ging
nhau đưc truy cp t hai máy tính khác nhau th đưc gn ti c
đim khác nhau do đó n khác nhau. Không chia s toàn b
không gian tên nghĩa người dùng phi dch tên gia các y
tính.
Dch v đặt tên mùa xuân [Radia et al. 1993] cung cp kh năng xây
dng không gian tên mt cách linh hot chia s ng cnh đặt tên
riêng l mt cách chn lc. Ngay c hai quy trình khác nhau trên
ng mt y tính cũng th ng cnh đt tên khác nhau. Ng
cnh đt tên mùa xn các đối ng hng nht th đưc chia
s xung quanh mt h thng phân tán. d: gi s ngưi dùng
trên máy tính màu đỏ mun chy mt chương trình màu xanh lam
đưa ra các n đưng dn tp như /etc/passwd, nhưng nhng n này
đ phân gii các tp trên h thng tp ca màu đỏ, không phi màu
xanh lam. Điu này th đạt đưc trong Spring bng cách chuyn
mt tham chiếu đến ng cnh đặt tên cc b ca màu đỏ sang màu
xanh lam s dng làm ng cnh đặt tên ca chương trình. Kế
hoch 9 [Pike et al. 1993] cũng cho phép các quy trình không gian
tên h thng tp ca riêng chúng. Mt nh năng mi ca Plan 9 (cũng
th đưc thc hin trong Spring) các t mc vt th
đưc sp xếp hp nht thành mt thư mc logic duy nht. Hiu qu
mt tên đưc tra cu trong t mc logic duy nht đưc tra cu
trong liên tiếp các thư mc vt cho đến khi kết qu khp, khi c
thuc tính đưc tr v. Điu này giúp loi b s cn thiết phi cung
cp danh sách các đưng dn khi tìm kiếm các tp chương trình hoc
thư vin.
18
13.2.2 Phân Gii Tên
Đối vi trưng hp ph biến ca không gian tên pn cp, phân
gii tên mt quá trình lp đi lp li hoc đệ quy, theo đó mt tên
đưc trình bày nhiu ln cho ng cnh đặt tên để tra cu các thuc
tính đ cp đến. Ng cnh đặt tên hoc ánh x trc tiếp mt tên
nht định o mt tp hp các thuc tính nguyên thy (chng hn như
ca người dùng) hoc ánh x vào ng cnh đặt tên tiếp theo tên
dn xut đ tnh bày cho ng cnh đó. Để gii quyết mt cái tên,
trước tiên đưc trình bày cho mt s ng cnh đặt tên ban đu;
Độ phân gii lp li min các ng cnh n dn xut khác
đưc xut ra. Cng tôi đã minh ha điu này đầu Phn 13.2.1
vi d
v /etc/passwd, trong đó 'etc' đưc trình bày theo ng
cnh '/', sau đó 'passwd' đưc trình bày cho ng cnh '/etc'.
Mt d khác v bn cht lp đi lp li ca độ pn gii vic s
dng danh. d: bt c khi o máy ch DNS đưc yêu cu
phân gii danh như www.dcs.qmul.ac.uk, trước tn máy ch s
phân gii danh thành mt n min khác (trong trưng hp này
traffic.dcs.qmul.ac.uk), phi đưc gii quyết thêm để to địa ch IP.
Nói chung, vic s dng danh làm cho các chu k th mt
trong không gian tên, trong trường hp đó đ phân gii th
không bao gi chm dt. Hai gii pp kh thi là, t b quy trình gii
quyết nếu t qua ngưỡng s ng ngh quyết hoc để qun tr
viên ph quyết bt k danh nào s gii thiu chu k.
y ch định danh điu ng: Bt k dch v tên nào,
chng hn như DNS, lưu tr s d liu rt ln đưc s dng
bi mt dân s ln s không lưu tr tt c thông tin đặt tên ca
trên mt máy tính máy ch duy nht. Mt máy ch như vy s mt
nút c chai mt đim tht bi quan trng. Bt k dch v tên o
đưc s dng nhiu nên s dng sao chép đ đt đưc tính sn
sàng cao. Chúng ta s thy rng DNS ch định rng mi tp hp
con ca s d liu ca đưc sao chép trong ít nht hai máy
ch độc lp vi li.
Chúng tôi đã đ cp trên rng d liu thuc v min đặt n tng
đưc lưu tr bi mt máy ch định danh cc b đưc qun bi
quan chu trách nhim v tên min đó. Mc dù,
19
trong mt s trường hp, mt y ch định danh th lưu
tr d
liu cho nhiu min, nhưng nhìn chung đúng khi nói rng d liu đưc
phân vùng thành các máy ch theo min
ca nó. Chúng ta s thy
rng trong DNS, hu hết các mc nhp đu dành cho y tính cc b.
Nhưng ng các y ch đnh danh cho các tên min cao hơn,
chng hn như yahoo.com ac.uk, cho thư mc gc.
Vic phân vùng d liu ng ý rng máy ch tên cc b không th tr
li tt c các câu hi không s tr giúp ca các máy ch tên
khác. d: máy ch đnh danh trong min dcs.qmul.ac.uk s không
th cung cp địa ch IP ca máy nh trong min cs.purdue.edu tr khi
đưc lưu trong b nh cache - chc chn không phi ln đầu
tiên đưc yêu cu.
Quá trình đnh v d liu đt n t nhiu máy ch tên để phân gii
tên đưc gi điu ng. Phn mm phân gii tên máy khách
thc hin điu ng thay mt cho khách hàng. giao tiếp vi c
y ch định danh khi cn thiết để phân gii n. th đưc
cung cp i dng thư vin đưc liên kết vi c máy khách,
d như trong vic trin khai BIND cho DNS (xem Phn 13.2.3) hoc
trong Grapevine [Birrell et al. 1982]. Gii pháp thay thế, đưc s dng
vi X500, cung cp độ phân gii tên trong mt quy trình riêng bit
đưc chia s bi tt c các quy trình máy khách tn máy nh đó.
Mt nh điu ng DNS h tr đưc gi điu ng
lp li (xem Hình 13.2). Để gii quyết tên, máy khách trình bày tên cho
y ch tên cc b, máy ch này c gng gii quyết nó. Nếu máy
ch tên cc b tên, s tr v kết qu ngay lp tc. Nếu không,
s đề xut mt máy ch khác th tr giúp. Vic gii quyết tiến
hành ti y ch
mi, vi điu ng tiếp theo khi cn thiết cho đến
khi n đưc định v hoc đưc phát hin không b ràng buc.
DNS đưc thiết kế để cha các mc nhp cho hàng triu tên
min đưc truy cp bi s ng ln khách hàng, nên s không
kh thi khi tt c các truy vn bt đu t máy ch gc, ngay c
khi đưc sao chép nhiu. s d liu DNS đưc phân vùng gia
c máy ch theo cách cho phép nhiu truy vn đưc tha n cc b
các truy vn khác đưc tha mãn không cn phi gii quyết
tng phn ca
20
NS2
2
Khách
hàng
1
NS1
Tên
Máy ch
3
NS3
tên riêng bit. đồ phân gii tên trong DNS đưc t chi tiết hơn
trong Phn 13.2.3.
Hình 13.2: Điu ng lp li
Mt máy khách lp đi lp li liên h vi máy ch tên
NS1NS3 để phân gii tên
NFS cũng s dng điu ng lp li trong độ phân gii ca
tên tp,
trên s tng thành phn (xem Chương 12). Điu này do dch v
tp th gp liên kết ng trưng khi pn gii tên. Mt liên kết
ng trưng phi đưc din gii trong không gian tên h thng tp ca
y khách th tr đến mt tp trong thư mc đưc u tr
ti mt máy ch khác. y khách phi xác định đây máy ch nào,
bi ch máy khách biết các đim gn kết ca nó.
Trong điu ng đa ng, mt y khách multicast tên cn gii
quyết loi đối ng cn thiết cho nhóm máy ch tên. Ch máy ch
cha các thuc tính đưc đặt tên mi phn hi yêu cu. Tuy nhiên,
tht không may, nếu tên đưc chng minh không b ràng buc,
yêu cu s đưc chào đón bng s im lng. Cheriton Mann
[1989] t mt đồ điu ng da trên đa ng trong đó mt
y ch riêng bit đưc bao gm trong nhóm đ phn hi khi tên yêu
cu không b ràng buc.
Mt gii pháp thay thế khác cho hình điu ng lp li hình
trong đó máy ch tên điu phi độ phân gii ca tên chuyn kết
qu tr li tác nhân ngưi dùng. Ma [1992] phân bit điu ng
điu khin máy ch không đệ quy đ quy (Hình 13.3). Trong điu
ng điu khin máy ch không đ quy, bt k máy ch n nào cũng
th đưc chn bi máy khách. y ch này giao tiếp bng
multicast hoc lp đi lp li vi các đng nghip ca theo
phong ch
21
đưc t trên, như th mt máy khách. Trong điu ng
điu khin máy ch đệ quy, máy khách mt ln na liên h vi mt
y ch duy nht. Nếu y ch này không lưu tr tên, máy ch
s liên h vi mt đồng nghip lưu tr tin t (ln hơn) ca tên, t
đó c gng gii quyết nó. Quy trình này tiếp tc đệ quy cho đến khi
tên đưc gii quyết.
Nếu mt dch v tên tri rng trên các min qun tr riêng bit, thì
c máy khách thc thi trong mt min qun tr th b cm truy
cp vào các máy ch định danh thuc v mt min khác như vy. n
na, ngay c các máy ch định danh cũng th b cm phát hin ra
vic đặt tên d liu trên các máy ch định danh trong mt min qun tr
khác. Sau đó, c điu ng do máy ch điu khin không đ
quy đều không phù hp điu ng do máy ch điu khin đệ quy
phi đưc s dng. Máy ch định danh đưc y quyn yêu cu d
liu dch v tên t các y ch tên đưc ch định do
các quan
qun tr khác nhau qun lý, tr v các thuc tính không tiết l nơi
lưu tr các phn khác nhau ca s d liu đặt n.
Hình 13.3: Điu ng kng đệ quy đệ quy do máy ch điu
khin
Không đệ quy
Điu khin máy ch
Đệ quy
Điu khin máy ch
y ch định danh NS1 giao tiếp vi các y ch tên khác
thay mt cho máy khách
B nh đệm: Trong DNS các dch v tên khác, phn mm
y ch phân gii tên y khách duy trì b nh cache ca kết qu
phân gii tên trước đó. Khi khách hàng yêu cu tra cu tên, phn
mm phân gii tên s tham kho b nh cache ca nó. Nếu gi
mt kết qu gn đây t mt tra cu
trưc
đó
cho
tên,
s
tr
v
cho
khách
hàng;
nếu
22
NS2
2
1
khách
hàng
NS1
4
3
NS3
NS2
2
4
3
khách
hàng
1
5
NS1
NS3
không, thiết lp v vic tìm kiếm t mt máy ch. Máy ch đó,
ln t, th tr v d liu đưc lưu trong b nh cache t các máy
ch khác.
B nh đệm ca khóa cho hiu sut ca dch v đnh danh h
tr duy trì nh kh dng ca c dch v đnh danh c dch v
khác bt chp s c y ch định danh. Vai trò ca trong vic
tăng ng thi gian phn hi bng cách lưu thông tin liên lc vi
c máy ch đnh danh ràng. B nh đệm th đưc s dng
để loi b các y ch định danh cp cao đặc bit máy ch
gc khi đưng dn điu ng, cho phép gii quyết tiến hành
mc mt s li y ch.
B nh đệm theo trình phân gii tên máy khách đưc áp dng rng i
trong các dch v tên đặc bit thành công d liu đt tên
đưc thay đổi tương đối hiếm. d: tng tin như địa ch máy tính
hoc dch v th không thay đi trong nhiu tháng hoc nhiu năm.
Tuy nhiên, kh năng tn ti ca mt dch v tên tr v các thuc tính li
thi - d: địa ch li thi - trong quá trình gii quyết.
13.2.3 H Thng Tên Min
H thng tên min mt thiết kế dch v tên s d liu đặt
tên chính đưc s dng trên Internet. đưc nghĩ ra ch yếu bi
Mockapetris đưc ch định trong RFC 1034 [Mockapetris 1987]
RFC 1035. DNS đã thay thế đồ đt tên Internet ban đu, trong đó
tt c các tên đa ch máy ch đưc gi trong mt tp chính trung
tâm duy nht đưc FTP ti xung cho tt c các máy tính u cu
chúng [Harrenstien et al. 1985]. Đề án ban đầu này đã sm đưc
nhìn thy ba thiếu sót ln:
không m rng quy cho s ng ln máy tính.
Các t chc địa pơng mun qun h thng đt tên
ca riêng h.
Mt dch v tên chung cn thiết - không phi mt dch v
ch phc v cho vic tra cu địa ch máy tính.
Các đối ng đưc đt tên bi DNS ch yếu máy nh - ch yếu
địa ch IP đưc lưu tr i dng thuc tính - nhng chúng i
đã đề cp trong chương này tên min đặt tên
23
đưc gi đơn gin n min trong DNS. Tuy nhiên, v nguyên tc,
bt k loi đối ng nào ng th đưc đặt tên kiến trúc ca
cung cp phm vi cho nhiu trin khai khác nhau. Các t chc
phòng ban trong đó th qun d liu đt tên ca rng h. Hàng
triu n b ràng buc bi DNS Internet các tra cu đưc thc hin
chng li t khp nơi trên thế gii. Bt k tên nào ng th đưc
gii quyết bi bt k khách hàng nào. Điu này đạt đưc bng
cách
phân vùng phân cp s d liu tên, bng cách sao chép d liu
đặt tên bng b nh đệm.
Tên min: DNS đưc thiết kế để s dng trong nhiu trin khai,
mi trin khai th không gian tên riêng. Tuy nhiên, trên thc tế,
ch mt cái đưc s dng rng rãi đó cái đưc s dng
để đặt tên trên Internet. Không gian n DNS Internet đưc phân
vùng c v mt t chc theo địa lý. Các tên đưc viết vi tên
min cp cao nht bên phi. Các tên min t chc cp cao nht
ban đầu (còn đưc gi tên min chung) đưc s dng trên Internet
là:
.
co
m
giá
o
d
c
Ch
ính
ph
T chc thương mi
Các trường đại hc các
t chc giáo dc khác
quan chính ph Hoa
K
Mil T chc quân s Hoa
K
m Các trung tâm h tr
n mng ln
g
Or Các t chc không
g đưc đề cp trên
Int T chc quc tế
Các tên min cp cao mi như biz mobi đã đưc thêm vào t
đầu
nhng
năm
2000.
Danh
sách
đầy
đủ
các
tên
min
24
chung hin ti sn t Internet Assigned Numbers Authority
[www.iana.org I].
Ngoài ra, mi quc gia đều tên min riêng:
chú
ng
tôi
ơn
g qu
c
An
h
Hoa K
Vương
quc
Anh
Fr
Pháp
...
...
Các quc gia, đc bit nhng quc gia khác ngoài Hoa K thường
s dng n min ph ca riêng h để phân bit t chc ca h.
d, Vương quc Anh các n min co.uk ac.uk, ơng ng vi
com edu tương ng (ac viết tt ca 'cng đồng hc thut').
Lưu ý rng, mc
hu t Vương quc
Anh nghe v địa lý,
mt tên min như doit.co.uk th d liu đề cp đến máy tính
trong văn phòng Tây Ban Nha ca Doit Ltd., mt
công ty danh nghĩa
ca Anh. Nói cách khác, ngay c các tên min nghe v địa cũng
thông thường hoàn toàn đc lp vi v t thc tế ca chúng.
Truy vn DNS: Internet DNS ch yếu đưc s dng để phân
gii tên máy ch đơn gin để tra cu máy ch thư
đin t, như
sau:
Độ phân gii tên máy ch: Nói chung, các ng dng s dng DNS để
phân gii tên máy ch thành địa ch IP. d: khi trình duyt web đưc
cung cp URL cha tên min www.dcs.qmul.ac.uk, s thc hin
yêu cu DNS ly địa ch IP ơng ng. Như đã đưc ch ra trong
Chương 4, các trình duyt sau đó s dng HTTP để giao tiếp vi
y ch web ti đa ch IP đã cho, s dng s cng dành riêng nếu
không cng nào đưc ch định trong URL. Các dch v FTP
SMTP hot động theo cách tương t; d: mt cơng
trình FTP
th đưc cung cp tên min ftp.dcs.qmul.ac.uk th thc hin
mt cuc điu tra DNS để ly địa ch IP
25
ca sau đó s dng TCP để giao tiếp vi ti s cng dành
riêng.
V trí máy ch thư: Phn mm thư đin t s dng DNS để phân gii
tên min thành địa ch IP ca máy ch thư - tc máy tính s chp
nhn thư cho các min đó. d: khi đa ch tom@dcs.rnx.ac.uk
đưc gii quyết, DNS đưc truy vn vi địa ch dcs.rnx.ac.uk
hiu loi 'mail'. tr v mt danh ch các tên min ca các máy ch
lưu tr th chp nhn thư cho dcs.rnx.ac.uk, nếu điu đó tn ti (và,
tùy chn, các địa ch IP tương ng). DNS th tr v nhiu n
min để phn mm thư th th các la chn thay thế nếu máy ch
thư chính không th truy cp đưc mt s do. DNS tr v giá
tr tùy chn s nguyên cho mi máy ch thư, cho biết th t th máy
ch thư.
Mt s loi truy vn khác đưc trin khai trong mt s cài đặt nhưng ít
đưc s dng n so vi các loi truy vn va đưa ra là:
Độ phân gii ngược: Mt s phn mm yêu cu tr v tên min vi
địa ch IP. Đây ch s đảo ngưc ca truy vn n máy ch thông
thường, nhưng y ch tên nhn truy vn ch tr li nếu địa ch IP
nm trong min riêng ca .
Thông tin máy ch: DNS th u tr kiu kiến trúc máy h điu
hành vi n min ca máy ch. ý kiến cho rng tùy chn này
không nên đưc s dng nơi công cng, cung cp thông tin
hu ích cho nhng người c gng truy cp trái phép vào máy tính.
V nguyên tc, DNS th đưc s dng để lưu tr các thuc nh
tùy ý. Mt truy vn đưc ch định bi mt n min, lp loi. Đối
vi n min trên Internet, lp IN. Loi truy vn ch định xem địa ch
IP, máy ch thư, y ch đnh danh hoc mt s loi thông tin khác
bt buc. Mt n min đc bit, in-addr.arpa, tn ti để gi địa ch IP
để tra cu ngưc. Thuc tính class đưc s dng đ phân bit, d,
s d liu đặt n Internet vi các s d liu đt tên DNS (th
nghim) khác. Mt tp hp các kiu đưc định nghĩa cho mt s
d liu nht định; nhng người cho s d liu Internet đưc
đưa
ra trong nh 13.5.
y ch định danh DNS: Các vn đề v quy đưc x
bng cách kết hp phân vùng s d liu đặt tên sao chép
lưu vào b nh đệm các phn ca gn vi các
26
đim cn thiết. s d liu DNS đưc phân phi trên mt mng i
y ch logic. Mi y ch nm gi mt phn ca s d liu đặt
tên - ch yếu d liu cho min cc b. Các truy vn liên quan đến
y tính trong min cc b đưc tha mãn bi các máy ch trong
min đó. Tuy nhiên, mi máy ch ghi li tên min địa ch ca các
y ch tên khác, đ các truy vn liên quan đến các đi ng bên
ngoài min th đưc tha mãn.
D liu đt tên DNS đưc chia thành các vùng. Mt vùng cha d
liu sau:
D liu thuc tính cho các tên trong mt min, tr bt k min ph
nào do các quan cp thp hơn qun lý. d: mt ng th
cha d liu cho Queen Mary, Đại hc London - qmul.ac.uk - ít
hơn d liu do các phòng ban nm gi (ví d: Khoa Khoa hc y
tính - dcs.qmul.ac.uk).
Tên địa ch ca ít nht hai máy ch định danh cung cp d liu
thm quyn cho khu vc. Đây nhng phiên bn d liu vùng
th đưc da vào cp nht hp lý.
Tên ca y ch định danh cha d liu thm quyn cho các
tên min ph đưc y quyn; 'dán' d liu cung cp địa ch
IP ca các y ch này.
Các tham s qun vùng, chng hn như các tham s chi phi b
nh đệm sao chép d liu ng.
Mt máy ch th gi d liu thm quyn cho không hoc
nhiu ng. vy, d liu đặt tên sn ngay c khi
mt máy ch
duy nht b li, kiến trúc DNS ch đnh rng mi vùng phi đưc sao
chép thm quyn trong ít nht hai máy ch.
Qun tr viên h thng nhp d liu cho mt vùng o tp chính, đây
ngun d liu thm quyn cho vùng. hai loi máy ch đưc coi
cung cp d liu thm quyn. Máy ch chính
hoc máy ch
chính
đọc d liu vùng trc tiếp t tp chính cc b.
Máy ch th
cp ti xung d liu vùng t máy ch chính. H liên lc đnh k vi
y ch chính đ kim tra xem phiên bn đưc lưu tr ca h
khp vi phiên bn đưc lưu tr bi máy ch chính hay không.
Nếu bn sao ca trường trung hc đã li thi, bn chính s gi cho
bn sao đó phiên bn mi nht. Tn sut kim tra th cp
27
đưc qun tr viên đặt làm tham s ng giá tr ca thường
mt hoc hai ln mt ngày.
Bt k máy ch nào cũng th t do u tr d liu t các máy ch
khác để tránh phi liên h vi h khi độ phân gii tên yêu cu li
ng mt d liu; thc hin điu này vi điu kin khách hàng
đưc thông báo rng d liu đó không thm quyn như đưc
cung cp. Mi mc nhp trong mt ng g tr thi gian tn ti.
Khi mt máy ch không thm quyn lưu tr d liu t mt máy ch
thm quyn, s ghi li thi gian tn ti. s ch cung cp
d liu đưc lưu trong b nh cache cho khách hàng cho đến thi
đim này; Khi đưc truy vn sau khi hết khong thi gian, s
liên h li vi máy ch thm quyn để kim tra d liu ca nó. Đây
mt tính năng hu ích giúp gim thiu ng lưu ng mng trong
khi vn gi đưc s linh hot cho qun tr viên h thng. Khi các thuc
tính d kiến s hiếm khi thay đổi, chúng th đưc cung cp mt
thi gian ln tương ng đ sng. Nếu qun tr viên biết rng các
thuc tính th s sm thay đổi, h th gim thi gian tn ti
tương ng.
Hình 13.4 cho thy s sp xếp ca mt s s d liu DNS như
đứng trong năm 2001. d này cũng giá tr như nhau ngày nay
ngay c khi mt s d liu đã thay đi khi h thng đã đưc cu nh
li theo thi gian. Lưu ý rng, trong thc tế, các máy ch gc như
a.root-servers.net gi các mc nhp cho mt s cp độ tên min,
ng như các mc nhp cho tên min cp mt. Điu này để
gim s c điu ng cn thiết để gii quyết tên min. Máy ch
tên gc gi các mc nhp thm quyn cho các máy ch đnh danh
cho các tên min cp cao nht. Chúng cũng y ch tên thm
quyn cho các tên min cp cao nht chung, chng hn như com
edu. Tuy nhiên, máy ch tên gc không phi y ch định danh
cho các min quc gia. d:
tên min uk mt tp hp các máy
ch đnh danh, mt trong s đó đưc gi ns1.nic.net. Các máy ch
định danh này biết các máy ch định danh cho các tên min cp hai
Vương quc Anh như ac.uk co.uk. c
y ch đnh danh cho
tên min ac.uk biết các máy ch định danh cho tt c các tên min đại
hc trong c, chng hn như qmul.ac.uk hoc ic.ac.uk. Trong mt
s trường hp, mt tên min đại hc y
28
An
thác mt s tch nhim ca mình cho mt tên min ph, chng hn
như dcs.qmul.ac.uk.
Thông tin min gc đưc máy ch chính sao chép sang mt tp hp
c y ch ph, như đưc t trên. Mc vy, các máy ch
gc phc v hàng nghìn hoc:
Hình 13.4: Máy ch định danh DNS
a.root-servers.net
(r
)
ns1.nic.uk
(V )
ư
ơn
g
co.uk
qu
ac.uk
c
An
h
V
p
ư
urdue.edu
y
ơ
a
n
hoo.com
g
qu
c
ns0.ja.net
(ac.uk)
h
ic.ac.uk
qmul.ac.uk
ns.purdue.edu
(purdue.ed)u
*.purdue.edu
dcs.qmul.ac.uk
*.qmul.ac.uk
*.dcs.qmul.ac.uk *.ic.ac.uk
alpha.qmul.ac.uk
(qmul.ac.u)k
dns0.dcs.qmul.ac.uk
(dcs.qmul.ac.u)k
dns0-doc.ic.ac.uk
(ic.ac.uk)
Tên y ch n đưc in nghng các min tương ng nm
trong ngoc đơn. Mũi tên biu th các mc nhp máy ch tên. Nhiu
truy vn hơn mi giây. Tt c các máy ch DNS lưu tr địa ch ca
mt hoc nhiu máy ch tên gc, không thay đổi thường xuyên.
H cũng thường lưu tr đa ch ca mt máy ch thm quyn
cho tên min m. Mt truy vn liên quan đến tên min ba thành phn
như www.berkeley.edu th đưc tha mãn bng cách s dng
hai c điu ng ti t nht: mt đến máy ch gc lưu tr mc
nhp máy ch tên thích hp c th hai đến máy ch tên
đưc tr v.
Tham kho Hình 13.4, jeans-pc.dcs.qmul.ac.uk tên min th
đưc tra cu t bên trong dcs.qmul.ac.uk bng cách s dng
dns0.dcs.qmul.ac.uk máy ch cc b. Máy ch này không lưu tr
mc nhp cho www.ic.ac.uk máy ch web, nng gi mt mc
nhp đưc lưu trong b nh cache
29
cho ic.ac.uk (mà ly đưc t máy ch đưc y quyn ns0.ja.net).
th liên h vi dns0doc.ic.ac.uk máy ch để gii quyết tên đầy
đủ.
Điu ng x truy vn: Máy khách DNS đưc gi trình
phân gii. thường đưc trin khai như phn mm thư vin.
chp nhn các truy vn, định dng chúng thành các tin nhn dng
d kiến theo giao thc DNS giao tiếp
vi mt hoc nhiu máy
ch tên để đáp ng các truy vn. Mt giao thc yêu cu-tr li đơn
gin đưc s dng, thường
s dng c gói UDP trên Internet (máy
ch DNS s dng s cng ni tiếng). Trình phân gii hết thi gian
ch gi li truy vn ca nếu cn. Trình phân gii th đưc
cu hình đ liên h vi danh sách các máy ch đnh danh ban đầu
theo th t ưu tiên trong trưng hp mt hoc nhiu máy ch
không
kh dng.
Hình 13.5: Bn ghi tài nguyên DNS
Mt Địa ch máy tính
(IPv4)
AAAA Địa ch máy tính
(IPv6)
NS y ch tên thm
quyn
CNAME Tên chun cho
danh
SOA Đánh du s bt đầu
ca d liu cho mt
vùng
PTR
Con tr tên min (tra
cu ngưc)
HINFO
Thông tin máy ch
lưu tr
S IPv4
S IPv6
Tên min cho y ch
Tên min cho danh
Các thông s chi phi
vùng
Tên min
Kiến trúc máy h
điu hành
MX Trao đổi t Danh ch các cp
<ưu tiên, ch nhà>
30
Loi
bn
ghi
Ý nghĩa
Ni dung cnh
tên min Thi . ki giá tr
.TXT
Chui văn bn Văn bn tùy ý
Kiến trúc DNS cho phép điu ng đệ quy cũng như điu ng
lp li. Trình phân gii ch định loi điu ng nào bt buc khi liên
h vi máy ch định danh. Tuy nhiên, y ch định danh không b
ràng buc đ thc hin điu ng đ quy. Như đã ch ra trên,
điu ng đệ quy th buc các lung máy ch, nghĩa các
yêu cu khác th b trì hoãn.
Để tiết kim giao tiếp mng, giao thc DNS cho phép nhiu truy vn
đưc đóng gói vào ng mt thông báo yêu cu cho các máy ch
định danh tương ng đ gi nhiu câu tr li trong tin nhn phn hi
ca chúng.
Bn ghi tài nguyên: D liu vùng đưc lưu tr bi máy ch định
danh trong các tp thuc mt trong mt s loi bn ghi tài nguyên c
định. Đi vi s d liu Internet, chúng bao gm các loi đưc đưa
ra trong Hình 13.5. Mi bn ghi đề cp đến mt tên min, không đưc
hin th. Các mc trong bng đề cp đến các mc đã đưc đề cp,
ngoi tr các bn ghi AAAA lưu tr địa ch
IPv6 trong khi bn ghi
A lưu tr địa ch IPv4 các mc TXT đưc bao gm để cho phép
lưu tr thông tin khác y ý cùng vi tên min.
D liu cho mt ng bt đầu vi bn ghi kiu SOA, cha các tham s
vùng xác định, d, s phiên bn tn sut th cp s làm mi
bn sao ca chúng. Tiếp theo danh ch các bn ghi loi NS ch
định y ch tên cho min danh sách các bn ghi loi MX cung cp
tên min ca máy ch thư, mi tin t mt s th hin s tch
ca nó. d, mt phn ca s d liu cho dcs.qmul.ac.uk tên
min ti mt thi đim đưc th hin trong Hình 13.6, trong đó thi
gian sng 1D nghĩa 1 ngày. Các bn ghi khác ca loi A sau này
trong s d liu cung cp đa ch IP cho hai máy ch tên
dns0
dns1. Địa ch IP ca máy ch t máy ch tên th ba đưc
cung cp trong s d liu tương ng vi min ca chúng.
Hình 13.6: Bn ghi d liu vùng DNS
31
gian
để
sng
class
u
dcs.qmul.a
1D
TRO
NS
DNS0
c.uk
NG
dcs.qmul.a
1D
TRO
NS
DNS1
c.uk
NG
dcs.qmul.a
1D
TRO
M
1
c.uk
NG
X
mail1.qmul.a
c.uk
dcs.qmul.a
1D
TRO
M
2
c.uk
NG
X
mail2.qmul.a
c.uk
Phn ln các bn ghi còn li trong khu vc cp thp hơn như
dcs.qmul.ac.uk s thuc loi A ánh x tên min ca máy tính o
địa ch IP ca nó. Chúng th cha mt s danh cho các dch v
ni tiếng, d:
tên min
Thi gian
để sng
.
class
kiu
giá tr
www
1D
TRO
CNAM
giao thông
NG
E
giao
1D
TRO
Mt
138.37.95
thông
NG
.150
Nếu tên min bt k n min ph nào, s thêm các
bn ghi loi NS ch đnh máy ch tên ca chúng, cũng s c mc
A riêng l . d: ti mt thi đim, s d liu cho qmul.ac.uk cha
c bn ghi sau cho các y ch n trong tên min ph
dcs.qmul.ac.uk ca nó:
tên
min
Thi gian
để sng
.
class
kiu
giá tr
Dcs
1D
TRO
NS
dns0.dcs
NG
dns0.dc
1D
TRO
Mt
138.37.88.2
s
NG
49
Dcs
1D
TRO
NS
DNS1.DCS
32
DNS1.D
CS
NG
1D TRO
NG
Mt 138.37.94.2
48
Chia s ti theo máy ch đnh danh: Ti mt s trang web,
c dch v đưc s dng nhiu như Web FTP đưc h tr bi mt
nhóm các máy tính trên cùng mt mng. Trong trường hp này, cùng
mt tên min đưc s dng cho mi thành viên ca nhóm. Khi mt tên
min đưc chia s bi nhiu máy nh, mt bn ghi cho mi y
tính trong nhóm, cung cp địa ch IP ca nó. Theo mc định, y
ch định danh tr li các truy vn nhiu bn ghi khp vi tên đưc
yêu cu bng cách tr v các địa ch IP theo lch trình ng tròn. c
y khách kế tiếp đưc cp quyn truy cp vào các máy ch khác
nhau đ các y ch th chia s khi ng ng vic. B nh đm
kh năng làm hng c đ này, mt khi y ch tên kng
thm quyn hoc máy khách địa ch ca máy ch trong b nh
cache ca nó, s tiếp tc s dng nó. Để chng li hiu ng y,
c h đưc đưa ra mt thi gian ngn để sng.
Vic trin khai BIND ca DNS: Berkeley Internet Name Domain
(BIND) mt trin khai DNS cho các máy tính chy UNIX. Các
chương trình y khách liên kết trong phn mm t vin i dng
trình phân gii. Máy ch định danh DNS chy daemon tên.
BIND cho phép ba loi máy ch đnh danh: máy ch chính, máy ch
ph y ch ch b nh đm. Chương trình đưc đặt tên ch thc
hin mt trong các loi y, theo ni dung ca tp cu nh. Hai loi
đầu tiên như đưc t trên. c máy ch ch lưu vào b nh
đệm đọc t tp cu hình đ tên địa ch ca các máy ch
thm quyn để phân gii bt k tên nào. Sau đó, h ch u tr d
liu d liu này h tìm hiu bng cách phân gii n cho kch
hàng.
Mt t chc đin hình mt máy ch chính, vi mt hoc nhiu máy
ch ph cung cp tên phc v trên các mng cc b khác nhau ti
trang web. Ngoài ra, các y tính nhân thường chy máy ch ch
b nh đệm ca riêng chúng, để gim lưu ng mng tăng tc
thi gian phn hi hơn na.
Tho lun v DNS: Vic trin khai DNS Internet đt đưc thi
gian phn hi trung bình ơng đối ngn cho các tra cu,
33
xem xét ng d liu đặt tên quy ca các mng liên quan.
Chúng tôi đã thy rng đạt đưc điu này bng cách kết hp phân
vùng, sao chép lưu o b nh đệm d liu đặt tên. Các đi ng
đưc đặt tên ch yếu máy nh, máy ch đnh danh máy ch thư.
Ánh x n-địa ch IP ca y tính (máy ch) thay đổi ơng đi hiếm,
ng như danh tính ca máy ch định danh máy ch thư, do đó b
nh đệm sao chép xy ra trong mt môi trường ơng đối khoan
dung.
DNS cho phép đặt n d liu tr nên không nht quán. Đó là, nếu d
liu đặt tên đưc thay đổi, t các máy ch khác th cung cp
cho khách hàng d liu trong các khong thi gian theo th t
ngày. Kng k thut sao chép nào đưc khám phá trong Chương
18 đưc áp dng. Tuy nhiên, s không nht quán không hu qu
cho đến khi khách hàng c gng s dng d liu cũ. DNS không t
gii quyết mc độ cng ca đa ch đưc phát hin.
Ngoài máy tính, DNS cũng đặt n cho mt loi dch v c th
- dch v thư - trên s mi min. DNS gi đnh ch mt dch v
thư cho mi min đưc đa ch, vy ngưi dùng không phi bao
gm tên ca dch v này mt cách ràng trong tên. c ng dng
thư đin t chn dch v này mt cách minh bch bng cách s dng
loi truy vn thích hp khi liên h vi máy ch DNS.
Tóm li, DNS u tr nhiu loi d liu đt tên hn chế, nhưng điu
này đủ cho đến khi các ng dng n thư đin t áp đặt đồ
đặt tên rng ca chúng lên trên tên min. th lp lun rng
s d liu DNS đi din cho mu s chung thp nht ca nhng s
đưc coi hu ích bi nhiu cng đồng ngưi dùng trên Internet.
DNS không đưc thiết kế để tr thành dch v tên duy nht trên
Internet; cùng tn ti vi các dch v thư mc n cc b lưu tr
d liu phù hp nht vi nhu cu địa phương (chng hn như Dch
v thông tin mng ca Sun, u tr mt khu đưc hóa, d,
hoc Dch v Active Directory ca Microsoft [www.microsoft.com I], lưu
tr thông tin chi tiết v tt c các tài nguyên trong mt min).
Điu còn li n mt vn đề tim n đối vi thiết kế DNS độ
cng ca đối vi nhng thay đổi trong cu trúc ca không gian tên
thiếu kh năng tùy chnh không gian n
cho phù hp vi nhu cu
địa phương. Nhng khía cnh này ca thiết kế đặt tên đưc đưa ra
bi nghiên cu đin hình ca
34
Dch v tên toàn cu trong Phn 13.4. Nhưng trước đó, chúng tôi xem
xét các dch v thư mc.
13.3 Dch V T Mc
Chúng tôi đã t cách dch v định danh lưu tr các b sưu
tp <tên, thuc nh> cp cách các thuc tính đưc tra cu t tên.
Điu t nhiên phi xem xét kép ca s sp xếp này, trong đó các
thuc tính đưc s dng làm giá tr cn tra cu. Trong các dch v
này, tên văn bn th đưc coi mt thuc tính khác. Đôi khi
ngưi dùng mun tìm mt ngưi hoc tài nguyên c th, nhưng h
không biết tên ca , ch biết mt s thuc tính khác ca nó. d:
ngưi dùng th hi: 'Tên ca người dùng s đin thoi 020-555
9980 gì?' Tương t như vy, đôi khi ngưi ng u cu mt dch
v, nhưng h không quan tâm đến thc th h thng nào cung cp
dch v đó, min dch v th truy cp thun tin. d: ngưi
dùng th hi, 'Máy tính nào trong a nhà này Macintosh chy h
điu hành Mac OS X?' hoc 'Tôi th in hình nh màu độ phân
gii cao đâu?'
Dch v lưu tr các tp hp các ràng buc gia n thuc tính tra
cu các mc nhp khp vi thông s k thut da trên thuc tính
đưc gi dch v thư mc.
d như Active Directory Services ca Microsoft, X.500 ngưi anh
em h LDAP (đưc t trong Phn 13.5), Univers [Bowman et al.
1990] H [Peterson 1988]. Dch v t mc đôi khi
đưc gi
dch v trang ng các dch v tên thông thưng đưc gi ơng
ng dch v trang trng, tương t như c loi danh b đin thoi
truyn thng. Dch v t mc đôi khi còn đưc gi dch v tên da
trên thuc tính.
Dch v thư mc tr v tp hp c thuc tính ca bt k đối ng
nào đưc tìm thy để khp vi mt s thuc tính đưc ch đnh.
vy, d: yêu cu 'TelephoneNumber = 020 555 9980' th tr v
{'Name = John Smith', 'TelephoneNumber
= 020 555 9980', 'emailAddress =
john@dcs.gormenghast.ac.uk',
...}.
Khách
hàng
th
ch
35
định rng ch mt tp hp con ca các thuc tính đưc quan m
-
d:
ch
địa
ch
email
ca
các
đối
ng
p
hp.
X.500 mt s dch v t mc khác cũng cho phép các đi ng
đưc tra cu bng các tên văn bn phân cp thông thường. Dch v
Khám phá T mc Ph quát (UDDI), đưc trình bày trong Phn
9.4, cung cp c dch v trang trng trang vàng đ cung cp thông
tin v c t chc dch v web h cung cp.
UDDI sang mt bên, thut ng
dch v khám phá tng biu th
trường hp đc bit ca dch v t mc cho các dch v đưc cung
cp bi c thiết b trong i trường mng t phát. Như Mc 1.3.2 đã
t, các thiết b trong mng t phát kh năng kết ni ngt
kết ni không th đoán trưc. Mt s khác bit ct lõi gia dch v
khám phá các dch v thư mc khác địa ch ca dch v thư mc
thường đưc biết đến đưc cu hình sn trong các máy khách,
trong khi mt thiết b vào môi trưng mng t phát phi ng đến điu
ng đa ng, ít nht ln đu tiên truy cp dch v khám phá
cc b. Mc 19.2.1 t chi tiết các dch v khám phá. c thuc
tính ràng mnh hơn tên gi ca các đối ng:
Các cơng trình th đưc viết đ chn các đối ng theo thông
s k thut thuc tính chính xác nơi tên th không đưc biết đến.
Mt ưu đim khác ca các thuc tính chúng không để l cu trúc
ca các t chc vi thế gii bên ngoài, cũng như các tên đưc phân
vùng theo t chc. Tuy nhiên, s đơn gin tương đối ca vic s dng
tên văn bn khiến chúng khó th đưc thay thế bng đặt n da
trên thuc tính trong nhiu ng dng.
13.4 Nghiên Cu Đin Hình: Dch V Tên Tn Cu
Dch v tên toàn cu (GNS) đưc thiết kế trin khai bi
Lampson các đồng nghip ti Trung m nghiên cu h thng DEC
[Lampson 1986] để cung cp các s cho v trí tài nguyên, địa ch thư
xác thc. Các mc tiêu thiết kế ca GNS đã đưc lit cui Phn
13.1; Chúng phn ánh thc tế rng mt dch v tên để s dng trong
internetwork phi h tr s d liu đt tên th m rng để bao
gm tên ca ng triu
36
y tính (cui cùng) địa ch email cho hàng t ngưi ng. c nhà
thiết kế ca GNS cũng nhn ra rng s d liu đặt tên kh năng tn
ti lâu dài phi tiếp tc hot động hiu qu trong khi phát trin
t quy nh đến quy ln trong khi mng i da trên
phát trin. Cu trúc ca không gian tên th thay đổi trong thi gian đó
để phn ánh nhng thay đổi trong cu trúc t chc. Dch v phi phù hp
vi nhng thay đổi v tên ca các nhân, t chc nhóm nm
gi nhng thay đổi trong cu trúc đặt tên như nhng thay đi xy ra khi
mt công ty đưc tiếp qun bi mt công ty khác.
Trong t này, chúng tôi tp trung vào nhng tính năng ca thiết kế
cho phép phù hp vi nhng thay đổi như vy.
s d liu đặt n ln tim năng quy ca môi trường phân n
trong đó GNS đưc d đnh hot động làm cho vic s dng b nh đệm
tr nên cn thiết khiến vic duy trì tính nht quán hoàn tn gia tt
c các bn sao ca mc nhp s d liu tr nên cc k k khăn.
Chiến c nht quán b nh cache đưc áp dng da trên gi định
rng các bn cp nht cho s d liu s không thường xuyên
vic ph biến chm các bn cp nht chp nhn đưc, khách hàng
th phát hin khôi phc t vic s dng d liu đặt tên li thi.
GNS qun mt s d liu đặt n bao gm mt cây các thư mc
cha tên giá tr. Các thư mc đưc đặt tên theo tên đưng dn
nhiu phn đưc gi thư mc gc hoc liên quan đến thư mc làm
vic, ging như tên tp trong h thng tp UNIX. Mi thư mc cũng
đưc gán mt s nguyên, đóng vai trò định danh thư mc duy nht
(DI). Trong phn này, chúng tôi s dng tên in nghiêng khi đề cp đến
DI ca mt thư mc, đ EC định danh ca thư mc EC. Mt thư mc
cha mt danh sách c n tài liu tham kho. c giá tr đưc lưu
tr
ca cây t mc đưc t chc thành cây giá tr, đ các thuc
tính đưc liên kết vi tên th các giá tr cu trúc.
Tên trong GNS hai phn: <tên thư mc, n giá tr>. Phn đầu tiên xác
định mt thư mc; Th hai đề cp đến mt cây giá tr, hoc mt s phn
ca cây giá tr. d, xem Hình 13.7, trong đó các DI đưc minh ha i
dng các s nguyên nh (mc chúng thc s đưc chn t mt lot
c s ngun để đảm bo
37
tính duy nht). c thuc tính ca ngưi ng Peter.Smith trong thư mc
QMUL s đưc lưu tr trong cây giá tr n
<EC/UK/AC/QMUL, Peter.Smith>. Cây giá tr bao gm mt mt khu,
th đưc tham chiếu <EC / UK / AC / QMUL, Peter.Smith / password>
mt s địa ch thư, mi địa ch s đưc lit trong cây giá tr i
dng mt nút duy nht vi tên
<EC / UK / AC / QMUL, Peter.Smith / mailboxes>.
Cây thư mc đưc phân vùng lưu tr trong nhiu máy ch, vi mi
phân vùng đưc sao chép trong mt s y ch. Tính nht quán ca cây
đưc duy trì khi đối mt vi hai hoc nhiu bn cp nht đồng thi -
d: hai ngưi dùng th đng thi c gng to các mc cùng tên
ch mt người thành công. c t mc đưc sao chép trình bày mt
vn đ nht quán th hai; Điu này đưc gii quyết bng thut toán phân
phi cp nht không đồng b đảm bo tính nht quán cui cùng, nhưng
không đảm bo rng tt c các bn sao luôn cp nht.
Hình 13.7: Cây thư mc GNS cây giá tr cho ngưi dùng
Peter.Smith
DI: 599
(EC)
Thích ng vi s thay đổi: Bây gi chúng ta chuyn sang các
khía cnh ca thiết kế liên quan đến vic h tr ng trưng
thay đổi cu trúc ca s d liu đặt tên. cp độ khách hàng
qun tr viên, s tăng trưởng đưc cung cp thông qua vic m rng
y thư mc theo ch thông thường. Nhưng chúng tôi th mun
tích hp các cây đặt
38
DI: 543
DI: 322
QMUL
FR
ơn
g
qu
c
An
h
DI: 574
DI: 437
AC
Peter.Smith
hp thư
mt khu
Alpha Bêta Gamma
tên ca hai dch v GNS riêng bit trưc đây. d, làm thế nào
chúng ta th tích hp s d liu bt ngun t t mc EC
đưc hin th trong nh 13.7 vi mt s d liu khác cho BC
M? Hình 13.8 cho thy mt gc mi, WORLD, đưc gii thiu phía
trên r hin ca hai y s đưc hp nht. Đây mt k thut
đơn gin, nhưng nh ng như thế nào đến các khách hàng tiếp
tc s dng c tên đưc gi 'gc' trưc khi ch hp din ra?
d: < / UK / AC / QMUL, Peter.Smith> tên đưc khách hàng s
dng trưc khi tích hp. mt tên tuyt đối (vì bt đu bng
hiu cho gc, '/'), nhưng gc đề cp đến EC, không phi
WORLD.
EC BC M ngun
gc hot động - bi cnh ban
đầu da trên nhng tên bt đầu bng gc '/' s đưc tra cu.
Hình 13.8: Hp nht cây i mt gc mi
T mc ni tiếng:
#599 = #633/EC
#642 = #633/BC M
DI: 633 (TH GII)
EC
BC M
DI: 599 DI: 642
DI: 543
FR
ơn
g
qu
c
An
h
DI: 574 DI: 732
Ch
ún
g
tôi
CANADA
DI: 457
Hình 13.9: Tái cu trúc t mc
DI: 633 (TH GII)
T mc ni tiếng:
#599 = #633/EC
#642 = #633/BC M
EC
DI: 599
BC M
DI: 642
DI: 543
FR
Ch Ch
:
CANADA
DI: 457
ơn
g
DI: 574
ún
DI
g
732
ún
g
qu
c
An
tôi
#633
t
/
ô
E
i
C/US
h
39
S tn ti ca các định danh thư mc duy nht th đưc s
dng để gii quyết vn đề này. Gc làm vic cho mi chương trình
phi đưc xác định mt phn ca môi trường thc thi ca
(ging như đưc thc hin cho thư mc m vic ca chương trình).
Khi mt khách hàng trong Cng đồng Châu Âu s dng tên ca biu
mu < / UK / AC / QMUL, Peter.Smith>, c nhân ngưi dùng cc b
ca , nhn thc đưc gc làm vic, tin t đnh danh thư mc
EC(#599), do đó to ra tên < # 599 / UK / AC / QMUL, Peter.Smith>.
Tác nhân ngưi dùng chuyn n dn xut này trong u cu tra cu
đến máy ch GNS. Tác nhân ngưi dùng th x tương t vi
c n ơng đối đưc đề cp đến các thư mc làm vic. Kch
hàng nhn thc đưc cu hình mi cũng th cung cp tên tuyt
đối cho máy ch GNS, đưc tham chiếu đến thư mc siêu gc ki
nim cha tt c các định danh thư mc - d: <WORLD / EC / UK
/ AC / QMUL, Peter.Smith> - nhưng thiết kế không th gi đnh rng
tt c các máy khách s đưc cp nht để tính đến thay đi đó.
K thut đưc t trên gii quyết vn đề logic, cho phép ngưi
dùng chương trình y khách tiếp tc s dng các tên đưc xác
định liên quan đến gc ngay c khi mt gc thc mi đưc chèn
vào, nhưng để li mt vn đ thc hin: trong s d liu đặt
tên phân tán th cha ng triu thư mc, làm thế nào dch v
GNS th xác định v trí mt thư mc ch đưc cung cp định danh
ca , Chng hn như # 599? Gii pháp đưc GNS áp dng
lit các t mc đưc s dng làm gc hot đng, chng hn như
EC, trong mt bng 'thư mc ni tiếng' đưc gi trong t mc gc
thc hin ti ca s d liu đặt tên. Bt c khi nào gc thc ca
s d liu đt tên thay đi, như trong Hình 13.8, tt c các máy
ch GNS đều đưc thông báo v v trí mi ca gc thc. Sau đó, h
th gii thích tên ca dng WORLD /
EC / UK / AC / QMUL ược
gi gc thc) theo ch thông thường h th gii thích tên
ca mu # 599 / UK / AC / QMUL bng cách s dng bng 'thư mc
ni tiếng' để dch chúng thành tên đưng dn đầy đủ bt đầu t gc
thc.
40
GNS cũng h tr i cu trúc s d liu để phù hp vi s thay đổi
ca t chc. Gi s rng Hoa K tr thành mt phn ca Cng đồng
châu Âu (!). Hình 13.9 cho thy y thư mc mi. Nhưng nếu y con
ca Hoa K ch đơn gin đưc chuyn đến thư mc EC, các tên bt
đầu WORLD / NORTH AMERICA / US s không còn hot động na.
Gii pháp đưc GNS thông qua chèn mt 'liên kết ng tng'
thay cho mc nhp ban đầu ca Hoa K (đưc in đm trong Hình
13.9). Quy trình tra cu t mc GNS din gii liên kết như mt
chuyn ng đến thư mc Hoa K v trí mi ca .
Tho lun v GNS: GNS ngun gc t Grapevine [Birrell et
al. 1982] Clearinghouse [Oppen Dalal 1983], hai h thng đặt
tên thành công đưc phát trin ch yếu cho mc đích gi thư ca Tp
đoàn Xerox. GNS gii quyết thành công nhu cu v kh năng m
rng cu hình li, nhưng gii pháp đưc áp dng đ hp nht
di chuyn cây thư mc dn đến yêu cu v s d liu (bng
c thư mc ni tiếng) phi đưc sao chép mi nút. Trong mt mng
quy ln, vic cu hình li th xy ra bt k cp độ nào
bng này th phát trin đến kích thước ln, mâu thun vi mc tiêu
kh năng m rng.
13.5 Nghiên Cu Đin Hình: Dch V T Mc
X.500
X.500 mt dch v thư mc theo nghĩa đưc định nghĩa
trong Phn 13.3. th đưc s dng theo cách tương t như mt
dch v tên thông thường, nhưng ch yếu đưc s dng để đáp ng
c truy vn t đưc thiết kế để khám phá tên thuc tính ca
ngưi dùng hoc tài nguyên h thng khác. Người dùng th nhiu
yêu cu khác nhau để tìm kiếm duyt trong mt t mc ngưi dùng
mng, t chc tài nguyên h thng để đưc thông tin v các thc
th thư mc cha. Vic s dng cho mt dch v như vy th khá
đa dng. Chúng bao gm t các yêu cu tương t trc tiếp vi vic s
dng danh b đin thoi, chng hn như truy cp 'trang trng' đơn gin đ
ly đa ch thư đin t ca người dùng hoc truy vn
41
'trang ng' nhm mc đích, d, ly tên s đin thoi ca nhà để xe
chuyên sa cha mt loi xe c th, đến vic s dng thư mc để truy
cp các chi tiết nhân như vai trò công vic, thói quen ăn kiêng hoc
thm chí hình nh chp nh ca c nhân.
Các truy vn như vy th bt ngun t ngưi dùng, trong d 'trang
vàng' đưc đề cp trên hoc t các quy trình, khi chúng
th đưc
s dng để xác định các dch v nhm đáp ng yêu cu chc năng.
Các nhân t chc th s dng dch v t mc để cung cp mt
lot các thông tin v bn thân c tài nguyên h mun cung cp
để s dng trong mng. Người dùng th tìm kiếm thư mc cho thông
tin c th ch vi mt phn kiến thc v tên, cu trúc hoc ni dung ca
nó.
Các t chc tiêu chun ITU ISO đã xác định Dch v Thư mc
X.500 [ITU / ISO 1997] mt dch v mng nhm đáp ng các u cu
này. Tiêu chun đề cp đến như mt dch v để truy cp thông tin v
'các thc th trong thế gii thc', nhưng cũng kh năng đưc s
dng để truy cp thông tin v các dch v thiết b phn cng phn
mm. X.500 đưc ch định mt dch v cp ng dng trong b tiêu
chun Kết ni H thng M (OSI), nhưng thiết kế ca không ph thuc
đáng k vào các
tiêu chun OSI khác th đưc xem như mt
thiết kế cho dch v thư mc mc đích chung. Chúng i phác tho thiết
kế ca dch v thư mc X.500 vic trin khai đây. Đc gi quan
tâm đến t chi tiết hơn v X.500 các phương pháp thc hin
nên nghiên cu cun ch ca Rose v ch đề này [Rose 1992]. X.500
ng s cho LDAP ưc tho lun i đây) đưc s dng
trong dch v thư mc DCE [OSF 1997].
42
DUA
DSA
DSA
DUA
DSA
DSA
DUA
DSA
DSA
Hình 13.10: Kiến trúc dch v X.500
D liu đưc lưu tr trong các máy ch X.500 đưc t chc
theo cu trúc cây vi c nút đưc đt tên, như trong tng hp các
y ch tên khác đưc tho lun trong chương này, nhưng trong
X.500, mt lot các thuc tính đưc lưu tr ti mi nút trong cây
th truy cp không ch bng tên còn bng cách tìm kiếm các
mc nhp vi bt k s kết hp bt buc nào ca các thuc tính.
Cây n X.500 đưc gi Cây thông tin thư mc (DIT) toàn b
cu trúc thư mc bao gm d liu đưc liên kết vi các nút, đưc
gi s thông tin thư mc (DIB). D định mt DIB tích hp
duy nht cha thông tin đưc cung cp bi các t chc trên toàn thế
gii, vi các phn ca DIB nm trong các máy ch X.500 rng l.
Thông thường, mt t chc c trung bình hoc ln s cung cp ít
nht mt máy ch.
Khách hàng truy cp thư mc bng ch thiết lp kết ni vi máy
ch đưa ra yêu cu truy cp. Khách hàng th liên h vi bt k
y ch o vi mt yêu cu. Nếu d liu cn thiết không nm
trong phân đon DIB do máy ch đưc liên h nm gi, s gi
c máy ch khác để gii quyết truy vn hoc chuyn ng máy
khách đến mt y ch khác.
Trong thut ng ca tiêu chun X.500, các máy ch Directory
Service Agents (DSA) các máy khách ca chúng đưc gi
Directory User Agents (DUA). Hình 13.10 cho thy kiến trúc phn mm
mt trong mt s hình điu ng th, vi mi quy trình
y khách DUA tương tác vi mt
43
quy trình DSA duy nht, truy cp các DSA khác khi cn thiết để
đáp ng c yêu cu.
Mi mc trong DIB bao gm mt tên mt tp hp các thuc tính.
Như trong các y ch tên khác, tên đầy đủ ca mt mc nhp tương
ng vi mt đưng dn qua DIT t gc ca cây đến mc nhp.
Ngoài tên đầy đủ hoc tuyt đối, DUA th thiết lp ng cnh,
bao gm nút s sau đó s dng tên tương đi ngn hơn
cung cp đưng dn t nút s đến mc nhp đưc đặt tên.
Hình 13.11 cho thy mt phn ca y thông tin t mc bao gm Đại
hc Gormenghast Anh Hình 13.12 mt trong nhng mc DIB
liên quan. Cu trúc d liu cho các mc trong DIB DIT rt linh hot.
Mc nhp DIB bao gm mt tp hp c thuc tính, trong đó mt thuc
tính mt loi mt hoc nhiu giá tr. Loi ca mi thuc tính
đưc biu th bng tên loi (ví d: countryName, organizationName,
commonName, telephoneNumber, hp thư ,objectClass). Bn th
xác đnh các loi thuc tính mi nếu bt buc. Đối vi mi khác bit.
Hình 13.11: Mt phn ca cây thông tin thư mc X.500
Dch v X.500 (root)
... Pháp (quc gia)Vương quc Anh (quc gia)Hy Lp (quc gia)...
...
BT Plc (t chức)Đại hc Gormenghast (t chc)
...
...
Dch v máy tính (organizationalUnit)
Khoa Khoa hc Máy tính (organizationalUnit)
Phòng K thut (organizationalUnit)
...
...
Nhân viên phòng ban (organizationalUnit)
ely (applicationProcess)
Sinh viên nghiên cu (organizationa
..
l
.
Unit)
... Alice Flintstone (ngườ
.
i
.
)
.
Pat King (ngưi) James Healey (ngườiJ)anet Papworth (ngườ
.
i
.
)
.
44
Tng tin
Alice Flintstone, Nhân viên b phn, Khoa
Khoa hc Máy tính,
Đại hc Gormenghast, GB
tên kiu mt định nghĩa kiu ơng ng, bao gm t kiu
định nghĩa pháp trong hiu ASN.1 (ký hiu chun cho định
nghĩa pháp) xác định biu din cho tt c các giá tr cho phép ca
kiu.
Các mc DIB đưc phân loi theo cách ơng t n các cu trúc lp
đối ng đưc tìm thy trong các ngôn ng lp trình ng đối
ng. Mi mc nhp bao gm mt thuc tính objectClass, xác định
lp (hoc lp) ca đi ng mt mc nhp đề cp đến.
Organization, organizationalPerson document tt c c d v
giá tr objectClass. Các lp tiếp theo th đưc định nghĩa khi
chúng đưc u cu. Định nghĩa ca mt lp xác định thuc tính
nào bt buc thuc tính nào tùy chn cho các mc nhp ca
lp nht đnh. Các định nghĩa ca các lp đưc t chc trong mt h
thng phân cp kế tha trong đó tt c các lp ngoi tr mt ưc
gi topClass) phi cha thuc tính objectClass giá tr ca
thuc tính objectClass phi tên ca mt hoc nhiu lp. Nếu
mt s
g tr objectClass, đối ng kế tha các thuc nh bt
buc tùy chn ca mi lp.
Tên ca mt mc nhp DIB (tên xác đnh v trí ca trong DIT) đưc
xác đnh bng cách chn mt hoc nhiu thuc tính ca làm thuc
tính phân bit. Các thuc tính đưc chn cho mc đích này đưc
gi n phân bit (DN) ca mc nhp.
Hình 13.12: Mc nhp X.500 DIB
45
Tên chung
Alice.L.Flint
Uid
Alf
stone
Alice.Flintst
one
Alice
Flintstone
A. H
Flintstone
Đá la
s đin thoi
+44 986
alf@dcs.gormenghas
t.ac.uk thư
Alice.Flintstone@dcs.go
rmenghast.ac.uk phòngS
phòng
Z42
lp ngưi dùng
Nghiên cu viên
33 4604
Bây gi chúng ta th xem xét các phương thc thư mc
đưc truy cp. hai loi yêu cu truy cp chính: đọc: Mt tên tuyt
đối hoc tương đối (mt tên min trong thut ng X.500) cho mt
mc nhp đưc đưa ra, cùng vi mt danh ch các thuc tính cn
đọc (hoc mt du hiu cho thy tt c các thuc tính bt buc).
DSA định v mc nhp đưc đặt tên bng cách điu ng trong DIT,
chuyn các yêu cu đến c y ch DSA khác nơi không gi c
phn liên quan ca cây. truy xut các thuc tính cn thiết tr
li chúng cho y khách. search: Đây yêu cu truy cp da trên
thuc tính. Tên s biu thc b lc đưc cung cp i dng
đối s. Tên s ch đnh nút trong DIT t đó tìm kiếm s bt
đầu; Biu thc b lc mt biu thc boolean s đưc đánh giá cho
mi t bên i nút s. B lc ch định mt tiêu chí tìm kiếm: mt
s kết hp hp ca các bài kim tra v các giá tr ca bt k thuc
tính o trong mt mc nhp. Lnh tìm kiếm tr v danh ch tên (tên
min) cho tt c các mc bên i nút s b lc đánh giá
TRUE. d, mt b lc th đưc xây dng áp dng đ tìm tên
chung ca các thành viên ca nhân viên chiếm phòng Z42 trong Khoa
Khoa hc Máy tính ti Đại hc Gormenghast (Hình 13.12). Mt yêu
cu đọc sau đó th đưc s dng đ đưc bt k hoc tt c
c thuc tính ca các mc DIB đó.
46
Tìm kiếm th khá tn kém khi đưc áp dng cho c phn ln
ca cây thư mc (có th nm trong mt s máy ch). c đi s b
sung th đưc cung cp để m kiếm để hn chế phm vi, thi
gian cho phép tìm kiếm tiếp tc kích thước ca danh ch các
mc nhp đưc tr v.
Qun tr cp nht DIB: Giao din DSA bao gm các hot
động để thêm, xóa sa đổi các mc. Kim soát truy cp đưc cung
cp cho c truy vn hot động cp nht, vy quyn truy cp vào
c phn ca DIT th b hn chế đi vi mt s người dùng hoc
lp ngưi dùng nht định.
DIB đưc phân vùng, vi k vng rng mi t chc s cung cp ít
nht mt máy ch nm gi các chi tiết ca các thc th trong t chc
đó. c phn ca DIB th đưc sao chép trong mt s máy ch.
mt tiêu chun (hoc 'khuyến ngh' trong thut ng CCITT),
X.500 không gii quyết các vn đề thc hin. Tuy nhiên, k ràng
rng bt k trin khai nào liên quan đến nhiu y ch trong mt
mng din rng phi da vào vic s dng rng rãi các k thut
sao chép lưu vào b nh đệm để tránh chuyn ng quá nhiu
truy vn.
Mt trin khai, đưc t bi Rose [1992], mt h thng đưc phát
trin ti Đại hc College, London, đưc gi QUIPU [Kille 1991].
Trong vic trin khai này, c b nh đm sao chép đu đưc thc
hin cp độ ca các mc nhp DIB riêng l cp độ b sưu tp
c mc nhp ngun
gc t ng mt nút. Gi định rng các giá tr
th tr nên không nht quán sau khi cp nht khong thi
gian tính nht quán đưc khôi phc th vài pt. Hình thc
ph biến cp nht này thường đưc coi chp nhn đưc đi vi các
ng dng dch v t mc.
Giao thc truy cp thư mc nh: Gi định ca X.500 rng c
t chc s cung cp thông tin v bn thân h trong các thư mc công
cng trong mt h thng chung đã đưc chng minh phn ln
không s. Tương t, tính tương thích ca nghĩa s hp
th ca tương đối khiêm
tn.
47
Mt nhóm ti Đại hc Michigan đã đề xut mt cách tiếp cn nh hơn
đưc gi Giao thc truy cp thư mc nh (LDAP), trong đó DUA
truy cp các dch v thư mc X.500 trc tiếp qua TCP / IP thay
c lp trên ca ngăn xếp giao thc ISO. Điu này đưc t trong
RFC 2251 [Wahl et al.
1997]. LDAP cũng đơn gin hóa giao din
thành X.500 theo nhng cách khác: d: cung cp mt API tương
đối đơn gin
thay thế hóa ASN.1 bng hóa văn bn.
Mc thông s k thut LDAP da trên X.500, LDAP không yêu cu
nó. Vic trin khai th s dng bt k máy ch t mc nào khác
tuân theo đc t LDAP đơn gin hơn, ti ngược vi đặc t X.500.
d: Dch v Active Directory ca Microsoft cung cp giao din LDAP.
Không ging như X.500, LDAP đã đưc áp dng rng i, đặc bit
cho các dch v t mc mng ni b. cung cp quyn truy cp an
toàn vào d liu thư mc thông qua xác thc.
13.6 Tóm Tt
Chương này đã t vic thiết kế thc hin các dch v n
trong các h thng phân tán. Dch v đnh danh lưu tr các thuc tính
ca các đối ng trong mt h thng phân tán - đặc bit đa ch ca
chúng - tr v các thuc tính này khi tên văn bn đưc cung cp đ
tra cu. c u cu chính đối vi dch v tên kh năng x s ng
tên tùy ý, tui th cao, tính sn sàng cao, cách ly các li kh năng
chu đựng s ng vc.
Vn đề thiết kế chính cu trúc ca không gian tên - các quy tc
pháp chi phi tên. Mt vn đề liên quan hình đ phân
gii, đưa ra
c quy tc theo đó tên đa thành phn đưc phân gii thành mt tp
hp các thuc tính. Tp hp các tên b ràng buc phi đưc qun lý. Hu
hết các thiết kế xem xét không gian tên đưc chia thành các min.
Các phn ri rc ca không gian tên, mi phn đưc liên kết vi mt
quan duy nht kim soát s ng buc ca các tên trong đó. Vic trin
khai dch v tên th m rng các t chc
48
cng đồng ngưi dùng khác nhau. Nói cách khác, tp hp các ng buc
gia tên thuc nh đưc u tr ti nhiu máy ch định danh, mi
y ch lưu tr ít nht mt phn ca tp hp tên trong min đặt tên. Do
đó, câu hi v điu ng đưc đặt ra - tên th đưc gii quyết
theo th tc nào khi thông tin cn thiết đưc lưu tr ti mt s địa
đim? Các loi điu ng đưc h tr lp li, đa ng, đệ quy do
y ch điu khin điu khin máy ch không đệ quy. Mt khía cnh
quan trng khác ca vic trin khai dch v tên s dng sao chép
lưu vào b nh đm. C hai đều h tr làm cho dch v tính kh dng
cao
c hai ng gim thi gian gii quyết tên.
Chương này đã xem xét hai trường hp chính ca thiết kế thc hin
dch v tên. H thng tên min đưc s dng rng rãi để đặt tên máy tính
gii quyết t đin t trên Internet; đạt đưc thi gian phn hi tt
thông qua sao chép lưu vào b nh đệm. Dch v tên toàn cu
mt thiết kế đã gii quyết vn đề cu hình li không gian tên khi thay
đổi t chc xy ra.
Chương này cũng xem xét các dch v thư mc, cung cp d liu v c
đối ng dch v phù hp khi khách hàng cung cp t da trên
thuc tính. X.500 mt hình cho c dch v thư mc th nm
trong phm vi t các t chc nn đến các thư mc toàn cu. đã
đưc s dng rng rãi hơn trong mng ni b k t khi phn mm LDAP
xut hin.
13.7 Tài Liu Tham Kho
1. Ebook Distributed System: Concepts and Design
49
| 1/49

Preview text:

KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN PHÁT TRIỂN PHẦN MỀM PHÂN TÁN
TÊN ĐỀ TÀI: CHỦ ĐỀ I NGHIÊN CỨU VỀ NAME SERVICE
Nhóm sinh viên thực hiện: STT Họ tên SV lớp Điểm 1
Bùi Văn Hùng 665022 8 2
Hoài Nam 6656204 3 Nghiêm Ngọc 6668091 Nga
Nội, tháng 06/2023 1
NHẬN XÉT CỦA GIẢNG VIÊN 2
BẢNG PHÂN CÔNG NHIỆM VỤ
Sinh viên thực hiện STT Nhiệm vụ Họ tên MSV
Phát hiện và nghiên cứu đề 1 Cả nhóm tài
Nghiên cứu phần 13.1, 13.3 Nghiêm Ngọc 2 6668091 Nga 3 Nghiên cứu phần 13.2
Hoài Nam 6656204
Nghiên cứu phần 13.4, 13.5 665022 4
Bùi Văn Hùng 8 3 Mục lục
13.1 Giới thiệu .................................................................. 6
13.1.1 Tên, Địa Chỉ Các Thuộc Tính Khác ............................... 6
13.2 Dịch Vụ Tên Hệ Thống Tên Miền ...................... 10
13.2.1 Không Gian Tên .................................................................... 11
13.2.2 Phân Giải Tên ......................................................................... 14
13.2.3 Hệ Thống Tên Miền ............................................................... 17
13.3 Dịch Vụ Thư Mục ..................................................... 25
13.4 Nghiên Cứu Điển Hình: Dịch Vụ Tên Toàn Cầu ..... 26
13.5 Nghiên Cứu Điển Hình: Dịch Vụ Thư Mục X.500 .. 30
13.6 Tóm Tắt..................................................................... 36
13.7 Tài Liệu Tham Khảo ................................................ 36 4
Chương này giới thiệu dịch vụ tên như một dịch vụ riêng biệt được sử dụng
bởi các quy trình máy khách để lấy các thuộc tính như địa chỉ của tài
nguyên hoặc đối tượng khi được đặt tên của chúng. Các thực thể được đặt
tên có thể có nhiều loại và chúng có thể được quản lý bởi các dịch vụ khác nhau.
Ví dụ: dịch vụ tên thường được sử dụng để giữ địa chỉ và các chi tiết khác
của người dùng, máy tính, miền mạng, dịch vụ và các đối tượng từ xa.
Cũng như các dịch vụ tên, chúng tôi mô tả các dịch vụ thư mục, tra cứu các
dịch vụ khi được cung cấp một số thuộc tính của chúng.
Các vấn đề thiết kế cơ bản cho các dịch vụ tên, chẳng hạn như cấu
trúc và quản lý không gian tên được dịch vụ công nhận và các hoạt
động mà dịch vụ tên hỗ trợ, được phác thảo và minh họa trong bối
cảnh Hệ thống tên miền Internet (DNS).
Chúng tôi cũng kiểm tra cách các dịch vụ định danh được triển
khai, bao gồm các khía cạnh như điều hướng thông qua một tập
hợp các máy chủ định danh khi phân giải tên, lưu vào bộ nhớ đệm
dữ liệu đặt tên và sao chép dữ liệu đặt tên để tăng hiệu suất và
tính khả dụng.Hai nghiên cứu điển hình khác được bao gồm: Dịch
vụ tên toàn cầu (GNS) và Dịch vụ thư mục X.500, bao gồm LDAP. 5
13.1 Giới thiệu
Trong một hệ thống phân tán, tên được sử dụng để chỉ nhiều
loại tài nguyên như máy tính, dịch vụ, đối tượng và tệp từ xa, cũng
như cho người dùng. Đặt tên là một vấn đề dễ bị bỏ qua nhưng dù
sao cũng là cơ bản trong thiết kế hệ thống phân tán. Tên tạo điều
kiện giao tiếp và chia sẻ tài nguyên.
Một cái tên là cần thiết để yêu cầu một hệ thống máy tính hành động
dựa trên một tài nguyên cụ thể được chọn trong số nhiều tài nguyên;
ví dụ: tên ở dạng URL là cần thiết để truy cập một trang web cụ
thể. Các quy trình không thể chia sẻ các tài nguyên cụ thể được
quản lý bởi một hệ thống máy tính trừ khi chúng có thể đặt tên cho
chúng một cách nhất quán.
Người dùng không thể liên lạc với nhau thông qua một hệ thống phân
tán trừ khi họ có thể đặt tên cho nhau, ví dụ, bằng địa chỉ email.
Tên không phải là phương tiện nhận dạng hữu ích duy nhất: các
thuộc tính mô tả là một phương tiện khác. Đôi khi khách hàng không
biết tên của thực thể cụ thể mà họ tìm kiếm, nhưng họ có một số
thông tin mô tả nó. Hoặc họ có thể yêu cầu một dịch vụ và biết một
số đặc điểm của nó nhưng không biết thực thể nào thực hiện nó.
Chương này giới thiệu các dịch vụ tên, cung cấp cho khách hàng dữ
liệu về các đối tượng được đặt tên trong các hệ thống phân tán và
khái niệm liên quan về dịch vụ thư mục, cung cấp dữ liệu về các đối
tượng thỏa mãn một mô tả nhất định. Chúng tôi mô tả các phương
pháp tiếp cận được thực hiện trong thiết kế và triển khai các dịch vụ
này, sử dụng Dịch vụ tên miền (DNS), Dịch vụ tên toàn cầu (GNS) và X500 làm 6
nghiên cứu điển hình. Chúng tôi bắt đầu bằng cách kiểm tra các khái
niệm cơ bản về tên và thuộc tính. 13.1.1
Tên, Địa Chỉ Các Thuộc Tính Khác
Bất kỳ quá trình nào yêu cầu quyền truy cập vào một tài nguyên
cụ thể phải có tên hoặc số nhận dạng cho tài nguyên đó. Ví dụ về tên
con người có thể đọc được là các tên tệp như
/etc/passwd
, URL như http://www.cdk5.net/ và tên miền Internet như
www.cdk5.net. Thuật ngữ định danh đôi khi được sử dụng để chỉ
các tên chỉ được giải thích bởi các chương trình. Tham chiếu đối
tượng từ xa và xử lý tệp NFS là ví dụ về mã định danh. Số nhận
dạng được chọn cho hiệu quả mà chúng có thể được tra cứu và lưu trữ bằng phần mềm.
Needham [1993] phân biệt giữa một cái tên thuần túy và các tên khác.
Tên thuần túy chỉ đơn giản là các mẫu bit không được giải thích. Tên
không thuần túy chứa thông tin về đối tượng mà chúng đặt tên; Đặc
biệt, chúng có thể chứa thông tin về vị trí của đối tượng. Tên thuần
túy luôn phải được tra cứu trước khi chúng có thể được sử dụng. Ở
thái cực khác từ một tên thuần túy là địa chỉ của một đối tượng:
một giá trị xác định vị trí của đối tượng chứ không phải chính đối
tượng. Địa chỉ có hiệu quả để truy cập các đối tượng, nhưng các đối
tượng đôi khi có thể được di chuyển, vì vậy địa chỉ không đủ làm
phương tiện nhận dạng. Ví dụ: địa chỉ email của người dùng thường
phải thay đổi khi họ di chuyển giữa các tổ chức hoặc nhà cung cấp
dịch vụ Internet; Bản thân họ không được đảm bảo để đề cập đến
một cá nhân cụ thể theo thời gian.
Chúng tôi nói rằng một tên được giải quyết khi nó được dịch
thành dữ liệu về tài nguyên hoặc đối tượng được đặt tên, thường là
để gọi một hành động trên nó. Sự liên kết giữa một tên và một đối
tượng được gọi là ràng buộc. Nói chung, tên bị ràng buộc với các
thuộc tính của các đối tượng được đặt tên, thay vì thực hiện chính
các đối tượng. Một thuộc tính là
Hình 13.1: Tên miền đặt tên đã soạn được sử dụng để truy cập
tài nguyên từ URL 7 Địa chỉ Tra cứu DNS
ID tài nguyên (số IP, số cổng, tên đường dẫn)
55.55.55.55 8888 WebExamples/earth.ht ml Máy chủ web Địa chỉ mạng 2:60:8C:2:B0m : tệp 5 ộ t Socket
giá trị của một thuộc tính được liên kết với một đối tượng. Một thuộc
tính chính của một thực thể thường có liên quan trong một hệ thống
phân tán là địa chỉ của nó. Chẳng hạn:
DNS ánh xạ tên miền đến các thuộc tính của máy chủ:
địa chỉ IP của nó, loại mục nhập (ví dụ: tham chiếu đến
máy chủ thư hoặc máy chủ khác) và, ví dụ, khoảng thời
gian mục nhập của máy chủ sẽ vẫn hợp lệ.
Dịch vụ thư mục X500 có thể được sử dụng để ánh
xạ tên của một người vào các thuộc tính bao gồm địa chỉ
email và số điện thoại của họ.
Dịch vụ đặt tên và dịch vụ thương mại CORBA đã được
trình bày trong Chương 8. Dịch vụ Đặt tên ánh xạ tên
của một đối tượng từ xa lên tham chiếu đối tượng từ
xa của nó, trong khi Dịch vụ Thương mại ánh xạ tên của
một đối tượng từ xa lên tham chiếu đối tượng từ xa của
nó, cùng với một số thuộc tính tùy ý mô tả đối tượng
theo thuật ngữ mà người dùng có thể hiểu được.
Lưu ý rằng một 'địa chỉ' có thể được coi là một tên khác phải được tra
cứu hoặc nó có thể chứa một tên như vậy. Địa chỉ IP phải được tra
cứu để có được địa chỉ mạng như địa chỉ Ethernet. Tương tự, các
trình duyệt web và ứng dụng email sử dụng DNS để diễn giải tên miền
trong URL và địa chỉ email. Hình 13.1 cho thấy phần tên miền của URL
được giải quyết đầu tiên thông qua DNS thành địa chỉ IP và sau đó, ở
bước nhảy cuối cùng của định tuyến Internet, thông qua ARP đến địa
chỉ Ethernet cho máy chủ web. Phần cuối cùng của URL 8
được giải quyết bởi hệ thống tệp trên máy chủ web để định vị tệp có liên quan.
Tên dịch vụ: Nhiều tên được sử dụng trong một hệ thống phân
tán dành riêng cho một số dịch vụ cụ thể. Ví dụ: người dùng của
trang web mạng xã hội twitter.com, có tên như @magmapoetry
không có dịch vụ nào khác giải quyết. Ngoài ra, khách hàng có thể
sử dụng tên dịch vụ cụ thể khi yêu cầu dịch vụ thực hiện thao tác
trên một đối tượng hoặc tài nguyên được đặt tên mà nó quản lý. Ví
dụ: tên tệp được cung cấp cho dịch vụ tệp khi yêu cầu xóa tệp và
mã định danh quy trình được trình bày cho dịch vụ quản lý quy trình
khi yêu cầu gửi tín hiệu.
Các tên này chỉ được sử dụng trong ngữ cảnh của dịch vụ quản lý
các đối tượng được đặt tên, ngoại trừ khi máy khách giao tiếp về các
đối tượng được chia sẻ.
Tên đôi khi cũng cần thiết để chỉ các thực thể trong một hệ thống phân
tán nằm ngoài phạm vi của bất kỳ dịch vụ đơn lẻ nào. Các ví dụ chính
của các thực thể này là người dùng (với tên riêng và địa chỉ email),
máy tính (với tên máy chủ như www.cdk5.net) và chính các dịch vụ
(như dịch vụ tệp hoặc dịch vụ máy in). Trong phần mềm trung gian
dựa trên đối tượng, tên đề cập đến các đối tượng từ xa cung cấp dịch
vụ hoặc ứng dụng. Lưu ý rằng nhiều tên trong số này phải có thể đọc
được và có ý nghĩa đối với con người, vì người dùng và quản trị viên
hệ thống cần tham khảo các thành phần chính và cấu hình của các
hệ thống phân tán, lập trình viên cần tham khảo các dịch vụ trong
chương trình và người dùng cần giao tiếp với nhau thông qua hệ thống
phân tán và thảo luận về những dịch vụ nào có sẵn trong các phần
khác nhau của nó. Với kết nối được cung cấp bởi Internet, các yêu
cầu đặt tên này có khả năng phạm vi trên toàn thế giới.
định danh tài nguyên thống nhất: Số nhận dạng tài
nguyên thống nhất (URI) [Berners-Lee et al. 2005] xuất phát từ nhu
cầu xác định tài nguyên trên Web và các tài nguyên Internet khác như
hộp thư điện tử. Một mục tiêu quan trọng là xác định các tài nguyên
một cách mạch lạc, để tất cả chúng có thể được xử lý bởi các phần
mềm phổ biến như trình duyệt. URI 'thống nhất' ở chỗ cú pháp của
chúng kết hợp vô thời hạn nhiều loại định danh tài nguyên riêng lẻ
(nghĩa là lược đồ URI) và có các quy trình quản lý không gian tên toàn 9
cầu của lược đồ. Ưu điểm của tính đồng nhất là nó giảm bớt quá trình
giới thiệu các loại định danh mới, cũng như sử dụng các loại định danh
hiện có trong bối cảnh mới, mà không làm gián đoạn việc sử dụng hiện có.
Ví dụ: nếu ai đó phát minh ra một loại URI 'widget' mới, thì URI bắt
đầu widget: sẽ phải tuân theo cú pháp URI toàn cục, cũng như bất kỳ
quy tắc cục bộ nào được xác định cho lược đồ nhận dạng widget.
Các URI này sẽ xác định tài nguyên widget theo cách được xác định
rõ. Nhưng ngay cả phần mềm hiện có không truy cập tài nguyên
widget vẫn có thể xử URI widget - ví dụ: bằng cách quản lý các
thư mục chứa chúng. Chuyển sang một ví dụ về việc kết hợp các số
nhận dạng hiện có, điều đó đã được thực hiện cho các số điện thoại
bằng cách tiền tố chúng với tên lược đồ tel và chuẩn hóa đại diện của
chúng, như trong điện thoại: + 1-816-555-1212. Các URI điện thoại
này được thiết kế để sử dụng như liên kết web khiến các cuộc gọi điện
thoại được thực hiện khi được gọi.
Bộ định vị tài nguyên thống nhất: Một số URI chứa thông tin có
thể được sử dụng để định vị và truy cập tài nguyên; một số khác là tên
tài nguyên thuần túy. Thuật ngữ quen thuộc Bộ định vị tài nguyên
thống nhất (URL) thường được sử dụng cho các URI cung cấp thông
tin vị trí và chỉ định phương pháp truy cập tài nguyên, bao gồm các
URL 'http' được giới thiệu trong Phần 1.6. Ví dụ: http://www.cdk5.net/
xác định một trang web tại đường dẫn đã cho ('/') trên www.cdk5.net
máy chủ lưu trữ và chỉ định rằng giao thức HTTP được sử dụng để
truy cập nó. Một ví dụ khác là URL 'mailto', chẳng hạn như
mailto:fred@flintstone.org, xác định hộp thư tại địa chỉ đã cho.
URL là số nhận dạng hiệu quả để truy cập tài nguyên. Nhưng họ phải
chịu bất lợi là nếu một tài nguyên bị xóa hoặc nếu nó di chuyển, giả
sử từ trang web này sang trang web khác, có thể có các liên kết treo
lủng lẳng đến tài nguyên chứa URL cũ. Nếu người dùng nhấp vào
một liên kết lủng lẳng đến tài nguyên web, thì máy chủ web sẽ phản
hồi rằng tài nguyên không được tìm thấy hoặc - tệ hơn, có lẽ - cung
cấp một tài nguyên khác hiện chiếm cùng một vị trí.
Tên tài nguyên thống nhất: Tên tài nguyên thống nhất (URN) là
URI được sử dụng làm tên tài nguyên thuần túy thay vì bộ định vị. Ví dụ: URI: 10
mid:0E4FC272-5C02-11D9-B115-
000A95B55BC8@hpl.hp.com
là một URN xác định email có chứa nó trong trường 'Message- Id' của
nó. URI phân biệt thư đó với bất kỳ thư email nào khác. Nhưng nó
không cung cấp địa chỉ của tin nhắn trong bất kỳ cửa hàng nào, vì
vậy cần phải có thao tác tra cứu để tìm thấy nó.
Một cây con đặc biệt của URI bắt đầu bằng urn: đã được dành
riêng cho URN - mặc dù, như ví dụ giữa: cho thấy, không phải tất
cả các URN đều là urn: URI. Các URI urnprefix sau này đều dạng
urn:nameSpace:nameSpace- specificName. Ví dụ: urn:ISBN:0-201-
62433-8 xác định sách mang tên 0-201-62433-8 trong lược đồ đặt tên
ISBN tiêu chuẩn. Một ví dụ khác, tên (được phát minh)
urn:doi:10.555/music-pop-1234 đề cập đến ấn phẩm được gọi
music-pop-1234 trong đồ đặt tên của nhà xuất bản được gọi
10.555 trong lược đồ định danh đối tượng kỹ thuật số (DOI)
[www.doi.org].
các dịch vụ phân giải (dịch vụ tên, theo thuật ngữ của chương này)
như Hệ thống xử [www.handle.net] để phân giải các URN như DOI
thành các thuộc tính tài nguyên, nhưng không có dịch vụ nào được
sử dụng rộng rãi. Thật vậy, vẫn tiếp tục có cuộc tranh luận trong
cộng đồng nghiên cứu Web và Internet về mức độ cần thiết của một
loại URN riêng biệt. Một trường phái tư tưởng là 'URL thú vị không
thay đổi' - nói cách khác, mọi người nên gán URL cho các tài nguyên
với sự đảm bảo về tính liên tục tham chiếu của chúng. Chống lại quan
điểm đó là quan sát rằng không phải ai cũng có thể đưa ra những
đảm bảo như vậy, điều này đòi hỏi phải duy trì quyền kiểm soát
tên miền và quản lý tài nguyên một cách cẩn thận. 11 13.2
Dịch Vụ Tên Hệ Thống Tên Miền
Dịch vụ tên lưu trữ thông tin về một tập hợp các tên văn
bản, dưới dạng ràng buộc giữa tên và các thuộc tính của các thực thể
mà chúng biểu thị, chẳng hạn như người dùng, máy tính, dịch vụ và
đối tượng. Bộ sưu tập thường được chia thành một hoặc nhiều bối
cảnh đặt tên: các tập hợp con riêng lẻ của các ràng buộc được quản lý
như một đơn vị. Hoạt động chính mà dịch vụ tên hỗ trợ là giải quyết
tên - nghĩa là tra cứu các thuộc tính từ một tên nhất định. Chúng tôi
mô tả việc thực hiện giải pháp tên trong Mục 13.2.2. Các thao tác
cũng được yêu cầu để tạo các ràng buộc mới, xóa ràng buộc và liệt kê
các tên bị ràng buộc, cũng như thêm và xóa ngữ cảnh.
Quản lý tên được tách ra khỏi các dịch vụ khác phần lớn là do tính mở
của các hệ thống phân tán, mang lại các động lực sau:
Thống nhất: Thường thuận tiện cho các tài nguyên được quản lý
bởi các dịch vụ khác nhau sử dụng cùng một sơ đồ đặt tên. URI là
một ví dụ điển hình về điều này.
Tích hợp: Không phải lúc nào cũng có thể dự đoán phạm vi chia sẻ
trong một hệ thống phân tán. Nó có thể trở nên cần thiết để chia sẻ
và do đó đặt tên cho các tài nguyên được tạo trong các miền
quản trị khác nhau. Nếu không có dịch vụ tên chung, các miền
quản trị có thể sử dụng các quy ước đặt tên hoàn toàn khác nhau.
Yêu cầu dịch vụ tên chung: Dịch vụ định danh ban đầu khá đơn
giản, vì chúng được thiết kế chỉ để đáp ứng nhu cầu liên kết tên với
các địa chỉ trong một miền quản lý duy nhất, tương ứng với một mạng
LAN hoặc mạng WAN duy nhất. Sự kết nối của các mạng và quy mô
ngày càng tăng của các hệ thống phân tán đã tạo ra một vấn đề lập
bản đồ tên lớn hơn nhiều.
Grapevine [Birrell et al. 1982] là một trong những dịch vụ tên miền đa
miền, có thể mở rộng sớm nhất. Nó được thiết kế để có thể mở rộng
về số lượng tên và tải các yêu cầu mà nó có thể xử lý. 12
Dịch vụ Tên Toàn cầu, được phát triển tại Trung tâm Nghiên cứu Hệ
thống Tập đoàn Thiết bị Kỹ thuật số [Lampson 1986], là hậu duệ của
Grapevine với các mục tiêu đầy tham vọng, bao gồm:
Để xử một số lượng tên về bản tùy ý để phục vụ một số
lượng tùy ý của các tổ chức hành chính: Ví dụ, hệ thống phải có
khả năng xử lý tên của tất cả các tài liệu trên thế giới.
Tuổi thọ dài: Nhiều thay đổi sẽ xảy ra trong việc tổ chức tập hợp tên
và trong các thành phần triển khai dịch vụ trong suốt vòng đời của nó.
Tính sẵn sàng cao: Hầu hết các hệ thống khác phụ thuộc vào
dịch vụ tên; chúng không thể hoạt động khi nó bị hỏng.
Cách ly lỗi: Lỗi cục bộ không được khiến toàn bộ dịch vụ bị lỗi.
Khả năng chịu đựng sự ngờ vực: Một hệ thống mở lớn không thể
có bất kỳ thành phần nào được tin cậy bởi tất cả các khách hàng trong hệ thống.
Hai ví dụ về dịch vụ tên đã tập trung vào mục tiêu khả năng mở rộng
cho số lượng lớn các đối tượng như tài liệu là dịch vụ tên Globe [van
Steen et al. 1998] và Hệ thống xử lý [www.handle.net]. Quen thuộc
hơn nhiều là Hệ thống tên miền Internet (DNS), được giới thiệu trong
Chương 3, đặt tên cho các máy tính (và các thực thể khác) trên Internet.
Trong phần này, chúng tôi thảo luận về các vấn đề thiết kế chính cho
các dịch vụ tên, đưa ra các ví dụ từ DNS. Chúng tôi theo dõi điều này
với một nghiên cứu điển hình chi tiết hơn về DNS. 13.2.1
Không Gian Tên
Không gian tên là tập hợp tất cả các tên hợp lệ được công nhận
bởi một dịch vụ cụ thể. Dịch vụ sẽ cố gắng tra cứu một tên hợp lệ,
mặc dù tên đó có thể chứng minh không tương ứng với bất kỳ đối
tượng nào - tức là không bị ràng buộc. Không gian tên yêu cầu định
nghĩa cú pháp để tách tên hợp lệ khỏi tên không hợp lệ. Ví dụ: '...'
không được chấp nhận là tên DNS của máy tính, trong khi
www.cdk99.net là hợp lệ (mặc dù nó không bị ràng buộc). 13
Tên có thể có cấu trúc bên trong đại diện cho vị trí của chúng trong
không gian tên phân cấp như tên đường dẫn trong hệ thống tệp hoặc
trong hệ thống phân cấp tổ chức như tên miền Internet; hoặc chúng
có thể được chọn từ một bộ định danh số hoặc tượng trưng phẳng.
Một lợi thế quan trọng của hệ thống phân cấp là nó làm cho không
gian tên lớn dễ quản lý hơn. Mỗi phần của tên phân cấp được giải
quyết liên quan đến một ngữ cảnh riêng biệt có kích thước tương đối
nhỏ và cùng một tên có thể được sử dụng với ý nghĩa khác nhau
trong các ngữ cảnh khác nhau, để phù hợp với các tình huống sử dụng
khác nhau. Trong trường hợp hệ thống tệp, mỗi thư mục đại diện cho
một ngữ cảnh. Do đó, /etc/passwd là một tên phân cấp với hai
thành phần. Phần đầu tiên, 'etc', được giải quyết liên quan đến ngữ
cảnh '/', hoặc root, và phần thứ hai, 'passwd', liên quan đến
ngữ cảnh '/etc'. Tên /oldetc/passwd có thể có ý nghĩa khác vì
thành phần thứ hai của nó được giải quyết trong một ngữ cảnh
khác. Tương tự, cùng một tên /etc/passwd có thể phân giải các tệp
khác nhau trong ngữ cảnh của hai máy tính khác nhau.
Không gian tên phân cấp có khả năng vô hạn, vì vậy chúng cho phép
một hệ thống phát triển vô thời hạn. Ngược lại, không gian tên phẳng
thường là hữu hạn; Kích thước của chúng được xác định bằng cách
cố định độ dài tối đa cho phép cho tên. Một lợi thế tiềm năng khác
của không gian tên phân cấp là các ngữ cảnh khác nhau có thể được
quản lý bởi những người hoặc tổ chức khác nhau.
Cấu trúc của URL 'http' đã được giới thiệu trong Chương 1. Không
gian tên URL cũng bao gồm các tên tương đối như .. /hình
ảnh/hình1.jpg. Khi một trình duyệt hoặc máy khách web khác gặp phải
một tên tương đối như vậy, nó sử dụng tài nguyên trong đó tên tương
đối được nhúng để xác định tên máy chủ lưu trữ và thư mục mà
tên đường dẫn này đề cập đến.
Tên DNS là chuỗi được gọi là tên miền. Một số ví dụ là www.cdk5.net
(máy tính), net, comac.uk (ba ví dụ sau là tên miền).
Không gian tên DNS có cấu trúc phân cấp: tên miền bao gồm một
hoặc nhiều chuỗi được gọi là thành phần tên hoặc nhãn, được phân
tách bằng dấu phân cách '.'. Không có dấu phân cách ở đầu hoặc
cuối tên miền, mặc dù thư mục gốc của 14
không gian tên DNS đôi khi được gọi là '.' cho mục đích quản trị. Các
thành phần tên là các chuỗi không thể in rỗng không chứa '.'. Nói
chung, tiền tố của tên là một phần ban đầu của tên chỉ chứa 0 hoặc
nhiều thành phần toàn bộ. Ví dụ: trong DNS www www.cdk5 đều
tiền tố của www.cdk5.net. Tên DNS không phân biệt chữ hoa chữ
thường, vì vậy www.cdk5.netWWW.CDK5.NET có cùng ý nghĩa.
Máy chủ DNS không nhận ra tên tương đối: tất cả các tên được
gọi đến thư mục gốc toàn cục. Tuy nhiên, trong triển khai thực tế,
phần mềm máy khách giữ một danh sách các tên miền được gắn
tự động vào bất kỳ tên thành phần đơn nào trước khi giải quyết. Ví
dụ: tên www được trình bày trong miền cdk5.net có thể đề cập đến
www.cdk5.net; Phần mềm máy khách sẽ nối thêm cdk5.net miền mặc
định và cố gắng giải quyết tên này. Nếu điều này không thành
công, thì các tên miền mặc định khác có thể được thêm vào; Cuối
cùng, tên (tuyệt đối) www sẽ được trình bày cho thư mục gốc để
giải quyết (một thao tác tất nhiên sẽ thất bại trong trường hợp này).
Tuy nhiên, các tên có nhiều hơn một thành phần thường được trình
bày nguyên vẹn cho DNS, dưới dạng tên tuyệt đối.
danh:danh là tên được xác định để biểu thị thông tin giống
như tên khác, tương tự như liên kết tượng trưng giữa tên đường dẫn
tệp. Bí danh cho phép các tên thuận tiện hơn được thay thế cho các
tên tương đối phức tạp và cho phép các tên thay thế được sử
dụng bởi những người khác nhau cho cùng một thực thể. Một ví
dụ là việc sử dụng phổ biến các công cụ rút ngắn URL, thường được
sử dụng trong các bài đăng trên Twitter và các tình huống khác trong
đó không gian ở mức cao.
Ví dụ: sử dụng chuyển hướng web, http://bit.ly/ctqjvH đề cập đến
http://cdk5.net/additional/rmi/programCode/ShapeListClient.j ava. Một
ví dụ khác, DNS cho phép các bí danh trong đó một tên miền được
xác định là viết tắt của một tên miền khác. Bí danh thường được sử
dụng để chỉ định tên của các máy chạy máy chủ web hoặc máy chủ
FTP. Ví dụ: tên www.cdk5.net là bí danh của cdk5.net. Điều này có
lợi thế là khách hàng có thể sử dụng một trong hai tên cho máy
chủ web và nếu máy chủ web được di chuyển sang máy tính
khác, chỉ cần cập nhật mục nhập cho cdk5.net trong cơ sở dữ liệu DNS. 15
Đặt tên miền: Tên miền đặt tên là một không gian tên tồn tại một
cơ quan quản trị tổng thể duy nhất chịu trách nhiệm gán tên trong đó.
Cơ quan này kiểm soát tổng thể tên nào có thể bị ràng buộc trong
miền, nhưng có thể tự do ủy thác nhiệm vụ này.
Tên miền trong DNS là tập hợp các tên miền; về mặt cú pháp, tên
miền là hậu tố chung của các tên miền trong đó, nhưng nếu không thì
không thể phân biệt được, ví dụ, tên máy tính. Ví dụ: net là một tên
miền chứa cdk5.net. Lưu ý rằng thuật ngữ 'tên miền' có khả năng
gây nhầm lẫn, vì chỉ một số tên miền xác định tên miền (những tên
miền khác xác định máy tính).
Việc quản lý tên miền có thể được phân cấp thành tên miền phụ. Tên
miền dcs.qmul.ac.uk - Khoa Khoa học Máy tính tại Queen Mary, Đại
học London ở Anh - có thể chứa bất kỳ tên nào mà khoa muốn.
Nhưng bản thân tên miền dcs.qmul.ac.uk phải được thỏa thuận với
chính quyền trường đại học, những người quản lý tên miền
qmul.ac.uk. Tương tự, qmul.ac.uk phải được thỏa thuận với cơ quan đăng ký ac.uk, v.v.
Trách nhiệm đối với tên miền đặt tên thường đi đôi với trách nhiệm
quản lý và cập nhật phần tương ứng của cơ sở dữ liệu được lưu trữ
trong máy chủ tên có thẩm quyền và được sử dụng bởi dịch vụ định
danh. Dữ liệu đặt tên thuộc các miền đặt tên khác nhau nói chung
được lưu trữ bởi các máy chủ tên riêng biệt do các cơ quan tương ứng quản lý.
Kết hợp tùy chỉnh không gian tên: DNS cung cấp một không
gian tên toàn cục và đồng nhất, trong đó một tên nhất định đề cập đến
cùng một thực thể, bất kể quy trình nào trên máy tính nào tra cứu tên.
Ngược lại, một số dịch vụ tên cho phép các không gian tên riêng biệt -
đôi khi là không gian tên không đồng nhất - được nhúng vào chúng; Và
một số dịch vụ tên cho phép không gian tên được tùy chỉnh để phù
hợp với nhu cầu của từng nhóm, người dùng hoặc thậm chí các quy trình.
Hợp nhất: Thực tiễn gắn các hệ thống tệp trong UNIX và NFS
(xem Phần 12.3) cung cấp một ví dụ trong đó một phần của không
gian tên này được nhúng thuận tiện vào một không gian tên khác.
Nhưng hãy xem xét cách hợp nhất toàn bộ hệ thống tệp UNIX của
hai (hoặc nhiều) máy tính được gọi 16
đỏxanh. Mỗi máy tính có gốc riêng, với các tên tệp chồng
chéo. Ví dụ: /etc/passwd đề cập đến một tệp có màu đỏ và một tệp
khác có màu xanh lam. Cách rõ ràng để hợp nhất các hệ thống tệp là
thay thế gốc của mỗi máy tính bằng 'siêu root' và gắn kết hệ thống
tệp của mỗi máy tính trong siêu root này, giả sử là / đỏ/ xanh.
Người dùng và chương trình sau đó có thể tham khảo / red / etc /
passwd / blue / etc / passwd. Nhưng quy ước đặt tên mới tự nó sẽ
khiến các chương trình trên hai máy tính vẫn sử dụng
tên cũ /etc/passwd gặp trục trặc. Một giải pháp là để lại nội dung gốc
cũ trên mỗi máy tính và nhúng các hệ thống tệp được gắn / đỏ/
xanh của cả hai máy tính (giả sử rằng điều này không tạo ra xung đột
tên với nội dung gốc cũ).
Đạo đức là chúng ta luôn có thể hợp nhất các không gian tên bằng
cách tạo ra một ngữ cảnh gốc cấp cao hơn, nhưng điều này có thể
gây ra vấn đề về khả năng tương thích ngược. Khắc phục sự cố
tương thích, lần lượt, để lại cho chúng tôi không gian tên lai và sự bất
tiện khi phải dịch tên cũ giữa những người dùng của hai máy tính.
Không đồng nhất: Không gian tên Môi trường điện toán phân
tán (DCE) [OSF 1997] cho phép các không gian tên không đồng nhất
được nhúng vào trong đó. Tên DCE có thể chứa các điểm nối, tương
tự như các điểm gắn trong NFS và UNIX (xem Phần 12.3), ngoại trừ
việc chúng cho phép gắn các khoảng trắng tên không đồng nhất. Ví dụ: hãy xem xét tên DCE đầy đủ
/.../dcs.qmul.ac.uk/principals/Jean.Dollimore. Phần đầu tiên của tên
này, /.../dcs.qmul.ac.uk, biểu thị một ngữ cảnh được gọi là ô. Thành
phần tiếp theo là một ngã ba. Ví dụ, các hiệu trưởng nối là một ngữ
cảnh chứa các nguyên tắc bảo mật trong đó thành phần cuối cùng,
Jean.Dollimore, có thể được tra cứu và trong đó các tên chính này có cú pháp riêng. Tương tự, trong
/.../dcs.qmul.ac.uk/files/pub/reports/TR2000-99, các tệp nối một
ngữ cảnh tương ứng với thư mục hệ thống tệp, trong đó thành phần
cuối cùng pub / reports / TR2000-99 được tra cứu và trong đó không
gian tên tệp có cú pháp riêng biệt. Hai điểm nối chínhtệp là gốc
rễ của không gian tên không đồng nhất, được thực hiện bởi các dịch
vụ tên không đồng nhất. 17
Tùy chỉnh: Chúng tôi đã thấy trong ví dụ về việc nhúng các hệ
thống tệp được gắn NFS ở trên rằng đôi khi người dùng thích xây
dựng không gian tên của họ một cách độc lập hơn là chia sẻ một
không gian tên duy nhất. Việc gắn kết hệ thống tệp cho phép
người dùng nhập các tệp được lưu trữ trên máy chủ và được chia
sẻ, trong khi các tên khác tiếp tục đề cập đến các tệp cục bộ, không
được chia sẻ và có thể được quản lý tự động. Nhưng các tệp giống
nhau được truy cập từ hai máy tính khác nhau có thể được gắn tại các
điểm khác nhau và do đó có tên khác nhau. Không chia sẻ toàn bộ
không gian tên có nghĩa là người dùng phải dịch tên giữa các máy tính.
Dịch vụ đặt tên mùa xuân [Radia et al. 1993] cung cấp khả năng xây
dựng không gian tên một cách linh hoạt và chia sẻ ngữ cảnh đặt tên
riêng lẻ một cách có chọn lọc. Ngay cả hai quy trình khác nhau trên
cùng một máy tính cũng có thể có ngữ cảnh đặt tên khác nhau. Ngữ
cảnh đặt tên mùa xuân là các đối tượng hạng nhất có thể được chia
sẻ xung quanh một hệ thống phân tán. Ví dụ: giả sử người dùng
trên máy tính màu đỏ muốn chạy một chương trình màu xanh lam
đưa ra các tên đường dẫn tệp như /etc/passwd, nhưng những tên này
là để phân giải các tệp trên hệ thống tệp của màu đỏ, không phải màu
xanh lam. Điều này có thể đạt được trong Spring bằng cách chuyển
một tham chiếu đến ngữ cảnh đặt tên cục bộ của màu đỏ sang màu
xanh lam sử dụng làm ngữ cảnh đặt tên của chương trình. Kế
hoạch 9 [Pike et al. 1993] cũng cho phép các quy trình có không gian
tên hệ thống tệp của riêng chúng. Một tính năng mới của Plan 9 (cũng
có thể được thực hiện trong Spring) là các thư mục vật lý có thể
được sắp xếp và hợp nhất thành một thư mục logic duy nhất. Hiệu quả
là một tên được tra cứu trong thư mục logic duy nhất được tra cứu
trong liên tiếp các thư mục vật lý cho đến khi có kết quả khớp, khi các
thuộc tính được trả về. Điều này giúp loại bỏ sự cần thiết phải cung
cấp danh sách các đường dẫn khi tìm kiếm các tệp chương trình hoặc thư viện. 18 13.2.2
Phân Giải Tên
Đối với trường hợp phổ biến của không gian tên phân cấp, phân
giải tên là một quá trình lặp đi lặp lại hoặc đệ quy, theo đó một tên
được trình bày nhiều lần cho ngữ cảnh đặt tên để tra cứu các thuộc
tính mà nó đề cập đến. Ngữ cảnh đặt tên hoặc ánh xạ trực tiếp một tên
nhất định vào một tập hợp các thuộc tính nguyên thủy (chẳng hạn như
của người dùng) hoặc ánh xạ nó vào ngữ cảnh đặt tên tiếp theo và tên
dẫn xuất để trình bày cho ngữ cảnh đó. Để giải quyết một cái tên,
trước tiên nó được trình bày cho một số ngữ cảnh đặt tên ban đầu;
Độ phân giải lặp lại miễn là các ngữ cảnh và tên dẫn xuất khác
được xuất ra. Chúng tôi đã minh họa điều này ở đầu Phần 13.2.1
với ví dụ về /etc/passwd, trong đó 'etc' được trình bày theo ngữ
cảnh '/', sau đó 'passwd' được trình bày cho ngữ cảnh '/etc'.
Một ví dụ khác về bản chất lặp đi lặp lại của độ phân giải là việc sử
dụng bí danh. Ví dụ: bất cứ khi nào máy chủ DNS được yêu cầu
phân giải bí danh như www.dcs.qmul.ac.uk, trước tiên máy chủ sẽ
phân giải bí danh thành một tên miền khác (trong trường hợp này
traffic.dcs.qmul.ac.uk), phải được giải quyết thêm để tạo địa chỉ IP.
Nói chung, việc sử dụng bí danh làm cho các chu kỳ có thể có mặt
trong không gian tên, trong trường hợp đó độ phân giải có thể
không bao giờ chấm dứt. Hai giải pháp khả thi là, từ bỏ quy trình giải
quyết nếu nó vượt qua ngưỡng số lượng nghị quyết hoặc để quản trị
viên phủ quyết bất kỳ bí danh nào sẽ giới thiệu chu kỳ.
Máy chủ định danh điều hướng: Bất kỳ dịch vụ tên nào,
chẳng hạn như DNS, lưu trữ cơ sở dữ liệu rất lớn và được sử dụng
bởi một dân số lớn sẽ không lưu trữ tất cả thông tin đặt tên của nó
trên một máy tính máy chủ duy nhất. Một máy chủ như vậy sẽ là một
nút cổ chai và một điểm thất bại quan trọng. Bất kỳ dịch vụ tên nào
được sử dụng nhiều nên sử dụng sao chép để đạt được tính sẵn
sàng cao. Chúng ta sẽ thấy rằng DNS chỉ định rằng mỗi tập hợp
con của cơ sở dữ liệu của nó được sao chép trong ít nhất hai máy
chủ độc lập với lỗi.
Chúng tôi đã đề cập ở trên rằng dữ liệu thuộc về miền đặt tên thường
được lưu trữ bởi một máy chủ định danh cục bộ được quản lý bởi cơ
quan chịu trách nhiệm về tên miền đó. Mặc dù, 19
trong một số trường hợp, một máy chủ định danh có thể lưu trữ dữ
liệu cho nhiều miền, nhưng nhìn chung đúng khi nói rằng dữ liệu được
phân vùng thành các máy chủ theo miền của nó. Chúng ta sẽ thấy
rằng trong DNS, hầu hết các mục nhập đều dành cho máy tính cục bộ.
Nhưng cũng có các máy chủ định danh cho các tên miền cao hơn,
chẳng hạn như yahoo.comac.uk, và cho thư mục gốc.
Việc phân vùng dữ liệu ngụ ý rằng máy chủ tên cục bộ không thể trả
lời tất cả các câu hỏi mà không có sự trợ giúp của các máy chủ tên
khác. Ví dụ: máy chủ định danh trong miền dcs.qmul.ac.uk sẽ không
thể cung cấp địa chỉ IP của máy tính trong miền cs.purdue.edu trừ khi
nó được lưu trong bộ nhớ cache - chắc chắn không phải là lần đầu
tiên nó được yêu cầu.
Quá trình định vị dữ liệu đặt tên từ nhiều máy chủ tên để phân giải
tên được gọi là điều hướng. Phần mềm phân giải tên máy khách
thực hiện điều hướng thay mặt cho khách hàng. Nó giao tiếp với các
máy chủ định danh khi cần thiết để phân giải tên. Nó có thể được
cung cấp dưới dạng mã thư viện và được liên kết với các máy khách,
ví dụ như trong việc triển khai BIND cho DNS (xem Phần 13.2.3) hoặc
trong Grapevine [Birrell et al. 1982]. Giải pháp thay thế, được sử dụng
với X500, là cung cấp độ phân giải tên trong một quy trình riêng biệt
được chia sẻ bởi tất cả các quy trình máy khách trên máy tính đó.
Một mô hình điều hướng mà DNS hỗ trợ được gọi là điều hướng
lặp lại (xem Hình 13.2). Để giải quyết tên, máy khách trình bày tên cho
máy chủ tên cục bộ, máy chủ này cố gắng giải quyết nó. Nếu máy
chủ tên cục bộ có tên, nó sẽ trả về kết quả ngay lập tức. Nếu không,
nó sẽ đề xuất một máy chủ khác có thể trợ giúp. Việc giải quyết tiến
hành tại máy chủ mới, với điều hướng tiếp theo khi cần thiết cho đến
khi tên được định vị hoặc được phát hiện là không bị ràng buộc.
Vì DNS được thiết kế để chứa các mục nhập cho hàng triệu tên
miền và được truy cập bởi số lượng lớn khách hàng, nên sẽ không
khả thi khi có tất cả các truy vấn bắt đầu từ máy chủ gốc, ngay cả
khi nó được sao chép nhiều. Cơ sở dữ liệu DNS được phân vùng giữa
các máy chủ theo cách cho phép nhiều truy vấn được thỏa mãn cục bộ
và các truy vấn khác được thỏa mãn mà không cần phải giải quyết từng phần của 20
tên riêng biệt. Sơ đồ phân giải tên trong DNS được mô tả chi tiết hơn trong Phần 13.2.3.
Hình 13.2: Điều hướng lặp lại NS2 2 Tên 1 Máy chủ Khách NS1 hàng 3 NS3
Một máy khách lặp đi lặp lại liên hệ với máy chủ tên
NS1–NS3 để phân giải tên
NFS cũng sử dụng điều hướng lặp lại trong độ phân giải của tên tệp,
trên cơ sở từng thành phần (xem Chương 12). Điều này là do dịch vụ
tệp có thể gặp liên kết tượng trưng khi phân giải tên. Một liên kết
tượng trưng phải được diễn giải trong không gian tên hệ thống tệp của
máy khách vì nó có thể trỏ đến một tệp trong thư mục được lưu trữ
tại một máy chủ khác. Máy khách phải xác định đây là máy chủ nào,
bởi vì chỉ có máy khách biết các điểm gắn kết của nó.
Trong điều hướng đa hướng, một máy khách multicast tên cần giải
quyết và loại đối tượng cần thiết cho nhóm máy chủ tên. Chỉ máy chủ
chứa các thuộc tính được đặt tên mới phản hồi yêu cầu. Tuy nhiên,
thật không may, nếu tên được chứng minh là không bị ràng buộc,
yêu cầu sẽ được chào đón bằng sự im lặng. Cheriton và Mann
[1989] mô tả một sơ đồ điều hướng dựa trên đa hướng trong đó một
máy chủ riêng biệt được bao gồm trong nhóm để phản hồi khi tên yêu
cầu không bị ràng buộc.
Một giải pháp thay thế khác cho mô hình điều hướng lặp lại là mô hình
trong đó máy chủ tên điều phối độ phân giải của tên và chuyển kết
quả trở lại tác nhân người dùng. Ma [1992] phân biệt điều hướng
điều khiển máy chủ không đệ quy đệ quy (Hình 13.3). Trong điều
hướng điều khiển máy chủ không đệ quy, bất kỳ máy chủ tên nào cũng
có thể được chọn bởi máy khách. Máy chủ này giao tiếp bằng
multicast hoặc lặp đi lặp lại với các đồng nghiệp của nó theo phong cách 21
được mô tả ở trên, như thể nó là một máy khách. Trong điều hướng
điều khiển máy chủ đệ quy, máy khách một lần nữa liên hệ với một
máy chủ duy nhất. Nếu máy chủ này không lưu trữ tên, máy chủ
sẽ liên hệ với một đồng nghiệp lưu trữ tiền tố (lớn hơn) của tên, từ
đó cố gắng giải quyết nó. Quy trình này tiếp tục đệ quy cho đến khi tên được giải quyết.
Nếu một dịch vụ tên trải rộng trên các miền quản trị riêng biệt, thì
các máy khách thực thi trong một miền quản trị có thể bị cấm truy
cập vào các máy chủ định danh thuộc về một miền khác như vậy. Hơn
nữa, ngay cả các máy chủ định danh cũng có thể bị cấm phát hiện ra
việc đặt tên dữ liệu trên các máy chủ định danh trong một miền quản trị
khác. Sau đó, cả điều hướng do máy chủ điều khiển và không đệ
quy đều không phù hợp và điều hướng do máy chủ điều khiển đệ quy
phải được sử dụng. Máy chủ định danh được ủy quyền yêu cầu dữ
liệu dịch vụ tên từ các máy chủ tên được chỉ định do các cơ quan
quản trị khác nhau quản lý, trả về các thuộc tính mà không tiết lộ nơi
lưu trữ các phần khác nhau của cơ sở dữ liệu đặt tên.
Hình 13.3: Điều hướng không đệ quy và đệ quy do máy chủ điều khiển NS2 NS2 2 2 4 1 3 1 khách NS1 khách NS1 hàng 4 3 hàng 5 NS3 NS3 Không đệ quy Đệ quy Điều khiển máy chủ Điều khiển máy chủ
Máy chủ định danh NS1 giao tiếp với các máy chủ tên khác thay mặt cho máy khách
Bộ nhớ đệm: Trong DNS và các dịch vụ tên khác, phần mềm và
máy chủ phân giải tên máy khách duy trì bộ nhớ cache của kết quả
phân giải tên trước đó. Khi khách hàng yêu cầu tra cứu tên, phần
mềm phân giải tên sẽ tham khảo bộ nhớ cache của nó. Nếu nó giữ
một kết quả gần đây từ một tra cứu trước đó cho tên, nó sẽ trả về cho khách hàng; nếu 22
không, nó thiết lập về việc tìm kiếm nó từ một máy chủ. Máy chủ đó,
lần lượt, có thể trả về dữ liệu được lưu trong bộ nhớ cache từ các máy chủ khác.
Bộ nhớ đệm là chìa khóa cho hiệu suất của dịch vụ định danh và hỗ
trợ duy trì tính khả dụng của cả dịch vụ định danh và các dịch vụ
khác bất chấp sự cố máy chủ định danh. Vai trò của nó trong việc
tăng cường thời gian phản hồi bằng cách lưu thông tin liên lạc với
các máy chủ định danh là rõ ràng. Bộ nhớ đệm có thể được sử dụng
để loại bỏ các máy chủ định danh cấp cao – đặc biệt là máy chủ
gốc – khỏi đường dẫn điều hướng, cho phép giải quyết tiến hành
mặc dù có một số lỗi máy chủ.
Bộ nhớ đệm theo trình phân giải tên máy khách được áp dụng rộng rãi
trong các dịch vụ tên và đặc biệt thành công vì dữ liệu đặt tên
được thay đổi tương đối hiếm. Ví dụ: thông tin như địa chỉ máy tính
hoặc dịch vụ có thể không thay đổi trong nhiều tháng hoặc nhiều năm.
Tuy nhiên, khả năng tồn tại của một dịch vụ tên trả về các thuộc tính lỗi
thời - ví dụ: địa chỉ lỗi thời - trong quá trình giải quyết. 13.2.3
Hệ Thống Tên Miền
Hệ thống tên miền là một thiết kế dịch vụ tên có cơ sở dữ liệu đặt
tên chính được sử dụng trên Internet. Nó được nghĩ ra chủ yếu bởi
Mockapetris và được chỉ định trong RFC 1034 [Mockapetris 1987] và
RFC 1035. DNS đã thay thế sơ đồ đặt tên Internet ban đầu, trong đó
tất cả các tên và địa chỉ máy chủ được giữ trong một tệp chính trung
tâm duy nhất và được FTP tải xuống cho tất cả các máy tính yêu cầu
chúng [Harrenstien et al. 1985]. Đề án ban đầu này đã sớm được
nhìn thấy có ba thiếu sót lớn:
• Nó không mở rộng quy mô cho số lượng lớn máy tính.
• Các tổ chức địa phương muốn quản lý hệ thống đặt tên của riêng họ.
• Một dịch vụ tên chung là cần thiết - không phải là một dịch vụ
chỉ phục vụ cho việc tra cứu địa chỉ máy tính.
Các đối tượng được đặt tên bởi DNS chủ yếu là máy tính - chủ yếu là
địa chỉ IP được lưu trữ dưới dạng thuộc tính - và những gì chúng tôi
đã đề cập trong chương này là tên miền đặt tên 23
được gọi đơn giản là tên miền trong DNS. Tuy nhiên, về nguyên tắc,
bất kỳ loại đối tượng nào cũng có thể được đặt tên và kiến trúc của
nó cung cấp phạm vi cho nhiều triển khai khác nhau. Các tổ chức và
phòng ban trong đó có thể quản lý dữ liệu đặt tên của riêng họ. Hàng
triệu tên bị ràng buộc bởi DNS Internet và các tra cứu được thực hiện
chống lại nó từ khắp nơi trên thế giới. Bất kỳ tên nào cũng có thể được
giải quyết bởi bất kỳ khách hàng nào. Điều này đạt được bằng cách
phân vùng phân cấp cơ sở dữ liệu tên, bằng cách sao chép dữ liệu
đặt tên và bằng bộ nhớ đệm.
Tên miền: DNS được thiết kế để sử dụng trong nhiều triển khai,
mỗi triển khai có thể có không gian tên riêng. Tuy nhiên, trên thực tế,
chỉ có một cái được sử dụng rộng rãi và đó là cái được sử dụng
để đặt tên trên Internet. Không gian tên DNS Internet được phân
vùng cả về mặt tổ chức và theo địa lý. Các tên được viết với tên
miền cấp cao nhất ở bên phải. Các tên miền tổ chức cấp cao nhất
ban đầu (còn được gọi là tên miền chung) được sử dụng trên Internet là: .
– Tổ chức thương mại co m
giá – Các trường đại học và các o tổ chức giáo dục khác dụ c – Cơ quan chính phủ Hoa Ch Kỳ ính ph ủ Mil
– Tổ chức quân sự Hoa Kỳ m
– Các trung tâm hỗ trợ ạn mạng lớn g Or – Các tổ chức không g
được đề cập ở trên Int – Tổ chức quốc tế
Các tên miền cấp cao mới như bizmobi đã được thêm vào từ đầu
những năm 2000. Danh sách đầy đủ các tên miền 24
chung hiện tại có sẵn từ Internet Assigned Numbers Authority [www.iana.org I].
Ngoài ra, mỗi quốc gia đều có tên miền riêng: chú – Hoa Kỳ ng tôi – Vương ơn quốc g qu Anh ốc An h Fr – Pháp ... – ...
Các quốc gia, đặc biệt là những quốc gia khác ngoài Hoa Kỳ thường
sử dụng tên miền phụ của riêng họ để phân biệt tổ chức của họ. Ví
dụ, Vương quốc Anh có các tên miền co.ukac.uk, tương ứng với
comedu tương ứng (ac là viết tắt của 'cộng đồng học thuật').
Lưu ý rằng, mặc dù hậu tố Vương quốc Anh nghe có vẻ địa lý,
một tên miền như doit.co.uk có thể có dữ liệu đề cập đến máy tính
trong văn phòng Tây Ban Nha của Doit Ltd., một công ty danh nghĩa
của Anh. Nói cách khác, ngay cả các tên miền nghe có vẻ địa lý cũng
thông thường và hoàn toàn độc lập với vị trí thực tế của chúng.
Truy vấn DNS: Internet DNS chủ yếu được sử dụng để phân
giải tên máy chủ đơn giản và để tra cứu máy chủ thư điện tử, như sau:
Độ phân giải tên máy chủ: Nói chung, các ứng dụng sử dụng DNS để
phân giải tên máy chủ thành địa chỉ IP. Ví dụ: khi trình duyệt web được
cung cấp URL chứa tên miền www.dcs.qmul.ac.uk, nó sẽ thực hiện
yêu cầu DNS và lấy địa chỉ IP tương ứng. Như đã được chỉ ra trong
Chương 4, các trình duyệt sau đó sử dụng HTTP để giao tiếp với
máy chủ web tại địa chỉ IP đã cho, sử dụng số cổng dành riêng nếu
không có cổng nào được chỉ định trong URL. Các dịch vụ FTP và
SMTP hoạt động theo cách tương tự; ví dụ: một chương trình FTP có
thể được cung cấp tên miền ftp.dcs.qmul.ac.uk có thể thực hiện
một cuộc điều tra DNS để lấy địa chỉ IP 25
của nó và sau đó sử dụng TCP để giao tiếp với nó tại số cổng dành riêng.
Vị trí máy chủ thư: Phần mềm thư điện tử sử dụng DNS để phân giải
tên miền thành địa chỉ IP của máy chủ thư - tức là máy tính sẽ chấp
nhận thư cho các miền đó. Ví dụ: khi địa chỉ tom@dcs.rnx.ac.uk
được giải quyết, DNS được truy vấn với địa chỉ dcs.rnx.ac.uk và ký
hiệu loại 'mail'. Nó trả về một danh sách các tên miền của các máy chủ
lưu trữ có thể chấp nhận thư cho dcs.rnx.ac.uk, nếu điều đó tồn tại (và,
tùy chọn, các địa chỉ IP tương ứng). DNS có thể trả về nhiều tên
miền để phần mềm thư có thể thử các lựa chọn thay thế nếu máy chủ
thư chính không thể truy cập được vì một số lý do. DNS trả về giá
trị tùy chọn số nguyên cho mỗi máy chủ thư, cho biết thứ tự thử máy chủ thư.
Một số loại truy vấn khác được triển khai trong một số cài đặt nhưng ít
được sử dụng hơn so với các loại truy vấn vừa đưa ra là:
Độ phân giải ngược: Một số phần mềm yêu cầu trả về tên miền với
địa chỉ IP. Đây chỉ là sự đảo ngược của truy vấn tên máy chủ thông
thường, nhưng máy chủ tên nhận truy vấn chỉ trả lời nếu địa chỉ IP
nằm trong miền riêng của nó.
Thông tin máy chủ: DNS có thể lưu trữ kiểu kiến trúc máy và hệ điều
hành với tên miền của máy chủ. Có ý kiến cho rằng tùy chọn này
không nên được sử dụng ở nơi công cộng, vì nó cung cấp thông tin
hữu ích cho những người cố gắng truy cập trái phép vào máy tính.
Về nguyên tắc, DNS có thể được sử dụng để lưu trữ các thuộc tính
tùy ý. Một truy vấn được chỉ định bởi một tên miền, lớp và loại. Đối
với tên miền trên Internet, lớp là IN. Loại truy vấn chỉ định xem địa chỉ
IP, máy chủ thư, máy chủ định danh hoặc một số loại thông tin khác là
bắt buộc. Một tên miền đặc biệt, in-addr.arpa, tồn tại để giữ địa chỉ IP
để tra cứu ngược. Thuộc tính class được sử dụng để phân biệt, ví dụ,
cơ sở dữ liệu đặt tên Internet với các cơ sở dữ liệu đặt tên DNS (thử
nghiệm) khác. Một tập hợp các kiểu được định nghĩa cho một cơ sở
dữ liệu nhất định; những người cho cơ sở dữ liệu Internet được đưa ra trong Hình 13.5.
Máy chủ định danh DNS: Các vấn đề về quy mô được xử lý
bằng cách kết hợp phân vùng cơ sở dữ liệu đặt tên và sao chép
và lưu vào bộ nhớ đệm các phần của nó gần với các 26
điểm cần thiết. Cơ sở dữ liệu DNS được phân phối trên một mạng lưới
máy chủ logic. Mỗi máy chủ nắm giữ một phần của cơ sở dữ liệu đặt
tên - chủ yếu là dữ liệu cho miền cục bộ. Các truy vấn liên quan đến
máy tính trong miền cục bộ được thỏa mãn bởi các máy chủ trong
miền đó. Tuy nhiên, mỗi máy chủ ghi lại tên miền và địa chỉ của các
máy chủ tên khác, để các truy vấn liên quan đến các đối tượng bên
ngoài miền có thể được thỏa mãn.
Dữ liệu đặt tên DNS được chia thành các vùng. Một vùng chứa dữ liệu sau:
Dữ liệu thuộc tính cho các tên trong một miền, trừ bất kỳ miền phụ
nào do các cơ quan cấp thấp hơn quản lý. Ví dụ: một vùng có thể
chứa dữ liệu cho Queen Mary, Đại học London - qmul.ac.uk - ít
hơn dữ liệu do các phòng ban nắm giữ (ví dụ: Khoa Khoa học Máy
tính - dcs.qmul.ac.uk).
Tên và địa chỉ của ít nhất hai máy chủ định danh cung cấp dữ liệu
thẩm quyền cho khu vực. Đây là những phiên bản dữ liệu vùng
có thể được dựa vào là cập nhật hợp lý.
Tên của máy chủ định danh chứa dữ liệu có thẩm quyền cho các
tên miền phụ được ủy quyền; và 'dán' dữ liệu cung cấp địa chỉ
IP của các máy chủ này.
Các tham số quản lý vùng, chẳng hạn như các tham số chi phối bộ
nhớ đệm và sao chép dữ liệu vùng.
Một máy chủ có thể giữ dữ liệu có thẩm quyền cho không hoặc
nhiều vùng. Vì vậy, dữ liệu đặt tên có sẵn ngay cả khi một máy chủ
duy nhất bị lỗi, kiến trúc DNS chỉ định rằng mỗi vùng phải được sao
chép có thẩm quyền trong ít nhất hai máy chủ.
Quản trị viên hệ thống nhập dữ liệu cho một vùng vào tệp chính, đây là
nguồn dữ liệu có thẩm quyền cho vùng. Có hai loại máy chủ được coi
là cung cấp dữ liệu có thẩm quyền. Máy chủ chính hoặc máy chủ
chính đọc dữ liệu vùng trực tiếp từ tệp chính cục bộ. Máy chủ thứ
cấp tải xuống dữ liệu vùng từ máy chủ chính. Họ liên lạc định kỳ với
máy chủ chính để kiểm tra xem phiên bản được lưu trữ của họ có
khớp với phiên bản được lưu trữ bởi máy chủ chính hay không.
Nếu bản sao của trường trung học đã lỗi thời, bản chính sẽ gửi cho
bản sao đó phiên bản mới nhất. Tần suất kiểm tra thứ cấp 27
được quản trị viên đặt làm tham số vùng và giá trị của nó thường là
một hoặc hai lần một ngày.
Bất kỳ máy chủ nào cũng có thể tự do lưu trữ dữ liệu từ các máy chủ
khác để tránh phải liên hệ với họ khi độ phân giải tên yêu cầu lại
cùng một dữ liệu; Nó thực hiện điều này với điều kiện là khách hàng
được thông báo rằng dữ liệu đó là không có thẩm quyền như được
cung cấp. Mỗi mục nhập trong một vùng có giá trị thời gian tồn tại.
Khi một máy chủ không có thẩm quyền lưu trữ dữ liệu từ một máy chủ
có thẩm quyền, nó sẽ ghi lại thời gian tồn tại. Nó sẽ chỉ cung cấp
dữ liệu được lưu trong bộ nhớ cache cho khách hàng cho đến thời
điểm này; Khi được truy vấn sau khi hết khoảng thời gian, nó sẽ
liên hệ lại với máy chủ có thẩm quyền để kiểm tra dữ liệu của nó. Đây
là một tính năng hữu ích giúp giảm thiểu lượng lưu lượng mạng trong
khi vẫn giữ được sự linh hoạt cho quản trị viên hệ thống. Khi các thuộc
tính dự kiến sẽ hiếm khi thay đổi, chúng có thể được cung cấp một
thời gian lớn tương ứng để sống. Nếu quản trị viên biết rằng các
thuộc tính có thể sẽ sớm thay đổi, họ có thể giảm thời gian tồn tại tương ứng.
Hình 13.4 cho thấy sự sắp xếp của một số cơ sở dữ liệu DNS như nó
đứng trong năm 2001. Ví dụ này cũng có giá trị như nhau ngày nay
ngay cả khi một số dữ liệu đã thay đổi khi hệ thống đã được cấu hình
lại theo thời gian. Lưu ý rằng, trong thực tế, các máy chủ gốc như
a.root-servers.net giữ các mục nhập cho một số cấp độ tên miền,
cũng như các mục nhập cho tên miền cấp một. Điều này là để
giảm số bước điều hướng cần thiết để giải quyết tên miền. Máy chủ
tên gốc giữ các mục nhập có thẩm quyền cho các máy chủ định danh
cho các tên miền cấp cao nhất. Chúng cũng là máy chủ tên có thẩm
quyền cho các tên miền cấp cao nhất chung, chẳng hạn như com
edu. Tuy nhiên, máy chủ tên gốc không phải là máy chủ định danh
cho các miền quốc gia. Ví dụ: tên miền uk có một tập hợp các máy
chủ định danh, một trong số đó được gọi là ns1.nic.net. Các máy chủ
định danh này biết các máy chủ định danh cho các tên miền cấp hai ở
Vương quốc Anh như ac.ukco.uk. Các máy chủ định danh cho
tên miền ac.uk biết các máy chủ định danh cho tất cả các tên miền đại
học trong nước, chẳng hạn như qmul.ac.uk hoặc ic.ac.uk. Trong một
số trường hợp, một tên miền đại học ủy 28
thác một số trách nhiệm của mình cho một tên miền phụ, chẳng hạn như dcs.qmul.ac.uk.
Thông tin miền gốc được máy chủ chính sao chép sang một tập hợp
các máy chủ phụ, như được mô tả ở trên. Mặc dù vậy, các máy chủ
gốc phục vụ hàng nghìn hoặc:
Hình 13.4: Máy chủ định danh DNS a.root-servers.net (rễ ) V ns1.nic.uk pưurdue.edu (V ) yơanhoo.com ư g ns.purdue.edu ơn qu (purdue.ed)u gco.uk ốc ns0.ja.net quac.uk An (ac.uk) ốc h *.purdue.edu An h ic.ac.uk qmul.ac.uk dcs.qmul.ac.uk *.dcs.qmul.ac.uk *.ic.ac.uk *.qmul.ac.uk alpha.qmul.ac.uk dns0.dcs.qmul.ac.uk dns0-doc.ic.ac.uk (qmul.ac.u)k (dcs.qmul.ac.u)k (ic.ac.uk)
Tên máy chủ tên được in nghiêng và các miền tương ứng nằm
trong ngoặc đơn. Mũi tên biểu thị các mục nhập máy chủ tên. Nhiều
truy vấn hơn mỗi giây. Tất cả các máy chủ DNS lưu trữ địa chỉ của
một hoặc nhiều máy chủ tên gốc, không thay đổi thường xuyên.
Họ cũng thường lưu trữ địa chỉ của một máy chủ có thẩm quyền
cho tên miền mẹ. Một truy vấn liên quan đến tên miền ba thành phần
như www.berkeley.edu thể được thỏa mãn bằng cách sử dụng
hai bước điều hướng tồi tệ nhất: một đến máy chủ gốc lưu trữ mục
nhập máy chủ tên thích hợp và bước thứ hai đến máy chủ có tên được trả về.
Tham khảo Hình 13.4, jeans-pc.dcs.qmul.ac.uk tên miền có thể
được tra cứu từ bên trong dcs.qmul.ac.uk bằng cách sử dụng
dns0.dcs.qmul.ac.uk máy chủ cục bộ. Máy chủ này không lưu trữ
mục nhập cho www.ic.ac.uk máy chủ web, nhưng nó giữ một mục
nhập được lưu trong bộ nhớ cache 29
cho ic.ac.uk (mà nó lấy được từ máy chủ được ủy quyền ns0.ja.net).
Có thể liên hệ với dns0doc.ic.ac.uk máy chủ để giải quyết tên đầy đủ.
Điều hướng xử truy vấn: Máy khách DNS được gọi là trình
phân giải. Nó thường được triển khai như phần mềm thư viện. Nó
chấp nhận các truy vấn, định dạng chúng thành các tin nhắn ở dạng
dự kiến theo giao thức DNS và giao tiếp với một hoặc nhiều máy
chủ tên để đáp ứng các truy vấn. Một giao thức yêu cầu-trả lời đơn
giản được sử dụng, thường sử dụng các gói UDP trên Internet (máy
chủ DNS sử dụng số cổng nổi tiếng). Trình phân giải hết thời gian
chờ và gửi lại truy vấn của nó nếu cần. Trình phân giải có thể được
cấu hình để liên hệ với danh sách các máy chủ định danh ban đầu
theo thứ tự ưu tiên trong trường hợp một hoặc nhiều máy chủ không khả dụng.
Hình 13.5: Bản ghi tài nguyên DNS Loại Ý nghĩa
Nội dung chính bản ghi Một Địa chỉ máy tính Số IPv4 (IPv4) AAAA Địa chỉ máy tính Số IPv6 (IPv6) NS Máy chủ tên có thẩm Tên miền cho máy chủ quyền Tên miền cho bí danh
CNAME Tên chuẩn cho bí Các thông số chi phối danh vùng SOA
Đánh dấu sự bắt đầu của dữ liệu cho một Tên miền vùng Con trỏ tên miền (tra Kiến trúc máy và hệ PTR cứu ngược) điều hành Thông tin máy chủ HINFO lưu trữ MX Trao đổi thư Danh sách các cặp <ưu tiên, chủ nhà> 30
.TXT Chuỗi văn bản Văn bản tùy ý
Kiến trúc DNS cho phép điều hướng đệ quy cũng như điều hướng
lặp lại. Trình phân giải chỉ định loại điều hướng nào là bắt buộc khi liên
hệ với máy chủ định danh. Tuy nhiên, máy chủ định danh không bị
ràng buộc để thực hiện điều hướng đệ quy. Như đã chỉ ra ở trên,
điều hướng đệ quy có thể buộc các luồng máy chủ, có nghĩa là các
yêu cầu khác có thể bị trì hoãn.
Để tiết kiệm giao tiếp mạng, giao thức DNS cho phép nhiều truy vấn
được đóng gói vào cùng một thông báo yêu cầu và cho các máy chủ
định danh tương ứng để gửi nhiều câu trả lời trong tin nhắn phản hồi của chúng.
Bản ghi tài nguyên: Dữ liệu vùng được lưu trữ bởi máy chủ định
danh trong các tệp thuộc một trong một số loại bản ghi tài nguyên cố
định. Đối với cơ sở dữ liệu Internet, chúng bao gồm các loại được đưa
ra trong Hình 13.5. Mỗi bản ghi đề cập đến một tên miền, không được
hiển thị. Các mục trong bảng đề cập đến các mục đã được đề cập,
ngoại trừ các bản ghi AAAA lưu trữ địa chỉ IPv6 trong khi bản ghi
A lưu trữ địa chỉ IPv4 và các mục TXT được bao gồm để cho phép
lưu trữ thông tin khác tùy ý cùng với tên miền.
Dữ liệu cho một vùng bắt đầu với bản ghi kiểu SOA, chứa các tham số
vùng xác định, ví dụ, số phiên bản và tần suất thứ cấp sẽ làm mới
bản sao của chúng. Tiếp theo là danh sách các bản ghi loại NS chỉ
định máy chủ tên cho miền và danh sách các bản ghi loại MX cung cấp
tên miền của máy chủ thư, mỗi tiền tố là một số thể hiện sở thích
của nó. Ví dụ, một phần của cơ sở dữ liệu cho dcs.qmul.ac.uk tên
miền tại một thời điểm được thể hiện trong Hình 13.6, trong đó thời
gian sống 1D có nghĩa là 1 ngày. Các bản ghi khác của loại A sau này
trong cơ sở dữ liệu cung cấp địa chỉ IP cho hai máy chủ tên dns0
dns1. Địa chỉ IP của máy chủ thư và máy chủ tên thứ ba được
cung cấp trong cơ sở dữ liệu tương ứng với miền của chúng.
Hình 13.6: Bản ghi dữ liệu vùng DNS tên miền Thời . ki giá trị 31 gian class ểu để sống dcs.qmul.a 1D TRO NS DNS0 c.uk NG dcs.qmul.a 1D TRO NS DNS1 c.uk NG dcs.qmul.a 1D TRO M 1 c.uk NG X mail1.qmul.a c.uk dcs.qmul.a 1D TRO M 2 c.uk NG X mail2.qmul.a c.uk
Phần lớn các bản ghi còn lại trong khu vực cấp thấp hơn như
dcs.qmul.ac.uk sẽ thuộc loại A và ánh xạ tên miền của máy tính vào
địa chỉ IP của nó. Chúng có thể chứa một số bí danh cho các dịch vụ nổi tiếng, ví dụ: tên miền
Thời gian . kiểu giá trị
để sống class www 1D TRO CNAM giao thông NG E giao 1D TRO Một 138.37.95 thông NG .150
Nếu tên miền có bất kỳ tên miền phụ nào, sẽ có thêm các
bản ghi loại NS chỉ định máy chủ tên của chúng, cũng sẽ có các mục
A riêng lẻ . Ví dụ: tại một thời điểm, cơ sở dữ liệu cho qmul.ac.uk chứa
các bản ghi sau cho các máy chủ tên trong tên miền phụ dcs.qmul.ac.uk của nó: tên
Thời gian . kiểu giá trị miền để sống class Dcs 1D TRO NS dns0.dcs NG dns0.dc 1D TRO Một 138.37.88.2 s NG 49 Dcs 1D TRO NS DNS1.DCS 32 NG DNS1.D 1D TRO Một 138.37.94.2 CS NG 48
Chia sẻ tải theo máy chủ định danh: Tại một số trang web,
các dịch vụ được sử dụng nhiều như Web và FTP được hỗ trợ bởi một
nhóm các máy tính trên cùng một mạng. Trong trường hợp này, cùng
một tên miền được sử dụng cho mỗi thành viên của nhóm. Khi một tên
miền được chia sẻ bởi nhiều máy tính, có một bản ghi cho mỗi máy
tính trong nhóm, cung cấp địa chỉ IP của nó. Theo mặc định, máy
chủ định danh trả lời các truy vấn mà nhiều bản ghi khớp với tên được
yêu cầu bằng cách trả về các địa chỉ IP theo lịch trình vòng tròn. Các
máy khách kế tiếp được cấp quyền truy cập vào các máy chủ khác
nhau để các máy chủ có thể chia sẻ khối lượng công việc. Bộ nhớ đệm
có khả năng làm hỏng lược đồ này, vì một khi máy chủ tên không có
thẩm quyền hoặc máy khách có địa chỉ của máy chủ trong bộ nhớ
cache của nó, nó sẽ tiếp tục sử dụng nó. Để chống lại hiệu ứng này,
các hồ sơ được đưa ra một thời gian ngắn để sống.
Việc triển khai BIND của DNS: Berkeley Internet Name Domain
(BIND) là một triển khai DNS cho các máy tính chạy UNIX. Các
chương trình máy khách liên kết trong phần mềm thư viện dưới dạng
trình phân giải. Máy chủ định danh DNS chạy daemon có tên.
BIND cho phép ba loại máy chủ định danh: máy chủ chính, máy chủ
phụ và máy chủ chỉ bộ nhớ đệm. Chương trình được đặt tên chỉ thực
hiện một trong các loại này, theo nội dung của tệp cấu hình. Hai loại
đầu tiên như được mô tả ở trên. Các máy chủ chỉ lưu vào bộ nhớ
đệm đọc từ tệp cấu hình đủ tên và địa chỉ của các máy chủ có
thẩm quyền để phân giải bất kỳ tên nào. Sau đó, họ chỉ lưu trữ dữ
liệu và dữ liệu này mà họ tìm hiểu bằng cách phân giải tên cho khách hàng.
Một tổ chức điển hình có một máy chủ chính, với một hoặc nhiều máy
chủ phụ cung cấp tên phục vụ trên các mạng cục bộ khác nhau tại
trang web. Ngoài ra, các máy tính cá nhân thường chạy máy chủ chỉ
có bộ nhớ đệm của riêng chúng, để giảm lưu lượng mạng và tăng tốc
thời gian phản hồi hơn nữa.
Thảo luận về DNS: Việc triển khai DNS Internet đạt được thời
gian phản hồi trung bình tương đối ngắn cho các tra cứu, 33
xem xét lượng dữ liệu đặt tên và quy mô của các mạng liên quan.
Chúng tôi đã thấy rằng nó đạt được điều này bằng cách kết hợp phân
vùng, sao chép và lưu vào bộ nhớ đệm dữ liệu đặt tên. Các đối tượng
được đặt tên chủ yếu là máy tính, máy chủ định danh và máy chủ thư.
Ánh xạ tên-địa chỉ IP của máy tính (máy chủ) thay đổi tương đối hiếm,
cũng như danh tính của máy chủ định danh và máy chủ thư, do đó bộ
nhớ đệm và sao chép xảy ra trong một môi trường tương đối khoan dung.
DNS cho phép đặt tên dữ liệu trở nên không nhất quán. Đó là, nếu dữ
liệu đặt tên được thay đổi, thì các máy chủ khác có thể cung cấp
cho khách hàng dữ liệu cũ trong các khoảng thời gian theo thứ tự
ngày. Không có kỹ thuật sao chép nào được khám phá trong Chương
18 được áp dụng. Tuy nhiên, sự không nhất quán không có hậu quả
cho đến khi khách hàng cố gắng sử dụng dữ liệu cũ. DNS không tự
giải quyết mức độ cứng của địa chỉ được phát hiện.
Ngoài máy tính, DNS cũng đặt tên cho một loại dịch vụ cụ thể
- dịch vụ thư - trên cơ sở mỗi miền. DNS giả định chỉ có một dịch vụ
thư cho mỗi miền được địa chỉ, vì vậy người dùng không phải bao
gồm tên của dịch vụ này một cách rõ ràng trong tên. Các ứng dụng
thư điện tử chọn dịch vụ này một cách minh bạch bằng cách sử dụng
loại truy vấn thích hợp khi liên hệ với máy chủ DNS.
Tóm lại, DNS lưu trữ nhiều loại dữ liệu đặt tên hạn chế, nhưng điều
này là đủ cho đến khi các ứng dụng như thư điện tử áp đặt sơ đồ
đặt tên riêng của chúng lên trên tên miền. Có thể lập luận rằng cơ
sở dữ liệu DNS đại diện cho mẫu số chung thấp nhất của những gì sẽ
được coi là hữu ích bởi nhiều cộng đồng người dùng trên Internet.
DNS không được thiết kế để trở thành dịch vụ tên duy nhất trên
Internet; nó cùng tồn tại với các dịch vụ thư mục và tên cục bộ lưu trữ
dữ liệu phù hợp nhất với nhu cầu địa phương (chẳng hạn như Dịch
vụ thông tin mạng của Sun, lưu trữ mật khẩu được mã hóa, ví dụ,
hoặc Dịch vụ Active Directory của Microsoft [www.microsoft.com I], lưu
trữ thông tin chi tiết về tất cả các tài nguyên trong một miền).
Điều còn lại như một vấn đề tiềm ẩn đối với thiết kế DNS là độ
cứng của nó đối với những thay đổi trong cấu trúc của không gian tên
và thiếu khả năng tùy chỉnh không gian tên cho phù hợp với nhu cầu
địa phương. Những khía cạnh này của thiết kế đặt tên được đưa ra
bởi nghiên cứu điển hình của 34
Dịch vụ tên toàn cầu trong Phần 13.4. Nhưng trước đó, chúng tôi xem
xét các dịch vụ thư mục.
13.3 Dịch Vụ Thư Mục
Chúng tôi đã mô tả cách dịch vụ định danh lưu trữ các bộ sưu
tập cặp và cách các thuộc tính được tra cứu từ tên.
Điều tự nhiên là phải xem xét kép của sự sắp xếp này, trong đó các
thuộc tính được sử dụng làm giá trị cần tra cứu. Trong các dịch vụ
này, tên văn bản có thể được coi là một thuộc tính khác. Đôi khi
người dùng muốn tìm một người hoặc tài nguyên cụ thể, nhưng họ
không biết tên của nó, chỉ biết một số thuộc tính khác của nó. Ví dụ:
người dùng có thể hỏi: 'Tên của người dùng có số điện thoại 020-555
9980 là gì?' Tương tự như vậy, đôi khi người dùng yêu cầu một dịch
vụ, nhưng họ không quan tâm đến thực thể hệ thống nào cung cấp
dịch vụ đó, miễn là dịch vụ có thể truy cập thuận tiện. Ví dụ: người
dùng có thể hỏi, 'Máy tính nào trong tòa nhà này là Macintosh chạy hệ
điều hành Mac OS X?' hoặc 'Tôi có thể in hình ảnh màu có độ phân giải cao ở đâu?'
Dịch vụ lưu trữ các tập hợp các ràng buộc giữa tên và thuộc tính và tra
cứu các mục nhập khớp với thông số kỹ thuật dựa trên thuộc tính
được gọi là dịch vụ thư mục.
Ví dụ như Active Directory Services của Microsoft, X.500 và người anh
em họ LDAP (được mô tả trong Phần 13.5), Univers [Bowman et al.
1990] và Hồ sơ [Peterson 1988]. Dịch vụ thư mục đôi khi được gọi
dịch vụ trang vàng các dịch vụ tên thông thường được gọi tương
ứng dịch vụ trang trắng, tương tự như các loại danh bạ điện thoại
truyền thống. Dịch vụ thư mục đôi khi còn được gọi là dịch vụ tên dựa
trên thuộc tính.
Dịch vụ thư mục trả về tập hợp các thuộc tính của bất kỳ đối tượng
nào được tìm thấy để khớp với một số thuộc tính được chỉ định. Vì
vậy, ví dụ: yêu cầu 'TelephoneNumber = 020 555 9980' có thể trả về
{'Name = John Smith', 'TelephoneNumber = 020 555 9980', 'emailAddress =
john@dcs.gormenghast.ac.uk', ...}. Khách hàng có thể chỉ 35
định rằng chỉ một tập hợp con của các thuộc tính được quan tâm - ví
dụ: chỉ địa chỉ email của các đối tượng phù hợp.
X.500 và một số dịch vụ thư mục khác cũng cho phép các đối tượng
được tra cứu bằng các tên văn bản phân cấp thông thường. Dịch vụ
Khám phá và Thư mục Phổ quát (UDDI), được trình bày trong Phần
9.4, cung cấp cả dịch vụ trang trắng và trang vàng để cung cấp thông
tin về các tổ chức và dịch vụ web mà họ cung cấp.
UDDI sang một bên, thuật ngữ dịch vụ khám phá thường biểu thị
trường hợp đặc biệt của dịch vụ thư mục cho các dịch vụ được cung
cấp bởi các thiết bị trong môi trường mạng tự phát. Như Mục 1.3.2 đã
mô tả, các thiết bị trong mạng tự phát có khả năng kết nối và ngắt
kết nối không thể đoán trước. Một sự khác biệt cốt lõi giữa dịch vụ
khám phá và các dịch vụ thư mục khác là địa chỉ của dịch vụ thư mục
thường được biết đến và được cấu hình sẵn trong các máy khách,
trong khi một thiết bị vào môi trường mạng tự phát phải dùng đến điều
hướng đa hướng, ít nhất là lần đầu tiên nó truy cập dịch vụ khám phá
cục bộ. Mục 19.2.1 mô tả chi tiết các dịch vụ khám phá. Các thuộc
tính rõ ràng mạnh hơn tên gọi của các đối tượng:
Các chương trình có thể được viết để chọn các đối tượng theo thông
số kỹ thuật thuộc tính chính xác nơi tên có thể không được biết đến.
Một ưu điểm khác của các thuộc tính là chúng không để lộ cấu trúc
của các tổ chức với thế giới bên ngoài, cũng như các tên được phân
vùng theo tổ chức. Tuy nhiên, sự đơn giản tương đối của việc sử dụng
tên văn bản khiến chúng khó có thể được thay thế bằng đặt tên dựa
trên thuộc tính trong nhiều ứng dụng.
13.4 Nghiên Cứu Điển Hình: Dịch Vụ Tên Toàn Cầu
Dịch vụ tên toàn cầu (GNS) được thiết kế và triển khai bởi
Lampson và các đồng nghiệp tại Trung tâm nghiên cứu hệ thống DEC
[Lampson 1986] để cung cấp các cơ sở cho vị trí tài nguyên, địa chỉ thư
và xác thực. Các mục tiêu thiết kế của GNS đã được liệt kê ở cuối Phần
13.1; Chúng phản ánh thực tế rằng một dịch vụ tên để sử dụng trong
internetwork phải hỗ trợ cơ sở dữ liệu đặt tên có thể mở rộng để bao
gồm tên của hàng triệu 36
máy tính và (cuối cùng) địa chỉ email cho hàng tỷ người dùng. Các nhà
thiết kế của GNS cũng nhận ra rằng cơ sở dữ liệu đặt tên có khả năng tồn
tại lâu dài và nó phải tiếp tục hoạt động hiệu quả trong khi nó phát triển
từ quy mô nhỏ đến quy mô lớn và trong khi mạng lưới mà nó dựa trên
phát triển. Cấu trúc của không gian tên có thể thay đổi trong thời gian đó
để phản ánh những thay đổi trong cấu trúc tổ chức. Dịch vụ phải phù hợp
với những thay đổi về tên của các cá nhân, tổ chức và nhóm mà nó nắm
giữ và những thay đổi trong cấu trúc đặt tên như những thay đổi xảy ra khi
một công ty được tiếp quản bởi một công ty khác.
Trong mô tả này, chúng tôi tập trung vào những tính năng của thiết kế
cho phép nó phù hợp với những thay đổi như vậy.
Cơ sở dữ liệu đặt tên lớn tiềm năng và quy mô của môi trường phân tán
trong đó GNS được dự định hoạt động làm cho việc sử dụng bộ nhớ đệm
trở nên cần thiết và khiến việc duy trì tính nhất quán hoàn toàn giữa tất
cả các bản sao của mục nhập cơ sở dữ liệu trở nên cực kỳ khó khăn.
Chiến lược nhất quán bộ nhớ cache được áp dụng dựa trên giả định
rằng các bản cập nhật cho cơ sở dữ liệu sẽ không thường xuyên và
việc phổ biến chậm các bản cập nhật là chấp nhận được, vì khách hàng
có thể phát hiện và khôi phục từ việc sử dụng dữ liệu đặt tên lỗi thời.
GNS quản lý một cơ sở dữ liệu đặt tên bao gồm một cây các thư mục
chứa tên và giá trị. Các thư mục được đặt tên theo tên đường dẫn
nhiều phần được gọi là thư mục gốc hoặc liên quan đến thư mục làm
việc, giống như tên tệp trong hệ thống tệp UNIX. Mỗi thư mục cũng
được gán một số nguyên, đóng vai trò là định danh thư mục duy nhất
(DI). Trong phần này, chúng tôi sử dụng tên in nghiêng khi đề cập đến
DI của một thư mục, để EC định danh của thư mục EC. Một thư mục
chứa một danh sách các tên và tài liệu tham khảo. Các giá trị được lưu
trữ ở lá của cây thư mục được tổ chức thành cây giá trị, để các thuộc
tính được liên kết với tên thể các giá trị cấu trúc.
Tên trong GNS có hai phần: tên giá trị>. Phần đầu tiên xác
định một thư mục; Thứ hai đề cập đến một cây giá trị, hoặc một số phần
của cây giá trị. dụ, xem Hình 13.7, trong đó các DI được minh họa dưới
dạng các số nguyên nhỏ (mặc chúng thực sự được chọn từ một loạt
các số nguyên để đảm bảo 37
tính duy nhất). Các thuộc tính của người dùng Peter.Smith trong thư mục
QMUL sẽ được lưu trữ trong cây giá trị tên
UK/AC/QMUL, Peter.Smith>. Cây giá trị bao gồm một mật khẩu, có
thể được tham chiếu là
và một số địa chỉ thư, mỗi địa chỉ sẽ được liệt kê trong cây giá trị dưới
dạng một nút duy nhất với tên .
Cây thư mục được phân vùng và lưu trữ trong nhiều máy chủ, với mỗi
phân vùng được sao chép trong một số máy chủ. Tính nhất quán của cây
được duy trì khi đối mặt với hai hoặc nhiều bản cập nhật đồng thời - ví
dụ: hai người dùng có thể đồng thời cố gắng tạo các mục có cùng tên và
chỉ một người thành công. Các thư mục được sao chép trình bày một
vấn đề nhất quán thứ hai; Điều này được giải quyết bằng thuật toán phân
phối cập nhật không đồng bộ đảm bảo tính nhất quán cuối cùng, nhưng
không đảm bảo rằng tất cả các bản sao luôn cập nhật.
Hình 13.7: Cây thư mục GNS cây giá trị cho người dùng Peter.Smith DI: 599(EC) Vư DI: 543 FR DI: 574 ơn g qu DI: 437 AC ốc An DI: 322 QMUL h Peter.Smith hộp thư mật khẩu Alpha Bêta Gamma
Thích ứng với sự thay đổi: Bây giờ chúng ta chuyển sang các
khía cạnh của thiết kế có liên quan đến việc hỗ trợ tăng trưởng và
thay đổi cấu trúc của cơ sở dữ liệu đặt tên. Ở cấp độ khách hàng và
quản trị viên, sự tăng trưởng được cung cấp thông qua việc mở rộng
cây thư mục theo cách thông thường. Nhưng chúng tôi có thể muốn tích hợp các cây đặt 38
tên của hai dịch vụ GNS riêng biệt trước đây. Ví dụ, làm thế nào
chúng ta có thể tích hợp sở dữ liệu bắt nguồn từ thư mục EC
được hiển thị trong Hình 13.7 với một cơ sở dữ liệu khác cho BẮC
MỸ? Hình 13.8 cho thấy một gốc mới, WORLD, được giới thiệu phía
trên rễ hiện có của hai cây sẽ được hợp nhất. Đây là một kỹ thuật
đơn giản, nhưng nó ảnh hưởng như thế nào đến các khách hàng tiếp
tục sử dụng các tên được gọi là 'gốc' trước khi tích hợp diễn ra? Ví
dụ: < / UK / AC / QMUL, Peter.Smith> là tên được khách hàng sử
dụng trước khi tích hợp. Nó là một tên tuyệt đối (vì nó bắt đầu bằng
ký hiệu cho gốc, '/'), nhưng gốc mà nó đề cập đến là EC, không phải
WORLD. ECBẮC MỸ là nguồn gốc hoạt động - bối cảnh ban
đầu dựa trên những tên bắt đầu bằng gốc '/' sẽ được tra cứu.
Hình 13.8: Hợp nhất cây dưới một gốc mới DI: 633 (THẾ GIỚI) Thư mục nổi tiếng: #599 = #633/EC #642 = #633/BẮC MỸ EC BẮC MỸ DI: 599 DI: 642 DI: 543 Vư FR DI: 574 DI: 732 Ch CANADADI: 457 ơn ún g g qu tôi ốc An h
Hình 13.9: Tái cấu trúc thư mục DI: 633 (THẾ GIỚI) Thư mục nổi tiếng: #599 = #633/EC #642 = #633/BẮC MỸ EC BẮC MỸ DI: 599 DI: 642 Vư FR Ch Ch CANADA DI: 543 DI: 574 : 732 DI: 457 ơn ún DI ún g g g qu tôi #633t/ôEiC/US ốc An h 39
Sự tồn tại của các định danh thư mục duy nhất có thể được sử
dụng để giải quyết vấn đề này. Gốc làm việc cho mỗi chương trình
phải được xác định là một phần của môi trường thực thi của nó
(giống như được thực hiện cho thư mục làm việc của chương trình).
Khi một khách hàng trong Cộng đồng Châu Âu sử dụng tên của biểu
mẫu < / UK / AC / QMUL, Peter.Smith>, tác nhân người dùng cục bộ
của nó, nhận thức được gốc làm việc, tiền tố mã định danh thư mục
EC(#599), do đó tạo ra tên < # 599 / UK / AC / QMUL, Peter.Smith>.
Tác nhân người dùng chuyển tên dẫn xuất này trong yêu cầu tra cứu
đến máy chủ GNS. Tác nhân người dùng có thể xử lý tương tự với
các tên tương đối được đề cập đến các thư mục làm việc. Khách
hàng nhận thức được cấu hình mới cũng có thể cung cấp tên tuyệt
đối cho máy chủ GNS, được tham chiếu đến thư mục siêu gốc khái
niệm chứa tất cả các định danh thư mục - ví dụ: / AC / QMUL, Peter.Smith> - nhưng thiết kế không thể giả định rằng
tất cả các máy khách sẽ được cập nhật để tính đến thay đổi đó.
Kỹ thuật được mô tả ở trên giải quyết vấn đề logic, cho phép người
dùng và chương trình máy khách tiếp tục sử dụng các tên được xác
định liên quan đến gốc cũ ngay cả khi một gốc thực mới được chèn
vào, nhưng nó để lại một vấn đề thực hiện: trong cơ sở dữ liệu đặt
tên phân tán có thể chứa hàng triệu thư mục, làm thế nào dịch vụ
GNS có thể xác định vị trí một thư mục chỉ được cung cấp định danh
của nó, Chẳng hạn như # 599? Giải pháp được GNS áp dụng là
liệt kê các thư mục được sử dụng làm gốc hoạt động, chẳng hạn như
EC, trong một bảng 'thư mục nổi tiếng' được giữ trong thư mục gốc
thực hiện tại của cơ sở dữ liệu đặt tên. Bất cứ khi nào gốc thực của
cơ sở dữ liệu đặt tên thay đổi, như trong Hình 13.8, tất cả các máy
chủ GNS đều được thông báo về vị trí mới của gốc thực. Sau đó, họ
có thể giải thích tên của dạng WORLD / EC / UK / AC / QMUL (được
gọi là gốc thực) theo cách thông thường và họ có thể giải thích tên
của mẫu # 599 / UK / AC / QMUL bằng cách sử dụng bảng 'thư mục
nổi tiếng' để dịch chúng thành tên đường dẫn đầy đủ bắt đầu từ gốc thực. 40
GNS cũng hỗ trợ tái cấu trúc cơ sở dữ liệu để phù hợp với sự thay đổi
của tổ chức. Giả sử rằng Hoa Kỳ trở thành một phần của Cộng đồng
châu Âu (!). Hình 13.9 cho thấy cây thư mục mới. Nhưng nếu cây con
của Hoa Kỳ chỉ đơn giản được chuyển đến thư mục EC, các tên bắt
đầu WORLD / NORTH AMERICA / US sẽ không còn hoạt động nữa.
Giải pháp được GNS thông qua là chèn một 'liên kết tượng trưng'
thay cho mục nhập ban đầu của Hoa Kỳ (được in đậm trong Hình
13.9). Quy trình tra cứu thư mục GNS diễn giải liên kết như một
chuyển hướng đến thư mục Hoa Kỳ ở vị trí mới của nó.
Thảo luận về GNS: GNS có nguồn gốc từ Grapevine [Birrell et
al. 1982] và Clearinghouse [Oppen và Dalal 1983], hai hệ thống đặt
tên thành công được phát triển chủ yếu cho mục đích gửi thư của Tập
đoàn Xerox. GNS giải quyết thành công nhu cầu về khả năng mở
rộng và cấu hình lại, nhưng giải pháp được áp dụng để hợp nhất
và di chuyển cây thư mục dẫn đến yêu cầu về cơ sở dữ liệu (bảng
các thư mục nổi tiếng) phải được sao chép ở mọi nút. Trong một mạng
quy mô lớn, việc cấu hình lại có thể xảy ra ở bất kỳ cấp độ nào và
bảng này có thể phát triển đến kích thước lớn, mâu thuẫn với mục tiêu khả năng mở rộng.
13.5 Nghiên Cứu Điển Hình: Dịch Vụ Thư Mục X.500
X.500 là một dịch vụ thư mục theo nghĩa được định nghĩa
trong Phần 13.3. Nó có thể được sử dụng theo cách tương tự như một
dịch vụ tên thông thường, nhưng nó chủ yếu được sử dụng để đáp ứng
các truy vấn mô tả và được thiết kế để khám phá tên và thuộc tính của
người dùng hoặc tài nguyên hệ thống khác. Người dùng có thể có nhiều
yêu cầu khác nhau để tìm kiếm và duyệt trong một thư mục người dùng
mạng, tổ chức và tài nguyên hệ thống để có được thông tin về các thực
thể mà thư mục chứa. Việc sử dụng cho một dịch vụ như vậy có thể khá
đa dạng. Chúng bao gồm từ các yêu cầu tương tự trực tiếp với việc sử
dụng danh bạ điện thoại, chẳng hạn như truy cập 'trang trắng' đơn giản để
lấy địa chỉ thư điện tử của người dùng hoặc truy vấn 41
'trang vàng' nhằm mục đích, ví dụ, lấy tên và số điện thoại của nhà để xe
chuyên sửa chữa một loại xe cụ thể, đến việc sử dụng thư mục để truy
cập các chi tiết cá nhân như vai trò công việc, thói quen ăn kiêng hoặc
thậm chí hình ảnh chụp ảnh của các cá nhân.
Các truy vấn như vậy có thể bắt nguồn từ người dùng, trong ví dụ 'trang
vàng' được đề cập ở trên hoặc từ các quy trình, khi chúng có thể được
sử dụng để xác định các dịch vụ nhằm đáp ứng yêu cầu chức năng.
Các cá nhân và tổ chức có thể sử dụng dịch vụ thư mục để cung cấp một
loạt các thông tin về bản thân và các tài nguyên mà họ muốn cung cấp
để sử dụng trong mạng. Người dùng có thể tìm kiếm thư mục cho thông
tin cụ thể chỉ với một phần kiến thức về tên, cấu trúc hoặc nội dung của nó.
Các tổ chức tiêu chuẩn ITU và ISO đã xác định Dịch vụ Thư mục
X.500
[ITU / ISO 1997] là một dịch vụ mạng nhằm đáp ứng các yêu cầu
này. Tiêu chuẩn đề cập đến nó như một dịch vụ để truy cập thông tin về
'các thực thể trong thế giới thực', nhưng nó cũng có khả năng được sử
dụng để truy cập thông tin về các dịch vụ và thiết bị phần cứng và phần
mềm. X.500 được chỉ định là một dịch vụ cấp ứng dụng trong bộ tiêu
chuẩn Kết nối Hệ thống Mở (OSI), nhưng thiết kế của nó không phụ thuộc
đáng kể vào các tiêu chuẩn OSI khác và nó có thể được xem như một
thiết kế cho dịch vụ thư mục mục đích chung. Chúng tôi phác thảo thiết
kế của dịch vụ thư mục X.500 và việc triển khai nó ở đây. Độc giả quan
tâm đến mô tả chi tiết hơn về X.500 và các phương pháp thực hiện nó
nên nghiên cứu cuốn sách của Rose về chủ đề này [Rose 1992]. X.500
cũng là cơ sở cho LDAP (được thảo luận dưới đây) và nó được sử dụng
trong dịch vụ thư mục DCE [OSF 1997]. 42
Hình 13.10: Kiến trúc dịch vụ X.500 DUA DSA DSA DUA DSA DSA DSA DUA DSA
Dữ liệu được lưu trữ trong các máy chủ X.500 được tổ chức
theo cấu trúc cây với các nút được đặt tên, như trong trường hợp các
máy chủ tên khác được thảo luận trong chương này, nhưng trong
X.500, một loạt các thuộc tính được lưu trữ tại mỗi nút trong cây và
có thể truy cập không chỉ bằng tên mà còn bằng cách tìm kiếm các
mục nhập với bất kỳ sự kết hợp bắt buộc nào của các thuộc tính.
Cây tên X.500 được gọi là Cây thông tin thư mục (DIT) toàn bộ
cấu trúc thư mục bao gồm dữ liệu được liên kết với các nút, được
gọi Cơ sở thông tin thư mục (DIB). Dự định có một DIB tích hợp
duy nhất chứa thông tin được cung cấp bởi các tổ chức trên toàn thế
giới, với các phần của DIB nằm trong các máy chủ X.500 riêng lẻ.
Thông thường, một tổ chức cỡ trung bình hoặc lớn sẽ cung cấp ít nhất một máy chủ.
Khách hàng truy cập thư mục bằng cách thiết lập kết nối với máy
chủ và đưa ra yêu cầu truy cập. Khách hàng có thể liên hệ với bất kỳ
máy chủ nào với một yêu cầu. Nếu dữ liệu cần thiết không nằm
trong phân đoạn DIB do máy chủ được liên hệ nắm giữ, nó sẽ gọi
các máy chủ khác để giải quyết truy vấn hoặc chuyển hướng máy
khách đến một máy chủ khác.
Trong thuật ngữ của tiêu chuẩn X.500, các máy chủ Directory
Service Agents (DSA) và các máy khách của chúng được gọi là
Directory User Agents (DUA). Hình 13.10 cho thấy kiến trúc phần mềm
và một trong một số mô hình điều hướng có thể, với mỗi quy trình
máy khách DUA tương tác với một 43
quy trình DSA duy nhất, truy cập các DSA khác khi cần thiết để đáp ứng các yêu cầu.
Mỗi mục trong DIB bao gồm một tên và một tập hợp các thuộc tính.
Như trong các máy chủ tên khác, tên đầy đủ của một mục nhập tương
ứng với một đường dẫn qua DIT từ gốc của cây đến mục nhập.
Ngoài tên đầy đủ hoặc tuyệt đối, DUA có thể thiết lập ngữ cảnh,
bao gồm nút cơ sở và sau đó sử dụng tên tương đối ngắn hơn
cung cấp đường dẫn từ nút cơ sở đến mục nhập được đặt tên.
Hình 13.11 cho thấy một phần của Cây thông tin thư mục bao gồm Đại
học Gormenghast ở Anh và Hình 13.12 là một trong những mục DIB
liên quan. Cấu trúc dữ liệu cho các mục trong DIB và DIT rất linh hoạt.
Mục nhập DIB bao gồm một tập hợp các thuộc tính, trong đó một thuộc
tính có một loại và một hoặc nhiều giá trị. Loại của mỗi thuộc tính
được biểu thị bằng tên loại (ví dụ: countryName, organizationName,
commonName, telephoneNumber, hộp thư ,objectClass). Bạn có thể
xác định các loại thuộc tính mới nếu bắt buộc. Đối với mỗi khác biệt.
Hình 13.11: Một phần của cây thông tin thư mục X.500 Dịch vụ X.500 (root)
... Pháp (quốc gia)Vương quốc Anh (quốc gia)Hy Lạp (quốc gia)... ...
... BT Plc (tổ chức)Đại học Gormenghast (tổ chức)
... Dịch vụ máy tính (organizationalUnit)
Khoa Khoa học Máy tính (organizationalUnit)
Phòng Kỹ thuật (organizationalUnit) ...
... Nhân viên phòng ban (organizationalUnit) ely (applicationProcess)
Sinh viên nghiên cứu (organizationa..l.Unit)
... Alice Flintstone (ngườ.i.). Pat King (người)
James Healey (ngườiJ)anet Papworth (ngườ.i.). 44
tên kiểu Có một định nghĩa kiểu tương ứng, bao gồm mô tả kiểu
và định nghĩa cú pháp trong ký hiệu ASN.1 (ký hiệu chuẩn cho định
nghĩa cú pháp) xác định biểu diễn cho tất cả các giá trị cho phép của kiểu.
Các mục DIB được phân loại theo cách tương tự như các cấu trúc lớp
đối tượng được tìm thấy trong các ngôn ngữ lập trình hướng đối
tượng. Mỗi mục nhập bao gồm một thuộc tính objectClass, xác định
lớp (hoặc lớp) của đối tượng mà một mục nhập đề cập đến.
Organization, organizationalPersondocument là tất cả các ví dụ về
giá trị objectClass. Các lớp tiếp theo có thể được định nghĩa khi
chúng được yêu cầu. Định nghĩa của một lớp xác định thuộc tính
nào là bắt buộc và thuộc tính nào là tùy chọn cho các mục nhập của
lớp nhất định. Các định nghĩa của các lớp được tổ chức trong một hệ
thống phân cấp kế thừa trong đó tất cả các lớp ngoại trừ một (được
gọi topClass) phải chứa thuộc tính objectClass giá trị của
thuộc tính objectClass phải là tên của một hoặc nhiều lớp. Nếu có
một số giá trị objectClass, đối tượng kế thừa các thuộc tính bắt
buộc và tùy chọn của mỗi lớp.
Tên của một mục nhập DIB (tên xác định vị trí của nó trong DIT) được
xác định bằng cách chọn một hoặc nhiều thuộc tính của nó làm thuộc
tính phân biệt. Các thuộc tính được chọn cho mục đích này được
gọi là Tên phân biệt (DN) của mục nhập.
Hình 13.12: Mục nhập X.500 DIB Thông tin
Alice Flintstone, Nhân viên bộ phận, Khoa Khoa học Máy tính, Đại học Gormenghast, GB 45 Tên chung Uid Alice.L.Flint Alf stone alf@dcs.gormenghas Alice.Flintst t.ac.uk thư one Alice.Flintstone@dcs.go Alice rmenghast.ac.uk phòngSố Flintstone phòng A. Họ Z42 Flintstone
lớp người dùng Đá lửa Nghiên cứu viên
số điện thoại +44 986 33 4604
Bây giờ chúng ta có thể xem xét các phương thức mà thư mục
được truy cập. Có hai loại yêu cầu truy cập chính: đọc: Một tên tuyệt
đối hoặc tương đối (một tên miền trong thuật ngữ X.500) cho một
mục nhập được đưa ra, cùng với một danh sách các thuộc tính cần
đọc (hoặc một dấu hiệu cho thấy tất cả các thuộc tính là bắt buộc).
DSA định vị mục nhập được đặt tên bằng cách điều hướng trong DIT,
chuyển các yêu cầu đến các máy chủ DSA khác nơi nó không giữ các
phần có liên quan của cây. Nó truy xuất các thuộc tính cần thiết và trả
lại chúng cho máy khách. search: Đây là yêu cầu truy cập dựa trên
thuộc tính. Tên cơ sở và biểu thức bộ lọc được cung cấp dưới dạng
đối số. Tên cơ sở chỉ định nút trong DIT mà từ đó tìm kiếm sẽ bắt
đầu; Biểu thức bộ lọc là một biểu thức boolean sẽ được đánh giá cho
mọi nút bên dưới nút cơ sở. Bộ lọc chỉ định một tiêu chí tìm kiếm: một
sự kết hợp hợp lý của các bài kiểm tra về các giá trị của bất kỳ thuộc
tính nào trong một mục nhập. Lệnh tìm kiếm trả về danh sách tên (tên
miền) cho tất cả các mục bên dưới nút cơ sở mà bộ lọc đánh giá là
TRUE. Ví dụ, một bộ lọc có thể được xây dựng và áp dụng để tìm tên
chung của các thành viên của nhân viên chiếm phòng Z42 trong Khoa
Khoa học Máy tính tại Đại học Gormenghast (Hình 13.12). Một yêu
cầu đọc sau đó có thể được sử dụng để có được bất kỳ hoặc tất cả
các thuộc tính của các mục DIB đó. 46
Tìm kiếm có thể khá tốn kém khi nó được áp dụng cho các phần lớn
của cây thư mục (có thể nằm trong một số máy chủ). Các đối số bổ
sung có thể được cung cấp để tìm kiếm để hạn chế phạm vi, thời
gian cho phép tìm kiếm tiếp tục kích thước của danh sách các
mục nhập được trả về.
Quản trị cập nhật DIB: Giao diện DSA bao gồm các hoạt
động để thêm, xóa và sửa đổi các mục. Kiểm soát truy cập được cung
cấp cho cả truy vấn và hoạt động cập nhật, vì vậy quyền truy cập vào
các phần của DIT có thể bị hạn chế đối với một số người dùng hoặc
lớp người dùng nhất định.
DIB được phân vùng, với kỳ vọng rằng mỗi tổ chức sẽ cung cấp ít
nhất một máy chủ nắm giữ các chi tiết của các thực thể trong tổ chức
đó. Các phần của DIB có thể được sao chép trong một số máy chủ.
Là một tiêu chuẩn (hoặc 'khuyến nghị' trong thuật ngữ CCITT),
X.500 không giải quyết các vấn đề thực hiện. Tuy nhiên, khá rõ ràng
rằng bất kỳ triển khai nào liên quan đến nhiều máy chủ trong một
mạng diện rộng phải dựa vào việc sử dụng rộng rãi các kỹ thuật
sao chép và lưu vào bộ nhớ đệm để tránh chuyển hướng quá nhiều truy vấn.
Một triển khai, được mô tả bởi Rose [1992], là một hệ thống được phát
triển tại Đại học College, London, được gọi là QUIPU [Kille 1991].
Trong việc triển khai này, cả bộ nhớ đệm và sao chép đều được thực
hiện ở cấp độ của các mục nhập DIB riêng lẻ và ở cấp độ bộ sưu tập
các mục nhập có nguồn gốc từ cùng một nút. Giả định rằng các giá trị
có thể trở nên không nhất quán sau khi cập nhật và khoảng thời
gian mà tính nhất quán được khôi phục có thể là vài phút. Hình thức
phổ biến cập nhật này thường được coi là chấp nhận được đối với các
ứng dụng dịch vụ thư mục.
Giao thức truy cập thư mục nhẹ: Giả định của X.500 rằng các
tổ chức sẽ cung cấp thông tin về bản thân họ trong các thư mục công
cộng trong một hệ thống chung đã được chứng minh phần lớn là
không có cơ sở. Tương tự, tính tương thích của nó có nghĩa là sự hấp
thụ của nó tương đối khiêm tốn. 47
Một nhóm tại Đại học Michigan đã đề xuất một cách tiếp cận nhẹ hơn
được gọi là Giao thức truy cập thư mục nhẹ (LDAP), trong đó DUA
truy cập các dịch vụ thư mục X.500 trực tiếp qua TCP / IP thay vì
các lớp trên của ngăn xếp giao thức ISO. Điều này được mô tả trong
RFC 2251 [Wahl et al. 1997]. LDAP cũng đơn giản hóa giao diện
thành X.500 theo những cách khác: ví dụ: nó cung cấp một API tương
đối đơn giản và nó thay thế mã hóa ASN.1 bằng mã hóa văn bản.
Mặc dù thông số kỹ thuật LDAP dựa trên X.500, LDAP không yêu cầu
nó. Việc triển khai có thể sử dụng bất kỳ máy chủ thư mục nào khác
tuân theo đặc tả LDAP đơn giản hơn, trái ngược với đặc tả X.500. Ví
dụ: Dịch vụ Active Directory của Microsoft cung cấp giao diện LDAP.
Không giống như X.500, LDAP đã được áp dụng rộng rãi, đặc biệt là
cho các dịch vụ thư mục mạng nội bộ. Nó cung cấp quyền truy cập an
toàn vào dữ liệu thư mục thông qua xác thực. 13.6 Tóm Tắt
Chương này đã mô tả việc thiết kế và thực hiện các dịch vụ tên
trong các hệ thống phân tán. Dịch vụ định danh lưu trữ các thuộc tính
của các đối tượng trong một hệ thống phân tán - đặc biệt là địa chỉ của
chúng - và trả về các thuộc tính này khi tên văn bản được cung cấp để
tra cứu. Các yêu cầu chính đối với dịch vụ tên là khả năng xử lý số lượng
tên tùy ý, tuổi thọ cao, tính sẵn sàng cao, cách ly các lỗi và khả năng
chịu đựng sự ngờ vực.
Vấn đề thiết kế chính là cấu trúc của không gian tên - các quy tắc cú
pháp chi phối tên. Một vấn đề liên quan là mô hình độ phân giải, đưa ra
các quy tắc theo đó tên đa thành phần được phân giải thành một tập
hợp các thuộc tính. Tập hợp các tên bị ràng buộc phải được quản lý. Hầu
hết các thiết kế xem xét không gian tên được chia thành các miền.
Các phần rời rạc của không gian tên, mỗi phần được liên kết với một cơ
quan duy nhất kiểm soát sự ràng buộc của các tên trong đó. Việc triển
khai dịch vụ tên có thể mở rộng các tổ chức và 48
cộng đồng người dùng khác nhau. Nói cách khác, tập hợp các ràng buộc
giữa tên và thuộc tính được lưu trữ tại nhiều máy chủ định danh, mỗi
máy chủ lưu trữ ít nhất một phần của tập hợp tên trong miền đặt tên. Do
đó, câu hỏi về điều hướng được đặt ra - tên có thể được giải quyết
theo thủ tục nào khi thông tin cần thiết được lưu trữ tại một số địa
điểm? Các loại điều hướng được hỗ trợ là lặp lại, đa hướng, đệ quy do
máy chủ điều khiển và điều khiển máy chủ không đệ quy. Một khía cạnh
quan trọng khác của việc triển khai dịch vụ tên là sử dụng sao chép và
lưu vào bộ nhớ đệm. Cả hai đều hỗ trợ làm cho dịch vụ có tính khả dụng
cao và cả hai cũng giảm thời gian giải quyết tên.
Chương này đã xem xét hai trường hợp chính của thiết kế và thực hiện
dịch vụ tên. Hệ thống tên miền được sử dụng rộng rãi để đặt tên máy tính
và giải quyết thư điện tử trên Internet; Nó đạt được thời gian phản hồi tốt
thông qua sao chép và lưu vào bộ nhớ đệm. Dịch vụ tên toàn cầu là
một thiết kế đã giải quyết vấn đề cấu hình lại không gian tên khi thay đổi tổ chức xảy ra.
Chương này cũng xem xét các dịch vụ thư mục, cung cấp dữ liệu về các
đối tượng và dịch vụ phù hợp khi khách hàng cung cấp mô tả dựa trên
thuộc tính. X.500 là một mô hình cho các dịch vụ thư mục có thể nằm
trong phạm vi từ các tổ chức cá nhân đến các thư mục toàn cầu. Nó đã
được sử dụng rộng rãi hơn trong mạng nội bộ kể từ khi phần mềm LDAP xuất hiện.
13.7 Tài Liệu Tham Khảo
1. Ebook Distributed System: Concepts and Design 49