1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU kỹ THUẬT ĐỊNH TUYẾN TRONG MẠNG SDN

80 1,2K 31

Đ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 80
Dung lượng 2 MB

Nội dung

Cóthể tạo ra một mạng thông minh và linh hoạt hơn không?Trên thực tế người ta đã nghiên cứu và tạo ra được một mạng mới mà ở đó cơ chế điều khiển mạng được xử lý bằng các bộ điều khiển v

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

LUẬN VĂN THẠC SĨ KHOA HỌC

ĐỊNH HƯỚNG NGHIÊN CỨU

NGƯỜI HƯỚNG DẪN KHOA HỌC

PGS.TS VÕ THANH TÚ

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này là công trình nghiên cứu của cá nhân tôi Tất

cả số liệu, kết quả nghiên cứu trong luận văn là trung thực, chưa được người khác công bố trong bất cứ một công trình nghiên cứu nào

Học viên

Phan Cảnh Văn

Trang 3

LỜI CẢM ƠN

Lời đầu tiên, tôi xin gửi lời cảm ơn đến quý thầy cô trong khoa Công nghệThông tin, trường Đại học Khoa học Huế đã trang bị các kiến thức quý báu trongsuốt thời gian học tập, tạo mọi điều kiện thuận lợi cho tôi được hoàn thành luận vănthạc sĩ

Tiếp theo, tôi xin gửi lời cảm ơn chân thành và sâu sắc đến thầy PGS TS VõThanh Tú – Giáo viên hướng dẫn, đã quan tâm hướng dẫn tận tình tôi trong suốtthời gian thực hiện luận văn

Đồng thời, tôi cũng xin gửi lời cảm ơn đến cha mẹ, bạn bè, đồng nghiệp đãủng hộ, giúp đỡ trong suốt thời gian học cũng như thực hiện luận văn

Trang 4

MỤC LỤC

Trang

Lời cam đoan

Lời cảm ơn

Mục lục

Danh mục các bảng

Danh mục các hình

Danh mục các chữ viết tắt

PHẦN MỞ ĐẦU 1

CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN VỀ MẠNG SDN 2

1.1 TỔNG QUAN VỀ MẠNG SDN 2

1.2 KIẾN TRÚC CỦA MẠNG SDN 8

1.3 ƯU NHƯỢC ĐIỂM CỦA MẠNG SDN SO VỚI MẠNG TRUYỀN THỐNG 11

1.4 CÁC MÔ HÌNH TRIỂN KHAI MẠNG SDN 13

1.4.1 Switch Based 13

1.4.2 Overlay Network 14

1.4.3 Mạng lai 15

1.5 ỨNG DỤNG CỦA MẠNG SDN 16

1.5.1 Phạm vi doanh nghiệp 16

1.5.2 Phạm vị nhà cung cấp hạ tầng và dịch vụ viễn thông 17

1.6 THÁCH THỨC ĐẶT RA VÀ TƯƠNG LAI PHÁT TRIỂN CỦA MẠNG SDN 17

CHƯƠNG 2 GIAO THỨC OPENFLOW VÀ KỸ THUẬT ĐỊNH TUYẾN TRÊN SDN 18

2.1 GIAO THỨC OPENFLOW 18

2.1.1 Tổng quan về giao thức OpenFlow 18

2.1.2 Cấu tạo và nguyên lý hoạt động của OpenFlow 20

2.1.3 Các thành phần cơ bản trong OpenFlow 22

2.1.4 Ưu điểm của OpenFlow 33

Trang 5

2.2 KIẾN TRÚC ĐỊNH TUYẾN TRÊN SDN 34

2.3 KỸ THUẬT ĐỊNH TUYẾN TRÊN SDN: Bộ định tuyến ảo như một dịch vụ - Virtual Routers as a Service (VRS) 34

2.3.1 Tổng quan về VRS 34

2.3.2 Ứng dụng định tuyến VRS: Giải pháp RouteFlow trên mạng SDN 40

2.3.3 Kiến trúc RouteFlow 41

2.3.4 Hướng phát triển của RouteFlow 47

CHƯƠNG 3 MÔ PHỎNG MÔ HÌNH MẠNG SDN 49

3.1 GIỚI THIỆU CHƯƠNG 49

3.2 ÁP DỤNG SDN TRONG MẠNG NỘI BỘ TRUYỀN THỐNG 49

3.2.1 Các tồn tại của mạng nội bộ truyền thống 49

3.2.2 SDN trên mạng nội bộ 50

3.3 MÔ PHỎNG MÔ HÌNH MẠNG SDN 51

3.3.1 Giới thiệu các công cụ sử dụng trong cấu hình mô phỏng mạng 51

3.3.2 Cài đặt các công cụ mô phỏng 53

3.3.3 Tiến trình thực hiện mô phỏng 59

KẾT LUẬN VÀ KIẾN NGHỊ 65

TÀI LIỆU THAM KHẢO 67

PHỤ LỤC 1 68

Trang 6

DANH MỤC CÁC BẢNG

Trang

Bảng 2.1 Các entry thuộc trường Match 24 Bảng 2.2 Các loại bản tin trao đổi giữa Controller và OpenFlow Switch 32 Bảng 2.3 Thời gian phản hồi ICMP 47

Trang 7

DANH MỤC CÁC HÌNH

Trang

Hình 1.1 Sự khó khăn của người quản trị 4

Hình 1.2 Sơ đồ mạng truyền thống 5

Hình 1.3 Sơ đồ mạng với bộ điều khiển SDN 6

Hình 1.4 Kiến trúc của mạng SDN 9

Hình 1.5 Mô hình Switch Based 13

Hình 1.6 Mô hình Overlay Network 14

Hình 2.1 Sơ đồ tương tác giữa OpenFlow Switch và bộ điều khiển 21

Hình 2.2 Sơ đồ quan hệ giữa Bộ điều khiển và OpenFlow Switch 21

Hình 2.3 Kiến trúc vật lý của OpenFlow 22

Hình 2.4 Cấu trúc của OpenFlow Switch 23

Hình 2.5 Một bộ định tuyến ảo dịch vụ hiển thị kết nối năm vị trí của khách hàng với nhu cầu dung lượng cụ thể trên nền tảng vật lý của nhà cung cấp 36

Hình 2.6 Cấu trúc liên kết được kết nối hoàn toàn 37

Hình 2.7 Cấu trúc liên kết sao 37

Hình 2.8 Tổng quan về mạng được điều khiển bởi RouteFlow 42

Hình 2.9 Các phương thức hoạt động và các kịch bản sử dụng bộ định tuyến ảo 43

Hình 2.10 Các thành phần RouteFlow 44

Hình 2.11 Cấu trúc bộ điều khiển ảo 45

Hình 3.1 Giao diện VituralBox 54

Hình 3.2 Giao diện thiết lập cấu hình mạng 54

Hình 3.3 Giao diện cấu hình DHCP của card mạng 55

Hình 3.4 Giao diện thiết lập card mạng cho máy ảo Mininet 55

Hình 3.5 Thiết lập card mạng cho máy ảo Mininet 56

Hình 3.6 Giao diện máy ảo Mininet 56

Hình 3.7 Giao diện OpenDayLight 57

Hình 3.8 Giao diện đăng nhập OpenDayLight Controller 58

Hình 3.9 Mô hình mạng mô phỏng 59

Trang 8

Hình 3.10 Kết quả kiểm tra các kết nối trong mô hình 60

Hình 3.11 Kết quả kiểm tra các kết nối khi có Controller 60

Hình 3.12 Mô hình mạng trên OpenDayLight 61

Hình 3.13 Giao diện hiển thị của 1 Controller OpenDayLight 61

Hình 3.14 Giao diện tab Flow 62

Hình 3.15 Flow-entry đánh rơi gói tin truyền từ h10 đến h17 62

Hình 3.16 Kiểm tra kết nối từ host h10 đến h17 62

Hình 3.17 Cấu hình mạng đã ngắt kết nối với Controller có IP 192.168.56.103 63

Hình 3.18 Kiểm tra kết nối giữa các host sau khi ngắt 1 Controller 63

Trang 9

DANH MỤC CÁC CHỮ VIẾT TẮT

API Application Programming Interface (Giao diện lập trình ứng dụng)

ASIC Application Specific Integrated Circuits (Bảng mạch tích hợp chuyên dụng)CAPEX Capital Expenditure (Chi phí đầu tư)

CEG Customer Edge Gateways (Cổng khách hàng)

FIB Forwarding Information Base (Cơ sở thông tin chuyển tiếp)

