Đồ Án Tốt Nghiệp Tìm hiểu ảo hóa mạng và triển khai môi trường ảo hóa cho nghiên cứu thực nghiệm thông qua phần mền myplc planetlab, ảo hóa mạng lưới mạng, đồ án tốt nghiệp BKHN. Vấn đề về khoảng cách giửa mô phỏng và triển khai vào thực tế của các thí nghiệm mạng là một bài toán lớn, đòi hỏi một cơ sở hạ tầng mạng nhất định và có kinh phí lớn. Các phần mềm mô phỏng mạng như OmNet ,Ns2, v.v chưa đáp ứng hết được đòi hỏi của các nhà nghiên cứu phát triển mạng. Ảo hóa mạng ra đời nhằm giải quyết vấn đề về kinh phí cho cơ sở hạ tầng mạng bằng cách dùng chung tài nguyên vật lý, nó rút ngắn khoảng cách giửa triển khai và thực nghiệm, tức là thực tế hóa mô phỏng, điều này sẽ đẩy nhanh tốc độ phát triển internet, và quan trọng nhửng đánh giá về tính chất, hiệu quả, tính khả thi sẽ sát thực tế hơn. Làm thế nào để triển khai các ứng dụng, mô phỏng mạng vào thực tế ? PlanetLab chính là hướng để giải quyết vấn đề này. Trong nổ lực mong muốn hổ trợ cho các nhà nghiên cứu mạng, một tổ chức với sự hợp tác của nhiều trường đại học, nhiều tập đoàn CNTT lớn đã kết hợp và tạo ra một môi trường lý tưởng cho các nhà nghiên cứu. Ở đó, họ dể dàng triển khai nhửng thí nghiệm của mình trên mạng diện rộng mà kinh phí cho việc này là bằng 0. Đặt biệt, đối tượng được hưởng lợi từ môi trường Planetlab là tất cả mọi người.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ảo hóa cho nghiên cứu thực nghiệm thông qua
Trang 2PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: Trần Văn Hùng
Điện thoại liên lạc 01684552952 Email: hungtv.hut@gmail.com
Lớp: TTM-k51 Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại: Trường đại học Bách Khoa Hà Nội
Thời gian làm ĐATN: Từ ngày / 1 /2011 đến / 6 /2011
2 Mục đích nội dung của ĐATN
Tìm hiểu công nghệ ảo hóa mạng và triển khai mô trường ảo hóa cho mục đích học tập nghiên cứu mạng thông qua phần mền MyPlc trong dự án Planetlab –EU, dự án tại địa chỉ
http://svn.planet-lab.org/wiki
3 Các nhiệm vụ cụ thể của ĐATN
- Tìm hiểu công nghệ ảo hóa mạng
- Tìm hiểu dự án PlanetLab, cấu trúc mô hình PlanetLab
- Cài đặt và triển khai phần mền MyPlc – là mô hình dự án plannetlab thu nhỏ
- Chạy và vận hành phần mền với các mạng ảo được tạo ra
- Thực hiện ứng dụng đầu tiên trong môi trường đã xây dựng
4 Lời cam đoan của sinh viên:
Tôi- Trần Văn Hùng - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của ts Ngô Hồng Sơn.
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ côngtrình nào khác
Hà Nội, ngày tháng 6 năm 2011
Tác giả ĐATNTrần Văn Hùng
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
Học hàm học vị+điền tên giáo viên hướng
dẫn
Giáo viên có thể viết tay
Trang 3TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Nội dung đồ án tốt nghiệp bao gồm:
Đặt Vấn Đề: Giới thiệu đề tài, xác định mục tiêu, nội dung và phạm vi thực hiện của đồ
án tốt nghiệp
Chương 1 - Tổng quan:
Tìm hiểu về công nghệ ảo hóa mạng và giới thiệu tổng quan về dự án Planetlab, Kiến trúc
tổng thể của toàn hệ thống Planetlab
Chương 2 – Triển khai hệ thống BK-Vlab
- Mục tiêu của hệ thống
- Các thành phần
- Các bước triển khai
Chương 3 – Xây dựng ứng dụng bk-slice1 trên BK-Vlab
- Mục đích, yêu cầu của ứng dụng
Content graduate projects include:
Introduction: About the topic, identifying objectives, content and scope of
implementation of the graduation projects
Chapter 1 - Overview:
Chapter 2 - Investigate and analysis system:
Chapter 3 - System Design
Chapter 4 - Construction and Installation
Conclusion:
Trang 5TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 3
ĐẶT VẤN ĐỀ 6
1 Giới thiệu đề tài 6
2 Nội dung, mục tiêu của đồ án 6
CHƯƠNG 1 TỔNG QUAN 6
PHẦN 1 CÔNG NGHỆ ẢO HÓA MẠNG 7
1.1 Đôi nét về công nghệ ảo hóa mạng 7
1.2– Từ VPNs to VNs 7
1.2 – Thành phần cơ bản của mạng ảo 9
1.3 -Vai trò ảo hóa trong thương mại 12
1.5 ID mạng ảo, ID liên kết ảo 13
1.6 Vấn đề ánh xạ tài nguyên ảo vào trong tài nguyên vật lý 14
PHẦN 2 GIỚI THIỆU VỀ PLANETLAB VÀ KIẾN TRÚC TỔNG THỂ HỆ THỐNG 15
2.0 – Giới thiệu Planetlab 15
2.1 Lịch sử phát triển 17
2.2.Tác động của Planetlab tới nghiên cứu: 17
2.3 Các thuật ngữ dùng trong hệ thống 18
2.4 Mối quan hệ tin cậy giửa các thực thể trong hệ thống 19
2.5 Kiến trúc node planetlab 22
2.6 Kiến trúc Slice 24
CHƯƠNG 2-TRIỂN KHAI HỆ THỐNG BK-VLAB 25
2.0 Mục tiêu của hệ thống BK-VLAB 26
2.1.Thành phần hệ thống BK-VLAB 26
2.1.1.Máy trung tâm cài phần mềm MyPLC 26
2.1.2 Tập hợp các node 27
2.1.3 User hệ thống 27
2.2 Các bước triển khai 28
2.2.1 Yêu cầu hệ thống 28
2.2 2 Cài đặt hệ điều hành Fedora 12 cho máy trung tâm 28
Trang 62.2 3 Đăng nhập máy trung tâm với quyền root 28
2.2.4 Dựng DNS 28
2.2.5.Sửa các thông số 31
2.2.6 Download các gói cần thiết và tạo repo cục bộ 31
2.2.7 Cài Myplc và node repo 32
2.2.8.Cấu hình Plc trên máy trung tâm : (plc-config-tty) và đăng nhập qua web interface 33
2.2.9 Ghi lại địa chỉ Mac của các Client sẽ sử dụng 34
2.2.10 Tạo các CD boot dùng CD RW cho từng node client 34
2.3 Sử dụng hệ thống 36
2.3.1 Thay đổi cấu hình hoặc khởi động lại hệ thống 36
2.3.2 Các thư mục làm việc quan trọng trong hệ thống 37
2.3.3 Tạo user 37
2.3.4 Updae một cặp key ssh 38
2.3.5 Tạo slice 39
2.3.6 Đăng nhập vào slice thông qua SSH bằng các quyền được cấp phát 39
2.3.7 Sử dụng một số công cụ phục vụ hệ thống 40
CHƯƠNG 3 –XÂY DỰNG ỨNG DỤNG BK-SLICE1 TRÊN HỆ THỐNG BK-VLAB 40
3.1 Mục đích của ứng dụng 40
3.2 Yêu cầu ứng dụng 40
3.3 Miêu tả bài toán 41
3.4 Thiết kế và xây dựng 41
3.5 Cài đặt và triển khai 47
3.5.2 Thêm danh sách node trên vào slice với Python 47
3.5.3 -Triển khai kịch bản python tới node 48
3.5.4 Tạo file loggetdata.txt ghi lại dử liệu của slice 49
3.5.5 Chạy kịch bản trên slice 49
3.5.6 Thực hiện tạo file kml và hiển thị kết quả 49
3.6 Đánh giá ứng dụng 50
Trang 7ĐẶT VẤN ĐỀ
Trang 81 Giới thiệu đề tài
Vấn đề về khoảng cách giửa mô phỏng và triển khai vào thực tế của các thí nghiệm mạng là một bài toán lớn, đòi hỏi một cơ sở hạ tầng mạng nhất định và có kinh phí lớn Các phần mềm mô phỏng mạng như OmNet ,Ns2, v.v chưa đáp ứng hết được đòi hỏi của các nhà nghiên cứu phát triển mạng Ảo hóa mạng ra đời nhằm giải quyết vấn đề về kinh phí cho cơ sở hạ tầng mạng bằng cách dùng chung tài nguyên vật lý, nó rút ngắn khoảng cách giửa triển khai và thực nghiệm, tức là thực tế hóa mô phỏng, điều này sẽ đẩy nhanh tốc độ phát triển internet, và quan trọng nhửng đánh giá về tính chất, hiệu quả, tính khả thi sẽ sát thực tế hơn
Làm thế nào để triển khai các ứng dụng, mô phỏng mạng vào thực tế ?
PlanetLab chính là hướng để giải quyết vấn đề này Trong nổ lực mong muốn hổ trợ cho các nhà nghiên cứu mạng, một tổ chức với sự hợp tác của nhiều trường đại học, nhiều tậpđoàn CNTT lớn đã kết hợp và tạo ra một môi trường lý tưởng cho các nhà nghiên cứu Ở
đó, họ dể dàng triển khai nhửng thí nghiệm của mình trên mạng diện rộng mà kinh phí cho việc này là bằng 0 Đặt biệt, đối tượng được hưởng lợi từ môi trường Planetlab là tất
cả mọi người
2 Nội dung, mục tiêu của đồ án
Nội dung của đồ án sẽ bao gồm nhửng ý chính sau:
- Tìm hiểu về công nghệ ảo hóa và hệ thống PlanetLab
- Xây dựng hệ thống BK-VLab là mô hình thu nhỏ của dự án PlanetLab trên mạng diện rộng
- Triển khai ứng dụng nhằm vận hành hệ thống BK-VLab
Vậy mục tiêu của đồ án chính là xây dựng một hệ thống PlanetLab thu nhỏ trong trườngđại học BKHN và bước đầu triển khai ứng dụng trên hệ thống đó
CHƯƠNG 1 TỔNG QUAN
Nội dụng chương 1:
Tìm hiểu về công nghệ ảo hóa mạng và giới thiệu tổng quan về dự án Planetlab, kiến
trúc tổng thể của toàn hệ thống Planetlab
PHẦN 1 CÔNG NGHỆ ẢO HÓA MẠNG
Phần này trình bày các vấn đề, thành phần cơ bản của mạng ảo
1.1 Đôi nét về công nghệ ảo hóa mạng
Công nghệ ảo hóa được chia thành: ảo hóa máy chủ, ảo hóa lưu trữ, ảo hóa cấp hệ điềuhành, ảo hóa mạng (network) và ảo hóa ứng dụng
Trang 9Khái niệm ảo hóa hệ thống mạng đã thu hút rất nhiều sự chú ý từ các diễn đàn công nghiệp và nghiên cứu mạng Sự quan tâm trong lỉnh vực ảo hóa mạng đã phát triển mạnh
mẽ trong cộng đồng mạng nhiều năm qua Ảo hóa mạng đã mở ra khả năng mới cho con đường phát triển Internet trong tương lai bằng cách cho phép triển khai nhiểu kiến trúc vàgiao thức mạng khác nhau trên cùng một cơ sở hạ tầng vật lý chia sẽ
Tuy nhiên trong quá trình triển khai ảo hóa mạng nảy sinh nhưng yêu cầu và đặt ra nhưng vấn đề mới liên quan đến cách thức cấp quyền, quản lý và kiểm soát mạng như thực tế hiện nay
Việc xem xét vấn đề ảo hóa mạng từ cách nhìn nhận bởi nhiều phía, từ nhà nghiên cứu,nhà cung cấp cơ sở hạ tầng mạng, sẽ giúp chúng ta có một bức tranh rõ hơn về thực trạng, thách thức, và khã năng phát triển trong ảo hóa mạng
1.2– Từ VPNs to VNs
Mạng riêng ảo hay VPN (viết tắt cho Virtual Private Network) là một mạng dành riêng
để kết nối các máy tính của các công ty, tập đoàn hay các tổ chức với nhau thông qua mạng Internet công cộng VPN được thiết kế cho những tổ chức có xu hướng tăng cường thông tin từ xa vì địa bàn hoạt động rộng (trên toàn quốc hay toàn cầu) Tài nguyên ở trung tâm có thể kết nối đến từ nhiều nguồn nên tiết kiệm được được chi phí và thời gian
Khái niệm về ảo hóa mạng là không mới – nó là cụ thể hóa một phần theo nhiều cách khác nhau mạng VPNs cơ bản – và VPNs đã rất thành công trong việc cung cấp mạng riêng ảo trên cơ sở vật lý thông thường
Trang 10Nhìn chung mạng ảo hay mạng riêng ảo đều cung cấp một cách nhìn trừu tượng giửa người dùng và tài nguyên vật lý, người dùng có cảm giác như đang tương tác trực tiếp với tài nguyên phần vật lý.
Đến đây chúng ta có thể hỏi cần VN để làm gì khi VPN đã rất thành công trong việc triểnkhai các yếu tố ảo hóa ? VPNs đã hoàn thành tốt mục tiêu là cung cấp các mạng khác nhau trên cùng một cơ sở hạ tầng vật lý, nhưng vẩn còn một số hạn chế , một trong số đó là:
- Tất cả các mạng ảo dựa trên cùng một công nghệ và chồng giao thức( protocol stack)
[1], điều đó ngăn cản sự cùng tồn tại của các giải pháp mạng khác nhau;
- Theo mặc định một sự cô lập trên thực tế các tài nguyên mạng ảo là không thể;
- Không thể tách biệt hoàn toàn vai trò của nhà cung cấp cơ sở hạ tầng và nhà cung cấp dịch vụ VPN , trong thực tế chúng được cung cấp bởi cùng một thực thể;
Bước tiến xa hơn của ảo hóa Mạng là cho phép khả năng lập trình độc lập của các mạng
ảo Điều này có nghĩa là một mạng ảo không còn nhất thiết phải dựa trên IP, hoặc bất cứ công nghệ đặc biệt nào khác, và bất kỳ một loại kiến trúc mạng nào trên nguyên tắc đều
có thể được xây dựng trên một mạng ảo
Một sức mạnh quan trọng của ảo hóa là khả năng riêng để xử lý nhiều nhà cung cấp kịch bản và ẩn đi các đặc điểm riêng của cơ sở hạ tầng mạng, bao gồm cả sự tồn tại của nhiều miền quản trị Đây luôn là một vấn đề phức tạp với VPN dù hiện tại vẩn đang tồn tại một
số giải pháp tạm thời
Cuối cùng, Ảo hóa mạng cung cấp một sự cô lập hoàn toàn các mạng ảo cùng chia sẽ một
cơ sở hạ tầng vật lý
1.2 – Thành phần cơ bản của mạng ảo
Ảo hóa mạng bao gồm hai thành phần chính đó là ảo hóa link và ảo hóa node
Ảo hóa link 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ể được xác định nó một cách hoàn toàn, chẳng hạn, bằng một khe thời gian (time slot=khoảng thời gian 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 trong internet ngày nay (ví dụ như e.g 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
Trang 11Hình 1- Network virtualization model
Ở cấp độ bề mặt, các node bề mặt là thiết bị mạng có khả năng hỗ trợ node ảo bằng các 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 routers) 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 dường như cho mọi 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ý chung dụng Tuy nhiên, trong nhiều trường hợp, một bộ định tuyế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
Trang 12Một node thuộc Network subtrate 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 node ả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ậphợp hơn là xử lý từng liên kết ảo( liên kết ảo trình bày ở phần sau) Một số node 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êt 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 (đây là trường hợpnode b trong hình 2)
Hình 2- Các yếu tố cơ bản của ảo hóa mạng
Từ quan điểm xem xét theo chức năng, node 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 subtrate, đó 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 node 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 Ví dụ có thể lưu trử các node ảo và có thể
hổ trợ lưu lượng non-VN (node b trong hình 2) Một node core có hổ trợ VN có thể được kết nối với node biên(edge) ,hoặc các node core khác có hổ trợ ảo hóa hoặc không
Trang 13Core transport nodes : Không hổ trợ ảo hóa node, là node core đặc trưng cho chuyển lưulượng
Border nodes: Được kết nối với node Border láng giềng nằm ở mạng khác
Nên chú ý rằng các node có thể có nhiều hơn một chứa năng Ví dụ node b trong hình 2 vừa là node core hổ trợ VN, vừa là node có chức năng trung chuyển ( transport)
Trong hình 3 biểu diển kịch bản với 2 miền mạng khác nhau A và B có đầy đủ 4 loại node được miêu tả ở trên
Hình 3 – Bốn loại node
1.3 -Vai trò ảo hóa trong thương mại
Nhìn chung, mô hình mạng ảo trong thương mại được phân thành các vai trò chính sau:
Trang 14-Nhà cung cấp cơ sở hạ tầng (viết tắc là INP) triển khai và điều hành mạng lưới các tài nguyên vật lý, và phân vùng chúng vào các slice độc lập, sử dụng một số công nghệ ảo hóa Thông thường, các tài nguyên này là cung cấp cho một nhà cung cấp dịch vụ, không phải cho người dùng cuối Yêu cầu nhà cung cấp cơ sở hạ tầng phải đảm bảo tính thiết thực, khã năng quản lý, khã năng điều khiển tài nguyên mạng, khã năng cô lập, khã năng
mở rộng,
-Nhà cung cấp mạng ảo (VNP) chịu trách nhiệm tìm kiếm và soạn thảo các thiết lập thíchhợp từ các tài nguyên ảo do 1 hoặc nhiều INP nhằm hoàn thành yêu cầu của việc ảo hóa mạng VNP thuê lại các slice của cơ sở hạ tầng ảo hóa từ một hoặc nhiều INP và đặt chúng lại với nhau để xây dựng nên mạng ảo
- The virtual network operator (VNO)- nhà khai thác mạng ảo thực thi các giao thức chồng và các kiến trúc mạng thông qua một VN, và là độc lập với công nghệ vật lý bên dưới Hoạt động của VNO là duy trì, khiển soát và và quản lý mạng ảo
Lưu ý rằng mô hình này không loại trừ trường hợp 2 hoặc 3 nhiệu vụ được thực hiện trong cùng một thực thể
Nếu mạng ảo chỉ được nhìn nhận từ phía các nhà kỹ sư thì rất khó để thương mại hóa
Nó chỉ thật sự được thương mại hóa nếu nó được các nhà cung cấp dịch vụ mạng hổ trợ đầy đủ để xây dựng nó
1.5 ID mạng ảo, ID liên kết ảo
Như đã nói trước, một mạng ảo có thể có nhiều vùng cơ sở hạ tầng mạng khác nhau, để cung cấp và kiểm soát service mạng riêng trên nhiều cơ sở hạ tầng như vậy cần có một cơchế để nhận diện một mạng riêng cụ thể trên quy mô toàn cầu thông qua Virtual Network ID
Việc này được thực hiện bằng cách ghép 2 mảng thông tin – thông tin xác định tổ chức chịu trách nhiệm về VN(theo nguyên tắc, là các VNO) mà được xem là độc lập và duy nhất trên toàn cầu với thông tin về các ID được cấp từ VNO tới VN và nó là duy nhất trong miền quản trị
Ngoài ra, việc xác định liên kết ảo bằng một ID liên kết ảo cũng được yêu cầu Hầu hết giải pháp đơn giản nhất là việc chỉ lập một ánh xạ duy nhất của VLID (virtual link ID) tớimột thẻ tag đánh dấu riêng biệt của tầng data link.Bên nhận data dựa vào thẻ tag này để biết dử liệu đến là thuộc liên kết ảo nào Một số các công nghệ ảo hóa liên kết đang có hiệu lực mà có thể dùng cho việc này như là ATM Ethernet,Vlan hoặc MPLS Điều này
có nghĩa là các VLID được sử dụng vừa là định danh cho liên kết ảo vừa là thẻ tag đánh dấu cho chuyển tiếp dử liệu Và việc này đòi hỏi muốn thực hiện phải có kinh phí
Trang 15Trên thực tế,các mô hình ảo hóa mạng bước đầu thành công khi tách rõ chức năng của node biên và node lỏi (core) Chỉ các node biên mới được xử lý và hổ trợ ảo hóa trong khinode lỏi chỉ quan tâm đến việc chuyển tiếp gói tin và do đó việc tăng việc tăng số lượng mạng riêng ảo không làm ảnh hưởng gì đến mạng lỏi.
1.6 Vấn đề ánh xạ tài nguyên ảo vào trong tài nguyên vật lý
Hình 5 – Ánh xạ tài nguyên mạng ảo tới tài nguyên mạng vật lý
Khi một INP(nhà cung cấp cơ sỡ hạ tầng cho mạng ảo) nhận một yêu cầu cài đặt từ VNP,hai hoặt động phải được tiến hành đó là:
-INP kiểm tra tài nguyên xem có đáp ứng được yêu cầu về cài đặt hoặc sửa đổi một VN hay không và đem ra quyết định chấp nhận hoặc không
- Ánh xạ giửa tài nguyên ảo và tài nguyên vật lý: InP xác định tập các node nền có khã năng và liên kết tới host mà có yêu cầu mạng ảo và lựa chọn giải pháp tốt dựa trên các tiêu chí
Việc tìm kiếm một ánh xạ tối ưu từ node ảo tới node vật lý là một kỹ thuật quan trọng có nhiều điểm giống với MPLS truyền thống, đó là kỹ thuật trong việc lựa chọn đường đi tốtnhất cho data thông qua các mạng domain, dựa trên một tập các rằng buộc phải thực hiện.Tuy nhiên, trong thực tế, thực hiện việc này là khá phức tạp bởi vì nút ảo nảy sinh thêm vấn đề tính toán nguồn tài nguyên
Trang 16Một ví dụ đơn giản được biểu diển như hình 5, trong đó phần bên trên là mạng ảo được VNP yêu cầu tới InP, phần bên dưới là thể hiện cho cơ sở hạ tầng mạng vật lý, là mạng được yêu cầu ảo hóa.
Quá trình ánh xạ tài nguyên mạng ảo vào tài nguyên vật lý được đề nghị chia thành 2 bước tuần tự đó là:
1.Cấp phát các node biên ảo, là các điểm mà lưu lượng đi vào hoặc đi ra khỏi mạng ảo, thường bị hạn chế bởi vị trí địa lý Trong ví dụ ở hình trên, việc ánh xạ của các node ảo
A, B, C, F, G, H được quyết định dựa trên vị trí địa lý của các điểm dịch vụ tương ứng vànode vật lý sẽ được lựa chọn cho phù hợp.(a,b,c,f,g,h)
2 Cấp phát các node lỏi Trong hình vẽ đó là các node f và k tương ứng trong mạng ảo là các node D và E là 2 node được ánh xạ tới, về nguyên tắc, bất kỳ node nào trong
substrate củng có thể được lựa chọn,bước này gồm 2 công việc chính sau:
i Lựa chon node subtrate phù hợp với yêu cầu của mạng ảo
ii.Tìm kiếm đường đi tốt nhất để ánh xạ các liên kết ảo mà kết nối các nodes ảo
Bước một là tương đối dể dàng nhưng bước 2 là khá phức tạp.Thông thường người ta sẽ ánh xạ các node vật lý vào các node ảo trước , sau đó sẽ tiến hành xác định đường đi ngắn nhất cho các liên kết ảo
PHẦN 2 GIỚI THIỆU VỀ PLANETLAB VÀ KIẾN TRÚC TỔNG THỂ HỆ
THỐNG
(Phần 2 trình bày về chủ yếu về kiến trúc hệ thống Planetlab)
2.0 – Giới thiệu Planetlab
Như đã nói ở phần giới thiệu đề tài, rào cản lớn nhất để phát triển internet trong tương lai chính là sự triển khai các các mô hình internet từ các thí nghiệm mô phỏng vào thực tế, điều này là khó khăn vì có luôn có khoảng cách đáng kể giửa các mô hình mô phỏng internet bằng công cụ này hay công cụ khác với việc triển khai trên nền internet Và tất nhiên, không phải thí nghiệm nào chúng ta cũng có thể triển khai được trên thực tế vì điều đó là rất tốn kém,đòi hỏi phải có một cơ sở hạ tầng nhất định, thông thường là được tài trợ bởi bên thứ 3, nếu bạn chứng minh được tính hiệu quả, vv Planetlab ra đời chính
là giải pháp hiệu quả để rút ngắn khoảng cách này, tạo môi trường thực nghiệm
Trang 17Hình 1: vấn đề trong phát triển 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ứutrên hệ thống phân tán và các dịc vụ mạng mới
Trang 182.1 Lịch sử phát triển
Tháng 3 năm 2002 Larry Peterson (Princeton) và David Culler (UC Berkeley và Intel Research) tổ chức một "kín" cuộc họp của các nhà nghiên cứu quan tâm đến dịch vụ mạng quy mô hàntinh, và đề xuất PlanetLab như là một thử nghiệm Hội nghị thu hút 30 nhà nghiên cứu từ MIT, Washington, Rice, Berkeley, Princeton, Columbia, Duke, CMU,
và Utah David Tennenhouse (Intel Research) ủng hộ cho dự án 100 máy Planetlab chínhthức bắt đầu và phát triển
Hiện nay,(tính đến tháng 2 năm 2011) PlanetLab đã có 1040 node tại 513 site tham gia vào hệ thống và đang tỏ ra hoặt động có hiệu quả Trung tâm điều kiể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
2.2.Tác động của Planetlab tới nghiên cứu:
Planetlab trở 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àng và các dịch vụ mạng mớ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
Trang 19PlanetLab 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
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
2.3 Các thuật ngữ dùng trong hệ thống
- Site: Một site là một vị trí vật lý nơi mà các node planetlab được đặt (ví dụ, Đại học
Bách Khoa Hà Nội)
- Node: Node là một server đượ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 : Slice là tập hợp các tài nguyên phân tán được phân bổ cho người dùng thông
qua PlanetLab Với hầu hết người dùng, một slice truy cập tới các node 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 node 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ìnhtrạng của slice và cần làm mới slice định kỳ
- 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à một thành viên giảng dạy tại một trường đại học mà quản lý dự án của đang nghiên cứu của một 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ể chophép, không cho phép hay xóa một 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: Là bất kỳ ai sử dụng planetlab để nghiên cứu và triển khai các ứng dụng mạng,
các dịch vụ mạng mới,nghiên cứu hệ thống phân tán, PI cũng có thể là một User
Trang 202.4 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 3 thực thể riêng biệt đó là Owner, User, và PLC
Hình x – Quan hệ các thực thể trong hệ thống Planetlab
Owner là một tổ chức mà là người sở hữu các node planetlab Mổi owner vẩn giữ được quyền điều kiển cao nhất tới node của họ, nhưng họ tin tưởng PLC là quản lý trung gian tin cậy PLC cung cấp một 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 node của mình
PLC là một trung gian đáng tin cập trong việc thay mặt cho chủ sở hửu node quản lý node , và tạo ra các slice trên các node( tức là có quyền cho một node vào một slice nào đó) trên danh nghĩa của người dùng
Trang 21Hình x –Sơ đồ quan hệ giửa các thực thể
Hình x 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, 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 Người dùng với PLC: Người dùng 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ó
3 Owner với PLC: Owner giao phó cho PLC thiết lập người dùng, cài đặt phần mền
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ền này phải được làm việc độc lập với tài nguyên slice và có đượ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 node vật lý PLC cũng xác nhận rằng mổi node mà nó quản lý thực tế thuộc về mộtchủ 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ó 2 nhiệm vụ chính, đó là thay mặt Owner quản lý tập hợp các node 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 2 thực thể độc lập cho phép ta thấy được vai trò riêng biệt của từng thực thể
5 Để hổ trợ kiểm tra, mổi MA( và gián tiếp, các owner mà nó đại diện) giao cho SA ánh xạ slice tới user.Owner có thể chọn một SA khác nếu nó cảm thấy không tin cậy MA hiện tại
6 Mổi SA( là gián tiếp, đại diện cho các người dùng) có thể tin cập dung 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
Trang 22Hình x- Kiến trúc hệ thống Planetlav
MA có nhiệm vụ cài đặt và bảo vệ phần mềm trên mổi node
SA có nhiệm vụ ghi danh cho Service Developers (là người triển khai và thực thi dịch vụ mạng đồng thời chụi trách nhiệm về hành vi của các dịch vụ đó) và tạo slice để gán chúng cho Owner(Provider) có trách nhiệm
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:
Đầu tiên, mỗi node được khởi động từ một 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 node Ở đây giả thiết rằng chủ sở hửu node bảo đảm tuyệt đối các khóa riêng trên node họ quản lý
Các node sau đó 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, và 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
Trang 23Thứ 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ừ node Dịch vụ này được công khai trên mổi node 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
2.5 Kiến trúc node planetlab
Node 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 node được phân biệt bằng id riêng( id_node) từ đó có thể xác định được site chứa node, địa chỉ IP hiện hành của node, địa chỉ Mac, vv Các thuộc tính này có thể thay đổi theo thời gian, điều này cho phép node 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ẻ
Node 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 x - Kiến trúc node planetlab
NM( node manager) là một chương trình chạy trên mổi node mà tạo ra các máy ảo trên
các node đó ,và điều kiển việc phân bổ tài nguyên tới các máy ảo Tất cả các hoạt động
mà nhằm điều kiển các máy ảo trên mổi node được thực hiện thông qua NM; Ở đây có một ánh xạ một một giửa node 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 node
Slicestat cung cấp thông tin về tài nguyên hoạt động của slice trên node
Trang 24VNET 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à trái tim 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, ICM, GRE và PPTP
Hình x – Các thành phần trong một node planetlab 2.6 Kiến trúc Slice
Slice chính là tập hợp các node ả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
Khi Slice được tạo và được PI cấp quyền, một tài khoản tương ứng với tên slice sẽ được sinh ra trên node tương ứng thuộc slice đó, người dùng truy cập quyền với tài khoảnslice này thông qua cơ chế SSH Cụ thể :
- Khi slice được gián cho người dùng cụ thể, nó sẽ tự update thông tin về người
Trang 25- User giao tiếp với slice của họ thông qua cặp khóa (public và privace) 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 của User
Trong cùng một tập hợp node, 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 node
Hình x – Các node có thể thêm vào slice
Hình x – Slice A cho người dùng A