Đồ án xây dựng hệ thống mạng planetlab

37
BÁO CÁO ĐỒ ÁN THIT KHTHNG MNG *** Giáo viên hƣớng dn : TS.Ngô Hồng Sơn Sinh viên : Nguyn Hng Minh SHSV: 20081743 Lp: TTM-K53 Đề tài 2: Tìm hiu và trin khai PlanetLab trên mng din rng Tìm hiu PlanetLab trong xây dng lab o trên mng. Trin khai thnghim trên mng Internet hoc mng giáo dc (gia mt strƣờng đại hc ti Hà Ni) Phát trin, thnghiệm và đánh giá một sng dng thnghim (IPv6, security, streaming…)

Upload: minh-nguyen

Post on 05-Aug-2015

309 views

Category:

Documents


6 download

DESCRIPTION

tìm hiểu ảo hóa mạng.tìm hiểu mạng PlanetLabtriển khai mạng PlanetLab Local

TRANSCRIPT

Page 1: Đồ án Xây dựng hệ thống mạng PlanetLab

BÁO CÁO ĐỒ ÁN

THIẾT KẾ HỆ THỐNG MẠNG

***

Giáo viên hƣớng dẫn : TS.Ngô Hồng Sơn

Sinh viên : Nguyễn Hồng Minh

SHSV: 20081743 Lớp: TTM-K53

Đề tài 2: Tìm hiểu và triển khai PlanetLab trên mạng diện rộng

Tìm hiểu PlanetLab trong xây dựng lab ảo trên mạng.

Triển khai thử nghiệm trên mạng Internet hoặc mạng giáo dục (giữa một số trƣờng

đại học tại Hà Nội)

Phát triển, thử nghiệm và đánh giá một số ứng dụng thử nghiệm (IPv6, security,

streaming…)

Page 2: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 2

Contents LỜI MỞ ĐẦU ..................................................................................................................... 4

CHƢƠNG 1. TÌM HIỂU CÔNG NGHỆ ẢO HÓA MẠNG ............................................... 5

1. Công nghệ ảo hóa là gì ? .................................................................................... 5

2. Tại sao phải ảo hóa ? .......................................................................................... 5

3. Các kiểu ảo hóa cơ bản : ..................................................................................... 6

3.1. Ảo hóa hệ thống lƣu trữ : ............................................................................. 6

3.2. Ảo hóa hệ thống mạng : ............................................................................... 7

3.3. Ảo hóa ứng dụng : ....................................................................................... 8

3.4. Ảo hóa hệ thống máy chủ : .......................................................................... 9

4. Kiến trúc mạng ảo : .......................................................................................... 10

5. Ƣu nhƣợc điểm của việc ảo hóa : ..................................................................... 13

5.1. Ƣu điểm : ................................................................................................... 13

5.2. Nhƣợc điểm : ............................................................................................. 13

CHƢƠNG 2. TÌM HIỂU PLANET-LAB ......................................................................... 14

1. Tổng quan : ............................................................................................................ 14

2. Lịch sử hình thành và phát triển : .......................................................................... 15

3. Tác động của PlanetLab : ...................................................................................... 15

4. Các thành phần kiến trúc dùng trong hệ thống : .................................................... 16

5. Mối quan hệ tin cậy giữa các thực thể trong hệ thống : ........................................ 17

6. Kiến trúc nút PlanetLab: ........................................................................................ 19

7. Kiến trúc Slice : ..................................................................................................... 20

8. Kiến trúc phần mềm MyPLC : .............................................................................. 21

CHƢƠNG 3. TRIỂN KHAI THỬ NGHIỆM MẠNG PLANETLAB THU NHỎ ........... 22

1. Thành phần của hệ thống: ...................................................................................... 22

1.1. Máy trung tâm: .............................................................................................. 23

1.2. Tập hợp các node : ........................................................................................ 23

1.3. User hệ thống : .............................................................................................. 23

2. Các bƣớc triển khai : .............................................................................................. 23

Page 3: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 3

2.1. Yêu cầu hệ thống : ......................................................................................... 23

2.2. Dựng DNS: .................................................................................................... 24

2.3. Cài đặt môi trƣờng Proxmox trên máy trung tâm & các node: ..................... 24

2.4. Cài đặt trên máy trung tâm : .......................................................................... 27

2.5. Cài đặt trên các node : ................................................................................... 30

2.5.1. Chuẩn bị : ............................................................................................... 30

2.5.2. Tạo Site với quyền PI : ........................................................................... 30

2.5.3. Cài đặt trên các node : ............................................................................ 32

2.6. Sử dụng hệ thống : ........................................................................................ 34

2.6.1. Các thƣ mục quan trọng trên hệ thống : ................................................. 34

2.6.2. Tạo User : ............................................................................................... 34

2.6.3. Tạo Slice : ............................................................................................... 35

Chƣơng 4. KẾT LUẬN & ĐÁNH GIÁ KẾT QUẢ .......................................................... 36

1. Kết quả đạt đƣợc : .................................................................................................. 36

2. Hạn chế : ................................................................................................................ 36

3. Hƣớng phát triển đề tài: ......................................................................................... 36

TÀI LIỆU THAM KHẢO ................................................................................................. 37

Page 4: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 4

LỜI MỞ ĐẦU

Thực hành là một trong những yếu tố quan trọng giúp cung cấp cho sinh viên kiến

thức và kinh nghiệm cần thiết trong lĩnh vực máy tính. Với sự phổ biến rộng rãi của máy

tính cá nhân, sinh viên ngày càng có điều kiện tự luyện tập tại nhà. Mặc dù vậy, các

phòng thí nghiệm máy tính trong trƣờng học vẫn có vai trò quan trọng, đặc biệt là trong

việc cung cấp cho sinh viên cơ hội làm việc với những phần mềm đòi hỏi chi phí đầu tƣ

lớn, cả về mặt phần mềm lẫn phần cứng.

Tuy nhiên, việc xây dựng một phòng thí nghiệm là khá tốn kém. Ngoài chi phí cho

máy móc, thiết bị còn có chi phí cho phòng máy, hệ thống mạng, bảo trì, v.v. Hơn nữa,

còn có những khó khăn trong việc lựa chọn đầu tƣ thiết bị, nhƣ CPU, RAM, ổ cứng, v.v.

Nếu khả năng làm việc của các thiết bị này thấp, chúng sẽ nhanh chóng trở nên lạc hậu và

không đáp ứng đƣợc nhu cầu của ngƣời dùng. Ngƣợc lại, nếu khả năng làm việc của các

thiết bị quá cao so với nhu cầu thực tế, chúng sẽ không đƣợc tận dụng tối đa, khi mà nhu

cầu của từng sinh viên, từng môn học không giống nhau.

Sự tiến bộ trong công nghệ ảo hóa đem đến một hƣớng giải quyết cho vấn đề trên.

Công nghệ ảo hóa cho phép tạo ra máy ảo—là máy tính đƣợc giả lập bằng phần mềm,

song vẫn có thể hoạt động nhƣ những máy vật lí. Nhiều máy ảo có thể cùng chạy trên

một máy vật lí, vì vậy việc chia sẻ, tận dụng tài nguyên sẽ đƣợc thực hiện một cách hiệu

quả. Song việc ứng dụng máy ảo cũng dẫn đến một số trở ngại nhất định. Thứ nhất, phải

có các cơ chế để ngƣời dùng có thể làm việc với máy ảo nhƣ với những máy tính vật lí

thông thƣờng. Thứ hai, phải đảm bảo rằng ngƣời dùng luôn nhận đƣợc máy ảo phù hợp

với nhu cầu của họ, cả về phần mềm lẫn phần cứng.

Trong đồ án này, em sẽ tìm hiểu về công nghệ ảo hóa mạng , và xây dựng thử

nghiệm một hệ thống dùng công nghệ ảo hóa với chức năng của các phòng thí nghiệm

truyền thống. Chính là tìm hiểu và xây dựng hệ thống mạng Planetlab quy mô mạng cục

bộ.

Em xin chân thành cám ơn thầy Ngô Hồng Sơn đã tận tình hƣớng dẫn em

hoàn thành đồ án này.

Page 5: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 5

CHƯƠNG 1. TÌM HIỂU CÔNG NGHỆ ẢO HÓA MẠNG

