Tải bản đầy đủ (.pdf) (22 trang)

Tìm hiểu kỹ thuật định tuyến theo tên miền trong mạng CDN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (725.64 KB, 22 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG






NGUYỄN XUÂN HÙNG




TÌM HIỂU KỸ THUẬT ĐỊNH TUYẾN THEO TÊN MIỀN
TRONG MẠNG CDN
Chuyên ngành: Kỹ thuật điện tử
Mã số: 60.52.70


Người hướng dẫn khoa học: TS NGUYỄN QUÝ SỸ



TÓM TẮT LUẬN VĂN THẠC SĨ











HÀ NỘI – 2013



MỞ ĐẦ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.








1

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.
CDN 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
2

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.
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ế.
Nhằ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
3

đị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).



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.
Bướ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
CSDL cấu
hình
Tính toán
định tuyến
Trao đổi
thông báo
Giao thức trao đổi thông
tin định tuyến yêu cầu
4

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.

Hình 1.3: Quá trình phân phối nội dung
5


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.

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.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.
6

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.
1.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.
7

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.
2. 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. Các nhà cung cấp CDN trên thế giới
1.5. Các mô hình kinh doanh CDN
1.5.1. Mô hình kinh doanh content-centric và access-centric truyền thống
1.5.2. Mô hình kinh doanh ghép cặp Hoster/CDN
1.5.3. Mô hình kinh doanh ngang cấp P2P
1.6. Các hoạt động chuẩn hoá liên quan đến CDN
1.6.1. Các hoạt động chuẩn hoá trong IETF
1.6.2. Các hoạt động chuẩn hoá ngoài IETF













8

CHƯƠNG II. NGHIÊN CỨU KỸ THUẬT ĐỊNH TUYẾN THEO
TÊN MIỀN DỰA VÀO DNS TRONG MẠNG CDN
2.1. Giới thiệu
Kiến trúc chung của hệ thống CDN bao gồm server gốc và các server thay thế, một
hệ thống phân phối, hệ thống định tuyến yêu cầu, hệ thống tài khoản và các khách hàng.

Hình 2.1: Sơ đồ hệ thống CDN
Hệ thống định tuyến yêu cầu sẽ chuyển tiếp yêu cầu của khách hàng tới server thay
thế thích hợp có thể là server gần nhất hoặc có tải ít nhất. Hệ thống phân phối sẽ sao chép
nội dung từ server gốc tới các server thay thế. Hệ thống tài khoản sẽ thu thập dữ liệu từ hệ
thống định tuyến yêu cầu và hệ thống phân phối và lưu trữ từ việc đăng nhập và hoạt động
của CDN.
2.2. Các cách thức định tuyến yêu cầu trong CDN
2.2.1. Định tuyến bằng cách sử dụng bản ghi NS
DNS server có thể sử dụng các bản ghi NS để chuyển giao tiếp theo đến server định
tuyến yêu cầu DNS khác.Quá trình này cho phép nhiều DNS server tham gia vào quá trình
phân giải tên miền. Chẳng hạn như khi phía client yêu cầu phân giải tên miền
a.example.com, nó sẽ hỏi DNS của ISP, nếu như DNS của ISP không lưu thông tin về tên
miền trên thì nó sẽ hỏi server DNS có quyền với example.com. Server có quyền với tên
miền này có thể là server NS định tuyến yêu cầu. Khi đó DNS có quyền sẽ trả lại một tập
các bản ghi A chứa thông tin về tên miền và IP tương ứng của chúng hoặc định hướng tới
một DNS khác có quyền chuyển giao, phân giải đối với tên miền example.com.
9

