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

Tìm hiểu về mạng SDN và áp dụng vào bài toán quản lý mạng thực tế tại công ty VNH

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 (2.09 MB, 77 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
..

LUẬN VĂN THẠC SĨ
Tìm hiểu mạng SDN và áp dụng vào
bài toán quản lý mạng thực tế tại công ty VNH
ĐẶNG GIANG BIÊN


Ngành Công nghệ thơng tin

Giảng viên hướng dẫn:

TS. Phạm Huy Hồng

Viện:

Cơng nghệ thông tin và Truyền thông

HÀ NỘI, 7/2020


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ
Tìm hiểu mạng SDN và áp dụng vào
bài toán quản lý mạng thực tế tại công ty VNH
ĐẶNG GIANG BIÊN


Ngành Công nghệ thơng tin



Giảng viên hướng dẫn:

TS. Phạm Huy Hồng

Viện:

Cơng nghệ thông tin và Truyền thông

HÀ NỘI, 7/2020

Chữ ký của GVHD


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn: Đặng Giang Biên
Đề tài luận văn: Tìm hiểu về SDN và áp dụng vào bài toán quản lý mạng
thực tế tại công ty VNH
Chuyên ngành: Công nghệ thông tin
Mã số SV: CB170270
Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác nhận tác giả
đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 27/6/2020 với
các nội dung sau:
STT
1
2
3


Nội dung chỉnh sửa

Mục lục

Trang số

Sửa chương 4

4.1, 4.3

31-48, 61-62

Bổ sung tài liệu tham khảo

1.2, 1.3, 2.1,
2.2, 2.3

3, 4, 6, 14, 15,
21, 22, 23

Bổ sung kịch bản thử nghiệm để thấy
rõ vai trò của SDN (chỉnh sửa mục 4.2 4.2
cấu hình thơng qua bộ điều khiển)

4

Chỉnh lại các hình ảnh

5


Sửa lỗi chính tả

48-61

Ngày 20 tháng 7 năm 2020
Giáo viên hướng dẫn

Tác giả luận văn

CHỦ TỊCH HỘI ĐỒNG


Lời cảm ơn
Đầu tiên, tôi xin gửi lời cảm ơn chân thành nhất đến TS. Phạm Huy Hoàng,
người đã trực tiếp hướng dẫn tận tình trong suốt quá trình làm luận văn này, giúp em
giải đáp các vướng mắc gặp phải trong quá trình thực hiện luận văn.
Tiếp theo, em xin gửi lời cảm ơn tới các giảng viên bộ mơn Truyền thơng và
mạng máy tính của Đại học Bách khoa Hà Nội nói riêng, cũng như tồn thể các giảng
viên nói chung. Các thầy cơ đã tận tình chỉ dạy cho em, không chỉ các kiến thức về
chuyên môn mà còn là các kiến thức về cuộc sống, cách tư duy, cách ứng xử.
Cuối cùng, xin gửi lời cảm ơn tới gia đình, những người đã đồng hành với tơi
trong suốt q trình học tập. Cảm ơn bạn bè đã sát cánh học tập, giúp đỡ cùng nhau
tiến bộ.

Tóm tắt nội dung luận văn
Luận văn này tôi chọn đề tài “Tìm hiểu mạng SDN và áp dụng vào bài tốn
quản lý mạng thực tế tại cơng ty VNH”, tập trung vào tìm hiểu cấu trúc mạng SDN Software Defined Networks (Mạng điều khiển bằng phần mềm), giao thức OpenFlow
công cụ mô phỏng Mininet và bộ điều khiển OpenDaylight. Trên cơ sở lý thuyết tìm
hiểu được, tơi sử dụng SDN để giải quyết các bài toán quản lý mạng tại cơng ty VNH

và mở rộng thêm các bài tốn quản lý khác. Nội dung của luận văn gồm 5 chương,
bao gồm:
Chương 1 trình bày về phần lý thuyết có sử dụng đến trong luận văn. Trong đó
bao gồm tổng quan về mạng SDN; giới thiệu giao thức OpenFlow; giới thiệu Switch
Openflow; các vấn đề bảo mật đặt ra với mạng SDN và hướng giải quyết.
Chương 2 giới thiệu về công cụ mô phỏng mạng Mininet, bộ điều khiển
OpenDaylight, ứng dụng OpenFlow Manager.
Chương 3 trình bày các bài tốn quản lý mạng thực tế tại công ty VNH, nơi tôi
làm quản trị mạng 5 năm qua.
Chương 4 trình bày việc sử dụng SDN cho bài tốn quản lý mạng tại cơng ty
VNH, mở rộng thêm các bài toàn quản lý khác và đánh giá hiệu quả.
Chương 5 kết luận bài luận văn.
Ngồi ra, phần phụ lục cuối cùng cũng trình bày chi tiết hơn các bước cài đặt
môi trường mô phỏng.
HỌC VIÊN
Ký và ghi rõ họ tên


MỤC LỤC
CHƯƠNG 1. TỔNG QUAN VỀ MẠNG ĐIỀU KHIỂN BẰNG PHẦN
MỀM SDN............................................................................................................. 1
1.1

Những tồn tại của kiến trúc mạng truyền thống ................................ 1

1.2

Mạng điều khiển bằng phần mềm SDN ............................................. 3

1.2.1


Kiến trúc của SDN ...................................................................... 4

1.2.2

Mặt bằng dữ liệu SDN ................................................................ 5

1.2.3

Mặt bằng điều khiển SDN........................................................... 7

1.2.4

Các bước triển khai SDN ............................................................ 8

1.2.5

Lợi ích của SDN.......................................................................... 9

1.2.6

Các vấn đề đặt ra với SDN........................................................ 10

1.2.7

Ứng dụng của SDN ................................................................... 10

1.2.8

Tương lai của SDN ................................................................... 11


1.3

Tổng quan về OpenFlow.................................................................. 12

1.3.1

Các đặc trưng của OpenFlow .................................................... 13

1.3.2

Cấu tạo của Switch OpenFlow .................................................. 13

1.3.3

Cấu trúc Flow table ................................................................... 15

1.3.4

Hoạt động của OpenFlow ......................................................... 16

1.3.5

Lợi ích khi sử dụng OpenFlow ................................................. 16

1.4

Các kiểu tấn công và mối đe dọa mạng SDN .................................. 17

CHƯƠNG 2. CÔNG CỤ MÔ PHỎNG VÀ ĐIỀU KHIỂN MẠNG SDN

.............................................................................................................................. 19
2.1

Giới thiệu các công cụ để mô phỏng mạng SDN ............................ 19

2.1.1

Công cụ mô phỏng mạng Mininet ............................................ 19

2.1.2

Bộ điều khiển OpenDaylight .................................................... 20

2.1.3

Ứng dụng OpenDaylight OpenFlow Manager (OFM) ............. 22

2.2

Cài đặt cơng cụ mơ phỏng ............................................................... 23

CHƯƠNG 3. BÀI TỐN QUẢN LÝ MẠNG TẠI CÔNG TY VNH ... 26
3.1

Hệ thống mạng hiện tại của công ty VNH ....................................... 26

3.1.1

Giới thiệu về cơng ty VNH ....................................................... 26


3.1.2

Mơ hình mạng hiện tại của cơng ty VNH ................................. 26

3.2

Bài tồn quản lý mạng tại công ty VNH.......................................... 27


3.2.1

Các chính sách trong mạng ....................................................... 27

3.2.2
Giải quyết bài tốn quản lý mạng tại công ty VNH với kiến trúc
mạng truyền thống hiện tại .......................................................................... 28
3.3

Những khó khăn trong việc quản lý hệ thống mạng công ty VNH . 29

CHƯƠNG 4. MÔ PHỎNG TRIỂN KHAI SDN VÀ ĐÁNH GIÁ HIỆU
QUẢ ..................................................................................................................... 31
4.1

Sử dụng SDN cho bài toán quản lý mạng công ty VNH ................. 31

4.1.1

Tạo topo mạng SDN ................................................................. 31


4.1.2

Xử lý các bài tốn quản lý mạng cơng ty VNH ........................ 35

4.2

Các bài toán mở rộng: Quản lý theo Vlan ....................................... 48

4.2.1

Mơ hình thử nghiệm bài tốn quản lý theo Vlan ...................... 48

4.2.2

Giải quyết bài toán quản lý theo Vlan ...................................... 54

4.3

Đánh giá hiệu quả ............................................................................ 61

CHƯƠNG 5. KẾT LUẬN ......................................................................... 63
TÀI LIỆU THAM KHẢO ........................................................................ 64
PHỤ LỤC ................................................................................................... 66


DANH MỤC HÌNH VẼ
Hình 1.1 So sánh cấu trúc mạng truyền thống và mạng SDN [15] .......................... 3
Hình 1.2 Cấu trúc của SDN [14] .............................................................................. 4
Hình 1.3 Mặt bằng dữ liệu thiết bị mạng SDN [15] ................................................. 6
Hình 1.4 Các giao diện và chức năng mặt bằng điều khiển SDN .......................... 7

Hình 1.5 Các thành phần của một OpenFlow Switch [15]..................................... 14
Hình 1.6 Cấu trúc của một OpenFlow table entry [15] .......................................... 15
Hình 2.1 Kiến trúc của OpenDaylight [14] ............................................................ 21
Hình 2.2 Kiến trú OFM [17]................................................................................... 22
Hình 2.3 Mơ hình triển khai giả lập [16] ................................................................ 23
Hình 2.4 Cấu hình IP tĩnh cho máy ảo chạy Miniet ............................................. 23
Hình 2.5 Cấu hình IP tĩnh cho máy ảo chạy OpenDaylight................................. 23
Hình 2.6 Khởi động OpenDaylight ...................................................................... 24
Hình 2.7 Cài đặt các Feature cho OpenDaylight ................................................. 24
Hình 2.8 Giao diện đăng nhập Open Daylight ..................................................... 25
Hình 2.9 Chạy OpenFlow App............................................................................. 25
Hình 3.1 Hệ thống mạng hiện tại của công ty VNH ............................................ 27
Hình 3.2 Mơ hình cấu hình, quản lý mạng truyền thống ..................................... 28
Hình 3.3 Mơ phỏng giải quyết bài tốn quản lý hệ thống mạng truyền thống tại
VNH bằng Cisco Packet Tracer ........................................................................... 29
Hình 4.1 Mơ hình triển khai hệ thống mạng SDN cho cơng ty VNH.................. 31
Hình 4.2 Sử dụng Mininet tạo topo mạng của công ty VNH theo kiến trúc SDN
.............................................................................................................................. 32
Hình 4.3 Topo mạng qua giao diện ODL............................................................. 33
Hình 4.4 Topo mạng qua giao diện OpenFlow manager ..................................... 33
Hình 4.5 Kiểm tra kết nối các host trong mạng ................................................... 34
Hình 4.6 Các Flows của Switch 1 xem trên OpenFlow manager ........................ 35
Hình 4.7 Các Flows của các Switch xem trên mininet ........................................ 35
Hình 4.8 Thêm Flow chặn Khối Hành chính kết nối Server Tài chính ............... 37
Hình 4.9 Kết quả chặn khối Hành chính kết nối Server Tài chính ...................... 37
Hình 4.10 Cấu hình Flow đảm bảo an tồn các phịng ban - 1 ............................ 39
Hình 4.11 Cấu hình Flow đảm bảo an tồn các phịng ban -2 ............................. 41
Hình 4.12 Kết quả cấu hình an tồn giữa các phịng ban..................................... 42
Hình 4.13 Cấu hình an tồn vùng server theo địa chỉ MAC ................................ 43
Hình 4.14 Cấu hình an tồn vùng server qua địa chỉ IP....................................... 44

Hình 4.15 Kết quả chặn kết nối giữa 2 server ...................................................... 44
Hình 4.16 Cấu hình an tồn truy cập Internet ...................................................... 47


Hình 4.17 Kiểm tra kết nối các host sau khi cấu hình ......................................... 47
Hình 4.18 Xem các flows của các Switch trên Mininet ...................................... 48
Hình 4.19 Mơ hình mạng các Switch hình sao nhiều cấp ................................... 48
Hình 4.20 Tạo topo thử nhiệm Vlan .................................................................... 52
Hình 4.21 Kết nối giữa các host khi chưa chia Vlan ........................................... 53
Hình 4.22 Gói tin trước khi cấu hình Vlan .......................................................... 54
Hình 4.23 Topo mạng thử nghiệm Vlan trên giao diện OFM ............................. 54
Hình 4.24 Cấu hình gán tag Vlan theo In port ..................................................... 56
Hình 4.25 Cấu hình gán tag Vlan theo địa chỉ IP nguồn ..................................... 57
Hình 4.26 Cấu hình gán tag Vlan theo địa chỉ MAC nguồn................................ 58
Hình 4.27 Kiểm tra việc cấu hình trên Switch S12 ............................................. 58
Hình 4.28 Vùng Switch S11, S12, S13, S14........................................................ 60
Hình 4.29 Kiểm tra việc cấu hình vùng Switch S11, S12, S13, S14 ................... 60
Hình 4.30 Kết quả sau khi gán tag Vlan .............................................................. 61
Hình 4.31 Gói tin sau khi cấu hình Vlan ............................................................. 61
Hình 4.32 Quản lý mạng tập trung thông qua controler duy nhất ....................... 62


DANH MỤC BẢNG BIỂU
Bảng 3.1 Các Vlan trong hệ thống mạng công ty VNH ...................................... 27
Bảng 4.1 Bảng thông tin các host trong mô phỏng .............................................. 34
Bảng 4.2 Bảng thông tin chi tiết các host trong bài toán Vlan ............................ 49



CHƯƠNG 1.

TỔNG QUAN VỀ MẠNG ĐIỀU KHIỂN BẰNG PHẦN MỀM SDN
1.1 Những tồn tại của kiến trúc mạng truyền thống
Như ta đã biết, hiện nay cơng nghệ ảo hóa server đã được ứng dụng rất rộng
rãi, mang lại nhiều lợi ích hơn công nghệ server vật lý.
Đối với hệ thống mạng, trong kiến trúc mạng truyền thống, trên một thiết bị
mạng đang tồn tại cả hai cơ chế: Control Plane (cơ chế điều khiển, kiểm sốt
luồng thơng tin định tuyến), Data Plane (cơ chế chuyển tiếp dữ liệu, luồng dữ
liệu) 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ó có khả năng hiển thị tồ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.
Đối với mạng lớn, nhiều thiết bị thì kiến trúc mạng truyền thống càng phức
tạp 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ầu hết các mạng thông thường đều theo kiến trúc phân cấp, được xây
dựng với các tầng của thiết bị chuyển mạch Ethernet, được sắp xếp theo cấu trúc
cây. Thiết kế này thực sự hiệu quả đối với mô hình tính tốn khách – chủ, nhưng
kiến trúc cố định như vậy khơng thích hợp với u cầu tính tốn đa dạng, năng
động và nhu cầu lưu trữ dữ liệu tại các trung tâm dữ liệu của doanh nghiệp,
trường học và trong môi trường của các nhà cung cấp dịch vụ. 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 nhiều vấn
đề. Dù đã có nhiều phát triển vượt bậc nhưng công nghệ mạng truyền thống vẫn
tồn tại một số vấn đề:
a) Phức tạp.
Các kỹ thuật mạng ngày nay bao gồm các bộ giao thức rời rạc. Những giao
thức này dùng để nối các host với nhau một cách tin cậy, với khoảng cách, tốc độ
liên lạc, topo bất kỳ. Để thỏa mãn nhu cầu kinh doanh và yêu cầu kỹ thuật trong
hơn chục năm trở lại đây, các giao thức mạng đã phát triển để hỗ trợ hiệu suất
cũng như độ tin cậy cao hơn, có thể kết nối rộng hơn và độ bảo mật nghiêm ngặt

