1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn Nguyên lý và Mô thức phát triển Hệ phân tán Hệ thống DNS Anycast tại trung tâm Khu vực 1 Công ty Mạng lưới Viettel

32 540 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 2,55 MB

Nội dung

Tiểu luận môn Nguyên lý và Mô thức phát triển Hệ phân tán Hệ thống DNS Anycast tại trung tâm Khu vực 1 Công ty Mạng lưới Viettel Cùng với sự phát triển của khoa học kỹ thuật và công nghệ, việc truyền thông, liên lạc, tính toán, quản lý ngày nay không chỉ đơn giản tập trung trong máy tính đơn như trước nữa mà nó đòi hỏi các hệ thống máy tính phải được kết hợp từ một số lượng lớn các máy tính kết nối với nhau qua 1 mạng tốc độ cao.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TIỂU LUẬN

Hệ thống DNS Anycast tại trung tâm Khu vực 1

Công ty Mạng lưới Viettel

MÔN HỌC: Nguyên lý và Mô thức phát triển Hệ phân tán

MÃ HỌC PHẦN: IT6040

Giảng viên: GS Nguyễn Thúc Hải

Học viên: Nguyễn Công Trung

Mã học viên: CB120157

Hà Nội 1/2013

Trang 2

LỜI NÓI ĐẦUCùng với sự phát triển của khoa học kỹ thuật và công nghệ, việc truyền thông, liênlạc, tính toán, quản lý ngày nay không chỉ đơn giản tập trung trong máy tính đơn nhưtrước nữa mà nó đòi hỏi các hệ thống máy tính phải được kết hợp từ một số lượng lớn cácmáy tính kết nối với nhau qua 1 mạng tốc độ cao Chúng thường được gọi là các mạngmáy tính hay còn có tên khác là các Hệ phân tán, nhằm ám chỉ tương phản với Hệ tậptrung trước đây.

Ngày nay, hệ phân tán phát triển rất nhanh và được ứng dụng rộng khắp Đó cóthể là các dịch vụ thông tin phân tán, các ứng dụng phân tán, cơ sở dữ liệu phân tán nhưcác hệ thống đặt vé máy bay Mục đich của tiểu luận là hiểu được những nguyên lý cơbản nhất của một hệ phân tán nói chung dựa trên việc phân tích một hệ phân tán cụ thể.Trong tiểu luận này, em tập trung nghiên cứu và phân tích hệ thống DNS Anycast đang sửdụng tại Trung tâm khu vực 1 – Công ty mạng lưới Viettel

Do tính chất phức tạp của hệ phân tán, nên trong quá trình tìm hiểu và phân tíchcũng không tránh được những thiếu xót Cuối cùng em xin chân thành cảm ơn thầyNguyễn Thúc Hải đã giúp đỡ em hoàn thành cuốn tiểu luận này

Trang 3

Mục lục

1 Kiến trúc hệ thống 4

1.1 Kiến trúc client – server 4

1.2 Kiến trúc cân bằng tải của hệ thống DNS Anycast 5

2 Tiến trình 6

3, Truyền thông 14

4 Định danh 18

5 Đồng bộ hóa 26

6 Nhất quán và nhân bản 27

6.1 Nhất quán 27

6.2 Nhân bản 27

7 Khả năng chịu lỗi 28

8 An toàn thông tin 31

9 Tổng kết 32

10 Tài liệu tham khảo 32

Trang 4

1 Kiến trúc hệ thống

Trước hết để mở đầu việc tìm hiểu hệ thống phân, ta tập trung vào phân tích kiếntrúc của hệ thống Cũng nhữ hầu hết các hệ thống, hệ thống DNS Anycast có mô hìnhclient – server, đồng thời nó cũng có mô hình cân bằng tải (load balancing)

1.1 Kiến trúc client – server

Để phân tích cấu trúc client-server của hệ thống DNS anycast ta phân tích quytrình phân tích quá trình phân giải tên miền

Phân giải tên miền abc.company.com sang địa chỉ IP