1. Công nghệ ảo hóa là gì ?

Ảo hóa là bƣớc chuyển trung gian từ phần cứng vật lý sang phần cứng ảo và nó

đang trở thành một trong những xu hƣớng phát triển lớn tiếp theo trong ngành công

nghiệp ICT. Hiện nay đã có nhiều lựa chọn ảo hóa hơn trong từng lĩnh vực cho các

chuyên gia công nghệ thông tin lựa chọn , nhƣ các ứng dụng mã nguồn mở của Xen và

Virtual Iron , hay Hyper-V của Microsoft và các sản phẩm mới của VMware. Có thể nói

công nghệ ảo hóa là một công nghê đƣợc thiết kế để tạo ra một phiên bản ảo từ một thiết

bị lƣu trữ, một thiết bị mạng cho đến một hệ điều hành. Mục đích của công nghệ ảo hóa

là đơn giản việc quản lý nhƣng lại đạt hiệu quả cao hơn về khả năng , tốc độ làm việc

cũng nhƣ nâng cao khả năng mở rộng hệ thống.

2. Tại sao phải ảo hóa ?

Nhƣ chúng ta thấy, hệ thống mạng Interet mới chỉ ra đời cách đây hơn 30 năm,

nhƣng đã có sự phát triển bùng nổ đến ngày nay, cả về phạm vi và tính chất. Từ phạm vi

một vài trăm Km đến nay Internet đã phủ khắp toàn cầu, từ xây dựng trên 1 kiến trúc đơn

giản, đến nay đã tồn tại hàng chục kiến trúc mạng khác nhau với các công nghệ mạng

khác nhau.Điều này phần nào nói lên tính phức tạp của hệ thống mạng toàn cầu hiện

nay.Trong khi nhu cầu mở rộng & nâng cao hiệu năng hoạt động của hệ thống mạng hiện

có, với khả năng tài nguyên có hạn đặt ra cho các nhà hoặc định phát triển cần có hƣớng

đi mới. Không thể tiếp tục phát triển theo con đƣờng cũ, mà cần có 1 sự đột phá mới về

mặt công nghệ mạng.

Internet trong tƣơng lai cần phải đạt đƣợc những mục tiêu gì. Có 5 yêu tố cần phải

cải thiện ở Internet ngày nay mắc phải. Thứ nhất, đó là vấn đề an toàn. Internet ngày nay

thực sự không an toàn, có quá nhiều mối nguy hiểm luôn dình dập bạn hàng ngày, kể cả

từ ngƣời dùng cuối đến các nhà cung câp dịch vụ, họ đều trở thành mục tiêu tấn công của

các hacker. Trong khi đó, các cơ chế bảo vệ ngƣời dùng là không khả thi hoặc rất yếu và

dễ dàng bị hacker vƣợt qua. Vì vậy, yêu cầu Internet trong tƣơng lai cần khắc phục hạn

chế này, cần nâng cao tính bảo mật & an toàn trong mỗi giao thức. Tuy nhiên, việc kết

hợp nhiều thành phần bảo mật riêng rẽ lại không đảm bảo an toàn cho cả hệ thống. Điều

này một phần thể hiển bởi hạ tầng mạng có quá nhiều nhà cung cấp dịch vụ , trong khi

mỗi nhà cung câp lại hƣớng đến mục tiêu khác nhau, cũng nhƣ chính sách phát triển khác

nhau, nên khó tìm đƣợc tiếng nói chung. Trong khi các chính sách bảo mật ở lớp trên lại

không đủ an toàn. Thứ 2 là tính linh động. Điều này thể hiện ở chỗ Internet cần hỗ trợ

cho ứng dụng và công nghệ di động : độc lập về địa lý, phƣơng thức truy cập , thay đổi

điểm truy cập liên tục…Giải quyết nó cần phải áp dụng phân cấp định tuyến & sử dụng

địa chỉ khác. Tuy nhiên phân cấp định tuyến đe dọa tính mở rộng và lọc IP. Sử dụng địa

chỉ IP khác cần thiết kế lại nền tảng hoặc ảnh hƣởng đến hiệu năng mạng. Thứ 3 là vấn

đề quản lý mạng, thể hiện ở độ tin cậy và tính sẵn sàng, tính mở rộng. Internet ngày nay

Page 6: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 6

có hạ tầng mạng quá phức tạp và rất khó quản lý. Muốn thay đổi kiến trúc mạng mới

hoặc thay đổi kiến trúc mạng hiện tại cần sự đồng thuận của tất cả các bên. Điều đó là

không khả thi vì các công nghệ tầng dƣới IP, những công nghệ mạng lõi là rất khi thay

đổi.

Tất cả các khó khăn trên đặt ra cho các nhà hoặc định chính sách phát triển của

mạng internet yêu cầu đơn giản hóa hạ tầng mạng. Công nghệ ảo hóa mạng ra đời chính

là để đơn giản hóa và tự động hóa hạ tầng mạng. Mạng ảo có thể đƣợc xây dựng theo các

tiêu chí thiết kế khác nhau và vận hành nhƣ 1 mạng điều chỉnh theo dịch vụ. Ảo hóa

mạng là phƣơng pháp đầy hứa hẹn cho phép thử nghiệm các giao thức mới nhƣ giao thức

chọn đƣờng hoặc giải pháp thay thế IP. Ảo hóa mạng không giống nhƣ với công nghệ ảo

hóa hiện nay nhƣ VPN. VPN dùng kết nối các mạng phân tán có phạm vi rộng lớn nhƣng

lại không có sự linh hoạt , thay đổi theo đáp ứng dịch vụ, mà chỉ có thể dựa trên cái sãn

có.

3. Các kiểu ảo hóa cơ bản :

3.1. Ảo hóa hệ thống lưu trữ :

Ảo hóa hệ thống lƣu trữ về cở bản là sự mô phỏng, giả lập việc lƣu trữ từ các loại

thiết bị lƣu trữ vật lý. Các thiết bị này có thể là băng từ, ổ cứng hay kết hợp cả 2 loại.

Việc làm này mang lại các ích lợi nhƣ việc tăng tốc độ khẳ năng truy xuất dữ liệu , do

việc phân chia các tác vụ đọc, viết trong mạng lƣu trữ. Ngoài ra, việc mô phỏng các thiết

bị lƣu trữ vật lý cho phép tiết kiệm thời gian hơn thay vì phải định vị xem máy chủ nào

hoạt động trên ổ cứng nào để truy xuất.

Ảo hóa hệ thống lƣu trữ có 3 dạng mô hình sau đây :

Host-base : trong mô hình này, ngăn cách giữa lớp ảo hóa và ổ đĩa vật lý là driver

điều khiển của các ổ đĩa. Phần mềm ảo hóa sẽ truy xuất tài nguyên (các ổ cứng vật

lý ) thông qua sự điều khiển và truy xuất của lớp Driver này.

Hình 1. Host-base Storage Virtualization

Page 7: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 7

Storage-device based : Trong dạng này, phần mềm ảo hóa giao tiếp trực tiếp với

ổ cứng. Ta có thể xem nhƣ đây là 1 dạng firmware đặc biệt, đƣợc cài trực tiếp vào

ổ cứng. Dạng này cho phép truy xuất nhanh nhất tới ổ cứng, nhƣng cách thiết lập

thƣờng khó khăn và phức tạp hơn các mô hình khác. Dịch vụ ảo hóa đƣợc cung

cấp cho các Server thông qua một thiết bị điều khiển gọi là Primary Storage

Controller.

Hình 2. Storage-device base Storage Virtualzation

Network – based : Trong mô hình này, việc ảo hóa sẽ đƣợc thực thi trên một thiết

bị mạng, ở đây có thể là một thiết bị switch hay một máy chủ. Các switch hay

máy chủ này kết nối với các trung tâm lƣu trữ (SAN). Từ các switch hay server

này, các ứng dụng kết nối vào đƣợc giao tiếp với trung tâm dữ liệu bằng các ―ổ

cứng‖ mô phỏng do switch hay máy chủ tạo ra dựa trên trung tâm dữ liệu thật.

Đây cũng là mô hình hay gặp nhất trên thực tế.

Hình 3. Network – based Storage Virtualzation

