virtualized network infrastructure_using_open_flow

46
Virtualized 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

Upload: nguyen-phu-tien

Post on 05-Dec-2014

97 views

Category:

Education


2 download

DESCRIPTION

Virtualized network infrastructure_using_open_flow

TRANSCRIPT

Page 1: Virtualized network infrastructure_using_open_flow

Virtualized 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

Page 2: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 2

Nộ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

Page 3: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 3

Giớ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

Page 4: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 4

Thách thức Internet trong tương lai

• An toàn• Độ linh động • Quản lý mạng• Độ tin cậy và sẵn sàng• Khả năng mở rộng

Page 5: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 5

An toàn

• Internet hiện nay không thực sự an toàn• Giải pháp

o Thêm tính bảo mật, an toàn trong mỗi giao thức• Vấn đề

o Kết hợp nhiều thành phần bảo mật không đảm bảo an toàn cho cả hệ thống

• Nguyên nhâno 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àno Được thiết kế dựa trên các hệ điều hành tin cậy

Page 6: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 6

Tính linh động

• Yêu cầuo 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…• Giải pháp

o Phân cấp định tuyếno Sử dụng địa chỉ khác

• Vấ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 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

Page 7: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 7

Quản lý mạng

• Độ tin cậy và tính sẵn sàng• Tính mở rộng– E.g: hệ định tuyến.

• Nguyên nhân– 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

Page 8: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 8

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 IPv4o 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)

Page 9: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 9

Tạ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ụ

Page 10: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 10

Nộ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

Page 11: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 11

Mô hình ảo hóa mạng

• Mô hình nghiệp vụ• Kiến trúc• Nguyên lý thiết kế• Mục tiêu thiết kế

Page 12: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 12

Mô 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

Page 13: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 13

Kiến trúc mạng

Page 14: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 14

Kiến trúc mạng

Page 15: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 15

Nguyê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

Page 16: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 16

Mục tiêu thiết kế

• Tính linh hoạt - Flexibilityo Các nhà cung cấp dịch vụ có thể chọn:

Kiến trúc mạng bất kỳ Các chức năng định tuyến và chuyển tiếp Điều khiển tùy biến và dữ liệu

o Không cần kết hợp với nhà cung cấp khác Sự thất bại IPv6 không thể xảy ra

• Khả năng quản lý - Manageabilityo Trách nghiệm của nhà cung cấp hạ tầng và dịch vụo Quản lý theo modul

Page 17: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 17

Mục tiêu thiết kế

• Khả năng mở rộng - Scalabilityo Tối đa số mạng ảo (VN) cùng tồn tạio Tăng khả năng sử dụng tài nguyên

• An toàn, tính riêng tư và độc lậpo Sự độc lập hoàn toàn giữa các mạng ảo

Về logic và tài nguyêno Trong suốt khi có sự cố, lỗi kỹ thuật và cấu hình

sai

Page 18: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 18

Mục tiêu thiết kế

• Khả năng lập trình được – Programmabilityo 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 – Heterogeneityo Giữa các công nghệ mạng: quang, vô tuyến…

Page 19: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 19

Mục tiêu thiết kế

• Tính năng thử nghiệm và triển khaio 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ừao Xem Internet hiện tại là một phần của tập hợp các

mạng Internet ảo

Page 20: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 20

Nộ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

Page 21: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 21

Định nghĩa ảo hóa mạng

Page 22: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 22

Nộ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

Page 23: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 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

Page 24: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 24

Mạ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

Page 25: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 25

Lậ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

Page 26: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 26

OpenFlow

• OpenFlow switch• OpenFlow channel• OpenFlow protocol• OpenFlow controller

Page 27: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 27

OpenFlow 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)

Page 28: Virtualized network infrastructure_using_open_flow

04/10/2023 28

OpenFlow 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 giaothứ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 flowtable)

BKHN – 2011

Page 29: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 29

Flow 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ể

Page 30: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 30

Flow 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

Page 31: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 31

Flow table

• Xử lý đường tin:– OpenFlow-only switch: chỉ hỗ trợ các hoạt động có

tính OpenFlow, chỉ xử lý các gói tin trên các đường tin riêng của OpenFlow

– OpenFlow-hybrid switch: hỗ trợ cho cả các hoạt động trên đường tin của OpenFlow và của các switch Ethernet hiện tại nói chung. Các switch này cung cấp một cơ chế phân biệt để có thể vừa xử lý được các gói tin trên đường tin riêng của OpenFlow vừa xử lý các gói tin trên đường tin thông thường

Page 32: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 32

Flow table

• Các gói tin tương tác với các flow table như thế nào?

Page 33: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 33

Flow table

Page 34: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 34

OpenFlow channel

• Giao diện cho phép kết nối mỗi OpenFlow switch với một trình điều khiển.

• Các thông điệp (message) trên OpenFlow channel phải được định dạng phụ thuộc vào giao thức OpenFlow protocol.

• Kênh này được mã hóa sử dụng TLS, nhưng cũng có thể hoạt động trực tiếp trên nền giao thức TCP.

Page 35: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 35

OpenFlow channel

• Thiết lập kết nối: switch phải có khả năng thiết lập kết nối đến một trình điều khiển tại một địa chỉ IP khả cấu hình), sử dụng một cổng do người dùng đặc tả.o Nếu switch biết địa chỉ IP của trình điều khiển, switch khởi

tạo một kết nối chuẩn TLS hoặc TCP tới trình điều khiển. o Lưu thông trên OpenFlow channel không thông qua

OpenFlow pipeline, do đó switch phải định danh tất cả các lưu thông qua nó trước khi đối chiếu với các mục trong bảng flow table

o 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ợ

Page 36: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 36

OpenFlow 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

Page 37: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 37

OpenFlow 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

Page 38: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 38

OpenFlow protocol

• 3 kiểu thông điệp ( message): – controller-to-switch: được khởi tạo bởi trình điều khiển và

mang nội dung điều khiển đến switch.• Cấu hình switch• Trao đổi dung lương giữa các switch• Quản lí bảng flow table

– asynchronous: được khởi tạo bởi switch và được dùng để cập nhật các sự kiện của mạng, trạng thái của switch đến trình điều khiển

– symmetric: khởi tạo bởi hoặc switch hoặc trình điều khiển• Gửi theo một chiều• Dự đoán các vấn đề của kết nối

Page 39: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 39

Trì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

Page 40: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 40

Trì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 đó.

Page 41: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 41

Trình điều khiển - NOX

• Có thể hoạt độngchỉ trên một PC• Luôn lắng nghecác sự kiện phát sinh từ mạng• Đưa ra các lệnh điều khiển đến cácswitch

Page 42: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 42

Trình điều khiển - NOX

Web apps

Network apps

Core apps

Funtionalities for Network apps and Web apps

Discovery Topology

Authenticator

Routing

Monitoring

WebserviceWebserver

Webserviceclient

Page 43: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 43

Cài đặt hệ điều hành mạng

Page 44: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 44

Kế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

Page 45: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 45

Tà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.

Page 46: Virtualized network infrastructure_using_open_flow

04/10/2023 BKHN – 2011 46

CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ CHÚ Ý LẮNG NGHE