hơn. Các giao thức này, về nguyên tắc, được tạo ra một cách cô lập, tuy nhiên
mỗi giao thức giải quyết một vấn đề cụ thể. Điều này dẫn đến một trong những
hạn chế chính của mạng hiện tại đó là tính phức tạp. Ví dụ: để thêm vào hoặc
dịch chuyển một thiết bị bất kỳ, người quản trị phải can thiệp đến một số thiết bị
khác như: các bộ chuyển mạch, định tuyến, tường lửa… và phải cập nhật lại danh
sách ACL (Access Control List), VLANs, QoS, và cả các cơ chế khác. Liên quan
đến tính phức tạp này, các mạng hiện tại vì thế được xem như ở trạng thái “tĩnh”
vì người quản trị phải cố gắng hạn chế đến mức thấp nhất những nguy cơ gián
đoạn cung cấp dịch vụ. Tính “tĩnh” của mạng hiện tại lại là một mâu thuẫn rất
lớn đối với đặc tính “động” của mơi trường server ngày nay, ở đó việc ảo hóa các
1


server làm tăng số lượng host 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 host. Trước khi có ảo hóa, các ứng dụng đều
nằm trên một server và trao đổi traffic với các client. Ngày nay, các ứng dụng
phân bố rời rạc trên nhiều máy ảo (Virtual Machine - VM), những máy ảo này
trao đổi các luồng dữ liệu với nhau. Các VM này “tái định cư” để làm tối ưu hóa
và cân bằng tải trên server. Ngồi việc áp dụng kỹ thuật ảo hóa, nhiều cơng ty đã
làm việc trên nền mạng hội tụ IP để truyền dữ liệu, thoại, video... Trong khi đó,
mạng hiện tại hỗ trợ các mức độ khác nhau của QoS cho các ứng dụng khác nhau
và cung cấp những tài nguyên này hoàn toàn thủ công. Người quản trị cần phải
cài đặt thiết bị của từng nhà cung cấp một cách riêng lẻ, và phải thiết lập cá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
tính “tĩnh” của mình, mạng hiện tại khơng thể điều chỉnh một cách linh động so
với những traffic luôn thay đổi của các ứng dụng và người dùng.
b) Chính sách khơng nhất qn.
Để cấu hình các chính sách cho mạng, người quản trị mạng cần phải thực
hiện trên hàng ngàn thiết bị. Ví dụ mỗi lần áp dụng một máy ảo mới, phải tốn
hàng giờ, đôi khi là hàng ngày để cấu hình lại các danh sách ACL trên tồn

