i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết
quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công
trình nào khác.
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc.
Học viên thực hiện Luận văn
(Ký và ghi rõ họ tên)
Lê Trường Thành
ii
LỜI CẢM ƠN
Trong suốt quá trình học tập và quá trình thực hiện đề tài, tôi đã được chỉ dẫn
và học hỏi được rất nhiều kiến thức quý báu cũng như những kinh nghiệm về nghiên
cứu khoa học từ các thầy cô, anh chị, bạn bè đồng nghiệp.
Trước hết, tôi xin gửi lời cảm ơn sâu sắc đến thầy TS. Lê Tuấn Anh, giảng
viên trường đại học Công Nghệ TP HCM-HUTECH, thầy đã tận tình hướng dẫn, giúp
đỡ tôi trong suốt quá trình thực hiện luận văn.
Tôi cũng xin cảm ơn quý thầy cô của trường đại học Công Nghệ TP.HCM đã
tận tình giảng dạy, trang bị cho tôi những kiến thức quí giá trong những năm học vừa
qua.
Sau cùng, tôi xin chân thành cảm ơn gia đình, các anh chị, bạn bè và đồng
nghiệp đã ủng hộ, giúp đỡ và động viên tôi trong suốt quá trình học tập và thực hiện
luận văn này.
TPHCM, ngày 28 tháng 07 năm 2016
Lê Trường Thành
iii
TÓM TẮT
Trong đề tài này tôi sẽ trình bày cách thức đánh giá về hiệu năng của Content
Centric Networking trong môi trường mạng không dây. Đưa ra những thống số trên
đường truyền khi sử dụng giao thức TCP, rồi so sánh tốc độ chúng với nhau. Và đưa ra
cách thức đánh giá tốc độ truyền tải dữ liệu, số lượng gói tin bị mất khi truyền file sử
dụng giao thức TCP và giao thức CCN trong môi trường mạng không dây.
iv
ABSTRACT
In this thesis I will show how to assess the performance of Content Centric
Networking in wireless network environments. Given the number on the transmission
network using TCP, and then compare them with each speed. And showing the ways
of estimating transfer speeds data, the number of lost packets when using file transfer
protocol TCP and CCN for wireless network environment.
v
MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
TÓM TẮT ................................................................................................................. iii
ABSTRACT .............................................................................................................. iv
DANH MỤC CÁC TỪ VIẾT TẮT ......................................................................... vii
DANH MỤC CÁC HÌNH ẢNH ............................................................................. viii
Chương 1. TỔNG QUAN ............................................................................................1
1.1 Tổng quan vấn đề cần nghiên cứu ....................................................................1
1.2 Lý do chọn đề tài ..............................................................................................1
1.3 Các công trình nghiên cứu liên quan ................................................................2
1.4 Kết luận chương 1 ............................................................................................3
Chương 2. CƠ SỞ LÝ THUYẾT ................................................................................4
2.1 Giới thiệu mạng CCN.......................................................................................4
2.1.1 Sự ra đời của mạng CCN ........................................................................... 4
2.1.2 Các gói tin CCN ........................................................................................ 5
2.1.3 Tên dữ liệu trong CCN .............................................................................. 6
2.2 Mô hình hoạt động của mạng CCN..................................................................8
2.2.1 Mô hình 1 node CCN................................................................................. 8
2.2.2 Định truyến trong mạng CCN ................................................................. 11
2.2.3 Lớp vận chuyển ....................................................................................... 14
2.2.4 Bảo mật nội dung ..................................................................................... 17
2.2.5 Mô hình hoạt động của mạng CCN ......................................................... 22
2.3 Kết luận chương 2 ..........................................................................................25
Chương 3. CONTENT CENTRIC NETWORKING TRONG MÔI TRƯỜNG
KHÔNG DÂY ...........................................................................................................26
2.4 Vấn đề CCN trong mạng không dây ..............................................................26
2.5 Content-centric wireless networking..............................................................26
2.5.1 Các tính năng chính của các mạng không dây ad-hoc............................. 26
2.5.2 Lợi thế của CCN trong môi trường không dây........................................ 29
2.5.3 Tên trong CCN ........................................................................................ 31
vi
2.5.4 Caching .................................................................................................... 32
2.5.5 Bảo mật .................................................................................................... 34
2.5.6 Vận tải ...................................................................................................... 36
2.5.7 Công cụ đánh giá ..................................................................................... 38
2.6 Kết luận chương 3 ..........................................................................................39
Chương 4. TRIỂN KHAI THỰC NGHIỆM VÀ ĐÁNH GIÁ .................................40
2.7 Mô hình cài đặt thực nghiệm..........................................................................40
2.7.1 Giới thiệu về CCNx ................................................................................. 40
2.7.2 Mô hình cài đặt thực nghiệm ................................................................... 41
2.8 Thực nghiệm kết nối CCN trong môi trường không dây trên máy tính laptop:
43
2.9 Thực nghiệm giao thức CCN trên máy tính laptop ........................................45
2.10 Kịch bản thực nghiệm ....................................................................................46
2.10.1Kịch bản thực nghiệm 1........................................................................... 46
2.10.2Kịch bản thực nghiệm 2........................................................................... 49
2.10.3Kịch bản thực nghiệm 3........................................................................... 52
2.10.4Kịch bản thực nghiệm 4........................................................................... 55
2.11 Kết luận chương 4 ..........................................................................................58
vii
DANH MỤC CÁC TỪ VIẾT TẮT
Viết tắt
Tiếng Anh
Tiếng Việt
CCN
Content Centric Networking
Mạng trung tâm nội dung
PARC
Palo Alto Research Center
Trung tâm nghiên cứu Palo
Alto
Transmission Control
TCP/IP
Bộ các giao thức truyền thông
Protocol/Internet Protocol
IP
Internet protocol
Giao thức Liên mạng
FIB
Forwading Information Base
Chuyển tiếp thông tin cơ sở
PIT
Pending Interest Table
Bảng chờ yêu cầu
CS
Content Store
Lưu trữ nội dung
CDN
content delivery network
Mạng phân phối nội dung
MRU
Most Recently Used
Thuật toán Hầu hết được sử
dụng gần nhất
LRU
Least Recently Used
Thuật toán loại bỏ các mục
gần nhất được sử dụng
LFU
Least-Frequently Used
Thuật toán thường xuyên sử
dụng nhất
Intermediate System to
IS-IS
Intermediate System
Hệ Trung cấp đến Trung cấp
hệ thống
ISP
Internet Service Provide
Nhà cung cấp dịch vụ
Interest
AS
Autonomous System
Mạng có cùng chính sách
định tuyến
BGP
Border Gateway Protocol
Giao thức tìm đường nòng cốt
NDN
Name Data Networking
Mạng tên dữ liệu
ICN
Information Centric Network
Mạng thông tin trung tâm
TLV
Type Label Value
Loại giá trị nhãn
viii
DANH MỤC CÁC HÌNH ẢNH
HÌNH 2.1 SO SÁNH CÁC LỚP GIAO THỨC CỦA IP VÀ CCN ............................4
HÌNH 2.2 GÓI TIN CCN ............................................................................................5
HÌNH 2.3 XỬ LÝ CÁC GÓI TIN INTEREST/DATA VÀ CHUYỂN TIẾP HOẠT
ĐỘNG TRONG CCN .........................................................................................6
HÌNH 2.4 CƠ CHẾ PHÂN CẤP NỘI DUNG TRONG MẠNG CCN ......................7
HÌNH 2.5 VÍ DỤ TÊN CCN .......................................................................................8
HÌNH 2.6 CÁC THÀNH PHẦN CỦA 1 NODE TRONG MẠNG CCN ...................9
HÌNH 2.7 CẤU TRÚC CS ........................................................................................10
HÌNH 2.8 CẤU TRÚC BẢNG PIT ..........................................................................11
HÌNH 2.9 CẤU TRÚC BẢNG FIB TRONG CCN ..................................................11
HÌNH 2.10 VÍ DỤ ĐỊNH TUYẾN ...........................................................................12
HÌNH 2.11 THIẾT LẬP ĐỘ TIN CẬY GẮN KHÔNG GIAN TÊN VỚI KHÓA
CỦA NHÀ CUNG CẤP....................................................................................20
HÌNH 2.12 LƯỢC ĐỒ CHUYỂN TIẾP GÓI CCN .................................................23
HÌNH 3.1 ĐIỂM ĐẶC TRƯNG CỦA MẠNG KHÔNG DÂY AD-HOC...............28
HÌNH 3.2 NHỮNG LĨNH VỰC LIÊN QUAN CÙNG VỚI NHỮNG LỢI ÍCH
CỦA CCN .........................................................................................................31
HÌNH 4.1 MÔ HÌNH CCN TRONG MẠNG KHÔNG DÂY ..................................41
HÌNH 4.2 THIẾT BỊ THỰC NGHIỆM ....................................................................42
HÌNH 4.3 DANH SÁCH VÀ CẤU HÌNH THIẾT BỊ THỰC NGHIỆM ................42
HÌNH 4.4 CẤU HÌNH IP CHO SERVER ................................................................43
HÌNH 4.5 CHỈ THƯ MỤC CHỨA REPOSITORY .................................................43
HÌNH 4.6 KHỞI ĐỘNG DỊCH VỤ..........................................................................44
HÌNH 4.7 KHỞI CHẠY REPOSITORY ..................................................................44
HÌNH 4.8 TẢI TẬP TIN LÊN REPOSITORY ........................................................44
HÌNH 4.9 ĐỊNH TUYẾN GÓI TIN .........................................................................45
HÌNH 4.10 TẢI TẬP TIN TỪ SERVER VỀ............................................................45
HÌNH 4.11 BIỂU ĐỒ TRUYỀN FILE BẰNG GIAO THỨC CCN ........................45
ix
HINH 4.12 BIỂU DỒ TRUYỀN FILE BẰNG GIAO THỨC TCP/IP ....................46
HÌNH 4.13 KỊCH BẢN THỰC NGHIỆM MỘT .....................................................47
HÌNH 4.14 TÍN HIỆU SÓNG MỘT .........................................................................47
HÌNH 4.15 SO SÁNH THÔNG LƯỢNG HAI GIAO THỨC TCP VÀ CCN TRÊN
THỰC NGHIỆM MỘT .....................................................................................48
HÌNH 4.16 ĐỘ SAI SỐ CỦA HAI GIAO THỨC TRÊN THỰC NGHIỆM MỘT .48
HÌNH 4.17 GÓI RỚT TRÊN THỰC NGHIỆM MỘT .............................................49
HÌNH 4.18 KỊCH BẢN THỰC NGHIỆM 2 ............................................................49
HÌNH 4.19 TÍN HIỆU SÓNG 2 ................................................................................50
HÌNH 4.20 SO SÁNH THÔNG LƯỢNG HAI GIAO THỨC TCP VÀ CCN TRÊN
THỰC NGHIỆM HAI.......................................................................................50
HÌNH 4.21 ĐỘ SAI SỐ CỦA HAI GIAO THỨC TRÊN THỰC NGHIỆM HAI ...51
HÌNH 4.22 GÓI RỚT TRÊN THỰC NGHIỆM HAI ...............................................51
HÌNH 4.23 HÌNH THỰC NGHIỆM BA ..................................................................52
HINH 4.24 TÍN HIỆU SÓNG 3 ................................................................................53
HÌNH 4.25 SO SÁNH THÔNG LƯỢNG HAI GIAO THỨC TCP VÀ CCN TRÊN
THỰC NGHIỆM BA ........................................................................................53
HÌNH 4.26 ĐỘ SAI SỐ CỦA HAI GIAO THỨC TRÊN THỰC NGHIỆM BA ....54
HÌNH 4.27 GÓI RỚT TRÊN THỰC NGHIỆM BA ................................................54
HÌNH 4.28 MÔ HÌNH THỰC NGHIỆM 4 ..............................................................55
HÌNH 4.29 MÔ HÌNH THỰC TẾ ............................................................................56
HÌNH 4.30 SO SÁNH THÔNG LƯỢNG HAI GIAO THỨC TCP VÀ CCN TRÊN
TÁM MÁY........................................................................................................56
HÌNH 4.31 SO SÁNH ĐỘ SAI SỐ CỦA HAI GIAO THỨC TRÊN HỆ THỐNG
TÁM MÁY........................................................................................................57
HÌNH 4.32 GÓI RỚT TRONG CẢ 2 GIAO THỨC KHI SỬ DỤNG TRÊN CÙNG
HỆ THỐNG TÁM MÁY ..................................................................................57
1
Chương 1.
TỔNG QUAN
1.1 Tổng quan vấn đề cần nghiên cứu
CCN(Content Centric Networking)[1] hay còn gọi CCNx, là một dự án mã
nguồn mở được công bố lần đầu vào năm 2009 bởi PARC ( Palo Alto
Research Center). Bài báo đầu tiên đánh dấu sự ra đời là “Networking Named
Content” [2] của Van Jacobson và cộng sự của ông . Bài báo đã đưa ra giao thức
mới là CCNx và mô tả cụ thể cách thức hoạt động của giao thức này.
CCN dịch chuyển mô hình Internet hiện tại từ kết nối điểm - điểm mạng IP sang
mạng trung tâm phổ biến. CCN giải quyết một vài vấn đề trong mạng Internet hiện
tại như nghẽn mạng, truyền tải nội dung và bảo mật…Mạng CCN là truy nhập nội
dung bằng tên. Tất cả nội dung được xác định, gán địa chỉ và nhận được dựa vào
tên thay vì vị trí vật lý. Một người dùng yêu cầu một nội dung bằng cách gửi đi một
gói Interest đến mạng. Gói Interest này được tìm kiếm thông qua các bộ định tuyến
CCN và dữ liệu được tìm thấy Data sẽ được trả về phía người dùng gửi yêu cầu.
Tuy nhiên các nút mạng này có thể lưu trữ gói Data để phục vụ cho các yêu cầu trong
tương lai.
Đề tài này tôi sẽ tiến hành nghiên cứu giao thức CCNx, thực hiện đo lường
và đánh giá tốc độ vận chuyển của CCNx qua giao thức TCP, từ đó đưa ra đánh giá
cụ thể đặc biệt là sự hỗ trợ của nó trên hệ thống mạng không dây.
1.2 Lý do chọn đề tài
Ngày nay, công nghệ thông tin đóng một vai trò quan trọng trong việc phát triển
của xã hội, của thời đại. Cùng với đó, lĩnh vực về mạng máy tính cũng đã và đang
phát triển nhanh chóng và mạnh mẽ, số lượng người sử dụng Internet để truy cập
các tài nguyên trên mạng như các trang web, dịch vụ âm thanh, hình ảnh,
video….ngày một tăng lên.
Chính vì vậy, vấn đề này đặt ra nhiều thách thức cho việc đáp ứng yêu cầu truyền
dữ liệu trên mạng như: băng thông lớn, tốc độ bit cao, có độ trễ thấp; người dùng
2
truy cập đến một máy chủ ở cách rất xa vị trí địa lý hiện tại của họ mà vẫn đảm bảo
độ tin cậy, tính bảo mật dữ liệu.
Giao thức TCP/IP được ra đời từ những năm cuối thế kỉ XX (năm 1970), nhưng
vẫn là giao thức truyền tải chủ yếu cho mạng máy tính ngày nay. Tuy nhiên, với nhu
cầu đòi hỏi ngày càng cao của người sử dụng và sự phát triển mạnh mẽ của các nhà
cung cấp dịch vụ thì giao thức này đang bộc lộ nhiều hạn chế. Việc cải tiến TCP/IP
là một yêu cầu cấp thiết, chính vì vậy nhiều giao thức mới đã và đang được đề xuất
và nghiên cứu. Trong số đó, giao thức CCN hay còn gọi là CCNx đang là xu hướng
khá phổ biến.
Mặt khác, xu hướng mạng hiện nay là đẩy nhanh việc hội tụ các dịch vụ viễn
thông và công nghệ thông tin. Đi đầu trong xu hướng này là công nghệ di động,
công nghệ này giúp ích cho các ứng dụng thiết thực và ngày càng phát triển mạnh
mẽ. Các thiết bị di động thông minh như máy tính bảng, điện thoại thông minh… với
sự đa dạng về tính năng với giá thành hợp lý nên đã được đại đa số người dùng lựa
chọn.
CCN là một giao thức mới và được đánh giá là giao thức mạng của tương lai, tuy
nhiên cần phải đi vào nghiên cứu để kiểm chứng và đánh giá nó một cách cụ thể, đặc
biệt là sự hỗ trợ của nó với tính di động. Chính vì vậy tôi đã chọn đề tài “Nghiên
cứu hiệu năng của Content Centric Networking – CCN trong môi trường không dây”.
1.3 Các công trình nghiên cứu liên quan
Hiện nay chưa có công trình nào ở trong nước liên quan đến đánh giá hiệu năng
cho mạng Content Centric Networking.
Còn ở nước ngoài đã có 1 số bài báo nghiên cứu về việc trải nghiệm nội dung
trên mạng CCN nhưng chưa có bài nào thật sự nghiên cứu về hiệu năng của CCN.
Bài báo “ Content-centric wireless networking: A survey” [3] của đại học
Reggio Calabria Italy năm 2014 trên tạp chí sciencedirect.com có đề cập đến giao
thức CCN có đề cập đến vấn đề sử dụng trong môi trường không dây nhưng chưa đưa
ra tính hiệu quả của CCN trong môi trường không dây.
3
1.4 Kết luận chương 1
Chương này đã chỉ ra những vấn đề của mạng internet hiện tại, để internet phát
triển bền vững thì nhu cầu cần thiết là phải có một mô hình mạng mới thay thế hoặc
giải quyết được những vấn đề của mô hình host-đến-host, đó là vấn đề về tính sẵn
sàng, bảo mật và giảm sự phụ thuộc vị trí của người dùng và nhà cung cấp. Đồng thời
đã tiến hành khảo sát các công trình đã đăng tải liên quan đến đề tài luận văn, nêu
những vấn đề còn tồn tại, chỉ ra những vấn đề mà đề tài luận văn quan tâm.
4
Chương 2.
CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu mạng CCN
2.1.1 Sự ra đời của mạng CCN
Internet ra đời và phát triển ngày càng mạnh mẽ, đã trở thành kết nối phổ biến
khắp thế giới. Việc sử dụng giao thức IP trong Internet giúp cho giao tiếp giữa những
người ở xa, chia sẻ tài nguyên, điều kiển từ xa,… trở thành những việc không mấy
khó khăn trong xã hội ngày nay. Khi truy cập vào Internet mọi người thường quan
tâm “ nội dung nó có gì” và nó sẽ “về đâu”. Tuy nhiên, các nguyên tắc và kiến trúc
của Internet đã và đang sử dụng, được tạo ra từ gần 50 năm trước. Chính vì vậy
việc sử dụng giao thức IP đã có một số vấn đề gây ảnh hưởng đến người sử dụng,
phát sinh từ sự không tương thích của mô hình này, đó là:
Tính sẵn sàng: Truy cập vào nội dung khó khăn, hoặc là cơ chế sử dụng CDN,
mạng P2P hoặc là phải trả một chi phí cao để tăng băng thông.
Tính bảo mật: Nội dung dễ bị thất lạc, vị trí và thông tin kết nối không đáng tin
cậy.
Phụ thuộc vị trí: Bản đồ đường đi từ nội dung đến vị trí đích có cấu hình cũng
như việc thực hiện các dịch vụ mạng phức tạp
Hinh 2.1 So sánh các lớp giao thức của IP và CCN
5
Trong hình 2.1 so sánh các lớp giao thức của IP và CCN, trong đó CCN đã thay
thế các gói IP bằng các đoạn nội dung, mỗi đoạn như vậy gọi là 1 chunk, nó được
đặt trên để định tuyến trên mạng. CCN giúp giảm sự phụ thuộc vào lớp 2, nó có thể
hỗ trợ các kết nối mạng đồng thời như ethernet, wifi, 3G từ đó giúp chọn lựa kết nối
tối ưu tùy vào điều kiện môi trường. CCN tập trung vào bảo mật nội dung của nó hơn
là bảo mật cho kết nối mà nó đi qua do đó tránh được các lỗ hổng có thể bị tấn công
dựa vào địa chỉ IP.
2.1.2 Các gói tin CCN
Giao tiếp của CCN dựa trên việc sử dụng dữ liệu, có 2 loại gói tin là Interest và
Data như hình 2.2. Trong đó gói Interest dùng để gửi yêu cầu, gói Data phản hồi lại
gói Interest. Người sử dụng gửi yêu cầu nội dung bằng cách gửi broadcast gói
Interest lên các giao tiếp mạng hiện có. Bất kỳ node nào nhận được gói này và có
dữ liệu yêu cầu thì phản hồi lại cho gói Interest đó bằng gói Data, gói Data
chỉ phản hồi duy nhất cho gói Interest. Cả 2 gói này đều trao đổi dữ liệu dựa trên
tên, các node khác nhau cùng quan tâm đến 1 nội dung có thể chia sẻ đường
truyền thông qua cơ chế multicast tiêu chuẩn.
Hinh 2.2 Gói tin CCN
Data thỏa mãn Interest nếu tên nội dung trong gói Interest là 1 tiền tố của tên nội
dung trong gói Data.
6
Như vậy các gói Interest và Data là một – cho – một và duy trì một trạng thái
cân bằng lưu lượng. Sự cân bằng này giống như cân bằng giữa các gói Data và Ack
trong giao thức TCP cho nên có khả năng mở rộng và thích ứng cao. Tuy nhiên không
giống như TCP, mô hình CCN hoạt động theo cơ chế chuyển giao nhiều điểm.
c
Hinh 2.3 Xử lý các gói tin Interest/Data và chuyển tiếp hoạt động trong CCN
2.1.3 Tên dữ liệu trong CCN
Tên dữ liệu trong mạng CCN được đặt theo cơ chế phân cấp có thứ bậc và
được cấu thành từ nhiều thành phần được quy định rõ ràng, IP cũng sử dung quy tắc
phân cấp tương tự để phân giải địa chỉ mạng hay là host, đây là 1 cơ chế linh hoạt,
vừa giúp cho việc định tuyến thuận lợi và cũng cho phép tìm kiếm nhanh.
Các thành phần của hai gói Interest và Data như trong Hình 2.2. Dữ liệu đáp
ứng một yêu cầu nếu ContentName trong gói Interest là một tiền tố của ContentName
trong gói Data. ContentName là tên trong CCN, là tên ảo, được biểu diễn dưới dạng
nhị phân, được hợp thành từ các thành phần theo quy định rõ ràng
Tên có chiều dài không cố định, trông giống như một đường dẫn đến file hệ thống
và nó được đặt theo quy tắc: đầu tiên là thông tin định tuyến, tiếp theo là tên tổ chức,
7
tên file dữ liệu, số thứ tự phiên bản rồi các đoạn nội dung, mỗi thành phần cách
nhau bởi dấu / như ví dụ: /uni.lu/video/intro.avi/_v2/_s0, điều này giúp cho việc tìm
kiếm một cách nhanh và hiệu quả nhất.
Hinh 2.4 Cơ chế phân cấp nội dung trong mạng CCN
Các tên trong CCN linh hoạt giúp hỗ trợ tính thông suốt trong lưu trữ, trong
việc kết hợp giữa tĩnh và động để khởi tạo nội dung, giống như web thông thường
ngày nay. Các tiền tố tên cũng độc lập với ngữ cảnh,có thể phụ thuộc vào nội dung
đăng tải thuộc thể loại gì, tùy theo từng trường hợp mà nhà cung cấp có thể khai
báo các tên khác nhau. Ví dụ như:
8
Hinh 2.5 Ví dụ tên CCN
Tên CCN được chia thành các thành phần, phần Tên định tuyến là phần tên
được lấy theo tên website được dùng để tải nội dung lên. Có quy tắc đặt tên cho
các nội dung trong các nguồn dữ liệu để tận dụng khả năng phục hồi của các gói
Interest và ứng dụng có thể tìm dữ liệu thông qua cây tên phân cấp (Hình 2.3). Tên
của các website giao dịch trên Internet là duy nhất. Do đó dùng nó làm tên định tuyến.
Phần tên tổ chức dùng để phân loại, sắp xếp nội dung đúng trật tự. Như trên ví dụ
là loại video với tên file là ‘WidgetA’ và phần mở rộng ‘.mpg’, nên được xếp vào
(videos/Widget.mpg). Phần cuối cùng là phần phiên bản hoặc phân đoạn, phần này
có thể là tự động hoặc là đánh số bằng tay. Số phiên bản được thêm vào file trùng
tên /parc.com/videos/Widget.mpg để thể hiện tải lên lần thứ mấy, điều đó tạo ra sự
khác biệt và tên được tạo ra là duy nhất. Số phân đoạn, nó chỉ xảy ra khi file tải lên
có kích thước lớn hơn quy định thì gói Data sẽ được chia nhỏ ra thành các Octet, số
phân đoạn được đánh số cụ thể.
2.2 Mô hình hoạt động của mạng CCN
2.2.1 Mô hình 1 node CCN
Mỗi một node trong mạng CCN bao gồm các giao diện và 3 bảng chứa: Kho
nội dung, Bảng chờ Interest, Bảng chuyển tiếp Interest. Một nút trong CCN bao gồm
FIB, CS và PIT được thể hiện trong Hình 2.6.
9
Hinh 2.6 Các thành phần của 1 node trong mạng CCN
Trong đó:
-
Content Store: CS là nơi lưu trữ nội dung, nó tương tự như bộ nhớ đệm của
một bộ định tuyến IP nhưng khác nhau về cơ chế thay thế. Với giao thức IP,
mỗi gói Packet giao tiếp theo điểm tới điểm cho gói Packet sẽ không còn giá
trị trên mạng khi mà dữ liệu yêu cầu được đưa tới đích. Tức là gói Packet sẽ
bị xóa đi để giải phóng bộ nhớ đệm ngay lập tức khi quá trình chuyển tiếp
hoàn thành (thay thế MRU). Còn CS trong CCN thì không thay đổi giá trị, tự
xác định và nhận diện vì mỗi gói Data sẽ là tiềm năng hữu ích cho nhiều
người dùng khác nhau. Ví dụ, có nhiều người cùng truy cập vào một nội
dung video trên Youtube hay một tạp chí điện tử. Để tối đa hóa khả năng chia
10
sẻ, yêu cầu băng thông tối thiểu và giảm độ trễ thì CCN lưu lại Data lâu nhất
có thể trong CS (thay thế LRU hoặc LFU). Cấu trúc của CS như hình.
Hinh 2.7 Cấu trúc CS
Bộ nhớ CS là một trong những chức năng cốt lõi trong CCN về hiệu suất
phân bổ của các nội dung. Nội dung được lưu trữ trong CS trong một
khoảng thời gian nhất định được gọi là TTL và CS không bị tràn. TTL của
một dữ liệu được thiết lập bởi ứng dụng, và được gán một cách cẩn thận.
-
Pending Interest Table: Trong bảng PIT gồm có tiền tố là tên, giao diện của
gói Interest như Hình 2.8. PIT giữ lại Interest đã được chuyển lên nguồn
có chứa nội dung để khi trả lại gói Data sẽ về được tới đích là người
yêu cầu nội dung. Trong CCN, chỉ có gói Interest là được định tuyến
và vì chúng được truyền về phía nguồn chứa nội dung tiềm năng và chúng
được giữ lại một phần để so khớp với gói Data được trả về phía người yêu
cầu. Mỗi mục trong PIT là một phần nhỏ của gói Interest. Các mục của PIT
sẽ được xóa ngay khi chuyển tiếp gói Data so khớp về cho người yêu cầu.
Các mục PIT không có gói Data so khớp phù hợp thì sau một khoảng thời
gian tối đa chờ đợi thì sẽ bị xóa khỏi khi người dùng kết thúc yêu cầu, ngược
lại nó sẽ chờ tiếp nếu vẫn tiếp tục yêu cầu, đây còn gọi là trạng thái mềm.
11
Hinh 2.8 Cấu trúc bảng PIT
-
Forwarding Interest Base: Bảng FIB gồm tiền tố và giao diện face. Được dùng
để chuyển tiếp các gói Interest đến các nguồn có tiềm năng để so khớp dữ
liệu. Nó cho phép chuyển tiếp đến nhiều giao diện cùng lúc nên không bị hạn
chế trên cây mở rộng spanning tree, đồng thời cho phép các nguồn dữ liệu có
thể được truy vấn song song.
Hinh 2.9 Cấu trúc bảng FIB trong CCN
2.2.2 Định truyến trong mạng CCN
Ngày nay có nhiều giải pháp hiệu quả cho vấn đề định tuyến, bất kì mô hình
nào làm việc tốt với mô hình IP thì cũng sẽ làm việc tốt với mô hình CCN, bởi nó
chuyển tiếp, ít hạn chế hơn (không hạn chế nguồn dữ liệu, nhiều đích, không lặp lại)
nhưng ý nghĩa định tuyến giống mô hình IP. Mỗi một bộ định tuyến CCN có thể
truyền một nhu cầu theo kiểu Hop – by – Hop. Nếu một gói Interest chuyển tới mà
12
dữ liệu đã được sao chép trong bộ nhớ đệm thì nó có thể gửi phản hồi ngay
lập tức.Ngược lại sẽ truyền đi tới bộ định tuyến phía nguồn dữ liệu có tiền tố phù
hợp dự trên bảng FIB và duy trì yêu cầu trong bảng PIT để định hướng theo
tuyến ngược lại. CCN có giao thức định tuyến thông minh, giao thức định tuyến tương
tự mô hình Flooding hướng thông tin theo hướng dẫn khuếch tán vì chúng hoạt động
trong giai đoạn trước cấu trúc liên kết mạng nơi mà tính chất đồng đều và vị trí chưa
được biết đến.
Hinh 2.10 ví dụ định tuyến
2.2.2.1. Định tuyến trạng thái liên kết nội bộ miền
Giao thức định tuyến nội bộ miền cung cấp phương tiện để các nút tìm kiếm,mô
tả kết nối khu vực bênh cạnh và kết nối trực tiếp tới nguồn dữ liệu. Có hai chức
năng, thứ nhất trực giao là các kết nối trong lược đồ, còn chức năng thứ hai
là những gì có sẵn tại các nút cụ thể trong đồ thị. Hai chức năng này thường được
thực thi tại các miền thông tin khác nhau. Chuyển tiếp trong IP và CCN gần như
giống hệt nhau. Cả hai đều sử dụng cách tìm kiếm, so khớp dựa trên tiền tố để tìm
láng giềng, khu vực gần kề phù hợp. Hai bảng FIB của IP và CCN là tương đương
cho nên FIB trong IP dễ dàng thích nghi để khởi tạo FIB trong CCN.
Các tiền tố trong CCN thì rất khác với các tiền tố trong IP. Tuy nhiên cả ISIS
và OSPF đều có thể kết nối trực tiếp tới tài nguyên thông qua TLV phù hợp với quá
13
trình phân phối nội dung các tiền tố CCN. Do đó, các bộ định tuyến nội dung, quá
trình thực thi mô hình chuyển tiếp CCN có thể kết hợp với mạng IS-IS, OSPF đang
tồn tại mà không cần điều chỉnh mạng hoặc định tuyến của chúng. Các bộ định tuyến
nội dung tìm hiểu Topo mạng vật lý và thông báo vị trí của chúng trong cấu trúc liên
kết đó thông qua các giao thức kề và các tiền tố Flooting của chúng trong tiền tố
thông báo bằng cách sử dụng một CCN TLV.
Hình 2.10 thể hiện một ví dụ về định tuyến, nếu có một người dùng tại E yêu
cầu dữ liệu với tiến tố là ‘/parc.com/media/art’ thì một mục mới được thiết lập trong
bảng FIB của khu vực mà nghe được thông báo. Như hình 2.10 thì A, B đều có chứa
tiền tố ‘/parc.com/media/art’, riêng lớp B còn chứa thêm ‘/parc.com/media’, do ta
có bảng tại E như hình 2.10. Do đó yêu cầu của E sẽ được gửi tới A, B, với yêu cầu
file dữ liệu cụ thể thì A, B sẽ cùng tìm kiếm và so khớp để đáp ứng đúng yêu cầu.
Và dữ liệu được tìm thấy ở vị trí ngắn nhất sẽ được chuyển đi do trong CCN tự
động xây dựng mô hình mạng tối ưu cho cả băng thông và độ trễ.
Nếu có nhiều thông báo mà tiền tố giống nhau, IP thì sẽ gửi tất cả dữ liệu phù
hợp chính xác cho một trong những yêu cầu. Còn trong CCN thì tất cả các nút phù
hợp với Interest sẽ gửi cho tất cả các yêu cầu. Điều này xuất phát từ một sự khác
biệt: với tiền tố IP thông báo tới các bộ định hướng rằng ‘tất cả các Host với tiền
tố này được tìm thấy bởi tôi.’, thông báo tương tự từ CCN là “một vài nội dung với
tiền tố này có thể được tìm thấy bởi tôi”. Việc khác biệt về ngữ nghĩa không
làm thay đổi IGP mà là thay đổi quá trình thực thi, không phải thay đổi giao thức .
2.2.2.2. Định tuyến liên miền
Một ISP bắt đầu sử dụng CCN để triển khai định tuyến nội dung để giảm chi phí
ngang hàng, chỉ cần một bản sao nội dung có có thể cung cấp cho nhiều người dùng
cần nó, giảm độ trễ trung bình. Vì vậy có một cạnh định hướng, cơ chế
khuyến khích từ dưới lên phát triển trong CCN.
Vấn đề trọng tâm với loại hình triển khai từ dưới lên này là để thu hẹp
khoảng cách giữa các tên miền mà có các bộ định tuyến nội dung nhưng được ngăn
14
chia bởi ISP không hoạt động. Ví dụ, một bộ định tuyến tại “parc.com” muốn nhận
nội dung từ tiền tố “mit.edu” và không có định tuyến nội dung giữa PARC và MIT.
Sử dụng tiền tố tìm DNS tra cứu để định vị các địa chỉ IP của các Server nội dung ở
MIT đang hoạt động tốt để tự động và theo yêu cầu xây dựng một kênh giao diện
UDP để kết nối các bộ định tuyến nội dung. Các ISP của cả PARC và MIT hỗ trợ
quá trình định tuyến nội dung nhưng chúng được kết nối dựa trên các ISP không hoạt
động thì vẫn sẽ chuyển tiếp được các Interest trực tiếp đến MIT. Do đó không cần
thêm cơ chế, chức năng định hướng về nội dung cho ISP. Nhưng lược đồ này không
hoạt động tốt nếu khoảng cách không phải là ở các cạnh.
Vấn đề này có thể được khắc phục bằng cách tích hợp các tiền tố nội dung miền
vào BGP. Hiện BGP định tuyến liên miền đã tương đương với cơ chế IGP TLV, nó
sẽ cho phép các miền quảng cáo các tiền tố nội dung của người dùng. Thông tin BGP
đường dẫn- AS còn cho phép mỗi miền xây dựng một bản đồ cấu trúc liên kết tương
đương với một xây dựng trong IGP, nhưng ở AS-Autonmous System hơn là mức tiền
tố mạng. Bản đồ này có chức năng tương tự trong trường hợp IGP là tìm kiếm mà
miền phục vụ các Interest trong một số tiền tố và những gì gần nhất với miền khả
dụng của CCN trên các đường dẫn đến các tên miền đó vì vậy ứng dụng cùng một
thuật toán.
2.2.3 Lớp vận chuyển
Lớp vận chuyển CCN được thiết kế để vận hành trên tầng cao nhất của các
dịch vụ vận chuyển gói dữ liệu không đáng tin cậy, bao gồm các kết nối có tính linh
động của điện toán di động và tính phổ biến. Vì vậy hai gói Interest, Data hoặc cả hai
phải bị mất hoặc bị phá hủy trong quá trình truyền dữ liệu, hoặc dữ liệu được yêu
cầu không khả dụng. Do dó, để cung cấp tính tin cậy và ổn định giao dịch các gói
Interest trong CCN sẽ được truyền lại trong một khoảng thời gian hợp lý. Khác với
TCP, người gửi trong CCN là phi trạng thái và người dùng cuối cùng ứng dụng có
nguồn gốc từ Interest ban đầu là khả dụng cho việc tái tạo lại gói Interest đã không
thỏa mãn nếu nó vẫn muốn có dữ liệu. Lớp chiến lược của người nhận có trách
nhiệm truyền lại một phần giao diện vì nó biết thời gian chờ của các node mà giao
15
diện đã đi qua cũng như việc lựa chọn và có bao nhiêu giao diện kết nối sẵn có để sử
dụng cho gửi các Interest, có bao nhiêu Interest không thỏa mãn đã được cho phép,
mức độ ưu tiên tương đối của các Interest khác nhau,…
Trong CCN, việc phân phối đa điểm có thể gây trùng lặp. Như trên, việc
trùng lặp gói Data sẽ được loại bỏ theo cơ chế nút, do đó dữ liệu sẽ không thể lặp lại
trong CCN. Còn gói Interest có thể lặp và làm cho nó xuất hiện dưới dạng
nếu Interest trên một giao diện từ nơi mà không có yêu cầu thực sự. Để phát hiện và
phòng ngừa điều này, các gói Interest có chứa một giá trị “nonce” ngẫu nhiên do đó
các bản trung lặp đã nhận được trên đường đi khác nhau có thề được loại bỏ.
2.2.3.1. Độ tin cậy và điều khiển luồng
Mỗi một gói Interest được gửi đi thì chỉ có thể nhận được nhiều nhất là một
gói Data. Quy luật này nhằm cân bằng luồng trong hệ thống mạng và cho
phép thông tin giao tiếp được hiệu quả hơn giữa nhiều loại máy móc với nhiều tốc
độ đa dạng khác nhau trên mạng. Trong CCN các gói Interest và Data có thể chồng
chéo nhau. Có nhiều yêu cầu đến cùng một lúc trước khi Data đầu tiên được chuyển
đến. Các Interest có quy luật cửa sổ trượt giống như trong TCP, tức là người nhận có
thể tự thay đổi kích thước của sổ bằng cách thay đổi các gói Interest mà nó đưa ra.
Giao thức TCP, bản chất giao tiếp của nó là điểm – điểm nên có thể xảy ra
vấn đề nghẽn mạng từ nhóm các cuộc gọi, mặc dù các cuộc gọi đã được cân bằng
lưu lượng, việc này dẫn đến việc trễ hoặc mất gói. TCP đưa ra giải pháp điểm cuối
tự động điều chỉnh lưu lượng. Trong CCN thì tất cả giao tiếp là khu vực vì
thế không có các điểm giữa người gửi và người nhận cho nên không có cân bằng lưu
lượng mà là cân bằng luồng. Việc cân bằng luồng CCN được duy trì ở mỗi tuyến,
không cần thêm các kỹ thuật để điều khiển tắc nghẽn giữa các tuyến. Không giống
như điều khiển luồng Hop by Hop, nơi mà áp lực ngược giữa các nút lân cận được
sử dụng để điều chỉnh chia sẽ dữ liệu trong các luồng liên tiếp. CCN không có hàng
đợi FIFO giữa các tuyến, nhưng có một bộ nhớ LRU dùng để tách riêng điểu khiển
các vòng phản hồi Hop by Hop và làm giảm biến động.
16
2.2.3.2. Trình tự
Trong TCP, các cuộc hội thoại của các Host, dữ liệu được xác định bằng các số
trình tự đơn giản. Nhưng trong CCN, thì phức tạp hơn vì người dùng thì yêu cầu
trích một phần nhỏ trong nguồn dữ liệu lớn, hoặc người dùng cũng có thể tự chia sẻ
các gói Data giống nhau. Như vậy việc định vị và chia sẻ dữ liệu trong CCN được
thực hiện bằng cách phân cấp, bảng tổng hợp tên mà có ít nhất một phần ý nghĩa với
con người và phản ánh một số cấu trúc tổ chức nguồn gốc của chúng. Điều này làm
phong phú hơn trong tên CCN nhưng chức năng vận chuyển các gói Interest thì
vẫnchính xác giống như thứ tự của các gói ACK trong TCP ghi rõ các gói Data tiếp
theo người nhận yêu cầu.
Các gói Data tiếp theo được xác định theo tên, bởi cây tên trong CCN được sắp
xếp thứ tự như trong từ điển do đó mối quan hệ tiếp theo và trước đó được rõ ràng
trong CCN, việc truyền tải thông suốt mà không cần quan tâm tới ngữ nghĩa của tên.
Quy ước đặt tên CCN thì không nằm trong lớp vận tải cơ bản CCN nhưng nó là
phần quan trọng trong thiết kế ứng dụng. Và từ đó sẽ có số lượng lớn các qui ước tái
sử dụng sẽ được chuẩn hóa và thực thi trong các thư viện chia sẻ để cung cấp các ứng
dụng với mức độ trừu tượng cao như là các luồng file và media trên CCN.
Các Interest, sau đó, cung cấp một dạng của hình thức truy vấn hạn chế qua các
bộ sưu tập nội dung có thể truy cập trong CCN, thiết kế nhấn mạnh hiệu quả để
nhận những yêu cầu tiếp theo.
2.2.3.3. Giàu kết nối, di động và chiến lược
Các mô hình CCN đa kết nối dựa trên danh sách giao diện của bảng FIB. Do đó
CCN với lớp chiến lược là phù hợp với tất cả để sử dụng cách thức đa giao diện.
Mỗi mục của bảng FIB chứa một chương trình được viết chuyên dụng để chuyển tiếp
đã chỉ ra cách thức chuyển tiếp các gói Interest. Hướng dẫn cho các thiết bị theo
các tập hợp gồm tải/lưu trữ, toán học, so sánh vào các hoạt động vận hành
của
face
như sendToAll,
sendToBest,
markAsBest,
và
kích
hoạt
như
InterestSatisfied, InterestTimedOut, faceDown được gọi khi có sự kiện xảy ra. Các