INs Intermediate Nodes (Các nút trung gian)

IP Internet Protocol (Giao thức mạng)

MAC Media Access Control (Điều khiển truy nhập môi trường)

NSF Nonstop Forwarding (Chức năng tiếp tục chuyển tiếp dữ liệu dựa trên cấu

hình cuối được lưu)

ONF Open Networking Foundation

OPEX Operational Expenditure (Chi phí vận hành)

PMC Path Management Controller (Bộ điều khiển quản lý đường dẫn)

POP Point-Of-Presence (Các điểm hiện có)

QoS Quality of Service (Chất lượng dịch vụ)

SDN Software-Defined Networking (Mạng điều khiển bằng phần mềm)

SSL Secure Sockets Layer (Lớp bảo mật)

SSP Successive Shortest Paths (Thuật toán đường dẫn ngắn nhất liên tiếp)TCP/IP Transmission Control Protocol/ Internet Protocol (Giao thức điều khiển mạng)VEM Virtual Ethernet Module (Môđun Ethernet ảo)

VLAN Virtual Local Area Network (Mạng cục bộ ảo)

VM Virtual Machine (Máy ảo)

VRS Virtual Routers as a Service (Bộ định tuyến ảo như một dịch vụ)

VSM Virtual Supervisor Module (Bộ giám sát ảo)

Trang 10

Hiện nay, SDN thực sự là một hướng đi được quan tâm đặc biệt trong cảnghiên cứu lẫn ứng dụng Có thể thấy rằng, SDN phù hợp với những môi trường hệthống mạng tập trung và có mức chuyển tiếp lưu lượng cực kỳ lớn bao gồm: các hệthống mạng doanh nghiệp và mạng trung tâm dữ liệu (Data Center), hệ thống điệntoán đám mây – Cloud.

Mục đích của luận văn là đưa ra cái nhìn tổng quan về kiến trúc mạng mới,tìm hiểu các kỹ thuật định tuyến được sử dụng trên hệ thống mạng SDN, mô phỏngmột hệ thống mạng SDN Nội dung của luận văn gồm 03 chương:

Chương 1: Giới thiệu tổng quan về mạng SDN

Chương 2: Giao thức OpenFlow và kỹ thuật định tuyến trên SDN

Chương 3: Mô phỏng mô hình mạng SDN

Trang 11

CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN VỀ MẠNG SDN

1.1 TỔNG QUAN VỀ MẠNG SDN

Software Defined Networking (SDN) là một cách tiếp cận mới trong việcthiết kế, xây dựng và quản lý hệ thống mạng SDN là kiến trúc mạng linh động, dễquản lý, hiệu quả về chi phí, có khả năng đáp ứng cao Chương này sẽ giới thiệumột cách tổng quan về kiến trúc, chức năng, ưu nhược điểm của mạng SDN so vớimạng truyền thống

Trong một kiến trúc mạng truyền thống cơ chế điều khiển và chuyển tiếp dữliệu được kết hợp, đi liền với nhau trên cùng một thiết bị vật lý và mỗi thiết bị vật lýđộc lập với nhau Nếu số lượng thiết bị càng nhiều, càng gây nên sự phức tạp trongmạng lưới và gây khó khăn cho người quản trị mạng trong quá trình vận hành vàđiều khiển hệ thống Việc có bất kỳ sự thay đổi nào trong các thiết bị của mạng đềumất rất nhiều thời gian, chi phí cao và bắt buộc phải có sự tham gia của nhà sảnxuất thiết bị Các thiết bị mạng hiện nay là những thiết bị mang tính độc quyền củanhà sản xuất, cản trở rất nhiều cho sự đổi mới và phát triển từ người sử dụng Vì thếvấn đề bảo mật đến thời điểm hiện tại trên mạng truyền thống không có giải phápnào có độ tin cậy tuyệt đối

Một yếu tố hạn chế lớn của mạng truyền thống trong thời kỳ hiện nay là việc

sử dụng máy chủ ảo hóa ngày càng phổ biến Ở đó việc ảo hóa các máy chủ làmtăng số lượng máy chủ một cách chóng mặt, đồng thời nó làm thay đổi quan điểm

về vị trí vật lý của các máy chủ Nó có thể phân vùng cho một máy chủ duy nhấtthành nhiều máy chủ độc lập, bảo tồn được tài nguyên phần cứng, nó cũng có thểgiúp cho việc di chuyển máy chủ nhanh chóng từ máy này sang máy khác để cânbằng tải hoặc chuyển đổi trong trường hợp hỏng máy Máy chủ ảo đã trở thành mộtnhân tố trung tâm trong việc xử lý các ứng dụng dữ liệu lớn cũng như trong việctriển khai cơ sở hạ tầng cho điện toán đám mây Nhưng việc sử dụng máy chủ ảohóa lại tạo ra các vấn đề với kiến trúc mạng truyền thống Ví dụ như việc cấu hình

Trang 12

cho máy chủ ảo được gán cùng cổng chuyển đổi khi máy chủ vật lý đang chạy máy

ảo Nhưng mỗi khi di chuyển máy chủ ảo thì phải cấu hình lại VLAN cho nó Vấn

đề đặt ra là để phù hợp với tính linh hoạt của việc ảo hóa máy chủ thì người quản trịcần có khả năng thêm mới, xóa bỏ, thay đổi cấu hình và tài nguyên mạng Quá trìnhnày khó thực hiện đối với thiết bị chuyển mạch thông thường vì cơ chế điều khiển

và chuyển tiếp dữ liệu được kết hợp trên cùng một thiết bị

Một vấn đề khác của việc ảo hóa máy chủ là luồng lưu lượng truy cập khácnhau đáng kể so với mô hình client - server truyền thống Thông thường, có một sốlượng đáng kể lưu lượng truy cập vào các máy chủ ảo nhằm mục đích duy trì sựđồng bộ cho cơ sở dữ liệu hoặc thực hiện các chức năng bảo mật như kiểm soát truycập Các luồng truy cập đến các máy chủ ảo thay đổi vị trí và cường độ theo thờigian, đòi hỏi một cách tiếp cận linh hoạt để quản lý tài nguyên mạng

Ngoài việc áp dụng kỹ thuật ảo hóa, nhiều công ty và doanh nghiệp đã làmviệc trên nền mạng hội tụ IP để truyền dữ liệu, video Trong khi đó, mạng hiện tại

hỗ trợ các mức độ khác nhau của QoS (Quality of Service) cho các ứng dụng khácnhau và cung cấp những tài nguyên này hoàn toàn bằng tay Người quản trị cần phảicài đặt thiết bị của từng nhà cung cấp một cách riêng lẻ, và dĩ nhiên phải thiết lậpcác tham số như băng thông, QoS trên từng phiên làm việc cho mỗi ứng dụng Do

sự không linh hoạt của mình, mạng hiện tại không thể điều chỉnh một cách linhđộng cho sự thay đổi lưu lượng dữ liệu của các ứng dụng và người dùng

Các chính sách mạng không đồng nhất dẫn đến mỗi lần thực hiện một chínhsách thì người quản trị mạng phải cấu hình hàng ngàn thiết bị Ví dụ trong mộtdoanh nghiệp lớn, mỗi khi một máy chủ ảo mới được phát sinh thì người quản trịphải mất hàng giờ, thậm chí là vài ngày để thực hiện cấu hình cần thiết Tính phứctạp của mạng hiện tại làm cho công việc này trở nên khó khăn đối với các nhà quảntrị để có thể áp dụng một bộ phối hợp truy cập, hay quy tắc bảo mật, QoS và cácchính sách người dùng khác

Trang 13

Mạng truyền thống không có khả năng mở rộng: Vì các nhu cầu đối với cáctrung tâm dữ liệu tăng nhanh chóng, nên mạng cũng buộc phải tăng (kích thước)theo Tuy nhiên, mạng vì thế quá phức tạp với hàng trăm, hàng ngàn thiết bị, nhữngthiết bị này lại cần phải được cấu hình và điều khiển Những người quản trị cũngbuộc phải đưa ra dự báo về lưu lượng dữ liệu để mở rộng mạng Nhưng trong cáctrung tâm dữ liệu ảo hóa ngày nay, lưu lượng dữ liệu là một khái niệm “động”không tưởng và gần như không thể dự báo trước được.

Việc phụ thuộc vào nhà sản xuất thiết bị làm bị động trong việc phát triểncủa mạng truyền thống Các nhà mạng và các công ty cố gắng áp dụng các khả năng