mạng. Tính phức tạ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ản trị để 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ác chính sách người dùng khác.
c) Khả năng mở rộng quy mơ kém.
Vì các nhu cầu đối với các Data Center tăng nhanh chóng, nên mạng cũng
buộc phải tăng kích thước theo. Hệ thống mạng vì thế trở nên quá phức tạp với
hàng trăm, hàng ngàn thiết bị, những thiết bị này lại cần phải được cấu hình và
điều khiển. Các nhà quản trị cũng buộc phải dựa trên các dự báo về traffic để mở
rộng mạng. Nhưng trong các Trung tâm dữ liệu ảo hóa ngày nay, traffic là khái
niệm “động” khơng tưởng và gần như không thể dự báo trước. Các nhà khai thác
lớn như Google, Yahoo, Facebook… đã gặp phải các vấn đề phức tạp trong mở
rộng kích thước mạng. Những nhà cung cấp dịch vụ này sử dụng các thuật tốn
xử lý song song ở quy mơ lớn. Vì quy mô các ứng dụng đối với một người dùng
cụ thể ngày càng tăng, số lượng các phần tử cần tính tốn từ đó cũng tăng lên đến
mức “bùng nổ” và các dữ liệu trao đổi giữa các node có thể đạt đến PB
(Petabyte=1000 TB). Những công ty này cần phải đảm bảo hiệu suất cao, chi phí
kết nối giữa hàng ngàn thiết bị thấp… Quy mô như vậy là không thể thực hiện
với cách cấu hình thủ cơng. Để duy trì khả năng cạnh tranh, các nhà khai thác
cần phải thực hiện, cung cấp nhiều hơn các dịch vụ riêng biệt, khác biệt cho các
client. Tính đa nhiệm cũng làm phức tạp bài tốn hơn, vì mạng cần phục vụ
nhiều nhóm người dùng với các ứng dụng khác nhau và các nhu cầu về hiệu suất
khác nhau. Những nhà khai thác lớn, những nhà khai thác đóng vai trị chủ đạo
trong quản lý traffic client rất khó để đáp ứng các nhu cầu với quy mô hiện tại
của họ.
d) Phụ thuộc vào nhà cung cấp.
2


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 (những nhu cầu này thay đổi liên tục và rất

nhanh) kinh doanh hoặc nhu cầu người dù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 3 năm hoặc nhiều hơn nữa. Ngồi
ra việc thiếu các chuẩn hóa, hay giao diện mở làm giới hạn khả năng điều chỉnh
mạng của các nhà mạng. Chính sự khơng tương ứng giữa nhu cầu trên thị trường
và khả năng của mạng đã dẫn đến “điểm gãy khúc”.
Để giải quyết những vấn đề này, mạng điều khiển bằng phần mềm SDN
(Software-Defined Networking) đã được tạo ra.
1.2 Mạng điều khiển bằng phần mềm 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, mạng SDN dựa trên
việc tách bạch cơ chế kiểm soát luồng thông tin định tuyến với luồng thông tin
dữ liệu và kiểm soát số lượng thành phần mạng riêng cho phép luồng các gói dữ
liệu đi qua mạng được kiểm sốt theo một cách thức có lập trình, để có thể tối ưu
hoạt động của hai cơ chế này.