3.2. Ảo hóa hệ thống mạng :

Ảo hóa hệ thống mạng là một tiến trình hợp nhất tài nguyên,thiết bị mạng cả phần

cứng lẫn phần mềm thành một hệ thống mạng ảo. Sau đó, các tài nguyên này sẽ đƣợc

phân chia thành các channel và gắn với một máy chủ hoặc một thiết bị nào đó. Có nhiều

Page 8: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 8

phƣơng pháp để thực hiện việc ảo hóa hệ thống mạng.Các phƣơng pháp này tùy thuộc

vào các thiết bị hỗ trợ, tức là các nhà sản xuất thiết bị đó, ngoài ra còn phụ thuộc vào hạ

tầng mạng sẵn có, cũng nhƣ nhà cung cấp dịch vụ mạng (ISP).Sau đây chúng tôi sẽ giới

thiệu một vài mô hình ảo hóa hệ thống mạng:

Ảo hóa lớp mạng (Virtualized overlay network): Trong mô hình này, nhiều hệ

thống mạng ảo sẽ cùng tồn tại trên một lớp nền tài nguyên dùng chung. Các tài nguyên

đó bao gồm các thiết b ị mạng nhƣ router, switch, các dây truyền dẫn, NIC (network

interface card). Việc thiết lập nhiều hệ thống mạng ảo này sẽ cho phép sự trao đổi thông

suốt giữa các hệ thống mạng khác nhau, sử dụng các giao thức và phƣơng tiện truy ền

tải khác nhau, ví dụ nhƣ mạng Internet, hệ thống PSTN, hệ thống Voip.

Hình 3. Ảo hóa lớp mạng (Substrate link : các liên kết vật lý nền tảng, Sustrate router :

các router vật lý, Virtual link và Substrate router là các thiết bị và liên kết đƣợc ảo hóa)

3.3. Ảo hóa ứng dụng :

Ảo hóa ứng dụng là một dạng công nghệ ảo hóa khác cho phép chúng ta tách rời

mối liên kết giữa ứng dụng và hệ điều hành và cho phép phân phối lại ứng dụng phù

hợp với nhu cầu user. Một ứng dụng đƣợc ảo hóa sẽ không đƣợc cài đặt lên máy tính

một cách thông thƣờng, mặc dù ở góc độ ngƣời sử dụng, ứng dụng vẫn hoạt động một

cách bình thƣờng. Việc quản lý việc cập nhật ph ần mềm trở nên dễ dàng hơn, giải

quyết sự đụng độ giữa các ứng dụng và việc thử nghiệm sự tƣơng thích của chúng

cũng trở nên dễ dàng hơn. Hiện nay đã có khá nhiều chƣơng trình ảo hóa ứng dụng nhƣ

Citrix XenApp, Microsoft Application Virtualization, VMware ThinApp ... với hai loại

công nghệ chủ yếu sau:

Page 9: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 9

Application Streaming : ứng dụng đƣợc chia thành nhiều đoạn mã và đƣợc

truyền sang máy ngƣời sƣ dụng khi cần đến đoạn mã đó. Các đoạn mã này thƣờng

đƣợc đóng gói và truyền đi dƣới giao thức HTTP, CIFS hoặc RTSP.

Hình 4. Mô hình application Streaming của Citrix

Desktop Virtualzation/ Virtual Desktop Infastructure (VDI): ứng dụng sé

đƣợc cài đặt và chạy trên một máy ảo. Một hạ tầng quản lý sẽ tự động tạo ra các

desktop ảo và cung cấp các desktop ảo này đến các đối tƣợng sử dụng.

3.4. Ảo hóa hệ thống máy chủ :

Ảo hóa hệ thống máy chủ cho phép ta có thể chạy nhiều máy ảo trên một máy chủ

vật lý, đem lại nhiều lợi ích nhƣ tăng tính di động, dễ dàng thiết lập với các máy chủ

ảo, giúp việc quản lý, chia sẻ tài nguyên tốt hơn, qu ản lý luồng làm việc phù hợp với

nhu cầu, tăng hiệu suất làm việc của một máy chủ vật lý.

Xét về kiến trúc hệ thống , các mô hình ảo hóa hệ thống máy chủ có thể ở 2 dạng sau :

Host- based : Kiến trúc này sử dụng một lớp hypervisor chạy trên nền tảng hệ

điều hành, sử dụng các dịch vụ đƣợc hệ điều hành cung cấp để phân chia tài

nguyên tới các máy ảo. Ta xem hypervisor này là một lớp phần mềm riêng biệt, do

đó các hệ điều hành khách của máy ảo sẽ nằm trên lớp hypervisor rồi đến hệ điều

hành của máy chủ và cuối cùng là hệ thống phần cứng.. Một số hệ thống

hypervisor dạng Hosted có thể kể đến nhƣ VMware Server, VMware Workstation,

Microsoft Virtual Server…

Page 10: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 10

Hình 4. Kiến trúc Host-based

Hypervisor-based: hay còn gọi là bare-metal hypervisor. Trong kiến trúc này,

lớp phần mềm hypervisor chạy trực tiếp trên nền tảng phần cứng của máy chủ,

không thông qua bất kì một hệ điều hành hay một nền tảng nào khác. Qua đó, các

hypervisor này có khả năng điều khiển, kiểm soát phần cứng của máy chủ. Đồng

thời, nó cũng có khả năng quản lý các hệ điều hành chạy trên nó. Nói cách khác,

các hệ điều hành sẽ nằm trên các hypervisor dạng bare-metal rồi đến hệ thống

phần cứng. Một số ví dụ về các hệ thống Bare-metal hypervisor nhƣ là Oracle

VM, VMware ESX Server, IBM's POWER Hypervisor, Microsoft's Hyper-V,

Citrix XenServer…

Hình 5. Kiến trúc Hypervisor-based

4. Kiến trúc mạng ảo :

Ảo hóa mạng bao gồm hai thành phần chính đó là ảo hóa liên kết (link) và ảo hóa nút.

Page 11: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 11

Ảo hóa liên kết cho phép truyền tải đƣợc trên nhiều liên kết ảo riêng biệt thông

qua một liên kết vật lý chia sẻ. Một liên kết ảo thƣờng đƣợc xác định rõ ràng bởi

một thẻ tag, nhƣng cũng có thể xác định nó hoàn toàn , chẳng hạn bằng 1 khe thời

gian (time-slot phân chia kênh truyền theo những khoảng thời gian khác nhau để

tạo thành các kênh riêng) hoặc bƣớc sóng. Có rất nhiều các công nghệ ảo hóa liên

kết chuẩn có sẵn tron Internet ngày nay (Ví dụ: ATM, Ethernet 802.1q, MPLS) có

thể dùng cho mục đích này.

Mô hình mạng ảo hóa đƣợc thể hiện trong hình 1.

Hình 7. Mô hình Network Virtualzation

Ở cấp độ mạng bề mặt (network substrate) , các nút của mạng bề mặt là thiết bị mạng

có khả năng hỗ trợ nút ảo bằng công nghệ ảo hóa. Một nút bề mặt thƣờng chứa một số

nút ảo.

Các nút ảo là một yếu tố trung tâm trong kiến trúc mạng ảo. Khái niệm về ảo hóa nút

đã đƣợc cụ thể hóa , đến mức độ nào đó, bằng các bộ định tuyến ảo (Virtual Router). Mặc

dù việc thực hiện các ý tƣởng này trong thực tế đã có một vài biến thể, trong điều kiện

chung, một bộ định tuyến ảo có nhiều mục đích (ví dụ : cấu hình, quản lý , giám sát, xử

lý sự cố) giống nhƣ một router vật lý chuyên dụng. Tuy nhiên , trong mọi trƣờng hợp ,

một bộ định tuyến nào cung cấp một cảm giác về sự độc lập làm việc hơn là một phân

cách thực sự, vì nó không đủ bộ nhớ chuyên dụng, tiến trình xử lý và tài nguyên I/O.

Ảo hóa nút dựa trên cách ly và phân vùng về tài nguyên phần cứng. Tài nguyên

vật lý của lớp substrate (vd: CPU, memory, storage capacity, link bandwidth)

đƣợc phân vùng và phân bổ trong những slice , mỗi slice đƣợc phân bổ tới các nút

