Professional Documents
Culture Documents
tiểu luận nhóm 02
tiểu luận nhóm 02
MÃ NGUỒN MỞ SDN
HÀ NỘI - 2021
MỤC LỤC
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 “nguyên 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.
1
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.
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.
Các quyết định về các luồng traffic sẽ được quyết định tập trung tại OpenFlow
Controller giúp đơn giản trong việc quản trị cấu hình trong toàn hệ thống.
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.
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.
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
bang 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:
2
- Tập trung hóa điều khiển trong môi trường nhiều nahf 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.
3
đặc biệt là trong SDN mã nguồn mở đã xảy ra trong học thuậ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 thuậ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ã nguồ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ể 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. Bọn em cung cấp thêm chi tiết về ODL trong Phần 8.
4
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à:
• Thiết bị OpenFlow
• Bộ điều khiển OpenFlow
• Các ứng dụng SDN
• Ảo hóa mạng
• Kiểm tra và mô phỏng
Danh mục cuối cùng, Thử nghiệm và Mô phỏng, được hiển thị ở bên cạnh của sơ
đồ vì nó không vừa khít thành một hệ thống phân cấp từ dưới lên trên. Đối với mỗi danh
mục này, chúng tôi hiển thị trong ô gọi ra những điều đáng chú ý nguồn mở có sẵn đóng
góp vào danh mục đó. Trong các phần tiếp theo, chúng tôi cung cấp bản kiểm kê của phần
mềm này. Một số trong số này nổi lên như là cơ sở cho việc triển khai thương mại mạng
ảo hóa và SDN và trong những trường hợp đó, chúng tôi sẽ khám phá sản phẩm mã nguồn
mở liên quan một cách chi tiết hơn chiều sâu. Khi chúng tôi chuyển qua các thành phần
mạng khác nhau trong phần 7-13, chúng tôi khuyến khích người đọc hãy nhìn lại hình 1 để
đặt các dự án mã nguồn mở đó trong bối cảnh của hệ sinh thái SDN.
Cách thức mà phần mềm nguồn mở có thể được khai thác thương mại phụ thuộc
vào bản chất của giấy phép nguồn mở mà theo đó nó được cung cấp và những giấy phép
này hoàn toàn không được tạo ra bình đẳng. Vì vậy, trước khi thảo luận về bản thân các
mô-đun phần mềm, chúng ta sẽ xem xét các loại phổ biến của giấy phép nguồn mở đang
được sử dụng ngày nay.
5
V. CÁC LỖI CẤP PHÉP NGUỒN
Trừ khi một người đã tham gia mật thiết vào việc xây dựng một sản phẩm thương mại
kết hợp mở phần mềm nguồn, không chắc rằng người đó hiểu được sự phức tạp của lĩnh
vực nguồn mở này cấp phép. 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í.
Có nhiều sắc thái giữa các giấy phép phần mềm miễn phí này có vẻ phức tạp đối với
một điều không hợp pháp cao thủ. 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. Chúng tôi sẽ cung cấp một mô tả ngắn gọn về các giấy phép khác
nhau mà theo đó nguồn được đề cập trong chương này đã được phát hành, trả tiền cụ thể
chú ý đến các phân nhánh kinh doanh của việc lựa chọn kết hợp phần mềm theo từng giấy
phép trong một sản phẩm thương mại.
Một mẫu số chung được chấp nhận của mã nguồn mở là nó là mã nguồ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ã
nguồ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 đó.
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à nguồ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
6
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 nguồ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.
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ã nguồ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 yê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ị buộc phải tiết lộ tài
sản trí tuệ của riêng họ cho toàn bộ cộng đồng nguồn mở. Yê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 nguyên 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 đó.
7
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ã nguồ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.
Các giấy phép đã được phê duyệt này là giấy phép phổ biến nhất trong số các giấy phép
nguồn mở được thảo luận trong chương này. Đáng chú ý là một ứng dụng mã nguồn mở
có thể được phát hành theo giấy phép thân thiện hơn về mặt thương mại, chẳng hạn như
Apache, không yêu cầu dẫn xuất hoạt động trên mã ứng dụng được phát hành cho cộng
đồng nguồn mở, cho phép nhà phát triển bảo vệ tài sản trí tuệ mới được tạo của mình.
8
• 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 nguồ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ã nguồ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 nguồn mở và do đó, có thể thích một
giấy phép copyleft bắt buộ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 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 nguồ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ẽ luôn 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ã nguồ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 muố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 muố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ã.
9
• Nhà điều hành đám mây có thể sử dụng một ứng dụng SDN nguồ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 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ó.
Bảng 1: Mô tả các bộ điều khiển mã nguồn mở openFlow
10
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.
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à nguồn cung cấp một số triển khai bộ điều khiển khác, sử dụng mã OpenFlowJ.
11
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.
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 4: thông tin chi tiết của các mã nguồn mở
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.
12
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.
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ó nguyên bản hỗ trợ OVSDB, OpenFlow và sFlow.
Pantou thực sự được thiết kế để biến các APs hàng hóa thành một AP hỗ trợ
OpenFlow. Điều này được thực hiện bằng cách tích hợp triển khai NOX OpenFlow với
OpenWRT.
OpenWRT là một dự án mã nguồn mở áp dụng nguyên tắc SDN opening up the
device để mở thiết bị lên nhiều lựa chọn phần cứng AP dành cho người tiêu dùng giá rẻ.
Sự với chức năng AP không dây cơ bản có sẵn trên phần cứng giá rẻ là một lợi ích cho các
nhà nghiên cứu muốn thử nghiệm với lĩnh vực SDN phần lớn nguyên vẹn được áp dụng
cho mạng 802.11.
13
Beacon là một bộ điều khiển có ảnh hưởng lớn, cả về lượng lớn nghiên cứu và phát triển
OpenFlow ban đầu được thực hiện trên bộ điều khiển đó cũng như là cơ sở mã mà từ đó
mã nguồn bộ điều khiển Floodlight được phân nhánh.
Beacon là một bộ điều khiển OpenFlow mô-đun, đa nền tảng. Đến năm 2013,
Beacon đã được triển khai thành công trong một trung tâm dữ liệu thử nghiệm bao gồm 20
thiết bị chuyển mạch vật lý và 100 thiết bị chuyển mạch ảo. Nó chạy trên nhiều nền tảng
khác nhau, bao gồm cả các máy chủ Linux cao cấp. Trong khi mã bộ điều khiển cốt lõi
được bảo vệ bằng các điều khoản giống GPL-like, The FOSS (phần mềm nguồn mở) cho
phép các nhà phát triển mở rộng bộ điều khiển với các ứng dụng có thể được cấp phép theo
các điều khoản thương mại có lợi hơn. Beacon’s ổn định phân biệt nó với các bộ điều khiển
khác được sử dụng chủ yếu cho mục đích nghiên cứu.
14
Bảng 6: Bộ điều khiển nguồn mở lịch sử và hiện tại
- NOX là bộ điều khiển OpenFlow ban đầu. Nó phục vụ như một nền tảng điều
khiển mạng, cung cấp một giao diện lập trình cấp cao để quản lý và phát triển
các ứng dụng điều khiển mạng.
- Beacon là bộ điều khiển OpenFlow nhanh, đa nền tảng, mô-đun, dựa trên
Java, hỗ trợ cả hoạt động dựa trên sự kiện và hoạt động theo luồng
- POX: POX là một nền tảng phần mềm mạng được viết bằng Python., hoạt
động như một bộ điều khiển OpenFlow hỗ trợ OpenFlow 1.0 và bao gồm hỗ
trợ đặc biệt cho các tiện ích mở rộng Open vSwitch/Nicira.
Các mô-đun của Beacon có thể được khởi động, dừng và thậm chí được cài đặt trong
khi các thành phần khác của Beacon tiếp tục hoạt động. Bằng chứng về tác động của cơ sở
mã này đối với bộ điều khiển OpenFlow được tìm thấy trong tên của hai trong số các bộ
điều khiển nguồn mở có ảnh hưởng hơn đang được ngành công nghiệp sử dụng ngày nay,
Floodlight và OpenDaylight, cả hai đều lặp lại ý nghĩa chiếu sáng của tên Beacon Trong
8 Floodlight
Floodlight đã được phân nhánh từ Beacon trước khi Beacon được cung cấp theo mô
hình cấp phép GPL/FOSS hiện tại. Vì bản thân Floodlight được cấp phép theo giấy phép
Apache 2.0, nó không phải tuân theo các điều khoản copyleft của giấy phép Beacon và
nguồn do đó có nhiều khả năng được sử dụng bởi những người nhận mã, những người cần
bảo vệ tài sản trí tuệ của các sản phẩm phái sinh của họ trên cơ sở mã. Floodlight cũng
được tích hợp với OpenStack.
Một số bộ điều khiển OpenFlow thương mại đang được phát triển bằng cách sử
dụng Floodlight làm điểm khởi đầu. Điều này bao gồm bộ điều khiển thương mại của riêng
Big Switch, bộ điều khiển mạng lớn. Chiến lược kinh doanh của Big Switch xoay quanh
15
bộ điều khiển nguồn mở rất phức tạp. Họ cung cấp một nhóm ứng dụng hoạt động với bộ
điều khiển Floodlight. Mặc dù bộ điều khiển thương mại của họ sẽ không phải là mã nguồn
mở, nhưng chúng hứa hẹn sẽ duy trì khả năng tương thích ở cấp độ giao diện giữa phiên
bản thương mại và mã nguồn mở. Điều này phản ánh một cách tiếp cận khá cổ điển để xây
dựng một doanh nghiệp phần mềm, đó là tặng một phiên bản mã nguồn mở của chức năng
để khởi động cộng đồng người dùng công nghệ, hy vọng rằng nó đạt được sức hút và sau
đó cung cấp một phiên bản thương mại có thể được nâng cấp bán cho những người sử dụng
tốt yêu cầu hỗ trợ thương mại và các tính năng mở rộng. Big Switch đã tham gia dự án
OpenDaylight, quyên góp bộ điều khiển Floodlight của họ cho nỗ lực này, với hy vọng
rằng điều này sẽ phổ biến hơn nữa cho Floodlight.
Floodlight là bộ điều khiển OpenFlow dựa trên Java được cộng đồng nhà phát
triển lớn nhất thế giới thử nghiệm và hỗ trợ cho bộ điều khiển SDN., hỗ trợ một loạt
các công tắc ảo dựa trên hypervisor như Open vSwitch và hệ sinh thái đang phát
triển của các công tắc OpenFlow.
9.3 OpenDayLight
Dự án OpenDaylight (ODL) được thành lập vào đầu năm 2013 để cung cấp một
khung SDN mã nguồn mở nhằm thúc đẩy và tăng cường phổ biến đổi mới trong thiết kế
và thực hiện một tiêu chuẩn công khai và minh bạch về mạng do phần mềm SDN xác định.
Hiện tại dự án có sự hỗ trợ của các công ty lớn và được công nhận bao gồm Cisco,
Brocade, Ericsson, Citrix, Intel, HP, Dell và Red Hat. Không giống như Open Networking
Foundation (ONF), ODL chỉ coi OpenFlow là một trong nhiều lựa chọn thay thế để cung
cấp phần mềm kiểm soát thiết bị mạng. Một phần của việc cung cấp ODL bao gồm một bộ
điều khiển mã nguồn mở.
Big Switch đã tham gia và tặng bộ điều khiển Floodlight của họ cho ODL, dự đoán
Floodlight sẽ trở thành thành phần OpenFlow chính của dự án. Kỳ vọng này nhanh chóng
tan vỡ, khi ODL quyết định lấy Bộ điều eXtensible Network Controller (XNC) của Cisco
làm trung tâm và chỉ đơn thuần thêm công nghệ Floodlight vào lõi đó. Sau đó, Big Switch
đã giảm bớt sự tham gia của mình vào dự án ODL và rút lui hoàn toàn.
9.4 ONOS
Nhiều nhà cung cấp dịch vụ và nhà cung cấp vận tải lớn cùng đầu tư vào phát triển
ODL cũng đang đầu tư vào ONOS.Nhiều công ty trong số này đã góp phần vào việc hình
thành ONOS như một đối thủ cạnh tranh với ODL. Do đó, không có gì ngạc nhiên khi
ONOS nhanh chóng trở thành một nhân tố chính trong cuộc tranh luận về bộ điều khiển
SDN nguồn mở.
Giống như ODL, ONOS được hỗ trợ bởi một số nhà cung cấp dịch vụ và nhà cung
cấp lớn, bao gồm Alcatel-Lucent, AT&T, China Unicom, Ciena, Cisco, Ericsson, Fujitsu,
Huawei, Intel, NEC, NTT Communications, v.v. Quỹ Linux cũng đã ký kết hợp tác chiến
16
lược với dự án ONOS. Do đó, nền tảng hỗ trợ cả ODL và ONOS. Hai bộ điều khiển về cơ
bản có các khu vực trọng tâm khác nhau. ODL nhấn mạnh các giao thức kế thừa trong khi
ONOS nhấn mạnh OpenFlow.
Một cách để so sánh mức độ hoạt động của ODL so với ONOS là xem số lượng mã
và số lượng người đóng góp cho các dự án mã nguồn mở tương ứng của họ. BlackDuck
Open HUB theo dõi các dự án mã nguồn mở, tính toán các số liệu thống kê như những dự
án đã được trích dẫn trước đó. Tại thời điểm viết bài này, các con số cho cả hai dự án trong
12 tháng trước đó được thể hiện trong Bảng 7. Rõ ràng từ bảng này, ODL dẫn đầu đáng kể
về số lượng người đóng góp và dòng mã, mặc dù cũng đúng là ONOS xuất hiện ít hơn
ODL.
Bảng 7: Thống kê đóng góp năm 2015 cho OpenDaylight và ONOS
X. SDN APPLICATIONS
Ứng dụng SDN là một chương trình phần mềm được thiết kế để thực hiện một tác
vụ trong môi trường mạng (SDN) do phần mềm xác định. Các ứng dụng SDN có thể thay
thế và mở rộng dựa trên các chức năng được triển khai thông qua phần sụn trong các thiết
bị phần cứng của mạng thông thường. Một số ứng dụng SDN nguồn mở hiện đang sử dụng
rộng rãi. Các ứng dụng SDN mã nguồn mở được trình bày ở phần dưới. Bản chất của thuật
ngữ ứng dụng là chung chung, vì vậy không thể liệt kê tất cả các loại ứng dụng SDN có
thể có. Tuy nhiên, bốn chủ đề chính xuất hiện thu hút sự chú ý sớm nhất đối với các ứng
dụng SDN. Đó là bảo mật, định tuyến, quản lý mạng và ảo hóa chức năng mạng (NFV).
Có ba ví dụ liên quan đến định tuyến là TheBIRD, Quagga là một triển khai định tuyến mã
nguồn mở cho mục đích chung phù hợp để sử dụng trong môi trường SDN và Routeflow
dành riêng cho SDN. Ở đây mô tả một ví dụ cụ thể về mã nguồn mở đang được sử dụng
để triển khai mạng SDN hoàn chỉnh trong đó Routeflow và Quagga được sử dụng cùng
nhau. Avior là một ứng dụng quản lý mạng cho bộ điều khiển Floodlight.
OpenFlow có tiềm năng lớn để cung cấp thế hệ bảo mật mạng tiếp theo. Hai ví dụ
về điều này trong bảng 8 là FortNOX và Fresco ứng dụng NFV là lớp ứng dụng ảo hóa
chức năng dịch vụ mạng được thực hiện bởi một thiết bị độc lập trong các mạng kế thừa.
Ví dụ về các thiết bị như vậy là bộ cân bằng tải lưu lượng và hệ thống phát hiện xâm nhập.
FlowScale là một ứng dụng NFV triển khai bộ cân bằng tải lưu lượng như một ứng dụng
bộ điều khiển OpenFlow. Một số ứng dụng nguồn mở được đề cập trong phần này là ứng
dụng OpenFlow, trong đó các vấn đề về miền cụ thể được giải quyết thông qua các ứng
17
dụng giao tiếp với bộ điều khiển OpenFlow thông qua giao diện hướng bắc của nó. Tuy
nhiên, không phải tất cả các ứng dụng SDN đều là ứng dụng OpenFlow.
18
có thể định cấu hình và đặt trước một bộ kết nối mạng tùy chỉnh, đáng tin cậy
chỉ trong vài phút chứ không phải vài tuần.
5. The BIRD: Hỗ trợ IPv4 và IPv6 bằng cách chạy các daemon riêng biệt. Nó thiết
lập nhiều bảng định tuyến và sử dụng các giao thức định tuyến BGP, RIP và
OSPF, cũng như các tuyến đường được xác định tĩnh.
6. FlowScale: Bộ cân bằng tải lưu lượng truy cập như một dịch vụ sử dụng
OpenFlow. FlowScale là một dự án để phân chia và phân phối lưu lượng qua
nhiều cổng chuyển mạch vật lý. FlowScale sao chép chức năng trong các thiết
bị cân bằng tải nhưng sử dụng công tắc Top of Rack (ToR) để phân phối lưu
lượng truy cập. Sử dụng phần mềm để xử lý đặc điểm mặt phẳng điều khiển
nhưng chuyển phần cứng để thực hiện chuyển tiếp vừa mang lại tính linh hoạt
cao vừa cho phép chi phí thấp, triển khai thông lượng cao.
7. Frenetic: Cung cấp ngôn ngữ để lập trình bộ điều khiển OpenFlow trừu tượng
hóa các chi tiết cấp thấp liên quan đến việc giám sát, chỉ định và cập nhật các
chính sách chuyển tiếp gói.
8. FortNOX: Khung bảo mật ban đầu được kết hợp với bộ điều khiển NOX, bây
giờ tích hợp trong SE-Floodlight. Mở rộng bộ điều khiển OpenFlow thành một
dịch vụ hòa giải an ninh và có thể dung hòa các quy tắc mới chống lại các quy
tắc đã thiết lập chính sách.
9. FRESCO: Ứng dụng bảo mật được tích hợp với FortNOX cung cấp ngôn ngữ
kịch bản cụ thể về bảo mật cho các mô-đun giảm thiểu và phát hiện bảo mật
nguyên mẫu nhanh chóng.
10. Atrium: Tích hợp các thành phần mã nguồn mở độc lập. Nó là một tập hợp các
thành phần mã nguồn mở được tích hợp theo chiều dọc, cùng nhau tạo thành một
ngăn xếp SDN hoàn chỉnh. Mục tiêu của nó là: Thu hẹp khoảng cách tích hợp
lớn của phần tử, vượt qua khoảng cách lớn về khả năng tương tác và phối hợp
chặt chẽ với các nhà khai thác mạng về các trường hợp sử dụng có thể triển khai.
11. PIF: Biểu diễn trung gian chuyển tiếp độc lập với giao thức cho các đường dữ
liệu.
12. Boulder: Giao diện hướng bắc dựa trên ý định (NBI). NBI đóng một vai trò quan
trọng trong việc thúc đẩy việc áp dụng SDN vì nó cho phép các nhà phát triển
tự do phát triển các ứng dụng tạo doanh thu của họ mà không bị ảnh hưởng và
hạn chế bởi sự phức tạp của các mạng bên dưới. Để làm như vậy, NBI phải cho
phép các ứng dụng thể hiện các yêu cầu và rang buộc của chúng bằng ngôn ngữ
dành riêng cho ứng dụng của chúng và bộ điều khiển SDN phải dịch các yêu cầu
đó sang ngôn ngữ cụ thể của mạng SDN để cung cấp tài nguyên và dịch vụ mạng
nhằm đáp ứng các yêu cầu của ứng dụng.
13. Aspen: Đặc điểm kỹ thuật giao diện phương tiện thời gian thực (ONF). Aspen
bắt nguồn từ một ý tưởng trong cộng đồng truyền thông hợp nhất, muốn sử dụng
SDN để cung cấp dịch vụ hiệu quả hơn. Các doanh nghiệp triển khai cơ sở hạ
19
tầng truyền thông hợp nhất thường có một số phần quản lý cần biết luồng nào là
quan trọng và chất lượng dịch vụ nào nên được cung cấp, và do đó có thể duy trì
nhận thức về QoS mà không cần phải tin tưởng vào việc đánh dấu QoS trên tất
cả các gói, điều này sẽ cực kỳ phức tạp để quản lý và có thể được áp dụng một
cách gian lận. Aspen nhằm mục đích giải quyết vấn đề này.
20
Product name Description
FlowVisor Tạo các phần tài nguyên mạng, ủy quyền kiểm soát từng phần, nghĩa
là cho phép nhiều bộ điều khiển OpenFlow chia sẻ một tập hợp các
công tắc vật lý.
Maestro Cung cấp giao diện cho các ứng dụng điều khiển mạng để truy cập
và sửa đổi mạng.
OESS Cung cấp cấp phép VLAN do người dùng kiểm soát bằng OpenFlow
công tắc.
NetL2API Cung cấp API chung để điều khiển công tắc lớp 2 thông qua CLI của
nhà cung cấp, không phải OpenFlow và có thể sử dụng để ảo hóa
mạng không phải OpenFlow.
Neutron Thành phần mạng của hệ điều hành OpenStack hỗ trợ nhiều plugin
mạng, bao gồm cả OpenFlow.
Bảng 9. Open-Source Orchestration Solutions: Description
21
Product Name Description
Cbench Trình chuẩn bộ điều khiển OpenFlow. Mô phỏng một số biến
chuyển, gửi PACKET_IN thông báo tới bộ điều khiển đang được
kiểm tra từ các công tắc và quan sát phản hồi từ bộ điều khiển
OFLOPS Công cụ đánh giá công tắc OpenFlow. Một bộ điều khiển độc lập gửi
và nhận tin nhắn đến/từ một công tắc OpenFlow để mô tả đặc điểm
của nó hiệu suất và quan sát phản hồi từ bộ điều khiển
Mininet Mô phỏng các mạng chuyển mạch và máy chủ lớn. Không dành riêng
cho SDN, nhưng được sử dụng rộng rãi bởi các nhà nghiên cứu SDN,
những người mô phỏng công tắc OpenFlow và tạo ra lưu lượng truy
cập cho bộ điều khiển OpenFlow
OFTest Kiểm tra chuyển đổi sự tuân thủ với các phiên bản giao thức
OpenFlow lên đến 1.2
Bảng 11: Open-Source Test and Simulation: Description
22
phụ thuộc tối thiểu vào các ổ lưu trữ hàng hóa cung cấp dung lượng lưu trữ vật lý thực tế.
Cinder cung cấp các phiên bản máy tính OpenStack với quyền truy cập vào tập tin và chặn
các thiết bị lưu trữ. Quyền truy cập này có thể được sử dụng với hầu hết các nền tảng lưu
trữ phổ biến trong điện toán đám mây ngày nay.
23
loại Plugin mạng khác nhau. Do đó, OpenStack và OpenFlow có thể kết hợp để cung cấp
giải pháp mạng toàn diện cho điện toán đám mây, nhưng cả hai đều không bị ràng buộc
độc quyền với giải pháp khác. Như trong Hình 4, OpenStack có thể sử dụng các Neutron
Plugin để điều khiển các thiết bị mạng kế thừa, một bộ điều khiển OpenFlow điều khiển
các công tắc vật lý hỗ trợ OpenFlow hoặc các công tắc ảo như OVS. Ví dụ: việc triển khai
giao diện OVS bao gồm chính plugin hỗ trợ các API hướng bắc Neutron tiêu chuẩn và một
tác nhân nằm trên các nút tính toán Nova trong kiến trúc OpenStack. Một phiên bản OVS
chạy cục bộ trên nút tính toán đó và được điều khiển thông qua tác nhân đó. OpenStack
cho thấy một bản tóm tắt của một nhóm mạng ảo. Điều này có liên quan chặt chẽ đến sự
trừu tượng hóa mạng ảo mà chúng ta đã thảo luận liên quan đến giải pháp SDN qua Lớp
phủ. Vì vậy, ví dụ, với OpenStack người ta có thể tạo một mạng và sử dụng mạng đó cho
một đối tượng thuê cụ thể, mạng này ánh xạ khá tốt tới khái niệm giải pháp SDN qua Lớp
phủ. OpenStack có các plugin cho nhiều giải pháp lớp phủ hiện có.
25
Internet ngày nay hoàn toàn phụ thuộc vào dòng giao thức định tuyến này. Vì vậy, không
có cơ chế rõ ràng để tích hợp thông tin họ mang vào mạng OpenFlow, việc sử dụng
OpenFlow sẽ vẫn bị hạn chế đối với việc triển khai trung tâm dữ liệu biệt lập. Trong hình
5, chúng ta thấy mạng thử nghiệm được kết nối với đám mây Internet với thông tin định
tuyến BGP được đưa vào mạng thử nghiệm thông qua kết nối đó. Bản thân mạng thử
nghiệm bao gồm một công tắc lớp 2/lớp 3 kế thừa để truyền thông tin định tuyến tới phần
OpenFlow của mạng thử nghiệm qua OSPF.
Trong mạng thử nghiệm, một đám mây gồm bốn công tắc OpenFlowenabled dưới sự điều
khiển của bộ điều khiển OpenFlow. Bộ điều khiển OpenFlow này đã được kết nối đến máy
chủ RouteFlow. Máy chủ RouteFlow, đến lượt nó, thu thập thông tin bảng định tuyến từ
thiết bị chuyển mạch ảo trong đám mây liền kề. Hình 6 cho thấy các thành phần tương tự
này trong một kiến trúc hệ thống quan điểm. Điều quan trọng là tất cả các thành phần được
trình bày trong Hình 6 đều có nguồn gốc từ mã nguồn mở các dự án, mặc dù không phải
tất cả đều dành riêng cho SDN.
Máy chủ Routeflow thông qua giao thức Routeflow. Máy chủ Routeflow do đó duy trì kiến
thức toàn cầu về các bảng định tuyến phân tán riêng lẻ trong mỗi bộ định tuyến ảo và có
thể sử dụng thông tin này để ánh xạ các luồng tới cấu trúc liên kết thực của các thiết bị
chuyển mạch hỗ trợ OpenFlow. Thông tin này được truyền từ máy chủ Routeflow tới proxy
Routeflow, là một ứng dụng bộ điều khiển OpenFlow chạy trên cùng một máy với bộ điều
khiển OpenFlow. Tại thời điểm này, thông tin định tuyến đã được dịch sang bộ giá trị
OpenFlow có thể được lập trình trực tiếp vào các công tắc OpenFlow bằng giao thức
OpenFlow.
26
Quá trình này dẫn đến việc phần cứng hỗ trợ OpenFlow chuyển tiếp các gói giống như
chúng sẽ làm nếu chúng tuân theo các bảng định tuyến cục bộ được điền bởi các phiên bản
cục bộ của OSPF và BGP đang chạy trên mỗi chuyển mạch, như trường hợp của các chuyển
mạch lớp 3 kế thừa. Các luồng được lập trình một cách chủ động do thông tin về tuyến
đường bên ngoài.
27