và dịch vụ mới trong việc đáp ứng các nhu cầu kinh doanh hoặc nhu cầu ngườidùng Tuy nhiên khả năng của họ phụ thuộc vào các chu kỳ cập nhật firmware thiết

bị của nhà sản xuất Và điều đáng nói là những chu kỳ này có thể kéo dài lên đến 3năm hoặc nhiều hơn nữa Ngoài ra việc thiếu các chuẩn hóa, hay giao diện mở làmgiới hạn khả năng điều chỉnh mạng của các nhà mạng

Hình 1.1 Sự khó khăn của người quản trị

Sự khó khăn từ việc quản lý phân tán, sự không tương ứng giữa nhu cầu trênthị trường và khả năng của mạng truyền thống đã được giải quyết khi Mạng SDN(SOFTWARE - DEFINED NETWORKING) được ra đời

Trang 14

Với một giả thiết được đưa ra liệu có thể tách rời cơ chế điều khiển ra khỏicác thiết bị mạng để làm cho khả năng xử lý chuyển tiếp dữ liệu tăng lên không? Cóthể tạo ra một mạng thông minh và linh hoạt hơn không?

Trên thực tế người ta đã nghiên cứu và tạo ra được một mạng mới mà ở đó

cơ chế điều khiển mạng được xử lý bằng các bộ điều khiển và các bộ điều khiển đó

có thể tương tác với phần cứng, bộ nhớ và chức năng của các thiết bị mạng nhưrouter/ switch để đạt được mục đích của người sử dụng Do đó mạng trở nên linhđộng, dễ quản lý, hiệu quả về chi phí, có khả năng đáp ứng cao

Để tìm hiểu rõ hơn ta so sánh chức năng của các thiết bị của mạng truyềnthống và mạng SDN Chức năng cơ bản của một Router/ Switch bình thường baogồm hai phần là phần cứng và phần mềm Phần mềm đảm bảo chức năng trao đổithông tin với các thiết bị mạng khác và tính toán các con đường định tuyến dựa vàocác thông tin thu thập được Phần cứng có chức năng chuyển tiếp các gói tin đếntheo một lộ trình đã được tính toán sẵn

Hình 1.2 Sơ đồ mạng truyền thống

Như hình 1.2 mô tả một sơ đồ mạng truyền thống, ta có thể thấy các thiết bịđịnh tuyền hoặc chuyển mạch thực hiện việc trao đổi thông tin với nhau và quátrình tính toán xử lý đều được thực hiện tại mỗi nút mạng (router/ switch) Chức

Trang 15

năng chính của Router/ Switch là chuyển tiếp dữ liệu, nhưng theo mô hình 1.2 thìcác thiết bị không được tập trung hoàn toàn vào việc đó mà còn phải thực hiện thêmchức năng định tuyến đường đi của dữ liệu Đối với mạng SDN thì điều đó đã đượcthay đổi.

Hình 1.3 Sơ đồ mạng với bộ điều khiển SDN

Theo hình 1.3 mô tả về sơ đồ mạng với bộ điều khiển SDN thì chức năng thuthập thông tin các thiết bị trong mạng và tính toán xử lý định tuyến đường đi của dữliệu theo các thông tin đã thu thập được thực hiện tại bộ điều khiển mạng (NetworkController) Các thiết bị mạng như Router và Switch chỉ tập trung vào chức năngchuyển tiếp dữ liệu Điều đó làm cho việc quản lý hệ thống mạng trở nên đơn giản,

có sự tập trung hơn và các thiết bị mạng có thể nâng cao năng suất hoạt động

Từ những mô tả từ 2 mô hình trên ta có thể thấy được một số điểm khácnhau giữa mô hình mạng truyển thống và mô hình mạng SDN:

Trang 16

- Cơ chế điều khiển và cơ chế chuyển tiếp dữ liệu:

+ Mạng truyền thống: Đều được tích hợp trên một thiết bị mạng

+ Mạng SDN: Cơ chế điều khiển được tách ra khỏi thiết bị mạng vàđược chuyển đến thực hiện tại bộ điều khiển SDN

- Phần thu thập và xử lý thông tin định tuyến về đường đi:

+ Mạng truyền thống: Được thực hiện tại tất cả các nút trong mạng.+ Mạng SDN: Tập trung và xử lý tại bộ điều khiển SDN

có tính năng động, dễ quản lý, hiệu quả về chi phí, có thể thích nghi và lý tưởng chotính “động”, băng thông cao của các ứng dụng ngày nay Kiến trúc SDN tách riêngcác chức năng điều khiển (Control Plane) và chuyển tiếp dữ liệu (Forwarding Plane

or Data Plane), cho phép việc điều khiển mạng có thể được lập trình trực tiếp và cơ

Trang 17

cấu hình trên đó thay vì phải thực hiện thủ công hàng ngàn câu lệnh cấu hình trêncác thiết bị riêng lẽ Ngoài ra nó còn có thể triển khai các ứng dụng mới và các dịch

vụ mạng một cách nhanh chóng

1.2 KIẾN TRÚC CỦA MẠNG SDN

Để có cái nhìn tổng quan hơn ta xem xét đến kiến trúc của SDN Kiến trúcnày tách biệt hai cơ chế đang tồn tại trong kiến trúc mạng hiện tại là cơ chế điềukhiển và cơ chế chuyển tiếp Các đặc tính trong kiến trúc SDN:

- Khả năng lập trình trực tiếp: Việc điều khiển mạng được lập trình trực

tiếp bởi nó đã được tách biệt với các chức năng chuyển tiếp

- Nhanh chóng: Việc tách biệt các chức năng điều khiển và chức năng

chuyển tiếp cho phép các nhà quản trị mạng linh hoạt trong việc điều chỉnh luồnglưu lượng của mạng khi có yêu cầu thay đổi

- Quản lý tập trung: Việc điều khiển tập trung được thực hiện bởi bộ điều

khiển SDN (một phần mềm), cho ta thấy được cái nhìn tổng quan về mạng

- Việc cấu hình lập trình được: SDN cho phép người quản trị mạng cấu

hình, quản lý, thiết lập bảo mật, tối ưu hóa tài nguyên mạng nhanh chóng nhờ cócác chương trình hỗ trợ SDN đã tự động hóa, những chương trình đó hoàn toàn cóthể tự lập trình được mà không phụ thuộc vào phần mềm

- Cung cấp các tiêu chuẩn mở: Khi triển khai thông qua các tiêu chuân mở,

SDN đã đơn giản hóa việc thiết kế mạng và vận hành bởi vì các chỉ dẫn được cungcấp bởi bộ điều khiển SDN thay vì các giao thức hay các thiết bị chuyên biệt củacác nhà cung cấp

Kiến trúc của SDN gồm 3 lớp riêng biệt: lớp ứng dụng, lớp điều khiển, vàlớp cơ sở hạ tầng (lớp chuyển tiếp) Mô hình kiến trúc mạng SDN được thể hiện ởhình 1.4

Trang 18

Hình 1.4 Kiến trúc của mạng SDN

- Lớp ứng dụng (Application Plane): bao gồm các ứng dụng được triển

khai trên mạng, kết nối với lớp điều khiển thông qua các API (ApplicationProgramming Interface – Giao diện lập trình ứng dụng), cho phép lớp ứng dụng lậptrình lại (cấu hình lại) mạng (Ví dụ: điều chỉnh tham số độ trễ, băng thông, địnhtuyến, …) thông qua lớp điều khiển lập trình giúp cho hệ thống mạng tối ưu hoạtđộng theo một yêu cầu nhất định

Trang 19

- Lớp điều khiển (Control Plane): là nơi tập trung các bộ điều khiển SDN thực

hiện việc điều khiển cấu hình mạng theo các yêu cầu từ lớp ứng dụng và khả năng củamạng Các bộ điều khiển này có thể là các phần mềm được lập trình trực tiếp

Các bộ điều khiển SDN xác định các luồng dữ liệu sẽ đi qua lớp dữ liệu phíadưới và mỗi luồng dữ liệu đi qua mạng đều phải có sự cho phép của bộ điều khiểnSDN và khi được sự cho phép thì bộ điều khiển sẽ tính toán chọn đường đi tốt nhấtcho các luồng dữ liệu Một bộ điều khiển là một ứng dụng quản lý kiểm soát luồnglưu lượng trong môi trường mạng Để truyền thông tin điều khiển đến lớp cơ sở hạtầng, lớp điều khiển sử dụng các giao thức như: OpenFlow, ONOS, ForCES, PCEP,NETCONF, SNMP hoặc thông qua các cơ chế riêng biệt Hầu hết các bộ điều khiểnSDN hiện nay dựa trên giao thức OpenFlow Giao thức này sẽ được đề cập ởchương sau