ảo tùy theo nhu cầu cài đặt. Những phát triển gần đây trong hoạt động của hệ

thống ảo đã cho phép có những tiến bộ đáng kể về tính bình đẳng và tính hiệu suất.

Ảo hóa nút bề mặt hợp với ảo hóa liên kết ảo các nút bề mặt cho phép tạo ra các

mạng ảo có chức năng tƣơng đƣơng một mạng vật lý.

Một nút thuộc mạng nền có một hoặc nhiều các liên kết vật lý do đó có thể lần lƣợt

thực hiện các liên kết ảo trên cơ sở các liên kết vật lý này. Tƣơng ứng một nút ảo có

một hoặc nhiều liên kết ảo. Vì lý do mở rộng các liên kết ảo có thể đƣợc xử lý theo

tập hợp hơn là xử lý từng liên kết ảo.

Page 12: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 12

Một nút bề mặt , ngoài việc là điểm kết thúc của một liên kết ảo, nó cũng có thể là

thực thể trung gian chuyển tiếp lƣu lƣợng truyền tải trong các liên kết ảo một cách rõ

ràng.

Hình 8. Các thành phần cơ bản của ảo hóa mạng

Từ quan điểm xem xét theo chức năng , nút của mạng bề mặt có thể đƣợc phân loại trong

bốn nhóm chính , theo loại chức năng mà chúng cung cấp :

Edge nodes : đƣợc đặt tại biên của mạng substrate, đó chủ yếu là những điểm nhập

mạng (PoP = điểm kết nối do một nhà khai thác dịch vụ số hoặc hãng liên tổng đài

cung cấp cho thuê bao nội hạt ) của nhà cung cấp cơ sở hạ tầng mạng. Đặc trƣng

của những nút này là kết nối với ngƣời sử dụng đầu cuối, hoặc là kết nối trực tiếp

hoặc là thông qua nhà cung cấp dịch vụ mạng. Vị trí địa lý thƣờng là một thuộc

tính quan trọng của loại nút này.

Core VN-capable nodes : nút hỗ trợ ảo hóa, nghĩa là có thể lƣu trữ các nút ảo và

cũng có thể hỗ trợ cả lƣu lƣợng ngoài VN (non-VN). Một nút core có hỗ trợ VN

có thể đƣợc kết nối với nút biên (edge) , hoặc các nút core khác có hỗ trợ VN hoặc

không.

Core transport nodes : không hỗ trợ ảo hóa nút, là nút core đặc trƣng cho truyền tải

lƣu lƣợng.

Border nodes : đƣợc kết nối với các nút Border láng giềng nằm ở các mạng khác.

Nên có chú ý rằng các nút có thể có nhiều hơn một chức năng. Ví dụ nút b trong hình 4

vừa là nút core hỗ trợ VN , vừa là nút có chức năng trung chuyển (transport).

Trong hình dƣới biểu diễn kịch bản với hai miền mạng khác nhau là A và B và có đầy đủ

bốn loại nút đƣợc miêu tả ở trên.

Page 13: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 13

Hình 9. Bốn loại nút trong VN

5. Ưu nhược điểm của việc ảo hóa :

5.1. Ưu điểm :

Việc sử dụng công nghệ ảo hóa làm giảm số lƣợng máy chủ vật lí, giảm lƣợng

điện năng tiêu thụ, tiết kiệm đƣợc chi phí cho việc bảo trì phần cứng, nâng cao hiệu quả

công việc. Ngoài ra ta còn có thể dễ dàng mở rộng hệ thống khi có nhu cầu, triển khai

máy chủ mới nhanh, tận dụng tài nguyên hiện có: vì mỗi máy ảo đơn giản chỉ là một

tập tin hoặc một thƣ mục, ta có thể tạo ra máy chủ mới b ằng cách sao chép từ một file

máy chủ ảo hiện tại và cấu hình lại, chọn máy chủ vật lý còn dƣ tài nguyên để đƣa máy

ảo mới lên. Ta cũng có thể chuyển các máy ảo sang một môi trƣờng cách ly một cách dễ

dàng nên ta có thể thử nghiệm chƣơng trình, nâng cấp hệ thống ứng dụng mà không sợ

ảnh hƣởng đến tính ổn định của hệ thống hiện tại, đồng thời cho phép quản trị viên có

thể sử dụng cùng lúc nhiều hệ điều hành khác nhau.

Với công cụ quản lý tập trung vCenter Server, ta sẽ theo dõi đƣợc máy chủ nào

đang quá tải, từ đó sẽ áp dụng chính sách là tăng tài nguyên về CPU, Ram, ổ cứng cho

máy chủ ảo đó hoặc di chuy ển máy ảo đang quá tải đó sang máy chủ vật lý có cấu

hình mạnh hơn, có nhiều tài nguyên nhàn rỗi hơn để chạy. Toàn bộ quá trình trên có thể

đƣợc thực hiện mà không cần phải tắt máy ảo đó.

Khi có sự cố xảy ra đối với máy ảo do bị virut , lỗi hệ điều hành thì việc khắc phục

đơn giản chỉ là phục hồi lại file vmdk của máy ảo đã đƣợc backup và chạy lại máy ảo một

cách bình thƣờng.

Khi có sự cố đối với máy chủ vật lý , thì toàn bộ máy ảo trên máy vật lý sẽ đƣợc tự động

di chuyển sang máy chủ vật lý khác với VMware HA, VMware FT.

5.2. Nhược điểm :

Đáng lƣu ý nhất là vấn đề lƣu trữ dữ liệu. Thông thƣờng, mỗi máy ảo chỉ sử dụng

một file vmdk ( file này có thể đƣợc chia nhỏ tùy theo cách cài đặt) để lƣu lại toàn bộ dữ

liệu trong máy ảo và một số file nhỏ khác để lƣu cấu hình của máy ảo. Do đó nếu một

Page 14: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 14

trong số những tập tin này bị lỗi hoặc bị mất mà chƣa đƣợc backup thì có thể xem nhƣ

máy ảo đã bị hƣ hoàn toàn và không thể phục hồi.

Ngoài ra nếu máy chủ có cấu hình phần cứng thấp nhƣng lại có một máy ảo sử

dụng quá nhiều tài nguyên hoặc chạy quá nhiều máy ảo thì sẽ làm chậm toàn bộ hệ thống

bao gồm các máy ảo và các ứng dụng chạy trên máy ảo. Đồng thời do một hoặc vài máy

chủ phải đảm nhận nhiều máy ảo chạy trên nó nên nếu máy chủ gặp trục trặc , sự cố thì

các máy ảo cũng sẽ bị ảnh hƣởng theo.

Còn ở góc độ bảo mật, nếu hacker nắm quyền điều khiển một máy chủ vật lý chứa

các máy ảo thì hacker có thể kiểm soát đƣợc tất cả các máy ảo trong nó.

CHƯƠNG 2. TÌM HIỂU PLANET-LAB

1. Tổng quan :

Nhƣ ta đã phân tích, sự phát triển của Internet phụ thuộc rất lớn vào các thử nghiệm

xây dựng các kiến trúc mạng mới , bao gồm từ việc xây dựng topology, cho đến cách

thức vận hành mạng, các giao thức chạy trong mạng, đến các cải tiến thiết bị mạng. Tất

cả các yếu tố trên, trƣớc khi đƣợc đƣa vào triển khai ứng xây dựng đều phải qua giai đoạn

thử nghiệm , đánh giá nghiêm túc & khắt khe, mà việc này thì rất phức tạp cũng nhƣ chi

phí tốn kém. Không thể triển khai thử nghiệm trên thực tế, nó yêu cầu 1 cơ sở hạ tầng kỹ

thuật nhất định, cần có tài trợ của một bên thứ 3, lại phải vì một mục đích nào đó. Nếu sử

dụng các công cụ mô phỏng, thì thứ nhất là không trực quan, hơn nữa, kết quả không

phải là đảm bảo, vì có rất nhiều yếu tố trong thực tế vẫn chƣa thể mô phỏng đƣợc với nền

tảng công nghệ hiện tại.

PlanetLab ra đời chính là giải pháp hiệu quả để rút ngắn khoảng cách giữa thử

