Tài liệu này có mô tả cũng như hướng dẫn triển khai công nghệ CDN trên nền hệ điều hành mã nguồn mở CentOS. Tài liệu này dành cho những kỹ sư , có nghiên cứu và kiến thức tốt về mạng máy tính , bao gồm cả system và network .
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn : TS Lê Tuấn Anh
Sinh viên thực hiện : Nguyễn Mạnh Cường
Mã số sinh viên : N102104137
Lớp : D10CQMT01 Khoá : 2010
Hệ : Đại học chính quy
TP.HCM, tháng 7 /2014
Trang 2LỜI CẢM ƠN
Trước hết, tôi xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Học Viện Công Nghệ Bưu Chính Viễn Thông cơ sở tại Thành Phố Hồ Chí Minh đã tạo điều kiện tốt cho tôi thực hiện đề tài thực tập tốt nghiệp này
Tôi xin chân thành cảm ơn thầy Lê Tuấn Anh đã tận tình hướng dẫn tôi trong suốt thời gian thực hiện đề tài
Tôi cũng xin dành sự kính trọng và biết ơn đối với Công ty Sao Bắc Đẩu nói riêng và cá nhân hai anh , Nguyễn Quang Thuật và Võ Quốc Thảo , đã tạo điều kiện
và giúp đỡ tôi trong suốt thời gian thực tập và hoàn thiện đề tài tại Công Ty Cổ Phần Công Nghệ Sao Bắc Đẩu
Cuối cùng tôi xin chân thành cảm ơn quý thầy cô trong khoa đã tận tình giảng dạy, trang bị cho chúng tôi những kiến thức quý báu trong những năm học vừa qua Mặc dù tôi đã cố gắng hoàn thành bài báo cáo trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự thông cảm và chỉ bảo tận tình cảu quý thầy cô
TP.Hồ Chí Minh, tháng 07 năm 2013
Sinh viên Nguyễn Mạnh Cường
Trang 3CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập- Tự do- Hạnh phúc
TP Hồ Chí Minh, ngày tháng năm 20……
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN THỰC TẬP TỐT NGHIỆP ĐẠI HỌC 1 Tên đề tài: 2 Sinh viên: Lớp: 3 Giáo viên hướng dẫn: 4 Nơi công tác: NỘI DUNG NHẬN XÉT 1 Đánh giá chung: ………
………
2 Đánh giá chi tiết: ………
………
………
………
3 Nhận xét về tinh thần, thái độ làm việc: ………
………
4 Kết luận: ………
………
5 Điểm hướng dẫn ():
GIẢNG VIÊN HƯỚNG DẪN
(Ký, ghi rõ họ tên)
Trang 4MỤC LỤC DANH MỤC CÁC HÌNH VÀ BẢN VẼ
CÁC TỪ , CỤM TỪ VIẾT TẮT
MỞ ĐẦU
CHƯƠNG I : TỔNG QUAN VỀ HỆ THỐNG CDN
1.1 Động lực phát triển
1.2 Môi trường ứng dụng của mạng phân phối nội dung
1.3 Các thành phần của mạng phân phối nội dung
1.3.1 Nút CDN 1.3.2 Định tuyến yêu cầu của người sử dụng 1.3.3 Sao lưu và nhớ đệm
1.3.4 Hệ thống phân phối nội dung 1.3.5 Hệ thống tính cước
1.3.6 Quản lý mạng phân phối nội dung 1.3.7 Các vấn đề quản bảo mật trong mạng CDN 1.4 Mối quan hệ giữa Content Disitribution và Requesst Routing
1.4.1 Vị trí và trạng thái 1.4.2 Đường truyền 1.5 Các nhà cung cấp dịch vụ CDN hang đầu ở Việt Nam và Thế Giới
1.5.1 Việt Nam 1.5.2 Thế Giới CHƯƠNG II : NGHIÊN CỨU KỸ THUẬT ĐỊNH TUYẾN THEO ĐỊA CHỈ IP DỰA VÀO DNS TRONG MẠNG CDN
2.1 Giới thiệu
2.2 Các cách thức định tuyến trong CDN
2.2.1 Định tuyến bằng cách sử dụng bản ghi NS 2.2.2 Định tuyến yêu cầu dựa vào NAT
2.2.3 Định tuyến yêu cầu lớp truyền tải 2.2.4 Định tuyến yêu cầu dựa trên URL 2.3 Kỹ thuật định tuyến dựa vào DNS
2.3.1 Kỹ thuật định tuyến theo IP dựa vào DNS 2.3.2 Phương pháp định tuyến theo tên miền dựa vào DNS 2.4 Kết luận
Trang 5CHƯƠNG III : MÔ PHỎNG KỸ THUẬT ĐỊNH TUYẾN THEO TÊN MIỀN SỬ DỤNG WIPMANIA WORLDIP DATABASE KẾT HỢP VỚI PHẦN MỀM BIND
3.1 Giới thiệu WipMania và phần mềm BIND
3.2 Mô hình mô phỏng
3.3 Thực hiện mô phỏng
3.3.1 Cài đặt Apache 3.3.2 Cài đặt BIND và WIPmania WorldIP Databse KẾT LUẬN
Trang 6DANH MỤC CÁC HÌNH VÀ BẢN VẼ
HÌNH 1.1 : Mô hình mạng CDN
HÌNH 1.2 : Cấu trúc hệ thống định tuyến yêu cầu
HÌNH 1.3 : Quá trình phân phối nội dung
HÌNH 1.4 : Quá trình phân phát nội dung
HÌNH 1.5 : Phân phối nội dung trong một mạng CDN và giữa các mạng CDN ngang cấp HÌNH 1.6 : Các thành phần cơ bản trong kiến trúc hệ thống CDN
HÌNH 2.1 : Sơ đồ hệ thống CDN
HÌNH 2.2 : Định tuyến yêu cầu theo IP dựa vào DNS
HÌNH 2.3 : Định tuyến theo tên miền dựa vào DNS
HÌNH 3.1 : Mô hình triển khai
HÌNH 3.2 : Cài đặt Apache bằng yum command
HÌNH 3.3 :Chi tiết nội dung file phân giải thuận và nghịch
Trang 7CÁC TỪ VÀ CỤM TỪ VIẾT TẮT
CDN : Content Deilivery Network / Content Distribution Network - Mạng phân phối nội
dung / mạng phân tán nội dung ISP : Internet Service Provider - Nhà cung cấp dịch vụ Internet
DNS : Domain Name Service - Dịch vụ phân giải tên miền
IP : Internet Protocol – Giao thức internet
CTE : Content Topology Exchange – Trao đổi mô hình nội dung
CTD : Content Topology Database – Cơ sở dữ liệu mô hình nội dung
VPN : Virtual Private Network – Mạng riêng ảo
SSL : Secure Sockets Layer – Lớp giao tiếp bảo mật
NS : Name Server – Máy chủ tên miền
NAT : Network Address Translation – Phân giải địa chỉ mạng
TRIAD : Translating Relaying Internet Architecture integrating Active Directories
URL : Uniform Resource Locator – Vị trí tài nguyên độc lập
HTTP : Hypertext Transfer Protocol – Giao thức siêu văn bản
RSTP : Real Time Streaming Protocol – Giao thức truyền theo thời gian thực
TTL : Time To Live – Thời gian tồn tại
Trang 8MỞ ĐẦU
Ngày nay với sự phát triển bùng nổ của internet Thế giới mạng đã có hàng triệu máy chủ với hàng nghìn loại nội dung từ các dịch vụ cơ bản như các trang web tĩnh, web động, dịch vụ email, dịch vụ lưu trữ tới các dịch vụ gia tăng như đàm thoại trên internet, xem phim theo yêu cầu, các dịch vụ về ngân hàng Chính sự bùng nổ các nội dung trên mạng đồng thời với sự gia tăng cấp số nhân của người dùng và số lượng truy cập nên năng lực đáp ứng của mạng, chất lượng dịch vụ ngày càng đi xuống trong khi đòi hỏi của người dùng lại gia tăng mãnh liệt
Về phía các nhà cung cấp dịch vụ việc phải đáp ứng sự gia tăng nhu cầu thông tin và chất lượng dịch vụ trên một cơ sở hạ tầng phát triển không tương xứng đòi hỏi phải có các giải pháp kỹ thuật nhằm phân phối hiệu quả tài nguyên như định cỡ mạng, điều phối lưu lượng, cân bằng tải, quản lý chất lượng dịch vụ
CDN là một mạng thông minh, nó cung cấp một lớp thông minh ở trên cơ sở hạ tầng mạng
IP, chuyển đổi mô hình web tập trung truyền thống thành mạng hướng nội dung và phân bố nội dung một cách có hiệu quả Cụ thể là các nhà cung cấp dịch vụ nội dung triển khai nhiều server đại diện (server thay thế) ra trên toàn mạng internet sao cho người sử dụng có thể truy nhập dễ dàng đến một server đại diện gần nhất nhằm giảm đến mức tối đa thời gian truy nhập và tránh tăng lưu lượng mạng một cách đột ngột
Trong các mạng phân phối nội dung, định tuyến là công việc hết sức quan trọng nhằm định hướng yêu cầu của người sử dụng (client) tới các server đại diện gần nhất và khả dụng nhất thông qua bộ định tuyến yêu cầu Hiện nay có một số kỹ thuật định tuyến được áp dụng trong mạng phân phối nội dung như định tuyến yêu cầu dựa vào tên miền DNS, định tuyến yêu cầu theo lớp truyền tải, định tuyến yêu cầu lớp ứng dụng
Trang 9CHƯƠNG I : TỔNG QUAN VỀ HỆ THỐNG CDN
1.1 Động lực phát triển
Internet đã chứng minh trong quá trình triển khai và hoạt động là nó chỉ phù hợp cho việc phân phối, truy cập những trang Web tĩnh và thư điện tử đơn giản Tuy nhiên, Internet ngày nay và các kiến trúc Intranet kết hợp không có khả năng xử lý lượng truyền thống đa phương tiện và các dịch vụ nội dung đòi hỏi lưu lượng lớn mà các khách hàng trực tuyến tìm kiếm ở tốc độ mà họ mong muốn Các nút cổ chai mạng thường xuyên xảy ra giữa các nguồn tài nguyên nội dung và người sử dụng cuối Kể cả việc bổ sung các đường ống nhanh hơn, các server lớn hơn vẫn không giải quyết được vấn đề Kết quả là rất nhiều nhà cung cấp dịch vụ nội dung, các nhà kinh doanh điện tử thương mại, các tổ chức và các doanh nghiệp phải chịu đựng các server quá tải và truy nhập mạng với tốc độ chậm làm nản lòng khách hàng, nhân viên
Giải pháp mạng phân phối nội dung nhằm nâng cao năng lực của mạng Mục tiêu chính của CDN là để tránh các vùng tắc nghẽn trong mạng Nếu lưu lượng giữa người dùng và máy chủ không đi qua phần mạng bị nghẽn thì có nhiều khả năng là tốc độ truyền dữ liệu sẽ cao hơn
Hình 1.1: Mô hình mạng CDN
Trong mạng CDN có nhiều các server thay thế được đặt ở các vị trí khác nhau Các server thay thế thường có nội dung như nhau, tuy nhiên khách hàng chỉ có thể kết nối một số server thay thế phù hợp theo chính sách của nhà cung cấp CDN
Trang 10CDN là một mạng nội dung thông minh, nó cung cấp một lớp thông minh ở trên cơ sở hạ tầng mạng IP, chuyển đổi mô hình Web tập trung truyền thống thành mạng hướng nội dung và phân bố nội dung một cách có hiệu quả Trong kỷ nguyên thông tin, một giải pháp mạng
CDN cho phép các doanh nghiệp, các nhà cung cấp dịch vụ nội dung điều khiển nội dung của họ
và quản lý nó Các mạng CDN cho phép các doanh nghiệp:
Cải thiện chất lượng mạng và chất lượng dịch vụ thậm chí ngay cả khi lưu lượng tổng tăng lên
Sử dụng truyền thông đa phương tiện tốc độ cao như video để tăng cường năng lực người dùng cuối mà không bị tắc nghẽn ở các mạng
Đảm bảo cung cấp nội dung dữ liệu mới nhất cho người dùng cuối trong các môi trường phát triển nhanh
Nâng cao năng lực của cơ sở hạ tầng sẵn có, điều khiển mạng tương lai, giảm chi phí băng thông
Giảm phí tổn băng thông tổng mà không làm ảnh hưởng đến chất lượng dịch vụ tới người dùng cuối
Đo đạc các phân bố nội dung giúp căn chỉnh chi phí mang tốt hơn với các mục tiêu kinh doanh
Phân phối các ứng dụng phân tán trên mạng sẵn có mà không phải chịu chi phí tiền vốn lớn Bắt kịp các dạng dữ liệu Internet hiện tại và tương lai
1.2 Môi trường ứng dụng của mạng phân phối nội dung
Có ba kiểu môi trường thường được quan tâm với CDN là môi trường mạng công ty, mạng nhà cung cấp dịch vụ (ISP) và mạng nhà cung cấp CDN Các mạng này dựa trên công nghệ IP và
sự khác nhau cơ bản giữa chúng là phương thức quản lý của chúng
1.3 Các thành phần của mạng phân phối nội dung
Vì mục đích chính của mạng CDN là nâng cao khả năng đáp ứng và hoạt động của ứng dụng, các nút mạng CDN, bao gồm các nút thay thế và nút gốc, cần được thiết kế có tính mở rộng
và mềm dẻo cao Như vậy thành phần đầu tiên của mạng CDN là thiết kế nút
CDN có khả năng mở rộng Thành phần tiếp theo của CDN là kỹ thuật định tuyến yêu cầu của người sử dụng đến một nút thay thế
Trang 11Nhằm đạt hiệu suất hoạt động tốt nhất, yêu cầu phải được chuyển tới nút thay thế gần nhất
Để làm được điều này mỗi mạng CDN phải duy trì và cập nhật một bảng định tuyến gồm danh sách các nút mạng và danh sách các client cho từng nút mạng Nội dung của bảng định tuyến phải được cập nhật sửa đổi cho phù hợp với mức độ tải hiện thời của mạng và của các nút mạng CDN
Do vậy thành phần thứ ba của giải pháp CDN là việc đánh giá hoạt động mạng Ngoài ra còn có các thành phần khác như hệ thống tính cước, quản lý mạng phân phối nội dung sẽ được trình bày chi tiết các phần sau
1.3.1 Nút CDN
Mỗi mạng phân phối nội dung bao gồm một số các nút mạng CDN và mỗi nút mạng
CDN lại bao gồm một hoặc nhiều thiết bị Các nút mạng CDN này bao gồm một nút gốc và một số nút thay thế Do mục tiêu cơ bản của CDN là hỗ trợ các ứng dụng truy cập bởi số lượng lớn khách hàng, nên mỗi nút CDN phải được thiết kế sao cho nó có độ tin cậy cao và khả năng mở rộng linh hoạt
1.3.2 Định tuyến yêu cầu của người sử dụng
Cấu trúc của hệ thống định tuyến yêu cầu được chỉ ra trong Hình 1.2 Hình 1.2 thể hiện khái niệm tổng quan về hệ thống định tuyến yêu cầu, nó bao gồm các thành phần: Trao đổi cấu hình nội dung CTE (Content Topology Exchang), cơ sở dữ liệu cấu hình nội dung CTD (Content Topology Database) và tính toán định tuyến (route computation)
Tính toán CSDL cấu Trao đổi Giao thức trao đổi thông
định tuyến hình thông báo tin định tuyến yêu cầu
Hình 1.2: Cấu trúc hệ thống định tuyến yêu cầu
Bước 1 Tính toán định tuyến: Tính toán để lựa chọn server sao lưu tốt nhất cho các
client dựa trên các thông tin được lưu trữ trong cơ sở dữ liệu cấu hình nội dung, thuật toán tính toán định tuyến và các cách được định sẵn
Trang 12Bước 2 Cơ sở dữ liệu cấu hình nội dung: Dữ liệu cấu hình bao gồm thông tin thông báo chi tiết nhận được từ các CDN lân cận và các thông số liên quan
Bước 3 Trao đổi thông báo: Khối chức năng này chịu trách nhiệm về việc thực thi giao thức trao đổi thông tin định tuyến yêu cầu
Bước 4 Giao thức trao đổi thông tin định tuyến yêu cầu: Được sử dụng để trao đổi các thông báo nội dung và thông báo vùng nội dung
Ta đi xem xét về các kỹ thuật định tuyến yêu cầu sử dụng để định hướng yêu cầu của client tới các server sao lưu dựa trên một số phương pháp và một tập các tham số Thông thường, các kỹ thuật định tuyến yêu cầu có thể có các loại sau: định tuyến yêu cầu dựa vào 3 vào hệ thống tên miền (DNS), định tuyến yêu cầu lớp truyền tải và định tuyến yêu cầu lớp ứng dụng Quá trình định hướng các yêu cầu của client tới các server sao lưu được gọi là định tuyến yêu cầu, định tuyến nội dung, hay đổi hướng nội dung
1.3.3 Sao lưu và nhớ đệm
Hai thành phần cơ sở hạ tầng nòng cốt được sử dụng trong mạng CDN là sao lưu và caching Trong rất nhiều trường hợp, cần có các bộ nhớ đệm và các dịch vụ sao lưu cùng tồn tại Client có thể thông tin với một hoặc nhiều bản sao server gốc, cũng như là với chính các server gốc đó (Trong trường hợp vắng mặt các server sao lưu thì client tương tác một cách trực tiếp với server gốc như trường hợp bình thường)
1.3.4 Hệ thống phân phối nội dung
Hệ thống phân phối bao gồm một tập các phần tử mạng thực hiện chung một quá trình phân phối nội dung của các nhà cung cấp nội dung từ server gốc tới một hoặc nhiều server sao lưu và phân phát nội dung từ các server sao lưu tới các client trong một mạng
CDN Quá trình phân phối có thể xảy ra cả khi server sao lưu không nhận được yêu cầu từ các client, quá trình này được gọi là tìm nạp trước, hoặc có thể xảy ra khi server sao lưu nhận được yêu cầu của client mà không lưu giữ nội dung được yêu cầu đó, gọi là tìm nạp theo yêu cầu
Trang 13Hình 1.3: Quá trình phân phối nội dung
Hình 1.4: Quá trình phân phát nội dung
Quá trình phân phối nội dung thực hiện di chuyển nội dung của các nhà cung cấp nội dung
từ server gốc của nó tới một hoặc nhiều server sao lưu Hình 1.3 Cần chú ý rằng quá trình phân phối nội dung khác với phân phát nội dung Phân phát nội dung là quá trình chuyển nội dung của các nhà cung cấp nội dung tới các client như trong Hình 1.4
Trang 14Hình 1.5: Phân phối nội dung trong một mạng CDN và giữa các mạng CDN ngang cấp
Hình 1.5 mô tả các bước phân phối nội dung trong một mạng CDN và phân phối giữa các mạng CDN ngang cấp Sau đây là các bước thực hiện phân phối:
Bước 1: Server gốc cho phép các CDN ngang cấp phân phối nội dung của nó và đặt nội
dung vào hệ thống phân phối ngang cấp của một trong các CDN Tồn tại hai cách đặt nội dung:
Đẩy nội dung xuống trước: Nội dung sẽ được sử dụng trong các CDN được đẩy xuống một cách tích cực
Kéo nội dung theo yêu cầu: Nội dung được kéo theo yêu cầu từ OS khi có một bộ đệm bị lỗi tại server sao lưu tại cùng thời gian đối tượng được yêu cầu
Bước 4: Hệ thống phân phối ngang cấp di chuyển nội dung giữa các CDN ngang cấp Nó
cung cấp thông tin về các vị trí nơi mà nội dung có mặt tới hệ thống định tuyến ngang cấp Hệ thống định tuyến ngang cấp thông báo thông tin này tới các mạng CDN ngang cấp
Bước 2, 5: Hệ thống phân phối ngang cấp truyền nội dung tới hệ thống phân phối
Bước 3, 6: Hệ thống phân phối sẽ phân phối nội dung giữa các server sao lưu trong cùng
một mạng CDN
Có hai phương pháp để phân phối nội dung tới các server sao lưu đó là: Sử dụng mạng dành riêng hoặc sử dụng mạng internet công cộng
Trang 151.3.5 Hệ thống tính cước
Hệ thống tính cước đóng vai trò như thước đo và thực hiện ghi chép lại các thông tin về phân phối nội dung cũng như các hoạt động vận chuyển nội dung Các thông tin này là nền tảng cho việc chuyển lợi nhuận, nội dung cũng như các quyền lợi qua lại giữa hai bên là nhà cung cấp dịch vụ mạng và nhà cung cấp nội dung và cũng được sử dụng để làm hóa đơn cho khách hàng Hệ thống tính cước chia ra làm nhiều hệ thống con phân phối trên toàn thế giới
1.3.6 Quản lý mạng phân phối nội dung
Một trong các vấn đề liên quan đến các mạng phân phối nội dung đó là có một số thiết bị được trải rộng trên một vùng diện rộng Mỗi thiết bị này lại được triển khai trong một mag CDN riêng, do đó chúng cần được quản lý Quản lý bao gồm quan tâm đến việc cài đặt, cấu hình, và cập nhật phần mềm của các thiết bị trong mạng CDN đó, cũng như là hợp nhất thông tin tính cước và thông tin thống kê khả dụng tại các vị trí được phân phối vào một thiết bị duy nhất Một khía cạnh khác của quản lý mạng CDN là đảm bảo rằng việc giao tiếp giữa các thiết bị trong một mạng CDN được bảo mật
1.3.7 Các vấn đề quản lý bảo mật trong các mạng CDN
Ba vấn đề bảo mật cần được xem xét trong thiết kế mạng CDN là:
1 Đảm bảo bảo mật của mỗi mạng CDN thành phần
2 Đảm bảo bảo mật giao tiếp giữa các mạng CDN thành phần
3 Đảm bảo bảo mật nội dung được lưu trữ hoặc sao lưu tại nút thay thế của mỗi
mạng CDN thành phần
Bảo mật thông tin giữa các mạng CDN khác nhau có thể được đảm bảo theo một
trong ba cách dưới đây:
1 Mạng riêng thứ cấp được biết đến như là mạng bảo mật có thể được thiết lập ở giữa các mạng CDN khác nhau và được sử dụng cho việc giao tiếp giữa các bên
Trang 162 Mạng riêng ảo (VPN) có thể được thiết lập giữa các bên CDN Mạng này có thể
được thiết lập trên mạng chung sử dụng các công nghệ bảo mật như là IP-sec Tất cả các giao tiếp xảy ra giữa các mạng CDN trên mạng riêng ảo đều được mật mã và được bảo mật nhờ sử dụng các đường hầm IP-sec
3 Tất cả các giao tiếp giữa các mạng CDN có thể được mã hóa nhờ sử dụng một giao thức truyền tải bảo mật như là SSL Các kết nối được thiết lập giữa các mạng CDN đều được nhận thực Tất cả các chương trình giao tiếp giữa các mạng CDN phải sử dụng truyền tải bảo mật hoặc bảo mật dữ liệu bằng cách mã hóa lớp ứng dụng
1.4 Tương tác giữa Content Distribution và Requesst Routing
Hình 1.6 Các thành phần cơ bản trong kiến trúc hệ thống CDN Kiến trúc tổng thể của CDN được thể hiện trong hình 1.6 Nó được cấu tạo bới 7 thành phần : Client , Replica Server , Origin server , billing organization , request routing system , distribution , system và accounting system Mối quan hệ cơ bản giữa các thành phần được thể hiện theo đường đánh số trong hình 1.6 và được mô tả như sau
1 Origin Server ( Máy chủ gốc ) cung cấp một không gian địa chỉ của các tài liệu được phân tán và phân phối trong CDN cho Request Routing System
2 Origin Server cung cấp nội dung cần được phân tán và phân phối cho Distribution System
3 Distribution di chuyển nội dung tới Replica Servers Thêm vào đó , hệ thống này còn ảnh hưởng tới Request Routing System thong qua các phản hồi để giúp đỡ việc xử lý lựa chọn Replica Server cho các request của client