(1) Client gửi yêu cầu phân giải đến nameserver Nếu nameserver có thể trả lời thì nó sẽtrả lời cho resolver Nameserver tìm trong bộ đệm (cache - bước 5), trong local disk (dữliệu authoritative), trong bộ đệm (dữ liệu nonauthoritative của lần truy vấn trước đó) Nếunameserver không tìm thấy câu trả lời, nó sẽ liên lạc với root nameserver Nếu tất cả rootnamsever đều không thễ trả lời (ví dụ lỗi liên quan đến kết nối) thì sau một khoảng thờigian quá trình phân giải sẽ thất bại

(2) Root namseverver tìm thấy thôgn tin về miền com được ủy quyền cho nameserver cấpdưới (bằng khai báo NS RRs), nó sẽ trả về địa chỉ IP của nameserver cấp dưới đó (máychủ miền com)

Trang 5

(3) Nameserver sẽ tiếp tục đi hỏi máy chủ miền com và nhận được thông tin miềncompany.com được ủy quyền cho namserver cấp dưới, và Namserver nhận được IP củanameserver authoritative miền company.com.

(4) Nameserver tiếp tục đi hỏi máy chủ miền company.com, và câu trả lời từ nameserverauthoritative miền company.com được đánh dấu là authoratitive answer, và được trả vềcho client

(5) Kết quả mà nameserver nhận được sẽ được lưu và bộ nhớ đệm Nếu lần kế tiếp có yêucầu phân giải domain này thì nó sẽ được trả về cho cilent, nhưng không được đánh dấu làauthoritative answer

Nameserver không yêu cầu phải trả lời hoàn chỉnh truy vấn (recursive - truy vấn

đệ quy) Các nameserver quan trọng (như root hay TLD nameserver) không thực hiện truyvấn đệ quy để tránh tình trạng quá tải, vì vậy resolver không thể gửi yêu cầu trực tiếp đếncác nameserver các nameserver này

1.2 Kiến trúc cân bằng tải của hệ thống DNS Anycast

DNS Anycast là sử dụng các chính sách định tuyến và phân chia địa chỉ IP để xácđịnh đường đi giữa một “nguồn” với một vài “đích” phục vụ chung một dịch vụ (hay mộtnhóm dịch vụ) Trong DNS Anycast, các máy chủ DNS Anycast được đặt cùng một địachỉ IP Chính sách định tuyến động tại lớp 3 sẽ thực hiện việc tính toán và truyền gói tin

từ client đến các máy chủ dns anycast thích hợp nhất

Hình bên dưới mô tả một ví dụ DNS Anycast: DNS client được cấu hình chỉ địnhmáy chủ DNS Anycast là 10.10.10.10, DNS Server gần nhất sẽ trả lời truy vấn

Trang 6

DNS client có thể gửi yêu cầu đến bất kỳ server nào, trong hình trên định tuyếnlayer 3 sẽ chuyển gói tin đến router R1 Trong trường hợp server A không thể cung cấpdịch vụ, gói tin yêu cầu phân giải DNS sẽ tự động được chuyển tới router gần nhất là R2

và R3 để đến server B, và đường route đến server A sẽ được loại bỏ khỏi bảng định tuyến

2 Tiến trình

Truy vấn phổ biến nhất trong DNS là truy vấn phân giải từ tên sang địa chỉ IP,ngoài ra còn có thể truy vấn các thông tin khác từ DNS Một truy vấn DNS được thựchiện bởi resolver (DNS client)

Máy chủ tên miền sẽ tìm kiếm trong cache dữ liệu về zone mà nó quản lý

Trang 7

Máy chủ Primary đọc dữ liệu từ local disk, còn máy chủ secondary truy xuất dữliệu bằng truy vấn zone transfer.

Máy chủ tên miền lưu trữ vào cache của nó kết qủa truy vấn mà nó nhận được từmáy chủ tên miền khác (các kết quả truy vấn thành công lẫn truy vấn không thành công)

Các yêu cầu phân giải tên miền thường phát sinh từ một chương trình máy tính,chương trình này gởi yêu cầu đến một thành phần của hệ điều hành (gọi là resolver),resolver sẽ chuyển tiếp truy vấn đến máy chủ tên miền bằng giao thức DNS, nếu resolverkhông có bộ nhớ cache được gọi là stub resolver