nghiệm & triển khai, tạo môi trƣờng thực nghiệm trực quan. Xuất từ ý tƣởng của giáo sƣ

… đến nay, các trƣờng đại học khắp nơi trên thế giới cùng các tổ chức nghiên cứu của

các tập đoàn, công ty nhƣ HP, Intel, Google, Oracle, Microsoft… đã liên kết lại với nhau

để thành lập PlanetLab (www.planet-lab.org) , một mạng lƣới thí nghiệm toàn cầu

chuyên phát minh và kiểm tra các mẫu ứng dụng và dịch vụ Internet.

PlanetLab chình là hệ thống cơ sở hạ tầng phân tán, chính là nền tảng để chạy các

dịch vụ lâu dài, là môi trƣờng thực nghiệm cho các mô hình thí nghiệm mạng, cho các

nghiên cứu trên hệ thống phân tán và các dịch vụ mạng mới.

Page 15: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 15

Hiện có 2 mạng PlanetLab chính trên thế giới là :

PlanetLab original của US : planet-lab.org

PlanetLab Europe của châu Âu : onelab.eu

2. Lịch sử hình thành và phát triển :

Khái niệm Planet Lab đƣợc sinh ra khi các nhà nghiên cứu của tập đoàn Intel tập hợp

1 nhóm các nhà nghiên cứu hàng đầu trong lĩnh vực mạng và hệ thống phân phối để thảo

luận về các quan hệ mật thiết của 1 loại hình các ứng dụng và dịch vụ trên mạng Internet

mới và đang phát triên. Loại hình dịch vụ mới này đƣợc thiết kế để hoạt động nhƣ là các

mạng ―che phủ‖ đã phát triển nhƣ một phƣơng thức tạo ra thêm những khẳ năng mới cho

mạng Internet.

Tháng 3 năm 2002 Larry Peterson (Princeton) và David Culler (UC Berkeley và Intel

Research) tổ chức một cuộc họp kín của các nhà nghiên cứu quan tâm đến dịch vụ mạng

quy mô hành tinh, và đề xuất PlanetLab nhƣ là 1 thử nghiệm. Hội nghị thu hút 30 nhà

nghiên cứu từ MIT, Washinton , Rice, Berkeley, Princeton, Columbia, Duke, CMU, và

Utah. David Tennenhouse (Intel Research) ủng hộ cho dự án 100 máy PlanetLab chính

thức bắt đầu phát triển.

Hiện nay, PlanetLab đã có …node,tại … site tham gia vào hệ thống và đang tỏ ra hoạt

động có hiệu quả. Trung tâm điều khiển PlanetLab đƣợc đặt tại Đại học Princeton ,

Berkeley, Califonia . Giám đốc là Larry Peterson. Chi tiết hơn tại http://www.planet-

lab.org/consortium.

3. Tác động của PlanetLab :

Planet Lab thành một nền tảng vô giá cho việc học tập và nghiên cứu về các hiện

tƣợng trên mạng diện rộng, tạo ra các giao thức mạng mới, đánh giá các dịch vụ mạng

hiện hành và các dịch vụ mạng lƣới , có thêm nhiều kinh nghiệm về các hệ thống mạng

đang chạy trên mạng diện rộng, và cuối cùng , triển khai các dịch vụ mạng mới để cải

thiện khẳ năng cƣa internet toàn cầu.

Tác động trong nghiên cứu :

PlanetLab là công cụ thiết yếu cho nghiên cứu mạng và các hệ thống phân tán. Các

nhà nghiên cứu mà yêu cầu hệ thống hay giao thức của họ đƣợc triển khai trên mạng

internet thực tế có thể sử dụng PlanetLab để chứng minh các thiết kế của họ có thể triển

khai đƣợc.

Tác động trong giảng dạy :

Page 16: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 16

PlanetLab đã có trên 4700 ngƣời dùng trong suốt 6 năm phát triển của mình, trong số

đó có 3700 là sinh viên. Mặc dù số sinh viên này là làm việc cùng với những nhà nghiên

cứu của họ hoặc là làm việc độc lập thì những kinh nghiệm của họ về mạng diện rộng

thông qua PlanetLab là rất quý báu, họ học đƣợc cách đối phó với những thất bại tạm

thời, các sự thay đổi trong độ trễ và băng thông, trong kết nối hay trong sự lạm dụng gây

ra bởi ngƣời dùng thực tế là những điều mà họ không có đƣợc khi chỉ sử dụng các

chƣơng trình mô phỏng.

4. Các thành phần kiến trúc dùng trong hệ thống :

Site : là một vị trí vật lý nơi mà các nút PlanetLab đƣợc đặt (vd: đại học

Princeton)

Node : là 1 máy vật lý đƣợc dành riêng để phục vụ các thành phần của dịch vụ mà

triển khai trên hệ thống PlanetLab.

Slice (Virtual Network): slice là tập hợp các tài nguyên phân tán đƣợc phân bổ

cho User thông qua PlanetLab. Với hầu hết User, một slice truy cập tới các nút

thông qua công cụ UNIX shell. PI sẽ tạo ra slice và phân bố nó tới ngƣời dùng ,

ngƣời dùng sẽ gán các nút tới slice đƣợc cấp phát , một slice có thời gian tồn tại

nhất định vì thế theo dõi tình trạng của slice và cần làm mới slice định kỳ.

Sliver (Virtual Node) : mỗi nút vật lý gồm nhiều máy ảo, mỗi máy ảo trên máy

vật lý đƣợc gọi là Sliver.

Virtual Server (VServer) : mỗi nút đƣợc ảo hóa thành các Sliver nhờ Linux-

VServer . Một Sliver là một VServer . Slice gồm các Sliver trên các nút khác

nhau. Các phiên kết nối mạng của nút đƣợc phân tách và ảo hóa nhờ VNET.

Principal Investigator (PI) : PI có trách nhiệm quản lý slice và ngƣời dùng tại

mỗi site , PI có trách nhiệm quản lý hành vi của slice trong site của mình. Thông

thƣờng mỗi site có một PI duy nhất (Thƣờng là 1 thành viên giảng dạy tạo một

trƣờng đại học mà quản lý dự án đang nghiên cứu của 1 tổ chức…) Các PI có

trách nhiệm giám sát tất cả các slice mà họ thay mặt ngƣời dùng tạo ra trên site

của họ . PI có thể cho phép , không cho phép hay xóa 1 tài khoản ngƣời dùng, có

thể tạo các slice , xóa slice , gán ngƣời dùng tới slice , phân bổ tài nguyên tới

slice…PI chịu trách nhiệm duy trì tài nguyên vật lý tại site họ quản lý.

User : một ngƣời tham gia có 1 tên tài khoản và mật khẩu để đăng nhập PL

Central (PLC) qua giao diện web. Tên tài khoản luôn là 1 địa chỉ email. Mỗi tài

khoản có thể một hay nhiều quyền (role) sau : PI (nhƣ đã nói ở trên) Technical

Contact (Tech Contact) . User với quyền PI chịu trách nhiệm cài đặt , vận hành

các nút trong site , và ngƣời dùng đơn thuần, là ngƣời dùng thuộc 1số slice nào đó,

đƣợc cài đặt và sử dụng các ứng dụng trong slice của mình.

Page 17: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 17

5. Mối quan hệ tin cậy giữa các thực thể trong hệ thống :

Hệ thống PlanetLab đƣợc chia thành ba thực thể riêng biệt đó là Owner , User, và

PLC. Hình 2 mô tả mối quan hệ giữa 3 thành phần đó.

Hình 2. Quan hệ trong PlanetLab

Owner là một tổ chức mà là ngƣời sở hữu các nút PlanetLab. Mỗi owner vẫn giữ

đƣợc quyền điều khiển cao nhất tới nút của họ , nhƣng họ tin tƣởng PLC là quản

lý trung gian tin cậy . PLC cung cấp 1 cơ chế cho phép Owner biết đƣợc tình trạng

nguồn tài nguyên đƣợc cấp phát trên các nút của mình.

PLC là một trung gian tin cậy trong việc thay mặt cho chủ sở hữu nút quản lý nút ,

và tạo ra các slice trên các nút (tức là có quyền cho một nút vào một slice nào đó)

trên danh nghĩa của User.

