Tải bản đầy đủ (.pdf) (83 trang)

Ứng dụng mô hình điều khiển mạng SDN trong thiết kế mạng cho công ty TNHH thương mại dịch vụ quốc tế hoàng gia

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.61 MB, 83 trang )

LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến Khoa công nghệ thông
tin cũng như trường Đại học công nghệ thông tin và truyền thông Thái Nguyên đã
tạo mọi điều kiện,tốt nhất cho em thực hiện đồ án tốt nghiệp đại học năm nay.
Tiếp theo, em xin gửi lời cảm ơn chân thành và sâu sắc đến Thầy ThS. Trần
Duy Minh – người đã tận tình hướng dẫn, quan tâm chỉ bảo chúng em trong suốt
thời gian thực hiện đề tài. Ngoài ra, không quên cảm ơn quý thầy cô trong khoa đã
tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm học
vừa qua.
Cuối cùng, em xin gởi lời biết ơn sâu sắc đến cha mẹ, bạn bè đã ủng hộ,
giúp đỡ, động viên chúng em trong suốt quá trình học cũng như thời gian làm đồ
án. Một lần nữa xin cảm ơn và rất mong nhận được sự đóng góp chân thành của
các quý thầy cô, bạn bè.

1


LỜI CAM ĐOAN
Sau quá trình học tập tại trường Đại học công nghệ thông tin và truyền
thông Thái Nguyên, có sự kết hợp, vận dụng giữa lý thuyết và thực tế, em đã tìm
hiểu nghiên cứu và tập hợp các tài liệu để hoàn thành đồ án tốt nghiệp của mình.
Em xin cam đoan đồ án tốt nghiệp này là công trình do chính sức lực bản
than em tự tìm hiểu, nghiên cứu và hoành thành dưới sự hướng dẫn của thầy giáo
ThS. Trần Duy Minh. Em xin cam đoan đồ án này chưa từng được sử dụng để bảo
vệ ở bất cứ học vị nào.
Thái Nguyên, tháng 6 năm 2016
Sinh viên

Ma Quang Thượng

2




3


4


DANH MỤC HÌNH ẢNH
Hình 1.1. Khó khăn cho người vận hành 8
Hình 1.2. Controller quản lý tập trung các thiết bị switch thông qua API
Hình 1.3. Quản lý tập trung thông qua controller duy nhất

9

9

Hình 1.4. Cấu trúc của SDN – mô hình 1 11
Hình 1.5. Cấu trúc của SDN - mô hình 2 11
Hình 2.1. Phân phối logical plane trong hệ thống mạng truyền thống 27
Hình 2.2. Các giải pháp bảo mật chung

29

Hình 2.3. Sử dụng tường lửa để tăng cường an toàn cho các host trong SDN
34
Hình 2.4. Bảng mô tả các giải pháp đề xuất

35


Hình 2.5. Các phiên bản controller hỗ trợ Replication và faul-tolerance.
Hình 2.6. Tích hợp bảo vệ mạng với Replication và Diversity 39
Hình 3.1. Sơ đồ logic

52

Hình 3.2. Sơ đồ công ty

53

Hình 3.3. Sơ đồ vật lý tầng 1

53

Hình 3.4. Sơ đồ vật lý tầng 2

54

Hình 3.5. Trang đăng nhập
OpenDaylight…………………………………61
Hình 3.6. Kết quả ping các host
Hình 3.7. Topo mạng

64

Hình 3.8. Các kết nối

65

63


Hình 3.9. Bắt gói tin bằng Wireshark

65

Hình 3.10. Công cụ system monitor

66

5

39


6


DANH MỤC TỪ VIẾT TẮT
AAA

Authentication Authorization and Accounting

ACL

Access Control List

API

Application Programming Interface


BYOD

Bring-Your-Own-Device

DDoS

Distributed Denial of Service

DFD

Data Flow Diagram

IaaS

Infrastructure as a Service

IDS

Intrusion Detection System

ONF

Open Networking Foundation

SDN

Software-Defined Networking

SDO


Standard Organisation

SIEM

Security Information and Event Management

TCAM

Ternary Content-Addressable Memory

TLS

Transport Layer Security

7