Hình 1.1 So sánh cấu trúc mạng truyền thống và mạng SDN [15]

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 sốt theo lập trình.
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 tồn bộ mạng và do đó cho phép
các 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ẻ.

3


1.2.1

Kiến trúc của SDN

Kiến trúc SDN bao gồm: Lớp ứng dụng (Application Layer), lớp điều khiển
(Control Layer) và lớp hạ tầng cơ sở (Infrastructure Layer). Các lớp sẽ liên kết
với nhau thơng qua giao thức hoặc các API.

Hình 1.2 Cấu trúc của SDN [14]

a) 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.
b) 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 sốt luồng
lưu lượng trong mơi trường mạng. Để 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.
4



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 liên 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ý.

c) 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 và dự
phịng bảo mật cho mạng hoạt động ổn định, hiệu quả.
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 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ấp cù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.2.2 Mặt bằng dữ liệu SDN
Mặt bằng dữ liệu SDN (SDN data plane) được gọi là lớp tài nguyên trong
ITUT Y.3300 và cũng thường được gọi là lớp cơ sở hạ tầng, là nơi mà các thiết
bị chuyển tiếp mạng thực hiện việc vận chuyển và xử lý dữ liệu theo các quyết
5


định của bộ điều khiển SDN. Đặc điểm quan trọng của các thiết bị mạng trong
mạng SDN là các thiết bị này thực hiện chức năng chuyển tiếp đơn giản mà
không cần phần mềm nhúng để đưa ra các quyết định tự quản.
a) Các chức năng của mặt bằng dữ liệu
Hình 1.3 mơ tả các chức năng được thực hiện bởi các thiết bị mạng trong
mặt bằng dữ liệu (còn được gọi là các thành phần mạng mặt bằng dữ liệu hoặc
các Switches). Các chức năng chính của thiết bị mạng bao gồm:

Hình 1.3 Mặt bằng dữ liệu thiết bị mạng SDN [15]


-

Chức năng hỗ trợ điều khiển: Tương tác với lớp điều khiển SDN để hỗ trợ
khả năng lập trình thơng qua các giao diện kiểm sốt tài ngun. Switch
giao tiếp với bộ điều khiển và bộ điều khiển quản lý Switch thông qua
giao thức chuyển đổi OpenFlow.
- Chức năng chuyển tiếp dữ liệu: Chấp nhận luồng dữ liệu đến từ các thiết
bị mạng và hệ thống đầu cuối, chuyển tiếp chúng dọc theo các đường
chuyển tiếp dữ liệu đã được tính tốn và thiết lập theo các quy tắc được
xác định bởi các ứng dụng SDN.
Những quy tắc chuyển tiếp này được sử dụng bởi thiết bị mạng và được thể
hiện trong các bảng chuyển tiếp. Bảng này cho biết loại gói tin, các bước truyền
kế tiếp trong tuyến đường đó là gì. Ngồi việc chuyển tiếp đơn giản một gói tin,
thiết bị mạng có thể thay đổi tiêu đề gói tin trước khi chuyển tiếp, hoặc hủy bỏ
gói tin. Như trong hình vẽ, các gói dữ liệu đến có thể được đặt trong một hàng
đợi đầu vào, đang chờ xử lý bởi thiết bị mạng và các gói tin chuyển tiếp thường
được đặt trong một hàng đợi đầu ra, đang chờ để truyền đi. Thiết bị mạng được
trình bày trong hình 1.3 gồm ba cổng I/O: một cổng cung cấp kết nối điều khiển
với bộ điều khiển SDN, và hai cổng cho đầu vào và đầu ra của các gói dữ liệu.
Đây là một ví dụ đơn giản. Thiết bị mạng có thể có nhiều cổng để giao tiếp với
nhiều bộ điều khiển SDN, và có thể có nhiều hơn hai cổng I/O cho các luồng gói
tin vào và ra trên thiết bị.
6


b) Các giao thức trong mặt bằng dữ liệu
Hình 1.3 cho thấy các giao thức được hỗ trợ bởi thiết bị mạng. Luồng dữ
liệu gói bao gồm luồng các gói tin IP. Luồng này quan trọng đối với bảng chuyển
tiếp trong việc xác định các mục dựa trên các trường trong các tiêu đề giao thức

cấp trên, chẳng hạn như TCP, UDP, hoặc một số giao thức truyền tải và ứng
dụng khác. Thiết bị mạng kiểm tra tiêu đề IP và có thể xem xét thêm các tiêu đề
khác trong mỗi gói sau đó đưa ra quyết định chuyển tiếp.
Một luồng lưu lượng quan trọng khác là thông qua giao diện lập trình ứng
dụng (API), bao gồm các đơn vị dữ liệu giao thức OpenFlow (PDU).
1.2.3 Mặt bằng điều khiển SDN
Hình 1.4 mơ tả các chức năng được thực hiện bởi bộ điều khiển SDN. Hình
vẽ minh họa các chức năng cốt yếu mà bất kỳ một bộ điều khiển cung cấp, bao
gồm những chức năng sau đây:
Giao diện hướng Bắc

Chuyển tiếp
đường đi
ngắn nhất

Quản lý
thông báo

Cơ chế
bảo mật
Giao thức và cơ chế
hướng Đông/Tây

Quản lý
topology

Quản lý
thống kê

Giao diện hướng Nam


Quản lý
thiết bị

Giao diện hướng
Đơng/Tây

Hình 1.4 Các giao diện và chức năng mặt bằng điều khiển SDN

-

Chuyển tiếp đường đi ngắn nhất: Sử dụng thông tin định tuyến thu thập
được từ các thiết bị chuyển mạch để thiết lập các tuyến ưu tiên.
- Quản lý thông báo: Nhận, xử lý và chuyển tiếp đến ứng dụng các sự kiện,
chẳng hạn như thông báo cảnh báo, cảnh báo bảo mật và các thay đổi
trạng thái xảy ra.
- Cơ chế bảo mật: Cung cấp cách ly và thực thi bảo mật giữa các ứng dụng
và dịch vụ.
- Quản lý topology: Xây dựng và duy trì thơng tin cấu hình liên kết.
- Quản lý thống kê: Thu thập dữ liệu về lưu lượng truy cập thông qua các
thiết bị chuyển mạch.
- Quản lý thiết bị: Cấu hình các thơng số và thuộc tính chuyển đổi, quản lý
các flow table.
Các chức năng được cung cấp bởi bộ điều khiển SDN có thể được xem như
một hệ điều hành mạng (NOS). Tương tự với một hệ điều hành thông thường,
NOS cung cấp các dịch vụ cốt yếu, các giao diện lập trình ứng dụng chung
(APIs) và trừu tượng hóa các phần tử lớp dưới cho các nhà phát triển. Các chức
7



năng của một NOS SDN, chẳng hạn như những người trong danh sách trước, cho
phép các nhà phát triển xác định chính sách mạng và quản lý các mạng mà khơng
cần quan tâm cho các chi tiết các đặc tính thiết bị mạng, có thể khơng đồng nhất
và linh động. Giao diện hướng Bắc cung cấp một phương pháp thống nhất cho
các nhà phát triển ứng dụng và quản lý mạng để truy cập dịch vụ SDN và thực
hiện các nhiệm vụ quản lý mạng. Hơn nữa, các giao diện hướng Bắc được xác
định rõ ràng cho phép các nhà phát triển tạo ra phần mềm độc lập không chỉ quản
lý các mặt bằng dữ liệu mà còn ở mức độ cao sử dụng được với nhiều máy chủ
điều khiển SDN.
1.2.4 Các bước triển khai SDN
Triển khai 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.
a) Bước 1
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ợ 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 biệt lưu ý 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 hồn tồ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.
b) Bước 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.
c) Bước 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

8


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ông chỉ đơn giản là các giao thức, TCP/UDP và cổng dữ liệu
nữa. Các SDN controller sẽ phải nhận diện được các gói dữ liệu thơng qua header
mà khơng phải đọc tồn bộ dữ liệu để nhận diện loại dữ liệu.
d) Bước 4
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.

1.2.5

Lợi ích của SDN

Mạng được định nghĩa bằng phần mềm (SDN) là một cách tiếp cận kiến
trúc mạng cho phép mạng được điều khiển thơng minh và tập trung, hoặc được
lập trình, bằng cách sử dụng các ứng dụng phần mềm. Điều này giúp các nhà
khai thác quản lý toàn bộ mạng một cách nhất qn và tồn diện mà khơng cần
quan tâm đến công nghệ mạng nền tảng.
Với SDN, quản trị viên của mạng có thể thay đổi bất kỳ quy tắc chuyển
mạch nào của mạng khi cần thiết. Các quản trị viên có thể ưu tiên, loại bỏ ưu tiên
hoặc thậm chí u cầu chặn các loại gói tin cụ thể với mức độ kiểm soát và bảo
mật cụ thể. Điều này đặc biệt hữu ích trong kiến trúc điện tốn đám mây, bởi nó
cho phép người quản trị quản lý các lưu lượng một cách linh hoạt và hiệu quả
hơn khi có nhiều bên thuê dịch vụ. Về cơ bản, điều này cho phép quản trị viên có
thể sử dụng các thiết bị chuyển mạch hiệu quả hơn và có quyền kiểm sốt lưu
lượng mạng nhiều hơn bao giờ hết.
Các lợi ích khác của SDN là cung cấp khả năng quản lý và hiển thị rõ ràng
các thành phần và cấu hình của mạng. Quản trị viên chỉ cần tương tác với một bộ
điều khiển tập trung duy nhất để phân phối các chính sách cho các bộ chuyển
mạch được kết nối trong mạng, thay vì phải cấu hình nhiều thiết bị riêng lẻ. Khả
năng này cũng là một lợi thế lớn trong vấn đề bảo mật vì bộ điều khiển có thể
giám sát lưu lượng và triển khai các chính sách bảo mật một cách tập trung, đồng
bộ và dễ dàng. Ví dụ, nếu bộ điều khiển thấy lưu lượng đáng ngờ, nó có thể định
tuyến lại hoặc loại bỏ các gói ngay lập tức mà khơng cần chuyển tiếp nó đến
thành phần xử lý khác.
SDN cũng cung cấp khả năng ảo hóa phần cứng và dịch vụ mà không cần
các phần cứng chuyên dụng như trước đây, dẫn đến việc giảm được các dấu hiệu

9



định danh phần cứng từ đó giảm khả năng của hacker khi truy tìm các dấu hiệu
để tấn cơng vào hệ thống đồng thời giảm chi phí vận hành triển khai mạng.
Ngồi ra, SDN đã góp phần vào sự xuất hiện của công nghệ mạng diện rộng
được định nghĩa bằng phần mềm (SD-WAN). SD-WAN sử dụng khía cạnh lớp
phủ ảo (virtual overlay) của cơng nghệ SDN, nhằm trừu tượng hóa các liên kết
kết nối của một tổ chức trong toàn bộ mạng LAN và tạo ra một mạng ảo có thể
sử dụng bất kỳ kết nối nào mà bộ điều khiển thấy phù hợp để gửi nhận lưu lượng.
1.2.6

Các vấn đề đặt ra với SDN

Vấn đề bảo mật không chỉ là lợi thế mà cũng là một thách thức đối với công
nghệ SDN. SDN được quản lý và điều khiển thông qua một bộ điều khiển tập
trung duy nhất, do đó, nó là một mục tiêu béo bở cho hacker. Một khi tấn công
được thành công bộ điều khiển này kẻ tấn cơng có thể chiếm quyền điều khiển
tồn mạng.
Một thách thức khác nghe có vẻ khá thú vị với SDN đó là mặc dù nó có tên
là “định nghĩa được” nhưng nó lại thực sự khơng có định nghĩa nào thống nhất và
tiêu chuẩn chung. Các nhà cung cấp khác nhau cung cấp các cách tiếp cận khác
nhau cho SDN, từ các mơ hình tập trung vào phần cứng và nền tảng ảo hóa cho
đến các thiết kế mạng siêu hội tụ và các phương thức không sử dụng bộ điều
khiển. Có rất nhiều các thiết kế và định hướng khác nhau. Do đó nó thường bị
nhầm lẫn với khá nhiều khái niệm khác như: kết nối mạng hộp trắng (white box
networking), phân hoạch mạng, tự động hóa mạng và mạng có thể lập trình. Mặc
dù SDN có thể làm việc với các cơng nghệ và quy trình này, nhưng về bản chất
nó vẫn là một cơng nghệ riêng biệt.
Công nghệ SDN nổi lên rất sớm và nhận được nhiều sự chú ý khoảng năm
2011, khi nó được giới thiệu cùng với giao thức OpenFlow. Tuy nhiên, kể từ đó,

việc áp dụng nó vào thực tế diễn ra tương đối chậm, đặc biệt là trong số các
doanh nghiệp có kiến trúc mạng nhỏ và ít tài ngun. Ngồi ra, nhiều doanh
nghiệp đưa ra mức chi phí triển khai SDN rất cao là một yếu tố gây e ngại cho
việc triển khai công nghệ này.
SDN đã được ứng dụng trong hệ thống mạng của các nhà cung cấp dịch vụ,
nhà khai thác mạng, viễn thông, các nhà mạng, cùng với các công ty lớn, như
Facebook và Google, tất cả đều có tài nguyên để giải quyết và đóng góp cho một
công nghệ mới nổi. Tuy nhiên, sự phổ biến của SDN là chưa rộng do nhiều vấn
đề đi kèm. Đặc biệt là chi phí triển khai ban đầu và kiến trúc hệ thống mạng hiện
có của đa số doanh nghiệp vẫn chưa đủ lớn để cho thấy lợi ích thực sự của SDN.
1.2.7 Ứ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.
a) Phạm vi doanh nghiệp

10


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ới các nhà cung cấp đám mây bên ngồi. Với các cơng cụ để quản lý an
tồ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.
b) 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 tố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ụ.
1.2.8 Tương lai của SDN
SDN vẫn chưa được ứng dụng nhiều trong thực tế do nhiều vấn đề cản trở.
Tuy nhiên, với sự phát triển vượt bậc về các nội dung đa phương tiện, sự bùng nổ
của điện toán đám mây, tác động của việc sử dụng điện thoại di động ngày càng
tăng và áp lực vận hành kinh doanh liên tục nhằm giảm chi phí giá thành sẽ làm
SDN trở lên bùng nổ trong tương lai. Để theo kịp và phát triển nhiều doanh
nghiệp và tổ chức đang chuyển dịch dần sang cơng nghệ SDN để cách mạng hóa
thiết kế và vận hành mạng trong tổ chức của mình.
SDN cho phép lập trình hành vi của mạng theo cách được kiểm sốt tập
trung thơng qua các ứng dụng phần mềm sử dụng API mở. Việc tạo giao diện mở
cho các nền tảng mạng đóng truyền thống và triển khai lớp điều khiển SDN
chung, giúp các nhà khai thác có thể quản lý tồn bộ mạng và thiết bị của mình
một cách nhất quán mà không cần quan tâm đén sự phức tạp của cơng nghệ mạng
nền tảng.
Có bốn lĩnh vực quan trọng trong đó cơng nghệ SDN có thể tạo ra sự khác
biệt cho một tổ chức.
a) Khả năng lập trình cho mạng: SDN cho phép kiểm sốt hành vi mạng
bằng phần mềm nằm ngoài các thiết bị cung cấp kết nối vật lý của
mạng. Do đó, các nhà khai thác mạng có thể điều chỉnh hành vi của các
mạng để hỗ trợ các dịch vụ mới và thậm chí cả các khách hàng cá nhân
một cách dễ dàng. Bằng cách tách phần cứng khỏi phần mềm, các nhà
khai thác có thể giới thiệu các dịch vụ mới, khác biệt, nhanh chóng,
khơng bị ràng buộc bởi các nền tảng đóng và độc quyền.
b) Tập trung vào sự kiểm sốt thơng minh: SDN được xây dựng trên các
cấu trúc liên kết mạng tập trung logic, cho phép kiểm soát và quản lý
thông minh tài nguyên mạng. Phương pháp điều khiển mạng truyền

thống là phương pháp phân tán trong đó các thiết bị hoạt động độc lập
11


với nhận thức hạn chế về trạng thái chung của tồn mạng. Do đó, mỗi
thiết bị sẽ khơng thể tối ưu được hiệu năng dựa trên trạng thái chung mà
chỉ có thể hoạt động riêng biệt dẫn tới khả năng làm giảm hiệu năng
chung của toàn mạng. SDN cung cấp khả năng điều khiển tập trung,
quản lý băng thông, khôi phục, bảo mật và do đó có thể xây dựng các
chính sách thơng minh, tối ưu và có tổ chức dựa trên trạng thái tồn diện
của mạng.
c) Trừu tượng hóa mạng: Các dịch vụ và ứng dụng chạy trên công nghệ
SDN được trừu tượng hóa từ các cơng nghệ và phần cứng cơ bản cung
cấp kết nối vật lý từ bộ điều khiển mạng. Các ứng dụng sẽ tương tác với
mạng thơng qua các API, thay vì các giao diện quản lý được kết hợp
chặt chẽ với phần cứng.
d) Tính mở: Kiến trúc SDN mở ra một kỷ nguyên mới của sự cởi mở, cho
phép khả năng tương tác của nhiều nhà cung cấp cũng như thúc đẩy một
hệ sinh thái trung lập với nhà cung cấp. Sự cởi mở đến từ chính cách
tiếp cận SDN. Các API mở hỗ trợ một loạt các ứng dụng, bao gồm cả
điều phối dịch vụ đám mây, OSS/BSS, SaaS và các ứng dụng được kết
nối quan trọng. Ngồi ra, phần mềm thơng minh có thể kiểm sốt phần
cứng từ nhiều nhà cung cấp với giao diện lập trình mở như OpenFlow.
Cuối cùng, từ bên trong SDN, các ứng dụng và dịch vụ mạng thơng
minh có thể chạy trong mơi trường phần mềm chung.
Một lợi thế chính của cơng nghệ SDN là khả năng cho các nhà khai thác
mạng viết các chương trình sử dụng API của SDN và cung cấp cho các ứng dụng
quyền kiểm soát hành vi mạng. SDN cho phép người dùng phát triển các ứng
dụng nhận biết mạng, theo dõi thông minh trạng thái hoạt động của mạng và tự
động điều chỉnh cấu hình mạng khi cần.