2.2.2. Định tuyến yêu cầu dựa vào NAT
Các tác giả của đề xuất kỹ thuật biên dịch địa chỉ mạng - NAT (Network Address
Translation) dựa trên kỹ thuật định tuyến yêu cầu - TRIAD (Translating Relaying Internet

Architecture integrating Active Directories). NAT được đưa vào để cho phép tái sử dụng địa
chỉ IP. Nó được dùng trong một hệ thống tự trị cho phép các doanh nghiệp tự cấp địa chỉ
độc lập với các ISP. Nó hỗ trợ các multi-homing và chuyển mạch ISP và ghép cặp số lượng
các host với các số lượng địa chỉ được cấp bởi ISP. Nhưng với NAT thì địa chỉ IP chỉ thực
sự có nghĩa với một dải địa chỉ nhất định. Bộ định tuyến NAT yêu cầu có các proxy chuyên
dụng lớp ứng dụng để thực hiện chức năng ứng dụng Internet một cách chính xác. Nó cần
điều chỉnh các đáp ứng DNS truyền qua bộ định tuyến NAT và cập nhật trường checksum
của gói tin, hứa hẹn đảm bảo độ tin cậy và bảo mật xuyên suốt. Tuy nhiên trong NAT, việc
truyền thông giữa dải địa chỉ riêng biệt mà không cần đánh số lại là rất khó. Kỹ thuật
TRIAD rất thích hợp cho định tuyến yêu cầu CDN sử dụng NAT.
2.2.3. Định tuyến yêu cầu lớp truyền tải
Định tuyến yêu cầu dựa trên lớp truyền tải được sử dụng để đạt được định tuyến yêu
cầu mức cao hơn và tốt hơn sau khi mức đầu tiên được thực hiện, đó là mức định tuyến yêu
cầu dựa trên DNS. Nó sử dụng các thông tin như là địa chỉ IP của client và số cổng sẵn có
trong gói tin đầu tiên từ client, trong quá trình định tuyến yêu cầu và chuyển phiên này tới
server đại diện thích hợp hơn.
2.2.4. Định tuyến yêu cầu dựa trên URL
Định tuyến yêu cầu dựa theo URL (URL based) sử dụng URL hoặc các tiền tố URL
của nội dung yêu cầu để đưa ra quyết định định tuyến. Định tuyến yêu cầu dựa theo URL có
hai loại là sử dụng mã định hướng lại 302 và In-path Element (phần tử trong luồng)
Sử dụng mã định hướng lại 302: Mã 302 mang ý nghĩa là dịch chuyển tạm thời: Yêu
cầu đối tượng được tạm thời chuyển sang vị trí mới và được đáp ứng tại đó. Các yêu cầu
trong tương lai của client nên vẫn là như cũ. Theo phương pháp này, yêu cầu của client
trước tiên được chuyển sang một Server đại diện “ảo”. Sau đó server đại diện này sẽ gửi trả
lại một mã ứng dụng cụ thể là 302 (đối với giao thức truyền tải là HTTP hoặc RTSP) để
định hướng client tới nút phân phối thực.
In-path Element: Kỹ thuật phần tử trong luồng (In-path Element), một phần tử In-
path hiện diện trong mạng có các đường chuyển tiếp các yêu cầu của client. Phần tử in-path
10