Bộ điều khiển SDN hoạt động như một loại hệ điều hành cho mạng Tất cảthông tin liên lạc giữa các ứng dụng và các thiết bị phải đi qua bộ điều khiển Cùngvới chức năng chính, nó có thể tiếp tục được mở rộng để thực hiện thêm các nhiệm

vụ quan trọng như định tuyến và truy cập mạng

Tóm lại, vai trò của lớp điều khiển là: cung cấp API để có thể xây dựng cácứng dụng cho hệ thống mạng, thu nhận thông tin từ hệ thống mạng vật lý, điềukhiển hệ thống mạng vật lý

- Lớp cơ sở hạ tầng (Infrastructure/ Data Plane): bao gồm các thiết bị

mạng thực tế (vật lý hoặc ảo hóa) thực hiện việc chuyển tiếp gói tin theo sự điềukhiển của lớp điều khiển Một thiết bị mạng có thể hoạt động theo sự điều khiển củanhiều bộ điều khiển khác nhau, điều này giúp tăng cường khả năng ảo hóa của mạng

Kiến trúc SDN rất linh hoạt, nó có thể hoạt động với các loại thiết bị chuyểnmạch và các giao thức khác nhau Trong kiến trúc SDN, thiết bị chuyển mạch thựchiện các chức năng sau:

+ Đóng gói và chuyển tiếp các gói tin đầu tiên đến bộ điều khiển SDN để bộđiền khiển SDN quyết định các flow entry sẽ được thêm vào flow table của switch

Trang 20

+ Chuyển tiếp các gói tin đến các cổng thích hợp dựa trên flow table.

+ Flow table có thể bao gồm các thông tin ưu tiên được quyết định bởi bộđiều khiển SDN

+ Switch có thể hủy các gói tin trên một luồng riêng một cách tạm thời hoặcvĩnh viễn nhưng dưới sự cho phép của bộ điều khiển

Bộ điều khiển SDN quản lý các trạng thái chuyển tiếp của các thiết bị switchtrong mạng, việc quản lý này được thông qua một bộ giao diện mở API, nó chophép bộ điều khiển SDN có thể giải quyết các yêu cầu mà không cần thay đổi cácthành phần cấp dưới của mạng, bao gồm cả mô hình mạng Với sự tách riêng biệtmiền điều khiển và miền dữ liệu, SDN cho phép các ứng dụng triển khai một cách

dễ dàng mà không cần quan tâm chi tiết đến việc hoạt động của các thiết bị mạng

1.3 ƯU NHƯỢC ĐIỂM CỦA MẠNG SDN SO VỚI MẠNG TRUYỀN THỐNG

Mạng truyền thống và mạng SDN đều có những ưu nhược điểm riêng nhưngvới những thuộc tính quan trọng ví dụ như dễ quản lý hơn cho người quản trị, chiphí và độ phức tạp giảm thì người ta đánh giá rằng mạng SDN phù hợp hơn so vớimạng truyền thống Những lợi ích mà mạng SDN đem lại gồm:

- Quản lý tập trung và đơn giản: dựa vào SDN mà người quản trị mạng cóthể có quyền kiểm soát mạng một cách đơn giản và hiệu quả mà không cần cóquyền truy cập trực tiếp đến phần cứng thiết bị Họ chỉ cần thông qua các API đãđược cung cấp để có thể xây dựng ứng dụng cho toàn hệ thống mạng

- Truyền tải nhanh chóng và linh hoạt: SDN cung cấp một cơ chế điều khiểnduy nhất đối với cơ sở hạ tầng mạng và giảm bớt sự phức tạp của các quá trình xử

lý thông qua sự tự động hóa., giúp các doanh nghiệp triển khai nhanh hơn các ứngdụng, các dịch vụ và cơ sở hạ tầng mạng

- Cho phép thay đổi: SDN cho phép sử dụng không hạn chế và có thể thayđổi các chính sách mạng để phát hiện sự xâm nhập, tường lửa và tạo sự cân bằngvới sự thay đổi của phần mềm

Trang 21

- Giảm CapEx (chi phí đầu tư): SDN giúp giảm thiểu các yêu cầu mua phầncứng theo mục đích xây dựng các dịch vụ, phần cứng mạng, loại bỏ lãng phí choviệc dự phòng.

- Giảm OpEx (chi phí vận hành): nhờ khả năng lập trình được các phần tửmạng, SDN giúp dễ dàng thiết kế, triển khai, quản lý và mở rộng mạng Khả năngphối hợp và dự phòng tự động không những giảm thời gian quản lý tổng thể, màcòn giảm xác suất lỗi do con người hướng tới việc tối ưu khả năng và độ tin cậy củadịch vụ

- Mở ra cơ hội cho các nhà cung cấp thiết bị trung gian khi phần điều khiểnđược tách rời khỏi phần cứng Với SDN, việc điều khiển được tập trung tại bộ điềukhiển SDN, các thiết bị mạng chỉ có nhiệm vụ chuyển tiếp gói tin do đó sự khácbiệt giữa những nhà sản xuất không ảnh hưởng tới toàn hệ thống mạng

Bên cạnh những ưu điểm đã có của mình, mạng SDN vẫn tồn tại một sốnhược điểm sau:

- Đầu tiên là vấn đề bảo mật, nếu SDN bị tấn công thành công vào hệ thốngđiều khiển thì mạng có thể được truy cập và thiết lập các thay đổi từ bất cứ đâu, bất

cứ thời điểm nào Đối với mạng truyền thống điều này khó có thể xảy ra vì để cóthể truy cập vào mạng ta phải có quyền truy cập vào phần cứng của thiết bị Hầu hếtcác công ty và doanh nghiệp chỉ cho phép một số cá nhân thực hiện được việc đónên hệ thống sẽ an toàn hơn

- Tiếp theo, SDN là một kiến trúc mạng kiểu mới, các giao thức tương tácgiữa các bộ điều khiển với nhau chưa được hoàn thiện một cách toàn diện nên việcphát triển mạng SDN vẫn còn hạn chế

- Một vấn đề nữa là quá trình triển khai mạng SDN không thể hoàn thiệntrong thời gian ngắn mà phải theo từng bước một Các công ty, doanh nghiệp khôngthể trong một lúc thay thế toàn bộ các thiết bị hiện có thành OpenFlow Switch đượcbởi nó rất tốn kém

Trang 22

Tóm lại, với những ưu nhược điểm của mạng SDN so với mạng truyền thốngthì chúng ta vẫn có thể tin rằng đây là một kiến trúc mạng mới tốt hơn, linh hoạthơn, đáp ứng được phần lớn nhu cầu của ứng dụng hiện nay.

1.4 CÁC MÔ HÌNH TRIỂN KHAI MẠNG SDN

1.4.1 Switch Based

Ý tưởng của mô hình dựa trên switch là các giao thức điều khiển SDN đượcđưa ra trực tiếp từ bộ điều khiển SDN (tại máy ảo) đến lớp điều khiển, lớp cơ sở hạtầng/ dữ liệu với các SDN switch

Hình 1.5 Mô hình Switch Based

Đối với mạng thông thường khi một gói tin đến một switch, dựa vào các giaothức được xây dựng sẵn trong switch nó sẽ biết được nơi sẽ chuyển tiếp gói tin đến.Switch sẽ gửi các gói tin đi đến cùng một địa điểm, cùng một con đường và nó đối

xử với các gói tin là như nhau Trong các doanh nghiệp, các switch thông minhđược thiết kế với các bảng mạch tích hợp ứng dụng cụ thể ASIC (ApplicationSpecific Integrated Circuits) điều đó giúp cho các switch nhận biết được các loạigói tin và xử lý chúng một cách thích hợp Với việc có thêm các bảng mạch tíchhợp ASIC làm cho các thiết bị switch trở nên đắt hơn so với các thiết bị chuyểnmạch thông thường

Trang 23

Đối với mạng SDN được mô tả như hình 1.5 thì người quản trị mạng có thểquản lý các lưu lượng dữ liệu từ một thiết bị kiểm soát trung tâm mà không cần phảitác động trực tiếp vào từng switch Người quản trị mạng có thể thay đổi bất cứ cácquy tắc chuyển mạch nào nếu cần thiết như ưu tiên, không ưu tiên hoặc thậm chí cóthể chặn một số gói tin đặc thù nào đó Điều này đặc biệt hữu ích cho kiến trúc đámmây bởi vì nó cho phép người quản trị có thể quản lý các luồng dữ liệu một cáchlinh hoạt và hiệu quả hơn Kiến trúc này còn cho phép các kỹ sư mạng hỗ trợ đa kếtnối qua các thiết bị phần cứng của nhiều nhà cung cấp khác nhau.