Một vài máy tính chỉ có resolver, một số khác có cả resolver và nameserver, tuynhiên nguyên lý chung vẫn như sau:

nameserver

nameserver khác

chế này nameserver sẽ liên lạc được với nameserver có thẩm quyền để có được câu trả lờicuối cùng

yêu cầu Nếu có nhiều name sever khác được cấu hình trong danh sách root server củanameserver, nó sẽ gửi yêu cầu đến nameserver kế tiếp trong danh sách đó

Trang 8

Nameserver và resolver

DNS sử dụng port 53 trên cả TCP và UDP trong việc gửi/nhận yêu cầu Các truyvấn thông thường như yêu cầu phân giải tên sang IP hay ngược lại sử dụng giao thứcUDP Chiều dài của dữ liệu UDP bị giới hạn trong 512 Bytes, trong trường hợp dữ liệu >512B thì DNS sẽ bật cờ truncation để thông báo gửi lại bằng giao thức TCP Các truy vấnzone transfer giữa primary và secondary DNS sử dụng giao thức TCP để truyền tin

Yêu cầu phân giải được gửi từ resolver đến name sever, nếu nameserver không biếtcâu tra lời nó sẽ hỏi các nameserver khác Name server xử lý yêu cầu bằng cơ chế lặp, bắtđầu từ root nameserver

Trang 9

Quá trình trả lời yêu cầu phân giải

Cơ chế hoạt động của resolver: Resolver là một thành phần của hệ điều hành, thựchiện việc phân giải tên miền Resolver không phải là một chương trình cụ thể, nó là một

bộ các thư viện liên kết với các chương trình ứng dụng như telnet, trình duyệt web, trìnhftp cilent,…Ví dụ khi trình duyệt web cần phân giải một tên miền sang IP nó sẽ liên kếtđến các function của thư viện resolver

Resolver trong hệ thống Unix/Linux:

File cấu hình resolver trong hệ thống unix/linux thường trong /etc/resolv.conf Nó

có tối thiểu 2 dòng text tương tự như sau:

Resolver trong hệ thống Window:

Trong windows, dịch vụ DNS Client đóng vai trò là resolver Để xem nội dung của

cache dùng lệnh ipconfig /displayDNS, xóa cache dùng lệnh ipconfig /flushDNS.

Nội dung của file …/etc/hosts không bị ảnh hưởng bởi lệnh ipconfig /flushDNS

trên Các tham số của cache resolver được đặt trong register của window:

HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services / DNSCache / Parameters.

Trang 10

Cơ chế hoạt động của Name Server

Name server lưu trữ các thông tin để phân giải tên sang IP và ngược lại Name serverquản lý một phần nào đó của không gian tên miền, được gọi là các zone Namserver làmột chương trình thực hiện phân giải các yêu cầu gửi từ các resolver hay từ nameserverkhác Việc phân loại các nameserver dựa trên cách nó lưu trữ dữ liệu

Primary namserver/Primary master: là nguồn dữ liệu chính của một zone, là máy

chủ có thẩm quyền của zone (authoritative server) Dữ liệu về zone của nó được lưu trongCSDL local Tên gọi Primary master hay Primary nameserver dựa vào version củachương trình BIND được sử dụng: gọi là primary nameserver khi dùng version 4.x, gọi làprimary master khi dùng version 8 trở lên Người quản trị tự tạo CSDL cho server này.Primany nameserver phải được public như là một máy chủ có thẩm quyền của domaintrong SOA RRs, trong khi Primary master không cần phải public Lưu ý chỉ có một kiểuserver cho mỗi zone

Master nameserver: là máy chủ có thẩm quyền của một zone Master server luôn

được public trong NS records Master nameserver là nguồn dữ liệu của 1 zone cho máychủ cấp dưới (slaver / secondary server) Kiểu server này được dùng từ BIND version 8trở lên

Trang 11

Secondary nameserver/Slave nameserver: lưu trữ dữ liệu của zone bằng cách

copy dữ liệu từ primary nameserver theo một khoảng thời gian nhất định Dữ liệu củasecondary nameserver không được tự thay đổi mà phải cập nhật từ primary name server.Kiểu server này cũng là máy chủ có thẩm quyền của zone