kiểm tra các yêu cầu nội dung của client và thực hiện các quyết định định tuyến yêu cầu.
Sau đó, phần tử này sẽ ghép kết nối client tới nút phân phối thích hợp và chuyển tiếp các
yêu cầu của client. Nói chung, đường phản hồi sẽ đi qua phần tử In-path.
Định tuyến yêu cầu dựa theo Mime Header sử dụng các mime header như Cookies,
Language, User-Agent sẵn có trong yêu cầu nội dung để đưa ra quyết định định tuyến:
Định tuyến yêu cầu dựa theo Site Specific: Sử dụng trường bảo mật Secure Socket
Layer (SSL), Session Identifiers để định hướng nội dung.
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
Hiện nay, định tuyến yêu cầu dựa trên máy chủ tên miền (Domain Name Server-
DNS) được sử dụng rộng rãi trong mạng Internet. Kỹ thuật định tuyến dựa trên DNS rất phổ
biến và được áp dụng trên rất nhiều mạng CDN do tính chất có mặt khắp nơi của hệ thống
tên miền DNS.
Client gửi truy vấn tên miền trong server DNS nội bộ, và được gửi lại địa chỉ của
server đại diện gần client đó. Nếu bộ nhớ cache của DNS nội bộ chưa lưu thông tin hoặc hết
thời hạn cache nó sẽ chuyển tiếp truy vấn tới server DNS gốc. Server DNS gốc trả lại địa
chỉ của server DNS có quyền đối với trang Web này. Sau đó server DNS có thẩm quyền trả
lại địa chỉ của một server đại diện gần client dựa trên việc định tuyến chuyên dụng, giám sát
tải và cơ chế ánh xạ Internet (Internet mapping mechanism). Cuối cùng client nhận nội dung
từ server đại diện được chỉ định.
Theo cơ chế này, các client được định hướng tới một server CDN chuyên dụng trong
suốt giai đoạn phân giải tên của quá trình truy cập Web. Một bộ định tuyến yêu cầu dựa trên
DNS chuyên dụng sẽ:
 1. Nhận các yêu cầu phân giải tên miền.
 2. Xác định vị trí của client dựa trên địa chỉ IP của client (hoặc các điều kiện
rang buộc khác).
 3. Trả về địa chỉ của server CDN gần đó.
Nói chung câu trả lời được cache tại server nội bộ của client trả lời trong một thời
gian ngắn để nhờ đó bộ định tuyến yêu cầu có thể nhanh chóng thích nghi với các thay đổi
trong mạng hay của tải server. Điều này đạt được bằng cách thiết lập trường time-to-live

(TTL) trong câu trả lời với một giá trị rất nhỏ (ví dụ như 20 giây).
11

Hình 2.2 thể hiện một quá trình phân giải tên miền theo IP dựa vào DNS. Theo
phương pháp này thì DNS có thẩm quyền sẽ trả về cho khách hàng địa chỉ của server thay
thế phù hợp với yêu cầu.

Hình 2.2: Định tuyến yêu cầu theo IP dựa vào DNS
Các bước định tuyến theo IP dựa vào DNS như sau:
Bước 1: Khách hàng yêu cầu phân giải đệ quy tên miền “google.com” tới DNS local.
Bước 2: Giả sử DNS local không có cache về tên miền này. Sau đó DNS local đi hỏi
root DNS chuyển giao của “google.com”.
Bước 3: DNS root trả lời DNS CDN là DNS chuyển giao “google.com”.
Bước 4 và 5: DNS local đi hỏi tiếp DNS CDN, tại đây DNS CDN có thể dựa vào các
thông tin như IP của DNS local, tải của server thay thế, độ trễ (bằng các phương pháp thăm
dò từ trước) từ đó trả lời cho DNS local hiện tên miền google.com đang được đê bí danh
dưới dạng google.com.vn và có IP là 74.125.128.94.
Bước 6: DNS local trả lại cho khách hàng IP của server thay thế phục vụ khách hàng
tốt nhất là 74.125.128.94.
Bước 7 và 8: Khách hàng yêu cầu nội dung từ 74.125.128.94 và được đáp ứng nội
dung theo yêu cầu.
Như vậy mục đích và yêu cầu của phương pháp định tuyến theo IP dựa trên DNS là
định tuyến client tới server thay thế gần nhất dựa vào sự tương quan IP của server thay thế
12

và client (hoặc các quan hệ khác) sẽ thiết lập một cơ chế trả lời của DNS trong mạng CDN
sao cho ứng với mỗi khách hàng sẽ có một server thay thế gần khách hàng nhất phù hợp để
phục vụ.
2.3.2. Phương pháp định tuyến theo tên miền dựa vào DNS
Khác với phương pháp định tuyến theo IP, khi khách hàng yêu cầu phân giải một tên

