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

Công nghệ mạng điều khiển bằng phần mềm và ứng dụng trong doanh nghiệp

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.97 MB, 85 trang )

HỌ VÀ TÊN TÁC GIẢ LUẬN VĂN

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

Nguyễn Kế Thực

CHUYÊN NGÀNH

TÊN ĐỀ TÀI LUẬN VĂN
CÔNG NGHỆ MẠNG ĐIỀU KHIỂN BẰNG PHẦN MỀM VÀ
ỨNG DỤNG TRONG DOANH NGHIỆP

LUẬN VĂN THẠC SĨ KỸ THUẬT
KỸ THUẬT TRUYỀN THÔNG
(ghi chuyên ngành của học vị được cơng nhận)

KHỐ
Hà Nội – Năm 2014
1


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------Nguyễn Kế Thực

CÔNG NGHỆ MẠNG ĐIỀU KHIỂN BẰNG PHẦN MỀM VÀ ỨNG DỤNG
TRONG DOANH NGHIỆP

Chuyên ngành : Kỹ Thuật Truyền Thơng



LUẬN VĂN THẠC SĨ KHOA HỌC
KỸ THUẬT TRUYỀN THƠNG

NGƯỜI HƯỚNG DẪN KHOA HỌC :
1. TS. Phạm Việt Thành

Hà Nội – Năm 2014
2


MỤC LỤC
1 Mở Đầu ............................................................................................................... 8
2 Kiến Trúc Software Defined Networking (SDN) ............................................... 9
2.1

Sự Cần Thiết Của Một Kiến Trúc Mạng Mới ............................................. 9

2.2

Giới Hạn Của Công Nghệ Hiện Tại........................................................... 11

2.3

Giới Thiệu Tổng Quan Về Software-Define Networking ......................... 12

3 Tập Trung Hóa và Phân Tán Luồng Điều Khiển và Dữ Liệu .......................... 19
3.1

Luồng Điều Khiển - Control Plane ............................................................ 19


3.2

Luồng Dữ Liệu- Data Plane ....................................................................... 22

3.3

Tại Sao Cần Tách Biệt Giữa Control Plane Và Data Plane ....................... 25

3.4

Vấn Đề Mở Rộng ....................................................................................... 26

3.5

Sự Phát Triển Và Tính Ổn Định Của Mạng .............................................. 27

3.6

Phân Tán Control Plane ............................................................................. 29

3.7

Thời Gian Hội Tụ....................................................................................... 30

3.8

Tập Trung Hóa Control Plane.................................................................... 30

4 Giao Thức OpenFlow ....................................................................................... 32

4.1

Mô Tả Tổng Quan Giao Thức Openflow .................................................. 32

4.2

Bảng OpenFlow Và Nguyên Lý Đường Ống Dẫn (pipeline) .................... 35

4.3

Bảng Nhóm (Group Table) ........................................................................ 37

4.4

Phương Thức Kết Hợp Với Trường Của Gói Tin: .................................... 38

4.5

Các Chỉ Thị (Instructions) ......................................................................... 44

4.6

Tập Hành Động (Action Set) ..................................................................... 44

4.7

Danh Mục Hành Động (Action List) ......................................................... 45

4.8


Hành Động (Action) .................................................................................. 46
3


4.9

OpenFlow Channel .................................................................................... 49

4.9.1 Controller-to-Switch: ............................................................................. 50
4.9.2 Asynchronous: ....................................................................................... 50
4.9.3 Symmetric: ............................................................................................ 50
4.9.4 Quá trình thiết lập kết nối ...................................................................... 51
4.9.5 Kết nối gián đoạn (Connection Interruption) ........................................ 51
4.9.6 Mã hóa (Encryption).............................................................................. 52
4.9.7 Xử lý bản tin (Message Handling) ........................................................ 52
4.9.8 Thứ tự xử lý ........................................................................................... 53
4.10

Các Bản Tin Cập Nhật Flow Table: ....................................................... 54

4.11

Loại Bỏ Flow Entry ................................................................................ 57

5 Triển khai SDN trong mạng IP ......................................................................... 58
5.1

Triển Khai SDN Trong Mạng LAN Của Doanh Nghiệp ........................... 58

5.1.1 Những thách thức đặt ra trong mạng LAN của doanh nghiệp .............. 58

5.1.2 Áp dụng SDN Open Flow trong mạng LAN ......................................... 61
5.2

Công Cụ Cisco onePK Và Ứng Dụng Trong Doanh Nghiệp .................... 66

5.2.1 Giới thiệu ............................................................................................... 66
5.2.2 Ứng dụng onePK để tối ưu hóa định tuyến ........................................... 73
5.2.3 Ứng dụng onePK để đảm bảo chất lượng dịch vụ động (Dynamics
QoS)……… ……………...…………………………………………………………77
5.2.4

Tập trung quản trị chính sách truy nhập (Access Control Lists-ACL) 80

6 Kết Luận ........................................................................................................... 83
7 Tài liệu tham khảo ............................................................................................ 85

4


Danh mục hình vẽ:
Hình 1: Mơ hình phân lớp SDN ........................................................................................ 14
Hình 2: Kiến trúc SDN ..................................................................................................... 15
Hình 3: Mơ hình Control Plane và Data Plane trong một mạng thơng thường ................. 21
Hình 4: Thứ tự xử lý gói tin trong một Router truyền thống ............................................ 24
Hình 5: Control Plane và Data Plane trong một thiểt bị mạng .......................................... 26
Hình 6: Các thành phần trong một thiết bị mạng ............................................................. 28
Hình 7: Các thành phần trong OpenFlow .......................................................................... 33
Hình 8: Hoạt động của xử lý đường ống dẫn .................................................................... 36
Hình 9: Lưu đồ cơ chế kết hợp .......................................................................................... 39
Hình 10: Thứ tự kiểm tra kết hợp gói tin........................................................................... 42

Hình 11: Các dữ liệu thống kê ........................................................................................... 43
Hình 12: Các tùy chọn của Set Fields ............................................................................... 49
Hình 13: Kiến trúc mạng doanh nghiệp theo mơ hình cũ ................................................ 60
Hình 14: Mơ hình SDN cho doanh nghiệp ........................................................................ 63
Hình 15: onePK toolkit ...................................................................................................... 67
Hình 16: Cấu trúc của onePK ............................................................................................ 68
Hình 17: Kiến trúc onePK theo thiết bị ............................................................................. 69
Hình 18: Mơ hình Process Hosting ................................................................................... 70
Hình 19: Mơ hình Blade Hosting ...................................................................................... 71
Hình 20: Mơ hình End-Node Hosting ............................................................................... 72
Hình 21: Giao diện Cisco XNC sử dụng onePK ............................................................... 72
Hình 22: Ví dụ một mạng doanh nghiệp ........................................................................... 74
Hình 23: Mơ hình mạng định tuyến đường đi dựa trên độ trễ........................................... 75
Hình 24: Bảng định tuyến sau khi dùng Controller để thực thi chức năng định tuyến ..... 77
Hình 25: Ảnh hưởng của mơi trường đến băng thơng....................................................... 78
Hình 26: Nhiễu làm cho tốc độ giảm xuống dưới 10Mb/s ................................................ 79
Hình 27: Đoạn mã chương trình thực hiện QoS động ....................................................... 80
5


Hình 28: Các cấu hình ACL truyền thống ......................................................................... 81
Hình 29: Mơ hình quản trị tập trung ACL ......................................................................... 82

6


Danh mục từ ngữ viết tắt
Viết Tắt

Viết Đầy Đủ


IP

Internet Protocol

SDN

Software

Ghi Chú

Define

Networking
CN

Công Nguyên

CD

Compact Disk

ACL

Access Control List

VLAN

Virtual Local Area Network


QoS

Quality Of Services

IT

Information Technology

RIB

Routing Information
Base
Forwarding Information
Base
Media Access Control
Address

FIB
MAC

TOS/COS

Type Of Services/ Class Of
Services

API

Application Programming
Interface


ONF

Open

Networking

Foundation

7


1 Mở Đầu
Mạng IP (Internet Protocol) ra đời đã đặt dấu mốc cho việc phát triển của mạng
chia sẻ. Trong những năm gần đây, mạng IP đã không ngừng phát triển minh chứng bằng
sự đa dạng dịch vụ của Internet, mạng IP doanh nghiệp đã trở thành công cụ sản xuất
quan trọng, dịch vụ điện toán đám mây (Cloud Computing Services), nền tảng ảo hóa
(Virtualization), cơng nghệ băng rộng và khơng dây giúp người dùng có thể làmviệc ở
mọi lúc mọi nơi bằng những phương tiện cá nhân như smart phone, tablet, laptop…Điều
này khiến cho dữ liệu truyền tải và xử lý ngày càng lớn, yêu cầu bảo mật càng cao, việc
quản trị ngày càng phức tạp, việc đáp ứng nhanh/linh hoạt bị hạn chế,… Trong khi, kiến
trúc mạng IP truyền thống tỏ ra không đáp ứng được như cầu của doanh nghiệp, nhà
cung cấp dịch vụ cũng như người dùng đầu cuối. Để khắc phục những tồn tại trên,
Software Define Networking (SDN)-Công nghệ mạng điều khiển bằng phần mềm đã ra
đời.
Trong kiến trúc SDN, phần điều khiển và phần chuyển tiếp dữ liệu được tách
bạch, hạ tầng mạng được tập trung hóa và trừu tượng hóa cho những ứng dụng lớp trên.
Kết quả là doanh nghiệp và nhà cung cấp có thể có được khẳ năng lập trình, tự động hóa
và điều khiển mạng. Khơng những thế, chúng cịn cho phép xây dựng những mạng có
tính linh hoạt và khẳ năng mở rộng cao sẵn sàng đáp ứng nhu cầu phát triển của doanh
nghiệp.

Luận văn sẽ đi sâu phân tích những thách thức mà doanh nghiệp gặp phải với
mạng IP truyền thống và cách thức giải quyết vấn đề đó, nghiên cứu kiến trúc SDN, cụ
thể là đặc tả của giao thức OpenFlow và ứng dụng của SDN trong doanh nghiệp.

8


2 Kiến Trúc Software Defined Networking (SDN)
2.1 Sự Cần Thiết Của Một Kiến Trúc Mạng Mới
Sự bùng nổ của thiết bị di động và nội dung số, công nghệ ảo hóa máy chủ, sự ra
đời của dịch vụ điện tốn đám mây (cloud computing services) là những xu hướng khiến
kiến trúc mạng truyền thống cần được xem xét lại. Nhiều mạng thơng thường hiện nay
được xây dựng theo mơ hình phân cấp với những lớp Switch chuẩn Ethernet được sắp
xếp theo cấu trúc cây. Thiết kế này chỉ phù hợp với mơ hình điện tốn khách-chủ (client
server), khơng thể đáp ứng được nhu cầu trong môi trường trung tâm dữ liệu (datacenter)
của doanh nghiệp cũng như nhà cung cấp mạng. Một số vấn đề nảy sinh dẫn đến nhu cầu
cần có kiến trúc mạng mới:
- Mơ hình lưu lượng thơng tin đang thay đổi: Bên trong trung tâm dữ liệu
của doanh nghiệp, mơ hình lưu lượng thơng tin dữ liệu đã thay đổi đáng kể. Trái
ngược với mơ hình ứng dụng client –server nơi mà lưu lượng thông tin chỉ xảy ra
giữa client và server thì ứng dụng ngày nay còn truy nhập dữ liệu từ những máy
chủ và cơ sở dữ liệu khác, tạo ra sự rắc rối về mặt trao đổi thơng tin từ máy tính
đến máy tính (từ đông sang tây) trước khi trả về cho người dùng (từ nam sang
bắc). Đồng thời, bản thân người dùng cũng làm thay đổi các mơ hình lưu lượng
thơng tin qua việc họ truy nhập đến nhiều thông tin chung từ bất cứ thiết bị nào
(mobile, laptop, tablet...), từ bất cứ đâu (nội bộ hay từ internet). Cuối cùng là
những ứng dụng private cloud, public cloud... đã làm gia tăng thêm lưu lượng
thông tin trong mạng.
- Những khách hàng của IT: Người dùng ngày càng có nhu cầu sử dụng
các thiết bị di động cá nhân trong công việc như Smartphones, tablet, notebooks

để truy nhập tới mạng của doanh nghiệp. Dưới sức ép này, người quản trị mạng

9


cần có biện pháp để thích nghi với sự hiện diện của những thiết bị cá nhân trong
khi vẫn phải bảo vệ dữ liệu chung của doanh nghiệp.
- Sự phát triển của dịch vụ điện toán đám mây: Các doanh nghiệp hiện
nay luôn muốn sử dụng các dịch vụ điện toán đám mây (Cloud) hoặc là cung cấp
các dịch vụ đám mây riêng (Private Cloud) dẫn đến sự gia tăng số lượng các dịch
vụ. Khi đó các đơn vị liên quan có nhu cầu truy nhập đến các ứng dụng của họ
trong khi vẫn phải hạn chế họ ở các ứng dụng khác. Điều này gây áp lực lên IT
cần phải đảm bảo một môi trường mạng với mức độ bảo mật cao, yêu cầu đáp
ứng và hệ thống kiểm tra cùng với nhưng biến động của doanh nghiệp như tái cơ
cấu tổ chức, hợp nhất và sát nhập. IT cần những cơng cụ có thể cấp phát tài ngun
tính tốn, lưu trữ và mạng để có thể triển khai các dịch vụ Cloud một các nhanh
nhất và mang tính linh hoạt cao.
- Cần nhiều băng thông hơn cho Big data: Với dữ liệu của Big data thì
yêu cầu xử lý dữ liệu song song trên hàng nghìn servers và tồn bộ các server này
cần có các kết nối đến nhau. Do đó yêu cầu mạng cần có năng lực truyền tải lớn
hơn. Người quản trị cũng cần có cơng cụ để có thể mở rộng năng lực của mạng
trong khi vẫn phải duy trì các kết nối giữa các server đang chạy. Theo thống kê
trong một ngày 230 triệu tweets, 2.7 tỷ comments to FaceBook, 86400 giờ video
được tạo ra trên YouTube. Thư viện Alexandria (thế kỷ 3 trước CN) chứa toàn bộ
kiến thức của loài người. Ngày nay, lượng thơng tin trên tồn thế giới (khoảng
120 exabyte) đủ để chia cho mỗi đầu người một lượng nhiều gấp 320 lần lượng
thông tin của thư viện Alexandria. Nếu ghi 120 exabyte (1 EB= 1 tỷ TB) vào đĩa
CD và xếp chúng lên nhau, sẽ có 5 chồng CD và mỗi chồng đều chạm tới mặt
trăng.


10


2.2

Giới Hạn Của Công Nghệ Hiện Tại
Để đáp ứng nhu cầu của doanh nghiệp thì thực sự là khơng thể với kiến trúc mạng

truyền thống bởi những hạn chế của công nghệ mạng hiện tại:
- Sự phức tạp dẫn đến chậm thay đổi: Công nghệ mạng được xem như
một tập rời rạc những giao thức được thiết kế để kết nối những máy tính với nhau
qua một khoảng cách, tốc độ và mơ hình bất kỳ. Để đáp ứng nhu cầu doanh
nghiệp, trong những thập kỷ trước ngành công nghiệp mạng đã phải phát triển
những giao thức để giao nhận với hiệu năng, độ tin cậy, tốc độ, và tính bảo mật
cao hơn. Các giao thức được phát triển có xu hướng cơ lập mà khơng có bất kỳ
sự trừu tượng hóa. Hệ quả là một trong những giới hạn lớn nhất của hệ thống
mạng ngày nay là sự phức tạp. Ví dụ, để thêm mới hoặc di chuyển một thiết bị
trong mạng, IT phải can thiệp vào nhiều thiết bị như Switch, Router, Firewall,...và
cập nhật ACLs (Access Control List), VLAN, cấu hình QoS và những giao thức
khác trong cơng cụ quản trị. Ngồi ra, mơ hình mạng, chủng loại thiết bị mạng,
phần mềm ứng dụng cũng cần được xem xét. Sự phức tạp này hoàn toàn trái
ngược với bản chất ln biến động của mơi trường ảo hóa (Virtualization) trên
máy chủ nơi mà các kết nối giữa các server vật lý được thay bằng kết nối giữa các
máy ảo. Luồng thông tin trao đổi được diễn ra giữa các ứng dụng trên máy ảo.
Việc di chuyển để tối ưu cũng như cân bằng tải giữa các máy ảo làm cho luồng
thơng tin ln thay đổi. Một ví dụ khác với các doanh nghiệp hoạt động trong môi
trường IP hội tụ đa dịch vụ như Voice, video và data thì khi bổ sung một thiết bị
mạng mới thì người quản trị IT phải cấu hình lại từng thiết bị riêng lẻ, tinh chỉnh
tham số như băng thông, chất lượng dịch vụ QoS cho từng phiên, từng ứng
dụng...Vì bản chất phức tạp như vậy, hạ tầng mạng hiện tại không thể thay đổi

một cách linh hoạt để tương thích với sự thay đổi về lưu lượng, ứng dụng, và yêu
cầu của người dùng.

11


- Quản trị khó khăn: Để cài đặt một chính sách mạng, IT cần phải cấu hình
hàng nghìn thiết bị và sử dụng nhiều kỹ thuật khác nhau. Ví dụ như mỗi khi có
một máy ảo được đưa vào sử dụng, có thể mất hàng giờ thậm chí hàng vài ngày
để cấu hình ACL qua tồn mạng. Tính chất phức tạp của mạng ngày nay làm cho
nó rất khó có thể cài đặt các quyền truy nhập, bảo mật, QoS và những chính sách
khác để tăng khẳ năng di chuyển của người dùng.
- Khó có thể mở rộng: Cùng với nhu cầu phát triển nhanh của Datacenter,
hệ thống mạng cần phải được mở rộng. Tuy nhiên, hệ thống mạng đã trở nên quá
phức tạp với việc đưa thêm ngày càng nhiều thiết bị vào. Tất cả các thiết bị đó
cần được quản trị và cấu hình. Do đó IT sẽ gặp rất nhiều khó khăn trong vận hành
mạng. Mặt khác để mở rộng mạng thì IT dựa vào năng lực và dự báo lưu lượng
của các kết nối để đưa ra phương án nâng cấp và mở rơng. Việc đó khơng phải
dễ với một datacenter sử dụng ảo hóa làm cho mơ hình lưu lượng gần như khơng
thể dự đốn được. Các tập đoàn khổng lồ như Google, Yahoo, Facebook ... đang
phải đối mặt với những thách thức này. Việc mở rộng nếu có thể thực hiện thì sẽ
mất nhiều thời gian và chi phí vì với cơng nghệ mạng hiện tại thì khơng có một
cơng cụ nào tự động hóa hay trợ giúp cho q trình mở rộng mạng.
- Phụ thuộc chủng loại thiết bị mạng: Nhà cung cấp và doanh nghiệp ln
tìm kiếm các thiết bị mạng có năng lực mới cao hơn và đáp ứng nhanh nhu cầu
thay đổi của doanh nghiệp. Tuy nhiên, vấn đề gặp phải là chủng loại thiết bị của
các hãng khác nhau dẫn đến vấn đề tương thích. Ngay cả khi sử dụng cùng loại
sản phẩm nhưng doanh nghiệp vẫn gặp phải vấn đề tương thích giữa dịng cũ và
mới. Ngun nhân là thiếu một chuẩn mở chung cho các thiết bị mạng.


2.3 Giới Thiệu Tổng Quan Về Software-Define Networking

12


Software Defned Networking (SDN) là một kiến trúc mạng mới tách biệt phần
điều khiển mạng (network control) với phần chuyển tiếp (forwarding). Phần điều khiển
mạng là phần có thể lập trình trực tiếp được. Trước đây phần điều khiển mạng được gắn
chặt với từng thiết bị mạng riêng biệt. Nhưng với SDN, các thiết bị đầu cuối để trừu
tượng hóa cho những ứng dụng và dịch vụ mạng. Phần điều khiển mạng được xem như
một thực thể ảo hoặc logic.
Hình dưới mô tả một kiến trúc logic của SDN. Phần mạng thông minh (Network
Intellegence) về logic được tập trung trong phần điểu khiển SDN. Phần điều khiển này
duy trì một bức tranh toàn cảnh về mạng. Kết quả là mạng sẽ xuất hiện với các ứng dụng
như một thực thể switch đơn. Với SDN, doanh nghiệp và nhà cung cấp khơng cịn phụ
thuộc vào chủng loại thiết vị, mạng được điều khiển qua một điểm logic duy nhất. Do
đó, nó đơn giản đi rất nhiều cho việc thiết kế và vận hành mạng. SDN tự nó cũng làm
cho các thiết bị mạng trở nên đơn giản hơn do không cần phải hiểu và xử lý hàng ngàn
giao thức nữa mà chỉ thực hiện những chỉ dẫn từ phần điều khiển SDN.

13


Hình 1: Mơ hình phân lớp SDN
Có lẽ điều quan trọng nhất là phần điều khiển SDN là phần mềm và người vận
hành có thể cấu hính bằng cách lập trình dựa trên những đối tượng mạng đơn giản thay
vì code hàng nghìn dịng lệnh trên hàng nghìn thiết bị mạng. Thêm nữa, người vận hành
có thể thay đổi hoạt động của mạng một cách real-time và triển khai những ứng dụng
mới trong vài giờ thay vì vài ngày (hay tuần) như hiện nay. Bằng việc tập trung trạng
thái mạng trong phần điều khiển, SDN cho phép người vận hành mạng có thể cấu hình

mạng, quản trị, bảo mật và tối ưu tài nguyên mạng tự động qua những chương trình phần
mềm SDN. Ngồi ra, họ có thể tự viết những chương trình SDN của riêng họ mà khơng
phải đợi những tính năng mới được đưa ra bởi nhà sản xuất như hiện nay.
Khi trừu tựơng hóa mạng, kiến trúc SDN hỗ trợ một tập các API để có thể cài đặt
các dịch vụ mạng thông thường như Routing, Multicast, Security, Access Control, băng
thông, traffic engineering, QoS, tối ưu tài nguyên xử lý, lưu trữ, năng lượng sử dụng và
14


tồn bộ chính sách. Ví dụ kiến trúc SDN có thể định nghĩa dễ dàng và áp đặt một chính
sách phù hợp giữa mạng có dây và khơng dây trong mạng LAN của doanh nghiệp.
Cũng như vậy SDN có thể quản lý tồn bộ mạng thơng qua hệ thống cơng cụ thiết
kế và cấu hình. Open Networking Foundation (ONF) đang nghiên cứu các chuẩn mở
API để có thể quản trị được thiết bị mạng của nhiều hãng. Điều này mở ra khả năng cấp
phát tài nguyên động theo yêu cầu, dịch vụ tự cấu hình, ảo hóa mạng thực sự và bảo mật
cho các dịch vụ đám mây. Do đó, với những API mở giữa phần điều khiển SDN và lớp
ứng dụng, các ứng dụng sẽ chạy trên hạ tầng mạng được trừu tượng hóa, sử dụng các
dịch vụ và năng lực của mạng mà không phụ thuộc vào mạng được triển khai theo mơ
hình như thể nào.

Hình 2: Kiến trúc SDN

15


Mục tiêu của SDN là cung cấp một giao diện mở cho phép phát triển bằng phần
mềm để điều khiển kết nối trong mạng và điều khiển luồng dữ liệu qua mạng kèm theo
sự xem xét và hiệu chỉnh những luồng dữ liệu đó nếu cần. Kiến trúc SDN chia thành 3
lớp: lớp dữ liệu (Data plane), lớp điều khiển (Control Plane), lớp ứng dụng (Application
Plane). Trong đó lớp thấp nhất là lớp dữ liệu gồm các thành phần của mạng (Network

Element). Mỗi thành phần mạng gồm một Control-Data-Plane Interface (CDPI) Agent
để giao tiếp với lớp điều khiển. CDPI agent cung cấp các thông tin về trạng thái, khẳ
năng của mạng, thông báo các sự kiện xảy ra trong mạng, thông kê,...cho lớp điều khiển.
Trên cùng là lớp ứng dụng, giao tiếp với lớp điều khiển thông qua tập lệnh NorthBound
Interface (NBI) Drivers. Ngồi ba lớp trên kiến trúc cịn có phân hệ quản trị chịu trách
nhiệm thiết lập, điều khiển đường đi của dữ liệu (SDN datapath), cấu hình chính sách
được đưa ra bởi lớp ứng dụng. Một điểm đặc biệt là kiến trúc SDN còn cho phép tồn tại
đồng thời hai 2 hệ thống mạng sử dụng SDN và hệ thống mạng truyền thống (non-SDN).
Điều này đảm bảo hệ thống mạng có thể vẫn hoạt động tốt ở thời kỳ giao thời.
Thành phần kiến trúc:
Dưới đây là định nghĩa của những thành phần trong SDN:
- SDN Application (SDN App): là những chương trình có thể trực tiếp
truyền đạt các yêu cầu mạng và những xử lý cần thiết cho SDN Controller thông
qua NBI. SDN App gồm một ứng dụng SDN logic và một hoặc nhiều NBI drivers.
- SDN Controller: là một thực thể tập trung về mặt logic chịu trách nhiệm
chuyển đổi những yêu cầu từ SDN App tới SDN Datapath và cung cấp cho SDN
App một cái nhìn tổng thể về tồn mạng gồm trạng thái, thơng kê, và sự kiện.
SDN Controller gồm một hay nhiều NBI Agents, SDN Control Logic và CDPI
Driver.
- SDN Datapath: là một thiết bị mạng logic. Nó có khẳ năng điều khiển phân
hệ forwarding và xử lý dữ liệu. SDN Datapath có thể gồm tồn bộ hoặc một nhóm
16


những tài nguyên vật lý. Về mặt kiến trúc nó gồm một CDPI Agent và một tập
một hoặc nhiều thành phần forwarding và chức năng xử lý lưu lượng dữ liệu. Một
hoặc nhiều Datapath có thể được chứa trong một thiết bị mạng vật lý gồm tài
nguyên thông tin và quản lý. Một SDN Datapath cũng có thể được định nghĩa qua
nhiều thiết bị mạng vật lý.
-


SDN Control to Data-plane Interface (CDPI) là giao tiếp được định nghĩa

giữa một SDN Controller và một SDN Datapath. Nó cung cấp những thành phần
điều khiển lập trình nhỏ nhất như forwarding, khẳ năng quảng bá, khẳ năng báo
cáo thống kê, thông báo các sự kiện. CDPI được cài đặt dưới dạng mở và độc lập
với nhà cung cấp.
- SDN Northbound Interfaces (NBI): là giao tiếp giữa SDN App và SDN
Controller và thường cung cấp một cái nhìn về tồn mạng và cho phép trực tiếp
truyền những yêu cầu của lớp trên. Điều này có thể xảy ra ở mức trừu tượng và
qua một tập các chức năng khác nhau.
- Interface Drivers và Agent: Mỗi interface được cài đặt bởi 1 cặp Driveragent, Agent đại diện như là phía nam, đáy, hay phía hạ tầng cịn driver đại diện
cho phía bắc, đỉnh, hoặc lớp ứng dụng.
- Management và Admin: quản trị những tác vụ tĩnh như quản lý quan hệ
doanh nghiệp giữa bên provider và client, gán tài nguyên tới client, cài đặt thiết
bị vật lý, điều phối kết nối và xác thực giữa các thực thể logic và vật lý.
Ba nguyên lý chính của kiến trúc SDN, ứng dụng có thể nhận biết khẳ năng của
mạng, ngược với mạng truyền thống:
- Ứng dụng truyền thống chỉ gián tiếp mô tả yêu cầu mạng, thường phải có
can thiệp của con người trong một số bước xử lý ví dụ như đàm phán xem có đủ
tài nguyên và chỉnh sửa các chính sách để hỗ trợ ứng dụng.
- Mạng truyền thống ví dụ như internet và những dịch vụ của nó như Web,
Media streaming...khơng đưa ra cách để diễn tả hoàn toàn yêu cầu của người dùng
17


ví dụ như thơng lượng, trễ, biến đổi trễ hay tính sẵn sàng. Header của gói tin có
thể mạng thơng tin về yêu cầu của độ ưu tiên, nhưng nhà cung cấp thường khơng
trust những gì được đưa ra trong gói tin. Do đó, một vài nhà mạng đã cố gắng
can thiệp vào những yêu cầu này như việc phân tích lưu lượng. Điều này làm tăng

chi phí và sai lệch yêu cầu của người dùng. SDN đưa ra khẳ năng một người
dùng có thể hồn tồn xác định những yêu cầu của họ tùy theo hoàn cảnh.
- Mạng truyền thống không cung cấp những thông tin về trạng thái của mạng
với các ứng dụng đang sử dụng nó.
Control Plane là một thực thể tập trung về mặt logic. SDN controller tổng hợp
trạng thái về mạng cho các ứng dụng và chuyển đổi nhưng yêu cầu lớp ứng dụng thành
những yêu cầu ở mức thấp.
Control plane không phải là thực thể tập trung về vật lý. Để đáp ứng yêu cầu về
hiệu năng, độ tin cậy, khẳ năng mở rộng Control Plane có thể được phân tán để nhiều
control plane cộng tác để cùng điều khiển và phục vụ một ứng dụng.
Quyết định điều khiển được làm trên mức global của mạng thay vì phân tán trong
mỗi thiết bị riêng rẽ.
SDN controller có thể hồn tồn điều khiển SDN Datapath để giới hạn lưu lượng.
Do đó khơng có sự tranh chấp giữa những thành phần điều khiển. Tài nguyên mạng được
lập lịch trước.

18


3 Tập Trung Hóa và Phân Tán Luồng Điều Khiển và Dữ Liệu
Vì kiến trúc SDN dựa trên Luồng Điều Khiển - Control Plane và Luồng Dữ Liệu
- Data Plane nên trong phần này sẽ đi sâu nghiên cứu cấu trúc và hoạt động của Control
Plane và Data Plane.

3.1

Luồng Điều Khiển - Control Plane
Ở mức cao, Control Plane thu thập một tập dữ liệu định tuyến được sử dụng để

tạo ra bảng chuyển tiếp (forwarding table). Sau đó các Data plane sẽ sử dụng bảng này

để thực hiện chuyển tiếp gói tin dữ liệu giữa cổng vào và ra trên mỗi thiết bị mạng. Tập
dữ liệu định tuyến gồm các thơng tin về tồn bộ mơ hình của mạng (network topology)
được lưu trong bảng dữ liệu định tuyến gọi là RIB (Routing Information Base). RIB luôn
được cập nhật và giữ ổn định (consistent) qua việc trao đổi thông tin với các Control
Plane khác. Bảng chuyển tiếp (Forwarding Table) được lưu trong cơ sở dữ liệu chuyển
tiếp gọi là FIB (Forwarding Information Base). FIB thường được sao chép từ Control
Plane xuống Data Plane trong một thiết bị mạng. FIB được khởi tạo mỗi khi RIB được
nhận ra là đã ở trạng thái ổn định. Để thực hiện công việc này, thực thể điều khiển phải
có hiểu biết về tồn bộ mạng. Thơng tin về tồn mạng có thể được học qua việc theo dõi
trạng thái của mạng hoặc tạo nên từ những thông tin được thu thập từ việc trao đổi với
các Control Plane khác bằng việc sử dụng các giao thức định tuyến động, tĩnh hoặc kết
hợp của hai giao thức.
Những kỹ thuật của Control Plane và Data Plane được mơ tả trong hình 3. Đó là
ví dụ về hoạt động của một mạng gồm nhiều Switch kết nối với nhau. Trong hình vẽ
gồm hai switch là A và B cùng hai thành phần là Control Plane và Data Plane. Theo đó
những gói tin nhận được trong Control Plane ở bên trái sẽ được chuyển sang Switch B ở
bên phải. Trong mỗi phần, chú ý rằng Control Plane và Data Plane được tách biệt hồn
tồn. Control Plane thì được thực thi trong Card hay bộ vi xử lý của riêng nó. Cịn Data

19


Plane được thực thi trong Card/bộ vi xử lý khác. Nhưng cả hai được chứa trong cùng
một thiết bị.
Giả sử khi gói tin đi vào cổng của Switch trong Card Data Plane, địa chỉ MAC
trong gói tin chưa hề được biết đến, nó sẽ được chuyển tiếp lên Control Plane của Switch.
Tại đây sẽ diễn ra quá trình học địa chỉ MAC, xử lý, chuyển tiếp đi. Nó tương tự như
việc xử lý các bản tin định tuyến trong các giao thức định tuyến động (ví dụ như
OSPF…). Một khi gói tin được đưa đến Control Plane, thơng tin trong gói tin sẽ được
xử lý và có thể kết quả là cập nhật cơ sở dữ liệu RIB và đồng thời cũng gửi một bản tin

cảnh báo về sự cập nhật này tới các lân cận của nó (ví dụ một đường đi mới đã được
học…).
Khi RIB đã ổn định hay hội tụ thì bảng FIB sẽ được cập nhật trong cả Control
Plane và Data Plane. Sau đó, q trình chuyển tiếp sẽ được cập nhật và phản ánh thay
đổi. Tuy nhiên, trong trường hợp này bởi vì những gói tin nhận được là một địa chỉ MAC
chưa từng được biết nên Control Plane sẽ gửi lại gói tin (C) tới Data Plane để chuyển
tiếp gói tin đến nơi thích hợp. Nếu FIB cần được cập nhật thì nó sẽ xảy ra ở bước (C).
Cùng cách xử lý như vậy sẽ được xử lý trong switch tiếp theo bên phải.

20


Hình 3: Mơ hình Control Plane và Data Plane trong một mạng thông thường
Trong thực tế, Control Plane cho internet là sự kết hợp của layer 2 và layer 3
Control Plane. Ngoài ra, sự phát triển diễn ra ở layer 2 và layer 3 cũng tạo nên sự phát
triển cho Control Plane. Nguyên nhân là do sự phát triển của những giao thức, tính năng
và phần cứng của các nhà cung cấp để đảm bảo được sự mở rộng và tính sẵn sàng cao.
Một layer 2 Control Plane chỉ tập trung vào địa chỉ vật lý như MAC address
IEEE. Một layer 3 control plane được thiết lập cho địa chỉ ở lớp mạng (layer 3) như giao
thức IP. Trong lớp 2, các xử lý đều xoay quanh việc học địa chỉ MAC, các kỹ thuật được

21


sử dụng để đảm bảo chống lặp gói tin như kỹ thuật Spanning Tree Protocol, kỹ thuật
lưu lượng flooding BUM (broadcast, unicast, un-known và multicast) tạo ra khẳ năng
mở rộng riêng của nó nhưng đồng thời cũng bộc lộ các hạn chế.
Tuy nhiên, vấn đề với Control Plane của layer2 là khơng thể mở rộng vì số đầu
cuối q lớn. Bản chất của vấn đề ở chỗ khi một đầu cuối (host) di chuyển giữa các mạng
có thể dẫn đến kết quả là bảng Forwarding cần phải được cập nhật đủ nhanh để không

làm gián đoạn hoạt động của lưu lượng mạng. Ở layer 2, vấn đề chuyển tiếp khung
(frame) tập trung vào việc quản lý địa chỉ MAC. Do đó, quan trọng là cách thức lưu địa
chỉ MAC để forwarding. Do số lượng địa chỉ MAC trong mạng là khá lớn nên việc quản
lý địa chỉ MAC là khó khăn. Vấn đề sẽ trở nên nghiêm trọng khi quản lý toàn bộ địa chỉ
MAC của nhiều doanh nghiệp hay internet.
Đối với lớp 3, mục tiêu là chuyển tiếp gói tin từ nguồn tới đích ở tầng network.
Định tuyến gói tin ở lớp 3 thì chỉ quan tâm đến lớp địa chỉ mạng IP. Lớp 3 được sử dụng
để chia nhỏ các phần vùng lớp 2. Do đó khắc phục được vấn đề mở rộng của lớp 2. Vì
vậy các lớp mạng khác nhau sẽ được kết nối thông qua router lớp 3 để tạo thành mạng
lớn hơn.
Tuy nhiên, trong tất cả các trường hợp trên, router định tuyến lưu lượng giữa các
mạng ở lớp 3 và chỉ chuyển tiếp gói tin lớp 3 khi nó biết gói tin đến đích nào ở lớp 3.
Một số giao thức khác như MPLS kết hợp địa chỉ MAC và IP address để tạo ra nhãn
(label) cho phép chuyển mạch nhanh và linh hoạt hơn.
Thông thường Control Plane được thực hiện bởi bộ xử lý route (route processor),
còn dataplane được xử lý bởi line card.

3.2 Luồng Dữ Liệu- Data Plane
Data Plane xử lý tất cả các gói tin đến (trên mạng có dây, cáp quang hay không
dây) bằng một loạt các hoạt động ở mức kết nối để thu thập dữ liệu của gói tin và tiến
hành kiểm tra. Một gói tin sẽ được xử lý trong Data Plane bằng việc thực hiện tìm kiếm

22


trong bảng FIB đã được lập ra trước đó bởi Control Plane. Điều này được gọi là tìm
đường nhanh (Fast path) cho gói tin bởi vì nó khơng cần thực hiện bất cứ sự tham vấn
nào thay vào đó là việc đơn giản chỉ là xác định đích của gói tin trong bảng FIB.
Trong trường hợp đích đến của gói tin khơng được tìm thấy trong bảng FIB thì
gói tin đó sẽ được chuyển đến Route Processor để Control Plane xử lý tiếp bằng bảng

RIB. Điều quan trong của FIB là nó có thể nằm trong các bộ xử lý chuyển tiếp dưới
dạng phần mềm hoặc phần cứng vật lý như GPU/CPU của Intel hoặc ARM…
Về lịch sử mà nói thì việc tìm kiếm trong bảng được xử lý bằng phần cứng được
chứng tỏ là có kết quả chuyển tiếp gói tin nhanh hơn nhiều và do đó được ưa chuộng
trong thiết kế, đặc biệt với những mạng cần băng thông cao.
Sự khác biệt giữa thiết kết chuyển tiếp bằng phần cứng phụ thuộc vào nhiều yếu
tố như kích thước dạng rack hay bảng mạch (board), chi phí, mức độ tiêu thụ năng lượng
và yêu cầu thông lượng. Những điều này có thể dẫn đến những sự khách biệt về loại bộ
nhớ (tốc độ, kích thước, vị trí), giá thành, cách vân hành,…
Cuối cùng, điều này dẫn đến sự khác biệt về tính năng chuyển tiếp mà thiết bị hỗ
trợ và khẳ năng mở rộng (ví dụ như số thơng tin trong bảng chuyển tiếp, số bảng…) khi
thiết kế mạng. Những tác vụ thông thường của Data Plane như chuyển tiếp gói tin (
multicast, replicate…), hủy gói tin, chỉnh sửa header của gói tin, thống kê số lượng và
quản lý hàng đợi. Trong một số trường hợp, quyết định chuyển tiếp sẽ chuyển lại một
cổng mạng nội bộ cho các dịch vụ trong thiết bị mạng như OSPF, BGP.., Khi đó gói tin
sẽ được chuyển tiếp đến Route Processor để Control Plane xử lý. Do đó trong một thiết
bị mạng có thêm một kết nối giữa Data Plane và Control Plane.
Ngồi chức năng chuyển tiếp gói tin, Data Plane cịn có thể cài đặt thêm một số
dịch vụ và tính năng thông thường như Access List Contrl, QoS/Policy. Trong một vài
hệ thống, những tính năng này được để rời rạc trong các bảng khác nhau trong khi những
hệ thống khác lại dùng đó như một tính năng mở rộng thêm của việc chuyển tiếp.

23


Với những tính năng này, chúng ta có thể thay đổi hoặc ngăn chặn kết quả của
quá trình tìm kiếm trong bảng chuyển tiếp ví dụ như:
- Một Access Control List (ACL) xác định một hành động hủy bỏ gói tin
hoặc khung khi nó được khớp với một điều kiện được cấu hình trước. Trong ACL
có một tập các tham số có thể can thiệp vào q trình chuyển tiếp gói tin.

- Một chính sách QoS có thể ánh xạ một luồng dữ liệu với một hàng đợi ở
đầu ra hoặc thay đổi giá trị của các trường TOS/COS để chuẩn hóa dịch vụ theo
những chính sách được đặt ra trong tồn mạng. Cũng như ACL, QoS có thể làm
gói tin bị hủy bỏ mà không quan tâm đến những tác động chuyển tiếp cho gói tin.

Hình 4: Thứ tự xử lý gói tin trong một Router truyền thống

24


Chức năng của các thiết bị Switch hay Router ngày nay cũng đã được phân tách
giữa Control Plane và Data Plane có mơ hình tương đối giống với việc tập trung hóa
Control Plane về mặt logic nhưng phân tán về vật lý của cơng nghệ SDN. Ví dụ như
Control Plane thường được đặt trong một Line Card/Processor và Data Plane thì đặt
trong một Line card/Processor khác. Hai Line Card/Processor này độc lập với nhau về
vật lý. Việc tách biệt như vậy làm tăng tính linh hoạt và an tồn cho hệ thống.

3.3 Tại Sao Cần Tách Biệt Giữa Control Plane Và Data Plane
Việc tách biệt Control Plane và Data Plane khơng phải là một khái niệm mới. Vì
các thiết bị Switch/Router hiện nay đã được sản xuất với kiến trúc nhiều slot hay
modules với Control Plane (ví như bộ não) được xử lý trong một bộ vi xử lý riêng
(Processor / Card) hoặc đôi khi lại là 2 bộ vi xử lý để đảm bảo khẳ năng dự phòng. Còn
chức năng Switching của Data Plane thực thi hoàn toàn độc lập trên một hoặc nhiều line
card độc lập khác với mỗi một bộ vi xử lý riêng. Hình phía dưới mô tả bộ xử lý Route
Processor và Data Plane được cài đặt trong phần Line Card với bộ xử lý ASICs để kết
nối cổng vào và ra.

25



×