Điểm hạn chế lớn nhất của phương pháp này là không thể tận dùng tất cả cácthiết bị mạng lớp 3 và lớp 2 của mạng truyền thống

1.4.2 Overlay Network

Mô hình Overlay Network có thể tận dụng các thiết bị của mạng TCP/IP hiện

có bằng cách ảo hóa Ở mô hình này, các giao thức điều khiển của SDN đi trực tiếp

từ bộ điều khiển SDN (tại máy ảo) đến các thiết bị chuyển mạch ảo (Hypervisorswitch) để kiểm soát các thiết bị mạng ở lớp dưới

Hình 1.6 Mô hình Overlay Network

Trang 24

Mô hình như hình 1.6 yêu cầu sử dụng các thiết bị chuyển mạch ảo để đápứng các lệnh đến các thiết bị mạng IP Các thiết bị chuyển mạch ảo là các máy ảochịu trách nhiệm giao tiếp giữa thiết bị mạng IP với các máy ảo và các ứng dụngmạng SDN Mô hình dùng chuyển mạch ảo có 2 chức năng đó là chức năng vậnchuyển của lớp 2 thông qua một mô đun Ethernet ảo VEM (Virtual EthernetModule) và tuân thủ các chính sách giám sát.

VEM cung cấp thông tin cấu hình, hỗ trợ chuyển mạch lớp 2 và hỗ trợ cácchức năng nâng cao của mạng như cấu hình cho các cổng , chất lượng dịch vụ, bảomật cho các cổng , VLAN và điều khiển truy cập Ngoài ra, khi mất liên lạc với cácthiết bị chuyển mạch ảo, mô đun Ethernet ảo có hỗ trợ chức năng NonstopForwarding (NSF) để có thể tiếp tục chuyển tiếp lưu lượng dựa trên cấu hình cuốicùng mà các bộ chuyển mạch được biết Như vậy, mô đun Ethernet ảo cung cấp khảnăng chuyển mạch với độ tin cậy cao cho môi trường máy chủ ảo

Để kiểm soát nhiều mô đun Ethernet ảo người ta sử dụng một bộ giám sát ảo(Virtual Supervisor Module - VSM) Thay vì sử dụng nhiều thẻ chức năng vật lý,VSM hỗ trợ chạy nhiều VEM bên trong một máy chủ vật lý Cấu hình được thực hiệnthông qua VSM và tự động chuyển đến các VEM Thay vì cấu hình các chuyển mạchmềm bên trong các hypervisor trên cơ sở các máy chủ với nhau, người quản trị có thểcấu hình ngay lập tức trên tất cả các VEM được quản lý bởi VSM từ một giao diệnduy nhất VSM còn cung cấp chức năng cấu hình các cổng thông qua phần mềm

Mô hình triển khai này có ưu điểm là sử dụng được cơ sở hạ tầng mạng IPhiện tại nhưng nó cũng sẽ gây khó khăn cho các nhà quản trị vì phải duy trì hệthống cũ và sửa chữa các vấn đề về định tuyến trong mạng SDN

1.4.3 Mạng lai

Mô hình này là sự kết hợp giữa 2 mô hình Switch Based và OverlayNetwork Cách triển khai mô hình này tận dụng được mạng lưới IP hiện có và dầndần loại bỏ mạng lưới cũ để chuyển sang sử dụng hoàn toàn các switch SDN Điềunày cho phép các doanh nghiệp có thể kiểm soát tốc độ triển khai SDN và chi phíđầu tư thiết bị mạng

Trang 25

1.5 ỨNG DỤNG CỦA MẠNG SDN

Với những lợi ích mà mạng SDN mang lại, nó có thể được triển khai trongphạm vi các doanh nghiệp hoặc các nhà cung cấp hạ tầng và dịch vụ viễn thông đểgiải quyết các yêu cầu của các nhà cung cấp tại mỗi phân khúc thị trường khác nhau

1.5.1 Phạm vi doanh nghiệp

1.5.1.1 Áp dụng trong mạng doanh nghiệp

Mô hình tập trung, điều khiển và dự phòng tự động của SDN hỗ trợ việc tậptrung dữ liệu, cũng như là việc truy cập tại bất kỳ thời điểm nào, bất kỳ nơi đâu.Điều này được thực hiện thông qua việc cho phép các nhà quản trị mạng thực thichính sách nhất quán trên cả cơ sở hạ tầng không dây lẫn có dây Ngoài ra, SDN hỗtrợ việc quản lý và giám sát tự động tài nguyên mạng, xác định bằng các hồ sơ cánhân và các yêu cầu ứng dụng, để đảm bảo tối ưu trải nghiệm người dùng với khảnăng của nhà cung cấp dịch vụ mạng

1.5.1.2 Áp dụng trong các trung tâm tích hợp dữ liệu (Data Center)

Việc sử dụng ảo hóa các thực thể mạng của kiến trúc SDN cho phép việc mởrộng trong các trung tâm dữ liệu, dịch chuyển tự động các máy ảo, tích hợp chặt chẽhơn với kho lưu trữ, sử dụng máy chủ tốt hơn, sử dụng năng lượng thấp hơn và tối

ưu được băng thông hơn

1.5.1.3 Áp dụng trong dịch vụ điện toán đám mây (Cloud)

Khi được sử dụng để hỗ trợ một môi trường dịch vụ điện toán đám mây riênghoặc tích hợp, SDN cho phép tài nguyên mạng được phân bố một cách linh hoạt,điều đó cho phép sự đáp ứng nhanh chóng của các dịch vụ điện toán đám mây vàtạo sự chuyển giao linh hoạt hơn đến cho các nhà cung cấp điện toán đám mây bênngoài Với các công cụ an toàn để quản lý mạng ảo của họ, các doanh nghiệp sẽ tintưởng vào các dịch vụ đám mây nhiều hơn nữa

Trang 26

1.5.2 Phạm vị nhà cung cấp hạ tầng và dịch vụ viễn thông

SDN cung cấp cho các nhà mạng, các nhà cung cấp dịch vụ đám mây côngcộng và các nhà cung cấp dịch vụ, sự mở rộng và tự động thiết kế để triển khai một

mô hình tính toán có ích cho ItaaaS (IT as a Service) Điều này thực hiện thông quaviệc đơn giản hóa triển khai các dịch vụ tùy chọn và theo yêu cầu, cùng với việcchuyển dời sang mô hình Selfservice Mô hình tập trung, dự phòng và điều khiển tựđộng của SDN dễ dàng hỗ trợ cho sự linh hoạt các tài nguyên, đảm bảo tài nguyênmạng được triển khai ở mức tối ưu, giảm CapEx và OpEx, tăng giá trị và tốc độdịch vụ

1.6 THÁCH THỨC ĐẶT RA VÀ TƯƠNG LAI PHÁT TRIỂN CỦA MẠNG SDN

Với sự phát triển nhanh chóng của hệ thống mạng và ứng dụng hiện nay,những thách thức đặt ra khi áp dụng mạng SDN vào thực tế là:

- Hiệu suất và tính linh hoạt: Làm thế nào để lập trình chuyển mạch đạt đượchiệu suất cao nhất và linh hoạt?

- Khả năng mở rộng: Làm thế nào để cho phép bộ điều khiển cung cấp mộtcái nhìn toàn cục về hệ thống mạng?

- Bảo mật: Làm thế nào để SDN được bảo vệ từ các cuộc tấn công?

- Khả năng tương thích: Làm thế nào các giải pháp SDN được tích hợp vàomạng hiện tại?

- Liệu công nghệ SDN có thể thực hiện được không, khi mà thị trường DataCenter phát triển còn chậm?

- Liệu SDN sẽ định hình tương lai cho hệ thống mạng như thế nào? Liệu giaothức nguồn mở có đủ sức nổi bật, hay vẫn chịu lép vế trước một giao thức nào khác?

Trang 27

CHƯƠNG 2 GIAO THỨC OPENFLOW VÀ KỸ THUẬT

ĐỊNH TUYẾN TRÊN SDN 2.1 GIAO THỨC OPENFLOW

2.1.1 Tổng quan về giao thức OpenFlow