miền thì DNS trong mạng CDN sẽ không trả lại cho khách hàng địa chỉ IP của server thay
thế, thay vào đó nó sẽ gửi về khách hàng một tên miền khác tưng ứng với điều kiện và chính
sách của nhà cung cấp CDN. Chính sách được sử dụng trong luận văn sẽ sử dụng chính IP
của khách hàng query đến hoặc DNS Local của chúng. Khi đó khách hàng muốn biết được
server nào sẽ phục vụ nhu cầu của mình thì khách hàng sẽ tiếp tục gửi yêu cầu phân giải thứ
2 về tên miền nhận được.
Sơ đồ dịch vụ CDN theo phương pháp này như sau.

Hình 2.3: Định tuyến theo tên miền dựa vào DNS
Trong hệ thống CDN cung cấp dịch vụ web chẳng hạn như “24h.com” trên hình 2.3,
server gốc đã phân phối toàn bộ nội dung tới các server thay thế. Các server thay thế được
đặt ở các khu vực địa lý khác nhau, ở các quốc gia khác nhau và có nội dung của server gốc.
Nhiệm vụ của DNS CDN trong mạng CDN này sẽ định tuyến các yêu cầu của khách hàng ở
khu vực địa lý nào thì sẽ trả về cho khách hàng hoặc DNS local của khách hàng đó một tên
miền tương ứng với server thay thế ở gần khách hàng nhất.
13

DNS local đầu phía khách hàng tiếp tục làm nhiệm vụ phân giải tên miền nhận được
phía DNS CDN. Tên miền này có thể được cấp động theo cơ chế DNS động và được đăng
ký chuyển giao với DNS của từng quốc gia. Khi đó nhiệm vụ phân giải sẽ được DNS local
chuyển đến DNS của các quốc gia, và được trả về IP server thay thế cho khách hàng.
Trên hình 2.3 là một ví dụ về định tuyến theo tên miền, các bước của quá trình yêu
cầu nội dung, định tuyến và cung cấp nội dung như sau:
Bước1: Khách hàng tại Việt Nam có yêu cầu truy nhập nội dung từ trang web
“24h.com”, khi đó nó sẽ yêu cầu DNS local phân giải tên miền “24h.com” theo cơ chế đệ
quy (recursive). DNS local sẽ làm nhiệm vụ phân giải tên miền “24h.com” sang IP và gửi
trả lại cho khách hàng.
Bước 2. DNS local đi hỏi DNS Root xem hiện tại tên miền “24h.com” đang được
chuyển giao trên DNS nào.
Bước 3. DNS Root trả lời cho DNS local là tên miền “24h.com” đang được chuyển

giao trên DNS của nhà cung cấp nội dung CDN “24h.com”.
Bước 4. DNS local yêu cầu DNS CDN phân giải tên miền “24h.com”.
Bước 5. DNS CDN dựa vào IP của DNS local phía đầu khách hàng (hoặc IP của
khách hàng nếu khách hàng query trực tiếp tới DNS CDN) và trả lời DNS local bằng 1 tên
miền khác “24h.com.vn”, bằng cách khai báo bản ghi CNAME ứng với từng trường hợp.
Bước 6. DNS local lại tiếp đi hỏi DNS root về tên miền “24h.com.vn”.
Bước 7. DNS Root trả lời cho DNS local là tên miền “24h.com.vn” đang được
chuyển giao trên DNS VNNIC của Việt Nam.
Bước 8. DNS local đi hỏi DNS VNNIC về IP của tên miền “24h.com.vn”.
Bước 9. DNS VNNIC trả lời IP tương ứng với tên miền “24h.com.vn” là
“123.30.129.148”.
Bước 10. DNS local trả về IP tưng ứng với tên miền “24h.com” cho khách hàng.
Bước 11. Khách hàng yêu cầu nội dung từ server thay thế có IP “123.30.129.148”.
Bước 12. Server thay thế cung cấp nội dung cho khách hàng.
Như vậy quá trình từ yêu cầu nội đến cung cấp nội dung phải trải qua 2 lần DNS
local, hoặc máy tính của khách hàng yêu cầu phân giải tên miền do đó làm tăng thời gian
đáp ứng nội dung. Tuy nhiên nó có ưu điểm rất lớn là các server thay thế tại các Quốc gia
khác nhau có thể sử dụng IP động chứ không phải IP tĩnh, do đó làm giảm chi phí thuê Ip
14