Caching only nameserver: không phải là một primary hay secondary name server

(không là authority) Dữ liệu được lưu vào vùng đệm (cache) của server được gọi là dữliệu không thuộc thẩm quyền (unauthoritative)

Root nameserver: là máy chủ có thẩm quyền của miền gốc (root domain) Mỗi

root nameserver là một primary nameserver

Slave nameserver: thực hiện chuyển tiếp yêu cầu phân giải đến một nameserver

khác

Kiến trúc Master/Slave

Phân giải lặp tuần tự - Iterative resolution (nonrecursive)

Phân giải lặp tuần tự (đôi khi còn được gọi là phân giải tương tác - interactive) lànameserver trả về kết quả mà nó biết được tương ứng với câu truy vấn Nameserver tracứu trong dữ liệu của nó (kể cả cache), nếu không tìm được câu trả lời nó sẽ tìm tên và địachỉ của nameserver gần với tên miền yêu cầu phân giải nhất trong dữ liệu local của nó, và

Trang 12

trả về cho resolver dưới dạng tham chiếu (referal) để resolver tiếp tục quá trình phân giải.Lưu ý rằng tham chiếu bao gồm tất cả các nameserver được list trong danh sách local của

nó, và nó sẽ chọn nameserver nào sẽ được query tiếp theo

Phân giải đệ quy – recursive resolution

Đa số resolver không hiểu được các trả lời kiểu tham chiếu (follow a referal), vìvậy resolver gửi truy vấn đệ quy (recursive query) cho nameserver Phân giải đệ quy làcách gọi khi một nameserver nhận được yêu cầu đệ quy từ resolver Giống như thuật toán

đệ quy trong lập trình, nameserver sẽ lặp lại các thao tác giống nhau: gửi truy vấn đếnnameserver khác và nhận về kết quả tham chiếu cho đến khi có được kết quả cuối cùng

Trong phân giải đệ quy, resolver gửi một yêu cầu đệ quy tới nameserver để yêucầu phân giải một tên miền nào đó Namseserver bằng cách nào đó để trả về cho resolverkết quả (hay thông báo không thành công)

Nếu namserver không trả lời được truy vấn, nó có thể gửi truy vấn đệ quy đến mộtnameserver khác để có được câu trả lời cho resolver, hoặc nó có thể gửi truy vấn không

đệ quy và lần theo các tham chiếu từ các namserver khác trả về để có câu trả lời choresolver Có một ngoại lệ trong trường hợp nameserver được cấu hình để chuyển tiếpquery đến một forwarder server (xem chi tiết trong phần forwarder server)

Nếu nameserver không tự trả lời cho resolver được, nó sẽ đi hỏi nameserver gầnnhầt, nameserver gần nhất là nameserver có thẩm quyền tương ứng với tên miền được hỏi

Ví dụ nếu nameserver nhận được yêu cầu phân giải tên miền ftp.mil.gov.vn, đầu tiên nó sẽ tìm trong dữ liệu local của nó (cả cache) xem có thông tin về tên miền ftp.mil.gov.vn hay

không, nếu không nó sẽ tìm trong dữ liệu local của nó xem có thông tin về tên miền

mil.gov.vn, cứ như vậy nó sẽ tìm gov.vn và vn Nếu cuối cùng vẫn không có kết quả thì

nó sẽ đi hỏi root như đã biết

Nameserver nhận được được yêu cầu phân giải đệ quy luôn gửi query giống như

nó nhận được đến nameserver khác Ví dụ nó nhận được yêu cầu phân giải ftp.mil.gov.vnthì sẽ không đi hỏi mil.gov.vn hay gov.vn

Trang 13

Cơ chế hoạt động của Forwarder server:

Có một kiểu DNS server được gọi là server chuyển tiếp (forwarder server) Ta đãbiết resolver gửi yêu cầu đến namsever và chờ câu trả lời cuối cùng, nếu nameseverkhông thể tự trả lời nó sẽ thực hiện truy vấn đệ quy, đầu tiên nó sẽ liên lạc rootnameserver, root namserver sẽ trả về địa chỉ IP của một namserver khác, và nó tiếp tục đihỏi namsever đó Cứ như vậy, nameserver gửi rất nhiều gói tin trên mạng internet