Hình 3 minh họa mối quan hệ tin cậy giữa 3 thành phần trong hệ thống PlanetLab là chử

sở hữu (Owner) ngƣời dùng hệ thống (User) và trung gian PLC .

Hình 3. Sơ đồ quan hệ giữa các thực thể.

Các quan hệ tin cậy này gồm :

1) PLC với ngƣời dùng hệ thống : PLC phát hành các quyền cho ngƣời dùng truy cập tới

slice . Điều này có nghĩa là ngƣời dùng phải thuyết phục thỏa đáng để đƣợc PLC nhận

dạng.

2) User với PLC : User có quyền tạo ra slice trên PLC và thực hiện các quyền đƣợc PLC

cấp phát , có nghĩa là ngƣời dùng đƣợc quyền sửa đổi phần mềm hay bất kỳ cái gì

đang chạy trên slice của nó.

Page 18: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 18

3) Owner với PLC : Owner giao phó cho PLC thiết lập ngƣời dùng , cài đặt phần mềm

mà có thể ánh xạ hoạt động mạng của ngƣời dùng trên slice của họ tới đúng slice

tƣơng ứng . Phần mềm này phải đƣợc làm việc độc lập với tài nguyền slice và đƣợc

giới hạn / hạn chế các quyền của nó.

4) PLC với Owner : PLC giao trách nhiệm cho Owner quản lý và giữ an toàn các nút vật

lý. PLC cũng xác nhận rằng mỗi nút mà nó quản lý thực tế thuộc về chủ sở hữu mà nó

đã có những thỏa thuận về chia sẻ tài nguyên…

Ta có thể thấy, PLC có hai nhiệm vụ chính , đó là thay mặt Owner quản lý tập hợp

các nút và nó cũng thay mặt User tạo các slice. Do đó, ta có thể phân PLC thành MA

(Management Authority) và SA (Slice Authority). Rõ ràng việc tách PLC thành hai thực

thể độc lập cho phép ta thấy đƣợc vai trò đặc biệt của từng thực thể.

5) Để hỗ trợ kiểm tra , mỗi MA (gián tiếp, đại diện cho các Owner) giao cho SA ánh xạ

slice tới user. Owner có thể chọn một Ma khác nếu nó cảm thấy không tin cậy MA

hiện tại.

6) Mỗi SA (gián tiếp, đại diện cho các User) có thể tin cậy duy nhất một MA nhất định

để cung cấp cho nó quyền làm việc trên các máy ảo.

Hình 4. Kiến trúc hệ thống PlanetLab

Với mô hình này, các kiến trúc bảo mật sẽ bao gồm các cơ chế dƣới đậy :

Page 19: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 19

Đầu tiên, mỗi nút đƣợc khởi động từ 1 file hệ thống không đổi, và nạp vào một

chƣơng trình quản lý. Tiếp theo sẽ tạo ra một khóa công khai cho PLC và một

khóa riêng bí mật cho nút. Ở đây giả thiết rằng chủ sở hữu nút bảo mật tuyệt đối

các khóa riêng trên nút họ quản lý.

Các nút đó liên lạc với máy chủ khởi động PLC , việc liên lạc này có quá trình xác

thực bằng cặp khóa trên. Xác thực thành công cũng có nghĩa là quan hệ trust

relationships (4) hoàn tất.

Thứ hai, ngƣời sử dụng trong site đƣợc phép tạo tài khoản và tải lên các khóa

riêng của họ, PLC sau đó thay mặt ngƣời dùng cài đặt các khóa này trong bất kỳ

slice nào đƣợc tạo từ một tập hợp máy ảo, cho phép ngƣời dùng truy cập tới các

máy ảo thông qua SSH. Hiện tại PLC ủy quyền cho một tài khoản ngƣời dùng

quản trị tại mỗi site để quản lý các ngƣời dùng, đƣợc tín nhiệm đảm bảo sự tin

tƣởng với những ngƣời dùng thông thƣờng.

Thứ 3, PLC chạy một dịch vụ quản lý có khả năng ghi lại thông tin về tất cả các

gói tin khi nó đi ra từ nút. Dịch vụ này đƣợc công khai trên mỗi nút thông qua một

giao diện web . Do đó ,bất kỳ một hành vi nào gây ảnh hƣởng tới hệ thống có thể

bị phát hiện.

6. Kiến trúc nút PlanetLab:

Nút PlanetLab là một máy vật lý thuộc site có khả năng lƣu trữ nhiều máy ảo, mỗi nút

đƣợc phân biệt bằng ID riêng (id_node) từ đó có thể xác định đƣợc site chứa nút, địa chỉ

IP hiện hành của nút , địa chỉ MAC…Các thuộc tính này có thể thay đổi theo thời gian ,

điều này cho phép nút có thể nâng cấp phần cứng , hoặc toàn bộ, hoặc từng bộ phận riêng

lẻ.

Nút PlanetLab có nhiệm vụ chính đó là cô lập slice và kiểm tra trạng thái hoạt động

của các slice trên nó. Hình 6 mô tả kiến trúc của 1 node PlanetLab :

Page 20: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 20

Hình 6. Kiến trúc nút PlanetLab

Tƣơng ứng các thành phần :

NM (Node Manager) : là một chƣơng trình chạy trên mỗi nút mà tạo ra các máy ảo

trên các nút đó, và điều kiện việc phân bổ tài nguyên cho các máy ảo. Tất cả các

hoạt động mà nhằm điều khiển các máy ảo trên mỗi nút đƣợc thực hiện thông qua

NM. Ở đây, có một ánh xạ một - một giữa nút và Node Manager.

PlanetFlow : ghi lại các hoạt động mạng mà đƣợc gửi ra ngoài từ tất cả các nút.

Slicestat : cung cấp thông tin về tài nguyên hoạt động của slice trên nút.

VNET : dựa trên hệ thống của Netfilter system để kết hợp các gói tin IP đi vào và

đi ra của cùng một cấu trúc kết nối, giám sát gói tin chính là nhiệm vụ chính của

VNET. VNET đảm bảo rằng các slice chỉ gửi và nhận các gói tin trên các kết nối

riêng của từng slice đó , qua đó đảm bảo tính độc lập , của các slice . VNET hỗ trợ

các giao thức TCP, UDP, ICMP, GRE, PPTP.

Hình 7. Các thành phần trong một nút PlanetLab

7. Kiến trúc Slice :

Slice chính là tập hợp các nút ảo trên mạng diện rộng mà ngƣời dùng tham gia hệ

thống sẽ triển khai ứng dụng của họ. Nói cách khác , slice chính là một mạng ảo. Mỗi

slice sẽ có một hoặc nhiều ngƣời dùng tùy thuộc vào PI, tất cả hoạt động trên slice đƣợc

quyết định bởi ngƣời dùng slice đó, và tất nhiên là hoàn toàn độc lập với slice của ngƣời

dùng khác.

Page 21: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 21

Khi slice đƣợc tạo ra và đƣợc PI cấp quyền , một tài khoản tƣơng ứng với tên slice

đƣợc sinh ra trên nút tƣơng ứng thuộc slice đó, ngƣời dùng truy cập quyền với tài khoản

slice này thông qua cơ chế SSH. Cụ thể :

Khi slice đƣợc gán cho ngƣời dùng cụ thể, nó sẽ tự update thông tin về ngƣời dùng

cũng nhƣ khóa public của ngƣời dùng vào cơ sở dữ liệu của mình.

User giao tiếp với slice thông qua cặp khóa (public và private) của họ, khóa public

là đã đƣợc thông báo trƣớc cho slice . Việc giao tiếp thông qua SSH chính là cơ

chế bảo mật giữa User và slice, sự an toàn của slice phụ thuộc vào sự an toàn của

khóa private User.

Trong cùng một tập hợp nút , số lƣợng slice đƣợc tạo ra phụ thuộc vào site . Site cho

phép một số lƣợng slice làm việc trên đó, phụ thuộc vào PI. Các hình vẽ sau minh họa

việc tạo các slice khác nhau trên cùng một tập hợp nút.

Hình 8. Các nút có thể thêm vào slice

Hình 9. Slice A cho người dùng A

Hình 10. Slice B cho người dùng B

8. Kiến trúc phần mềm MyPLC :

