HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
BỘ MƠN VƠ TUYẾN
----------
BÀI TẬP LỚN BÁO HIỆU VÀ ĐIỀU KHIỂN
GIẢNG VIÊN: HOÀNG TRỌNG MINH
NHÓM: 01
THÀNH VIÊN:
- Nguyễn Trường An - B18DCVT002
- Nguyễn Văn Sơn - B18DCVT350
- Ninh Minh Đức
- B18DCVT110
Nhóm mơn học: 18
ĐỀ TÀI: Kết nối mạng định nghĩa bằng phần mềm SDN
Hà Nội, tháng 9 năm 2021
Nhóm 18
Mục lục
Lời nói đầu.............................................................................................................3
Dạnh mục hình.......................................................................................................4
1 Các u cầu về mạng đang phát triển.................................................................5
2 Phương pháp tiếp cận SDN................................................................................6
• Yêu cầu mạng hiện đại................................................................................6
• Kiến trúc SDN.............................................................................................7
• Đặc điểm của mạng do phần mềm xác định..............................................10
3 Mặt phẳng dữ liệu SDN.....................................................................................11
• Các chức năng của mặt phẳng dữ liệu.......................................................11
• Giao thức mặt phẳng dữ liệu......................................................................12
4 OpenFlow .........................................................................................................12
•
•
•
•
•
Cấu trúc bảng dòng chảy............................................................................16
Bảng dòng chảy đường ống........................................................................19
Việc sử dụng nhiều bảng ...........................................................................22
Bảng nhóm ................................................................................................23
Giao thức OpenFlow..................................................................................24
5 Mặt phẳng điều khiển SDN ..............................................................................25
•
•
•
•
•
Chức năng điều khiển máy bay.................................................................25
Giao diện hướng Nam...............................................................................27
Giao diện hướng bắc.................................................................................28
Giao diện hướng .......................................................................................33
Giao diện Westbound................................................................................35
6 Mặt phẳng ứng dụng SDN................................................................................35
•
•
•
•
•
Kiến trúc mặt phẳng ứng dụng .................................................................36
Giao diện hướng bắc..................................................................................38
Lớp Tóm tắt Dịch vụ Mạng.......................................................................40
Ứng dụng mạng.........................................................................................43
Giao diện người dùng................................................................................44
Kết luận................................................................................................................45
Tài liệu tham khảo...............................................................................................46
2
Nhóm 18
Lời nói đầu
Software-Defined Networking (SDN) là một kiến trúc nhằm mục đích làm
cho các mạng trở nên linh hoạt hơn, mục tiêu của Software-Defined Networking
(SDN) là cho phép các kỹ sư và người quản trị cloud và mạng nhanh chóng đáp
ứng các u cầu kinh doanh thay đổi thơng qua một bộ điều khiển tập trung. Trong
SDN, kỹ sư hoặc quản trị viên mạng có thể định hình lưu lượng truy cập từ bộ
điều khiển tập trung mà không phải thiết lập trên từng thiết bị riêng lẻ trong mạng.
Bộ điều khiển SDN tập trung quản lý các thiết bị cung cấp các dịch vụ mạng bất
cứ khi nào chúng cần, bất kể các loại kết nối nào giữa server và thiết bị. Quá trình
này là một bước đi từ kiến trúc mạng truyền thống, trong đó các thiết bị mạng
riêng lẻ đưa ra quyết định lưu lượng dựa trên các bảng định tuyến được định cấu
hình của chúng. SDN bao gồm nhiều loại công nghệ mạng được thiết kế để giúp
mạng trở nên linh hoạt hơn để hỗ trợ ảo hóa và cơ sở hạ tầng lưu trữ của trung
tâm dữ liệu hiện đại.
Bố cục của bài tiểu luận gồm 7 phần:
1.
2.
3.
4.
5.
6.
Các yêu cầu về mạng đang phát triển
Phương pháp tiếp cận SDN
Mặt phẳng dữ liệu SDN
OPENFLOW
SDN Control Plane
SDN Application Plane
Bằng sự cố gắng và nỗ lực nhóm em đã hồn thành xong bài tiểu luận của nhóm.
Do có sự hạn chế về mặt thời gian và mức độ hiểu biết của bản thân nên không
thể tránh khỏi những thiếu sót trong q trình nghiên cứu. Vì thế, nhóm em rất
mong nhận được những lời góp ý và sự chỉ bảo thêm của các thầy cô và các bạn
để em có thêm những kiến thức phục vụ cho học tập cũng như công việc sau này.
3
Nhóm 18
Danh mục hình vẽ
Hình 1 Máy điều khiển và dữ liệu................................................................................8
Hình 2 Kiến trúc SDN................................................................................................9
Hình 3 Thiết bị mạng mặt phẳng dữ liệu...................................................................11
Hình 4 Bối cảnh chuyển đổi OpenFlow....................................................................14
Hình 5 Các thành phần chính của thiết bị chuyển mạch OpenFlow..........................15
Hình 6 Định dạng đề mục bảng OpenFlow..............................................................17
Hình 7 Luồng gói qua thiết bị chuyển mạch OpenFlow: Xử lý xâm nhập...............22
Hình 8 Các chức năng và giao diện mặt phẳng điều khiển SDN..............................25
Hình 9 Giao diện bộ điều khiển SDN.......................................................................28
Hình 10 Biểu diễn sơ đồ của kiến trúc NBI..............................................................29
Hình 11 Cấu trúc miền SDN.....................................................................................34
Hình 12 Các chức năng và giao diện mặt phẳng ứng dụng SDN.............................36
4
Nhóm 18
1. Các yêu cầu về mạng đang phát triển
Các yêu cầu về mạng ngày càng phát triển đã dẫn đến nhu cầu về một cách tiếp
cận đáp ứng linh hoạt để kiểm soát các luồng lưu lượng trong mạng hoặc trên
Internet.
Một yếu tố thúc đẩy chính là việc sử dụng ảo hóa máy chủ ngày càng rộng rãi.
Về bản chất, ảo hóa máy chủ che giấu tài nguyên máy chủ, bao gồm số lượng
và danh tính của từng máy chủ vật lý, bộ xử lý và hệ điều hành từ người dùng
máy chủ. Điều này giúp bạn có thể phân vùng một máy thành nhiều máy chủ
độc lập và tiết kiệm tài nguyên phần cứng. Nó cũng giúp bạn có thể nhanh
chóng di chuyển máy chủ từ máy này sang máy khác để cân bằng tải hoặc
chuyển đổi động trong trường hợp máy bị lỗi. Ảo hóa máy chủ đã trở thành
yếu tố trung tâm trong việc xử lý các ứng dụng dữ liệu lớn và triển khai cơ sở
hạ tầng điện tốn đám mây. Nhưng nó tạo ra các vấn đề với các kiến trúc mạng
truyền thống. Một vấn đề là cấu hình mạng cục bộ ảo (VLAN). Người quản lý
mạng cần đảm bảo VLAN được sử dụng bởi máy ảo (VM) được gán cho cùng
một cổng chuyển mạch với máy chủ vật lý chạy VM. Nhưng với máy ảo có thể
di chuyển được, cần phải cấu hình lại VLAN mỗi khi máy chủ ảo được di
chuyển. Nói chung, để phù hợp với tính linh hoạt của ảo hóa máy chủ, người
quản lý mạng cần có khả năng thêm, bớt và thay đổi tài nguyên và cấu hình
mạng một cách linh hoạt. Điều này khó thực hiện với các bộ chuyển mạch
mạng thơng thường, vì logic điều khiển cho mỗi bộ chuyển mạch được gắn với
logic chuyển mạch.
Một hiệu ứng khác của ảo hóa máy chủ là các luồng lưu lượng truy cập về cơ
bản khác với các luồng lưu lượng trong mơ hình máy khách / máy chủ truyền
thống. Thơng thường, có một lượng lưu lượng đáng kể giữa các máy chủ ảo,
cho các mục đích như duy trì hình ảnh nhất quán của cơ sở dữ liệu và gọi các
chức năng bảo mật như kiểm soát truy cập. Các luồng từ máy chủ đến máy chủ
này thay đổi về vị trí và cường độ theo thời gian, đòi hỏi một cách tiếp cận linh
hoạt để quản lý tài nguyên mạng.
Một yếu tố khác dẫn đến nhu cầu phản ứng nhanh chóng trong việc phân bổ tài
nguyên mạng là việc nhân viên ngày càng sử dụng thiết bị di động, chẳng hạn
như điện thoại thông minh, máy tính bảng và máy tính xách tay, để truy cập tài
nguyên của doanh nghiệp. Người quản lý mạng phải có khả năng đáp ứng các
5
Nhóm 18
yêu cầu về tài nguyên, chất lượng dịch vụ (QoS) và bảo mật đang thay đổi
nhanh chóng.
Trước khi SDN ra đời, cơ sở hạ tầng mạng có thể đáp ứng các yêu cầu thay đổi
đối với việc quản lý các luồng lưu lượng, cung cấp các mức QoS và mức độ
bảo mật khác nhau cho các luồng riêng lẻ; nhưng quá trình này rất tốn thời gian
nếu mạng doanh nghiệp lớn và / hoặc liên quan đến các thiết bị mạng từ nhiều
nhà cung cấp. Người quản lý mạng phải định cấu hình thiết bị của từng nhà
cung cấp riêng biệt và điều chỉnh các thông số hiệu suất và bảo mật trên cơ sở
mỗi phiên, mỗi ứng dụng. Trong một doanh nghiệp lớn, mỗi khi một máy ảo
mới được đưa lên, người quản lý mạng có thể mất hàng giờ hoặc thậm chí vài
ngày để thực hiện việc cấu hình lại cần thiết [ ONF12 ].
Như đã thảo luận trong chương này, kiến trúc SDN và tiêu chuẩn OpenFlow
cung cấp một kiến trúc mở, trong đó chức năng điều khiển được tách biệt khỏi
thiết bị mạng và được đặt trong các máy chủ điều khiển có thể truy cập được.
Điều này cho phép cơ sở hạ tầng bên dưới được trừu tượng hóa cho các ứng
dụng và dịch vụ mạng, có thể coi mạng như một thực thể logic.
2. Phương pháp tiếp cận SDN
Phần này cung cấp tổng quan về SDN và chỉ ra cách nó được thiết kế để đáp
ứng các yêu cầu mạng đang phát triển.
Yêu cầu mạng hiện đại
Liên minh Trung tâm Dữ liệu Mở (ODCA) cung cấp một danh sách tốt, ngắn
gọn các yêu cầu đối với cách tiếp cận mạng hiện đại, bao gồm [ ODCA14 ]
sau:
▪ Khả năng thích ứng: Mạng phải điều chỉnh và phản hồi động, dựa trên
nhu cầu ứng dụng, chính sách kinh doanh và điều kiện mạng.
▪ Tự động hóa: Các thay đổi chính sách phải được tự động truyền bá để
có thể giảm bớt cơng việc thủ cơng và các lỗi.
▪ Khả năng bảo trì: Việc giới thiệu các tính năng và khả năng mới (ví
dụ: nâng cấp phần mềm, các bản vá lỗi), phải liền mạch, với sự gián
đoạn hoạt động tối thiểu.
6
Nhóm 18
▪ Quản lý mơ hình: Phần mềm quản lý mạng phải cho phép quản lý mạng
ở cấp độ mô hình hơn là thực hiện các thay đổi khái niệm bằng cách cấu
hình lại các phần tử mạng riêng lẻ.
▪ Tính di động: Chức năng điều khiển phải phù hợp với tính di động, bao
gồm thiết bị người dùng di động và máy chủ ảo.
▪ Bảo mật tích hợp: Các ứng dụng mạng phải tích hợp bảo mật liền mạch
như một dịch vụ cốt lõi thay vì như một giải pháp bổ trợ.
▪ Mở rộng theo yêu cầu: Việc triển khai phải có khả năng mở rộng hoặc
thu nhỏ mạng và các dịch vụ của nó để hỗ trợ các yêu cầu theo yêu cầu.
Kiến trúc SDN
Khái niệm trung tâm đằng sau SDN là cho phép các nhà phát triển và nhà quản
lý mạng có cùng một kiểu kiểm sốt đối với thiết bị mạng mà họ có trên các
máy chủ x86. Cách tiếp cận SDN phân tách chức năng chuyển đổi giữa mặt
phẳng dữ liệu và mặt phẳng điều khiển nằm trên các thiết bị riêng biệt (xem
Hình 7.1b ). Mặt phẳng dữ liệu chỉ chịu trách nhiệm chuyển tiếp các gói tin và
mặt phẳng điều khiển cung cấp “trí thơng minh” trong việc thiết kế các tuyến
đường, thiết lập các tham số chính sách định tuyến và ưu tiên để đáp ứng các
yêu cầu về chất lượng dịch vụ (QoS) và chất lượng trải nghiệm (QoE) và đối
phó với thay đổi mơ hình giao thơng. Giao diện mở được định nghĩa để phần
cứng chuyển mạch hiển thị một giao diện thống nhất, bất kể chi tiết triển khai
bên trong. Tương tự, các giao diện mở được xác định để cho phép các ứng dụng
mạng giao tiếp với bộ điều khiển SDN.
7
Nhóm 18
HÌNH 1 Máy điều khiển và dữ liệu
Hình 7.2 minh họa kiến trúc SDN. Mặt phẳng dữ liệu bao gồm các chuyển
mạch vật lý và chuyển mạch ảo, cả hai đều có nhiệm vụ chuyển tiếp các gói
tin. Việc triển khai bên trong bộ đệm, tham số ưu tiên và các cấu trúc dữ liệu
khác liên quan đến chuyển tiếp có thể phụ thuộc vào nhà cung cấp. Tuy nhiên,
mỗi bộ chuyển mạch phải thực hiện một mơ hình, hoặc một mơ hình trừu tượng,
của chuyển tiếp gói thống nhất và mở cho bộ điều khiển SDN. Mơ hình này
được định nghĩa dưới dạng một API mở giữa mặt phẳng điều khiển và mặt
phẳng dữ liệu (tức là API hướng nam). Ví dụ nổi bật nhất về một API mở như
vậy là OpenFlow, sẽ được thảo luận ở phần sau của chương này. Đặc tả
OpenFlow xác định cả giao thức giữa mặt phẳng điều khiển và dữ liệu và một
API mà mặt phẳng điều khiển có thể gọi giao thức OpenFlow.
Cần lưu ý rằng SDN có khả năng xử lý các thiết bị chuyển mạch vật lý cho cả
liên kết truyền dẫn khơng dây (ví dụ: Wi-Fi, mạng di động) và có dây (ví dụ:
Ethernet).
8
Nhóm 18
HÌNH 2 Kiến trúc SDN
Tương tự, bộ điều khiển SDN có thể được triển khai trực tiếp trên máy chủ
hoặc trên máy chủ ảo. OpenFlow hoặc một số API mở khác được sử dụng để
điều khiển các thiết bị chuyển mạch trong mặt phẳng dữ liệu. Ngoài ra, bộ điều
khiển sử dụng thông tin về dung lượng và nhu cầu thu được từ thiết bị mạng
mà lưu lượng truyền qua đó. Bộ điều khiển SDN cũng tiết lộ các API hướng
bắc, có nghĩa là các nhà phát triển và quản lý mạng có thể triển khai một loạt
các ứng dụng mạng có sẵn và được xây dựng tùy chỉnh, nhiều ứng dụng trong
số đó khơng khả thi trước khi SDN ra đời. Vì chưa có API hướng bắc chuẩn
hóa và khơng có sự đồng thuận về API hướng bắc mở.
Nói một cách dễ hiểu, bộ điều khiển SDN quản lý trạng thái chuyển tiếp của
các bộ chuyển mạch trong mạng do phần mềm xác định. Việc quản lý này được
thực hiện thông qua một API trung lập với nhà cung cấp cho phép bộ điều
9
Nhóm 18
khiển giải quyết nhiều yêu cầu của người vận hành mà khơng thay đổi bất kỳ
khía cạnh cấp thấp hơn nào của mạng, bao gồm cả cấu trúc liên kết.
Với việc tách các mặt phẳng điều khiển và dữ liệu, SDN cho phép các ứng
dụng xử lý với một thiết bị mạng được tóm tắt duy nhất mà khơng cần quan
tâm đến các chi tiết về cách thiết bị hoạt động. Các ứng dụng mạng nhìn thấy
một API duy nhất cho bộ điều khiển. Do đó, có thể nhanh chóng tạo và triển
khai các ứng dụng mới để điều phối luồng lưu lượng mạng nhằm đáp ứng các
yêu cầu cụ thể của doanh nghiệp về hiệu suất hoặc bảo mật.
Ngồi ra cịn có các API ngang (ngang hàng). Các API này có hai loại:
• Eastbound API: Cho phép giao tiếp và hợp tác giữa các nhóm hoặc liên
đồn của bộ điều khiển.
• Westbound API: Cung cấp giao tiếp giữa các mạng SDN và không phải
SDN (hoặc kế thừa).
Ở mặt phẳng ứng dụng, nhiều ứng dụng tương tác với bộ điều khiển SDN. Các
ứng dụng SDN là các chương trình có thể sử dụng chế độ xem trừu tượng của
mạng cho các mục tiêu ra quyết định của chúng. Các ứng dụng này truyền tải
các yêu cầu mạng và hành vi mạng mong muốn của chúng tới bộ điều khiển
SDN thơng qua một API hướng bắc. Ví dụ về các ứng dụng là mạng tiết kiệm
năng lượng, giám sát an ninh, kiểm soát truy cập và quản lý mạng.
Đặc điểm của mạng do phần mềm xác định
Các đặc điểm chính của SDN như sau:
▪ Mặt phẳng điều khiển được tách ra khỏi mặt phẳng dữ liệu. Thiết bị mặt
phẳng dữ liệu là thiết bị chuyển tiếp gói đơn giản (xem Hình 7.1 ).
▪ Mặt phẳng điều khiển được thực hiện trong bộ điều khiển tập trung hoặc
tập hợp các bộ điều khiển tập trung phối hợp. Bộ điều khiển SDN có chế
độ xem tập trung của mạng hoặc các mạng dưới sự kiểm sốt của nó. Bộ
điều khiển là phần mềm di động có thể chạy trên các máy chủ hàng hóa
và có khả năng lập trình các thiết bị chuyển tiếp dựa trên chế độ xem tập
trung của mạng.
▪ Giao diện mở được xác định giữa các thiết bị trong mặt phẳng điều khiển
(bộ điều khiển) và các thiết bị trong mặt phẳng dữ liệu.
10
Nhóm 18
▪ Mạng có thể lập trình bằng các ứng dụng chạy trên bộ điều khiển SDN.
Bộ điều khiển SDN trình bày một cái nhìn trừu tượng về tài nguyên
mạng cho các ứng dụng.
3. Mặt phẳng dữ liệu SDN
Mặt phẳng dữ liệu SDN , được gọi là lớp tài nguyên trong ITU-T Y.3300 (
Khuôn khổ mạng do phần mềm xác định , tháng 6 năm 2014) và cũng thường
được gọi là lớp cơ sở hạ tầng , là nơi các thiết bị chuyển tiếp mạng thực hiện
việc vận chuyển và xử lý dữ liệu theo các quyết định do mặt phẳng điều khiển
SDN đưa ra . Đặc điểm quan trọng của các thiết bị mạng trong mạng do phần
mềm xác định là các thiết bị này thực hiện một chức năng chuyển tiếp đơn giản,
khơng có phần mềm nhúng để đưa ra các quyết định tự chủ.
Các chức năng của mặt phẳng dữ liệu
Hình 7.3 minh họa các chức năng được thực hiện bởi các thiết bị mạng mặt
phẳng dữ liệu (còn được gọi là các phần tử mạng mặt phẳng dữ liệu, hoặc bộ
chuyển mạch).
HÌNH 3 Thiết bị mạng mặt phẳng dữ liệu
11
Nhóm 18
Các chức năng chính của thiết bị mạng là:
▪ Chức năng hỗ trợ điều khiển: Tương tác với lớp điều khiển SDN để
hỗ trợ khả năng lập trình thơng qua các giao diện điều khiển tài nguyên.
Thiết bị chuyển mạch giao tiếp với bộ điều khiển và bộ điều khiển quản
lý công tắc thông qua giao thức thiết bị chuyển mạch OpenFlow.
▪ Chức năng chuyển tiếp dữ liệu: Chấp nhận các luồng dữ liệu đến từ
các thiết bị mạng và hệ thống đầu cuối khác và chuyển tiếp chúng dọc
theo các đường chuyển tiếp dữ liệu đã được tính toán và thiết lập theo
các quy tắc được xác định bởi các ứng dụng SDN.
Các quy tắc chuyển tiếp được sử dụng bởi thiết bị mạng được thể hiện trong
các bảng chuyển tiếp cho biết đối với các loại gói đã cho, bước tiếp theo trong
tuyến sẽ là như thế nào. Ngồi việc chuyển tiếp gói tin đơn giản, thiết bị mạng
có thể thay đổi tiêu đề gói tin trước khi chuyển tiếp hoặc loại bỏ gói tin. Như
đã trình bày, các gói tin đến có thể được đặt trong một hàng đợi đầu vào, nơi
chúng chờ xử lý bởi thiết bị mạng. Các gói được chuyển tiếp thường được đặt
trong một hàng đợi đầu ra, nơi chúng chờ truyền.
Thiết bị mạng trong Hình 7.3 được hiển thị với ba cổng I / O: một cổng cung
cấp giao tiếp điều khiển với bộ điều khiển SDN và hai cổng cho đầu vào và
đầu ra của gói dữ liệu. Đây là một ví dụ đơn giản. Một thiết bị mạng có thể có
nhiều cổng để giao tiếp với nhiều bộ điều khiển SDN và có thể có nhiều hơn
hai cổng I / O cho các luồng gói vào và ra khỏi thiết bị.
Giao thức mặt phẳng dữ liệu
Hình 7.3 gợi ý các giao thức được hỗ trợ bởi thiết bị mạng. Luồng gói dữ liệu
bao gồm các luồng gói IP. Bảng chuyển tiếp có thể cần thiết để xác định các
đề mục dựa trên các trường trong tiêu đề giao thức cấp cao hơn, chẳng hạn như
tiêu đề cho Giao thức điều khiển truyền (TCP), Giao thức sơ đồ người dùng
(UDP) hoặc một số giao thức truyền tải hoặc ứng dụng khác. Thiết bị mạng
kiểm tra tiêu đề IP và có thể là các tiêu đề khác trong mỗi gói và đưa ra quyết
định chuyển tiếp.
Luồng lưu lượng quan trọng khác là thông qua API hướng nam, bao gồm các
đơn vị dữ liệu giao thức OpenFlow (PDU) hoặc một số lưu lượng giao thức
API hướng nam tương tự.
12
Nhóm 18
4. OpenFlow
Để biến khái niệm SDN thành triển khai thực tế, cần đáp ứng hai u cầu:
• Phải có một kiến trúc logic chung trong tất cả các thiết bị chuyển mạch, bộ
định tuyến và các thiết bị mạng khác được quản lý bởi bộ điều khiển SDN.
Kiến trúc lơgic này có thể được triển khai theo nhiều cách khác nhau trên các
thiết bị của nhà cung cấp khác nhau và trong các loại thiết bị mạng khác nhau,
miễn là bộ điều khiển SDN thấy chức năng chuyển mạch lơgic thống nhất.
• Cần có một giao thức bảo mật tiêu chuẩn giữa bộ điều khiển SDN và thiết bị
mạng.
Cả hai yêu cầu này đều được giải quyết bởi OpenFlow, đây vừa là giao thức giữa bộ
điều khiển SDN và thiết bị mạng vừa là đặc điểm kỹ thuật của cấu trúc logic của
chức năng chuyển mạch mạng. OpenFlow được định nghĩa trong OpenFlow Switch
Specification [ONF15], được xuất bản bởi Open Networking Foundation (ONF). Ba
thuật ngữ hữu ích cho thảo luận:
• OpenFlow switch (thiết bị chuyển mạch OpenFlow): Một tập hợp các tài
nguyên OpenFlow có thể được quản lý như một thực thể duy nhất, bao gồm
một đường dẫn dữ liệu và một kênh điều khiển. Các thiết bị chuyển mạch
OpenFlow kết nối logic với nhau thông qua các cổng OpenFlow của chúng.
• OpenFlow port (cổng OpenFlow): Nơi các gói vào và ra khỏi đường ống
OpenFlow. Một gói có thể được chuyển tiếp từ một thiết bị chuyển mạch
OpenFlow sang một thiết bị chuyển mạch OpenFlow khác chỉ qua một cổng
OpenFlow đầu ra trên thiết bị chuyển mạch đầu tiên và một cổng OpenFlow
thâm nhập trên thiết bị chuyển mạch thứ hai.
• OpenFlow channel (kênh OpenFlow): Giao diện giữa thiết bị chuyển mạch
OpenFlow và bộ điều khiển OpenFlow, được bộ điều khiển sử dụng để quản
lý thiết bị chuyển mạch.
Hình 7.4 minh họa các yếu tố chính của mơi trường OpenFlow, bao gồm các bộ điều
khiển SDN bao gồm phần mềm OpenFlow, thiết bị chuyển mạch OpenFlow và hệ
thống đầu cuối.
13
Nhóm 18
HÌNH 4 Bối cảnh chuyển đổi OpenFlow
Hình 7.5 hiển thị các thành phần chính của thiết bị chuyển mạch OpenFlow. Bộ điều
khiển SDN giao tiếp với các thiết bị chuyển mạch tương thích với OpenFlow bằng
giao thức OpenFlow chạy qua Bảo mật lớp truyền tải (TLS). Về phía thiết bị chuyển
mạch, giao diện được biết đến như một kênh OpenFlow. Mỗi thiết bị chuyển mạch
kết nối với các thiết bị chuyển mạch OpenFlow khác và có thể với các thiết bị của
người dùng cuối là nguồn và đích của các luồng gói. Các kết nối này thơng qua các
cổng OpenFlow. Một cổng OpenFlow cũng kết nối thiết bị chuyển mạch với bộ điều
khiển SDN.
14
Nhóm 18
HÌNH 5 Các thành phần chính của thiết bị chuyển mạch OpenFlow
OpenFlow xác định ba loại cổng:
• Physical port (cổng vật lý): Tương ứng với giao diện phần cứng của thiết bị
chuyển mạch. Ví dụ, trên thiết bị chuyển mạch Ethernet, các cổng vật lý ánh
xạ 1-1 với các giao diện Ethernet.
• Logical port (cổng logic): Khơng tương ứng trực tiếp với giao diện phần cứng
của thiết bị chuyển mạch. Các cổng logic là sự trừu tượng hóa cấp cao hơn có
thể được xác định trong thiết bị chuyển mạch bằng cách sử dụng các phương
thức không phải OpenFlow (ví dụ: nhóm tổng hợp liên kết, đường hầm, giao
diện lặp lại). Các cổng logic có thể bao gồm đóng gói gói tin và có thể ánh xạ
tới các cổng vật lý khác nhau. Quá trình xử lý được thực hiện bởi cổng logic
phụ thuộc vào việc triển khai và phải minh bạch với quá trình xử lý OpenFlow.
Các cổng logic phải tương tác với xử lý OpenFlow theo cách tương tự như các
cổng vật lý OpenFlow.
• Reserved port (cổng dành riêng): Được xác định bởi đặc tả OpenFlow và chỉ
định các hành động chuyển tiếp chung, chẳng hạn như gửi đến và nhận từ bộ
điều khiển, ngập lụt hoặc chuyển tiếp bằng các phương pháp không phải
OpenFlow, chẳng hạn như xử lý chuyển đổi "bình thường".
Trong mỗi thiết bị chuyển mạch, một loạt các bảng được sử dụng để quản lý các
luồng gói thơng qua thiết bị chuyển mạch. Đặc tả OpenFlow xác định ba loại bảng
15
Nhóm 18
trong kiến trúc chuyển mạch lơgic. Một flow table so khớp các gói đến với một luồng
cụ thể và chỉ định các chức năng sẽ được thực hiện trên các gói. Có thể có nhiều flow
table hoạt động theo kiểu đường ống, như được giải thích ngay sau đây. Một flow
table có thể hướng một luồng đến một bảng nhóm, có thể kích hoạt nhiều hành động
khác nhau ảnh hưởng đến một hoặc nhiều luồng. Bảng đồng hồ có thể kích hoạt nhiều
hành động liên quan đến hiệu suất trên một luồng. Sử dụng giao thức chuyển mạch
OpenFlow, bộ điều khiển có thể thêm, cập nhật và xóa các mục nhập luồng trong
bảng, cả theo cách phản ứng (phản ứng với các gói) và chủ động.
Trước khi tiếp tục, sẽ hữu ích khi xác định ý nghĩa của thuật ngữ "luồng". Thật kỳ
lạ, thuật ngữ này không được định nghĩa trong đặc tả OpenFlow, cũng như chưa có
nỗ lực định nghĩa nó trong hầu như tất cả các tài liệu về OpenFlow. Nói một cách
tổng quát, luồng là một chuỗi các gói đi qua một mạng chia sẻ một tập các giá trị
trường tiêu đề. Ví dụ: một luồng có thể bao gồm tất cả các gói có cùng địa chỉ IP
nguồn và đích hoặc tất cả các gói có cùng mã định danh LAN ảo (VLAN). Chúng
tơi cung cấp một định nghĩa cụ thể hơn ở phần sau của chương này.
Cấu trúc Flow Table (Flow Table Structure)
Khối xây dựng cơ bản của kiến trúc chuyển mạch logic là flow table. Mỗi gói đi vào
một bộ chuyển mạch sẽ đi qua một trong các flow table khác. Mỗi flow table bao
gồm một số hàng, được gọi là các đề mục (entries), bao gồm bảy thành phần (xem
Hình 7.6a). Các thành phần đề mục như sau:
• Match fields (Các trường khớp): Các trường này được sử dụng để chọn các
gói phù hợp với giá trị trong các trường. Các trường khớp (xem Hình 7.6b)
xác định các địa chỉ đi vào và đi ra ở các mức giao thức khác nhau. Mỗi trường
trong thành phần trường khớp có một giá trị cụ thể hoặc một giá trị ký tự đại
diện khớp với bất kỳ giá trị nào trong trường tiêu đề gói tương ứng. Một flow
table có thể bao gồm một table-miss flow entry, trong trường hợp đó, các ký
tự đại diện khớp với tất cả các trường (tức là mọi trường là một khớp, bất kể
giá trị) và đề mục có mức độ ưu tiên thấp nhất.
• Priority (Mức độ ưu tiên): Trường này hiển thị mức độ ưu tiên tương đối của
các đề mục trong bảng. Nó là một trường 16 bit với 0 tương ứng với mức độ
ưu tiên thấp nhất. Về nguyên tắc, có thể có 216 = 64.000 mức độ ưu tiên.
• Counters (Bộ đếm): Trường này được cập nhật cho các gói phù hợp. Đặc tả
OpenFlow xác định nhiều bộ đếm. Bảng 7.1 liệt kê các bộ đếm bắt buộc phải
được hỗ trợ bởi thiết bị chuyển mạch OpenFlow.
16
Nhóm 18
HÌNH 6 Định dạng đề mục bảng OpenFlow
BẢNG 7.1 Bộ đếm OpenFlow bắt buộc
Bộ đếm
Số lượng tham chiếu (đề mục hoạt động)
Thời lượng (giây)
Gói tin đã nhận
Gói tin đã gửi
Thời lượng (giây)
Gói tin truyền đi
Thời lượng (giây)
Thời lượng (giây)
Sử dụng
Mỗi flow table
Mỗi flow entry
Mỗi cổng
Mỗi cổng
Mỗi cổng
Mỗi hàng đợi
Mỗi hàng đợi
Mỗi nhóm
Độ dài bit
32
32
64
64
32
64
32
32
• Instructions (Hướng dẫn): Trường này chứa các hướng dẫn được thực hiện
nếu một khớp xảy ra.
• Timeouts (Hết thời gian chờ): Trường này cho biết lượng thời gian không
hoạt động tối đa trước khi thiết bị chuyển mạch hết hạn luồng. Mỗi flow entry
có một thời gian chờ nhàn rỗi và một thời gian chờ cứng được liên kết với nó.
Trường non-zero hard_timeout làm cho flow entry bị xóa sau số giây nhất
định, bất kể nó đã khớp bao nhiêu gói. Trường non-zero idle_timeout khiến
flow entry bị xóa khi nó khơng khớp với gói nào trong số giây nhất định.
17
Nhóm 18
• Cookie: Trường này chứa giá trị dữ liệu khơng rõ ràng 64 bit do bộ điều khiển
chọn. Nó có thể được bộ điều khiển sử dụng để lọc thống kê lưu lượng, sửa
đổi lưu lượng và xóa lưu lượng; nó khơng được sử dụng khi xử lý gói tin.
• Flags (cờ): Cờ thay đổi cách quản lý các flow entry; ví dụ: cờ
OFPFF_SEND_FLOW_REM kích hoạt thơng báo Đã xóa luồng (và xóa flow
entry) cho một flow entry.
Bây giờ có thể đưa ra một định nghĩa chính xác hơn về thuật ngữ luồng. Theo quan
điểm của một thiết bị chuyển mạch riêng lẻ, luồng là một chuỗi các gói phù hợp với
một đề mục cụ thể trong flow table. Định nghĩa được định hướng gói theo nghĩa rằng
nó là một chức năng của các giá trị của trường tiêu đề của gói tạo thành luồng chứ
khơng phải là một chức năng của đường dẫn mà gói đi qua mạng. Sự kết hợp của các
flow entry trên nhiều thiết bị chuyển mạch xác định một luồng được liên kết với một
đường dẫn cụ thể.
Thành phần hướng dẫn của một bảng đề mục bao gồm một tập hợp các lệnh được
thực thi nếu gói phù hợp với đề mục. Trước khi mô tả các loại hướng dẫn, chúng ta
cần xác định các thuật ngữ hành động và bộ hành động. Các hành động mơ tả các
hoạt động chuyển tiếp gói, sửa đổi gói và xử lý bảng nhóm. Đặc tả OpenFlow bao
gồm các hành động sau:
• Output (đầu ra): Hành động này chuyển tiếp một gói đến cổng được chỉ định.
Cổng có thể là cổng đầu ra tới một thiết bị chuyển mạch khác hoặc cổng tới
bộ điều khiển. Trong trường hợp thứ hai, gói tin được đóng gói trong một
thơng báo tới bộ điều khiển.
• Set-Queue (Đặt hàng đợi): Hành động này đặt ID hàng đợi cho một gói. Khi
gói tin được chuyển tiếp đến một cổng bằng hành động đầu ra, ID hàng đợi
xác định hàng đợi nào gắn với cổng này được sử dụng để lập lịch trình và
chuyển tiếp gói tin. Hành vi chuyển tiếp được quyết định bởi cấu hình của
hàng đợi và được sử dụng để cung cấp hỗ trợ QoS cơ bản.
• Group (Nhóm): Hành động này xử lý một gói thơng qua nhóm được chỉ định.
• Push-Tag/Pop-Tag: Hành động này đẩy hoặc bật một trường thẻ cho gói
VLAN hoặc Multiprotocol Label Switching (MPLS).
• Set-Field (Trường Thiết lập): Các hành động Trường Thiết lập khác nhau
được xác định bởi loại trường của chúng và sửa đổi giá trị của các trường tiêu
đề tương ứng trong một gói.
• Change-TTL: Các hành động Change-TTL khác nhau sửa đổi các giá trị của
IPv4 TTL (thời gian tồn tại), giới hạn bước nhảy IPv6 hoặc MPLS TTL trong
gói.
18
Nhóm 18
• Drop (loại bỏ ): Khơng có hành động rõ ràng để đại diện cho drop. Thay vào
đó, các gói có bộ hành động khơng có hành động đầu ra sẽ bị loại bỏ.
Tập hợp hành động là danh sách các hành động liên kết với một gói được tích lũy
trong khi gói được xử lý bởi mỗi bảng và được thực thi khi gói ra khỏi đường ống
xử lý.
Các loại hướng dẫn có thể được nhóm thành bốn loại:
• Direct packet through pipeline (Gói trực tiếp qua đường ống): Lệnh GotoTable hướng một gói tin đến một bảng xa hơn trong đường ống. Lệnh Meter
hướng một gói đến một máy đo được chỉ định.
• Perform action on packet (Thực hiện hành động trên gói): Các hành động có
thể được thực hiện trên một gói khi nó được khớp với một đề mục trong bảng.
Hướng dẫn Áp dụng Hành động áp dụng các hành động được chỉ định ngay
lập tức, khơng có bất kỳ thay đổi nào đối với tập hành động được liên kết với
gói này. Lệnh này có thể được sử dụng để sửa đổi gói giữa hai bảng trong
đường dẫn.
• Update action set (Thiết lập hành động cập nhật): Lệnh Write-Actions kết
hợp các hành động được chỉ định thành thiết lập hành động hiện tại cho gói
này. Hướng dẫn Clear-Actions xóa tất cả các hành động trong thiết lập hành
động.
• Update metadata (Cập nhật siêu dữ liệu): Giá trị siêu dữ liệu có thể được liên
kết với một gói. Nó được sử dụng để mang thơng tin từ bảng này sang bảng
tiếp theo. Lệnh WriteMetadata cập nhật một giá trị siêu dữ liệu hiện có hoặc
tạo một giá trị mới.
Đường ống Flow Table (Flow Table Pipeline)
Một thiết bị chuyển mạch bao gồm một hoặc nhiều flow table. Nếu có nhiều hơn một
flow table, chúng được tổ chức như một đường ống, với các bảng được gắn nhãn với
số lượng tăng dần bắt đầu bằng 0. Việc sử dụng nhiều bảng trong một đường ống,
thay vì một flow table duy nhất, cung cấp cho bộ điều khiển SDN sự linh hoạt đáng
kể .
Đặc tả OpenFlow xác định hai giai đoạn xử lý:
• Ingress processing (Xử lý xâm nhập): Xử lý xâm nhập ln xảy ra và nó bắt
đầu bằng bảng 0 và sử dụng danh tính của cổng đầu vào. Bảng 0 có thể là bảng
duy nhất, trong trường hợp đó, xử lý nhập được đơn giản hóa thành xử lý được
thực hiện trên bảng đơn đó và khơng có xử lý đầu ra.
19
Nhóm 18
• Egress processing (Xử lý đầu ra): Xử lý đầu ra là quá trình xảy ra sau khi xác
định cổng đầu ra. Nó xảy ra trong bối cảnh của cổng đầu ra. Giai đoạn này là
tùy chọn. Nếu nó xảy ra, nó có thể liên quan đến một hoặc nhiều bảng. Sự tách
biệt của hai giai đoạn được chỉ định bằng số nhận dạng của bảng đầu tiên. Tất
cả các bảng có số thấp hơn bảng đầu tiên phải được sử dụng làm bảng nhập và
khơng bảng nào có số cao hơn hoặc bằng bảng đầu tiên có thể được sử dụng
làm bảng nhập
Quá trình xử lý đường ống ln bắt đầu với q trình xử lý xâm nhập ở flow table
đầu tiên: Trước tiên gói tin phải được khớp với các flow entry của flow table 0. Có
thể sử dụng các flow table xâm nhập khác, tùy thuộc vào kết quả của kết quả khớp
trong bảng đầu tiên. Nếu kết quả của xử lý xâm nhập là chuyển tiếp gói tin đến một
cổng đầu ra, thì cơng tắc OpenFlow có thể thực hiện xử lý đầu ra trong ngữ cảnh của
cổng đầu ra đó.
Khi một gói được trình bày cho một bảng để đối sánh, đầu vào bao gồm gói, danh
tính của cổng nhập, giá trị siêu dữ liệu liên quan và tập hợp hành động được liên kết.
Đối với Bảng 0, giá trị siêu dữ liệu là trống và tập hành động là rỗng. Tại mỗi bảng,
quá trình xử lý diễn ra như sau:
• Nếu có một kết quả phù hợp trên một hoặc nhiều mục nhập khác với mục nhập
bỏ sót bảng, thì khớp đó được xác định là với mục nhập khớp có mức độ ưu
tiên cao nhất. Như đã đề cập trong phần thảo luận trước, mức độ ưu tiên là một
thành phần của mục nhập bảng và được đặt thông qua OpenFlow; mức độ ưu
tiên được xác định bởi người dùng hoặc ứng dụng gọi OpenFlow. Sau đó có
thể thực hiện các bước sau:
Bước 1. Cập nhật bất kỳ bộ đếm nào liên quan đến đề mục này.
Bước 2. Thực hiện bất kỳ hướng dẫn nào liên quan đến đề mục nhập này.
Điều này có thể bao gồm cập nhật nhóm hành động, cập nhật giá
trị siêu dữ liệu và thực hiện các hành động.
Bước 3. Sau đó, gói tin được chuyển tiếp đến một flow table ở phía dưới
đường ống, đến bảng nhóm, bảng đồng hồ đo hoặc đến một cổng
đầu ra.
• Nếu chỉ có khớp với table-miss entry, đề mục nhập bảng có thể chứa hướng
dẫn, như với bất kỳ đề mục nào khác. Trong thực tế, table-miss entry chỉ định
một trong ba hành động:
▪ Gửi gói đến bộ điều khiển. Điều này cho phép bộ điều khiển xác định
một luồng mới cho gói này và các gói tương tự hoặc quyết định bỏ
gói.
▪ Hướng gói tin đến một bảng lưu lượng khác ở phía dưới đường ống.
20
Nhóm 18
▪ Bỏ gói tin.
• Nếu khơng có mục nào trùng khớp trên bất kỳ đề mục nào và không có tablemiss entry nào, gói tin sẽ bị loại bỏ.
Đối với bảng cuối cùng trong đường ống, chuyển tiếp đến một bảng dịng khác khơng
phải là một tùy chọn. Nếu và khi một gói cuối cùng được chuyển hướng đến một
cổng đầu ra, thì tập hợp hành động tích lũy được thực thi và sau đó gói được xếp
hàng đợi để xuất. Hình 7.7 minh họa quy trình đường ống xâm nhập tổng thể.
Nếu quá trình xử lý đầu ra được liên kết với một cổng đầu ra cụ thể, thì sau khi một
gói được chuyển hướng đến một cổng đầu ra khi hồn thành q trình xử lý đi vào,
gói đó sẽ được chuyển hướng đến flow table đầu tiên của đường ống đầu ra. Quá
trình xử lý đường ống đầu ra tiến hành theo cùng một kiểu xử lý đường dẫn nhập,
ngoại trừ việc khơng có q trình xử lý bảng nhóm ở cuối đường ống đầu ra.
21
Nhóm 18
HÌNH 7 Luồng gói qua thiết bị chuyển mạch OpenFlow: Xử lý xâm nhập
Sử dụng nhiều bảng (The Use of Multiple Tables)
Việc sử dụng nhiều bảng cho phép lồng các luồng hoặc nói một cách khác, nó cho
phép chia nhỏ một luồng thành một số luồng con song song. Ví dụ, một mục trong
Bảng 0 xác định một luồng bao gồm các gói truyền qua mạng từ một địa chỉ IP nguồn
cụ thể đến một địa chỉ IP đích cụ thể. Khi một tuyến đường có chi phí thấp nhất giữa
hai điểm cuối này được thiết lập, tất cả lưu lượng giữa hai điểm cuối này có thể có ý
nghĩa theo tuyến đường đó và bước tiếp theo trên tuyến đường đó từ thiết bị chuyển
mạch này có thể được nhập vào Bảng 0. Trong Bảng 1, Các đề mục riêng biệt cho
luồng này có thể được xác định cho các giao thức tầng vận chuyển khác nhau, chẳng
hạn như TCP và UDP. Đối với các luồng con này, cùng một cổng đầu ra có thể được
22
Nhóm 18
giữ lại để các luồng con đều đi theo cùng một lộ trình. Tuy nhiên, TCP bao gồm các
cơ chế kiểm sốt tắc nghẽn phức tạp thường khơng được tìm thấy với UDP, vì vậy
có thể hợp lý để xử lý luồng con TCP và UDP khác nhau về các tham số liên quan
đến QoS. Bất kỳ mục nào trong Bảng 1 có thể ngay lập tức định tuyến luồng con
tương ứng của nó tới cổng đầu ra, nhưng một số hoặc tất cả các đề mục có thể gọi
Bảng 2, chia nhỏ hơn nữa từng luồng con.
Bảng nhóm (Group table)
Trong quá trình xử lý đường ống, flow table có thể hướng một luồng gói đến bảng
nhóm chứ khơng phải đến một flow table khác. Bảng nhóm và các hành động nhóm
cho phép OpenFlow đại diện cho một tập hợp các cổng như một thực thể duy nhất
để chuyển tiếp các gói. Các loại nhóm khác nhau được cung cấp để đại diện cho các
yếu tố trừu tượng chuyển tiếp khác nhau, chẳng hạn như đa hướng và phát sóng.
Mỗi bảng nhóm bao gồm một số hàng, được gọi là đề mục nhóm, mỗi hàng có bốn
thành phần (tham khảo Hình 7.6c):
• Group identifier (Định danh nhóm): Đây là một số nguyên không dấu 32
bit dùng để nhận dạng duy nhất nhóm. Một nhóm được định nghĩa là một mục
nhập trong bảng nhóm.
• Group type (Loại nhóm): Thành phần này xác định ngữ nghĩa của nhóm,
như được giải thích ở phần sau của chương này.
• Counters (Bộ đếm): Thành phần này được cập nhật khi các gói được xử lý
bởi một nhóm.
• Action buckets (Nhóm hành động): Đây là danh sách có thứ tự các nhóm
hành động, trong đó mỗi nhóm hành động chứa một tập hợp các hành động để
thực thi và các tham số được liên kết.
Mỗi nhóm bao gồm một tập hợp một hoặc nhiều nhóm hành động. Mỗi nhóm chứa
một danh sách các hành động. Khơng giống như nhóm hành động được liên kết với
đề mục flow table, là danh sách các hành động được tích lũy trong khi gói được xử
lý bởi mỗi flow table, danh sách hành động trong một nhóm được thực thi khi một
gói đến một nhóm. Danh sách hành động được thực hiện theo trình tự và thường kết
thúc bằng hành động đầu ra, hành động này sẽ chuyển tiếp gói tin đến một cổng được
chỉ định. Danh sách hành động cũng có thể kết thúc bằng hành động nhóm, hành
động này sẽ gửi gói tin đến một nhóm khác. Điều này cho phép xâu chuỗi các nhóm
để xử lý phức tạp hơn.
23
Nhóm 18
Giao thức OpenFlow (OpenFlow Protocol)
Giao thức OpenFlow mơ tả các trao đổi tin nhắn diễn ra giữa bộ điều khiển OpenFlow
và thiết bị chuyển mạch OpenFlow. Thông thường, giao thức được triển khai trên
TLS, cung cấp một kênh OpenFlow an toàn.
Giao thức OpenFlow cho phép bộ điều khiển thực hiện các hành động thêm, cập nhật
và xóa đối với các flow entry trong flow table. Nó hỗ trợ ba loại thơng báo:
• Controller-to-switch: Các thơng báo này được khởi tạo bởi bộ điều khiển
và trong một số trường hợp, yêu cầu phản hồi từ thiết bị chuyển mạch. Lớp
thông báo này cho phép bộ điều khiển quản lý trạng thái logic của thiết bị
chuyển mạch, bao gồm cấu hình và chi tiết của các flow entry và group table
entry . Cũng bao gồm trong lớp này là thông báo gói tin, được gửi bởi bộ điều
khiển đến một thiết bị chuyển mạch khi thiết bị chuyển mạch đó gửi một gói
đến bộ điều khiển và bộ điều khiển quyết định khơng bỏ gói mà chuyển nó đến
một cổng đầu ra của thiết bị chuyển mạch.
• Asynchronous (khơng đồng bộ): Các loại thơng báo này được gửi mà khơng
có sự thu hút từ bộ điều khiển. Lớp này bao gồm các thông báo trạng thái khác
nhau tới bộ điều khiển. Cũng bao gồm thơng điệp gói trong, có thể được sử
dụng bởi thiết bị chuyển mạch để gửi một gói đến bộ điều khiển khi khơng có
bảng luồng phù hợp.
• Symmetric (Đối xứng): Những tin nhắn này được gửi mà không cần sự mời
mọc từ bộ điều khiển hoặc thiết bị chuyển mạch. Chúng đơn giản nhưng hữu
ích. Thơng báo Hello thường được gửi qua lại giữa bộ điều khiển và thiết bị
chuyển mạch khi kết nối được thiết lập lần đầu tiên. Thiết bị hoặc bộ điều
khiển có thể sử dụng các thông báo trả lời và yêu cầu bằng tiếng vang để đo
độ trễ hoặc băng thông của kết nối bộ điều khiển-thiết bị chuyển mạch hoặc
chỉ cần xác minh rằng thiết bị đang hoạt động. Thông báo người thử nghiệm
được sử dụng để hiển thị các tính năng sẽ được tích hợp vào các phiên bản
OpenFlow trong tương lai.
Nói chung, giao thức OpenFlow cung cấp cho bộ điều khiển SDN ba loại thông tin
được sử dụng để quản lý mạng:
• Thơng báo dựa trên sự kiện: Được gửi bởi thiết bị chuyển mạch tới bộ điều
khiển khi xảy ra sự thay đổi liên kết hoặc cổng.
• Thống kê luồng: Được tạo bởi thiết bị chuyển mạch dựa trên lưu lượng truy
cập. Thông tin này cho phép bộ điều khiển giám sát lưu lượng, cấu hình lại
mạng khi cần và điều chỉnh các thông số lưu lượng để đáp ứng các yêu cầu
QoS.
24
Nhóm 18
• Các gói được đóng gói: Được bộ chuyển mạch gửi đến bộ điều khiển bởi vì có
một hành động rõ ràng để gửi gói này trong một flow table entry hoặc vì thiết
bị chuyển mạch cần thơng tin để thiết lập một luồng mới.
Giao thức OpenFlow cho phép bộ điều khiển quản lý cấu trúc logic của một thiết bị
chuyển mạch mà không cần quan tâm đến chi tiết về cách thiết bị chuyển mạch thực
hiện kiến trúc logic OpenFlow.
5. SDN Control Plane ( Mặt phẳng điều khiển SDN)
Control Plane Functions
Lớp điều khiển SDN ánh xạ các yêu cầu dịch vụ lớp ứng dụng thành các lệnh và
chỉ thị đến các công tắc mặt phẳng dữ liệu và các ứng dụng cung cấp với thông tin
về cấu trúc liên kết và hoạt động của mặt phẳng dữ liệu. Lớp điều khiển được triển
khai như một máy chủ hoặc tập hợp các máy chủ hợp tác được gọi là bộ điều khiển
SDN. Phần này cung cấp một cái nhìn tổng quan về chức năng của mặt phẳng điều
khiển.
HÌNH 8 Các chức năng và giao diện mặt phẳng điều khiển SDN
Hình minh họa các chức năng cần thiết mà bất kỳ bộ điều khiển nào cũng cần
cung cấp, bao gồm những điều sau:
25