1. Trang chủ
  2. » Công Nghệ Thông Tin

Đồ á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

50 239 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 1,7 MB
File đính kèm phonehome.rar (447 B)

Nội dung

Đồ Á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.

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN TÊN ĐỀ TÀI Tìm hiểu ảo hóa mạng 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 Sinh viên thực hiện: Trần Văn Hùng Lớp TTM – K51 Giáo viên hướng dẫn: TS Ngô Hồng Sơn HÀ NỘI 6-2011 Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ 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 quy Đồ án tốt nghiệp thực tại: Trường đại học Bách Khoa Hà Nội Thời gian làm ĐATN: Từ ngày / /2011 đến / /2011 Mục đích nội dung ĐATN Tìm hiểu cơng nghệ ảo hóa mạng triển khaitrườ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 dự án Planetlab –EU, dự án địa http://svn.planet-lab.org/wiki Các nhiệm vụ cụ thể Đ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 triển khai phần mền MyPlc – mô hình dự án plannetlab thu nhỏ - Chạy vận hành phần mền với mạng ảo tạo - Thực ứng dụng môi trường xây dựng Lời cam đoan sinh viên: Tôi- Trần Văn Hùng - cam kết ĐATN công trình nghiên cứu thân tơi hướng dẫn ts Ngô Hồng Sơn Các kết nêu ĐATN trung thực, chép tồn văn cơng trình khác Hà Nội, ngày tháng năm 2011 Tác giả ĐATN Trần Văn Hùng Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ: Giáo viên viết tay 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 Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A TÓ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 phạm vi thực đồ án tốt nghiệp Chương - Tổng quan: Tìm hiểu cơng nghệ ảo hóa mạng giới thiệu tổng quan dự án Planetlab, Kiến trúc tổng thể toàn hệ thống Planetlab Chương – Triển khai hệ thống BK-Vlab - Mục tiêu hệ thống - Các thành phần - Các bước triển khai Chương – Xây dựng ứng dụng bk-slice1 BK-Vlab - Mục đích, yêu cầu ứng dụng - Thiết kế xây dựng - Cài đặt triển khai - Đánh giá thử nghiệm Kết luận – Đánh giá đồ án , mặt hạn chế, đưa định hướng phát triển tương lai ABSTRACT OF THESIS Content graduate projects include: Introduction: About the topic, identifying objectives, content and scope of implementation of the graduation projects Chapter - Overview: Chapter - Investigate and analysis system: Chapter - System Design Chapter - Construction and Installation Conclusion: LỜI CẢM ƠN Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A MỤC LỤC Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A ĐẶT VẤN ĐỀ Giới thiệu đề tài Vấn đề khoảng cách giửa mô triển khai vào thực tế thí nghiệm mạng tốn lớn, đòi hỏi sở hạ tầng mạng định có kinh phí lớn Các phần mềm mô mạng OmNet ,Ns2, v.v chưa đáp ứng hết đòi hỏi nhà nghiên cứu phát triển mạng Ảo hóa mạng đời nhằm giải vấn đề kinh phí cho sở hạ tầng mạng cách dùng chung tài nguyên vật lý, rút ngắn khoảng cách giửa triển khai thực nghiệm, tức thực tế hóa mơ phỏng, điều đẩy nhanh tốc độ phát triển internet, quan trọng nhửng đánh giá tính chất, hiệu quả, tính khả thi sát thực tế Làm để triển khai ứng dụng, mô mạng vào thực tế ? PlanetLab hướng để giải vấn đề Trong nổ lực mong muốn hổ trợ cho nhà nghiên cứu mạng, tổ chức với hợp tác nhiều trường đại học, nhiều tập đoàn CNTT lớn kết hợp tạo môi trường lý tưởng cho nhà nghiên cứu Ở đó, họ dể dàng triển khai nhửng thí nghiệm mạng diện rộng mà kinh phí cho việc Đặt biệt, đối tượng hưởng lợi từ môi trường Planetlab tất người Nội dung, mục tiêu đồ án Nội dung đồ án bao gồm nhửng ý sau: - Tìm hiểu cơng nghệ ảo hóa hệ thống PlanetLab - Xây dựng hệ thống BK-VLab mô hình thu nhỏ dự án PlanetLab 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 đồ án xây dựng hệ thống PlanetLab thu nhỏ trường đại học BKHN bước đầu triển khai ứng dụng hệ thống CHƯƠNG TỔNG QUAN Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A Nội dụng chương 1: Tìm hiểu cơng nghệ ảo hóa mạng giới thiệu tổng quan dự án Planetlab, kiến trúc tổng thể toàn hệ thống Planetlab PHẦN CƠNG NGHỆ ẢO HĨA MẠNG Phần trình bày vấn đề, thành phần mạng ảo 1.1 Đôi nét công nghệ ảo hóa mạng Cơng nghệ ảo hóa chia thành: ảo hóa máy chủ, ảo hóa lưu trữ, ảo hóa cấp hệ điều hành, ảo hóa mạng (network) ảo hóa ứng dụng Khái niệm ảo hóa hệ thống mạng thu hút nhiều ý từ diễn đàn công nghiệp nghiên cứu mạng Sự quan tâm lỉnh vực ảo hóa mạng phát triển mạnh mẽ cộng đồng mạng nhiều năm qua Ảo hóa mạng mở khả cho đường phát triển Internet tương lai cách cho phép triển khai nhiểu kiến trúc giao thức mạng khác sở hạ tầng vật lý chia Tuy nhiên trình triển khai ảo hóa mạng nảy sinh yêu cầu đặt vấn đề liên quan đến cách thức cấp quyền, quản lý kiểm soát mạng thực tế Việc xem xét vấn đề ảo hóa mạng từ cách nhìn nhận nhiều phía, từ nhà nghiên cứu, nhà cung cấp sở hạ tầng mạng, giúp có tranh rõ thực trạng, thách thức, khã phát triển ả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) mạng dành riêng để kết nối máy tính cơng ty, tập đồn hay tổ chức với thông qua mạng Internet công cộng VPN thiết kế cho tổ chức có xu hướng tăng cường thơng tin từ xa đị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 kết nối đến từ nhiều nguồn nên tiết kiệm được chi phí thời gian Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A Khái niệm ảo hóa mạng khơng – cụ thể hóa phần theo nhiều cách khác mạng VPNs – VPNs thành công việc cung cấp mạng riêng ảo sở vật lý thông thường Nhìn chung mạng ảo hay mạng riêng ảo cung cấp cách nhìn trừu tượng giửa người dùng tài nguyên vật lý, người dùng có cảm giác tương tác trực tiếp với tài nguyên phần vật lý Đến hỏi cần VN để làm VPN thành cơng việc triển khai yếu tố ảo hóa ? VPNs hoàn thành tốt mục tiêu cung cấp mạng khác sở hạ tầng vật lý, vẩn số hạn chế , số là: - Tất mạng ảo dựa công nghệ chồng giao thức( protocol stack) [1], điều ngăn cản tồn giải pháp mạng khác nhau; - Theo mặc định cô lập thực tế tài nguyên mạng ảo không thể; - Khơng thể tách biệt hồn tồn vai trò nhà cung cấp sở hạ tầng nhà cung cấp dịch vụ VPN , thực tế chúng cung cấp thực thể; Bước tiến xa ảo hóa Mạng cho phép khả lập trình độc lập mạng ảo Điều có nghĩa mạng ảo khơng thiết phải dựa IP, công nghệ đặc biệt khác, loại kiến trúc mạng nguyên tắc xây dựng mạng ảo Một sức mạnh quan trọng ảo hóa khả riêng để xử lý nhiều nhà cung cấp kịch ẩn đặc điểm riêng sở hạ tầng mạng, bao gồm tồn nhiều miền quản trị Đây vấn đề phức tạp với VPN dù vẩn tồn số giải pháp tạm thời Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A Cuối cùng, Ảo hóa mạng cung cấp lập hồn tồn mạng ảo chia sở hạ tầng vật lý 1.2 – Thành phần mạng ảo Ảo hóa mạng bao gồm hai thành phần ảo hóa link ảo hóa node Ảo hóa link cho phép truyền tải nhiều liên kết ảo riêng biệt thông qua liên kết vật lý chia Một liên kết ảo thường xác định rõ ràng thẻ tag, xác định cách hồn tồn, chẳng hạn, khe thời gian (time slot=khoảng thời gian phân chia kênh truyền theo khoảng thời gian khác để tạo thành kênh riêng) bước sóng Có nhiều cơng nghệ ảo hóa liên kết chuẩn có sẵn internet ngày (ví dụ e.g ATM, Ethernet 802.1q, MPLS) dùng cho mục đích Mơ hình mạng ảo hóa thể hình Hình 1- Network virtualization model Ở cấp độ bề mặt, node bề mặt thiết bị mạng có khả hỗ trợ node ảo cơng nghệ ảo hóa Một nút bề mặt thường chứa số nút ảo Các nút ảo yếu tố trung tâm kiến trúc mạng ảo Khái niệm ảo hóa nút cụ thể hóa, đến mức độ đó, định tuyến ảo(virtual routers) Mặc dù việc thực ý tưởng thực tế có vài biến thể, điều kiện Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thông mạng A chung, định tuyến ảo dường cho mục đích (ví dụ: cấu hình, quản lý, giám sát, xử lý cố) giống router vật lý chung dụng Tuy nhiên, nhiều trường hợp, định tuyến ảo cung cấp cảm giác độc lập làm việc phân cách thực sự, khơng đủ nhớ chuyên dụng, tiến trình xử lý tài nguyên I / O Ảo hóa node dựa cách ly phân vùng tài nguyên phần cứng Tài nguyên vật lý lớp subtrate (e.g CPU, memory, storage capacity, link bandwidth) phân vùng phân bổ slices, mổi slice phân bổ tới node ảo tùy theo nhu cầu cài đặt Những phát triển gần hoạt động hệ thống ảo phép có tiến đáng kể tính bình đẳng tính hiệu suất Ảo hóa node bề mặt kết hợp với ảo hóa link việc liên kết ảo node bề mặt cho phép tạo mạng ảo có chức tương đương mạng vật lý Một node thuộc Network subtrate có nhiều liên kết vật lý thực liên kết ảo sở liên kết vật lý Tương ứng node ảo có nhiêu liên kết ảo Vì lý mở rộng liên kết ảo xử lý theo tập hợp xử lý liên kết ảo( liên kết ảo trình bày phần sau) Một số node bề mặt, việc điểm kết thúc liên kết ảo, thực thêt trung gian chuyển tiếp lưu lượng truyền tải liên kết ảo cách rõ ràng (đây trường hợp node b hình 2) Hình 2- Các yếu tố ảo hóa mạng Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A Hình x- Giao diện tạo node Dùng CD khởi động cho máy để tiến hành cài đặt node, đĩa dùng mổi khởi động node Cần tránh việc khởi động node nhiều 2.3 Sử dụng hệ thống Hệ thống tương tác với User hệ thống thông qua chế độ chế độ làm việc dòng lệnh thông qua công cụ tên plcsh sử dụng shell linux máy người dùng thông qua giao diện web địa https://central.onelab.net Để biết thêm chế độ làm việc với dòng lệnh, xem chi tiết tài liệu PlanetLab Central API Documentation https://www.planet-lab.org/doc/plc_api Ở trình bày cách sử dụng thơng qua giao diện web cho người tham gia hệ thống BK-Vlab 2.3.1 Thay đổi cấu hình khởi động lại hệ thống Khởi động lại phần mềm Myplc máy trung tâm hệ thống khởi động lại hệ thống, hình khởi động thành cơng sau: Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A Hình x- khởi động thành cơng Để thay đổi cấu hình hệ thống dùng lệnh [root@central ~]# plc-config-tty nói phần cấu hình hệ thống 2.3.2 Các thư mục làm việc quan trọng hệ thống • /etc/planetlab: Thư mục chứa file cấu hình hệ thống, khóa • /var/lib/pgsql: Thư mục chứa tập tin nội dung sở dử liệu PostgreSQL • /var/www/html/alpina-logs: Thư mục ghi lại q trình boot node, thuận tiện để tìm lổi việc khởi động hay cài đặt node xuất lổi • /var/www/html/boot: Thư mục chứa tập tin quản lý khởi Boot • /var/www/html/download: Thư mục chứa file cài đặt cho node tạo • /var/www/html/install-rpms: Thư mục chứa file nâng cấp cho node hệ thống Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thông mạng A 2.3.3 Tạo user Để tạo user account mới, vào https://central.onelab.net click "Create an account" Mặc định site tạo trình cài đặt plc không cho phép chọn site cho người dùng Để làm việc phải chỉnh sửa sở dử liệu planetlab tạo site khác site Để cho phép user thêm vào site ,chúng ta chỉnh sửa postgresql database sau: Dùng plcsh sử dụng phương thức UpdateSites() * plcsh method: [myplc] ~ # plcsh >>> UpdateSite('bk',{'is_public':True}) [press ctrl-D to exit] (bk tên cấu hình PLC_SHORTNAME phần trên) Mục đích việc chỉnh sửa giá trị mặc đinh thành true thông số is_public table site Còn tạo site khác site mặc định, giá trị true chỉnh sửa Sau người dùng tạo hệ thống, muốn tài khoản người dùng có hiệu lực, ta thực đăng nhập với quyền PI chấp nhận người dùng vào hệ thống BK-Vlab 2.3.4 Updae cặp key ssh Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A Khi tài khoản User tạo, nên login vào tài khoản để upload key SSH Trong phần cấu hình tài khoản tìm mục upload key ssh ~/.ssh/id_rsa( upload key public) Để tạo cặp key SSH (pub private) dùng lệnh: [root@central ~]# ssh-keygen –t rsa Generating public/private rsa key pair Enter file in which to save the key (/root/.ssh/id_rsa): Note : (only RSA keys are supported) make sure you use ssh-keygen -t rsa and not ssh-keygen -t dsa Chúng ta cần sử dụng key ssh để login vào slice sau 2.3.5 Tạo slice Đăng nhập vào https://central.onelab.net tài khoản fedora@gmail.com click vào mục “Create Slice” điền thông số cho slice ( ta tạo slice tên Ctes_slice1 bk_hungslice1 ) Thêm người dùng vào slice tạo: Ở mục cấu hình slice thêm người dùng user1 với key ssh id_rsa người dùng fedora với key ssh fedora.rsa Khi thực thêm người dùng vào slice, key public người dùng tương ứng củng thêm vào slice Thêm node vào slice tạo : Trong cấu hình slice, danh sách node thêm vào slice hiển thị, User thực thêm node vào slice tùy theo nhu cầu làm việc Trong mục Add node, tạo node node1.onelab.net ; node2.onelab.net ; node3.onelab.net Bây Slice Ctes_slice1 bk-hungslice1 có user,3 node Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A 2.3.6 Đăng nhập vào slice thông qua SSH quyền cấp phát Người dùng đăng nhập vào slice thơng qua giao thức ssh, xác người dùng sử dụng key private đăng nhập vào tài khoản slice nhửng node thuộc slice riêng họ Đăng nhập với quyền user, sử dụng lệnh: ssh –i /root/.ssh/id_rsa ctes_slice1@node1.onelab.net id_rsa key private người dùng, ctes_slice1 tên slice User Đăng nhập với quyền PI, sử dụng lệnh: ssh –i /root/.ssh/fedora.rsa ctes_slice1@node1.onelab.net 2.3.7 Sử dụng số công cụ phục vụ hệ thống Rõ ràng ta thấy hoạt động hệ thống gặp khó khăn số lượng VM slice lớn, khó khăn kiểm sốt, triển khai tất node Một số công cụ phục vụ cho hệ thống bên thứ cần thiết Ở xin giới thiệu công cụ phổ biến sữ dụng hiệu PIMan PIMan công cụ để quản lý slice Đây dự án đại học Washington rút quản lý slice dể dàng hơn, thêm danh sách node cho slice người dùng, triển khai cách tin cậy tập tin tất node thuộc slice, cài đặt hướng dẩn sữ dụng cụ thể trang web thức http://www.cs.washington.edu/research/networking/cplane/ CHƯƠNG –XÂY DỰNG ỨNG DỤNG BK-SLICE1 TRÊN HỆ THỐNG BK-VLAB 3.1 Mục đích ứng dụng Ứng dụng thiết kế với mục đích thực nhanh ứng dụng hệ thống BK-VLAB xây dựng, mục đích ứng dụng vận hành, sử dụng hệ thống, tiền đề để User tham gia hệ thống triển khai ứng dụng riêng họ sau 3.2 Yêu cầu ứng dụng Yêu cầu phải có máy User cài đăt gồm: Python 2.6.6 (hoặc phiên tưng tự) Một thư mục local hệ thống cho phép đọc thông qua web server Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thông mạng A A web server with PHP (>= 4.1) Chạy hệ điều hành linux hoăc tương tự Cài đặt công cụ quản lý slice PLMan Google Earth(tm) mapping service 3.3 Miêu tả toán Trong ứng dụng bk_slice1, scrip triển khai tới mổi node hoạt động mổi site mạng central.onelab.net Scrip này, mà chạy mổi node, tập hợp thông tin node site lại gửi thơng tin vể lại trung tâm web server Trung tâm web server tập hợp data lại xuất file KML bao gồm vị trí mổi site sau hiển thị với Google Earth(tm) tương ứng service2 3.4 Thiết kế xây dựng Bài toán chia làm bước chinh sau: - User thông qua giao thức ssh thiết lập trước thực triển khai phần mềm kịch python lên slice thực chạy kịch - Khi kịch gọi (tức chạy phần mềm slice), nói truy vấn tới sở dử liệu node PLC, tìm kiếm dử liệu site node trả đối tượng chứa giá trị dử liệu mà User yêu cầu tới slice thông qua lời gọi url máy User - Url gọi đến thực kiểm tra đối tượng data trả ghi lên file txt chứa nội dung dử liệu - Tiếp theo kịch php khác thực xử lý file txt này, cụ thể dựa vào data file để sinh file klm nhằm hiển thị vị trí site google map Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A Hình X – Sơ đồ ứng dụng (1) Người dùng đẩy script ứng dụng tới slice thực slice(tức thực tất node thuộc slice), cụ thể đẩy kịch python chạy tất node slice (2) Khi script chạy, thực xác thực với PLC dựa vào thông tin người dùng, sau thực truy vấn vào data PLC, so sánh giá trị hostname node mà chạy script bảng sở data hệ thống PLC theo người dùng để lấy giá trị site chứa (3) PLC trả slice đối tượng chứa dử liệu u cầu, cụ thể thơng tin dử liệu site chứa node slice (4) Slice thực gửi data lấy máy User thông qua lời gọi tới url máy User có gửi kèm đối tượng data Vậy, ứng dụng gồm kịch (một kịch python kịch php để xử lý dử liệu) file txt ghi lại dử liệu slice gửi trở cho người dùng Kịch Python: Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A Kịch python mà tạo có nhiệm vụ lấy data slice sau gọi tới file php đặt máy User mà chạy file thực ghi dử liệu lên file txt Giá trị phphome_url để phù hợp với local web server cấu hình #!/usr/bin/python ### name phonehome.py ### ứng dụng bk_slice1 phonehome_url = "http://192.168.21.201/kichban/phphome php" import sys, urllib, xmlrpclib, socket api_server = xmlrpclib.ServerProxy('https://192.168.21.201/PLCAPI/') auth = {} auth['AuthMethod'] = "anonymous" auth['Role'] = "user" //lấy hostname mổi node hostname = socket.gethostname() //từ hostname lấy site_id chứa node query = api_server.GetNodes(auth,{'hostname': hostname}, ['site_id']) site_id = query[0]['site_id'] //dùng site_id để lấy thông tin site site_info = api_server.GetSites(auth, {'site_id': site_id}, ['site_id', 'name', 'url', 'latitude', 'longitude', 'login_base']) site_info = urllib.urlencode(site_info[0]) //thực gọi url máy người dùng kèm thông số site_info Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thông mạng A urllib.urlopen(phonehome_url, site_info) Các bảng dử liệu node, slice, site là: Kịch php: Kịch thứ nhất(phphome.php) có nhiệm vụ lấy data từ node mổi gọi đến thơng qua kịch python node ghi dử liệu lại file txt (loggetdata.txt) theo định dạng định: Kịch php thứ (phpmap.php ) ó nhiệm vụ xử lý data từ node ghi lại file txt hiển thị vị trí thơng qua ứng dụng google map: 1000000 1 1 relativeToGround ,0 Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thông mạng A Khi kịch chạy file klm download(local) về, file hiển thị vị trí site google map 3.5 Cài đặt triển khai Như hướng dẩn thiết lập phần sử dụng hệ thống BK-Vlab, ta có web server central.onelab.net địa local http://192.168.21.201, có node node1.onelab.net node2.onelab.net node3.onelab.net, node thuộc vào slice tên bk_slice1 (bk tên site) 3.5.1 Cài đặt môi trường Việc cài đặt phần mềm cần thiết nói phần 3.2 Chúng ta coi cài đặt tất phần mềm Chúng ta có thư mục đọc thơng qua web server là: ~/html/getdata tương ứng với http://localhost/getdata chứa file php file txt ~/html/trienkhai tương ứng với http://localhost/trienkhai chứa kịch hay phần mềm mà triển khai slice 3.5.2 Thêm danh sách node vào slice với Python Cần nhắc lại rằng, làm việc với slice tên bk_slice1 với tài khoản người dùng fedora@onelab.net Chúng ta cần thêm node( node) hệ thống site vào slice Có cách để thực mục đích này, sử dụng thơng qua giao diên web http://192.168.21.201 với tài khoản cấp quyền Hoặc sử dụng scripting language cho phép thêm node với hổ trợ XMLRPC (Remote Procedure Call - sử dụng XML để mã hóa vào trao đổi data giao thức HTTP) - Tạo file txt có tên nodes.txt đặt thư mục làm việc (ở /root/planetlab/nodes.txt) có nội dung danh sách node bạn muốn thêm vào slice: node1.onelab.net node2.onelab.net node3.onelab.net Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A -Cần ý thêm việc có danh sách node hệ thống planetlab http://www.planet-lab.org khó khăn đòi hỏi số dịch vụ có trả phí, với plannetlab thu nhỏ cho mạng local tự tạo node hệ thống riên g Trong thư mục làm việc, chạy lệnh với terminal window Sau lệnh kết thúc, trả value “1” có nghĩa chạy thành cơng $ python >>> import xmlrpclib >>> api_server = \ xmlrpclib.ServerProxy('https://central.onelab.net/PLCAPI/') >>> >>> auth = {} >>> auth['Username'] = "fedora@gmail.com" < Username tài khoản đăng nhập slice bạn >>> auth['AuthString'] = "fedora" < mật đăng nhập cho Username >>> auth['AuthMethod'] = "password" >>> >>> node_list = /root/planetlab/nodes.txt >>> >>> api_server.AddSliceToNodes(auth, \ "bk_slice1", node_list) >>> ^D Kết thúc, đăng nhập thông qua giao diện web, slice bk_slice1 có danh sách node thêm vào hiển thị Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A 3.5.3 Triển khai kịch python tới node Chúng ta cần triển khai kịch file python.py thư mục ~/html/kichban người dùng tới slice Để triển khai ứng dụng tới tất node slice có nhiều cách, có vài cơng cụ dùng cho việc mà cho phép chạy song song lệnh ssh tập hợp có nodes, điều kiện thực hành, có node, để triển khai đơn giản hơn, nhiên, để tổng quát, thực thông qua phần mền codeloy- công cụ hổ trợ cho planetlab nói giúp thực việc đẩy kịch cho node, chạy kịch node mà khơng gây tắc nghẽn hay cần nhiều tài nguyên phần cứng Để triển khai ứng dụng tới tất node slice có nhiều cách, có vài cơng cụ dùng cho việc mà cho phép chạy song song lệnh ssh tập hợp có nodes, nhiên, số lương node lớn, điều dẩn đến tắt nghẽn tải thực cách hay cách khác Điều giải cách sử dụng công cụ tên Codeploy dự án CoDeeN ,một mạng giao dịch nội dung triển khai PlanetLab, vào CoDeploy để biết chi tiết Trong điều kiện thực hành, có node, để triển khai đơn giản Ở sử dụng công cụ cho phép xử lý song song lệnh tập hợp node, công cụ Plman Xem phần 2.3.7 [trống] 3.5.4 Tạo file loggetdata.txt ghi lại dử liệu slice Trong thư mục bkphp chạy lệnh: $ touch loggetdata.txt hành //tạo file loggetdata.txt thư mục $ chmod 666 loggetdata.txt //đặt quyền sử dụng rộng rãi Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A 3.5.5 Chạy kịch slice Thực đăng nhập slice Chạy lệnh sau slice để chạy kịch python tất node: echo "python hello/phonehome.py" Sau chạy lệnh urllib.urlopen(phphome_url, site_info) kịch python, file phphome.php máy central gọi đến thực ghi data vào file loggetdata.txt Nội dụng sau ghi dòng, dòng có dạng name=bk url=hut.edu.vn site_id=2 longitude=33.0 login_base=bk latitude=33.0 xử lý sau 3.5.6 Thực tạo file kml hiển thị kết Ở Internet Explorer chạy file phpmap.php thông qua url http://localhost/getdata/phpmap.php ,khi đó, file kml yêu cầu download Thực chạy file với ứng dụng google map để xem kết Mơt số hình ảnh: [trống] 3.6 Đánh giá ứng dụng Với mục đích sử dụng hệ thống BK-Vlab, ứng dụng đơn giản, tiền đề cho ứng dụng sau KẾT LUẬN Sinh viên thực hiện: Trần Văn Hùng- Khóa K51- Lớp Truyền Thơng mạng A ... 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 phạm vi thực đồ án tốt nghiệp Chương - Tổng quan: Tìm hiểu cơng nghệ ảo hóa mạng. .. Planetlab PHẦN CƠNG NGHỆ ẢO HĨA MẠNG Phần trình bày vấn đề, thành phần mạng ảo 1.1 Đôi nét công nghệ ảo hóa mạng Cơng nghệ ảo hóa chia thành: ảo hóa máy chủ, ảo hóa lưu trữ, ảo hóa cấp hệ điều hành, ảo. .. ảo hóa mạng (network) ảo hóa ứng dụng Khái niệm ảo hóa hệ thống mạng thu hút nhiều ý từ diễn đàn công nghiệp nghiên cứu mạng Sự quan tâm lỉnh vực ảo hóa mạng phát triển mạnh mẽ cộng đồng mạng

Ngày đăng: 21/04/2019, 10:19

TỪ KHÓA LIÊN QUAN

w