tĩnh đồng thời nó còn giúp tiết kiệm tài nguyên IPv4 đang ngày càng cạn kiệt. Các server
thay thế có IP động sẽ hoạt động dựa vào phương pháp DNS động (Dynamic DNS).
Dynamic DNS là phương thức ánh xạ tên miền tới địa chỉ IP có tần xuất thay đổi cao
(do không phải mọi máy tính đều sử dụng địa chỉ IP tĩnh).
Những đối tượng không sử dụng dịch vụ kết nối Internet trực tiếp leased-line với địa chỉ IP
tĩnh mà thuê kết nối Internet gián tiếp dialup hoặc dịch vụ ADSL có địa chỉ IP động, nếu
đăng ký sử dụng Dynamic DNS hoàn toàn có thể tự duy trì máy chủ dịch vụ của mình. Đặc
biệt, các thuê bao ADSL với số lượng ngày càng tăng nhanh sẽ rất hưởng ứng dịch vụ
dynamic DNS bởi vì với dynamic DNS, thuê bao ADSL (thường là các tổ chức) có khả
năng tự duy trì máy chủ dịch vụ (mail, web, ftp…server), không phải thuê dịch vụ mail

hosting, web hosting của ISP vốn rất tốn kém. Việc tự duy trì máy chủ trước đây vốn chỉ có
thể đối với các tổ chức có kết nối trực tiếp leased-line vốn là một dạng dịch vụ kết nối giá
thành cao.
Ở Việt Nam: Để sử dụng dịch vụ Dynamic DNS, khách hàng ADSL chỉ cần đăng ký
sử dụng dịch vụ với VNNIC, VNNIC sẽ cấp tên miền, account để xác thực. Sau đó khách
hàng download chương trình VNNIC Dynamic DNS Client về cài vào máy và thiết lập các
thông số (tên miền, tên máy chủ, account). Chương trình này sẽ theo dõi và cập nhật vào hệ
thống DNS của VNNIC khi có sự thay đổi IP của kết nối ADSL đó, đảm bảo tên miền của
khách hàng luôn được trỏ đúng.
2.4. Kết luận
Mục đích chung của các phương pháp định tuyến theo yêu cầu đều mong muốn đưa
khách hàng tới một server thay thế phù hợp nhất. Với phương pháp định tuyến theo IP dựa
vào DNS có ưu điểm là thời gian đáp ứng dịch vụ nhanh. Tuy nhiên nó yêu cầu các server
thay thế phải được thiết lập với IP tĩnh. Trên thế giới IPv4 đang cạn dần, thì việc tiết kiệm
và giảm chi phí trong việc sử dụng IP tĩnh là hết sức quan trọng. Đây cũng chính là ưu điểm
lớn nhất của phương pháp định tuyến theo tên miền dựa vào DNS. Do vậy, tùy thuộc vào
loại dịch vụ cung cấp, tính chất mạng thì nhà cung cấp dịch vụ CDN sẽ lựa chọn phương
pháp định tuyến cho phù hợp.



15

CHƯƠNG III: MÔ PHỎNG KỸ THUẬT ĐỊNH TUYẾN THEO TÊN
MIỀN SỬ DỤNG GEODNS KẾT HỢP VỚI PHẦN MỀM BIND
3.1. Giới thiệu về GEODNS và phần mềm Bind
Như chúng ta đã biết, tổ chức quản lý IP quốc tế đã phân chia tài nguyên địa chỉ IP
theo vị trí địa lý theo từng quốc gia. Trong mỗi quốc gia lại phân chia theo từng khu vực
nhỏ. Tại mỗi nước chỉ có những tài nguyên về địa chỉ IP nhất định. Công ty Maxmind đã
thống kê được tất cả các địa chỉ IP của từng quốc gia trên thế giới và tập hợp chúng vào một