LỜI NÓI ĐẦU
Ngày nay mạng máy tính ngày càng phát triển vượt bậc. Nhu cầu mở rộng
mạng ngày càng tăng, đòi hỏi số lượng thiết bị ngày càng lớn gây ra nhiều khó
khăn cho người quản trị. Hệ thống mạng phức tạp, chính sách không nhất quán,
khả năng mở rộng kém, chi phí cao, nhiều nguy cơ về bảo mật. Sự phức tạp trong
việc tích hợp các giải pháp bảo mật cho hệ thống mạng là vấn đề được quan tâm
hàng đầu. Công nghệ SDN - Software Defined Networking (Mạng định nghĩa
bằng phần mềm) ra đời như một giải pháp cho hệ thống mạng hiện nay. Do đó em
quyết định chọn đề tài “Ứng dụng mô hình điều khiển mạng SDN trong thiết kế
mạng cho công ty TNHH thương mại dịch vụ quốc tế hoàng gia”.
Mục đích chính nghiên cứu này là đưa ra cái nhìn tổng quan về một kiến
trúc mạng hoàn toàn mới, tìm hiểu về vấn đề bảo mật đối với hệ thống mạng
SDN,demo mô phỏng hệ thống mạng đơn giản.

Nội dung của đồ án được chia thành 3chương:
Chương I : Tổng quan về SDN – Software Defined Networking.
Chương II : Các vấn đề bảo mật trong SDN.
Chương III : Khảo sát hệ thống và xây dựng demo chương trình.

8


Chương 1 : TỔNG QUAN VỀ SDN – Software Defined Networking
1.1. Sự cần thiết của một kiến trúc mạng mới.
Trong một kiến trúc mạng truyền thống data plane và control plane đều
cùng nằm trên một thiết bị vật lý (chế độ tự trị) và mỗi thiết bị độc lập với nhau,
các chính sách chuyển tiếp lưu lượng nằm riêng trên mỗi thiết bị, vì vậy không có
khả năng hiển thị toàn bộmạng, các chính sách chuyển tiếp có thể không phải là tốt nhất.
Nếu số lượng thiết bị càng nhiều, càng gây nên sự phức tạp trong mạng và
điều đó cũng 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ình 1.1. Khó khăn cho người vận hành
Các thay đổi mô hình lưu thông, sự gia tăng của các dịch vụ đám mây và
nhu cầu phát triển của các nhà khai thác băng thông dịch vụ cần tìm ra giải pháp
mới. Vì công nghệ mạng truyền thống không thể đáp ứng những nhu cầu đó và nảy
sinh các vấn đề. Các yếu tố hạn chế:
Phức tạp.

9


Chính sách không nhất quán.
Khả năng mở rộng quy mô kém.

Phụ thuộc vào nhà cung cấp.
1.2. Định nghĩa SDN.
Software-Definded Networking (SDN) là một cách tiếp cận mới trong
việc thiết kế, xây dựng và quản lý hệ thống mạng. Về cơ bản, SDN chia tách độc
lập hai cơ chế hiện đang tồn tại trong cùng một thiết bị mạng: Control Plane (cơ
chế điều khiển, kiểm soát luồng mạng), DataPlane (cơ chế chuyển tiếp dữ liệu,
luồng dữ liệu) để có thể tối ưu hoạt động của hai cơ chế này.
SDN dựa trên giao thức mã nguồn mở (Open Flow) và là kết quả nghiên
cứu của Đại học Stanford và California Berkeley. SDN tách việc định tuyến và
chuyển tiếp các luồng dữ liệu riêng rẽ và chuyển kiểm soát luồng sang thành phần
mạng riêng có tên gọi là thiết bị kiểm soát luồng (Flow Controller). Điều này cho
phép luồng các gói dữ liệu đi qua mạng được kiểm soát theo lập trình.

Hình 1.2. Controller quản lý tập trung các thiết bị switch thông qua API
Trong SDN, control plane được tách ra từ các thiết bị vật lý và chuyển đến
các controller. Controller này có thể nhìn thấy toàn bộ mạng và do đó cho phép các

10


kỹ sư mạng làm cho chính sách chuyển tiếp được tối ưu dựa trên toàn bộ mạng.
Các controller tương tác với các thiết bị mạng vật lý thông qua một giao thức
chuẩn OpenFlow. Với SDN, việc quản lý mạng có thể được thực hiện thông qua
một giao diện duy nhất, trái ngược với việc cấu hình ở mỗi thiết bị mạng riêng lẻ.

Hình 1.3. Quản lý tập trung thông qua controller duy nhất.
1.3.Ưu điểm của SDN.
 Controller có thể được lập trình trực tiếp.
 Mạng được điều chỉnh, thay đổi một cách nhanh chóng thông qua việc thay
đổi trên controller.

 Mạng được quản lý tập trung do phần điều khiển được tập trung trên
controller.
 Cấu hình lớp cơ sở hạ tầng có thể được lập trình trên lớp ứng dụng và
truyền đạt xuốngcác lớp dưới.
 Giảm CapEx: SDN giúp giảm thiểu các yêu cầu mua phần cứng theo mục
đích xây dựng các dịch vụ, phần cứng mạng trên cơ sở ASIC và hỗ trợ mô
hình pay-as-yougrow (trả những gì bạn dùng) để tránh lãng phí cho việc dự
phòng.

