Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 44 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
44
Dung lượng
2,37 MB
Nội dung
1 TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: GIAO THỨC ĐỊNH TUYẾN OSPFN CHO MẠNG NAMED DATA NETWORKING NGUYỄN TẤN XUÂN BIÊN HÒA, THÁNG 11/2017 TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: GIAO THỨC ĐỊNH TUYẾN OSPFN CHO MẠNG NAMED DATA NETWORKING SVTH : NGUYỄN TẤN XUÂN GVHD : Th.S NGUYỄN VŨ DUY QUANG BIÊN HÒA, THÁNG 11/2017 LỜI CÁM ƠN Em xin chân thành cám ơn giảng viên trường Đại Học Lạc Hồng, thầy cô khoa Công Nghệ Thông Tin giảng dạy hướng dẫn chúng em suốt thời gian chúng em theo học trường Em xin gởi lời cám ơn đến Th.S Nguyễn Vũ Duy Quang, giáo viên tận tình hướng dẫn chúng em hồn thành đề tài nghiên cứu khoa học Em xin gởi lời cám ơn đến Th.S Nguyễn Hoàng Liêm, giáo viên phản biện góp ý giúp em hồn thiện chương trình Em xin cám ơn thầy, khoa Cơng Nghệ Thơng Tin có ý kiến đóng góp buổi báo cáo tiến độ Ngoài em xin cám ơn thầy Nguyễn Vũ Duy Quang, giáo viên chủ nhiệm lớp 13CN111 bạn lớp tồn thể gia đình người thân giúp đỡ, động viên em trình thực đề tài Với vốn kiến thức hạn chế điều kiện khách quan không cho phép, đề tài em khó tránh khỏi thiếu sót chưa đáp ứng đầy đủ yêu cầu Do em hy vọng tiếp tục nhận ý kiến đóng góp hướng dẫn quý thầy để đề tài em hồn thiện Em xin chân thành cảm ơn Biên Hòa, tháng 11 năm 2017 Sinh viên thực Nguyễn Tấn Xuân MỤC LỤC PHẦN MỞ ĐẦU Lý chọn đề tài Lịch sử nghiên cứu 2.1 Trên giới 2.2 Trong nước Mục tiêu nghiên cứu 10 Đối tượng phạm vi nghiên cứu 10 4.1 Đối tượng nghiên cứu 10 4.2 Phạm vi nghiên cứu 10 Phương pháp nghiên cứu 10 Những đóng góp đề tài vấn đề mà đề tài chưa thực 10 6.1 Những đóng góp đề tài 10 6.2 Những vấn đề chưa thực 11 Kết cấu đề tài 11 CHƯƠNG 1: GIỚI THIỆU NAMED DATA NETWORKING 1.1 Named Data Networking gì? 12 1.2 Tổng quan kiến trúc 12 1.2.1 Các loại gói tin 13 1.2.2 Kiến trúc định tuyến NDN 14 1.3 Bảo mật 15 1.3.1 Bảo mật ứng dụng 16 1.3.2 Bảo mật định tuyến 16 1.4 Name 17 1.5 Bảo mật Data-Centric 18 1.6 Routing and Forwarding 18 CHƯƠNG : TÌM HIỂU GIAO THỨC ĐỊNH TUYẾN ĐỘNG OSPF VÀ OSPFN 2.1 Tổng quan giao thức OSPF 20 2.2 Router-id OSPF 21 2.3 Neighbor giao thức OSPF 21 2.4 Ưu điểm giao thức OSPF 21 2.5 Các kiểu OSPF area 22 2.6 Giới thệu giao thức OSPFN 23 2.7 Động lực bối cảnh 23 2.8 Thiết kế 24 2.8.1 Tính tốn đường 25 2.8.2 Tên thông điệp OLSA 26 2.8.3 Quá trình trao đổi thông điệp 27 CHƯƠNG : THỬ NGHIỆM NDN TRÊN MƠI TRƯỜNG LINUX 3.1 Xây dựng mơi trường Named Data Networking 29 3.2 Cài đặt thư viện 29 3.2.1 Mini-NDN 29 3.2.2 Mininet 29 3.2.3 Named Data Networking Forwarding Daemon 30 3.2.4 ChronoSync 30 3.2.5 Ndn-cxx 30 3.2.6 NLSR 30 3.2.7 Ndn-tool 31 3.3 Ndnping ndnpingserver 36 3.3.1 Sử dụng Client 36 3.3.2 Sử dụng Server 36 3.3.3 Thăm dò Interests 36 3.3.4 Trả lời Data 36 3.3.5 Thực ping nodes 36 3.4 Quá trình tìm đường 38 3.4 Tiểu kết 43 KẾT LUẬN 43 TÀI LIỆU THAM KHẢO 44 DANH MỤC HÌNH ẢNH STT Hình ảnh Mơ tả Hình 1.1 Kiến trúc đồng hồ cát IP NDN Hình 1.2 Nội dung gói tin NDN Hình 2.1 Các kiểu area OSPF Hình 2.2 Mối quan hệ CCND, OSPFN OSPFD Hình 2.3 Tên thơng điệp OLSA Hình 2.4 Các chuỗi thông báo trao đổi OSPFN, OSPFD CCND Hình 3.1 Thư mục chứa file cài đặt NDN Hình 3.2 Khởi động Mini-NDN Hình 3.3 Mơ hình kết nối 10 Hình 3.4 Liên kết node 11 Hình 3.5 Bảng định tuyến node 12 Hình 3.6 Bảng chuyển tiếp node a 13 Hình 3.7 Bảng chuyển tiếp node b 14 Hình 3.8 Bảng chuyển tiếp node c 15 Hình 3.9 Bảng chuyển tiếp node d 16 Hình 3.10 Server lắng nghe ping đến 17 Hình 3.11 Client tiến hành ping đến tên NDN 18 Hình 3.12 Server trả lời 19 Hình 3.13 Thơng điệp node a 20 Hình 3.14 Thơng điệp node b 21 Hình 3.15 Thơng điệp node c 22 Hình 3.16 Các node ping giao diện Mini-NDN Hình 3.17 Khởi động Mini-NDN từ testbed DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Giải thích CCN Content-Centric Networking CCND Content Centric Network Daemon CS Content Store FIB Forwarding Information Base LSA Link State Advertisements LSDP Link State Database NDN Named Data Networking NLSR Named Data Link State Routing Protocol OLSA Opaque Link State Advertisements 10 OSPF Open Shortest Path First 11 OSPFD Open Shortest Path First Daemon 12 PIT Pending Interest Table 13 URI Uniform Resource Identifier PHẦN MỞ ĐẦU Lý chọn đề tài Trong TCP/IP ổn với nhiều ứng dụng, thống trị Internet từ Internet xuất (như email, truyền file, đăng nhập từ xa) mạng thơng tin tồn cầu ngày chuyển mình, hướng sang ứng dụng thiên nhiều liệu trích xuất liệu từ web streaming video Vì vậy, giới cơng nghiệp tìm kiếm giao thức khác tiến Trong số đó, tên NDN (Name Data Networking) tỏ ứng viên sáng giá thay cho TCP/IP NDN công nghệ thương mại hóa, chưa thể ứng dụng Mơ hình liệu Internet liệu phải có tên mà máy tính gọi Mạng máy tính định hướng yêu cầu đến ứng dụng đó, sau liệu trả cho máy tính yêu cầu Bảo vệ mã hóa cho liệu tạo giao thức NDN Cũng vậy, mạng máy tính tập trung vào liệu cảm biến thu thập ID cảm biến nên NDN phù hợp cho Internet of Things Vì liệu gửi có u cầu nên NDN chống nhiều loại công Nhưng NDN khơng có lợi tốc độ xử lý Lịch sử nghiên cứu 2.1 Trên giới NDN năm dự án nghiên cứu Quỹ Khoa học Quốc gia Hoa Kỳ tài trợ theo Chương trình Kiến trúc Internet tương lai NDN có nguồn gốc từ dự án trước đó, Content-Centric Networking (CCN), mà Van Jacobson bắt đầu Xerox PARC khoảng thời gian thảo luận Google 2.2 Trong nước Hiện nước chưa có tổ chức, cá nhân nghiên cứu hay tìm hiểu Named Data Networking 10 Mục tiêu nghiên cứu Đề tài thực với mục tiêu tìm hiểu xây dựng kiến trúc Internet tương lai khắc phục điểm yếu kiến trúc Internet Tìm hiểu giao thức định tuyến cho NDN OSPFN Nội dung chi tiết gồm : - Tìm hiểu Named Data Networking - Tìm hiểu giao thức định tuyến động OSPF - Tìm hiểu giao thức định tuyến Named Data Networking OSPFN - Thử nghiệm Named Data Networking môi trường Linux Đối tượng phạm vi nghiên cứu 4.1 Đối tượng nghiên cứu - Kiến trúc Internet tương lai Named Data Networking - Các file thư viện NDN github 4.2 Phạm vi nghiên cứu - Demo môi trường NDN Ubuntu - Ping kiểm tra kết nối nodes Phương pháp nghiên cứu - Tham khảo công cụ file thư viện NDN từ website github - Tìm hiểu cài đặt cơng cụ Mini-NDN để ứng dụng NDN - Tìm hiểu cách kết nối nodes thông qua công cụ ndn-tools - Thử nghiệm mơi trường NDN Linux Những đóng góp đề tài vấn đề mà đề tài chưa thực 6.1 Những đóng góp đề tài - Named Data Networking kiến trúc Internet tương lai, phát huy điểm mạnh giải điểm yếu kiến trúc Internet đích tốt Cung cấp tính Multipath tính cung cấp nhiều đường đến 30 3.2.3 Named Data Networking Forwarding Daemon Tải file NFD dòng lệnh : git clone https://github.com/named-data/NFD Sau vào thư mục chứa file NFD clone, bật cửa sổ Terminal nhập lệnh sau để cài đặt : - /waf configure –without-websocket - /waf - sudo /waf install - sudo ldconfig 3.2.4 ChronoSync Tải file ChronoSync dòng lệnh : git clone https://github.com/nameddata/ChronoSync Sau vào thư mục chứa file ChronoSync clone, bật cửa sổ Terminal nhập lệnh sau để cài đặt : - /waf configure - /waf - sudo /waf install 3.2.5 Ndn-cxx Tải file ndn-cxx dịng lệnh : git clone https://github.com/named-data/ndn-cxx Sau vào thư mục chứa file ndn-cxx clone, bật cửa sổ Terminal nhập lệnh sau để cài đặt : - /waf configure - /waf - sudo /waf install - sudo ldconfig 3.2.6 NLSR Tải file NLSR dòng lệnh : git clone https://github.com/named-data/NLSR Sau vào thư mục chứa file NLSR clone, bật cửa sổ Terminal nhập lệnh sau để cài đặt : 31 - /waf configure - /waf - sudo /waf install - sudo ldconfig 3.2.7 Ndn-tool Tải file ndn-tool dòng lệnh : git clone https://github.com/named-data/ndn-tool Sau vào thư mục chứa file NLSR clone, bật cửa sổ Terminal nhập lệnh sau để cài đặt : - /waf configure enable-ping enable-dump - /waf - sudo /waf install Sau cài đặt tất file thư viện vào Ubuntu, bắt đầu thử nghiệm môi trường NDN Hình 3.1 : Thư mục chứa file cài đặt NDN Để khởi động Mini-NDN vào thư mục mini-ndn bật cửa sổ Terminal gõ lệnh sudo minindn để kích hoạt chương trình, Sau cấu hình tạo node a,b,c,d liên kết controller (Hình 3.2) 32 Hình 3.2: Khởi động Mini-NDN Mơ hình mạng có node liên kết với nhau, node c(eth0) nối với node a(eth1), node a node b nối với qua cổng eth0, node b(eth1) nối với node d(eth0).Cost mặc định liên kết 10 Các node liên kết với trỏ Controller Hình 3.3 Mơ hình kết nối 33 Để xem liên kết node Mini-NDN dùng lệnh : minindn> net Hình 3.4 Liên kết node Sau node kết nối, neighbor node có bảng định tuyến riêng vùng Để xem tình trạng định tuyến node dùng lệnh minindn> a nlsrc status Khi hoàn tất trình trao đổi gói tin router thiết lập neighbor, router node gửi thông điệp mà router quảng bá mạng, cụ thể tên Prefix node với tên NDN mà router quảng bá Và tên NDN học từ bảng định tuyến bao gồm : /ndn/a-site/a, /ndn/b-site/b, /ndn/c-site/c, /ndn/d-site/d Hình 3.5 Bảng định tuyến node 34 Để xem bảng chuyển tiếp node a dùng lệnh minindn> a nfdc fib Trên node a có thơng tin định tuyến node b,c,d quảng bá lên mạng, có tên Prefix gồm có nexthops, faceid cost Cost từ node a đến node c 10, node a đến node b 10, node a đến node d 20 phải qua node b.Và tên NDN học từ bảng định tuyến bao gồm : /ndn/b-site/b, /ndn/c-site/c, /ndn/d-site/d Hình 3.6 Bảng chuyển tiếp node a Để xem bảng chuyển tiếp node b dùng lệnh minindn> b nfdc fib Trên node b có thơng tin định tuyến node a,c,d quảng bá lên mạng, có tên Prefix gồm có nexthops, faceid cost Cost từ node b đến node d 10, node b đến node a 10, node b đến node c 20 phải qua node a.Và tên NDN học từ bảng định tuyến bao gồm : /ndn/a-site/a, /ndn/c-site/c, /ndn/d-site/d Hình 3.7 Bảng chuyển tiếp node b 35 Để xem bảng chuyển tiếp node c dùng lệnh minindn> c nfdc fib Trên node c có thơng tin định tuyến node a,b,d quảng bá lên mạng, có tên Prefix gồm có nexthops, faceid cost Cost từ node c đến node a 10, node c đến node b 20, node c đến node d 30 phải qua node a,b.Và tên NDN học từ bảng định tuyến bao gồm : /ndn/a-site/a, /ndn/b-site/b, /ndn/d-site/d Hình 3.8 Bảng chuyển tiếp node c Để xem bảng chuyển tiếp node d dùng lệnh minindn> d nfdc fib Trên node d có thơng tin định tuyến node a,b,c quảng bá lên mạng, có tên Prefix gồm có nexthops, faceid cost Cost từ node d đến node b 10, node d đến node a 20, node d đến node c 30 phải qua node b,a Và tên NDN học từ bảng định tuyến bao gồm : /ndn/a-site/a, /ndn/b-site/b, /ndn/c-site/c Hình 3.9 Bảng chuyển tiếp node d 36 3.3 Ndnping ndnpingserver Ndnping ndnpingserver công cụ kiểm tra khả truy cập hai nodes Client gửi Interest cho node chạy ndnpingserver, server ping gửi gói Data phản hồi Client sau tính tốn thời gian cho việc trao đổi Interest-Data đánh dấu timeout liệu không nhận khoảng thời gian chờ 3.3.1 Sử dụng Client Client dùng câu lệnh ndnping với tên để ping, ví dụ : ndnping /ndn/b-site/b 3.3.2 Sử dụng Server Server dùng câu lệnh ndnpingserver với tên để nghe ping đến, ví dụ : ndnpingserver /ndn/b-site/b 3.3.3 Thăm dò Interests Client thể thăm dò Interests dự định chuyển tiếp đến server mà không cần tổng hợp Interest phải có cấu trúc tên sau : - ndn://ping/ - ndn://ping// Trong : - tiền tố máy chủ chứa không, nhiều tên thành phần - tên thành phần có giá trị số nguyên 64-bit, biểu diễn dạng số thập phân mã ASCII - tên thành phần với giá trị tuỳ ý 3.3.4 Trả lời Data Server nên đăng ký tiền tố ndn://ping, phải trả lời để thăm dò Interest theo tiền tố với Data Data phải có tên với thăm dị Interest 3.3.5 Thực ping nodes Dùng server (ndnpingserver) vào thư mục HOME node b để lắng nghe ping đến trả lời (Hình 3.8) : 37 Hình 3.10 : Server lắng nghe ping đến Dùng client ping, vào thư mục HOME node a để tiến hành ping từ client (Hình 3.9) Hình 3.11 : Client tiến hành ping đến tên NDN 38 Sau lắng nghe ping từ client đến, server trả lời Hình 3.12 Server trả lời 3.4 Quá trình tìm đường Sau tiến hành ping từ node c đến node d, tiến hành kiểm tra q trình trao đổi thơng điệp node với Trên node a, sau gửi thơng điệp, node a nhận gói tin Interest từ node c gửi đến bao gồm tên site tên node Sau gói tin Interest gửi tiếp tục đến node hàng xóm node a node b 39 Hình 3.13 : Thơng điệp node a Sau nhận gói tin Interest từ node a, node b tiếp tục chuyển tiếp gói tin Interest đến đích node d Hình 3.14 : Thơng điệp node b Sau nhận gói tin Interest từ node b gửi tới, node d gửi gói tin Data phản hồi thành cơng từ node b gửi đến để hồn tất q trình trao đổi thơng điệp 40 Hình 3.15 : Thơng điệp node d Hoặc tiến hành ping node giựa tên NDN quảng bá bảng định tuyến node cách vào thư mục Mini-NDN dùng lệnh : sudo minindn ndn_utils/topologies/default-topology.conf Node c tiền hành ping đến node d : mini-ndn> c ndnpingserver /ndn/d-site/d &> /dev/null & mini-ndn> c ndnping -c5 /ndn/d-site/d Node d tiền hành ping đến node c : mini-ndn> d ndnpingserver /ndn/c-site/c &> /dev/null & mini-ndn> d ndnping -c5 /ndn/c-site/c Trong /dev/null file khơng lưu vào nên dĩ nhiên không xuất 41 Hình 3.16 : Các node ping giao diện Mini-NDN Hoặc khởi động Mini-NDN từ hệ thống NDN testbed dòng lệnh : sudo minindn testbed 42 Hình 3.17 : Khởi động Mini-NDN từ testbed Để xem bảng định tuyến tên dùng lệnh : mini-ndn > arizona nlsrc status Hình 3.18: Bảng định tuyến arizona Tiến hành ping tên NDN mà router quảng bá bảng chuyển tiếp : Hình 3.19 : arizona ping tên NDN quảng bá mạng 43 3.4 Tiểu kết Giao thức định tuyến OSPF thuộc nhóm Link State Trên Router có đồ mạng vùng (bảng định tuyến) thông qua việc đồng bảng sở liệu trạng thái đường link (LSDP - Link State Database) Từ đồ mạng Router tự tính tốn đường ngắn xây dựng bảng định tuyến Nhưng OSPF không hỗ trợ cân tải Giao thức OSPFN dành cho NDN sử dụng Opaque Link State Advertisements Hơn nữa, OSPF cung cấp đường tốt cho điểm đến, thêm tính đa đường (multipath) xác định phép người dùng định liên kết sử dụng đường tốt Giao thức OSPFN hỗ trợ định tuyến tên định tuyến đa tuyến, sử dụng LSAs Opaque LSAs OSPF OLSA để thông báo trước name prefix KẾT LUẬN Đề tài nghiên cứu với mục tiêu tìm hiểu kiến trúc Internet tương lai Named Data Networking, tìm hiểu giao thức định tuyến OSPF OSPFN mơ hình bản, thiết kế, q trình trao đổi thơng điệp tính tốn đường đến đích Thử nghiệm NDN môi trường Linux, cài đặt thư viện giả lập môi trường NDN cho phép tên mà NDN quảng bá trao đổi với nhau, tìm hiểu bảng định tuyến bảng chuyển tiếp NDN Named Data Networking kiến trúc Internet lớn thay đổi kiến trúc Internet chưa ứng dụng Vì cung cấp nhiều đường đến đích nên NDN khơng có lợi tốc độ xử lý Xác nhận NDN kiến trúc Internet tương lai: khả mở rộng định tuyến, chuyển tiếp nhanh, mơ hình tin tưởng, an ninh mạng, bảo vệ nội dung riêng tư 44 TÀI LIỆU THAM KHẢO TÀI LIỆU TIẾNG ANH [1] Jacobson, Van, Smetters, Diana K, Thornton, James D, Plass, Michael, Briggs, Nick, Braynard,Rebecca (1 January 2012) "Networking named content" Communications of the ACM [2] V Jacobson, D K Smetters, J D Thornton, M F Plass, N H Briggs, and R L Braynard Networking named content In Proceedings of ACMCoNEXT, 2009 [3] L Zhang et al Named data networking (NDN) project Technical Report NDN0001, PARC, October 2010 [4] PARC CCNx open srouce platform http://www.ccnx.org TÀI LIỆU INTERNET [5] Các kiểu OSPF area, https://nguyenvcuong.blogspot.com/2012/04/ospf-area-types.html [6] Tổng quan giao thức OSPF, http://svuit.vn/threads/bai-14-tim-hieu-giao-thuc-dinh-tuyen-ospf-101/ [7] OSPFN, https://named-data.net/publications/techreports/trospfn/ [8] Named Data Networking, https://en.wikipedia.org/wiki/Named_data_networking ... giao thức định tuyến cho NDN OSPFN Nội dung chi tiết gồm : - Tìm hiểu Named Data Networking - Tìm hiểu giao thức định tuyến động OSPF - Tìm hiểu giao thức định tuyến Named Data Networking OSPFN. ..2 TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: GIAO THỨC ĐỊNH TUYẾN OSPFN CHO MẠNG NAMED DATA NETWORKING SVTH : NGUYỄN TẤN... thiết mạng cục bộ, đặc biệt trao quyền cho mạng cảm biến nhúng Các giao thức định tuyến IP, BGP, IS-IS OSPF kiểm chứng tốt sử dụng nhiều giống giao thức định tuyến mạng NDN Thay thơng báo tiền