Nếu mạng nội bộ của công ty kết nối internet với đường truyền tốc độ thấp, vànameserver sẽ ngốn nhiều băng thông của đường truyền này Chính vì vậy cần phải cóforwarder server

Forwarder là một máy chủ DNS được sử dụng để chuyển tiếp truy vấn DNS đếnmột DNS bên ngoài mạng Một DNS server trong mạng sẽ chuyển tiếp các truy vấn mà

nó không thể trả lời đến một DNS server khác được chỉ định là forwarder Bằng cách sửdụng forwarder, chúng ta có thể kiểm soát việc phân giải các tên miền ngoài mạng

Giao tiếp giữa local nameserver và forwarder server

Local nameserver gửi yêu cầu đến forwarder server Tuy nhiên local namserverđánh dấu các truy vấn đó là truy vấn đệ quy Forwarder server nhận yêu cầu từ localnamserver và thực hiện phân giải thông qua truy vấn không đệ quy, và sau đó trả về kếtquả cuối cùng cho nameserver

Trang 14

Một forwarder server có thể làm chức năng của caching server, hay làm primaryhoặc secondary server cho vài zone nào đó.

3, Truyền thông

Bản ghi tài nguyên – Resource Records

Thông tin của tên miền và địa chỉ IP cũng như các thông tin khác mà DNS cungcấp được lưu trong bộ nhớ của nameserver dưới dạng bản ghi tài nguyên – Resourcerecords – RR

Nameserver sẽ nạp dữ liệu vào cache bằng nhiều cách khác nhau Dữ liệu thuộcthẩm quyền (authoritative) được đọc từ file trên local disk hay thông qua cơ chế zonetransfer từ authoritative server khác Dữ liệu không thuộc thẩm quyền (nonauthoritative)thu được bằng cách DNS server nhận trả lời từ một server khác từ lần truy vấn trước đó.Riêng dữ liệu nonauthoritative thông tin về các root server được tải từ cấu hình DNSserver lên

Nếu DNS client cần thông tin từ DNS server, nó sẽ yêu cầu RR từ DNS server.DNS client có thể yêu cầu DNS server bản ghi A với thông tin địa chỉ IP của một tênmiền nào đó DNS client ở đây hiểu là resolver hay một nameserver

Cấu trúc của RR được quy định trong giao thức DNS, như hình dưới:

Trang 15

Cấu trúc RR

Mỗi trường RR bao gồm:

TYPE: kiểu bản ghi

CLASS: lớp bản ghi

TTL: time to live – là một số 32 bit quy định thời gian mà RR được lưu trữ

trong cache Khi thời gian hết hạn, bản tin sẽ bị xem như khôgn có giá trị

RDLENGTH: một số 16 bit chỉ định chiều dài của trường RDATA

RDATA: dữ liệu này lưu một chuỗi của độ dài của biến, định dạng của trường

này tùy thuộc vào kiểu RR và lớp

Lưu ý là định dạng RR trong giao thức DNS là dạng ký hệu nhị phân (binarynotation), nghĩa là nó trong suốt với người sử dụng Mặt khác, người dùng sẽ muốn chèn

RR vào file zone dưới dạng text, vì vậy nó phải dễ chuyển đổi từ ký hiệu nhị phân sangđịnh dạng text Các trường được chuyển đổi sang định dạng text và được phân cách bằngkhoảng trắng (space) hay một tab hay kết hợp các ký tự đó Một vài chuỗi trong tên miềnđược phân cách bằng một dấu chấm (dot)

Trang 16

Gói tin truy vấn DNS

Cơ chế DNS QUERY bao gồm một truy vấn và một hồi đáp Truy vấn chứa yêucầu về một hay nhiều RR từ CSDL của DNS, hồi đáp chứa các thông tin về RR được truyvấn hoặc một thông báo lỗi RR trong hồi đáp có thể là kết qủa cuối cùng hay thông tin đểcho client thực hiện một DNS QUERY khác

Định dạng gói tin DNS QUERY:

DNS sử dụng cùng một định dạng gói tin cho cả query và answer như hình sau:

Ngày đăng: 18/02/2015, 00:38

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w