1.3 Tổng quan về 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, SDN 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ị …
12


-

Đ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.3.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 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ần mề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ưu lượ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.
1.3.2

Cấu tạo của Switch OpenFlow

Switch OpenFlow bao gồm một hoặc nhiều bảng flow và một hoặc nhiều
bảng group để Switch thực hiện tra cứu; một hoặc nhiều kết nối tới bộ điều khiển
13


từ xa. Giao thức được sử dụng để giao tiếp giữa bộ điều khiển và Switch
OpenFlow là giao thức OpenFlow.
Sử dụng giao thức OpenFlow, bộ điều khiển quản lý các mục flow. Mỗi
bảng flow chứa nhiều mục flow. Một mục flow có nhiều trường, trong đó quan
trọng nhất là trường match fields để so khớp với thơng tin trong gói tin và trường
instruction để đưa ra các xử lý cho các gói tin được so khớp bởi trường match
fields.

Hình 1.5 Các thành phần của một OpenFlow Switch [15]

Quá trình so khớp bắt đầu tại bảng flow đầu tiên của quá trình pipeline. Các
mục flow được tra cứu theo thứ tự ưu tiên từ cao đến thấp. Nếu gói tin có các
trường so khớp với các thông tin trong trường match fields, các instruction trong

mục flow đó được thực hiện. Nếu sau khi đi qua hết một bảng flow mà không có
mục flow nào được so khớp với gói tin, gói tin sẽ được xử lý bởi mục flow tablemiss. Một bảng flow bắt buộc phải cung cấp một mục flow table-miss. Các
action của mục table-miss có thể là đưa lên bộ điều khiển, hủy gói tin hoặc
chuyển tiếp đến một bảng flow khác.
Nếu gói tin được so khớp với một mục flow, các action trong trường
instructions của mục flow đó sẽ được thực thi. Các action này có thể yêu cầu
chuyển tiếp gói tin tới một cổng khác hoặc một bảng khác, chuyển nó đến bảng
group để xử lý bằng group-action hoặc chỉnh sửa một số trường trong gói tin.
Mục flow có thể đưa ra các action yêu cầu chuyển gói tin đến một cổng,
một bảng flow khác hoặc bảng group. Bảng group chứa các mục group. Mỗi mục
group bao gồm một hoặc nhiều bucket. Các gói tin được chuyển tiếp đến group,
nếu thỏa mãn điều kiện so khớp, sẽ được xử lý bởi các action trong các bucket.

14


1.3.3

Cấu trúc Flow table

Khối cơ bản trong kiến trúc logic của Switch là flow table. Mỗi gói tin đi
vào một Switch đi qua một trong nhiều flow table. Mỗi flow table bao gồm một
tập các flowentry. Mỗi entry này bao gồm bảy thành phần, được định nghĩa trong
danh sách sau:

Hình 1.6 Cấu trúc của một OpenFlow table entry [15]

-

-


-

a) Match fields: Sử dụng để chọn các gói tin phù hợp với các giá trị trong
các trường.
Ingress port: Định danh của cổng trên Switch nơi gói tin đến. Đây có thể
là một cổng vật lý hoặc một cổng ảo. Cần thiết trong các bảng vào.
Egress port: Định danh của cổng ra. Cần thiết trong các bảng ra.
Ethernet source and destination addresses: Mỗi mục có thể là một địa chỉ
chính xác, một giá trị bitmasked cho một số bit địa chỉ được kiểm tra,
hoặc một giá trị ký tự đại diện.
Ethernet type field: Cho biết loại tải tin Ethernet.
IP: Phiên bản 4 hoặc 6.
IPv4 or IPv6 source address, and destination address: Mỗi mục có thể là
một địa chỉ chính xác, một giá trị bitmasked, một giá trị subnet mask hoặc
một giá trị ký tự đại diện.
TCP source and destination ports: Giá trị ký tự đại diện. - UDP source and
destination ports: Giá trị ký tự đại diện.
b) Priority: Giá trị ưu tiên cho các gói tin của bảng. Đây là một trường bao
gồm 16 bit, trong đó 0 tương ứng với mức ưu tiên thấp nhất. Về nguyên
tắc, có thể có 65536 mức độ ưu tiên.
c) Counters: Đếm số các gói tin hợp lệ.
d) Instructions: Chỉnh sửa tập các hành động hay xử lý đường dẫn lệnh.
e) Timeouts: Thời gian chờ tối đa trước khi luồng hết hạn bởi Switch. Mỗi
flow-entry có một idle_timeout và một hard_timeoutnonzer liên kết đến
nó. Một trường hard_timeout khác 0 làm cho flow-entry bị gỡ bỏ sau
một số thời gian nhất định, bất kể có bao nhiêu gói dữ liệu đã được kết
hợp. Một trường idle_timeout khác 0 làm cho flow-entry bị gỡ bỏ khi nó
khơng khớp được với các gói trong một thời gian nhất định.
15



×