..
..
..
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------TRẦN VĂN TIẾN
CÁC CƠ CHẾ CHO MẠNG HƯỚNG ĐẾN NỘI DUNG
Chuyên ngành : KỸ THUẬT TRUYỀN THÔNG
LUẬN VĂN THẠC SĨ KHOA HỌC
CHUYÊN NGÀNH: KĨ THUẬT TRUYỀN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC :
1. PGS TS. Nguyễn Hữu Thanh
Hà Nội – 2015
MỤC LỤC
DANH MỤC HÌNH VẼ ............................................................................................4
DANH MỤC BẢNG ..................................................................................................5
DANH MỤC TỪ VIẾT TẮT....................................................................................6
LỜI NÓI ĐẦU ...........................................................................................................8
CHƯƠNG 1
PHẦN MỞ ĐẦU ............................................................................9
1.1
Giới thiệu........................................................................................................9
1.2
Lịch sử nghiên cứu ......................................................................................10
1.3
Mục đích, đối tượng, phạm vi nghiên cứu ................................................10
1.4
Phương pháp nghiên cứu............................................................................10
1.5
Cấu trúc luận văn ........................................................................................10
CHƯƠNG 2
TỔNG QUAN VỀ MẠNG ICN..................................................12
2.1
Giới thiệu......................................................................................................12
2.2
Tổng quan mạng ICN .................................................................................14
2.3
Ưu điểm của ICN.........................................................................................14
2.4
Các vấn đề và thách thức trong ICN .........................................................16
2.5
Các dự án ICN trên thế giới .......................................................................17
2.6
Các thành phần chính của một ICN ..........................................................17
2.7
Tổng quan mạng CCN ................................................................................21
Trang 1
2.7.1
Giới thiệu mạng CCN ...............................................................................21
2.7.2
Ưu điểm của CCN .....................................................................................21
2.7.3
Kiến trúc tổng quan của CCN ...................................................................22
2.7.4
Ứng dụng thông minh trên cơ sở hạ tầng ảo ( SAVI) ...............................29
CHƯƠNG 3
HỆ THỐNG LƯU TRỮ ĐÁM MÂY SWIFT ..........................31
3.1
Giới thiệu tổng quan ...................................................................................31
3.2
Mơ hình lưu trữ của Swift ..........................................................................33
3.2.1
Account .....................................................................................................34
3.2.2
Container ...................................................................................................35
3.2.3
Object ........................................................................................................35
3.3
Mơ hình kiến trúc hệ thống ........................................................................36
3.3.1
Region .......................................................................................................37
3.3.2
Zone...........................................................................................................37
3.3.3
Node ..........................................................................................................37
3.3.4
Storage policies .........................................................................................38
3.3.5
Server Process ...........................................................................................39
3.4
Tính năng và ưu điểm của Swift ................................................................42
3.4.1
Khả năng mở rộng .....................................................................................42
3.4.2
Tính an tồn của dữ liệu ............................................................................42
3.4.3
Lưu trữ phân tán trên nhiều Zone (Multi-regional capability) ..................42
3.4.4
Cung cấp Performance và tính đồng thời cao ...........................................43
3.4.5
Lưu trữ linh hoạt .......................................................................................43
3.4.6
Không yêu cầu cao về phần cứng .............................................................43
3.4.7
Tiện lợi trong việc phát triển. ....................................................................44
3.4.8
Thân thiện với nhà khai thác .....................................................................45
Trang 2
CHƯƠNG 4
THỬ NGHIỆM HỆ THỐNG SWIFT .......................................46
4.1
Mục đích thử nghiệm ..................................................................................46
4.2
Mơ hình hệ thống thử nghiệm ....................................................................46
4.3
Mơ tả hệ thống thử nghiệm ........................................................................49
4.4
Thiết bị phần cứng ......................................................................................51
4.5
Bài kiểm tra lỗi hệ thống ............................................................................54
4.5.1
Ổ Cứng lỗi .................................................................................................54
4.5.2
Storage Node Lỗi ......................................................................................59
4.6
Bài kiểm tra hiệu năng hệ thống ................................................................64
4.6.1
Dữ liệu Application ...................................................................................64
4.6.2
Dữ liệu Backup .........................................................................................66
4.6.3
Dữ liệu Media ( Photo, Audio, Video ) .....................................................69
4.6.4
Dữ liệu Mail& Log Archiver ....................................................................72
4.6.5
Dữ liệu Web Content ................................................................................73
4.6.6
Dữ liệu Data Sharing .................................................................................74
4.6.7
Đánh giá về hiệu năng hệ thống ................................................................76
4.7
Bài kiểm tra phát hiện nút cổ chai hệ thống .............................................77
4.7.1
Mô tả .........................................................................................................77
4.7.2
Kiểm tra tại phần tử Loadbalancer ............................................................78
4.7.3
Kiểm tra tại phần tử Proxy ........................................................................78
4.7.4
Kiểm tra tại phần tử Storage Node ............................................................82
4.7.5
Đánh giá về nút thắt cổ chai ......................................................................86
KẾT LUẬN ..............................................................................................................87
TÀI LIỆU THAM KHẢO ......................................................................................88
Trang 3
DANH MỤC HÌNH VẼ
Hin
̀ h 2.1: Mơ hình đặt tên Naming ...........................................................................18
Hình 2.2: Mơ hình phân dải tên và định tuyến dữ liệu .............................................19
Hin
̀ h 2.3: Mơ hình Caching .......................................................................................20
Hin
̀ h 2.4: Cấu trúc chunk của CCN .........................................................................22
Hình 2.5: Mô hình nút CCN ......................................................................................26
Hiǹ h 2.6: Sơ đồ khối CCN chuyển tiếp lưu lượng ....................................................28
Hình 3.1: Truy nhập theo vị trí địa lý .......................................................................32
Hình 3.2: Mơ hình lưu trữ dữ liệu của hệ thống .......................................................34
Hin
̀ h 3.3: Mơ hình kiến trúc tổng quát của hệ thống ................................................36
Hình 3.4: Ví dụ về storage policies ...........................................................................39
Hin
̀ h 3.5: Sơ đồ hệ thống với server node thành phần ..............................................40
Hin
̀ h 4.1: Sơ đồ vật lý hệ thống Swift .......................................................................47
Hình 4.2: Sơ đồ vật lý hệ thống Swift triển khai tại phòng Lab ...............................48
Hin
̀ h 4.3: Trường hợp ổ cứng lỗi ..............................................................................55
Hình 4.4: Trường hợp server máy chủ lỗi .................................................................59
Hin
̀ h 4.5: Throughput trên eth0 proxy1 ....................................................................79
Hin
̀ h 4.6: Throughput eth1 proxy 1 ..........................................................................80
Hình 4.7: Tải CPU trên proxy 1 ...............................................................................81
Hin
̀ h 4.8: RAM và IO ổ cứng trên Proxy ..................................................................82
Hình 4.9: XFS node Cluster ......................................................................................83
Hin
̀ h 4.10: Throughtput bond0 Storage Node 4 ........................................................84
Hin
̀ h 4.11: Tải CPU trên storage Node 4 .................................................................85
Hình 4.12: RAM và IO trên Storage Node 4 ...........................................................86
Trang 4
DANH MỤC BẢNG
Bảng 4.1: Danh sách thiết bị phần cứng ...................................................................51
Bảng 4.2: Kết quả Test ổ cứng lỗi.............................................................................55
Bảng 4.3: Kết quả Test Server máy chủ lỗi ..............................................................60
Bảng 4.4: Dữ liệu Application Small ........................................................................65
Bảng 4.5: Dữ liệu Application Medium ....................................................................66
Bảng 4.6: Dữ liệu Backup Small...............................................................................67
Bảng 4.7: Dữ liệu Backup Medium ..........................................................................68
Bảng 4.8: Dữ liệu Backup Large...............................................................................69
Bảng 4.9: Dữ liệu Media Small.................................................................................70
Bảng 4.10: Dữ liệu Media Medium ..........................................................................71
Bảng 4.11: Dữ liệu Media Large...............................................................................72
Bảng 4.12: Dữ liệu Mail& Log Archiver ..................................................................73
Bảng 4.13: Dữ liệu Web Content ..............................................................................74
Bảng 4.14: Dữ liệu Data Sharing Small ....................................................................75
Bảng 4.15: Dữ liệu Data Sharing Medium................................................................76
Trang 5
DANH MỤC TỪ VIẾT TẮT
Kí hiệu
API
ASCII
Tên Tiếng Anh
Tên Tiếng Việt
Application Programming Interface
Hàm lập trình trình ứng dụng
American Standard Code for
Information Interchange
Bảng mã tiêu chuẩn quốc tế
CCN
Content Centric Network(ing)
Mạng hướng nội dung
CDN
Content Delivery Network
Mạng hướng nội dung
COntent Mediator architecture for
Mạng hướng nội dung
content-aware nETworks
commet
CONET
COntent NETworking project
Dự án conet
CPU
Central Processing Unit
Vi xử lý trung tâm
CS
Content Store
Lưu trữ nội dung
DHT
Distributed Hash Tables
Bảng phân phối Hash
DONA
Data-Oriented Network Architecture Dự án mạng nội dung Dona
DoS
Denial of Service
Tấn công từ chối dịch vụ
FIB
Forwarding Information Base
Bảng chuyển tiếp thông tin
GB
Gigabyte
Dung lượng lưu trữ GB
ixGbps
Gigabit per second
Tốc độ dữ liệu Gbps
COMET
GPGPU
General Purpose Graphic Processing
Units
Vi xử lý đồ họa
HPC
High Performance Computing
Máy tính hiệu năng cao
IaaS
Infrastructure-as-a-Service
Cơ sở hạ tầng ảo
ICN
Information Centric Networking
Mạng hướng nối dung ICN
IP
Internet Protocol
Giao thức mạng IP
LFU
Least Frequently Used
Tần suất sử dụng ít nhất
LRU
Least Recently Used
MB
Megabyte
Tần suất sử dụng thường
xuyên
Dung lượng lưu trữ MB
Trang 6
Kí hiệu
Tên Tiếng Anh
Tên Tiếng Việt
Mbps
Megabit per second
Tốc độ lư trữ Mbps
NDN
Named Data Network(ing)
Dự án đặt tên NDN
NetInf
Network of Information
Dự án mạng nội dung NetInf
OVS
Open vSwitch
P2P
Peer-to-Peer
PBR
Potential Based Routing
PIT
Pending Interest Table
Bảng chờ interest
Rx/Tx
Receive/Transmit
Truyền/ nhận tín nhiệu
SAIL
SAVI
Ảo hóa mạng sử dụng phần
mềm
Mạng ngang hàng P2P
Scalable and Adaptive Internet
Solutions
Smart Application on Virtual
Dự án ứng dụng thơng minh
Infrastructure
trên cơ sở hạ tầng ảo hóa
Hạ tầng thiết bị xây dựng
SDI
Software Defined Infrastructure
SDN
Software Defined Network(ing)
TCP
Transmission Control Protocol
UDP
User Datagram Protocol
VANET
Vehicular Ad-hoc Networks
Mạng Ad-hoc
VM
Virtual Machine
Máy ảo
VoCCN
Voice-over-CCN
Thoại trên nền mạng nội dung
VoIP
Voice-over-IP
Thoại trên nền IP
XML
Extensible Markup Language
Ngôn ngữ xml
bằng phần mềm
Hạ tầng mạng xây dựng bằng
phần mềm
Giao thức truyền tín hiệu tin
cậy qua internet
Giao thức truyền tín hiệu
khơng tin cậy qua internet
Trang 7
LỜI NÓI ĐẦU
Mạng Internet ngày nay ngày càng phát triển để truyền lưu lượng nội dung lớn.
Thông thường một nội dung lưu trữ ở một nơi nhưng được truyền đi truyền lại
nhiều lần, qua nhiều nơi, điều này dẫn đến sự lãng phí tài nguyên của mạng
Internet. Mạng hướng đến nội dung (Information-centric networks) là một hệ thống
được thiết kế trên nền mạng Internet hiện tại, cung cấp các cơ chế tối ưu để truyền
nội dung.
Bước đầu trong nghiên cứu em hiểu được các cơ chế của mạng và mô phỏng lại
hoạt động của mạng hướng đến nội dung phục vụ cho việc nghiên cứu sâu hơn
trong tương lai.
Do đề tài là một lĩnh vực mới, bản thân kiến thức cịn nhiều hạn chế nên đề tài khó
tránh khỏi nhiều thiếu sót,em mong nhận được sự góp ý và chỉ bảo của các thầy và
các bạn sinh viên để nội dung đề tài được hoàn thiện và phong phú hơn.
Khi thực hiện đề tài này, em xin gửi lời cảm ơn đến các thầy cô trong bộ môn Kỹ
thuật thông tin, Viện Điện tử-Viễn thông, Trường Đại học Bách Khoa Hà Nội, đặc
biệt là PGS TS. Nguyễn Hữu Thanh đã nhiệt tình giúp đỡ em trong quá trình xác
định, tìm hiểu và thực hiện đề tài.
Em xin chân thành cảm ơn!
Trang 8
Chương 1
PHẦN MỞ ĐẦU
1.1 Giới thiệu
Mạng Internet với các cơ chế định tuyến, đánh địa chỉ, DNS .v.v. được thiết kế tối
ưu để truyền dữ liệu ở lớp Internetworking. Tuy nhiên, các nghiên cứu cho thấy
phần lớn các thông tin đang được truyền trong mạng Internet đều là các dịch vụ với
các nội dung hướng đến người sử dụng (như web, video, ảnh, các loại nội dung số
khác). Thông thường một nội dung lưu trữ ở một nơi nhưng được truyền đi truyền
lại nhiều lần, qua nhiều nơi, điều này dẫn đến sự lãng phí tài nguyên của mạng
Internet. Mạng hướng đến nội dung (Information-centric networks) là một hệ thống
được thiết kế trên nền mạng Internet hiện tại, cung cấp các cơ chế tối ưu để truyền
nội dung.
Information Centric Networking (ICN), hay còn gọi là Named Data Networking
(NDN) hoặc Content Centric Networking (CCN), là kiến trúc Internet trong tương
lai trong đó các mơ hình truyền thơng được xây dựng xung quanh Naming (đặt tên
cho thơng tin) thay vì các máy chủ hoặc vị trí của các thơng tin. ICN thiết kế cho
việc định danh, khả năng bảo mật, an toàn thông tin, giữ nguyên được thông tin gốc
ban đầu.
Hiện tại ICN có rất nhiều vấn đề mở cần giải quyết: như giải quyết bài toán đặt tên
Naming cho dữ liệu, các vấn đề về phân dải tên và định tuyến dữ liệu, Các vấn đề
về bộ nhớ đệm Caching và các vấn đề về bảo mật trong mạng ICN.
Trong luận văn này sử dụng mơ hình điện tốn lưu trữ đám mây được xây dựng trên
nền của Internet hiện tại. Với mơ hình này đã giải quyết được vấn đề Naming và
Caching trong mạng ICN.
Trang 9
1.2 Lịch sử nghiên cứu
STT
Thời gian bắt đầu
Nội dung nghiên cứu
1
10/07/2014
Đọc và tìm hiểu tài liệu nghiên cứu
2
15/09/2014
3
04/08/2015
Thiết kế, thử nghiệm và đánh giá
hệ thống
Ghi kết quả và viết báo cáo luận
văn
1.3 Mục đích, đối tượng, phạm vi nghiên cứu
Tồn bộ quá trình nghiên cứu và tìm hiểu đi sâu vào tìm hiểu phần mềm OpenStack
Swift. Là phần mềm cho phép thiết lập ảo hóa lưu trữ dữ liệu. Swift là một phần
trong dự án lớn Openstack hướng đến xây dựng ảo hóa trên nền Internet hiện nay.
Phạm vi nghiên cứu bước đầu ở mức hiểu và xây dựng mô hình thử nghiệm của hệ
thống.Việc thiết lập mơi trường ảo hóa dữ liệu trên nền internet hiện nay giải quyết
được bài toán về truyền dữ liệu lưu lượng lớn qua mạng internet.
1.4 Phương pháp nghiên cứu
Tồn bộ q trình nghiên cứu chủ yếu là đọc và hiểu tài liệu về phần mềm, bước
đầu thiết lập được hệ thống thử nghiệm trong phòng Lab.
1.5 Cấu trúc luận văn
Trong khuân khổ luận văn em xin trình bày thành năm chương như sau:
Chương 2: Tổng quan về mạng ICN
Trong phần này ta sẽ có nhưng khái niệm cơ bản nhất về một hệ thống mạng ICN.
Kiến trúc cũng như những ưu điểm của hệ thống.
Chương 3: Hệ thống lưu trữ đám mây Swift
Swift là một hệ thống lưu trữ đám mây, với dữ liệu được phân tán nhiều nơi. Người
sử dụng sẽ truy nhập tới bản sao thay thế gần nhất. Tăng khả năng truy nhập của
Trang 10
người sử dụng. Trong phần này sẽ giới thiệu chi tiết kiến trúc của một hệ thống
Swift.
Chương 4: Thử nghiệm hệ thống Swift
Trong phần này ta xây dựng một hệ thống thử nghiệm thực tế, thực hiện các bài test
failover, bài test hiệu năng, hay bài test nút thắt cổ chai để đánh giá sự đáp ứng của
hệ thống khi xây dựng một mơ hình triển khai trong thực tế.
Trang 11
Chương 2
TỔNG QUAN VỀ MẠNG ICN
2.1 Giới thiệu
Trong vài thập kỷ qua, Internet đã trở thành một cơ sở hạ tầng thiết yếu của xã hội
hiện đại. Mặc dù thiết kế Internet đơn giản nhưng cũng đã tạo được thành công nhất
định. Hiện nay, do nhu cầu sử dụng lưu lượng mạng Internet ngày càng tăng cao, do
vậy người sử dụng phải đối mặt với nhiều thách thức mới. Ví dụ, một nghiên cứu
mới đây đã ước tính rằng có đến 98% lưu lượng hiện nay của Internet là bao gồm
các dữ liệu liên quan đến phân phối nội dung, mặc dù các thiết kế ban đầu của
Internet dựa trên một mơ hình truyền thơng point-to-point.
Sự sai lệch giữa mục tiêu chức năng và các kiến trúc cơ bản của Internet đã tạo ra
nhiều nỗ lực nghiên cứu. Một trong nhiều cách tiếp cận nhằm hiện thực hóa việc
phân phối nội dung quy mô lớn trên Internet hiện nay là thông qua mạng Peer-toPeer (P2P). Trong một mạng P2P, người sử dụng nội dung cho phép truy cập vào tài
nguyên của nhau chẳng hạn như khả năng tính tốn, lưu trữ, và băng thơng mạng
mà khơng địi hỏi điều khiển tập trung bởi các nhà cung cấp nội dung. Hợp tác giữa
các người sử dụng cho phép nội dung được phân phối không chỉ từ các nhà cung
cấp cho người sử dụng, mà còn giữa người sử dụng với nhau. Các kiến trúc P2P đã
phá tan rào cản giữa server và client trong mơ hình mạng client-server truyền thống,
và sở hữu nhiều ưu điểm như tính sẵn sàng khả năng mở rộng cao. Nghiên cứu gần
đây cũng đã chứng minh rằng thông qua sự hợp tác của các Peer, mọi người có thể
sử dụng các đa dạng nguồn tài nguyên cung cấp bởi mỗi Peer lớn hơn khả năng của
mỗi thành phần tham gia.
Một phương pháp khác là Mạng Phân phối Nội dung (CDN). CDN được thiết kế để
cung cấp dịch vụ chuyển phát nội dung đáng tin cậy và hiệu suất cao cho người sử
dụng nội dung. Có hai phương pháp tiếp cận để đạt được mục tiêu như: phương
pháp Overlay và Network. Trong phương pháp Overlay, nội dung được nhân đôi và
phân phối trên Internet tại nhiều máy chủ riêng biệt. Người dùng yêu cầu các dữ
liệu đang hướng đến các máy chủ thay thế gần nhất và nội dung được phục vụ chỉ đi
Trang 12
qua một phần của Internet. Thiết kế này tách riêng nội dung phân phối từ mạng lõi
cơ sở hạ tầng, cho phép triển khai trực tiếp trên cơ sở hạ tầng Internet hiện có. Các
mơ hình Overlay đã đạt được thành công thương mại của các công ty như Akamai,
Amazon CloudFront và CDNetworks. Trong phương pháp tiếp cận network, các
thiết bị như bộ định tuyến và chuyển mạch (router và switch) được tăng cường để
đưa ra quyết định chuyển tiếp ứng dụng cụ thể. Một ví dụ về phương pháp tiếp cận
Network là Internet Protocol (IP) Multicast.
Nhiều phương pháp được kết hợp tạo ra nhiều sự lựa chọn. Việc sử dụng các
phương pháp P2P trong CDN để cải thiện độ tin cậy và khả năng mở rộng; từ
Distributed Hash Tables (DHT) và kỹ thuật P2P đến mạng lưới phân phối nội dung
publish-subscribe (pub / sub) cho hiệu suất cao; tập trung vào bộ nhớ đệm của nội
dung và truy cập vào hệ thống publish-subscribe như là cách để CDN có hiệu suất
cao.
Tất cả các phương pháp mô tả ở trên tập trung vào thực hiện nâng cao hiệu suất
phân phối trên nền kiến trúc Internet hiện có. Một số phương pháp nêu trên đã khá
thành công trong kinh doanh và nghiên cứu, nhưng không ai trong số họ giải quyết
được những mâu thuẫn giữa việc phân phối nội dung và mơ hình truyền thống
point-to-point của Internet hiện tại. Bởi những hạn chế của kiến trúc Internet, các
nhà nghiên cứu trên thế giới đã đánh giá lại và tái thiết kế Internet ở mức độ thấp
hơn. Nhiều người đã đi đến thống nhất rằng trung tâm của Internet trong tương lai
cần phải được chuyển sang máy chủ (host) sang nội dung (Content), hình thành nền
tảng của Infomation Centric Networking. Infomation Centric Networking (ICN)
mơ tả việc chuyển đổi mơ hình từ việc đánh địa chỉ Host (Host Addressing) bằng
việc đánh địa chỉ Content (Content Naming). Việc truyền thông sẽ được dựa theo
tên của nội dung (Content Naming) thay vì địa chỉ IP của máy chủ (Host).
ICN được đề xuất như là một phương pháp tiếp cận nội dung hiệu quả trên
Internet. Vì mục tiêu cuối cùng của ICN là để phân phối dữ liệu nội dung cho các
người dùng quan tâm trên mạng một cách nhanh chóng và đáng tin cậy, đặc biệt
Trang 13
thông qua là một trong những thước đo quan trọng nhất trong các thông số kỹ thuật
của một hệ thống ICN.
Hiện nay có một khoảng cách rõ ràng giữa hai dòng nghiên cứu liên quan đến ICN
và kết quả thực hiện của nó: một mặt, các nhà nghiên cứu tập trung vào việc cải
thiện hiệu suất của Dự án ICN hiện tại, đề xuất cơ chế mới cho các thành phần cụ
thể của một hệ thống ICN. Kết quả nghiên cứu của họ được xem xét thơng qua việc
phân tích số liệu và mô phỏng. Mặt khác, các nhà nghiên cứu thực hiện xây dựng
testbeds dựa trên những nguyên mẫu ICN với chức năng xác định như mục tiêu
chính của họ.
2.2 Tổng quan mạng ICN
Information Centric Networking (ICN)1, hay còn gọi là Named Data Networking
(NDN) hoặc Content Centric Networking (CCN), là kiến trúc Internet trong tương
lai trong đó các mơ hình truyền thơng được xây dựng xung quanh Naming (đặt tên
cho thơng tin) thay vì các máy chủ hoặc vị trí của các thơng tin. ICN thiết kế cho
việc định danh, khả năng bảo mật, an tồn thơng tin, giữ nguyên được thông tin gốc
ban đầu.
2.3 Ưu điểm của ICN
ICN có nhiều lợi thế hơn các mạng Internet hiện nay do sự thay đổi trọng tâm từ các
host vào tên của thông tin (Naming). Một số trong những điểm chú ý nhất bao gồm:
Hiệu quả phân phối nội dung
Một tính năng chính của ICN là bộ nhớ đệm của nội dung tại các điểm mạng tùy
ý. Đây chính là đặc điểm của việc đặt tên của thông tin (Naming) trong đó mơ tả
chính bản thân nội dung thay vì đường dẫn URL tới các Host. So với các tính năng
1
Tham khảo sách: High Performance Content Centric Networking on Virtual Infrastructure
Trang 14
bộ nhớ đệm hiện có của một số mạng, các bộ nhớ đệm trong ICN được xây dựng
thành các mô hình truyền thơng, và cung cấp sự linh hoạt lớn hơn trong quản lý việc
lưu trữ nội dung. Bộ nhớ đệm của nội dung cho phép phổ biến nội dung hiệu quả
hơn bằng cách phục vụ người dùng với các bản sao gần nhất. Nghiên cứu đã chỉ ra
rằng Đề án ICN có thể cải thiện đáng kể tiện ích băng thông và mạng chậm trễ.
Bảo mật
Việc chuyển đổi mô hình từ các địa điểm máy chủ nội dung cũng đã đẩy mạnh
chiến lược bảo mật mới. Bởi vì nội dung có thể được lấy từ bất kỳ thực thể mạng,
bảo mật được thiết kế để tập trung vào các nội dung chính nó thay vì nơi đặt host và
cách các kênh thơng tin nó đã thu được. Khả năng bảo mật giống như chữ ký điện
tử mỗi gói dữ liệu được đề xuất triển khai. Đây vẫn còn là một lĩnh vực mới trong
nghiên cứu, ICN được cho là an toàn hơn và mạnh mẽ chống lại các mối đe dọa
trong Internet ngày nay, bao gồm giả dạng danh tính và tấn cơng từ chối dịch vụ
(DoS).
Khả năng thích nghi và tính di dộng
Bởi vì các gói dữ liệu trong mạng ICN có thể được lưu tạm thời tại bất kỳ vị trí
mạng nào, ICN có thể được sử dụng để cung cấp khả năng phục hồi các mạng khi
các kết nối hoặc các kênh vật lý bị mất tạm thời.Trong ICN, nếu một yêu cầu đối
với nội dung không thực hiện được do mất mạng tạm thời, các tổ chức phát hành có
thể gửi lại các yêu cầu khi kết nối trở lại. Tùy thuộc vào các thiết lập thời gian chờ
và chính sách bộ nhớ đệm, các nội dung được yêu cầu có thể được lấy ra tại bất kì
một thực thể mạng nào gần hơn nhiều so với các nguồn nội dung ban đầu. Điều này
cho phép một kết nối nhanh hơn và hiệu quả hơn sau khi mất điện xảy ra. Các tính
năng tương tự có thể được sử dụng để hỗ trợ các nút đòi hỏi sự đáp ứng nhanh. Khi
thay đổi điểm truy cập cho một nút mạng, việc kết nối có thể nhanh chóng được
thiết lập vì có thể lấy ra dễ dàng các thơng tin u cầu kết nối trước đó. Một ví dụ
về ứng dụng của ICN trong các mạng có tính mềm dẻo và tính di động cao là yêu
cầu Mạng Vehicular Ad-hoc (VANET).
Hỗ trợ cho các ứng dụng và dịch vụ
Trang 15
Với tất cả các đặc điểm trên, ICN được cho là tốt hơn so với Internet ngày nay. Nội
dung phân phối hiệu quả đảm bảo rằng ICN thực hiện tốt để phân phối nội dung và
thông tin multicast, bảo mật tốt cho phép ICN được sử dụng cho các dịch vụ địi hỏi
tính tồn vẹn dữ liệu cao, khả năng phục hồi và hỗ trợ cho tính di động cho phép
ICN là một lựa chọn khả thi cho Mạng Vehicular Ad-hoc (VANET) và nhiều hơn
nữa.
2.4 Các vấn đề và thách thức trong ICN
Dù cịn nhiều tiềm năng được nhìn thấy trong ICN, nhưng ta cũng đồng ý rằng các
chương trình ICN hiện tại có rất nhiều vấn đề mở cần giải quyết. Một số thách thức
đưa ra về phía Internet bao gồm:
Hỗ trợ cho ứng dụng Point-to-point
Mặc dù phần lớn các lưu lượng truy cập trên Internet ngày nay là để phân phối nội
dung, có rất nhiều ứng dụng mà vốn dĩ bản thân nó đã là point-to-point. Ví dụ trong
các giao dịch tài chính, tin nhắn, và dịch vụ Voice over IP (VoIP), việc trao đổi gói
tin chỉ các host tham gia, và khơng nên lưu trữ vì lý do an ninh. Các nhà nghiên cứu
có đã nhìn vào các mơ hình truyền thơng. Ngun mẫu như Voice-over-CCN
(VoCCN) được xây dựng để chứng minh khả năng của ICN trong việc hỗ trợ các
ứng dụng truyền thống như point-to-point, mặc dù vậy vẫn còn rất nhiều việc phải
làm liên quan đến hiệu năng và bảo mật.
Hiệu suất
Bởi vì Traffic của ICN được đặc trưng bởi 'Naming' nên linh hoạt hơn so với địa chỉ
cố định của máy chủ. Đánh địa chỉ của máy chủ có cơ chế phức tạp hơn là việc
phân giải tên (Naming), định tuyến dữ liệu, và Caching nội dung. Tất cả yếu tố trên
đều ảnh hưởng đến hiệu suất tổng thể của hệ thống bởi vì bất kỳ nút cổ chai nào
trong đường ống có thể làm chậm toàn bộ hệ thống. Ngoài ra, hiệu suất của ICN có
thể vượt xa khỏi khn khổ cơ bản bao gồm một loạt các số liệu như tiêu thụ điện
năng, hiệu quả băng thông, độ trễ, vv
Trang 16
Chất lượng dịch vụ
Chất lượng dịch vụ (QoS) là một thước đo liên quan chặt chẽ đến hiệu suất. QoS
mô tả cách ICN có thể đáp ứng các yêu cầu khác nhau từ các ứng dụng và dịch vụ
khác nhau cần thiết để hỗ trợ được tốt nhất. QoS cũng liên quan đến các vấn đề
khác như quản lý tài nguyên, độ tin cậy, và xác định độ ưu tiên.
2.5 Các dự án ICN trên thế giới
Bởi vì những lợi thế nêu trên, ICN được xem đầy hứa hẹn bởi các nhà nghiên cứu
trên khắp thế giới đối với thiết kế Internet trong tương lai. Nhiều dự án đã phát triển
mạnh mẽ dựa trên các khái niệm cơ bản của ICN. Một số trong những dự án có ảnh
hưởng nhất bao gồm:
•
Data-Oriented Network Architecture (DONA)
•
Content Centric Networking (CCN) nằm trong dự án Named Data Network
(NDN);
•
Publish-Subscribe Internet Routing Paradigm (PSIRP) và Publish-Subscribe
Internet Technology (PURSUIT)
•
Network of Information (NetInf) từ Architecture and Design for the Future
Internet (4WARD) và là một phần của dự án Scalable and Adaptive Internet
Solutions (SAIL);
•
Content Mediator architecture for content-aware nETworks (COMET) tài trợ bởi
EU Framework 7 Programme (FP7);
•
The CONVERGENCE project including the COntent NETworking (CONET).
Dự án cũng được tài trợ bởi FP7;
2.6 Các thành phần chính của một ICN
Mặc dù khái niệm ICN có rất nhiều nhánh nghiên cứu khác nhau nhưng ta có thể
phân loại thành 4 loại dự án như sau:
Đặt tên( Naming)
Đặt tên (Naming) mô tả định dạng của tên nội dung và cách chúng được kết hợp với
các mảnh nội dung mà được họ mô tả. Số liệu chính của một chương trình đặt tên
Trang 17
bao gồm: hệ thống phân cấp có cấu trúc, dễ đọc bởi con người, dựa trên các bộ ký
tự có sẵn, tính linh hoạt, và khả năng mở rộng. Căn cứ vào các cơng ước đặt tên, các
thuật tốn khác nhau được tạo ra nhằm tìm kiếm những cái tên có tính liên kết, tính
phân phối và khả năng xác nhận. Đặt tên (Naming) đó chính là nền tảng của ICN,
nó ảnh hưởng sâu sắc đến việc thiết kế và hiệu năng của các thành phần khác trong
hệ thống.
Hình 2.1: Mơ hình đặt tên Naming
Phân dải tên và định tuyến dữ liệu
Phân giải tên được hiểu là các thực thể mạng trong một ICN được đặt tên như thế
nào. Nó xác định cho bất kỳ các mảnh thông tin nào được đặt, dù thông tin ở gốc
của nguồn nội dung hay bất kỳ vị trí lưu trữ như thế nào. Nó cũng phải có khả năng
xử lý các thay đổi (xóa, bổ sung) của tên nội dung trong một ICN. Trong khi độ
phân giải tên thường hướng về nơi tìm thấy nội dung yêu cầu, định tuyến dữ liệu
mô tả cách dữ liệu được chuyển giao. Một trong những vấn đề chính là làm thế nào
với quy mơ bất kỳ ta đều có thể tính tốn phương pháp định tuyến với kích thước
của Internet ngày nay. Nhiều người đã đề nghị sử dụng các kỹ thuật định tuyến IP
Trang 18
vào ICNs cho sự đảm bảo về tính năng, trong khi những người khác có phương án
mới để tránh gặp phải những vấn đề còn tồn tại trong định tuyến IP.
Hình 2.2: Mơ hình phân dải tên và định tuyến dữ liệu
Hệ thống Caching
Trong hệ thống ICN, bộ nhớ đệm được xây dựng trước cả việc xử lý đặt tên và định
tuyến. Bộ nhớ đệm Caching cho phép phân phối hiệu quả nội dung trong một
ICN. Các vấn đề liên quan đến bộ nhớ đệm ví dụ như các cơ chế trùng lặp, chính
sách bộ nhớ đệm, quản lý khơng gian bộ nhớ cache, cũng như triển khai và cập nhật
liên tục thông tin của bộ nhớ đệm .
Trang 19
Hình 2.3: Mơ hình Caching
An ninh và bảo mật
Kiến trúc của Internet ngày nay được thiết kế dựa trên một môi trường đáng tin cậy,
và sử dụng các dịch vụ tiện ích tường lửa để đạt được mục tiêu an ninh. Ngược lại,
bảo mật được đưa ra như một chức năng cơ bản tối thiểu trong ICNs, nó bao gồm:
tính toàn vẹn dữ liệu, thực thể (nội dung và máy chủ) được xác thực và xác minh,
quản lý khóa mật mã, kiểm soát truy cập, vv
Trang 20
2.7 Tổng quan mạng CCN
2.7.1 Giới thiệu mạng CCN
Content-Centric Networking (CCN) là một phần của dự án lớn Name Data Network
(NDN) là một trong những dự án đặt tên cho nội dung dữ liệu (ICN).
2.7.2 Ưu điểm của CCN
CCNx là dự án mã nguồn mở. Dự án mã nguồn CCNx là một ứng dụng dựa trên
Linux có đầy đủ chức năng phù hợp với các giao thức CCN. Mã nguồn có sẵn cho
tất cả mọi người thơng qua trang web CCNx và nó được viết dựa trên ngơn ngữ phổ
biến: với lõi hệ thống thường trình được viết bằng C nhằm dễ dàng kiểm sốt và
quản lý để có được hiệu suất cao, với các chức năng mở rộng sử dụng các hàm API
được cung cấp trong Java.
CCNx là hữu ích theo 2 cách: thứ nhất là nó thực hiện tất cả các thành phần thiết
yếu của một hệ thống ICN thực tế theo cách dễ dàng tiếp cận. Bất kỳ thành phần
mới hoặc sửa đổi nào chúng ta có thể sử dụng các chức năng hiện có, nhằm giảm
thời gian phát triển của các dự án. Thứ hai CCNx có thể cung cấp cho chúng ta
những kiến thức về một hệ thống ICN trong thực tế mà các phương pháp tiếp cận
khác không thể đáp ứng.
CCNx được xây dựng trên nguyên mẫu
Ngoài việc thực hiện các giao thức cho chính CCN, CCNx và API của nó cũng
được ứng dụng phát triển bởi các nhà nghiên cứu khác. Một số ứng dụng point to
point như ( dự án Ccnchat ), Chia sẻ tập tin (dự án Ccnr), Video streaming (dự án
VLC plugin), thoại (dự án VoCCN), và giao thông tự động (dự án ccntraffic và
Ccndelphi). Những các ứng dụng có sẵn cho phép chúng ta có thể nhanh chóng
kiểm tra những thử nghiệm, và đánh giá nó dưới các tình huống sử dụng thực tế.
Tên nội dung tùy chọn mà con người có thể đọc được
Bên cạnh đó các mã CCNx, CCN cũng sở hữu một số tính năng hữu ích được xác
định trong giao thức của nó, một trong những đó là chương trình đặt tên. CCN sử
dụng các chuỗi phân cấp có chiều dài tùy ý, có thể nhìn thấy trong phần header của
Trang 21
gói tin. Tên nội dung đọc được bởi con người có thể hữu ích cho việc kiểm tra các
lỗi của dự án. Bằng cách bắt các gói tin, chúng ta có thể xem và phân tích các gói.
Hỗ trợ các thiết bị hiện có
Một đặc điểm của giao thức CCN là nó chạy trên lớp truyền tải (transport layer):
CCN sử dụng IP như hỗ trợ lớp vận tải của mình, và được đề xuất tạo một lớp phủ
IP. Sự lựa chọn của lớp phủ IP thay vì khơng sử dụng lớp phủ cho phép ta triển khai
trực tiếp trên các thiết bị Internet hiện tại, và cho phép cùng tồn tại của CCN và lưu
lượng IP thông thường. Chúng ta thấy thiết kế này là một tính năng tích cực vì nó
cho phép ta thiết kế nhanh trên các thiết bị mạng hiện có. CCNx khơng khóa dự án
của chúng ta trên các thiết bị dựa trên IP hiện có miễn là chúng tương thích với
nhau. Kết quả là việc transpot IP của CCNx giảm thiểu có thể do sự tương thích
giữa các dự án của chúng ta và các phần cứng SAVI.
2.7.3 Kiến trúc tổng quan của CCN
Phần này cung cấp một cái nhìn tổng quan ngắn gọn về Kiến trúc CCN. Chúng ta sẽ
tập trung vào các thành phần có liên quan đến dự án này, và do vậy sẽ không bao
gồm tất cả các chi tiết về giao thức CCN. Kiến trúc CCN và các chi tiết của giao
thức CCNx có thể được tìm thấy trên các trang web CCNx.
Hình 2.4: Cấu trúc chunk của CCN
CCN Chunk
Các giao thức CCN phân loại lưu lượng trong mạng CCN vào một trong hai loại:
Interest và Data ( như hình 3.1). Các đơn vị cơ bản của trao đổi thông tin trong
CCN được gọi là khối (chunk). Tương tự như một mạng IP, chunk trong một mạng
CCN có hai phần: phần đầu (header) và tải trọng (payload). Không giống như trong
Trang 22
IP các gói dữ liệu, các header của các khối CCN có độ dài thay đổi và do đó được
xác định một cách hợp lý.
Interest được tạo ra bởi người sử dụng. Interest chỉ chứa một tiêu đề header mà
không cần bất kỳ tải trọng nào. Nó bao gồm ba thành phần: Tên Nội dung sử dụng
để mô tả những gì người sử dụng quan tâm, một Selector lọc bổ sung nếu có nhiều
dữ liệu phù hợp với Interest hiện tại, và một Nonce để phân biệt với nội dung Tên
để tránh bị lặp lại. Độ dài của danh sách Content và Selector có thể được biết dựa
trên số lượng thông tin chúng chứa, trong khi nonce thường là một giá trị nhị phân
ngẫu nhiên tạo ra có độ dài cố định.
Dữ liệu được gửi ra bởi các nhà cung cấp nội dung để đáp ứng với bất kỳ Interest
nào. Một dữ liệu CCN gồm cả tiêu đề và tải trọng, và thường là lớn hơn nhiều so
với kích thước do việc bổ sung payload. Các tiêu đề dữ liệu bao gồm ba thành phần:
Tên Nội dung mô tả nội dung của tải trọng, một Chữ ký, và một thông tin chứa ID
nhà cung cấp nội dung số. Chữ ký và các thông tin của chữ ký làm việc với nhau để
cung cấp các tính năng bảo mật liên quan như xác thực và ủy quyền trong một mạng
CCN.
Theo giao thức CCN, một đoạn dữ liệu được cho là 'đáp ứng' nếu 1) Tên nội dung là
một tiền tố trong các dữ liệu và 2) các dữ liệu đi qua được xác định bởi các Selector
trong Interest.
Trao đổi thông tin về CCN
Trao đổi thông tin trên mạng CCN được tạo ra bởi bất kỳ người sử dụng nội dung
nào gửi yêu cầu tới nút lân cận và khi đó sẽ có một dữ liệu được trả về. Nút bất kỳ
sẽ nhận được một Interest nhưng sẽ không giữ một bản sao của dữ liệu nhưng giữ
một bản sao của Interest và chuyển Interest cho node có thể tìm thấy dữ liệu. Khi
một Interest chuyển đến một node với các dữ liệu theo yêu cầu, cho dù đó là một
nút định tuyến hoặc các nhà cung cấp nội dung, Interest được sử dụng, và các dữ
liệu được yêu cầu được gửi trả lại cho người tiêu dùng nội dung thông qua các
tuyến đường tương tự như Interest nhưng theo thứ tự ngược lại. Đây là có thể bởi vì
mỗi nút đi qua của các Interest sẽ giữ lại một bản sao. Tất cả cấp phát Interest được
Trang 23
sử dụng cũng như khi các dữ liệu đi ngang qua node mạng đến người sử dụng nội
dung.
Packet Aggregation trong CCNx
Trong luận án này, sử dụng các chunk để tham chiếu tới các đơn vị cơ bản của CCN
vì CCN chunk thường khơng được định tuyến như một gói tin IP trực tiếp. Điều này
là bởi vì kích thước lớn của một header chunk CCN là tương đối so với các đơn vị
truyền tối đa 1500 byte (MTU) của một Ethernet khơng jumbo frame. Một header
CCN thường có giá trị chạy trong khoảng 50-1000 octet, khi đó khơng gian sẽ bị
thu hẹp để chứa tải trọng của nội dung nếu mỗi gói IP khi đó đã chứa đầy các
header. Để tránh tràn header, một chunk CCN ẩn sẽ được được gửi đến cùng một
đích, và gói gọn CCN chunks thành các gói IP với phân khúc cần thiết. Phân cấp
vận tải đó (phân đoạn CCN để đóng gói IP) xảy ra sự phân đoạn nội dung.
Trong việc thực hiện CCNx, tập hợp các mẫu CCN của các gói tin IP được xử lý tự
động. Thư viện GNU C và Linux stack: các ứng dụng xây dựng CCN chunk (có thể
là trunk hoặc data) và đẩy họ thông qua sockets, mà thực hiện phân đoạn cần thiết
và đóng gói trong suốt đối với các ứng dụng.
Đặt tên
Như đã đề cập trong phần trước, CCN kết hợp một chương trình đặt tên phân cấp
với tùy ý mà con người có thể đọc được. Điển hình là một tên CCN được định nghĩa
một cấu trúc cây giống như các URL được sử dụng trong Internet ngày nay. Nút gốc
của cấu trúc cây là một tên duy nhất có thể sử dung cho định tuyến toàn cầu, mà là
một tên nội dung hiểu bởi tất cả các nút CCN có liên quan. Các “lá cây” được gọi là
tên tổ chức, mà chỉ giải quyết bằng nút CCN trong tổ chức. Các tên cây có gốc cây
khác nhau hợp tác với nhau cùng mô tả name space có chứa tất cả các tên nội dung
có thể.
Chuỗi mô tả nội dung cần đặt đúng theo chuẩn bảng mã quốc tế (ASCII), một tên
CCN cần thêm vào hậu tố như số phiên bản và số hiệu phân đoạn của dữ liệu.
Thường một nhị phân (non-ASCII) là một phần của tên thường được tự động tạo ra
Trang 24