Để áp dụng SDN vào thực tế có 2 yêu cầu cơ bản được đặt ra cần được đápứng Đầu tiên, phải có một kiến trúc logic chung cho các thiết bị chuyển mạch, bộđịnh tuyến và các thiết bị mạng khác được điều khiển bởi bộ điều khiển SDN Kiếntrúc logic này có thể được thực hiện theo nhiều cách khác nhau trên các thiết bị củacác nhà cung cấp khác nhau, miễn sao bộ điều khiển SDN thấy được chức năngchuyển đổi logic đồng nhất Thứ hai, cần có một giao thức chuẩn, đảm bảo an toàntrong qua trình trao đổi giữa bộ điều khiển SDN và các thiết bị mạng

Cả hai yêu cầu trên đã được giải quyết khi có sự ra đời của giao thức OpenFlow.OpenFlow có thể cung cấp cho các nhà quản trị mạng khả năng điều khiển các nguồntài nguyên mà họ quản trị, khả năng quản trị máy chủ và mạng tích hợp, nó một giaotiếp quản trị mở cho các hệ thống Router và Switch OpenFlow được định nghĩa trongOpenFlow Switch Specification, được công bố bởi Open Networking Foundation(ONF) ONF là một tập đoàn bao gồm các nhà cung cấp phần mềm và các nhà cungcấp thiết bị mạng có mục đích phát triển mạng SDN, thúc đẩy công nghệ OpenFlow

và giao thức chuyển mạch OpenFlow Switching Protocol

Ngày nay với sự phát triển nhanh chóng, rộng khắp của dịch vụ điện toánđám mây và ảo hóa máy chủ đã thúc đẩy các nhu cầu về tính linh hoạt, độ tin cậy, antoàn và cần được quản lý tốt hệ thống mạng Để giải quyết vấn đề này, cần phải cócác hệ thống điều khiển thông minh hơn, hiệu quả hơn, những hệ thống cho phépphối hợp hoạt động của hàng ngàn thiết bị định tuyến và chuyển mạch Hiện naynhững thiết bị này chỉ cung cấp cho người quản trị khả năng tái lập trình một cáchhạn chế, và để nâng cao tính hiệu quả ở các trung tâm tích hợp dữ liệu (Data Center),những người quản trị hệ thống cần một sự kiểm soát chi tiết hơn, khả năng mở rộng

Trang 28

mình, điều này hạn chế khả năng điều khiển lưu lượng dữ liệu giữa các thiết bị củacác nhà sản xuất khác nhau Các thiết bị chuyển mạch và thiết bị định tuyến truyềnthống vừa thực hiện việc chuyển tiếp gói dữ liệu vừa thực hiện định tuyến đường đicho luồng dữ liệu.Trong khi đó OpenFlow cung cấp chức năng điều khiển cao cấpđộc lập với phần cứng, do đó đẩy nhanh quá trình chuyển tiếp và định tuyến.

OpenFlow tách biệt hẳn phần điều khiển ra khỏi phần chuyển tiếp dữ liệu vàcung cấp khả năng lập trình cho lớp điều khiển OpenFlow là tiêu chuẩn đầu tiên,cung cấp khả năng truyền thông giữa các giao diện của lớp điều khiển và lớpchuyển tiếp dữ liệu trong kiến trúc SDN OpenFlow cho phép truy cập trực tiếp vàđiều khiển mặt phẳng chuyển tiếp dữ liệu của các thiết bị mạng như switch vàrouter, cả thiết bị vật lý và thiết bị ảo, do đó giúp di chuyển phần điều khiển mạng

ra khỏi các thiết bị chuyển mạch thực tế tới phần mềm điều khiển trung tâm Mộtđiểm rất mạnh của OpenFlow là có thể hoạt động tốt trong cả các thiết bị mạng ảo

và thiết bị mạng vật lý Sự tăng trưởng mạng mẽ của công nghệ ảo hóa hiện nay đãnâng cao vai trò của các thiết bị mạng ảo, do đó việc đồng bộ giữa các thiết bị mạng

ảo và thực là điều hết sức quan trọng

Giải pháp OpenFlow mang lại khả năng ảo hóa toàn diện cho toàn bộ hệthống mạng, được kỳ vọng là một trong những chuẩn sẽ thay đổi kiến trúc hạ tầngmạng trong tương lai gần

Các đặc trưng cơ bản của OpenFlow gồm:

- OpenFlow có thể được sử dụng bởi ứng dụng phần mềm ngoài để điềukhiển lớp chuyển tiếp của các thiết bị mạng, giống như tập lệnh của CPU điều khiểnmột hệ thống máy tính

- Giao thức OpenFlow được triển khai trên cả hai giao diện kết nối giữa cácthiết bị cơ sở hạ tầng mạng và phần mềm điều khiển SDN

- OpenFlow sử dụng khái niệm “flow” (luồng) để nhận dạng lưu lượng mạngtrên cơ sở định nghĩa trước các quy tắc phù hợp (được lập trình sẵn bởi phần mềmđiều khiển SDN) Giao thức này cũng cho phép định nghĩa cách mà dữ liệu được

Trang 29

truyền qua các thiết bị mạng trên cơ sở các tham số, chẳng hạn như mô hình lưulượng sử dụng, ứng dụng và dịch vụ đám mây Do đó OpenFlow cho phép mạngđược lập trình dựa trên cơ sở luồng lưu lượng dữ liệu Một kiến trúc SDN trên cơ sởOpenFlow cung cấp hệ thống điều khiển ở mức cực kỳ chi tiết, cho phép mạng phảnhồi sự thay đổi theo thời gian thực của ứng dụng, người dùng và phiên hoạt động.Mạng định tuyến trên cơ sở IP hiện tại không cung cấp được sự điều khiển theomức này, tất cả các luồng lưu lượng giữa hai điểm đầu cuối phải theo cùng mộtđường thông qua mạng, mặc dù yêu cầu của chúng khác nhau.

- Giao thức OpenFlow là một chìa khóa để cho phép các mạng SDN và cũng

là giao thức tiêu chuẩn SDN duy nhất cho phép điều khiển lớp chuyển tiếp của cácthiết bị mạng

2.1.2 Cấu tạo và nguyên lý hoạt động của OpenFlow

OpenFlow là giao thức hoạt động giữa lớp điều khiển và lớp cơ sở hạ tầng.Trong kiến trúc của SDN, tất các các thiết bị mạng được liên kết với lớp điều khiểnđều thông qua OpenFlow OpenFlow có 2 nhiệm vụ chính:

- Giám sát hoạt động của các thiết bị mạng: Lưu lương mạng, trạng thái hoạtđộng của các nút mạng, các thông tin cơ bản về các thiết bị …

- Điều khiển hoạt động của thiết bị mạng: Điều khiển luồng dữ liệu, vấn đề

về bảo mật hệ thống, chất lượng dịch vụ mạng …

Cấu tạo cơ bản của một thiết bị OpenFlow gồm ít nhất 3 thành phần:

- Flow Table: là liên kết hành động với luồng dữ liệu, giúp các thiết bị nhậnbiết và xử lý các luồng như thế nào, mỗi hành động tương ứng với một flow-entry

- Secure Channel: kênh kết nối thiết bị mạng và bộ điều khiển sử dụng giaothức OpenFlow chạy qua Secure Sockets Layer (SSL), cho phép các lệnh và các góitin được gửi giữa bộ điều khiển và thiết bị

- OpenFlow Protocol: giao thức cung cấp phương thức tiêu chuẩn và mở chomột bộ điều khiển truyền thông với thiết bị

Trang 30

Áp dụng mạng SDN trên cơ sở giao thức OpenFlow bao gồm các thànhphần: OpenFlow Switch và Controller (bộ điều khiển SDN) Trong đó bộ điều khiểngiao tiếp với các OpenFlow Switch thông quan giao thức OpenFlow Hình 2.1 mô tả

sơ đồ tương tác giữa Switch và bộ điều khiển theo giao thức OpenFlow

Hình 2.1 Sơ đồ tương tác giữa OpenFlow Switch và bộ điều khiển

Nguyên lý hoạt động của OpenFlow: Trong các thiết bị định tuyến hay chuyểnmạch hiện nay, cơ chế điều khiển định tuyến đường đi (Control Path) và cơ chếchuyển tiếp dữ liệu (Data Path) đều được thực hiện trên cùng một thiết bị OpenFlowSwitch tách rời các cơ chế điều khiển và chuyển tiếp dữ liệu ra khỏi nhau Chức năngliên quan đến chuyển tiếp dữ liệu vẫn nằm trên thiết bị chuyển mạch, trong khi đó cácquyết định điều khiển và định tuyến đường đi được chuyển đến bộ điều khiển riêngbiệt OpenFlow Switch và bộ điều khiển giao tiếp với nhau thông qua giao thứcOpenFlow Hình 2.2 cho thấy sơ đồ giữa bộ điều khiển và OpenFlow Switch

