Tại sao ảo hóa mạng• Internet ngày nay hầu như không còn xu hướng thay đổi - “ossifications”, không đáp ứng nhu cầu hiện tại • E.g: Triển khai IPv6: o IPv6 - giải pháp cho sự cạn kiệt I
Trang 1Virtualized Network Infrastructure using OpenFlow
Giảng viên hướng dẫn: TS Ngô Hồng Sơn Sinh viên thực hiện: Nguyễn Văn Thành
Vũ Tuấn Anh
Trang 2Nội dung
1. Giới thiệu
2. Tại sao lại ảo hóa?
3. Mô hình mạng ảo hóa
4. Định nghĩa ảo hóa mạng
5. Kiến trúc hạ tầng mạng ảo hóa sử dụng OpenFlow
6. Kết luận
Trang 3Giới thiệu
Hạ tầng mạng hiện tại rất phức tạp và khó quản lý
Quá nhiều nhà cung cấp dịch vụ với mục tiêu và chính sách khác nhau
Xây dựng 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ả
Yêu cầu: Đơn giản hóa mạng đảm bảo tính mềm dẻo nhằm đáp ứng sự thay đổi khi các nhu cầu nghiệp vụ phát triển
⇒Vì vậy: Ảo hóa mạng => giúp đơn giản hóa và tự động hóa hạ tầng mạng
Trang 4Thách thức Internet trong tương lai
Trang 5o Các chức năng bảo mật được đặt trên các hệ thống cuối không an toàn
o Được thiết kế dựa trên các hệ điều hành tin cậy
Trang 6– 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 hiệu năng
• Nguyên nhân
– Định danh dựa theo sự phân cấp địa chỉ để giữ tính mở rộng
Trang 7– Thiết kế quản lý phân tán
– Thiếu các công cụ tính toán hiệu năng sử dụng tài nguyên
Trang 8Tại sao ảo hóa mạng
• Internet ngày nay hầu như không còn xu hướng thay đổi - “ossifications”, không đáp ứng nhu cầu hiện tại
• E.g: Triển khai IPv6:
o IPv6 - giải pháp cho sự cạn kiệt IPv4
o Cần có nguyên bộ giao thức từ tầng mạng: DNS, HTTP, SMTP… trở lên chạy trên IPv6: TCP6, UDP6…
o Giao tiếp giữa các máy IPv6 và IPv4 hiện tại
• Trong khi mạng phát triển mạnh mẽ về tốc độ, công nghệ tầng dưới IP, các ứng dụng thì kiến trúc mạng hầu như không đổi hoặc rất khó thay đổi
• => Cần một kiến trúc mới (clean slate)
Trang 9Tại sao ảo hóa mạng (cont’)
• Ả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 (giao thức chọn đường, giải pháp thay thế IP)
• Ảo hóa mạng không giống với công nghệ hiện nay như VPNs…
• Mạng ảo non-IPtương lai có thể vận hành cùng mạng Internet hiện tại
• Điểm quan trọ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ụ
Trang 10Nội dung
1. Giới thiệu
2. Tại sao lại ảo hóa?
3. Mô hình mạng ảo hóa
4. Định nghĩa ảo hóa mạng
5. Kiến trúc hạ tầng mạng ảo hóa sử dụng OpenFlow
6. Kết luận
Trang 11Mô hình ảo hóa mạng
Trang 12Mô hình nghiệp vụ
Nhà cung cấp hạ tầng (InPs)
Quản lý hệ thống mạng vật lý
Nhà cung cấp dịch vụ (SPs)
Thiết lập và quản lý mạng ảo
Triển khai các dịch vụ đầu cuối
Người dùng cuối
Mua và sử dụng dịch vụ khác nhau từ các nhà cung
cấp
Trung gian
Trang 13Kiến trúc mạng
Trang 14Kiến trúc mạng
Trang 15Nguyên tắc thiết kế
• Tính đồng thời (Concurrence)
o Nhiều mạng tồn tại ảo độc lập
• Tính đệ quy các mạng ảo
• Tính kế thừa các thuộc tính về kiến trúc
• Sự thăm lại các nút ảo (Revisitation)
o Đơn giản hóa vận hành và quản lý mạng
Trang 16Mục tiêu thiết kế
• Tính linh hoạt - Flexibility
o Các nhà cung cấp dịch vụ có thể chọn:
o Không cần kết hợp với nhà cung cấp khác
• Khả năng quản lý - Manageability
o Trách nghiệm của nhà cung cấp hạ tầng và dịch vụ
o Quản lý theo modul
Trang 17Mục tiêu thiết kế
• Khả năng mở rộng - Scalability
o Tối đa số mạng ảo (VN) cùng tồn tại
o Tăng khả năng sử dụng tài nguyên
• An toàn, tính riêng tư và độc lập
o Sự độc lập hoàn toàn giữa các mạng ảo
o Trong suốt khi có sự cố, lỗi kỹ thuật và cấu hình sai
Trang 18Mục tiêu thiết kế
• Khả năng lập trình được – Programmability
o Của các phần tử hệ thống như router…
o Dễ dàng và hiệu quả mà không dễ bị tấn công với các mối đe dọa
• Tính độc lập – Heterogeneity
o Giữa các công nghệ mạng: quang, vô tuyến…
Trang 19Mục tiêu thiết kế
• Tính năng thử nghiệm và triển khai
o Triển khai trực tiếp các dịch vụ trong thế giới thực từ pha thử nghiệm trên mạng ảo
• Kế thừa
o Xem Internet hiện tại là một phần của tập hợp các mạng Internet ảo
Trang 20Nội dung
1. Giới thiệu
2. Tại sao lại ảo hóa?
3. Mô hình mạng ảo hóa
4. Định nghĩa ảo hóa mạng
5. Kiến trúc hạ tầng mạng ảo hóa sử dụng OpenFlow
6. Kết luận
Trang 21Định nghĩa ảo hóa mạng
Trang 22Nội dung
1. Giới thiệu
2. Tại sao lại ảo hóa?
3. Mô hình mạng ảo hóa
4. Định nghĩa ảo hóa mạng
5. Hạ tầng mạng ảo hóa sử dụng OpenFlow
6. Kết luận
Trang 23• Ảo hóa hạ tầng và khả năng lập trình được
• Tạo ra nguyên mẫu nhanh (rapid prototyping) trên hạ tầng ảo
• OpenFlow Network
– Có khả năng lập trình
• Hệ điều hành mạng
Trang 24Mạng khả trình ( Programmable Network)
• Hạ tầng mạng được hỗ trợ công nghệ ảo hóa ( khó) cung cấp open platform
• Tính tùy biến cao người dùng tự định nghĩa và phát triển
Trang 25Lập trình linh hoạt bằng flow
• “Flow” = kết hợp nào đó header của L1, L2, L3 và L4
• Chuyển mạch dựa trên flow có thể chuyển tiếp gói tín tới bất kỳ tầng nào
Trang 27OpenFlow Switch
• Vận hành dựa theo flow (flow-based)
o Cho phép lập trình mà không làm thay đổi mặt bằng dữ liệu (data-plane)
Trang 28OpenFlow Switch
• Một hay nhiều flow table và một group table
• Một kênh OpenFlow channel
• Trình điều khiển quản lý
Switch thông qua giao thức
OpenFlow protocol (với giao
thức này trình điều khiển có thể
thêm, cập nhật và xóa các mục
flow entry trong các bảng flow
table)
Trang 29Flow table
• Mỗi flow table bao gồm một tập các flow entry
• Mỗi entry này bao gồm các trường match field, các biến đếm, các lệnh điều khiển tương ứng với các packet cụ thể
Trang 30Flow table
• Flow entry:
– Rule: định nghĩa flow
– Action: cho biết các gói tin sẽ được
xử lý như thế nào
– Statistics: giám sát số lượng gói tin
và số lượng byte cho mỗi flow và thời gian kể từ khi gói tin cuối cùng tương ứng với flow entry đi qua switch
Trang 32Flow table
• Các gói tin tương tác với các flow table như thế nào?
Trang 33Flow table
Trang 35o Khi một kết nối OpenFlow được khởi tạo, mỗi đầu của kết nối gửi một thông điệp OFPT_HELLO tới đầu kia với chỉ số version là chỉ số version cao nhất của giao thức OpenFlow protocol mà bên gửi hiện đang được hỗ trợ
Trang 36OpenFlow channel
• Ngắt bỏ kết nối: trong trường hợp switch mất kết nối với trình điều khiển hiện tại, chẳng hạn như echo request timeout, TLS session timeout, Nó sẽ cố gắng kết nối với một hay nhiều trình điều khiển sao lưu
• Switch chuyển sang trạng thái “fail secure mode” hay “ fail standalone mode”, phụ thuộc vào cấu hình hiện tại của switch đó
– Fail secure mode: tất cả các gói tin và thông điệp đang được chuẩn bị để gửi đến trình điều khiển sẽ bị mất đi
– Fail standalone mode: switch chuyển sang hoạt động như một switch Ethernet thông thường Xử lí tất cả các gói tin thông qua cổng OFPP_NORMAL
Trang 37OpenFlow channel
• Mã hóa: switch và trình điều khiển có thể kết nối với nhau thông qua kết nối TLS
• Kết nối TLS được khởi tạo bởi switch, mặc định dựa trên TCP tại cổng 6633
• switch và trình điều khiển xác thực lẫn nhau bằng việc trao đổi các chứng chỉ (certificate) được kí bởi khóa riêng của các bên
• mỗi switch có thể được cấu hình bởi người dùng lưu giữ ít nhất hai chứng chỉ: chứng chỉ để xác thực trình điều khiển và chứng chỉ để xác thực với trình điều khiển
Trang 38OpenFlow protocol
• 3 kiểu thông điệp ( message):
đến switch.
mạng, trạng thái của switch đến trình điều khiển
Trang 39Trình điều khiển (controller)
• Là yếu tố quyết định tạo nên tính thông minh cho mạng khả trình
• Thực thể tập trung hóa cho toàn bộ mạng OpenFlow
Trang 40Trình điều khiển – NOX
• Hệ điều hành mã nguồn mở cho mạng OpenFlow (Linux: Debian, Red Hat,
Gentoo)
• Cung cấp một platform đơn giản cho các phần mềm điều khiển mạng (ngôn ngữ C++, Python)
• Hỗ trợ cho cả mạng lớn ( hàng trăm switch) và mạng nhỏ (một vài host)
• Cho phép người quản trị theo dõi hiện trạng hoạt động của mạng ở một mức nào đó
Trang 41Trình điều khiển - NOX
Trang 42Trình điều khiển - NOX
Trang 43Cài đặt hệ điều hành mạng
Trang 44Kết luận
• Công nghệ OpenFlow cho phép xây dựng mạng khả trình linh hoạt
• Hệ điều hành mạng cung cấp nền phần mềm cho việc tích hợp tính năng điều khiển vào hạ tầng mạng
Trang 45Tài liệu tham khảo
1. Network Virtualization Architecture: Proposal and Initial Prototype, Gr.Schaffrath et al
2009
2. NOX: Towards an Operating System for Networks, Natasha Gude et al
3. OpenFlow: Enabling Innovation in Campus Network, Nick McKeown at al 2008
4. OpenFlow Switch Specification, www.openflow.org 2004
5. www
Trang 46CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ CHÚ Ý LẮNG NGHE