cơ sở dữ liệu, tham khảo tại (). Dữ liệu này được gọi là dữ liệu
GeoDNS, khi sử dụng GeoDNS với một script được tạo sẵn ta sẽ thiết lập được 1 danh sách
các access list (danh sách truy nhập) theo IP của tất cả các Quốc gia.
Bind (Berkeley Internet Name Domain) là một chương trình phục vụ DNS trên nền
các hệ thống AIX/BSD/HP-UX/Unix/Linux/VMS Các chức năng của DNS sẽ do bind
quyết định, gồm phân giải tên miền thành IP và ngược lại.
3.2 Mô hình mô phỏng
Trong luận văn chủ yếu đề cập tới kỹ thuật định tuyến theo tên miền dựa vào DNS và
so sánh với kỹ thuật định tuyến theo IP. Với việc phân tích mô hình trong chương 2 (hình 2-
3), giả sử trong mạng CDN của nhà cung cấp 24h.com, có các server thay thế khác nhau
phục vụ… Và các khách hàng ở từng Quốc gia sẽ được yêu cầu định tuyến tới server thay
thế phù hợp.Giả sử các server thay thế sẽ được đăng ký sử dụng IP động để tiết kiệm tài
nguyên IP. Trong mô hình mô phỏng ứng với trường hợp khách hàng ở Việt Nam khi yêu
cầu nội dung từ trang 24h.com sẽ được định tuyến tới hn.24h.com.vn, còn khách hàng ở các
Quốc gia khác sẽ được định tuyến tới hcm.24h.com.vn để giảm tải cho server chính được
đặt ở Hà Nội.
16


Hình 3.1. Mô hình mô phỏng kỹ thuật định tuyến theo tên miền
Theo hình 3.1, ta cần tối thiểu 02 server DNS có IP public. Trong đó một
server làm DNS local của client, 01 server của nhà cung cấp CDN.
- Chuẩn bị server: 02 server (IP : 27.68.242.117 và 27.68.242.121).
- Phần mềm: BIND 9.8.1-P1, Ubuntu 12.04.1. Cài đặt đầy đủ các gói g++, gcc, và
các thư viện liên quan.
- Cơ sở dữ liệu IP trên toàn thế giới GeoDNS (GeoIPCountryCSV.zip), được
download từ trang web của Công ty Maxmind .
Sử dụng script_geo_dns.sh để tạo các access list cho DNS CDN.
root@IPv6:/home/hungnx15# more script_geo_dns.sh
#!/bin/bash

[ -f GeoIPCountryCSV.zip ] || wget -T 5 -t 1


echo -n "Creating initial CBE (Country,Begin,End) CSV file "
unzip -p GeoIPCountryCSV.zip GeoIPCountryWhois.csv | awk -F \" '{print
$10","$6","$8}' > cbe0.csv
echo -ne "DONE\nSplitting CBE CSV file "

17

lc0=0; lc1=$(wc -l cbe0.csv | awk '{print $1}')

while [ $lc0 -lt $lc1 ]
do
lc0=$lc1; echo -ne "\n$lc0\t"
awk -F , '{m = 2^32-2^int(log($3-$2+1)/log(2)); n = and(m,$3); if (n ==
and(m,$2)) print; else printf "%s,%u,%u\n%s,%u,%u\n",$1,$2
,n-1,$1,n,$3}' cbe0.csv > cbe1.csv
mv -f cbe1.csv cbe0.csv; lc1=$(wc -l cbe0.csv | awk '{print $1}')
echo -ne "+$[$lc1-$lc0]\t"; [ $lc0 -lt $lc1 ] && echo -n "OK"
done

echo -ne "DONE\nGenerating BIND GeoIP.acl file "