Hình 2.2 Sơ đồ quan hệ giữa Bộ điều khiển và OpenFlow Switch

Trang 31

Việc chuyển tiếp dữ liệu của một OpenFlow Switch được trình bày trongflow table; mỗi mục flow table chứa một tập các trường gói tin phù hợp và mộthành động (như gửi đến cổng, sửa đổi trường hoặc hủy) Khi một OpenFlow Switchnhận được một gói tin nó chưa từng nhận được trước đây và không có trong flowtable, nó sẽ gửi gói tin này đến bộ điều khiển Bộ điều khiển sau đó đưa ra quyếtđịnh về cách xử lý gói tin này Nó có thể hủy các gói tin, hoặc có thể thêm một flowentry chỉ đạo việc làm thế nào để chuyển tiếp gói tin tương tự trong tương lai Bộđiều khiển còn có thể ra lệnh cho các thiết bị chuyển mạch thực hiện các quy tắcdành cho luồng dữ liệu như: truyền dữ liệu theo tuyến đường nhanh nhất, truyền dữliệu theo tuyến đường ít tắc nghẽn nhất …

2.1.3 Các thành phần cơ bản trong OpenFlow

Hình 2.3 Kiến trúc vật lý của OpenFlow

Trang 32

vụ liên lạc giữa bộ điều khiển và OpenFlow Switch.

Hình 2.4 Cấu trúc của OpenFlow Switch

Trong đó:

- Flow Table: là một bảng chứa các Flow-entry

- Flow-Entry: là một phần tử ở trong Flow Table được sử dụng để kiểm tra

Trang 33

- Match Fields: Dùng để đối chiếu sự trùng khớp các gói tin Nó bao gồm cáccổng vào, tiêu đề gói tin và tùy chọn dữ liệu được quy định theo bảng 2.1.

Bảng 2.1 Các entry thuộc trường Match

Trong bảng 2.1 chỉ ra các trường cơ bản và các trường này dùng để so sánhvới các gói tin đến Mỗi trường sẽ chứa một giá trị nhất định, hoặc một giá trị ANY.Giá trị ANY này sẽ trùng khớp với bất kỳ giá trị nào Ngoài việc sử dụng các tiêu đềgói tin để so sánh, thì có thể sử dụng thêm cổng vào và trường metadata Metadatadùng để truyền thông tin giữa các bảng trong thiết bị chuyển mạch

- Priority: Trường để so sánh sự ưu tiên của flow entry

- Counters: Trường này sẽ được cập nhật khi gói tin được so khớp

Trang 34

- Instructions: Trường chỉ ra các lệnh tương ứng với bản tin, dùng để chỉnhsửa các hành động hoặc quá trình xử lý pipeline.

- Timeouts: Thời gian chờ trước khi gói tin bị hết hạn

- Cookie: Là phần dữ liệu được lựa chọn bởi bộ điều khiển Bộ điều khiển cóthể sử dụng nó để lọc thống kê luồng, thay đổi luồng và xóa luồng

Có ba loại tập hợp các Flow Table:

- Một Flow Table sẽ ghép các gói tin tới với một flow nhất định và chỉ địnhcác chức năng được thực hiện trên các gói tin đó Có thể có nhiều Flow Table vậnhành trong một pipeline

- Một Flow Table có để chuyển một luồng vào một Group Table, tại đó cóthể kích hoạt cùng một lúc nhiều hành động ảnh hưởng tới một hoặc nhiều flow

- Một Meter Table có thể kích hoạt nhiều hành động liên quan tới hiệu năngtrên một flow

Lưu ý: Khái niệm về flow được hiểu là một chuỗi các gói tin đi qua mộtmạng mà có chung một tập các giá trị trường header

Flow-Entry: Mỗi flow-entry trong Flow Table có một hành động tương ứng

với nó và gồm 3 trường:

- Một Packet header xác định flow

- Hành động (Action) xác định các flow cần được xử lý như thế nào

- Thống kê (Statistics) theo dõi số lượng gói tin và byte cho mỗi flow, và thờigian kể từ khi gói cuối cùng khớp với luồng (để giúp loại bỏ luồng không hoạt động)

Mỗi flow-entry có một hành động tương ứng với nó, và có ba loại hành động

cơ bản:

- Chuyển các gói tin của một flow tới một hoặc nhiều cổng nhất định Điềunày cho phép các gói tin được định tuyến qua mạng

Trang 35

- Đóng gói và chuyển tiếp các gói tin của flow tới bộ điều khiển Gói tin sẽđược đưa tới Secure Channel, tại đó nó được đóng gói và gửi tới bộ điều khiển.Điển hình như gói tin đầu tiên của mỗi flow mới sẽ được gửi tới bộ điều khiển đểđược quyết định xem liệu flow có được đưa vào trong Flow Table hay không.

- Hủy các gói tin của flow Hành động này được sử dụng nhằm mục đích bảomật, như tấn công từ chối dịch vụ (DoS), hoặc để giảm thiểu luồng dữ liệu giả mạo

Group Table: Mỗi mục của Group Table chứa các thành phần sau:

- Định danh nhóm (Group Identifier) là một số nguyên không dấu 32 bit,dùng để xác định nhóm

- Loại của nhóm (Group Type): xác định loại của nhóm

- Counters: Giá trị của trường này được cập nhật mỗi khi có gói tin được xử

lý bởi nhóm

- Danh sách các hoạt động pipeline (Action Buckets): Danh sách thứ tự cáchoạt động của pipeline, trong đó mỗi hoạt động pipeline chứa một bộ các hành độngdùng để thực hiện hay chỉnh sửa các tham số liên quan đến chúng

Pipeline: Pipeline của mỗi OpenFlow Switch chứa tập hợp các bảng luồng

Flow Table Mỗi bảng này lại chứa tập hợp các Flow-entry Quá trình xử lý các góitin bằng pipeline chính là xác định cách mà các gói tin tương tác với những FlowTable Nếu OpenFlow Switch chỉ có 1 Flow Table thì trong trường hợp này việc xử

lý của pipeline sẽ được giản lược đi rất nhiều

Các Flow Table của OpenFlow Switch được đánh số thứ tự bắt đầu từ 0 Quátrình xử lý pipeline sẽ bắt đầu từ bảng 0 Các Flow Table khác có thể được sử dụngtùy thuộc vào kết quả của việc so sánh các trường trong gói tin với các entry trongbảng đó

Nếu gói tin tương ứng với entry trong Flow Table, thì bộ các Instruction

Trang 36

