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

31 536 0
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

Đ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

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.

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 LỜI NÓI ĐẦU 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. Chúng thường được gọi là các mạng má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ập trung 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ích cũ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ầy Nguyễn Thúc Hải đã giúp đỡ em hoàn thành cuốn tiểu luận này. . Mục lục 1. Kiến trúc hệ thống 4 2. Tiến trình 6 3, Truyền thông 14 4. Định danh 18 5. Đồng bộ hóa 24 6. Nhất quán và nhân bản 26 7. Khả năng chịu lỗi 27 8. An toàn thông tin 30 9. Tổng kết 31 10. Tài liệu tham khảo 31 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ến trú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ình client – 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 quy trì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ếu nameserver 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ả root namsever đề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ời gian 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ấp dưới (bằng khai báo NS RRs), nó sẽ trả về địa chỉ IP của nameserver cấp dưới đó (máy chủ miền .com). (3) Nameserver sẽ tiếp tục đi hỏi máy chủ miền .com và nhận được thông tin miền company.com được ủy quyền cho namserver cấp dưới, và Namserver nhận được IP của nameserver 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ừ nameserver authoritative 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êu cầ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 truy vấ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 đến cá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ột nhóm dịch vụ). Trong DNS Anycast, các máy chủ DNS Anycast được đặt cùng một địa chỉ 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ỉ định máy chủ DNS Anycast là 10.10.10.10, DNS Server gần nhất sẽ trả lời truy vấn. DNS client có thể gửi yêu cầu đến bất kỳ server nào, trong hình trên định tuyến layer 3 sẽ chuyển gói tin đến router R1. Trong trường hợp server A không thể cung cấp dị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ực hiệ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ý. 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 resolver khô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, tuy nhiên nguyên lý chung vẫn như sau: (1) Người dùng gửi lệnh phân giải tên sang địa chỉ IP (2) Nếu resolver có cache, nó sẽ tìm trong cache của nó (3) Nếu resolver không tìm thấy trong cache, nó sẽ chuyển tiếp yêu cầu đến nameserver (4) Nameserver sẽ tìm câu trả lời trong cache của nó (5) Nếu nameserver ko thấy câu trả lời trong cache của nó, nó sẽ gửi yêu cầu đến các nameserver khác. (6) Nameserver có thể liên lạc với nhiều nameserver khác bằng cơ chế lặp, bằng 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ời cuối cùng. (7) Nếu bước trên không trả về kết quả sau một khoảng thời gian, resolver sẽ gửi lại 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ủa nameserver, nó sẽ gửi yêu cầu đến nameserver kế tiếp trong danh sách đó. 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 truy vấ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ức UDP. 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ấn zone 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ết câ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. 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ực hiệ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ình ftp 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. 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 server quả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ừ nameserver khá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 trong CSDL local. Tên gọi Primary master hay Primary nameserver dựa vào version của chươ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 domain trong SOA RRs, trong khi Primary master không cần phải public. Lưu ý chỉ có một kiểu server 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áy chủ cấp dưới (slaver / secondary server). Kiểu server này được dùng từ BIND version 8 trở lên. [...]... vấn từ DNS primary; Trong hệ thống DNS của Viettel, tại mỗi khu vực đều có 02 máy chủ DNS primary (chạy cluster với nhau) và có 03 DNS Anycast DNS Any cast tại mỗi khu vực đều có topology, cấu hình phần mềm và phần cứng giống nhau hoàn toàn Dưới đây là mô hình DNS Anycast tại trung tâm Khu vực 1: 7 Khả năng chịu lỗi Hệ thống DNS Anycast triển khai tại Viettel là dựa trên giao thức OSPF (Open Shortest... phòng cho hệ thống 9 Tổng kết Hệ thống DNS là một hệ thống máy chủ tên miền đệm và các máy chủ này đặt phân tán tại nhiều nơi nên việc downtime cho máy chủ DNS là điều khổng thể Và vấn đề này hoàn toàn trong suốt với người dùng Qua đó, giúp nâng cao uy tín cho nhà cung cấp dịch vụ sử dụng DNS Anycast Hệ thống DNS Anycast giúp cho việc triển khai mở rộng hệ thống thống đơn giản Khi nhu cầu hệ thống tăng... mở rộng hệ thống chỉ cần bổ xung thêm các máy chủ DNS Anycast Việc thêm các máy chủ này thực hiện rất đơn giản, chỉ cần bổ xung 01 máy chủ có cấu hình phần cứng và phần mềm giống hệt các máy chủ DNS Anycast đã có ban đầu và đấu nối vào PE trong hệ thống IPBN (IP Backbone Network) 10 Tài liệu tham khảo Một số trang web cung cấp các kiến thức cơ bản về hệ thống DNS Anycast http://www.vnnic.vn /dns/ congnghe/c%C3%B4ng-ngh%E1%BB%87 -dns- anycast. .. giao thức OSPF với 2 địa chỉ anycast VIP: 19 2 .16 8.0 .1 và 19 2 .16 8 .1. 1 như trong hình dưới: Ghi chú: ta cũng có thể quảng bá 2 địa chỉ anycast VIP trong cùng một subnet, vì dụ 19 2 .16 8.0 .1 và 19 2 .16 8.0.2 trong block 19 2 .16 8.0.0/24 để tiết kiệm không gian địa chỉ IP Trong trường hợp tiến trình DNS trên server A hay server B không thể cung cấp dịch vụ, mong muốn là anycast VIP phải được xóa khỏi global routing... SOA 10 800 ; refresh (3 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 86400 ; minimum (1 day) 6.2 Nhân bản Như định nghĩa của hệ thống DNS Anycast, hệ thống sử dụng các máy chủ DNS có cấu hình giống nhau và sử dụng cùng một ip loopback để đặt cho địa chỉ DNS Anycast Hơn nữa, đây đều là các máy chủ tên miền đệm nên toàn bộ đều là dữ liệu của những lần truy vấn trước – các dữ liệu truy vấn từ DNS. .. tiếp vào vùng backbone, và các inteface còn lại kết nối vào vùng OSPF của riêng nó Trong tài liệu này ta không bàn sâu về OSPF Trong mô hình của chúng ta có 2 server DNS anycast, mỗi server có 2 interface vật lý kết nối vào 2 subnet khác nhau Ngoài ra có 2 router upstream được cấu hình định tuyến OSPF Các server DNS anycast cũng được cấu hình định tuyến với giao thức OSPF với 2 địa chỉ anycast VIP: 19 2 .16 8.0 .1. .. khỏi global routing table Để làm điều đó ta phải thực hiện ngưng quảng bá anycast VIP Script dưới đây thực hiện kiểm tra DNS server, nếu phát hiện DNS không thể cung cấp dịch vụ nó sẽ ngừng quảng bá anycast VIP: #!/bin/bash DNSUP=`/usr/sbin/dig @19 2 .16 8.0 .1 localhost A +short` if [ "$DNSUP" != "12 7.0.0 .1" ]; then echo "Stopping Anycast " /etc/init.d/ospfd stop /etc/init.d/zebra stop /etc/init.d/named... database của DNS được tổ chức gần giống như cây thư mục hệ thống Unix (xem hình), toàn bộ database được phân bố dạng cây “ngược”, với node gốc nằm trên cùng Tên miền (domain) và tên miền con (subdomain): Trong hệ thống DNS, mỗi domain có thể được tách thành các sub-domain, và các sub-domain đó được phân bổ cho các tổ chức khác quản lý Ví dụ như trong hình: Tổ chức Network Solution (NSI) quản lý domain... khác, và nó tiếp tục đi hỏ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 đến một DNS bên ngoài mạng Một DNS server trong mạng. .. khảo Một số trang web cung cấp các kiến thức cơ bản về hệ thống DNS Anycast http://www.vnnic.vn /dns/ congnghe/c%C3%B4ng-ngh%E1%BB%87 -dns- anycast http://www.netlinxinc.com/netlinx-blog/45 -dns/ 11 8-introduction-to -anycast -dns. html http://www.netlinxinc.com/netlinx-blog/45 -dns/ 12 2 -anycast -dns- part-4-using-ospf.html . nhất. Hình bên dưới mô tả một ví dụ DNS Anycast: DNS client được cấu hình chỉ định máy chủ DNS Anycast là 10.10.10.10, DNS Server gần nhất sẽ trả lời truy vấn. DNS client có thể gửi yêu cầu đến. Trong DNS Anycast, các máy chủ DNS Anycast được đặt cùng một địa chỉ 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. 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

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

Từ khóa liên quan

Mục lục

  • 1.1 Kiến trúc client – server

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

  • 6.1 Nhất quán

  • 6.2 Nhân bản

Trích đoạn

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

Tài liệu liên quan