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

49 0 0
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN 

2

Trang 3

BẢNG PHÂN CÔNG NHIỆM VỤ

1 Phát hiện và nghiên cứuđề tài Cả nhóm

2 Nghiên cứu phần 13.1,13.3 Nghiêm NgọcNga6668091

3 Nghiên cứu phần 13.2 Vũ Hoài Nam6656204

4 Nghiên cứu phần 13.4,13.5 Bùi Văn Hùng6650228

3

Trang 4

Mục lục

13.1 Giới thiệu 6

13.1.1 Tên, Địa Chỉ Và Các Thuộc Tính Khác 6

13.2 Dịch Vụ Tên Và 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 .3013.6 Tóm Tắt 36

13.7 Tài Liệu Tham Khảo 36

4

Trang 5

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

Trang 6

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

Trang 7

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ỉ Và 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

Trang 8

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

Trang 9

đượ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 và 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 mà 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.

Mã đị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

Trang 10

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ử lý 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 đồ và chuẩn hóa đạitel 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

Trang 11

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 có 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 là music-pop-1234 trong sơ đồ đặt tên của nhà xuất bản được gọi là 10.555 trong lược đồ Mã định danh đối tượng kỹ thuật số (DOI) [www.doi.org].

Có 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ử lý [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

Trang 12

13.2 Dịch Vụ Tên Và 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

Trang 13

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ử lý một số lượng tên về cơ bản tùy ý và để 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

Trang 14

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 com và ac.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

Trang 15

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 và www.cdk5 đều là 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.net và WWW.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.

Bí danh: Bí 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

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

Trang 16

Đặ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ụ: là một tên miền chứa net 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 và 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

Trang 17

là và đỏ 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à / đỏ và / xanh Người dùng và chương trình sau đó có thể tham khảo / red / etc / passwd và / 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 / và đỏ / 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

/ /dcs.qmul.ac.uk/files/pub/reports/TR2000-99, các tệp nối là 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ính và là gốc rễ của không gian tên khôngtệp đồng nhất, được thực hiện bởi các dịch vụ tên không đồng nhất.

17

Trang 18

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 và sử dụng nó 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

Trang 19

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 '/', và 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 là 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 và đ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

Trang 20

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.com và ac.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

Trang 21

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

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 và

đệ 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

Trang 22

đượ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

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

Trang 23

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

Trang 24

đượ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à:

Các tên miền cấp cao mới như và biz mobi đã được thêm vào từ đầu những năm 2000 Danh sách đầy đủ các tên miền

24

Ngày đăng: 31/03/2024, 17:02

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan