Tải bản đầy đủ (.docx) (45 trang)

Tổng quan về mã nguồn mở SDN

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.01 MB, 45 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA VIỄN THƠNG I
---------------------------------------

TIỂU LUẬN HỌC PHẦN
BÁO HIỆU VÀ ĐIỀU KHIỂN KẾT NỐI

MÃ NGUỒN MỞ SDN

Họ và tên sinh viên thực hiện:
Nguyễn Quý Chiến – B18DCVT047
Trịnh Xuân Hựu
Nguyễn Tuấn Anh

HÀ NỘI - 2021


MỤC LỤC


THUẬT NGỮ VIẾT TẮT
GPL

General Public License

FSF

Free Software Foundation

BSD
ASF



Berkeley Software Distribution
Apache Software Foundation

EPL

Eclipse Public License

FOSS

Free and Open-Source Software

ONF

Open Networking Foundation

NVP

Network Virtualization Platform
(Nicira)

OVSDB

AP

Open vSwitch Database
Management Protocol
Application-Specific Integrated
Circuit
Access Point


ONOS

Open Network Operating System

NFV

Network Functions Virtualization

OSSDN
NBI

Open Source SDN
Northbound Interface

PIF

Protocol Independent Forwarding

ASICs

Giấy cấp phép phần mềm tự
do
Tổ chức phi lợi nhuận thúc
đẩy sự tự do nghiên cứu
Phần mềm Berkeley
Tập đoàn phi lợi nhuận của
Mỹ nhằm hỗ trợ một số dự án
phần mềm mã nguồn mơ
Giấy phép phần mềm mã

nguồn mơ và miễn phí của
Eclipse
Phần mềm mã nguồn mơ miễn
phí
Tổ chức phi lợi nhuận điều
hành nhằm thúc đẩy mạng
thông qua mạng do phần mềm
xác định (SDN) và ch̉n
hóa giao thức OpenFlow và
các cơng nghệ liên quan
Cơng ty tập chung vào mạng
do phần mềm xác định SDN
và ảo mạng hóa
Giao thức quản lý trong mơi
trường mạng SDN
Mợt con chip mạch tích hợp
chuyên dụng
Thiết bị không dây tạo ra một
mạng cụ bộ hoặc WLAN
Hệ điều hành mơ được tổ chức
Linux
Ảo mạng hóa thay đởi phần
cứng của thiết bị mạng bằng
các máy ảo
Mã nguồn mơ SDN
Một giao diện cho phép các
thành phần giao tiếp với thành
phần cao hơn
Một dự án phần mềm mã



GUI
KVM
OVS
UI
API
OSPF
BGP

Graphical User Interface
Kernel-based Virtual Machine
Open vSwitch
User Interface
Application Programming
Interfaces
Open Shortest Path First
Border Gateway Protocol

nguồn mơ
Giao diện đồ họa người dùng
Máy ảo Kernel-based
Một mã nguồn mơ
Giao diện người dùng
Giao diện lập trình ứng dụng
Giao thức định tuyến OSPF
Giao thức định tuyến BGP


LỜI NÓI ĐẦU
Internet ngày càng phát triển và quan trọng đối với mỗi chúng ta. Sự phát triển

hàng ngày, hàng giờ với các tính năng mới mang đến cho người dùng những trải
nghiệm và phục vụ tốt hơn nhu cầu cuộc sống mỗi người.
Đi xuống một cấp độ thấp hơn, cấp đợ mạng, chúng ta có thể nhận ra rằng, sự phát
triển ơ cấp độ này diễn ra chậm hơn rất nhiều. Khơng có nghi ngờ nào về sự phát
triển ngày càng mạnh mẽ của cơ sơ hạ tầng mạng internet trên mặt số lượng, bằng
thống tổng cộng tăng lên nhanh chóng, các kỹ thuật mới ơ layer 2 được áp dụng,
tuy nhiên sự thay đổi về mặt cấu trúc đến thời điểm hiện tại là gần như không đáng
kể. Một trong những nguyên nhân cho vấn đề này là vì cấu trúc mạng “ngun
khới”, nó chứa tập hợp các chức năng trong đó kể cả các ứng dụng mạng. Việc áp
dụng chức năng mới yêu cầu phải hiện đại hóa toàn mạng với hàng triệu thiết bị.
Hãy thử tương tượng rằng chúng ta phải tiến hành cập nhật tất cả các thiết bị mỗi
khi chúng ta cài một ứng dụng mới, đó thực sự là mợt cơng việc khó khăn và mất
rất nhiều thời gian, cơng sức. Nói cách khác, sự đổi mới trên cấp độ mạng trong
khuôn khổ cấu trúc ngày nay là rất khó khăn. Các chức năng và các tính năng mới
làm tăng tính phức tạp của hệ thống lên rất nhiều lần, việc thử nghiệm chúng cũng
vậy và nếu áp dụng chúng vào thực tế cũng đòi hỏi chi phí rất cao và tiềm ẩn nhiều
nguy cơ khác. Chính vì thế rất nhiều chuyên gia đã đặt kỳ vọng vào một mô hình
mạng mới, mạng điều khiển bơi phần mềm SDN (Software-Defined Networking).
Chính vì thế ơ bài tiểu luận này sẽ trình bày về SDN Open Source.

I. TỔNG QUAN VỀ OPENFLOW
1.1 Giới thiệu về OP
OpenFlow là một công nghệ mới nổi lên gần đây với khả năng tiềm tang có
thể nâng cao mợt cách đáng kể giá trị của các dịch vụ mà các trung tâm dữ liệu có
thể cung cấp. Triển khai OpenFlow có thể cung cấp cho các nhà quản lý mạng khả
năng điều khiển nhiều hơn các nguồn tài nguyen họ quản trị, khả năng quản trị
máy chủ và mạng tích hợp, và một giao tiếp quản trị mơ cho các hệ thống Router
Switch.

5



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. 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ị chuyển
mạch thực tế tới phần mềm điều khiển trung tâm.
Giải pháp OpenFlow mang lại khả năng ảo hóa toàn diện cho toàn bợ hệ
thớng network, được kỳ vọng là một trung những chuẩn sẽ thay đổi kiến trúc hạ
tầng network trong tương lai gần.
Giao thức OpenFlow là gì ?
-

Tiêu chuẩn OpenFlow được phát triển bơi ONF.
Là 1 giao thức cốt lõi của mạng mạng định nghĩa phần mềm SDN. Nó cho
phép tạo ra các giao tiếp giữa bộ điều khiển và thiết bị chyển mạch của mạng
Là giao thức mạng cho phép điều khiển mạng xác định đường đi của gói tin
qua các bợ chuyển mạch (Switch)
Đóng vai trò là lớp giao tiếp giữa Cotrol plane và Data plane (phần chuyển
tiếp) và cung cấp các API cho phép khả năng lập trình lớp điều khiển.
Cho phép truy cập trực tiếp và điều khiển lớp chuyển tiếp của các thiết bị
mạng như switch và router, thiết bị vật lí ảo
Đặc trưng của openFlow

-

Có thể đc sd bơi các ứng dụng phần mềm bên ngoài để điểu khiển lớp
chuyển tiếp của các thiết bị mạng
Đc triển khai trên 2 giao diện kết nối giữa các thiết bị cơ sơ hạ tầng và SDN

Khái niệm Flow(luồng) để nhận dạng lưu lg mạng,
Kiến trúc của openFlow:

Một thiết bị OpenFlow bao gồm ít nhất 3 thành phần:




Secure Channel: kênh kết nới thiết bị tới bộ điều khiển, cho phép các lệnh và
các gói tin được gửi giữa bợ điều khiển và thiết bị.
OP Protocol: giao thức cung cấp phương thức tiêu chuẩn và mơ cho một bộ
điều khiển truyền thông với thiết bị.
Flow Table: một liên kết hành động với mỗi luồng, giusp thiết bị xử lý các
luồng thế nào.

6


Hoạt động của openFlow
-

-

openFlow tách các chức năng của lớp truyền dữ liệu và lớp đ/kh . Chức năng
liên quan đến truyền DL vẫn thực hiện trên thiết bị chuyển mạch, các định
tuyến trong openFlow do bộ điều khiển (controller) thực hiện. Controller và
thiết bị chuyển mạch giao tiếp với nhau qua giao thức openFlow
Controller có thể thực hiện các phân luồng DL mạng.
openFlow cc giao diện API , nhờ giao diện này có thể lập trình qua mạng
giao diện API gồm 2 chính:

o giao diện lập trình dành cho vc kiểm soát chuyển tiếp gói tin qua các
bợ chuyển mạch mạng
o các giao diện toàn cầu (global interface)

openFlow switch: là 1 thiết bị chuyển mạch thuộc lớp data plane trong kiến trúc
SDN. Trong mỗi openflow switch sẽ chứa 1 or nhiều bẳng flow table. mỗi flow
table lại chứa 1 tập flow entry. flow entry này đc thêm, sửa hoặc loại bỏ đi bơi
SDN controller
1.2 Các đặc trưng cơ bản của OP
OP 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.
1.3 Lợi ích khi sử dụng OP
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ý 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.
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 là 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.


II. Giới thiệu MÃ NGUỒN MỞ SDN
7


Mã ng̀n mở là gì: là phần mềm có bợ source code mà bất kì ai cũng có thể
download về, sửa đởi hoặc nâng cấp thêm cho nó những tính năng vượt trợi khác.
các lập trình viên có qùn truy cập vào mã nguồn này để cải thiện chương trình
bằng cách thêm các tính năng hoặc sửa các phần không hoạt động đúng.
Trong 5 năm đầu tiên của SDN, sự đầu tư chủ yếu về thời gian và công sức đến
từ nghiên cứu cộng đồng, tập trung vào OpenFlow. Từ những năm từ 2012 đến
2015 đã chứng kiến không chỉ tiếp tục đầu tư vào OpenFlow, mà còn đầu tư vào
việc sử dụng các giao thức khác như BGP và NETCONF để hoàn thành các mục
tiêu SDN.
Đối với các thiết bị, bộ điều khiển và ứng dụng dựa trên OpenFlow, có mợt
bợ sưu tập phong phú về phần mềm ng̀n mơ có sẵn. Tuy nhiên, đới với các giao
thức kế thừa, các giải pháp liên quan chủ yếu chạy trên thiết bị sử dụng phần mềm
đợc qùn và do đó phát triển nguồn mơ tập trung vào bộ điều khiển, Ví dụ ưu việt
của mô hình này là OPenDaylight (ODL). Tuy nhiên, có ng̀n mơ có sẵn cho mợt
sớ giao thức mà bộ điều khiển sử dụng để giao tiếp với các thiết bị độc quyền. Ví
dụ về các giao thức như vậy bao gờm NETCONF và BGP.
III. MƠI TRƯỜNG MÃ NGUỒN MỞ SDN
Tiêu chuẩn OpenFlow được phát triển bơi ONF. Tuy vậy, ONF không cung cấp
triển khai hoạt động của công tắc hoặc bộ điều khiển. Trong này chương chúng tôi
sẽ cung cấp một số lượng lớn các thành phần mã ng̀n mơ có sẵn để sử dụng
trong nghiên cứu, bao gồm cả mã nguồn cho chính OpenFlow, Một sớ trong sớ này
có sẵn theo giấy phép làm cho chúng thích hợp để khai thác thương mại. Nhiều
sáng kiến trong số này sẽ đẩy nhanh quá trình tiêu chuẩn hóa và tỷ lệ chấp nhận
SDN.
Định nghĩa của SDN đã bị xóa mờ trong hầu hết các cơng việc hiện tại trên
mạng ảo hóa. Tuy nhiên, phần lớn cơng việc này, đặc biệt là trong SDN mã nguồn

mơ đã xảy ra trong học tḥt thế giới. Do đó, có mợt thư viện mã nguồn mơ quan
trọng dành cho những người muốn thử nghiệm hoặc xây dựng các sản phẩm
thương mại trong các lĩnh vực SDN và ảo hóa mạng. Ngoài học tḥt đóng góp,
nhiều cơng ty đang đóng góp mã nguồn mơ cho các dự án SDN. Một số ví dụ đã
được đề cập trong các chương trước là Indigo của Big Switch, VMware’s OVS và
nhiều công ty khác như: Brocade, Cisco, IBM, HP, Huawei, Intel, NEC, VMware
đóng góp cho ODL. ODL hoan nghênh các đóng góp mã ng̀n từ các thành viên
và có mợt quy trình khá nghiêm ngặt để đánh giá và đưa vào phần mềm. Có thể
8


thấy danh sách các kỹ sư đóng góp cũng như ODL giao diện bộ điều khiển, phần
lớn phần mềm điều khiển đến từ Cisco. Ngoài nhiều Cisco những người đóng góp,
nhiều người đóng góp khác đã thêm phần mềm vào cơ sơ mã nguồn mơ ODL.
Plexxi đã cung cấp một API cho phép bộ điều khiển và ứng dụng cộng tác bằng
cách sử dụng phần tóm tắt của cơ sơ hạ tầng mạng bên dưới độc lập với thiết bị
chuyển mạch cụ thể được sử dụng. Phần mềm ngăn chặn các cuộc tấn công từ chối
dịch vụ phân tán (DDoS) đã được đóng góp bơi Radware. Ericsson và IBM đã hợp
tác với Cisco để cung cấp các plugin OpenFlow cho bợ điều khiển. Pantheon có đã
cung cấp phiên bản OpenFlow 1.3

Hình 1. Tổng quan về mã nguồn mở SDN
Trong hình 1, chúng tôi ánh xạ nhiều lựa chọn nguồn mơ này với các thành
phần mạng khác nhau. Các các thành phần chính, từ dưới lên là:
9


• Thiết bị OpenFlow
• Bộ điều khiển OpenFlow
• Các ứng dụng SDN

• Ảo hóa mạng :
** Hardware virtualization (ảo hóa phần cứng) :
-

Ảo hóa: là hành đợng tạo ra phiên bản ảo bao gồm: nền tàng phần cứng của
máy tính ảo, thiết bị lưu trữ và tài nguyên mạng máy tính
Lý do ảo hóa: giam như cầu về tài nguyên phần cứng , có thể kiểm soát và
kiểm tra dễ dàng hơn , có thể di chuyển thiết bị này sang thiết bị khác

• Kiểm tra và mơ phỏng

IV. TỔNG QUAN MÃ NGUỒN MỞ SDN
Định nghĩa SDN:
-

-

-

-

SDN(Software Defined Networking) hay mạng điều khiển bằng phần mềm
được dựa trên cơ chế tách riêng việc kiểm soát một luồng mạng với luồng dữ
liệu (control plane và data plane).
Định nghĩa ra một lớp phần mềm đứng chặn giữa các phần tử mạng và ng
quản trị mạng (ng cấu hình và cài đặt ). Lớp phần mềm này cc cho ng quản trị
mạng khả năng điều khiển các thiết bị mạng của họ thông qua 1 giao diện
phần mềm thay vì phải tự cấu hình phần cứng và các tác động vật lý của thiết
bị máng
SDN dựa trên giao thức luồng mơ (Open Flow)

SDN tách định tuyến và chuyển 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 l̀ng
(Flow Controller)
SDN có khả năng ảo mạng hóa các ng̀n lực mạng. Các nguồn lực mạng
được biết đến như là một “ngăn mạng” (network slice). Mợt ngăn có thể mơ
rợng nhiều phần phần mạng gồm đường trục mạng, bộ định tuyến và host.
Hoạt động của SDN: SDN hoạt động bằng cách tạo mợt mạng máy tính ảo
hóa phần cứng và tài ngun

Các nhà cc SDN controller chính: Big Swich netwroks ; Cisco ; Cumulus
Networks; Hewlett Pakard Enterprise;Pica8; VNware; Pluribus Networks
10