bảng khác (sử dụng chỉ dẫn Goto, ở đó quá trình xử lý gói tin tương tự sẽ được diễn

ra Lưu ý là entry chỉ có thể chuyển gói tin đến một bảng Flow Table khác với sốthứ tự lớn hơn số thứ tự của bảng hiện tại Entry của bảng cuối cùng không thể chứachỉ dẫn Goto Nếu khi xét các entry mà không diễn ra việc chuyển gói tin sang mộtbảng khác thì quá trình xử lý pipeline sẽ kết thúc tại đó Và khi quá trình xử lýpipeline dừng lại, gói tin được xử lý tương ứng với các bộ hành động liên quan đến

nó, thông thường sẽ là chuyển tiếp tiếp tục đến một thiết bị chuyển mạch khác

Nếu gói tin khi được xét nhưng không tìm thấy entry tương ứng trong bảng,thì người ta gọi đó là trường hợp “miss – trượt” Trong trường hợp này các hànhđộng tiếp theo sẽ tùy thuộc vào cấu hình của bảng Theo mặc định thì gói tin sẽđược chuyển đến bộ điều khiển theo kênh điều khiển nhờ bản tin dạng packet_in,một phương án khác là loại bỏ gói tin đó đi Flow Table cũng có thể chỉ ra rằng nếu

“miss” diễn ra thì việc xử lý gói tin vẫn phải tiếp tục, lúc này gói tin có thể đượcchuyển đến bảng có số thứ tự tiếp theo để xử lý

Các hoạt động xử lý của OpenFlow Switch

Thiết bị chuyển mạch là phần quan trọng của mạng Trong thành phần của bộchuyển mạch gồm các thành phần như sau: Flow Table, Group Table

- Các câu lệnh điều khiển chính của bộ điều khiển được gửi đến bộ chuyểnmạch bao gồm: Thêm flow, cập nhật flow, xóa flow

Trang 37

- Việc kiểm tra và so sánh gói tin với các bảng được bắt đầu từ bảng đầu tiên

và có thể tiếp tục trong các bảng tiếp theo Nếu phát hiện có sự trùng khớp thì sẽthực hiện các chỉ dẫn đã có sẵn trong bảng tương ứng với từng entry Nếu không tìmthấy entry tương ứng thì bộ chuyển mạch thực hiện một trong các việc sau:

+ Gửi gói tin đến bộ điều khiển để phân tích

+ Loại bỏ gói tin

+ Tiếp tục tìm kiếm trong bảng tiếp theo

- Bộ các chỉ dẫn chứa trong mỗi entry sẽ mô tả các hành động mà bộ chuyểnmạch phải làm trong trường hợp có sự trùng khớp khi so sánh Bộ chỉ dẫn đó bao gồm:

+ Chuyển tiếp gói tin

+ Chỉnh sửa tiêu đề gói tin

+ Gửi gói tin đến Group Table để xử lý

+ Gửi gói tin đến pipeline để xử lý

- Việc chuyển tiếp gói tin có thể là gửi gói tin đến:

+ Cổng vật lý của bộ chuyển mạch

+ Cổng ảo của bộ chuyển mạch

+ Cổng dành riêng của bộ chuyển mạch

- Cổng ảo của bộ chuyển mạch có thể được sử dụng để xác định chính xácnhóm của các kênh tổng hợp, đồng thời xác định các cổng có thông tin phản hồi(loopback)

- Cổng dành riêng của bộ chuyển mạch được xác định bởi giao thứcOpenFlow Các cổng dành riêng này có thể được sử dụng để mô tả các quy tắcchung cho việc chuyển tiếp gói tin

Trang 38

- Xử lý trong Group Table được sử dụng để thực hiện các hành động phụ đốivới gói tin Các nhóm chứa các bộ hoạt động với các yêu cầu phức tạp hơn (Ví dụ :định tuyến nhiều đường, định tuyến nhanh,…).

- Pipeline cho phép chuyển tiếp gói tin vào bảng tiếp theo hoặc truyền cácthông tin dịch vụ giữa các bảng dưới dạng Metadata

- Các nhà sản xuất các bộ chuyển mạch có thể tự mình lựa chọn phươngpháp thực hiện cấu trúc bên trong của thiết bị, tuy nhiên quá trình xem xét và sosánh gói tin cũng như các quy tắc xử lý gói tin cần phải giống nhau

2.1.3.2 Bộ điều khiển (OpenFlow Controller)

Controller trong khái niệm OpenFlow là yếu tố cơ bản và là trung tâm của mạngSDN, trong đó tập trung tất cả các chức năng điều khiển mạng SDN Hệ điều hành trên

bộ điều khiển chính nó không điều khiển mạng, mà nó chỉ giúp cho giao diện lập trìnhAPI điều khiển mạng Vì thế về cơ bản, việc giải quyết các bài toán điều khiển mạngđược thực hiện nhờ các ứng dụng được triển khai trên cơ sở API của hệ điều hànhcontroller Cần lưu ý rằng giao diện lập trình này phải đủ tính tổng quát để hỗ trợ đượcnhiều ứng dụng từ đó có thể giải quyết được các vấn đề điều khiển mạng

Giao diện API của hệ điều hành mạng có các đặc tính cơ bản sau:

- Đầu tiên, giao diện API đó cung cấp khả năng tạo ra các ứng dụng trên cơ

sở mô hình điều khiển tập trung, nghĩa là các ứng dụng được viết ra sao cho toàn bộmạng được biểu diễn trên một bộ máy

- Thứ hai, giao diện API cung cấp khả năng tạo ra các ứng dụng ở mức ảohóa cao (ví dụ tên người sử dụng, tên của host), chứ không phải là các tham số cấuhình cấp thấp (ví dụ IP, MAC address) Điều này cho phép thực hiện các câu lệnhđiều khiển mà không phụ thuộc vào cấu trúc cơ bản của mạng Dĩ nhiên việc làmnày yêu cầu một sự ánh xạ tương ứng giữa lớp ảo hóa cấp cao và các cấu hình cấpthấp

Trang 39

Controller về nguyên tắc sẽ làm việc trên một máy chủ kết nối tới mạng, và

có thể là: một Controller điều khiển toàn bộ các OpenFlow Switches, hoặc mộtController điều khiển một bộ các switch cụ thể nào đó, hoặc có thể là mộtController điều khiển một switch trong mạng Controller hỗ trợ giao diện để tạo ra,chỉnh sửa, xóa bỏ, điều khiển các cấu hình trong các bảng Flow Table của cácOpenFlow Switches

Điều quan trọng khi sử dụng nhiều Controller trong mạng SDN đó là tất cảcác Controller phải có chung một topo mạng trong mọi thời điểm Topo mạng đó cóthể là topo về các switchs, hoặc sự phân bố người dùng, host hay các thành phần,dịch vụ khác của mạng Vì thế một trong những bài toán quan trọng nhất được xử lýbởi hệ điều hành mạng là giám sát mạng thường xuyên để xây dựng topo mạng mộtcách thống nhất

Hiện nay, người ta đã tạo ra nhiều Controller cho SDN, ví dụ như:

- NOX: do Nicira khởi động và là Controller mã nguồn mở đầu tiên đượcthiết kế cho OpenFlow Controller này sử dụng một cách tiếp cận tương đối cơ bản

và tập trung NOX là phiên bản cổ điển được viết bằng C ++

- POX: ít phức tạp hơn nhưng chậm hơn, viết bằng Python Sự phát triển trênController này có nhiều hiệu quả nhưng đã bị ngưng từ năm 2012 Tuy nhiên, một

số nghiên cứu cơ bản và giải pháp bảo mật đã được thực hiện trên các phiên bản cơ

sở của nó

- OpenDayLight: là một controller mã nguồn mở, nó là nỗ lực hợp tác củamột số thành viên ONF và The Linux Foundation Nó được thiết kế để tương thíchvới giao diện Southbound của OpenFlow và được coi là một trong những ứng cửviên có tiềm năng lớn nhất đáp ứng tiêu chuẩn API Northbound

- Floodlight đã được phát triển từ Controller Beacon và được duy trì bởiBig Switch Networks Nó có tính mô đun cao, hỗ trợ đa xử lý song song và có

Trang 40

chứa một số thành phần ứng dụng đã được tích hợp như là tính toán định tuyếnđường đi và quản lý thiết bị.

2.1.3.3 Giao thức OpenFlow (OpenFlow Protocol)

Giao thức OpenFlow mô tả quá trình trao đổi thông tin giữa OpenFlowController và OpenFlow Switch Giao thức OpenFlow cho phép bộ điều khiển thựchiện các thao tác như thêm, cập nhập, chỉnh sửa và xóa các Flow-entry ở trong FlowTable Nó hỗ trợ 3 loại bản tin như sau:

+ Controller-to-Switch: bản tin này được bắt đầu bởi Controller, trong một sốtrường hợp thì nó được bắt đầu bởi switch Bản tin này cho phép Controller quản lýtrạng thái của switch bao gồm cấu hình và chi tiết các luồng tin và các entry củaFlow Table Cũng như gói tin thông điệp đầu ra, bản tin này được sử dụng khiswitch gửi các bản tin đến Controller và Controller quyết định không hủy bản tin

mà đưa nó ra cổng ra của switch

+ Bản tin không đồng bộ (Asynchronous): loại bản tin này được gửi màkhông cần sự đồng ý từ bộ điều khiển Loại này bao gồm các thông báo khác nhauđến bộ điều khiển Ngoài ra còn có các bản tin packet_in, bản tin này được sử dụngbởi switch để gửi gói tin đến Controller khi bản tin không khớp với trường nào ởFlow Table

+ Bản tin đối xứng (Symmetric): bản tin này được gửi đi mà không cần sựđồng ý của Controller hoặc switch Nó tuy đơn giản nhưng rất hữu ích.Ví dụ nhưbản tin hello thường được gửi qua lại giữa Controller và switch khi trạng thái kếtnối lần đầu tiên được thiết lập Bản tin echo và bản tin phúc đáp có thể được sửdụng bởi switch hoặc Controller để đo độ trễ và băng thông của kết nối giữaController và switch hoặc để xác minh rằng thiết bị đang hoạt động

Ngày đăng: 16/10/2018, 08:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w