11


 Giảm OpEx: thông qua các phần tử mạng đã được gia tăng khả năng lập
trình, SDN giúp dễ dàng thiết kế, triển khai, quản lý và mở rộng mạng. Khả
năng phố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 tới việc tối ưu khả năng và
độ tin cậy của dịch vụ.
 Truyền tải nhanh chóng và linh hoạt: giúp các tổ chức triển khai nhanh hơn
các ứng dụng, các dịch vụ và cơ sở hạ tầng để nhanh chóng đạt được các
mục tiêu kinh doanh.
 Cho phép thay đổi: cho phép các tổ chức tạo mới các kiểu ứng dụng, dịch
vụ và mô hình kinh doanh, để có thể tạo ra các luồng doanh thu mới và
nhiều giá trị hơn từ mạng.
 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.
1.4.Kiến trúc của SDN.
Về cơ bản, SDN được chia làm ba phần lớn: phần ứng dụng (Application
Layer), phầnđiều khiển (Control Layer) và phần thiết bị hạ tầng (Infrastructure
Layer). Các phần sẽ liên kết với nhau thông qua giao thức hoặc các API.


12


Hình 1.4. Cấu trúc của SDN – mô hình 1

Hình 1.5. Cấu trúc của SDN - mô hình 2
1.4.1.Application layer.
Lớp ứng dụng: là các ứng dụng được triển khai trên mạng, kết nối tới lớp
điều khiển thông qua các API, cung cấp khả năng cho phép lớp ứng dụng lập trình
lại (cấu hình lại) mạng (điều chỉnh các tham số trễ, băng thông, định tuyế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.
13


1.4.2.Control layer.
Lớp điều khiển: là nơi tập trung các controller 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ủa mạng. Các
controller này có thể là các phần mềm được lập trình.
Một Controller (bộ điều khiển) là một ứng dụng quản lý kiểm soát luồng
lưu lượng trong môi trường mạng. Đnể truyền thông điều khiển lớp cơ sở hạ tầng,
lớp điều khiển sử dụng các cơ chế 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 SDN
controller hiện nay dựa trên giao thức OpenFlow.
SDN controller hoạt động như một loại hệ điều hành (OS) cho mạng. Tất cả
thông tin lien lạc giữa các ứng dụng và các thiết bị phải đi qua controller.
Controller sử dụng giao thức OpenFlow để cấu hình các thiết bị mạng và chọn
đường đi tốt nhất cho các lưu lượng ứng dụng. Cùng vớ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.

Vai trò:
 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ều khiển hệ thống mạng vật
lý.
1.4.3.Infrastructure layer.
Lớp vật lý (lớp cơ sở hạ tầng) của hệ thống mạng, bao gồm các thiết bị
mạng thực tế (vật lý hay ảo hóa) thực hiện việc chuyển tiếp gói tin theo sự điều
khiể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ủa nhiều controller khác nhau, điều này giúp tăng cường khả năng ảo hóa của
mạng.
So sánh với kiến trúc mạng truyền thống:
 Trong hệ thống mạng truyền thống, các thiết bị mạng (Layer 2, layer 3) phải
mang trên mình nhiều chức năng để đảm bảo hoạt động. VD: Các chức
14


năng của Layer Switch hiện nay: VLAN, Spanning tree, Quality of Service,
Security... và đa số các thiết bị mạng và các giao thức này hoạt động độc lập
với nhau vì mỗi nhà sản xuất cung cấp các giải pháp mạng khác nhau.
Những điều này tạo ra sự phân mảnh hệ thống mạng, giảm hiệu năng hoạt
động.
 Với SDN, việc điều khiển được tập trung tại Controller Layer, các thiết bị
mạng chỉ có nhiệm vụ chuyển tiếp gói tin do đó sự khác biệt giữa những
nhà sản xuất không ảnh hưởng tới toàn hệ thống mạng. Điều này cũng
giống như sự phát triển của máy tính hiện nay, mỗi máy tính được cung cấp
và sản xuất bởi những nhà sản xuất khác nhau (Dell, HP, IBM, Apple,
Google..), chạy các hệ điều hành khác nhau (Windows, MacOS, Linux,
Unix,...) nhưng đều có khả năng truy cập và sử dụng internet dựa trên giao
thức mạng TCP/IP.
 Về phía người sử dụng, người dùng không phải có mặt trực tiếp tại các thiết

bị mạng để cấu hình cho các thiết bị mạng, họ chỉ cần thông qua các API đã
được cung cấpcùng với một chút kiến thức về TCP/IP để có thể xây dựng
ứng dụng cho toàn hệthống mạng. Với SDN, mọi thứ đều được quản lý tập
trung. Điều này mang lại nhiều lợi ích tuy nhiên cũng mở ra nhiều nguy cơ
về bảo mật hơn so với hệ thống mạng truyền thống.
1.5.Các bước triển khai SDN
Doanh nghiệp cần phải bắt đầu một cách thật chính xác. SDN là sự chuyển
đổi từ một hệthống mạng có thể cấu hình sang một hệ thống mạng có thể lập trình.
Do đó, có một sốbước mà doanh nghiệp buộc phải tuân theo.
1.5.1.Bước thứ nhất.
Doanh nghiệp phải tích hợp mọi thiết bị, gồm bộ cân bằng tải, tường lửa, hệ
thống truyền thông, thiết bị không dây hoặc hệ thống lưu trữ… vào các SDN
controller. Các nhà sản xuất SDN có các công cụ có thể di dời cấu hình hiện thời
sang các SDN controller cho doanh nghiệp. Mọi thiết bị trên mạng đều phải hỗ trợ
15


SDN. Đây là yếu tố rất quan trọng bởi vì bây giờ doanh nghiệp đang tạo ra một
chức năng mạng SDN duy nhất, phủ khắp mọi thiết bị của mọi nhà sản xuất và nền
tảng. Nhà quản trị phải đảm bảo tất cả thiết bị được chuyển đổi thông qua cập nhật
phần mềm IOS (phần mềm chuyển đổi), hoặc mua các thiết bị mới có hỗ trợ SDN.
Khi trang bị thiết bị mới, cần cẩn thận về việc các nhà sản xuất hỗ trợ công
nghệ SDN nào và công nghệ SDN nào là tốt nhất cho từng loại triển khai hệ thống
khác nhau (thiết bị hỗ trợOpenFlow hay OpenStack). Chọn lựa giữa OpenFlow và
OpenStack ngay từ ban đầu dựa trên hạtầng hiện thời của doanh nghiệp và loại
mạng SDN mà doanh nghiệp cần.
Khi di dời, chuyển đổi cấu hình thiết bị, cẩn thận khi định nghĩa các chính
sách để di dời hoàn toàn, đủ các chính sách bảo mật cũng như đặt chúng vào SDN
controller một cách hoàn chỉnh.
1.5.2.Bước thứ 2.

Chạy thử nghiệm cẩn thận và triển khai các SDN controller. Có thể tạo một
môi trường thử nghiệm gồm các thiết bị mạng giao tiếp được với SDN controller
để chắc chắn mọi thứ đều chạy tốt. Các thiết bị đều phải cùng chung một giao
thức, hoặc OpenFlow hoặc OpenStack và doanh nghiệp cần đảm bảo bước thứ 2
này là các thiết bị trong mạng và controller giao tiếp thành công với nhau.
1.5.3.Bước thứ 3.
Là bước quan trọng nhất, cấu hình SDN tương tác được với ứng dụng. Để
ứng dụng hoàn toàn tận dụng được mạng SDN, đầu tiên cần áp dụng các chính
sách như ưu tiên lệnh thực thi cao hơn lệnh báo cáo để cho luồng dữ liệu quan
trọng nhất chạy mượt mà trong hệ thống mạng. Khi SDN đã sẵn sàng, có thể cho
các ứng dụng gửi các bộ nhận diện bổ sung vào header, khôngchỉ đơn giản là các
giao thức, TCP/UDP và cổng dữ liệu nữa. Các SDN controllersẽ phải nhận diện
được các gói dữ liệu thông qua header mà không phải đọc toàn bộ dữ liệu để nhận
diện loại dữ liệu.
1.5.4.Bước thứ 4
16


Thiết lập bảo mật vào các lớp ứng dụng. Doanh nghiệp có thể thêm bảo mật
dạng rule ởlớp thứ 7 bằng cách đầu tiên là nhận diện tương tác ứng dụng thích hợp
và không thích hợp, sau đó áp dụng các rule bổ sung dựa trên hành vi (nếu hành vi
này xuất hiện). Một khi đã thiết lập được mạng SDN, nên giám sát mạng thông qua
các SDN controller. Vài công ty tách chức năng giám sát ra khỏi controller, ví dụ
như tách riêng giám sát ứng dụng và giám sát gói dữ liệu. Tách ra như vậy phải sử
dụng các công cụ giám sát chạy ở cấp cao hơn và phải có giao diện của controller,
mạng và ứng dụng SDN. Doanh nghiệp cũng nên giám sát cả các chính sách bảo mật.
Các thách thức đặt ra với SDN
 Hiệu suất và tính linh hoạt: Làm thế nào để lập trình chuyển mạch đạt được
hiệu suất cao nhất và linh hoạt?
 Khả năng mở rộng: Làm thế nào để cho phép Controller cung cấp một cái

nhìn toàn bộ 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ào
mạng hiệntại?
 Liệu công nghệ SDN có thể thực hiện được không, khi mà thị trường Data
Center còntrì trệ?
 Liệu SDN sẽ định hình tương lai cho hệ thống mạng như thế nào? Liệu giao
thức nguồn mở có đủ sức bật, hay vẫn chịu lép vế trước một giao thức nào khác?
 Việc chuyển đổi sang hệ thống mạng mới này sẽ phải là một quá trình lâu
dài, giống như ảo hóa.
1.6.Ứng dụng của SDN.
Với những lợi ích mà mình đem lại, SDN có thể triển khai trong phạm vi
doanh nghiệp (Enterprises) hoặ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.
1.6.1.Phạm vi doanh nghiệp.

17


Áp dụng trong mạng doanh nghiệp : Khi được sử dụng để hỗ trợ một môi
trường đám mây riêng hoặc tích hợp, SDN cho phép các tài nguyên mạng được cấp
phát theo phương thức linh hoạt cao, cho phép dự phòng nhanh các dịch vụ đám
mây và chuyển giao linh hoạt hơn vớicác nhà cung cấp đám mây bên ngoài. Với
các công cụ để quản lý an toàn các mạng ảo của mình, các doanh nghiệp và các
đơn vị kinh doanh sẽ tin vào các dịch vụ đám mây hơn.
1.6.2.Phạm vi các 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 đám mây công cộng và
các nhà cung cấp dịch vụ khả năng mở rộng và tự động cần thiết để triển khai một
mô hình tính toán có ích cho ITaaS (IT-as-a-Service). Điều này được thực hiện
thông qua việ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ệc chuyển dời sang mô mình self-service. 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 thuê linh hoạt các tài nguyên, đảm
bảo tài nguyên mạng được triển khai tối ưu, giảm CapEx và OpEx, tăng giá trị và
tốc độ dịch vụ.
Tương lại của SDN.
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ể dễ dàng nhận ra 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 lưu lượng cực kỳ lớn bao gồm:
 Các hệ thống mạng doanh nghiệp: Mạng Campus và mạng trung tâm dữ
liệu (Data Center)
 Hệ thống mạng phục vụ điện toán đám mây – Cloud.
SDN đã nhận được sự quan tâm từ những "gã khồng lồ" trong làng công
nghệ khi cảGoogle và Facebook đều đã tham gia nghiên cứu và xây dựng cho
riêng mình những trung tâm dữ liệu sử dụng SDN. Theo dự đoán trong một tương
lai không xa, SDN sẽ xóa bỏ sự độc quyền thương mại trong lĩnh vực thiết bị mạng
vốn lâu nay bị CISCO nắm giữ và sẽ mở ra một cuộc cách mạng như Apple đã làm
ra iPhone.
18


1.7.OpenFlow.
Để tách biệt hẳn phần điều khiển ra khỏi phần chuyển tiếp và cung cấp khả
năng lập trình cho lớp điều khiển, ONF sử dụng giao thức OpenFlow. 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ớp chuyển tiếp 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 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 switch thực tế tới phần mềm điều khiển trung tâm.
Sự xuất hiện của OpenFlow thực sự là một cuộc cách mạng, đưa sự phát
triển của SDN lên một tầm cao mới. OpenFlow là giao thức hoạt động giữa tầng

điều khiển (Control Layer) và tầng vật lý (Infrastructure Layer). Trong kiến trúc
của SDN, tất các các thiết bị được liên kết với tầng điều khiển và 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 (routing),
Bảo mật, Quality of Service...
Về cơ bản, OpenFlow cung cấp số lượng lớn các chức năng đã được định
nghĩa và thông qua bởi Open Networking Foundation (ONF). Các thiết bị mạng
chỉ cần được thêm vào thư viện của OpenFlow là có thể tham gia hoạt động trong
mạng OpenFlow.
Một điểm rất mạnh của OpenFlow là có thể hoạt động tốt giữa 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.
1.7.1. Các đặc trưng của OpenFlow
 OpenFlow có thể được sử dụng bởi ứng dụng phần mềm ngoài để điều
khiển mặt phẳng chuyển tiếp của các thiết bị mạng, giống như tập lệnh của
19


CPU điều khiển mộ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ác
thiế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 các “flow” (luồng) để nhận dạng lưu lượng
mạng trên cơ sở định nghĩa trước các qui tắc phù hợp (được lập trình tĩnh
hoặc động bởi phầnmềm điều khiển SDN). Giao thức này cũng cho phép
định nghĩa cách mà lưu lượng phải được 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ưu lượng sử dụng, ứng dụng và
tài nguyên đám mây. Do đó OpenFlow cho phép mạng được lập trình trên

cơ sở luồng lưu lượng. Một kiến trúc SDN trên cơ sởOpenFlow cung cấp
điều khiển ở mức cực kỳ chi tiết, cho phép mạng phản hồi sự thay đổi theo
thời gian thực của ứng dụng, người dùng và mức phiên. Mạng định tuyến
trên cơ sở IP hiện tại không cung cấp mức này của điều khiển, tất cả các
luồng lưulượng giữa hai điểm 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 định nghĩa
bằng phần mềm và cũng là giao thức tiêu chuẩn SDN duy nhất cho phép
điều khiển mặt phẳng chuyển tiếp của các thiết bị mạng. Từ việc áp dụng
khởi đầu tới mạng trên cơ sởEthernet, các SDN trên cơ sở OpenFlow có thể
được triển khai trên các mạng đang tồn tại, cả vật lý và ảo hóa. - OpenFlow
đang ngày càng được hỗ trợ rộng rãi bởi các nhà cung cấp cơ sở hạ tầng
khác nhau, thông qua việc triển khai một firmware đơn giản hoặc nâng cấp
phần mềm. Kiến trúc SDN trên cơ sở OpenFlow có thể tích hợp từ từvới cơ
sở hạ tầng hiện có của doanh nghiệp hoặc nhà khai thác mạng và cung cấp
phương thức tích hợp đơn giản cho các phần của mạng cần đến các chức năng
SDN nhất.

20


1.7.2. Cấu tạo
Một thiết bị OpenFlow bao gồm ít nhất 3 thành phần:
 Flow Table: một liên kết hành động với mỗi luồng, giúp thiết bị xử lý các
luồng thếnào.
 Secure Channel: kênh kết nối thiết bị tới controller (controller), cho phép
các lệnh và các gói tin được gửi giữa controller và thiết bị,
 OpenFlow Protocol: giao thức cung cấp phương thức tiêu chuẩn và mở cho
mộtcontroller truyền thông với thiết bị.
1.7.3. Hoạt động

Trong router hay switch cổ điển, các gói tin chuyển tiếp nhanh chóng (data
path) và các quyết định định tuyến mức độ cao (control path) xảy ra trên cùng một
thiết bị. OpenFlow Switch tách hai chức năng đó ra. Phần data patth vẫn nằm trên
switch, trong khi control path được chuyển đến một controller riêng biệt, thường là
một máy chủ tiêu chuẩn. OpenFlow Switch và Controller giao tiếp thông qua giao
thức OpenFlow, trong đó xác định các tin nhắn, chẳng hạn như gói nhận được, gửi
gói tin ra, sửa đổi bảng chuyển tiếp và nhận số liệu thống kê.
Các data path của một OpenFlow Switch được trình bày rõ ràng trong flow
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ột hành
động (như gửi ra cổng, sửa đổi trường hoặc hủy). Khi một OpenFlow Switch nhận
được một gói tin nó chưa bao giờ thấy trước đây mà không có trong flow table, nó
sẽ gửi gói tin này đến bộ điều khiển. Controller sau đó đưa ra quyết định về cách
xử lý gói tin này. Nó có thể hủy (drop) các gói tin, hoặc nó có thể them một flow
entry chỉ đạo việc chuyển đổi trên làm thế nào để chuyển tiếp các gói tin tương
tựtrong tương lai.
1.7.4. Lợi ích khi sử dụng OpenFlow.
Công nghệ SDN trên cơ sở OpenFlow cho phép nhân viên IT giải quyết các
ứng dụng băng thông cao và biến đổi động hiện nay, khiến cho mạng thích ứng với
các nhu cầu kinh doanh thay đổi và làm giảm đáng kể các hoạt động và quản lý
21


phức tạp. Những lợi ích mà các doanh nghiệp và nhà khai thác mạng có thể đạt
được thông qua kiến trúc SDN trên cơ sởOpenFlow bao gồm:
 Tập trung hóa điều khiển trong môi trường nhiều nhà cung cấp thiết bị:
phần mềm điều khiển SDN có thể điều khiển bất kỳ thiết bị mạng nào cho
phép OpenFlow từ bất kỳ nhà cung cấp thiết bị nào, bao gồm switch, router
và các switch ảo.
 Giảm sự phức tạp thông qua việc tự động hóa: kiến trúc SDN trên cơ sở
OpenFlow cung cấp một framework quản lý mạng tự động và linh hoạt. Từ

framework này có thểphát triển các công cụ tự động hóa các nhiệm vụ hiện
đang được thực hiện bằng tay.
 Tốc độ đổi mới cao hơn: việc áp dụng OpenFlow cho phép các nhà khai
thác mạng lập trình lại mạng trong thời gian thực để đạt được các nhu cầu
kinh doanh và yêu cầu từ người dùng cụ thể khi có sự thay đổi.
 Gia tăng độ tin cậy và khả năng an ninh của mạng: các nhân viên IT có thể
định nghĩa các trạng thái cấu hình và chính sách ở mức cao và áp dụng tới
cơ sở hạ tầng thong qua OpenFlow. Kiến trúc SDN trên cơ sở OpenFlow
cung cấp điều khiển và tầm nhìn hoàn chỉnh trên mạng, nên có thể đảm bảo
điều khiển truy nhập, định hình lưu lượng, QoS, an ninh và các chính sách
khác được thực thi nhất quán trên toàn bộ cơ sở hạtầng mạng không dây và
có dây, bao gồm cả các văn phòng chi nhánh, các cơ sở chính và DC.
 Điều khiển mạng chi tiết hơn: mô hình điều khiển trên cơ sở flow của
OpenFlow cho phép nhân viên IT áp dụng các chính sách tại mức chi tiết,
bao gồm phiên, người dùng, thiết bị và các mức ứng dụng trong một sự trừu
tượng hóa cao, tự động điều chỉnh thích hợp. - Tốt hơn với trải nghiệm
người dùng: bằng việc tập trung hóa điều khiển mạng và tạo ra trạng thái
thông tin có sẵn cho các ứng dụng mức cao hơn, kiến trúc SDN trên cơ sở
OpenFlow có thể đáp ứng tốt hơn cho các nhu cầu thay đổi của người dùng.
1.7.5. Các thành phần trong OpenFlow switch.
22


 Data Plane
Trong OpenFlow, data plane có khả năng xử lý và chuyển tiếp lưu lượng mạng.
Các giao thức được thiết kế để thích ứng với khái niệm mới mà không bị hạn chế
đối với các công nghệvận chuyển như Ethernet và IP. Về mặt kỹ thuật, tiêu chuẩn
OpenFlow chỉ xác định các chức năng của các yếu tố chuyển tiếp và thực hiện một
API hướng dẫn cho các cấp cao hơn. Để kiểm soát, có thể sử dụng các ngôn ngữ
được cung cấp bởi OpenFlow. Là một giao diện Southbound, nó thiết lập một kết

nối giữa hai plane nhưng không hạn chế tự do dữ liệu, kiểm soát và thiết kếứng
dụng. Tuy nhiên, các đặc điểm kỹ thuật chuyển mạch và các yêu cầu cơ bản của nó
cho ta cái nhìn rõ ràng về cấu trúc data plane của OpenFlow. Để đơn giản ONF
đưa bất kỳ đơn vị mà chứa một data path và kết nối điều khiển như chuyển đổi
OpenFlow, lớp hai và lớp ba với chức năng định tuyến của mô hình OSI được
chuyển đến control plane. Để đẩy nhanh tiến độ triển khai, giải pháp OpenFlow
switch có thể chứa cả định tuyến thông minh cổ điển và logic OpenFlow độc lập.
Tuy nhiên, trong tất cả các biến thể thì cấu trúc switch cơ bản vẫn giữ nguyên.

 Control Plane.
Control plane là bộ chỉ huy trung tâm trong SDN và một khía cạnh quan
trọng trong sựthành công và triển khai các phần mềm mạng được định nghĩa. Nó
được đại diện bởi thành phần kiểm soát các thiết bị. Do sự phát triển của các phần
mềm và các yếu tố không bị ràng buộc bởi OpenFlow hoặc bị hạn chế bởi các tiêu
chuẩn, nhiều phiên bản triển khai đã được phát triển. Mỗi phiên bản cố gắng để
thành công trong tầm nhìn của một mạng lưới và thực hiện tốt các khía cạnh khác
nhau để phát triển. Hơn nữa, các công ty đang tiếp tục đề ra các controller độc
quyền của riêng của họ nhằm thích nghi với các thiết bị độc quyền.
 Application và Management Plane.
Các ứng dụng SDN tính toán và phát triển các chính sách và hướng dẫn mà
controller cài đặt trên lớp chuyển tiếp. Các ứng dụng thường có toàn quyền kiểm
soát các mạng con được kết nối với controller phải đồng bộ các chính sách và hành
23


động trái ngược nhau. Để tránh quyết định và hoạt động xung đột, các ứng dụng
thường được đóng gói với controller, hoặc hợp nhất như một thực thể duy nhất với
controller để giải quyết vấn đề xung đột nội bộ.

Chương 2: CÁC VẤN ĐỀ BẢO MẬT TRONG SDN

2.1. Các mối nguy hiểm bảo mật.
SDN xuất hiện như là một công nghệ có thể giải quyết tất cả những khó
khăn, vướng mắc của mạng truyền thống. Tuy nhiên, những nghiên cứu phần lớn
được thử nghiệm trong môi trường an toàn, quy mô nhỏ, không có môi trường thực
tế doanh nghiệp hoặc trung tâm dữ liệu. Vì vậy, cho đến nay SDN vẫn chưa là mối
quan tâm lớn đối với những kẻ tấn công và tin tặc.
Câu hỏi đặt ra là liệu SDN có khả năng khắc phục các vấn đề bảo mật, độ
tin cậy, khảnăng mở rộng như đã có hoặc được thừa kế từ các mạng truyền thống
hay không. Khi SDN thu hút được nhiều sự chú ý hơn, các đánh giá bảo mật và
kiểm tra sẽ được thực hiện trên mô hình mới. Một số cuộc điều tra toàn diện đã
đánh giá về tình hình an toàn của SDN do Jarraya, Madi và Debbabi đã dành một
chương để trình bày về bảo mật và các nghiên cứu trong các cuộc khảo sát của họ.
Scott-Hayward, O'Callaghan và Sezer tập trung vào những vấn đề bảo mật, những
thách thức và cơ hội trong cuộc khảo sát của họ về SDN. Đã có nhiều nỗ lực để cụ
thể để phân tích giao thức OpenFlow. Sử dụng STRIDE và cây tấn công, Kl¨oti
vào năm 2014 đã sử dụng một cách tiếp cận tương tự như đồ án này, nhưng không
mở rộng phạm vi vượt ra ngoài giao thức OpenFlow 1.0, các switch OpenFlow và
chỉ thực hiện ba trong sáu mối đe dọa. Trong khuôn khổcủa các cuộc điều tra, phần
này sẽ cố gắng kiểm tra kỹ lưỡng các vấn đề an ninh của một SDN chuẩn, biên
24


dịch các tài liệu mới nhất.
2.1.1. Các kiểu tấn công và mối đe dọa.
Mô hình mối đe dọa là một phương pháp phổ biến đe dọa mạnh mẽ đến an
ninh của hệthống hoặc toàn bộ công ty. Có nhiều loại model khác nhau. Cách tiếp
cận phù hợp nhất chođồ án này là mô hình phần mềm trung tâm (software-centric
model), trong đó tách riêng các tài nguyên và các thành phần của hệ thống với mục
đích là để làm nổi bật các cấu hình sai tiềm tàng hoặc các thành phần bị trục trặc.
Nhiều phương pháp thiết kế an toàn trong công nghệ thông tin là có căn cứ

trong tám nguyên tắc thiết kế an toàn do Saltzer và Schroeder đề xuất vào năm
1975. Microsoft Security Development Lifecycle (SDL) bao gồm các nguyên tắc
trong mô hình mẫu của họ và sử dụng phương pháp STRIDE. Mặc dù không phải
là hoàn toàn SDN dựa trên phần mềm, phương pháp tiếp cận SDL cũng được áp
dụng cho thiết kế tổng thể của mạng và các thành phần kỹ thuật của nó.
STRIDE mô tả và phân rã một hệ thống để suy ra mâu thuẫn hoặc thiếu hụt
tiềm ẩn. Đểgiảm độ phức tạp và để đạt được một cái nhìn tổng quan, STRIDE
được chia thành các thành phần nhạy cảm riêng biệt và mô hình hóa thành một sơ
đồ luồng dữ liệu (DFD). Thuật ngữ tựnó là một từ viết tắt của sáu mối đe dọa bảo
mật cơ bản: Spoofing, Tampering, Repudiation,Information Disclosure, Denial of
Service, and Elevation of Privilege. Những mối đe dọa xâm phạm một số thuộc
tính, vốn được coi là cần thiết để thiết lập một hệ thống an toàn:
 Spoofing: (Giả mạo) tấn công vào các thuộc tính xác thực và cho phép kẻ
tấn công che giấu hay giả mạo danh tính để đạt được quyền truy cập vào thông tin
hoặc tấn công dữ liệu đám mây. Các mục tiêu tiềm năng có thể bị giả mạo trong
một hệ thống là các interactor hay tiến trình hệ thống. Việc xác thực không chính
xác cho phép kẻgiả mạo truy cập và có thể dẫn đến tấn công man-in-the-middle
(MITM). Do sự phụthuộc lẫn nhau, một mối đe dọa STRIDE duy nhất có thể kích
hoạt hoặc gây ra nhiều khả năng tấn công hơn nữa. Do đó, các cuộc tấn công
MITM được liên kết với một sốlỗ hổng trong mạng.
25


×