Các SDN controller mã nguồn mở: Floodlight , openDayLight , open
network operating system (ONOS)
Kiến trúc của mạng SDN
SDN được chia làm ba lớp: lớp ứng dụng (Application Layer), lớp điều
khiển (Control Layer) và lớp thiết bị hạ tầng (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 bắc và nam tương ứng.
-

-

Lớp ứng dụng: Là các ứng dụng kinh doanh được triển khai trên
mạng, được 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 điều khiển :Là nơi tập trung các bộ điều khiển 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 bợ điều khiển này có thể là các phần mềm được lập
trình.
Lớp điều khiển đại diện cho phần mềm SDN tập chung hoạt động như
1 bộ não của SDN, bộ điều khiển này nằm trên 1 máy chủ và quản lý
các chính sách và luồng lưu lượng trên toàn mạng.
+API nam: SDN sd API nam để chuyển thông tin đến các thiết bị:
router, switch( lớp cơ sơ hạ tầng)
+ API bắc: SDN sd API bắc để giao tiếp với các ứng dụng ( lớp Ứ D)
Bên trong SDN controller
Chứa các module giúp quản lý topo mạng, quản lý trạng thái,
quản lý các thiết bị, quản lý các cảnh báo, tính toán đường đi
ngắn nhất và cung cấp các kỹ thuật bảo mật.
• SDN controller sử dụng giao điện Southbound để giao tiếp với
các thiết bị lớp hạ tầng. Các giao thức phổ biến là Openflow,
OVSDB, ForCES, OF-Config... Thông qua các giao thức này
SDN controller có thể cấu hình và thu thập các thông tin trạng
thái trên thiết bị
Lớp cơ sơ hạ tầng: Là các thiết bị mạng thực tế (thiết bị vật lý hoặc ả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


-

11


nhiều bộ điều khiển khác nhau, điều này giúp tăng cường khả năng ảo
hóa của mạng

Những điểm khác nhau cơ bản giữa mạng truyền thống và mạng SDN


Về kiến trúc

Đối với hệ thống mạng truyền thống, các thiết bị mạng lớp 2 và lớp 3 phải
đảm nhận nhiều chức năng để đảm bảo hoạt động
Đối với mạng điều khiển bằng phần mềm SDN, việc điều khiển được tập
trung tại lớp 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 các nhà sản xuất sẽ không ảnh hương tới toàn
hệ thống mạng
Về phía người quản trị mạng, SDN không cần trực tiếp làm việc tại các thiết
bị mạng để cấu hình, tích hợp vào hệ thống mà chỉ cần thông qua các API đã
được cung cấp cùng với kiến thức cơ bản về TCP/IP đều có thể xây dựng
ứng dụng cho toàn hệ thống mạng.
Chức năng điều khiển và chức năng chuyển tiếp dữ liệu trên mạng truyền
thống đều được tích hợp trong cùng một thiết bị mạng trong khi trong mạng
SDN, phần điều khiển được tách riêng khỏi thiết bị mạng và được chuyển
đến một thiết bị được gọi là bộ điều khiển SDN
Mạng truyền thống không thể được lập trình bơi các ứng dụng, cấu hình các
thiết bị mạng được thực hiện một cách riêng lẻ và thủ công. đối với SDN,
mạng sẽ được lập trình bơi các ứng dụng, bợ điều khiển SDN có thể tương
tác đến tất cả các thiết bị trong mạng


Về tính năng

SDN dựa trên phần mềm (linh hoạt hơn kiểm soát tốt hơn và dễ dàng quản
lý tài nguyên) trong khi mạng truyền thống thường dựa trên phần cứng(sử dụng các
bộ chuyển mạch, bộ định tuyến và cơ sơ hạ tầng vật lý khác để tạo kết nới và giao

tiếp).
Ảo hóa là điển hình cho sự khác biệt chính giữa SDN và mạng truyền thớng.
Khi SDN ảo hóa toàn bợ mạng, nó sẽ tạo một bản sao của mạng vật lý và cho phép
cung cấp tài nguyên từ một vị trí tập trung. Mạng truyền thống, vị trí vật lý của mặt
phẳng điều khiển (nằm phân tán trên các thiết bị mạng) sẽ cản trơ khả năng quản trị
viên có thể kiểm soát l̀ng lưu lượng.
12


Cách so sánh khác: sự khác nhau mạng truyến thống & mạng SDN
mạng truyền thống
vân chuên dư
liêu va phân
điều khiên
phân thu thâp
va xử lí thông
tn
kha năng lâp
trình bơi các
ứng dụng

Đều tích hợp trong thiết bi
mạng
Được thưc hiên tât ca các
phân tử trong mạng
Không thê va, các mạng
phai được câu hình 1 cách
riêng lẻ va thủ công

mạng SDN

Phân điều khiên được tách riêng
khỏi thiết bi mạng va được chuyên
tếp đến 1 thiết bi được goi la bô
điều khiên
Được tâp chung xử lí ơ bô điều
khiên
Co thê va bô điều khiên tương tác
đến tât ca các thiết bi trong mạng

Ưu điểm và hạn chế SDN so với mạng IP
SDN:
o
o
o
o
o

Dựa vào SDN các nhà quản trị có thể kiểm soát 1 cách đơn giản
và hiệu quả
Cung cấp cơ chế điều khiển duy nhất đối với cơ sơ hạ tầng
mạng -> làm giảm bớt sự phức tạp trong quá trình xử lí
Có thể thay đổi các chính sách mạng để phát hiện sự xâm nhập
-> linh hoạt
Phân tách phần điều khiển và dữ liệu
Nhược điểm: về bảo mật, hacker tấn cơng được thì có thể truy
cập bất cứ đâu

IP:
o


Việc truy cập và thay đổi từ xa không thể thực hiện được, Các
nhà quản trị phải có quyền
13


o

Ḿn hack được phải có qùn truy cập vào phần cứng

Ưu điểm
-

Chi phí: do việc quản trị mạng tập trung và tự động nên dẫn đến vc tiết kiệm
chi phí trong SDN

-

Bảo mật: SDN bao gồm một bộ điều khiển cung cấp bảo mật cho toàn bộ
mạng . Bộ điều khiển này đảm bảo rằng các chính sách bảo mật và thông tin
phù hợp được thực hiện trong mạng
Tập trung hóa: SDN cho phép quản lý tập trung toàn bợ mạng, Tất cả các
thiết bị mạng có thể được giám sát và quản lý từ một vị trí trung tâm.
Khả năng mơ rợng: Cơ sơ hạ tầng của mạng có thể được thay đổi ngay lập
tức. Tất cả mà không cần mua và cấu hình tài ngun.
Tới ưu hóa: Tất cả phần cứng hiện có và phần cứng mới có thể được chỉ định
cho một mục đích cụ thể với việc sử dụng bợ điều khiển SDN. Do đó, nó
loại bỏ sự hạn chế của các thiết bị phần cứng khi nó được dành riêng cho
mợt mục đích duy nhất.

-


Nhược điểm
-

-

Độ trễ : Mọi thiết bị được sử dụng trên mạng đều chiếm mợt khơng gian trên
đó. Tớc đợ tương tác giữa các thiết bị và mạng phụ thuộc vào sớ lượng tài
ngun ảo hóa.
Bảo trì : SDN thiếu ơ khía cạnh bảo trì. Nó làm cho hầu như khơng thể quản
lý các thiết bị thực tế. Đặc biệt là trong khi nâng cấp mạng.
Sự phức tạp
Cấu hình: v iệc triển khai các giao thức SDN và bộ điều khiển không thể
được thực hiện bằng cách cấu hình từng giao thức.
Bảo mật thiết bị: SDN không sử dụng các bộ định tún và thiết bị chuyển
mạch thơng thường. Do đó, bảo mật đi kèm với chúng bị bỏ qua. Và có thể
dễ bị tấn cơng từ mới đe dọa bên ngoài.
Phần điều khiển mạng và chức năng vận chuyển dữ liệu
Kiến trúc này phân phâ điều khiển mạng (Control Plane) và chức năng
vận chuyển dữ liệu (Data Plane) điều này cho phép việc điều khiển mạng
có thể lập trình được dễ dàng và hạ tầng mạng vật lý độc lập với các ứng
dụng và dịch vụ mạng.
SDN tách độc lập 2 cơ chế hiện đang tồn tại trong thiết bị mạng: control
plane và data plane
14


openFlow nó tương tác giữa Dataplane và Control Plane
-


Phần điều khiển mạng (control plane) : Trong SDN, control plane được tách
ra từ các thiết bị vật lý và chuyển đến các bợ điều khiển

Bợ điều khiển này có thể nhìn thấy toàn bợ mạng lưới, và do đó cho phép các
kỹ sư mạng làm cho chính sách chuyển tiếp tối ưu dựa trên toàn bộ mạng. Các bộ
điều khiển 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.
Nhiệm vụ:
Chạy giao thức STP để ngăn chặn vịng lặp mong ḿn
Xây dựng bảng ARP
Chạy các giao thức: OSPF, BGP và xây dựng bảng định tuyến
Phần chức năng vận chuyển dữ liệu (Data Plane): vận chuyển lưu lượng dữ
liệu. nhận các gói tin từ cởng switch và gửi ra cởng khác
o Mơ/ đóng dữ liệu
o Thêm/ mơ các tag header
o Tìm đ/c MAC trong bảng table MAC để tìm đường đi
o Tìm kiếm địa chỉ IP trong bảng định tuyến
o
o
o

-

V. CÁC LỖI CẤP PHÉP NGUỒN
Ngày nay có một số lượng lớn các giấy phép mã nguồn mơ khác nhau. Tại thời
điểm này writing, gnu.org liệt kê tổng cộng 92 giấy phép phần mềm miễn phí.
Sự khác biệt đôi chút về quyền hoặc yêu cầu về việc sử dụng tên của người tạo
ra giấy phép hoặc các yêu cầu về việc tuân thủ luật xuất khẩu của Hoa Kỳ có thể là
mợt sớ sự khác biệt duy nhất giữa chúng. Các doanh nghiệp cung cấp mã nguồn
miễn phí trước đây đã làm như vậy với tên tổ chức của họ trong giấy phép, trong

đó bản thân tên có thể là điểm khác biệt cơ bản duy nhất giữa giấy phép của họ và
một giấy phép khác đã tồn tại.
Một mẫu số chung được chấp nhận của mã nguồn mơ là nó là mã ng̀n được
cung cấp miễn phí mà bạn có thể sử dụng và sửa đởi cho mợt nhóm mục đích xác
định. Có sẵn mã ng̀n mơ mà chỉ cho phép sử dụng phi thương mại. Chúng tôi tin
rằng điều này hạn chế đáng kể tác động mà phần mềm đó sẽ có, vì vậy chúng ta sẽ
không thảo luận thêm về vấn đề này ơ đây. Ngay cả khi việc sử dụng thương mại
được phép, tuy nhiên, có sự khác biệt đáng kể về các nghĩa vụ tiềm ẩn trong việc
sử dụng phần mềm đó.

15


Một số hạng mục chính của cấp phép nguồn mơ được sử dụng rộng rãi trong
thương mại ngày nay là GNU General Public License (GPL), kiểu BSD và
Apache. Có các tổ chức khác nhau chọn tham gia liệu một giấy phép đã cho có
thực sự là ng̀n mơ hay khơng. Chúng bao gồm Free Software Foundation (FSF)
và Sáng kiến Nguồn mơ. Không phải lúc nào họ cũng đồng ý.
GPL là một hình thức cấp phép cực kỳ phổ biến. Hệ điều hành Linux được phân
phới theo GPLX. Nó cho phép người dùng sao chép và sửa đổi phần mềm cho hầu
hết mọi mục đích. Cho nhieu các công ty, tuy nhiên, nó quá hạn chế trong mợt khía
cạnh chính. Nó kết hợp khái niệm copyleft theo đó nếu bất kỳ tác phẩm phái sinh
nào được phân phối, chúng phải được phân phối theo cùng một giấy phép. Từ một
thực tế quan điểm, điều này có nghĩa là nếu mợt cơng ty thương mại mơ rộng cơ sơ
mã nguồn mơ GPL để cung cấp mợt sớ chức năng mới mà nó muốn cung cấp cho
thị trường, các sửa đổi được thực hiện phải được cung cấp miễn phí cho cộng đồng
nguồn mơ theo các điều khoản GPL. Nếu tính năng được đề cập ơ đây thể hiện tài
sản trí tuệ cốt lõi là trọng tâm trong đề xuất giá trị của cơng ty đó, điều này hiếm
khi có thể chấp nhận được. Nếu chức năng được cung cấp bơi nguồn mơ GPL có
thể được sử dụng với ít trí tuệ được bở sung thì mã GPL có thể phù hợp trong các

sản phẩm thương mại. Đảm bảo rằng sự khác biệt này được duy trì rõ ràng có thể
gây ra những hậu quả lớn đối với việc định giá mà một công ty khơi nghiệp nhận
được từ các nhà đầu tư. Đối với điều này lý do, mã nguồn mơ GPL được sử dụng
một cách thận trọng trong ngành công nghiệp. Tuy nhiên, GPL vẫn là rộng rãi nhất
đã sử dụng giấy phép phần mềm miễn phí. Có GPL V.2 và GPL V.3 có phần hạn
chế hơn phiên bản đầu tiên.
Mơ hình cấp phép gia đình BSD dễ dàng hơn. Giấy phép kiểu này lần đầu tiên
được sử dụng cho Berkeley Software Distribution (BSD), mợt hệ điều hành giớng
Unix. Đã có một số các biến thể của giấy phép gốc này kể từ lần sử dụng đầu tiên,
do đó chúng tơi sử dụng ơ đây thuật ngữ BSD- family of licenses. Khơng giớng
như mã GPL, người dùng khơng có nghĩa vụ đóng góp các tác phẩm phái sinh trơ
lại ng̀n mơ cộng đồng. Điều này làm cho việc kết hợp mã nguồn mơ được cấp
phép BSD vào thương mại sẽ ít rủi ro hơn nhiều Mỹ phẩm. Trong một số phiên bản
của giấy phép kiểu này có mợt điều khoản quảng cáo. Đây là ban đầu được yêu cầu
xác nhận việc sử dụng mã UC Berkeley trong bất kỳ quảng cáo nào về sản phẩm.
Trong khi điều này yêu cầu đã bị loại bỏ trong các phiên bản mới nhất của giấy
phép BSD, vẫn còn nhiều các sản phẩm phần mềm được cấp phép với một hạn chế
tương tự. Một ví dụ về điều này là OPenSSL được sử dụng rộng rãi thư viện mã
hóa, yêu cầu xác nhận tác giả trong quảng cáo sản phẩm.
16


Giấy phép Apache là một dạng giấy phép dễ dàng khác dành cho mã nguồn mơ.
Giấy phép đã được phát triển bơi Apache Software Foundation (ASF) và được sử
dụng cho phần mềm do ASF sản xuất cũng như một số thực thể không phải ASF.
Phần mềm được cung cấp theo giấy phép Apache không bị hạn chế sử dụng ngoại
trừ yêu cầu rằng thông báo bản quyền và tuyên bố từ chối trách nhiệm phải được
duy trì trong chính mã ng̀n. Như thế này có tác đợng tới thiểu đến khả năng
thương mại hóa phần mềm như vậy, nhiều tở chức thương mại xây dựng các sản
phẩm ngày nay tự do kết hợp mã nguồn được cấp phép của Apache.

Giấy phép Cơng cợng Eclipse (EPL) có thể được xem như một sự thỏa hiệp
giữa copyleft mạnh mẽ các khía cạnh của GPL và giấy phép Apache thân thiện với
thương mại. Trong những trường hợp nhất định, sử dụng mã nguồn được cấp phép
EPL có thể dẫn đến nghĩa vụ đóng góp các sửa đởi của chính mợt người trơ lại
cợng đồng nguồn mơ. Tuy nhiên, đây không phải là một u cầu phở biến, vì vậy
phần mềm này thường có thể được các nhà phát triển đưa vào các sản phẩm thương
mại mà khơng có nguy cơ bị ḅc phải tiết lộ tài sản trí tuệ của riêng họ cho toàn
bợ cợng đờng ng̀n mơ. u cầu có hiệu lực khi các sửa đổi không phải là một
mô-đun phần mềm riêng biệt mà chứa một phần quan trọng của EPL được cấp
phép ngun bản và do đó là mợt tác phẩm phái sinh. Ngay cả khi yêu cầu phát
hành tiện ích mơ rợng về bản gớc khơng có hiệu lực, người dùng được yêu cầu cấp
giấy phép cho bất kỳ ai nhận được sửa đổi của họ đối với bất kỳ bằng sáng chế
người dùng có thể nắm giữ những sửa đởi đó.
Giấy phép Free and Open-Source Software (FOSS) của Đại học Stanford đáng
chú ý trong cách thức mà nó cố gắng giải quyết vấn đề chung với việc sử dụng
thương mại GPL được cấp phép mã nguồn do cung cấp copyleft của nó. Đợng lực
của Stanford trong việc phát triển khái niệm này là để tránh tình huống mà các nhà
phát triển ngần ngại phát triển các ứng dụng cho bộ điều khiển Beacon (ơ phần 9).
Do cách ứng dụng giao diện với bợ điều khiển Beacon, nếu nó được cấp phép theo
GPL mà khơng có ngoại lệ phần mềm nguồn mơ, các nhà phát triển như vậy sẽ có
nghĩa vụ đóng góp hoạt đợng như mã ng̀n mơ GPL. Giấy phép này dành riêng
cho bộ điều khiển Beacon, mặc dù khái niệm này có thể được áp dụng tổng quát
hơn. Về bản chất, Stanford muốn phát hành mã bộ điều khiển Beacon dưới điều
khoản của GPL. Phần mềm nguồn mơ chỉ định rằng người dùng mã phải tiếp tục
xử lý chính mã Beacon theo các điều khoản của GPL, nhưng mã họ viết dưới dạng
ứng dụng Beacon có thể được phát hành theo bất kỳ số lượng giấy phép phần mềm
nguồn mơ đã được phê duyệt.

17



VI. HỒ SƠ NGƯỜI DÙNG MÃ NGUỒN MỞ SDN
Khi đánh giá mức độ liên quan của nguồn mơ với nhu cầu SDN của tổ chức
riêng của một người, câu trả lời sẽ phụ tḥc nhiều vào vai trị mà tở chức mong
muốn trên sân chơi SDN. Để chắc chắn, những người chấp nhận SDN ban đầu hầu
như chỉ là các nhà nghiên cứu, nhiều người trong số họ đã làm việc trong môi
trường. Đối với những nhà nghiên cứu như vậy, việc duy trì tính linh hoạt và khả
năng liên tục sửa đổi mã luôn là điều tối quan trọng so với các mối quan tâm về hỗ
trợ hoặc bảo vệ sơ hữu trí tuệ. Đối với điều này lý do, bộ điều khiển OpenFlow mã
nguồn mơ và mã chuyển đổi đã và tiếp tục rất quan trọng trong các môi trường
nghiên cứu. Tương tự, một công ty khơi nghiệp hy vọng xây dựng một công tắc
hoặc bộ điều khiển OpenFlow mới sẽ thấy rất hấp dẫn khi tận dụng cơng việc hiện
có trong triển khai mã ng̀n mơ hiện có, miễn là điều đó khơng ngăn cản sự phát
triển và khai thác thương mại của chính công ty sơ hữu trí tuệ. Nếu một người là
nhà điều hành điện toán đám mây, hãy mày mị với bợ điều khiển OpenFlow ít
quan trọng hơn nhiều so với việc có mợt tổ chức hỗ trợ đáng tin cậy mà người ta có
thể gọi trong trường hợp có mạng thất bại.
Do đó, chúng tôi đề xuất ba danh mục lớn những người có khả năng sử dụng
phần mềm ng̀n mơ liên quan đến SDN:
• Nghiên cứu
• Nhà phát triển thương mại
• Nhà tổ chức mạng lưới
Giả sử rằng một phần mềm nguồn mơ nhất định đáp ứng một cách chức
năng các yêu cầu của người dùng, mỗi lớp người dùng này sẽ có mợt mới quan tâm
ghi đè khác nhau. Mợt nhà phát triển trong một quảng cáo doanh nghiệp sẽ tập
trung vào việc đảm bảo rằng họ không kết hợp bất kỳ nguồn mơ nào sẽ hạn chế
khả năng của công ty anh ấy hoặc cô ấy để khai thác sản phẩm của họ về mặt
thương mại và nó sẽ bảo vệ trí tuệ của họ bất động sản. GPL thường có vấn đề khi
ng̀n mơ sẽ được sửa đởi và các sửa đởi do đó phải được cơng bớ cơng khai theo
GPL. Nói chung, các nhà nghiên cứu có tính linh hoạt cao nhất và chỉ đơn giản

mong muốn rằng mã ng̀n có sẵn miễn phí và có thể được sửa đổi và phân phối
cho bất kỳ mục đích nào. Tuy nhiên, thông thường các nhà nghiên cứu cũng là
những người ủng hộ mạnh mẽ cho sự phát triển của ng̀n mơ và do đó, có thể
thích mợt giấy phép copyleft bắt ḅc người dùng đóng góp các sửa đởi của họ trơ
lại cộng đồng nguồn mơ. Cuối cùng, nhà khai thác mạng sẽ quan tâm nhất đến việc

18


duy trì mạng ơ trạng thái hoạt động và do đó sẽ tập trung vào cách sản phẩm ng̀n
mơ sẽ được hỡ trợ và mức đợ mạnh mẽ của nó.
Do bản chất phi thương mại cơ bản của mã nguồn mơ, nó sẽ ln là mợt
thách thức để xác định người chịu trách nhiệm khi lỗi xuất hiện. Điều này sẽ làm
phát sinh các cơng ty sẽ thương mại hóa hiệu quả nguồn mơ, nơi giá trị mà chúng
thêm vào không phải là sự phát triển của nhưng để cung cấp các bản phát hành và
cấu hình đã được thử nghiệm tốt cũng như bàn gọi hỗ trợ. Một vài đơn giản là các
nhà khai thác sẽ khơng cịn thói quen mua công nghệ cũ từ các NEM chính thống.
Nhà cung cấp NEM của họ có sử dụng mã ng̀n mơ hay không hầu như không
liên quan đến nhà điều hành vì họ thực sự đang mua thiết bị cộng với chính sách
bảo hiểm và điều quan trọng là NEM có được điều này Cơng nghệ. Mặt khác,
trong khi nhà điều hành đám mây có thể khơng ḿn chịu trách nhiệm hỗ trợ của
cơ sơ hạ tầng chuyển mạch của họ, các ứng dụng nguồn mơ, phần mềm kiểm tra
hoặc giám sát có thể phục vụ như ba điểm khơi đầu hữu ích cho các dự án được hỗ
trợ tại địa phương.
Về các dự án phần mềm được thảo luận trong chương này, một số ví dụ về
cách người dùng khác nhau các loại có thể sử dụng mợt sớ phần mềm bao gờm:
• Mợt cơng ty chuyển mạch phần cứng muốn chuyển đổi một công tắc kế thừa
thành một cơng tắc hỡ trợ OpenFlow có thể sử dụng mã chuyển đổi OpenFlow
được trình bày trong Phần 8 làm điểm bắt đầu.
• Mợt cơng ty ḿn cung cấp bợ điều khiển OpenFlow thương mại có thể bắt đầu

dự án của họ với một trong những bộ điều khiển OpenFlow mà chúng tôi liệt kê
trong Phần 9, thêm các tính năng vào nó và làm cứng mã.
• Nhà điều hành đám mây có thể sử dụng mợt ứng dụng SDN ng̀n mơ, chẳng
hạn như những ứng dụng để bắt đầu thử nghiệm công nghệ OpenFlow trước khi
quyết định đầu tư vào Công nghệ.
Khi chúng tôi xem xét một số danh mục khác nhau của các dự án phần mềm
trong các phần sau, đối với mỗi chúng tôi sẽ liệt kê danh sách nào trong sớ ba lớp
người dùng này có khả năng chấp nhận một phần mềm cung cấp nhất định. Chúng
tôi sẽ bây giờ cung cấp bản kiểm kê về một số mã nguồn mơ dành riêng cho SDN
được sử dụng bơi các nhà nghiên cứu, nhà phát triển, và các toán tử. Vì số lượng
các dự án nguồn mơ này khá lớn, chúng tơi nhóm chúng thành danh mục cơ bản
của công tắc, bộ điều khiển, điều phối, ứng dụng và mô phỏng và thử nghiệm đã
được mô tả trong hình 1. Chúng tơi tóm tắt các đóng góp mã nguồn mơ khác nhau
trong mỗi danh mục này trong một số bảng trong các phần sau. Chỉ trong những
19


trường hợp mà dự án cụ thể có đóng mợt vai trò quan trọng bất thường trong sự
phát triển của SDN, chúng tôi sẽ mô tả chi tiết hơn về nó.
VII. OPENFLOW SOURCE CODE

Hình 2: Đặc điểm của openFlow source

Bảng 1: Mô tả các bộ điều khiển mã nguồn mơ openFlow

Bảng 2: Thông tin chi tiết của các bộ điều khiển mã nguồn mơ openflow
Hình 2 cho thấy, cả thiết bị và bợ điều khiển đều có thể tận dụng việc triển
khai giao thức OpenFlow. Có nhiều triển khai mã nguồn mơ của OpenFlow.
20



Trong Bảng 2, chúng tôi cung cấp mô tả cơ bản về các triển khai có sẵn và
trong Bảng 1, chúng tôi liệt kê thông tin chi tiết liên quan đến nhà cung cấp mã,
loại giấy phép, mã nguồn mà nó được viết (nếu có liên quan) và lớp có khả năng
của người dùng. Chúng tôi đã chỉ định các lớp người dùng mục tiêu này bằng cách
sử dụng một số tiêu chí, bao gồm: (1) the nature of the license (bản chất của giấy
phép), (2) the maturity of the code (thời hạn sử dụng của mã) và (3) actual users
(người dùng thực tế).
OpenFlow Reference: cơ sơ mã tham chiếu theo dõi thông số kỹ thuật.
OpenFlow Faucet: triển khai mã nguồn của giao thức OpenFlow 1.0, được
sử dụng trong cả bộ điều khiển và công tắc.
OpenFlowJ: triển khai mã nguồn của giao thức OpenFlow. Cả Beacon và
Flow Visor đều kết hợp mã này, OpenFlowJ đáng chú ý ơ chỗ bộ điều khiển
Beacon, bản thân nó là ng̀n cung cấp mợt số triển khai bộ điều khiển khác, sử
dụng mã OpenFlowJ.

VIII. SWITCH IMPLEMENTATIONS (Thực hiện chuyển đổi)
Việc triển khai bộ chuyển mạch SDN ng̀n mơ được tóm tắt trong Bảng 3
và 4. Nhìn lại Hình 2. Việc triển khai switch nguồn mơ có khả năng áp dụng cho cả
việc triển khai thiết bị phần cứng OpenFlow cũng như các thiết bị chuyển mạch ảo
dựa trên phần mềm. Trong các đoạn sau, sẽ xét ba cách triển khai công tắc được
thảo luận rộng rãi nhất, Open vSwitch (OVS), Indigo và OpenSwitch, cũng như cơ
sơ mã điểm truy cập không dây OpenFlow duy nhất được liệt kê, Pantou.
8.1 OpenVswitch
Open vSwitch đôi khi được viết tắt là OVS như một công tắc ảo là triển khai
mã nguồn mơ hoàn chỉnh và hoàn thiện nhất về mặt chuyển mạch của triển khai
OpenFlow. OVS đã được sử dụng làm logic điều khiển bên trong các công tắc phần
cứng chính hãng, cũng như một công tắc ảo chạy trong mợt siêu giám sát để cung
cấp ảo hóa mạng. Trong bối cảnh thứ hai, nhà phát triển của OVS, Nicira, đã vận
chuyển OVS một thời gian với sản phẩm NVP của mình. Kể từ khi VMware mua

lại Nicira, sản phẩm NVP hiện được bán trên thị trường với tên gọi NSX. OVS sử
dụng OpenFlow để kiểm soát các luồng và OVSDB để cấu hình. OVS sử dụng
giao thức sFlow để lấy mẫu và giám sát gói. Mã đã được chuyển để hoạt động với
nhiều chipset chuyển mạch và do đó cũng tìm thấy mợt ngơi nhà chung trong một
số thiết bị chuyển mạch phần cứng.
21


Mục đích chính của OpenvSwitch là cung cấp lớp chuyển mạch cho mơi
trường ảo hóa phần cứng (Hardware virtualization), trong khi hỗ trợ nhiều giao
thức và tiêu chuẩn được sử dụng trong hệ thống chuyển mạch thông thường.

Bảng 3: Mô tả các triển khai mã nguồn mơ

Bảng 4: thông tin chi tiết của các mã nguồn mơ
Open Vswitch là gì?
-

Là phần mềm Swich mã nguồn mơ hỗ trợ giao thức openFlpow

-

Open vSwitch được sử dụng với các hypervisors để kết nối giữa các máy ảo
trên một host vật lý và các máy ảo giữa các host vật lý khác nhau qua mạng.

-

Open vSwitch cũng được sử dụng trên một số thiết bị chuyển mạch vật lý
(Ví dụ: switch Pica8)


-

Open vSwitch là một trong những thành phần quan trọng hỗ trợ SDN
(Software Defined Networking - Công nghệ mạng điều khiển bằng phần
mềm)
22


-

Tính năng:
o

Hỗ trợ VLAN tagging và chuẩn 802.1q trunking

o

Hỗ trợ STP (spanning tree protocol 802.1D)

o

Hỗ trợ LACP (Link Aggregation Control Protocol)

o

Hỗ trợ port mirroring (SPAN/RSPAN)

o

Hỗ trợ Flow export (sử dụng các giao thức sflow, netflow)


o

Hỗ trợ các giao thức đường hầm (GRE, VXLAN, IPSEC tunneling)

o

Hỗ trợ kiểm soát QoS

Kiến trúc của open vSwitch
Vswitchd: đọc cấu hình của Open vSwitch từ ovsdb-server
Ovsdb: Lưu các cấu hình bền vững , vận lưu trữ sau khi khơi động lại hệ thống
Ba khối thành phần chính của open vSwitch
-

-

-

-

-

Vswitchd: thực hiện chuyển đổi các luồng chuyển mạch và có thể được cấu
hình bởi bộ điều khiển SDN để chuyển tiếp các gói..
o Cơng cụ tương tác : ovs-dpctl, ovs-vsctl , ovs-appctl
ovsdb-server: Là database server của Open vSwitch , cho phép ovs-vswitchd
thực hiện các truy vấn đến cấu hình . hay nói cách khác Duy trì cơ sở dữ
liệu cấu hình cho cơng tắc,
o Cơng cụ tương tác: ovs-vsctl, ovsdb-client

kernel module (datapath): là các module tḥc kernel space, thực hiện cv
chuyển tiếp gói tin
Các cơng cụ tương tác:
ovs-vsctl: để quản lý các switch, nó tương tác với ovsdb-server để lưu cấu
hình vào database của Open vSwitch, thực hiện truy vấn và áp dụng các thay
đổi vào database tùy thuộc vào lệnh ta thực hiện.
ovs-appctl: là công cụ để quản lý ovs-vswitchd
ovs-dpctl: công cụ để cấu hình các switch kernel module
23


-

ovsdb-client : trao đổi với ovsdb-sever
ovsdb-tool : nếu muốn xử lý database trực tiếp không thông qua ovsdbserver

8.2 Indigo
Big Switch Networks cung cấp cơ sơ mã chuyển mạch Indigo theo giấy phép
công khai của Eclipse. Đây là một động thái tự nhiên của Big Switch với mong
muốn tạo ra một hệ sinh thái các thiết bị chuyển mạch phần cứng hoạt động tốt với
sản phẩm bộ điều khiển OpenFlow thương mại của mình Big Network Controller.
Giống như OVS, Indigo được nhắm mục tiêu để sử dụng trên cả công tắc vật
lý cũng như công tắc siêu giám sát OpenFlow cho mơi trường ảo hóa mạng. Đặc
biệt, mã này có thể được sử dụng để chuyển đổi công tắc lớp 2 hoặc 3 kế thừa
thành công tắc OpenFlow.
Indigo được tích hợp với ASICs của bợ chuyển mạch Ethernet, nó có thể
chuyển đổi các luồng theo mô hình OpenFlow ơ tốc độ dòng.
Chú ý Big Switch hiện đang tiếp thị phiên bản thương mại của Indigo có tên
là Switch Light.
Mợt điểm khác biệt khác giữa OVS và Indigo là Indigo được triển khai đặc

biệt để hỡ trợ OpenFlow, trong khi OVS có thể hỗ trợ các cơ chế điều khiển khác
như OVSDB.
OVS có hỡ trợ rợng rãi hơn cho các tính năng ảo hóa mạng liên kết và bao
gờm các đóng góp phong phú hơn từ cộng đồng nguồn mơ so với Indigo. Từ quan
điểm thiết lập tính năng, OVS dường như là một tập hợp các tính năng của Indigo.
Indigo là gì?
là một nền tảng phần mềm chuyển mạch mã nguồn mơ có thể thực
hiện như 1 cơng tắc ảo cho người giám sát
Indigo là một dự án mã nguồn mơ nhằm cho phép hỗ trợ OpenFlow
trên các thiết bị chuyển mạch vật lý và siêu giám sát.
Bật hỗ trợ cho OpenFlow trên các công tắc vật lý và siêu giám sát
Tốc độ cao cho các cổng tốc độ cao lên đến cổng gigabit bằng cách
tận dụng ASIC của bộ chuyển mạch Ethernet
24


Switch Light OS: một hệ điều hành SDN hoàn chỉnh dựa trên Open
Network Linux (ONL), một nỗ lực mã nguồn mơ trong Dự án Máy tính
Mơ.Switch Light VX: một tác nhân phần mềm không gian người dùng
cho các thiết bị chuyển mạch ảo dựa trên KVM bổ sung chức năng nâng cao
và cải thiện hiệu suất trên nhân Open vSwitch.
7.3 OpenSwitch
OpenSwitch là một cộng đồng mới do HP thành lập, bao gờm các đóng góp
từ Accton, Broadcom, Intel, VMware, Qosmos và Arista. OpenSwitch được phát
hành theo giấy phép Apache 2.0.
Các tính năng khác biệt của OpenSwitch
-

-


Nó là mợt nền tảng chuyển mạch lớp 2 và lớp 3 đầy đủ tính
năng.
Nó được thiết kế để trơ thành mơ-đun, có tính khả dụng cao và
được. xây dựng bằng các công cụ hiện đại cung cấp đợ tin cậy
cao hơn.
Nó ngun bản hỡ trợ OVSDB, OpenFlow và sFlow

Kiến trúc openSwitch: 2 phần OPX Application và OPX base
Các thành phần chính của OPX Base:
-

-

NAS (dịch vụ thích ứng mạng): Quản lý mức độ trừu tượng cao của ASIC
chuyển mạch, quản lý phần mềm trung gian liên kết các cổng vật lý với giao
diện Linux và điều chỉnh các lệnh gọi API gốc Linux (ví dụ: netlink) với
ASIC chuyển mạch
PAS(dịch vụ thích ứng nền tảng): Tóm tắt và tởng hợp cấp cao hơn của chức
năng được cung cấp bơi thành phần SDI
CPS(d vụ máy bay điều khiển)
SAI (Chuyển giao diện trưu tượng)
SDI(Giao diện thiết bị hệ thống): m ột API cung cấp mức độ trừu tượng thấp
của các thiết bị phần cứng nền tảng cụ thể (ví dụ: quạt, bộ nguồn, cảm
biến…)

25


×