(for c in $(awk -F , '{print $1}' cbe0.csv | sort -u)
do
echo "acl \"$c\" {"
grep "^$c," cbe0.csv | awk -F , '{printf
"\t%u.%u.%u.%u/%u;\n",$2/2^24%256,$2/2^16%256,$2/2^8%256,$2%256,32-
int(log($3-$2+1)/log(2

))}'
echo -e "};\n"
done) > GeoIP.acl
rm -f cbe0.csv
echo "DONE"
exit 0
Kết quả chạy script ta được file GeoIP.acl, bao gồm hầu hết các IP trên toàn thế giới,
được phân chia theo các Quốc gia khác nhau.
Để DNS CDN có thể trả về một tên miền khác so với tên miền mà Local DNS yêu
cầu, trong luận văn tôi sử dụng khai báo bản CNAME cho tên miền 24h.com trỏ tới những
tên miền hcm.24h.com.vn và hn.24h.com.vn.
18

3.3. Kết quả mô phỏng
Theo mô hình mô phỏng và yêu cầu định tuyến. Khi khách hàng yêu cầu nội dung từ
nhà cung cấp nội dung CDN 24h.com, thì sẽ được định tuyến theo cơ chế:
 Khách hàng ở Việt Nam được yêu cầu định tuyến đến “hn.24h.com.vn”.
 Khách hàng tại các Quốc gia khác được yêu cầu định tuyến tới
“hcm.24h.com.vn”.
Khách hàng tại nước ngoài (Campuchia) sẽ được định tuyến yêu cầu đến server
hcm.24h.com.vn.
[noc@rtgsyslog ~]$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:1E:4F:34:1B:C7
inet addr:117.120.24.67 Bcast:117.120.24.95 Mask:255.255.255.224
//Server có IP tại Campuchia)
[noc@rtgsyslog ~]$ nslookup
> server 27.68.242.117
Default server: 27.68.242.117
Address: 27.68.242.117#53
> www.24h.com

Server: 27.68.242.117
Address: 27.68.242.117#53
www.24h.com canonical name = hcm.24h.com.vn.
Name: hcm.24h.com.vn
Address: 210.211.110.12
//Được yêu cầu query đến server hcm.24h.com.vn
Khách hàng tại Việt Nam được yêu cầu tới hn.24h.com.vn.
[hungnx15@lvsdns1B ~]$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:24:E8:6E:BE:39
inet addr:203.113.131.8 Bcast:203.113.131.31 Mask:255.255.255.224
//Có IP tại Việt Nam
[hungnx15@lvsdns1B ~]$ nslookup
> server 27.68.242.117
Default server: 27.68.242.117
19

Address: 27.68.242.117#53
> www.24h.com
;; Truncated, retrying in TCP mode.
Server: 27.68.242.117
Address: 27.68.242.117#53
www.24h.com canonical name = hn.24h.com.vn.
Name: hn.24h.com.vn
Address: 123.30.183.195
//Được yêu cầu query đến server hn.24h.com.vn.




















20

KẾT LUẬN
Việc định tuyến theo yêu cầu là rất quan trọng, nó sẽ giúp cho các nhà cung cấp CDN
đáp ứng được nhu cầu ngày càng cao của khách hàng về việc truy nhập các nội dung có
dung lượng lớn như video… bằng cách định tuyến khách hàng tới những server thay thế phù
hợp nhất với khách hàng để phục vụ.
Do hạn chế về mặt thời gian, điều kiện thiết bị và phần mềm, luận văn chưa tiến hành
thực hiện mô phỏng được các kỹ thuật định tuyến dựa vào DNS chuyên dụng hơn như định
tuyến dựa vào tổng hợp các điều kiện: tải của server thay thế, trễ từ khách hàng tới các
server thay thế… Do đó chỉ có được những đầu về kỹ thuật định tuyến dựa vào DNS.
Hiện nay, CDN vẫn đang trong giai đoạn đầu của thời kỳ phát triển và xu hướng phát
triển của nó vẫn còn để mở trong tương lai. Việc nắm bắt các kỹ thuật hiện có liên quan tới
việc tổ chức mạng CDN, định tuyến, cache, cũng như tiến trình tư nhân hoá nội dung và
khai thác dữ liệu là vô cùng quan trọng để có thể đề xuất hay dự đoán về những bước phát
triển tiếp theo của mạng phân phối nội dung.




×