Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
LỜI
Tôi
xin
CAM
ĐOAN
cam
ậ
n vănđoan
này lu
là
đư
ợc thực hiệ
n ớ
dư
i sựhư
ớng dẫ
n khoa học củ
a
Các sốliệ
u, kế
t quảnghiên cứu trong luậ
n
công
ứu thực sự
trình
củ
a cá nhân nghiên
tôi,
TS.
văn
Trương
này
ực. là
Thu
Hươn
trung
Tôi xin chị
u trách nhiệ
m vềnghiên cứu của mình
Học viên
Nguyễ
n
1
Minh
ức
Đ
th
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
MỤC LỤC
LỜI
CAM
ĐOAN
........................................................................................................... 1
MỤC LỤC ....................................................................................................................... 2
DANH SÁCH HÌNH VẼ, ỒĐ
THỊ............................................................................... 5
DANH SÁCH BẢNG BIỂU........................................................................................... 7
DANH SÁCH CÁC TỪ VIẾT TẮT ............................................................................. 8
LỜI NÓIẦUĐ................................................................................................................ 9
CHƢƠNG Ổ
1:
NG QUAN
T VỀCÔNG NGHỆOPENFLOW/SDN...................... 12
1.1 Mạ
ng lập
trình
ợc (Software-Defined
đƣ
Network) ......................................... 12
1.2 Công nghệOpenflow .......................................................................................... 13
1.2.1 Tổ
ng quan ..................................................................................................... 13
1.2.2 Kiế
n trúc Openflow ...................................................................................... 15
1.3 NetFPGA.............................................................................................................. 22
1.4 Kế
t luậ
n ................................................................................................................ 25
CHƢƠNG
2:
ẾT KẾ
THI
HỆTHỐNG
VÀ
CÀI
ẶT CÔNG
Đ CỤ......................... 26
2.1 ồSơ
hệthống
đ của mộ
t ISP ............................................................................... 26
2.1.1 Các vấ
n ềđ
thƣ
ờng gặp vềbả
o mật trong ISP ........................................... 26
2.1.2 Yêu cầ
u thiế
t kếhệthống............................................................................. 27
2.1.3
ồhệSơ
thố
ng củ
đa một
đơn
ịISP .............................................................
v
28
2.2 ồSơ
khố
i hệ
đthống thửnghiệ
m ........................................................................ 31
2.3 Bộđi
ề
u khiể
n mạng Controller (POX) ............................................................. 34
2.3.1 Giới thiệ
u tổng quan..................................................................................... 34
2.3.2ặ
t và
Cài
sửdụngđ
........................................................................................ 35
2.4 OpenvSwitch ....................................................................................................... 35
2.4.1 Giới thiệ
u tổng quan..................................................................................... 35
2
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
2.4.2ặ
t và
Cài
sửdụngđ
........................................................................................ 35
2.5 Cấu hình hệthố
ng thửnghiệ
m .......................................................................... 38
2.5.1 Cấu hình OpenvSwitch ................................................................................ 38
2.5.2 Cấu hình POX Controller và thực hiệ
n kế
t nối tới OpenvSwitch ........... 40
2.6 Kế
t luậ
n ................................................................................................................ 41
CHƢƠNG
3: MODULE
CÁC QUAN TRỌNG VÀ CÁC KỊ
CH BẢN MÔ
PHỎNG ỂĐ
THỬ NGHIỆM HỆTHỐNG ................................................................ 42
3.1 Các bản
tinổ
i giữ
trao
a Controller
đ (POX) và OpenvSwitch ....................... 42
3.1.1 Bả
n tin StatisticRequest ............................................................................... 44
3.1.2 Bả
n tin StatisticResponse ............................................................................. 45
3.1.3 Bả
n tin FlowMod .......................................................................................... 46
3.2 GetStats Module .................................................................................................. 47
3.3 Flow Modification Module ................................................................................. 48
3.4 Xây dựng Testbed, kị
ch bản và chạy kiể
m thửhệthống ................................ 49
3.4.1 Xây dựng Testbed ......................................................................................... 49
3.4.2 Kị
ch bả
n mô phỏ
ng ...................................................................................... 51
3.4.3 Chạy thửnghiệ
m hệthống .......................................................................... 54
3.5 Kế
t luậ
n ................................................................................................................ 56
CHƢƠNG
4:
ỜI GIAN
THXỬ LÝ CỦA HỆTHỐNG
VÀ
ĐÁNHẾT GIÁ
QUẢ
........................................................................................................................................ 57
4.1 Kế
t quảđo
............................................................................................................ 57
4.2 Nhậ
n
xét,
đánh
giá
ớng nâng
vàcaođƣa
chất ợ
ra
lƣ
ng hệthố
các
ng....... 62
hƣ
4.3 Kế
t luậ
n ................................................................................................................ 62
CHƢƠNG Ế
5.
T LUẬ
K
N
VÀ ỚHƢ
NG MỔRỘNG ỀĐ
TÀI ................................. 63
3
K
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
TÀI LIỆU THAM KHẢO ........................................................................................... 64
4
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
DANH SÁCH HÌNH VẼ, ỒĐ
THỊ
Hình 1.1: Mô hình switch truyề
n thố
ng ......................................................................... 14
Hình 1.2: Cấ
u trúc OpenFlow Switch ............................................................................ 14
Hình 1.3: Kiế
n trúc OpenFlow ....................................................................................... 15
Hình 1.4: Flow-table Actions ......................................................................................... 16
Hình 1.5: Kiế
n trúc củ
a một OpenFlow Switch ............................................................. 20
Hình 1.6: Nề
n tả
ng NetFPGA ........................................................................................ 23
Hình 2.1: Kiể
u tấ
n
công
tràn
.......................................................................
băng thông
26
Hình 2.2: Kiể
u tấ
n công khảnăng
ửlý thiế
xt bị
............................................................ 27
Hình
2.3:
ồhệthốngSơ
hiệ
n tạ
đ
i của một
đơn
ịISP ...................................................
v
28
Hình
2.4:
ồđ
ềxuấ
t hệ
Sơ
thố
ngđvới khối OpenFlow/SDN ......................................... 29
Hình
2.5:
ồđ
ấ
u nối trong
Sơ từđ
ng phòng Lab ............................................................. 30
Hình
2.6:
ồđ
ấ
u nối tạ
Sơ
i phòng
đmáy chủ................................................................... 31
Hình
2.7:
ồkhối hệthố
Sơ
ng thử
đnghiệ
m .................................................................... 32
Hình 2.8: Flow-table trong OpenvSwitch ...................................................................... 41
Hình 3.1: Các bả
n tin sửdụngểthố
đng kê và gửi lệ
nh từPOX xuống OpenvSwitch .. 42
Hình
3.2:
ồthuậ
t toán
Lưu
tổ
ng quan
đ của trình ứng dụ
ng trên Controller .................. 43
Hình 3.3: Cấ
u trúc bàn tin StatisticRequest-Flow.......................................................... 44
Hình 3.4: : Cấ
u trúc bả
n tin StatisticResponse –Flow .................................................. 45
Hình 3.5: Cấ
u
trúc
ờng match
trư
trong bả
n tin StatisticResponse ................................. 46
Hình 3.6: Cấ
u trúc bả
n tin FlowMod ............................................................................. 46
Hình
3.7:
ồthuậ
t toán
Lưu
củ
a khôi
đ chức
năng ............................................
GetStats
47
Hình
3.8:
ồthuậ
t toán
Lưu
củ
a khố
đi chức
năng
Flow
............................
Modificatio
48
Hình 3.9: Mô hình thửnghiệ
m phân tích dữliệ
u chạ
y qua hệthố
ng ............................ 49
Hình 3.10: Testbed mô phỏng tấ
n công ......................................................................... 50
Hình 3.11: Dữliệ
u
bình
ờng quathư
hệthố
ng ............................................................... 51
Hình 3.12: Dữliệ
u nghi ngờtấ
n công IP 119.15.167.27 ............................................... 51
Hình 3.13: Giao diệ
n phầ
n mề
m tấ
n công AttackPacket ............................................... 53
5
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
Hình 3.14: Giao diệ
n
ngư
ời quả
n trị
.............................................................................. 54
Hình 3.15: Hệthống
đang
ạ
tộng
đ ho
bình
ờng.........................................................
thư
55
Hình
3.16:
ổi sốluồ
ng
Thay
lên 2000pps
đ .................................................................... 55
Hình 3.17: Giao diệ
n cả
nh báo hệthống khi có tấ
n công .............................................. 56
Đồthị4.1: SốFlow từmột nguồ
n
IP
ế
n Server
đ ố
i với dữliệ
đ
u
bình
ờng..............
thư
58
Đồthị4.2: SốFlow từmột nguồ
n
IP
ế
n Server
đ ố
i với dữliệ
đ
u tấ
n công ................... 58
Đồthị4.3: Tổng sốluồng tồn tạ
i trong hệthống ởhaiờngtrư
hợp ............................... 59
Đồthị4.4:
Băng
ế
n server
thông đ
ờng
trong
hợp ...............................................
hai trư
59
Đồthị4.5:
ồthịthể
Đ hiệ
n sốFlow theo thời gian khi hệthống
bình
ờng ...............
thư
60
Đồthị4.6:
ồthịmô
Đ tảhệthố
ng khi có dấ
u hiệ
u tấ
n công .......................................... 61
Đồthị4.7: Log hệthố
ng khi có cả
nh báo ...................................................................... 61
6
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
DANH SÁCH BẢNG BIỂU
Bả
ng 1.1: Cấ
u trúc Flow-Entry ...................................................................................... 16
Bả
ng 1.2: Các thành phầ
n trong Header Field của Flow-Entry ..................................... 17
Bả
ng 1.3: Các thành phầ
n
trong
ờng Counter
trư
củ
a Flow-Entry ................................. 17
Bả
ng 1.4: Một sốAction trong Flow-entry .................................................................... 18
Bả
ng 3.1: Các loạ
i thông tin
ề
u khiể
đi
n củ
a bả
n tin FlowMod ..................................... 47
Bả
ng
3.2:
ị
a chỉ
Tên,
IP của các thiế
đt bị...................................................................... 50
7
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
DANH SÁCH CÁC TỪ VIẾT TẮT
Từviế
t tắ
t
Thuậ
t ngữtiế
ng anh
Ý
SDN
Software Defined Network
Mạ
ng lậ
p
IP
Internet Protocol
Giao thức liên mạ
ng
MAC
Media Access Control
Đi
ề
u khiể
n
SSL
Secure Sockets Layer
GUI
Graphical User Interface
Giao diệ
n
AP
Access Point
Đi
ể
m truy cậ
p không dây
PC
Personal Computer
Very Important Person
Máy tính cá nhân
Controller
Bộđi
ề
u khiể
n
Server, Client
Máy chủ
, máy trạ
m
Control Path
Mặ
tề
uđi
khiể
n
Data Path
Mặ
t dữliệ
u
StatsRequest
Bả
n tin yêu cầ
u thông số
StatsResponse
Bả
n tin trảlời thông số
FlowMod
Bả
n tin chỉ
nh sửa
Internet Service Provider
Nhà mạ
ng viễ
n thông
VIP
ISP
nghĩa
trình
ợc
đa ậ
truy
p
nh
Giao thức bả
o mậ
t cá mã
hóa thông tin
8
đư
ngư
ời dùng
Ngư
ời quan trọng
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
LỜI
NÓI
ẦU
Đ
Ngày nay, cùng với sựphát triể
n nhanh chóng của các công nghệtiên tiế
n, nhu cầ
u
kế
t nối và chia sẻcủ
a
con
ời ngư
ngày
càng
ảvềtố
c
gia
ộ, đ
chấ
ttăng
ợng
lư cũng
c
tính thuậ
n tiệ
n. Các kiế
n trúc mạ
ng và các thiế
t bịmạ
ng
nh
cũầ
nđã
nào
ểlộ
ph
nhữ
đ
ng
như
ợc ể
m
đi như ứng
tính
nhắ
c, giá c
thành cao, thiế
u khảnăng ợ
tích
p nhiề
u chứch
năng,
cũng
ầ
u yêu
như
cầ
u hệnhu
thống mạ
ng
c phả
i
chóng các thông sốvềtrễ
,
đáp
ứng việ
c
thay
ổi nhanh đ
băngị
nhthông,
tuyế
n, QoS
ặ
đ
c biệ
và
t là vấ
n
đềbả
đo mậ
t.
Vấ
n ềbả
đo mậ
t càng quan trọ
ng và cấ
n thiế
t khi triể
n khai cho mộ
t nhà cung cấ
p dị
ch
vụmạ
ng và viễ
n thông.
Mạ
ng lậ
p
chuyể
n mạ
ch
trình
ợc hay SDN,
đưlà một kiế
n trúc mạ
ng mới, mà ởđó,
các
ế
t bị
thi
(Switch,
ẽđư
ợ
Router
c tách ra làm hai…)
phầ
n riêng
s biệ
t: Mặ
t phẳ
ng
đi
ề
u khiể
n (Control Plane) và Mặ
t phẳ
ng dữliệ
u
(Data
Plane).
ợc triể
nContr
khai trên các server bên ngoài, chị
u trách nhiệ
m ề
đi
u khiể
n việ
c chuyể
n tiế
p gói tin
cũng
như
ức các
năng
ợpch
khác.
tích
Data Plane
h thực hiệ
n việ
c chuyể
n tiế
p các gói
tin dựa theo lệ
nh
mà
Control
SDN sửdụ
ng giao thức
Với sựraời củ
đa Openflow, việ
c
và
thếcho các kiế
n trúc mạ
ng
đưa
ra.
Openflow
ểgiao tiế
p giữ
đ
a Control Plane và Data Plane.
Openflow
ợc bắ
tầ
đư
uđ
phát triể
n từnăm
dễdàng, thuậ
n tiệ
n
Plane
2008
ạ
iạ
iĐ
họ
ct
Stanford, California, Mỹ
.
trao
ổ
i giữa Control
đ
Plane
và
đem
ạ
i. Các tậ
l
p
Pla
chínhờđó,
xác SDN
hơn.
ắ
tầ
u
đã
đợ
đư
Nh
c áp
bdụngểthay
đ
thông
ờng. Thựcthư
tếhiệ
n
nay
SDN
ợc triể
nđã
khai tạ
đư
i
rấ
t nhiề
u phòng Lab ởcácờng
trư
ạ
i họ
đc, các trung tâm nghiên cứu
nó
Data
ởlên
đoàn
ớn như
l
do
các
ếmà
ưu
Google,
ắ
tầ
uđ
sửdụ
HP
ng kiế
nđã
trúc SDN
b trong
mạ
ng lõi của mình.
Xuấ
t phát và nắ
m bắ
t từcác vấ
n ềthự
đ c tếđang
ả
y ra trong
x một
đơn
ịcung cậ
vp
dị
ch vụInternet (ISP-Internet Services Provider) với hàng loạ
t các ghi nhậ
n tấ
n công từ
Internet
ợc theo dõi đư
hàng ngày. Việ
c phân tích và phát hiệ
n các sựcốtấ
n công là vấ
n
đ
ềquan trọ
ng
cũng
như
ốt củ
a mỗ
then
i ISP nhằ
mch
ả
m
đ bả
o toàn bộhệthố
ng ợcđư
9
t
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
vậ
n hả
nh an toàn và ổn ị
nh
đnhấ
t
có những
phương
cũng
ả
m thiể
như
u rủi gi
ro
ánệ
u quả
phòng
nhấ
t
tránh
Trong quá trình thực hiệ
n, do hạ
n chếvềmặ
t thời
gian
cho ể
khách
từđó
h
hi
cũng
ế
n thức, như
nên
ề
ki
đ
tài không thểtránh khỏi những thiế
u sót. Em mong nhậ
n ợ
đư
c sựđóng ủagóp
thầ
y cô c
và các bạ
n ểđ
ềtài
ợc hoàn
đưthiệ
n
Em xin trân trọng cả
m
hơn.
ơn ầ
các
y, cô
th ờ
trong
ng ạ
iĐ
họ
c Bách
trư
Khoa Hà Nộ
i,
Việ
n ệ
Đi
n TửViễ
n Thông trong suốt thời gian học cao học qua ạ
yđã
bả
o vàd
cung cấ
p
cho em những kiế
n thức nề
n tả
ng rấ
t có ích cho cuộ
c sống sau này. Em xin chân thành
cả
m
ơn
TS.
Trương
ời Thu
đã
ực tiế
p
tr
Hương,
ớ
hư
ng dẫ
n em thự
ngư
c hiệ
n ồđ
án này.
Thầ
y cô không chỉgiúp
ỡ, tậ
nđ
tình chỉbả
o chúng em trong nghiên cứu, học tậ
p mà
còn
giúp
ỡ, chia sẻvớ
đ
i chúng em mọ
i mặ
t trong cuộc số
ng. Thầ
y cô sẽlà tấ
m
gương
sáng cho chúng em noi theo trong những ớc
bườ
đư
ng sắ
p tới.
Xin cả
m
ơn
các
anh,
em
trong ệ
Future
n TạQuang BửuNetwo
trong suốt thời gian thực hiệ
n ồđ
án đãỗtrợ
hcác công cụđểmô phỏng
cũng
liệ
u nghiên cứu
Xin cả
m ơn
Công
ổPhầ
n
tyNetNam
C
ấ
pđã
mộ
t số
cung
dựliệ
u thực
c tếđ
ểgiúp
em hoànồán.
thành
Cuố
i cùng, xin gửi lời cả
m
là nề
n tả
ng,
Sau
đ
ơn ắ
csâu
nhấ
t tới toàn
s thểgia
là
ời luôn
ngư
đình,
ốmẹ
, anh chịb
đã
theoộ
ngsát,
viên cho chúng
chăm
em.
sóc
đây
phầ
n mụ
clà
tiêu và bốcụ
c luậ
n
văn
ợc tổchứ
đư
c
như
đ
sau:
Mục tiêu:
Nghiên cứu vềcông nghệOpenFlow/SDN, các vấ
n ềvề
đ kỹthuậ
t và ứng dụ
ng
trong hệthống mạ
ng
Ứng dụng kỹthuậ
t OpenFlow/SDN vào việ
c bả
o mậ
t trong mô hình mạ
ng ISP,
cụthểlà phân tích dữliệ
u tấ
n
công
thống
10
và
ả
nh báo
đưa
phát hiệ
ra
n cho quả
cn trịhệ
như
Luậ
n
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
văn
ợc chia
đƣ
thành 5 chƣơng:
Chƣơngổng1:
quan về
Tcông nghệOpenFlow/SDN
Chươngậ
p trung
này
giới t
thiệ
u vềcông nghệmạ
ng lậ
p
trình
ợc(SDN), đư
giao
thức OpenFlow và phầ
n cứng chuyể
n mạ
ch OpenFlow dùng NetFPGA
Chƣơng ế
t2:
kếhệthố
Thi
ng
vàặt công
cài
cụ đ
Chươngẽđưa
này ra
ồ
shệthố
sơ
ng, mô
đhình của Internet Service Provider(ISP),
sơồthử
đ nghiệ
m, các thiế
t bịsửdụ
ng, cách cấ
u hình hệthống nhằ
m thực hiệ
n chức
năng tích
phân
dữliệ
u tấ
n công, chức
năngệ
n phát
các luồng tấ
nhi
cộng dựa trên sự
tăng ấ
t
cao
ờ
thư
ng củ
b
a sốlư
ợng phiên kế
t nối trong mạ
ng
Chƣơng
3:
Các
ọ
Module
ng và các kị
ch quan
bả
n mô phỏ
tr
ng ểthử
đ
nghiệ
m hệthống
Trong
chương ẽtìm
này
hiể
u về
chúng
một sốbả
n ta
tin
sổi giữ
trao
a bộđi
ề
uđ
khiể
n Controller và OpenFlow Switch, các khối chức
năng ựng
và
Testbed
xây d
như
ế
t quả
k chạ
y thửnghiệ
m trong việ
c phân tích dữliệ
u tấ
n công và phát hiệ
n ra dấ
u
hiệ
u tấ
n công xả
y ra trong mạ
ng
Chƣơng
Thời 4:
gian xửlý hệthống
Chương
và
đánh
ế
t quả giá
này ế
t đưa
quảmô phỏ
ra
ng thự
các
c nghiệ
m
k và
k
đánh
giá
ắ
n
tí
của ềtài
đ
Chƣơngế
t luậ
5:
n và
K ớng hƣ
mởrộ
ng của ềđ
tài
Đưa ế
ra
t quảthu
k ợc qua
đưthời gian tìm hiể
u ềđ
tài
của ềtài
đ
trong
tương
cũng
ớng phát
như
triể
n hư
lai
Hà Nội,
tháng
năm
Học viên
Nguyễ
n
11
Minh
ức
Đ
201
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
CHƢƠNGTỔ
1:
NG QUAN VỀCÔNG NGHỆOPENFLOW/SDN
Chươngẽcung
này
cấ
p các
s kiế
n thức
cơ
ả
n vềcông
b nghệmạ
ng lậ
p
trình
ợc
đư
(SDN), giao thức Openflow và phầ
n cứng của chuyể
n mạ
ch Openflow dùng NetFPGA.
1.1 Mạng lậ
p
trình
ợc (Software-Defined
đƣ
Network)
Các giao thức mạ
ng hiệ
n
nay
ngày
ợc hoàncàng
thiệ
n và hoạ
đư
t ộng
đổ
nị
nh.
đ
Những nghiên cứu vềgiao thức mạ
ng hay các loạ
i
rộng đểđáp
ứng nhu cầ
u ngày càng cao của
lưu
ợng mạ
ng
lư ngàyợc mở
càng
đ
con
ời. Tuy
ngư
nhiên việ
c nghiên cứu này
gặ
p phả
i những khó
khăn
ớn là khôngl
có một
môi
ờng mạ
trư
ng cụthểđểcó thểkiể
m
nghiệ
m sựchính
xác,
ắ
n vàtính
chứng minh
đúng
sựhiệ
u dụ
đ
ng củ
a các giao thức
mạ
ng. Với các mô hình mạ
ng hiệ
n tạ
i thì tính mởrộng và sựmề
m dẻ
o gầ
n
như
khôn
có vì trong mộ
t mô hình mạ
ng ta không thểtác
ộ
ngđ
ểđi
đ
ề
u khiể
n các thiế
t bịnhư
mong muốn.
Nhưậ
y nả
vy sinh vấ
n ềđ
là cầ
n một mô hình mạ
ng có tính mề
m dẻ
o và khảnăng
mởrộng cao
hơn,
phép thựccho
hiệ
n cácổi, thay
tùy biế
n trong
đ mạ
ng mà không phụ
thuộ
c vào cấ
u hình các thiế
t bịphầ
n cứng
của mạ
ng lậ
p
đang
ửdụ
ng strên
đó.
Đây
ch
trình
ợc, SDN. đư
SDN là kiế
n trúc mạ
ng mới cho
phép
ề
u khiể
n hoạ
đi
t ộng
đcủa mạ
ng dựa trên việ
c
đi
ề
u khiể
n hoạ
t ộng
đcủa các Switch, sửdụng các ngôn ngữlậ
p trình và có thểthư
ờng
xuyên ổ
ithay
bằ
ng cách nạ
đp
các
ạ
n mã đo
nguồn khác vào thay thế
. SDN có lợi thếto
lớn mà các kiế
n trúc mạ
ng hiệ
n tạ
i
không
ợc.có
Đóđư
chính
ề
m dẻ
o,là
khả tính
năng
ởrộ
ng
mvà tính linh hoạ
t củ
a mạ
ng. Các kiế
n trúc mạ
ng hiệ
n nay không cho phép
can thiệ
p vào hoạ
t ộng
đcủa các thiế
t bịmạ
ng, hoạ
tộ
ng
đcủa các thiế
t bịnày bịphụ
thuộ
c hoàn toàn vào nhà sả
n xuấ
t
giao thức
quy
ị
nh. Chính
đ vì thế
, rấ
t khó cho việ
c thay thếmộ
t
cũ
ằ
ng cácbgiao thức mới và thửnghiệ
m chúng trên các thiế
t bịthậ
t. SDN
thìợc ngư
lạ
i, nó
cho
ời lậ
p phép
trình có thểcan
ngư
thiệ
p vào hoạ
t ộng
đcủ
a thiế
t bịvà
qua ề
đó
u khiể
nđi
thiế
t bịhoạ
t ộng
đtheo ý muốn. Việ
c này dễdàng cho việ
c nghiên
12
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
cứu ng
cũ như
ể
n khai tri
các công nghệmới vào trong mạ
ng mà không cầ
n
thay
ổ
i về
đ
phầ
n cứng.
SDN [1] chính là mộ
t kiế
n trúc mạ
ng mang tính cách mạ
ng
và
là ủ
a tương
công nghệmạ
ng trong thời gian sắ
p tới.
1.2 Công nghệOpenflow
1.2.1 Tổng quan
Hiệ
n nay hầ
u như
không
chứng các giao thức mạ
ng mới
Kế
t quảlà hầ
u hế
t
có
phương
ực tếđể
pháp
thửnghiệ
m,nào
kiể
m
trong
ờng thự
môi
c tếvới
trư
quy
các
ởng mớ
ýi từ
tư
cộngồ
ngđnghiên cứu
và kiể
m chứng. Openflow [2][3] là
có
mô
ợng thậ
lưu
t.
lư
không
ợc thửnghiệ
đưm
phương
ệ
n cho phép ti
các nhà nghiên cứu chạ
y các
giao thức thửnghiệ
m trên hệthống mạ
ng mà ta sửdụ
ng hàng ngày. Openflow dựa trên
nguyên tắ
c Ethernet Switch, với một Flow-table bên trong, và giao diệ
n chuẩ
n
thêm, xóa các flow-entries trong Flow-table. Mục
hóa
ể
đ
đích
ủa việ
c cđưa
Openflow
ranhằ
m
khuyế
n khích các nhà sả
n xuấ
t thiế
t bịmạ
ng thêm chức
năng
Openflow vào các switch
của họđ
ểmang triể
n khai trong thực tế
. Openflow đang
ợc sử
đư
dụng rộ
ng rãi bởi
nhiề
u nhà nghiên cứu, các việ
n nghiên cứu trên thếgiới do nó có tính thực tếdựa trên
các ể
ưu
m: cho đi
phép các nhà nghiên cứu chạ
y các thửnghiệ
m trên các switch khác
nhau theo cùng một
cách
như ầ
nnhau,
cấ
u hình triể
nkhông
khai theo cấ
uc
hình từng
loạ
i switch, hoạ
tộ
ng
đởline-rate cùng với mậ
t ộport
đ lớn,
hơn
ữa các nhà
nsả
n xuấ
t
vẫ
n có thểgiữbí mậ
t vềthiế
t kếcác switch của họ. Ngoài việ
c cho phép các nhà
nghiên cứu
đánh
giá
ởng củ
acác
họtrong
ý tường
môi
lưu
ợng
trư
thếlư
giới thực,
Openflow còn là một công cụhữu hiệ
u cho triể
n khai các testbed qui mô rộng
như
GENI (Global Environment for Network Innovation, network/testbed gồm các tài
nguyên chung cho các nhà nghiên cứu, chia sẻtài nguyên bằ
ng
virtulization). GENI là kiế
n trúc mạ
ng có khảnăng
ậ
p
phương
ả
o hóa- pháp
trình
l ợc. Mạ
ng đư
có khảnăng
lậ
p trình cầ
n có các phầ
n tửswitch/router có khảnăng
ậ
p trình
l ểxửlý các đ
packet cho
13
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
nhiề
u thửnghiệ
m trên mạ
ngồ
ngđthời không ả
nh ởng
hư
lẫ
n nhau. Openflow cho phép
ta có thểlậ
p
trình
ợc switch/router.
đư
Sựkhác nhau trong cấ
u trúc củ
a Switch truyề
n thố
ng và Switch hỗtrợcông nghệ
Openflow:
Hình 1.1:
Hình 1.2:
Mô
hình
Cấu
14
switch
thống
trúc
truyền
OpenFlow
Switch
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
1.2.2 Kiế
n trúc Openflow
Hình 1.3: Kiến trúc OpenFlow
Openflow cung cấ
p mộ
t giao thức mở đ
ể lậ
p trình flow-table trong các
Switch/Router khác nhau. Ngư
ời quả
n trịmạ
ng có thểchia lưu
ợng lư
thành các luồ
ng
(flow) cho mạ
ng
thông
ờng và luồ
thư
ng cho việ
c nghiên cứu. Bằ
ng cách này, các nhà
nghiên cứu có thểthửcác giao thức ị
nhđtuyế
n, các mô hình bả
o mậ
t, các cách ị
đánh
a
chỉmới, thậ
m chí thay thếcho IP. Hình trên mô tảmộ
t Openflow Switch giao tiế
p với
mộ
t Controller thông qua kênh kế
t nối bả
o mậ
t SSL [4] sửdụ
ng giao thức Openflow.
Kênh bả
o mậ
t kế
t nố
i Switch với Controller sửdụ
ng giao thức Openflow cho phép các
lệ
nh và các gói tin đư
ợc truyề
n qua lạ
i giữa Controller và Switch. Giao thức Openflow là
mộ
t giao thức mởvà chuẩ
n hóa cho phép Controller giao tiế
p với switch. Mỗ
i Openflow
Switch chứa một flow-table gồm các flow-entry, mỗ
i flow-entry có mộ
t hoặ
c nhiề
u
action
ứng,tương
khi Switch nhậ
n ợ
đư
c flow
ặ
c ể
m
đi
có
giố
ng
đ
như
ảtrong
mô
flow-t
entry, Switch sẽxửlý các gói tin củ
a flow đó theo
ứng. các action
15
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
Hình 1.4: Flow-table Actions
Các Actions trong chuẩ
n Openflow
ợc mô tả
1.0
trong hình
đư
trên gồ
m có: chuyể
n
tiế
p
gói
ế
n Controller,
tin hủ
đy gói
đ
ế
n mộ
t hoặ
c nhiề
u cổng
tin,
ổi các
ờng
thay
trong
trư
gói tin,
đ chuyể
n gói tin
xác
ị
nh củ
a Switch.
đ
Kiế
n trúc chung củ
a Openflow gồm hai thành phầ
n chính: Openflow Switch,
Controller.
Thiế
t bịchuyể
n mạch (Openflow Switch)
Bảngị
nhđdanh các luồng (Flow-table)
Vềmặ
t
ý
ởng, tư
Openflow dựa trên thực tếrằ
ng
các
switch
ề
u chứa các
và
rou
bả
ng mô tảcác luồ
ng trong mạ
ng (Flow-table). Mặ
c dù Flow-table trên switch, router
hoặ
c củ
a các hãng khác nhau có thểkhác
nhau
nhưng
ực hiệ
n chúng
các chức
năng
ố
ng nhau
gilà phụ
c vụcho hoạ
tộ
ng
đcủ
a các ứng dụ
ng. Trên Flow-table có chứa
đ
ị
nh
nghĩa
ồng thông
các
tin trong
lu
mạ
ng (Flow-entry), các Flow-entry chứa các tham
sốgiúp
ề
u khiể
đi
n các luồ
ng thông
ộ
t tin
cách
ắ
đi
n vàđúng
hợm
p lý trong
đmạ
ng.
Bảng
1: 1.
Cấu
trúc Flow-Entry
Header Fields
Counter
16
Actions
cùn
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
Thành phần Header Fields
Header
Fields:
ầ
n header củađây
flow, phầ
là
n này ph
chứa các thông tin liên quan
tới ị
ađ
chỉđích,
ị
a chỉnguồ
đ n, giao thức
đang
ực hiệ
n th
trên flow. Chi tiế
t các thông
tin ả
như
ng dư
ới bđây:
Bảng
2: 1.
Các
In Port
VLAN
ID
thành
Ethernet
SA DA
trong
-Entry Header
IP
Type
flow
phần
TCP/ UDP
SA DA Protocol Src port
đi
vào
Fi
-
In port : cổng
-
VLAN ID : ị
nhđdanh của VLAN mà switch đang
ằ
m trong
n
-
Ethernet SA/ Ethernet DA :ị
ađ
chỉMAC nguồ
n/
-
Ethernet Type : loạ
i gói tin Ethernet
-
IP SA/ IP DA : ị
ađ
chỉIP nguồn/
-
IP Protocol : giao thức sửdụ
ng
-
TCP/UDP Src port/ TCP/UDP Dst port : cổng nguồn/
Dst port
switch
đích
đích
đích
TCP/UDP
Thành phần Counter
Counter là thành phầ
n thực hiệ
n các chức
flow, port, queue. Trong phạ
m
dư
ới
năng
ống kê trên
thmột sốyế
u tố: table,
vi
ồán, ta
đchỉquan tâm tới thố
ng kê theo flow. Bả
ng
đây
ảvềcác
mô ờ
t
ngtrư
thông kê theo flow:
Bảng
3: Các
1.
thành
Tham sốCounter
Ý
phần
trong
nghĩa
trƣờng
-Entry
Độdài tham số
(Tính theo bit)
Thống kê theo flow
Received Gói tins
Sốgói nhậ
n ợ
đư
c
64
Received Bytes
Sốbyte nhậ
n ợ
đư
c
64
Duration (seconds)
Khoả
ng thời gian nhậ
n tính theo giây
32
Duration
Khoả
ng thời gian nhậ
n tính theo nano 32
17
Counte
Luậ
n
văn
ốt nghiệ
t
p cao học
(nanoseconds)
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
giây
Thành phần Actions
Actions
ờng chứ
là
a các trư
mô tảtươngề
u tác
khiể
n cho đi
các flow. Nhờcó ờng
trư
này mà các flow khi tới switch sẽđư
ợc xửlý tiế
p. Nế
u một gói tin không tìm thấ
y hành
đ
ộ
ng cầ
n thực hiệ
n tiế
p theo thì nó sẽbịloạ
i bỏ. Có mộ
t sốhành
ộ
ngđ như
Bảng
4: 1.
Một
Tên Actions
Ý
số
Action
-entry
trong
sau:
Flow
nghĩa
Chuyể
n tiế
p gói tin (Forward)
ALL
Gửi gói tin ra tấ
t cảcác interface
CONTROLLER
Đóng
LOCAL
Gửi gói tin tới các switch cụ
c bộtrong stack
TABLE
Áp dụ
ng
IN-PORT
Gửi gói tin ra cổng vào
NORMAL
Xửlý gói tin sửdụng ờng
đưị
nhđ
tuyế
n hỗtrợtrên switch
FLOOD
Gửi gói tin theo minimum spanning tree mà không quan
tâm tới
gói
ửi lên Controller
và g
hành
ộng trong đ
Flow Table
interface
ế
n
ENQUEUE
Chuyể
n gói tin tới
DROP
Xóa mộ
t Flow Table entry
MODIFY-FIELD
Sửa tham sốtrong Flow Table entry
Kênh
đ
hàng
ợi theo cổ
đ
ng
bảo
(Secure
mật
Channel):
Là giao diệ
n kế
t nố
i các Openflow Switch
ế
n Controller.
đ
Thông qua giao diệ
n
này, Controller cấ
u hình và quả
n lý các Switch, nhậ
n các sựkiệ
n từSwitch, gửi lệ
nh và
gói tin tới các Switch. Các giao diệ
n ợ
đư
c thực hiệ
n riêng biệ
t, tuy nhiên tấ
t cảcác bả
n
tin gửi qua kênh bả
o mậ
t phả
i ợ
đư
c đị
nh dạ
ng theo giao thức Openflow.
Giao thức Openflow hỗtrợ3 loạ
i bả
n
tin
18
sau
đây:
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
Controller to Switch: Đư
ợc tạ
o bởi Controller và sửdụngểtrự
đc tiế
p quả
n lý
và kiể
m tra trạ
ng thái của Openflow Switch, có thểkhôngỏ
i sự
đòi
phả
n hồ
h
i từ
Switch, bao gồm các tin nhắ
n:
- Features Message:
Controller sẽgửi tin nhắ
n
khi
Transport
Layer
ợc thành lậ
p,
Secur
này
ế
n Switch.
đ Switch phả
i gửi phả
n hồi
xác
ị
nh khảnăng
đ
hỗtrợcủ
a nó tới Controller.
- Configuaration Message: Controller có khảnăng
ế
p lậ
thi
p và cấ
u hình các
tham sốcủa Switch. Swicth sẽphả
n hồ
i 1 truy vấ
n từController.
- Modify-State Message: thông
ệ
p nàyđi
nhằ
m quả
n lý trạ
ng thái của Switch,
thêm hoặ
c xóa các flow-entry trong flow-table.
- Read-State Message: giúp Controller thu thậ
p sốliệ
u thống kê từcác flowtable, ports, các flow-entry riêng lẻ
.
- Send Packet Message:
đưa
các
ột cổng
gói
xác
ị
nh ra
của Switch.
đm
- Barrier Message: ểđ
đ
ả
m bả
o các tin nhắ
n phụthuộc ãđợ
đư
c đáp
ứng hoặ
c ểđ
nhậ
n thông báo cho các hoạ
tộng
đ
đã
hoàn
Asynchronous Message: đư
ợc bắ
tầ
uđ
bởi
thành.
Switch,
ểcậ
p nhậ
dùng
t các sự đ
kiệ
n trong mạ
ng và trạ
ng thái củ
a Switch cho Controller:
- Packet - in Message: với các gói mà không có entry nào phù hợp, Switch sẽ
gửi tin nhắ
n này tới Controller
- Flow - Removed Message: khi 1 flow-entry
ọc xóa đu
khỏ
i flow-table
- Port - Status Message:
thay
ổ
i trạ
ng thái
đ cấ
u hình của các port
- Error Message: switch thông báo cho Controller các vấ
n lỗi có thểxả
y ra
trong quá trình hoạ
tộng.
đ
Symmetic Message: ợ
đư
c gửi
đi
ặ
c do ho
Switch, hoặ
c do Controller mà không
cầ
n có yêu cầ
u:
- Hello : ợ
đư
c trao
ổ
i giữa Controller
đ
và Switch khi 1 kế
t nối ợ
đư
c khởiộ
ng
đ
- Echo Request/Reply: có thểsửdụngểchỉ
đraộtrễ
đ
,
của mộ
t kế
t nố
i Controller với switch.
19
băng ặ
cthông
khảnăngho
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
- Vendor: cung cấ
p các tiêu chuẩ
n cho switch
ểđáp
ứng
đ các chức
năng
ổsung b
trong các
ệ
p Openflow.
thông đi
Openflow Switch.
Trong mạ
ng Openflow, có mộ
t thành phầ
n quan trọng không thểnhắ
c thiế
u là
Openflow Switch. Do sựkhác biệ
t
cơ
ả
n vềphương
b
ức hoạ
t
th
ộng
đgiữa kiế
n trúc
mạ
ng SDN và các kiế
n trúc mạ
ng truyề
n thống nên các Openflow Switch có kiế
n trúc
cũng
như
ức năng
ch ệ
tkhác
hơn.bi
ầ
nTrong
này, em sẽgiớ
ph
i thiệ
u vềOpenflow
Switch và những thành phầ
n chính củ
a nó.
Openflow Switch có hai loạ
i: thiế
t bịcứng (Openflow Switch) và thiế
t bịmề
m
(OpenvSwitch) . Thiế
t bịcứng là các thiế
t bịcó các phầ
n cứng thực hiệ
n trực tiế
p việ
c
chuyể
n mạ
ch bằ
ng phầ
n cứng thậ
t. Thiế
t bịmề
m là các thiế
t bịhỗtrợchuyể
n mạ
ch
bằ
ng phầ
n mề
m.
Trong
ồánđ này,
ểthuậ
n tiệ
nđcho việ
c xây dựng mô hình thửnghiệ
m, em
đã
ử
s
dụ
ng loạ
i thiế
t bịmề
m (OpenvSwitch).
OpenvSwitch là mộ
t loạ
i Switch nhiề
u tầ
ng ợcđư
xây dựng với mụ
c
đích
ửdụ
ng
s
trong những môi
ờng ả
otrư
hóaệ
nnhư
toán
đi OpenvSwitch
đám mây.
ợc xây dự
đư
ngể đ
có thểsửdụ
ng trên nhiề
u nề
n tả
ng khác nhau, có thểsửdụ
ng trong các máy chủcó nhiề
u
cạ
c mạ
ng hoặ
c sửdụ
ng trực tiế
p trên các Switch thương
ạ
i. OpenvSwitch m
cung cấ
p cho
ngư
ời nhiề
u
tính
năng
ểcó thể
khác
quả
n lý tố
tnhau
tài nguyên hệ
đ thố
ng mạ
ng ả
o hóa:
hỗtrợQoS, Firewall, chuẩ
n 802.Q
ặ
c biệ
…t là và
hỗtrợgiao
đ thức Openflow.
Hình 1.5:
Kiến
20
trúc
của chmột
OpenFlow
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
Bộđi
ề
u khiể
n mạ
ng (Controller).
Đối với các thiế
t bịSwitch, Router
biế
t
thông
ờng, khi nhậ
nthư
ợ
đư
c một gói tin nó sẽ
phương
ả
i xử
pháp
lý gói
ph tin
ra
ộng sao,
đó
ợc ị
nh
đư
đ các
nghĩa
hành
dođ
sả
n xuấ
t.ối vớ
Đi Openflow Switch, khi nhậ
n ợ
đư
c các bả
n tin, nế
u trong flow-table
chưaị
nh
có nghĩa
đ
ềloạ
i bả
n vtinứngtương
thì Switch sẽphả
i gửi bả
n tin này lên phía
trên cho bộđi
ề
u khiể
n. Tạ
i
đây,
ộđi
ề
u khiể
bn sẽtiế
n hành thêm, sửa, xóa trên flow-
tableị
nh
và nghĩa
đ đ
ộnghành
tương
ứng cho bả
n tin. Có nhiề
u bộđi
ề
u khiể
n ợ
đư
c
phát triể
n cho các ngôn ngữlậ
p trình khác nhau :
- Bộđi
ề
u khiể
n POX dựa trên SDN Controller platform sửdụng ngôn ngữ
Python
ểphát triể
đn.
- Beacon dựa trên Java Openflow Controller platform sửdụng ngôn ngữJava
ể
phát triể
n.
- Foodlight dựa trên Java.
- NOX dựa trên cảPython và C++, tuy nhiên hiệ
n nay không còn hỗtrợphát
triể
n ứng dụ
ng python nữa mà hoàn toàn là C++.
Các bộđi
ề
u khiể
n
này
ề
u là dạ
đ
ng mã nguồn mở, miễ
n phí, cung cấ
pầ
y
đủđ
thông
tin hỗtrợcho ờingư
lậ
p trình.
ềtài củ
Trong
a mình, em chọ
đn bộđi
ề
u khiể
n POX do
tính dễsửdụ
ng, hiệ
u
năng
ổn ị
nh
cao,
đcủa ngôn ngữPython.
Các sựkiệ
n của Controller:
Có thểnói, các thành phầ
n Controller là mộ
t tậ
p hợp ểđ
xửlý các sựkiệ
n củ
a
Controller (Controller event). Các sựkiệ
n ợ
đư
c hiể
u là tấ
t cảnhững gì thực hiệ
n trong
Controller hay trên mạ
ng
nhưng
có
ế
n cácliên
thành phầ
n quan
của Controller.
đ
Controller bao gồm mộ
t sốsựkiệ
n ợ
đư
c tích hợp sẵ
n, ánh xạvới các bả
n tin
Openflow nhậ
n đư
ợc tạ
i Controller:
- Datapath_join_event: xuấ
t hiệ
n khi có một
switch
ợc phát hiệ
nđư
trong mạ
ng.
- Datapath_leave_event: xuấ
t hiệ
n khi có một switch rời khỏi mạ
ng.
- Packet_in_event: ợ
đư
c gọ
i cho mỗ
i gói tin nhậ
n bởi Controller. Sựkiệ
n này bao
gồm: ID của switch, cổngế
n củ
đa gói tin, bộđệ
m gói tin.
21
đ
Luậ
n
văn
ốt nghiệ
t
p cao học
- Flow_mod_event: khi một
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
dòngợng
lưu
ợcđư
thêm
lư
vào hoặ
c sửa ổ
iđ
bởi
Controller.
- Flow_removed_event: khi một
dòng
ợng
lưu
ợcđư
quá hạ
lư
n hoặ
c bịxóa bỏ
.
- Port_status_event: chỉra sựthay
ổi trạ
ng
đthái của các cổng (disable/enable, tốc
đ
ộ
, tên cổng).
- Port_stats_in: ợ
đư
c tăng ộ
lên
t switch nhậ
khi
n ợ
đư
c mộ
m t bả
n
tin
Port_st
ứng bả
n tin Port_starts_requets (bao gồm các giá trịtruy cậ
p hiệ
n tạ
i cho mộ
t cổ
ng
nhấ
tị
nh:
đrx, tx, lỗi…).
Ngoài ra, các thành phầ
n còn có thểtựxác
ị
nh và
đchuyể
n các sựkiệ
n cấ
p
cho các thành phầ
n khác xửlý, các sựkiệ
n
đó
cao
hơn
là:
- Host_event: khi mộ
t host tham gia hoặ
c rời mạ
ng ờ
(thư
ng do time out) sựkiệ
n
này sẽđư
ợc
tăng
lên.
- Flow_in_event: khi một Packet_in_event
ợc nhậ
nđư
từmạ
ng, Flow_in_event
sau ợ
đó
c xửlýđư
bởi ứng dụng Routing.
- Link_event: khi mộ
t
link
ợc khám
đư
phá
ổ
i trong
hay
mạ
ng. thay đ
1.3 NetFPGA
NetFPGA [7] là mộ
t nề
n tả
ng phầ
n cứng giá rẻ
, ợ
đư
c thiế
t kếchủyế
u nhằ
m mụ
c
đích
là ụlàm
cho việ
c giả
công
ng dạ
y và c
nghiên cứu các thiế
t kếphầ
n cứng mạ
ng
như
bộđ
ị
nh tuyế
n, bộchuyể
n mạ
ch, card mạ
ng ...
Do vậ
y NetFPGA có thểxây dựng làm Openflow Switch trong kiế
n trúc SDN tạ
i
các phòng Lab khu 618. Hiệ
n nay, với sựgiúp
ỡcủa đ
các sinh viên tạ
i phòng Lab, em
đãực th
nghiệ
m xây dựng hệthố
ng mô phỏng một khối chức
hình ISP
22
năng
ực hiệ
n th
trong mô
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
Hình 1.6:
Nền
tảng
NetFPGA
Phầ
n cứng:
Cấ
u trúc phầ
n cứng của NetFPGA bao gồm:
- Xilinx VirtexTM-II pro 50
- 4x1 Gbps Ethernet ports sửdụ
ng lõi MAC mề
m
- 4.5 Mb SRAM và 64 Mb DDR2
- Một
chip
FPGA
- Kit NetFPGA giao tiế
p với
Spartan
ểlàm khối Control II
Logic cho
dùng
PCI interface
đ
máy tínhờngthông
bus PCI.
qua
đư
Phầ
n mề
m.
Phầ
n mề
m ởđây ầ
là
n mề
mph
ề
đi
u khiể
n NetFPGA, chúng bao gồm hệđi
ề
u hành
Linux cho PC, driver cho kit NetFPGA, các phầ
n mề
m tạ
o ra giao diệ
n giữa ngư
ời
dùng và thiế
t bịmạ
ng.
Xây dựng bộchuyể
n mạch trên nề
n tảng NetFPGA.
Đây
ộ
là
t gói phầ
m n mề
m mã mở của Linux, xây dựng một chuyể
n mạ
ch
Openflow bằ
ng phầ
n mề
m và có thểdownload từ website Openflow. Phầ
n mề
m
Openflow tham khả
o ợ
đư
c chia làm hai phầ
n: phầ
n
không ờigian
dùng (User-ngư
Space) và phầ
n không gian kernel (Kernel-Space).
Các process trong user-space giao tiế
p với bộđi
ề
u khiể
n Openflow sửdụ
ng SSL đ
ể
mã hóa thông tin. Giao thức Openflow chỉraị
nh đ
dạ
ng của gói tin giữa chuyể
n mạ
ch
23
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
Openflow và bộđi
ề
u khiể
n. Thông tin từbộchuyể
n mạ
ch tới bộđi
ề
u khiể
n có thểlà
thông báo một flow mới ế
nđ
hoặ
c thông báo update trạ
ng
thông tin từbộđi
ề
u khiể
n tới bộchuyể
n mạ
ch
đư
ợc
trao
ổ
i giữa cácđprocess của
thái
ờng link.
các
Và
đư
như
ầ
u thêm
yêu
bớt các
c flow-entry
khôngời gian
dùng và kernel
ngư
module thông qua
các lời gọi hệthống IOCTL.
Kernel module chị
u trách nhiệ
m bả
o trì các flow-tables, xửlý gói tin và update các
sốliệ
u thố
ng kê. Mặ
cị
nh,
đkernel module của bộchuyể
n mạ
ch tham khả
o sẽtạ
o ra các
flow-table bằ
ng phầ
n mề
m và forward các gói tin qua card mạ
ng củ
a máy tính.
Kernel module có khảnăng
ởrộng
m bằ
ng cách cho phép các module phầ
n cứng
đăng
í các flow-table
k
thêm vào. Các flow-table của phầ
n cứng sẽcó quyề
n
hơn
ưu
tiên
các
-table củ
flow
a phầ
n mề
m. Các nhà phát triể
n có thểmởrộng hệthố
ng tham
khả
o bằ
ng cách thêm một NetFPGA Openflow Kernel Module. Kernel module này sẽ
sửdụng các interface củ
a kernel module tham khả
ođ
ểkế
t nối các flow-table củ
a cả
phầ
n cứng và phầ
n mề
m lạ
i với nhau.
Khi mộ
t
gói
ế
n kittin
NetFPGA,
đnế
u
gói
tin
ợc so sánh
này
trùng vớ
đư
i mộ
t flow-
entry
ồ
n tạ
iđã
trong flow-table
t
củ
a phầ
n cứng sẽđư
ợc forward trong phầ
n cứng với tố
c
đ
ộcao. Nế
u gói tin không trùng với mộ
t flow-entry nào trong flow-table, ví dụflow mới,
sau ẽgử
đó
i tới kernel
s module và kernel module sẽforward gói tin tới bộđi
ề
u khiể
n.
Nế
u flow-table củ
a phầ
n cứngầ
y, đ
flow-entry mới sẽđư
ợc chèn vào flow-table củ
a
phầ
n mề
m. Những gói tin tiế
p theo thuộc những
flow
ếsẽkhông
như ợ
th
c xử
đư
lý ở
phầ
n cứng mà sẽđư
ợc forward lên phầ
n mề
m ể
đ
xửlý.
Đặ
c ể
m
đi
nổ
i bậ
t củ
a NetFPGA là có khảnăng
Openflow switch có hiệ
u
năng
ửdụ
ng lớ
s
n với
ấ
cung
p cho
ờicsử
ngư
dụ
ng mộ
t
băngốithông
đa
ên mỗitr
cổ
ngtcó thể
lên tới 1Gbps hoặ
c 10Gbps tùy theo từng phiên bả
n.ặ
c biệ
Đt
hơn,
ỗi trên
Kit
ề
u có đ
m
một chip FPGA cung cấ
p cho các nhà nghiên cứu khảnăng ế
tùy
n thay
ổ
i
bi
ểxây
đđ
dựng, tùy biế
n các nề
n tả
nh khác nhau của Openflow switch. Tuy nhiên, phạ
m vi hoạ
t
đ
ộ
ng chủyế
u củ
a
NetFPGA
triể
n khai trên các mô hình mạ
ng lớn
là
ờng trong
phòng thí nghiệ
môi
m, chưa
trư
ẳnăng
có kh
hơn.
24
Luậ
n
văn
ốt nghiệ
t
p cao học
Kỹthuậ
t an ninh mạ
ng dùng Openflow/SDN
Trên Openflow Switch,
sau
các ừmộ
gói
t cổng mạ
tin
ng bấ
t đi
qua IC vào
Ethernet, t
khi
ợc xửlý
đư
ị
nh đ
tuyế
n sẽđư
ợc ẩ
yđ
trởra mộ
t cổng mạ
ng khác. Quá trình này
xả
y ra liên tục
khi
có
các ể
gói
n mạ
ch. Ngoài
tin
ra, khố
đi
i chuyể
vào
n mạ
ch chuy
vẫ
n
phả
i xem xét và cậ
p nhậ
t các tín hiệ
u ề
uđi
khiể
n nhậ
n ợ
đư
c từkhố
iề
uđi
khiể
n qua PCI.
Với Tầ
n sốlàm việ
c hiệ
n tạ
i là 125 Mhz, chuyể
n mạ
ch có thểđáp
ứng
lưu
ợng
1Gbps x 2 (chiề
u) x 4 (cổ
ng) = 8Gbps toàn chuyể
n mạ
ch.
1.4 Kế
t luậ
n
Chương
mạ
ng lậ
p
2
đã
cho
ững kiế
n chúng
thức vềkiế
n trúc
tamạ
ng
nh
thếhệmới -
trình
ợc SDN, sự
đư
so sánh với kiế
n trúc mạ
ng
Openflow và phầ
n cứng
cũ.
ế
p theo là
Ti
giao thức
NetFPGA
ểcó thểtạ
o ra
đmộ
t bộchuyể
n mạ
ch Openflow.
25
lư