MyPLC là một phần mềm có đầy đủ tính năng của PLC (PlanetLab Central – là thực

thể quan trọng trong hệ thống PlanetLab) đƣợc cài đặt trên máy tính riêng (Host System).

Mặc định , những thành phần cốt lõi PLC sẽ đƣợc cài đặt trong gói phần mềm bao gồm

một web server, một boot server, một API Server và một Database Server . Boot Server

và Web Server sẽ giao tiếp với API server thông qua giao thức HTTP/HTTPS và XML-

RPC (là giao thức gọi từ xa sử dụng XML để mã hóa và trao đổi dữ liệu trên nền giao

Page 22: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 22

thức HTTP) . Tất cả sẽ đƣợc cài đặt thông qua một gói MyPLC . Kiến trúc phần mềm và

hệ thống đƣợc minh họa nhƣ hình bên dƣới.

Hình 11. Kiến trúc phần mềm MyPLC

CHƯƠNG 3. TRIỂN KHAI THỬ NGHIỆM MẠNG PLANETLAB THU NHỎ

1. Thành phần của hệ thống:

Hệ thống sẽ có đầy đủ các thành phần cơ bản của mô hình PlanetLab trên mạng diện

rộng. Bao gồm một máy trung tâm PLC cài đặt MyPLC, một số các Node, và User tham

gia hệ thống. Do đó , mô hình hệ thống đƣợc thiết kế nhƣ hình dƣới đây:

Page 23: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 23

1.1. Máy trung tâm:

Máy trung tâm có vai trò nhƣ máy PLC (PlanetLab Central) của hệ thống

PlanetLab trên mạng Internet. Trong hệ thống, nó đƣợc cài đặt phần mềm MyPLC trên hệ

điều hành Fedora 14. Ngoài ra, để cung cấp cách thức truy cập từ xa, và cấu hình thuận

tiện, chúng ta cài đặt thêm proxmox trên máy này.

1.2. Tập hợp các node :

Hệ thống đƣợc thiết kế gồm 4 máy đóng vai trò nhƣ là các nút trong Planetlab, các

máy này đƣợc cài phần mềm cho node (node manager). Sau khi cài đặt, node sẽ đƣợc

quản lý từ xa thông qua ssh.

1.3. User hệ thống :

Hệ thống bƣớc đầu tạo ra các ngƣời dùng, là những ngƣời sử dụng máy tính cá nhân

để tham gia vào hệ thống với quyền và tài khoản đƣợc PI cho phép.

2. Các bước triển khai :

2.1. Yêu cầu hệ thống :

Một Host System cài Fedora 14 (có ổ ghi CD)

Các máy client (4 máy) trên 412M RAM,hơn 50G HDD.

4 đĩa CD-RW

Page 24: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 24

Giữa các máy không bị chặn bởi firewall hay IDS.

Các máy phải có địa chỉ IP tĩnh thuộc cùng hệ thống mạng local (192.168.21.x)

Cài đặt hệ điều hành Fedora 14 cho máy trung tâm, chú ý cấu hình địa chỉ tĩnh cho

máy trung tâm (192.168.21.11)

2.2. Dựng DNS:

Ta sử dụng DNS tích hợp sẵn trong PLC , tạo ra table map nhƣ sau :

192.168.21.12 node1.onelab.net

192.168.21.13 node2.onelab.net

192.168.21.14 node3.onelab.net

192.168.21.15 node4.onelab.net

192.168.21.11 central.onelab.net

2.3. Cài đặt môi trường Proxmox trên máy trung tâm & các node:

Để cung cấp môi trƣờng ảo hóa cho hệ thống mạng, với các tính năng remote

access , cũng nhƣ quản lý thông qua giao diện web, ta sẽ cài đặt môi trƣờng proxmox cho

các máy trong hệ thống mạng xây dựng.

Bạn có thể lên trang chủ của nhà cung cấp , download file ISO cài đặt của chƣơng

trình vơi nhiều phiên bản, để burn ra đỉa CD, hoặc boot qua USB, để cài đặt phần mềm

này vào máy. Ở đây chúng ta sử dụng phiên bản Proxmox 1.9.

Download file ISO của chƣơng trình link :

http://www.proxmox.com/downloads/proxmox-ve/iso-images/132-proxmox-ve-1.9

Tiếp theo, tiến hành Burn ra đĩa CD, có thể dùng phần mềm ÚltraISO.Sau khi

burn ra đĩa CD cài đặt, ta cho vào ổ đĩa của máy cần cài đặt & chờ hệ thống tự động boot

chƣơng trình chạy.

Page 25: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 25

Đên đây, chúng ta nhập vào từ bàn phím các thông số sau : linux ext4 maxroot=25

swapsize=8

Vơi ý nghĩa, cài đặt trên phân vùng ext4, với dung lƣợng cấp phát tối đa sủ dụng

là 25Gb, dung lƣợng swap tối đa là 8Gb

Đến đây, quá trình cài đặt diễn ra tự động, ta sẽ chuyển đến bƣớc cấu hình các

thông số cho quá trình cài đặt. Bao gồm password , username cho admin & các cấu hình

Network Configuration: Host name, IP, Network address, gateway, DNS Server

Page 26: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 26

Sau khi quá trình quá trình đặt thành công (tốn khoảng 30 phút) bạn khởi động lại máy và

đăng nhập vào với tài khoảng và password đã khai báo trong quá trình cài đặt :

Username : root

Password: *******

Page 27: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 27

Sau khi cài đặt xong, bạn cần update lại system:

Lúc này trên một máy remote admin, thuộc cùng dải mạng, có thể truy cập vào máy cài

đặt môi trƣờng proxmox, thông qua giao diên web với địa chỉ IP của máy đó.

Giao diện sau khi đăng nhập thành công :

2.4. Cài đặt trên máy trung tâm :

Truy cập từ xa và thực thi qua giao diện web từ máy remote admin. Công việc cụ thể là

cài đặt & cấu hình MyPLC trên máy trung tâm.

Page 28: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 28

Đầu tiên cần tắt SELINUX, là hệ thống kiểm soát bảo mật cho linux, sẽ cản trở việc cài

đặt MyPLC. Ta sửa file /etc/selinux/config thành SELINUX=disabled.

Tiếp theo chuẩn bị repo và các gói:

Với trƣờng hợp cài đặt lần đầu, cần trỏ tới kho cài đặt MyPLC của châu Âu:

http://build.onelab.eu. Bằng cách thêm vào đầu file /etc/yum.repos.d/fedora nội dụng sau:

Để Fedora lƣu lại các gói sau khi download và cài đặt : chỉnh /etc/yum.conf :

keepcache=1.

Thƣ mục chứa cache packages : /var/cache/yum/. Sao lƣu thƣ mục này để phục vụ các lần

cài đặt sau.

Với trƣờng hợp khi đã có các gói cài đặt PLC:

Sử dụng repo cục bộ: để khi cài đặt , yum sẽ tìm kiếm packages trong thƣ mục cục

bộ (/var/www/html/yum) trƣớc khi tìm kiếm trên mạng.

Copy các gói cài đặt cần thiết vào thƣ mục /var/www/html/yum

Tạo repo cục bộ :

Thêm vào đầu file /etc/yum.repos.d/fedora nội dung sau :

Khởi động dịch vụ http:

Tiếp theo ta cài đặt và cấu hình MyPLC:

Cài đặt MyPLC:

Cấu hình MyPLC :

Page 29: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 29

ấn phím u để chỉnh các thông số:

Ấn ―w‖ để ghi lại các thay đổi vào file config

Ấn ―r‖ để khởi động lại MyPLC

Ấn ―R‖ để MyPLC nạp các thay đổi trong file config.

Khởi động lại dịch vụ MyPLC:

Start/stop the PLC services:

Page 30: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 30

Kiếm tra MyPLC đã cài đặt OK chƣa: Vào địa chỉ : https://central.onelab.net

(https://192.168.21.11 ) và đăng nhập bằng tài khoản root thiết lập ở

trên.([email protected]/root). Giao diện thành công sẽ nhƣ bên dƣới.

2.5. Cài đặt trên các node :

2.5.1. Chuẩn bị :

4 máy sử dụng làm các node, ghi lại địa chỉ MAC , IP, Gateway của các máy này. Các

tham số của các máy nhƣ sau :

node MAC IP Gateway

Node1 00:25:B3:D0:0F:90 192.168.21.12 192.168.21.1

Node2 18:A9:05:25:C0:C4 192.168.21.13 192.168.21.1

Node3 00:25:B3:D0:0F:90 192.168.21.14 192.168.21.1

Node4 18:A9:05:25:C0:C4 192.168.21.15 192.168.21.1

2.5.2. Tạo Site với quyền PI :

Page 31: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 31

Site mặc định (PL- tạo ra trong quá trình cài đặt plc) là dành riêng cho hệ thống. Vì

vậy, cần tạo ra site mới, đồng thời tạo ra một account với quyền role= PI cho site này :

Khi chƣa login , chọn ―File a site registration‖

Điền tên account ngƣời dùng mới và site mới:

User = [email protected] ; pass = fedora ; role = user,PI

Site = bk

\đăng nhập bằng tài khoản admin (user= [email protected] / root)

Vào ―Pending requests Approved‖.

Từ nay, account này ([email protected]) sẽ là ngƣời quản lý các slice và user

khác.

Page 32: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 32

2.5.3. Cài đặt trên các node :

Đăng nhập account PI ([email protected]/fedora)

Vào My Site Add node , lần lƣợt thêm 4 node vào CSDL :

Node1.onelab.net

Node2.onelab.net

Node3.onelab.net

Page 33: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 33

Node4.onelab.net

Với mỗi node : add new interface , điền đầy đủ thông số nhƣ hình dƣới đây :

DNS 1: thƣờng trỏ tới máy chủ MyPLC (192.168.21.11)

DNS 2: máy chủ DNS Google.

Với mỗi node, trong phần Detail :

Mục Preferred Boot state chọn Reinstall

Vào Download chọn download ISO image

Download file ISO về và upload lên hệ thống thông qua công cụ proxmox.

Tiến hành cài đặt từ file ISO trên từng node.

Page 34: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 34

2.6. Sử dụng hệ thống :

Hệ thống tƣơng tác với user hệ thống thông qua hai chế độ làm việc dòng lệnh với

công cụ plcsh bằng cách sử dụng 1 shell linux của máy ngƣời dùng hoặc thông qua một

giao diện web tại địa chỉ local (http://central.onelab.net ) Để biết thêm về chế độ làm việc

với dòng lệnh, xem chi tiếp tài liệu PlanetLab Central API Documentation. Ở đây, chúng

ta chỉ trình bày tƣơng tác thông qua giao diện web.

2.6.1. Các thư mục quan trọng trên hệ thống :

/etc/planetlab : thƣ mục chứa các file cấu hình hệ thống, các khóa.

/var/lib/ppgsql : thƣ mục chứa các tập tin nội dung của cơ sở dữ liệu PostgreSQL

/var/www/html/alpine-logs : thƣ mục ghi lại quá trình boot trên các node, rất thuận

tiện để tìm lỗi khi việc khởi động hay cài đặt các node xuất hiện lỗi.

/var/www/html/download : thƣ mục chứa các tập tin quản lý Boot.

/var/www/html/install-rpms : thƣ mục chứa file nâng cấp cho node hệ thống.

2.6.2. Tạo User :

Để tạo user account mới, vào https://central.onelab.net và click vào ―Create an accout.

Sau khi một ngƣời dùng mới đƣợc tạo trong hệ thống, muốn tài khoản ngƣời dùng đó có

hiệu lực, ta thực hiện đăng nhập với quyền PI và chấp nhận ngƣời dùng này vào hệ thống.

Chú ý : Mặc định thì site tạo ra trong quá trình cài đặt MyPLC không cho phép chọn site

này cho ngƣời dùng mới. Để làm việc này, chúng ta phải chỉnh sửa trong cơ sở dữ liệu

trong MyPLC hoặc tạo ra một site mới khác site hiện tại. Để cho phép user mới đƣợc

thêm vào site, chúng ta chỉnh sửa trong database của postgresql nhƣ sau :

Dùng plcsh sử dụng phƣơng thức UpdateSites():

Page 35: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 35

(bk là tên cấu hình PLC_SHORTNAME ở phần trên)

Mục đích của việc này là chỉnh sửa giá trị mặc định thông số is_public của bảng

site thành true. Còn việc tạo một site mới khác site mặc định, giá trị này là true và không

phải chỉnh sửa.

Khi 1 tài khoản User đƣợc tạo, chúng ta nên login vào tài khoản đó để upload một key

SSH. Trong phần cấu hình tài khoản tìm mục upload key ssh trong ~/.ssh/id_rsa(upload

key public). Để tạo 1 cặp key SSH (public & private) chúng ta dùng lệnh:

Chúng ta sẽ sử dụng key private này để login vào slice với ssh sau này.

2.6.3. Tạo Slice :

Đăng nhập vào https://central.onelab.net bằng tài khoản [email protected] và click

vào mục ―Create Slice‖ điền các thống số cho slice. (ở đây ta tạo ra 2 slice tên là

Ctes_slice1 và bk_clice1)

Thêm ngƣời dùng vào slice đƣợc tạo: ở mục cấu hình slice trên chúng ta thêm 2

ngƣời dùng trong hệ thống là ―user1‖ với key ssh là id_rsa và ―fedora‖ với key ssh

là fedora.rsa. Khi thực hiện thêm ngƣời dùng vào slice, key public của ngƣời dùng

tƣơng ứng cũng đƣợc thêm vào slice.

Thêm node vào slice đƣợc tạo: trong khi cấu hình slice, danh sách các node có thể

thêm vào slice sẽ đƣợc hiện thị. User sẽ thực hiện thêm các node này vào slice tùy

theo nhu cầu làm việc. Trong mục Add Node, chúng ta sẽ lần lƣợt tạo ra 4 node.

Bây giờ, Slice Ctes_slice1 và bk_slice1 có 2 user & 4 node.

Page 36: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 36

Chương 4. KẾT LUẬN & ĐÁNH GIÁ KẾT QUẢ

1. Kết quả đạt được :

Về cơ bản đồ án đã hoàn thành, và thực hiện đƣợc những mục tiêu cơ bản đã đề ra.

Về lý thuyết :

Tìm hiểu công nghệ ảo hóa mạng.

Tìm hiểu kiến trúc PlanetLab

Tìm hiểu các thành phần, chức năng của từng thành phần trong hệ thống mạng

PlanetLab

Tìm hiểu quy trình triển khai một mạng ảo hóa với quy mô local.

Bên cạnh đó , em nắm bắt thêm một số kiến thức liên quan đến các thiết bị triển

khai trong hệ thống mạng. Những vấn đề hay gặp trong khi triển khai hệ thống

mạng trong thực tế.

Về thực nghiệm :

Triển khai thành công mạng PlanetLab quy mô nhỏ trong phạm vi cục bộ.

2. Hạn chế :

Chƣa triển khai đƣợc một ứng dụng trên hệ thống mạng vừa xây dựng, để kiểm tra

hoạt động của hệ thống mạng đó.

3. Hướng phát triển đề tài:

Triển khai một ứng dụng trên hệ thống mạng trên, để đánh giá hoạt động của hệ thống

mạng.

Tiến hành triển khai xây dựng hệ thống mạng PlanetLab có quy mô lớn hơn, trong

phạm vi mạng diện rộng. Kết nối giữa các trƣờng đại học với mục đích trao đổi, hợp tác,

nghiên cứu khoa học.

Page 37: Đồ án Xây dựng hệ thống mạng PlanetLab

Đồ án Thiết kế hệ thống Mạng-2012

Nguyễn Hồng Minh Page 37

TÀI LIỆU THAM KHẢO

1. http://www.planet-lab.org/

2. http://en.wikipedia.org/wiki/PlanetLab

3. http://www.planet-lab.eu/

4. http://www.onelab.eu/index.php/testbeds/onelab-testbeds/planetlab-europe.html

5. http://dl.acm.org/citation.cfm?id=956995

6. http://sword.cs.williams.edu/

7. http://en.wikipedia.org/wiki/Virtual_network

8. http://www.vmware.com/support/ws55/doc/ws_net.html

9. http://technet.microsoft.com/en-us/library/cc720355(v=ws.10).aspx