Thực tế là dựa trên giả thiết đó, người ta đã nghiên cứu và phát triển thành một mạng mà ở đó nhiệm vụ điều khiển mạng được xử lý bởi các bộ điều khiển và các bộ điều khiển đó có thể tha
Trang 1Đồ án tốt nghiệp Mục lục
MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
THUẬT NGỮ VIẾT TẮT iv
DANH MỤC HÌNH VẼ v
LỜI NÓI ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ SDN 2
1.1 GIỚI THIỆU CHUNG 2
1.2 ĐẶT VẤN ĐỀ 2
1.3 KHÁI NIỆM VÀ CẤU TRÚC MẠNG SDN 5
1.4 ƯU NHƯỢC ĐIỂM CỦA SDN SO VỚI MẠNG IP 8
1.5 KẾT LUẬN CHƯƠNG 10
CHƯƠNG 2: MẶT BẰNG DỮ LIỆU SDN VÀ OPENFLOW 11
2.1 MẶT BẰNG DỮ LIỆU SDN 11
2.1.1 Chức năng của mặt bằng dữ liệu 11
2.1.2 Các giao thức trong mặt bằng dữ liệu 12
2.2 THIẾT BỊ MẠNG OPENFLOW 12
2.2.1 Cấu trúc flow table 15
2.2.2 Thành phần chỉ thị 16
2.2.3 Đường dẫn bảng luồng 17
2.2.4 Sử dụng nhiều bảng 20
2.3 GIAO THỨC OPENFLOW 21
2.4 KẾT LUẬN CHƯƠNG 22
CHƯƠNG 3: MẶT BẰNG ĐIỀU KHIỂN SDN 23
3.1 KIẾN TRÚC CỦA MẶT BẰNG ĐIỀU KHIỂN SDN 23
3.1.1 Các chức năng mặt bằng điều khiển 23
3.1.2 Giao diện hướng Nam 25
3.1.3 Giao diện hướng Bắc 26
3.1.3 Định tuyến 28
3.2 OPENDAYLIGHT 29
3.2.1 Kiến trúc OpenDaylight 29
3.2.2 REST 31
3.2.3 Bộ điều khiển tập trung và phân tán 32
3.2.4 OpenDaylight SDNi 33
3.3 KẾT LUẬN CHƯƠNG 34
CHƯƠNG 4: MÔ PHỎNG MẠNG VỚI MININET VÀ OPENDAYLIGHT 35
4.1 GIỚI THIỆU VỀ CÁC CÔNG CỤ SỬ DỤNG TRONG MÔ PHỎNG 35
4.1.1 Mininet 35
Trang 2Đồ án tốt nghiệp Mục lục
4.1.2 OpenDaylight 35
4.2 GIỚI THIỆU VỀ MÔ HÌNH TRIỂN KHAI: 35
4.3 TRIỂN KHAI BỘ ĐIỀU KHIỂN DỰ PHÒNG 36
4.3.1 Cài đặt Mininet 36
4.3.2 Cài đặt Opendaylight 36
4.3.3 Tiến hành thử nghiệm 37
4.4 KẾT LUẬN CHƯƠNG 40
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 41
TÀI LIỆU THAM KHẢO 42
Trang 3Đồ án tốt nghiệp Thuật ngữ viết tắt
THUẬT NGỮ VIẾT TẮT
API Application Programming Interface Giao diện lập trình ứng dụng
FTP File Transfer Protocol Giao thức truyền tải tệp
MAC Media Access Contro Điều khiển truy cập dịch vụ
ONF Open Networking Foundation
ODL OpenDaylight
ITU International Telecommunication Union Tổ chức Viễn thông quốc tế
PDU Protocol Data Unit Đơn vị dữ liệu giao thức
SDN Software Defined Networking Mạng định nghĩa bằng phần mềm SNMP Simple Network Management Protocol Giao thức quản lý mạng đơn giản SMTP Simple Mail Transfer Protocol Giao thức truyền thư đơn giản
TCP Transmission Control Protocol Giao thức điều khiển truyền tải
TLS Transport Layer Security Bảo mật lớp truyền tải
UDP User Datagram Protocol Giao thức truyền tải gói người dùng VLAN Virtual Local Area Network Mạng LAN ảo
Trang 4Đồ án tốt nghiệp Danh mục bảng biểu & hình vẽ
DANH MỤC HÌNH VẼ
Hình 1.1 So sánh kiến trúc mạng truyền thống và SDN 5
Hình 1.2 Kiến trúc mạng SDN 7
Hình 2.1 Mặt bằng dữ liệu của thiết bị mạng 11
Hình 2.2 Môi trường OpenFlow 13
Hình 2.3 OpenFlow switch 14
Hình 2.4 Định dạng của một OpenFlow table entry 15
Hình 2.5 Sơ đồ khối của luồng gói tin khi qua một OpenFlow Switch 18
Hình 2.6 Luồng gói tin qua một OpenFlow switch (xử lý đầu vào) 19
Hình 2.7 Luồng gói tin qua một OpenFlow switch (xử lý đầu ra) 20
Hình 2.9 Ví dụ về các flow lồng nhau 21
Hình 3.1 Các giao diện và chức năng mặt bằng điều khiển 23
Hình 3.2 Các giao diện của bộ điều khiển SDN 25
Hình 3.3 Cấp độ của giao diện hướng bắc 27
Hình 3.4 Các API của bộ điều khiển SDN 27
Hinh 3.5 Kiến trúc của Opendaylight 29
Hình 3.8 Mô hình lớp dịch vụ trừu tượng 31
Hình 3.9 Cấu trúc miền SDN 32
Hình 4.1: Mô hình triển khai demo 35
Hình 4.2: Trang đăng nhập OpenDaylight 36
Hình 4.3 Hiển thị mô hình mạng trong OpenDaylight 38
Hình 4.4: Kiểm tra kết nối giữa các host 38
Hình 4.5: Bảng Flow hiển thị Action của h1 và h2 39
Hình 4.6: Kiểm tra kết nối giữa h1 và h2 39
Hình 4.7: Flow Table 39
Hình 4.8: Kiểm tra kết nối giữa h1 và h3 39
Trang 5Đồ án tốt nghiệp Lời nói đầu
LỜI NÓI ĐẦU
Internet ngày càng phát triển và quan trọng đối với mỗi chúng ta Sự phát triển hàng ngày, hàng giờ với các tính năng mới mang đến cho người dùng những trải nghiệm và phục vụ tốt hơn nhu cầu cuộc sống mỗi người
Đi xuống một cấp độ thấp hơn, cấp độ mạng, chúng ta có thể nhận ra rằng, sự phát triển ở cấp độ này diễn ra chậm hơn rất nhiều Không có nghi ngờ nào về sự phát triển ngày càng mạnh mẽ của cơ sở hạ tầng mạng internet trên “mặt số lượng”, băng thông tổng cộng tăng lên nhanh chóng, các kỹ thuật mới ở Layer 2 được áp dụng, tuy nhiên sự thay đổi về mặt cấu trúc đến thời điểm hiện tại là gần như không đáng kể Một trong những nguyên nhân cho vấn đề này là vì cấu trúc mạng “ 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
Đồ án đưa ra một cái nhìn tổng quan về mạng SDN và giao thức OpenFlow Nội dung đồ án bao gồm 4 phần chính:
Chương 1: Tổng quan về SDN
Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
Chương 3: Mặt bằng điều khiển SDN
Chương 4: Mô phỏng mạng với Mininet và OpenDaylight
Trang 6Đồ án tốt nghiệp Chương 1: Tổng quan về SDN
CHƯƠNG 1: TỔNG QUAN VỀ SDN
1.1 GIỚI THIỆU CHUNG
Chính thức ra đời vào khoảng 2008 tại đại học Stanford, Mĩ nhưng Mạng khả trình (Software Defined Networking – SDN) đã tạo ra một cuộc cách mạng trong nền công nghiệp IT, và dự đoán rằng trong thời gian tới, SDN sẽ thay thế toàn bộ hệ thống mạng truyền thống Hầu hết các mạng thông thường đều theo kiến trúc phân cấp, được xây dựng với các tầng của thiết bị chuyển mạch Ethernet, được sắp xếp theo cấu trúc cây Thiết kế này thực sự hiệu quả khi mô hình tính toán client – server chiếm ưu thế, nhưng kiến trúc cố định như vậy không thích hợp với yêu cầu tính toán đa dạng, linh hoạt và nhu cầu lưu trữ dữ liệu tại các trung tâm dữ liệu của doanh nghiệp, trường học
và trong môi trường của các nhà cung cấp dịch vụ Một số xu hướng tính toán quan trọng dẫn tới yêu cầu ngày càng tăng cho một mô hình mạng mới bao gồm: sự thay đổi
mô hình lưu lượng; hướng tới người dùng CNTT; sự phát triển của các dịch vụ điện toán đám mây; “Dữ liệu lớn” yêu cầu nhiều băng thông hơn
1.2 ĐẶT VẤN ĐỀ
Bộ giao thức truyền thống TCP/IP được xem như là một chuẩn sử dụng từ giữa những năm 80 của thế kỷ trước Đây là một hệ thống điều khiển cồng kềnh và không linh hoạt đối với mạng máy tính Vì nó vừa “ nghĩ” vừa “làm”, điều đó có nghĩa là đầu tiên nó phải giải quyết bài toán xây dựng định tuyến, sau đó là áp dụng các tuyến đường này
Trong các mạng hiện tại, chức năng điều khiển và truyền tải dữ liệu được kết hợp, đi liền với nhau, nó làm cho việc kiểm soát, điều khiển rất phức tạp Cách tiếp cận dựa trên TCP/IP này gây ra một số hạn chế rất nghiêm trọng trong hoạt động với các tài nguyên của mạng
Dễ thấy rằng số lượng và tính phức tạp của các giao thức rất lớn và phức tạp (Ngày nay số giao thức và các phiên bản giao thức được sử dụng thường xuyên đã vượt quá 600), việc kết hợp sự điều khiển và truyền dữ liệu làm cho quá trình kiểm soát cũng như điều khiển hoạt động mạng trở nên quá phức tạp đòi hỏi người quản lý phải có tay nghề và chuyên môn cao Vấn đề bảo mật đến thời điểm hiện tại vẫn không
có giải pháp nào có độ tin cậy quá cao Việc thêm vào bất kỳ sự thay đổi nào trong các thiết bị của mạng đều mất rất nhiều thời gian, chi phí cao và bắt buộc phải có sự tham gia của nhà sản xuất (vì tính độc quyền) Và vì thế, không ai có thể đảm bảo rằng những thiết bị mạng này chỉ chứa các chức năng đã được mô tả trong các tài liệu đính kèm sản phẩm Đây là lí do vì sao có rất nhiều vụ bê bối nghe lén và đánh cắp dữ liệu diễn ra thời gian qua Các thiết bị của mạng ngày nay là những thiết bị mang tính độc quyền, thiết bị “đóng”, cản trở cho sự đổi mới, cập nhật và phát triển từ hướng người chủ của mạng, hay cộng đồng mạng
Trang 7Đồ án tốt nghiệp Chương 1: Tổng quan về SDN
Việc đáp ứng tất cả các nhu cầu hiện tại của thị trường gần như là không thể với
mô hình mạng truyền thống Phòng quản trị mạng của các công ty phải tìm cách hạn chế tối đa mạng của mình với việc sử dụng các công cụ điều khiển ở mức độ thiết bị
và sử dụng các quá trình điều khiển bằng tay, lý do của vấn đề này chính là vì ngân sách được chi cho họ ngày càng bị cắt giảm, nếu may mắn thì chỉ được duy trì không đổi Với những nhà khai thác mạng, họ cũng gặp vấn đề tương tự Ta có thể thấy nhu cầu đối với tính di động và băng thông đang bùng phát (ngày nay số lượng người dung mạng máy tính trên kỹ thuật không dây vượt quá số người dùng mạng cố định, số lượng thiết bị di động trên đầu người ở các nước phát triển đã lớn hơn 3) trong khi đó lợi nhuận thu về ngày càng ít do các chi phí cho thiết bị và do việc giảm thu nhập Các cấu trúc hiện tại của mạng không được tạo ra để thỏa mãn nhu cầu của người dùng hiện đại, của các công ty hay nhà khai thác mạng Chúng ta sẽ phân tích một số giới hạn của mạng hiện tại, bao gồm:
- Tính phức tạp dẫn đến tình trạng trì trệ: Các kỹ thuật mạng ngày nay bao gồm các bộ giao thức rời rạc Những giao thức này dùng để nối các host với nhau một cách tin cậy, với khoảng cách, tốc độ liên lạc, topo bất kỳ Để thỏa mãn nhu cầu kinh doanh
và yêu cầu kỹ thuật trong hơn chục năm trở lại đây, ngành công nghiệp đã phát triển các giao thức mạng dể hỗ trợ hiệu suất cũng như độ tin cậy cao hơn, có thể kết nối rộng hơn và độ bảo mật nghiêm ngặt hơn Các giao thức này, về nguyên tắc, được tạo
ra một cách cô lập, tuy nhiên mỗi giao thức giải quyết một vấn đề cụ thể Điều này dẫn đến một trong những hạn chế chính của mạng hiện tại đó là tính phức tạp Ví dụ : để thêm vào hoặc dịch chuyển một thiết bị bất kỳ, người quản trị phải can thiệp đến một
số thiết bị khác như : các bộ chuyển mạch, định tuyến, tường lửa… và phải cập nhật lại danh sách ACL (Access Control List), VLANs, QoS, và cả các cơ chế khác Liên quan đến tính phức tạp này, các mạng hiện tại vì thế được xem như ở trạng thái “tĩnh”
vì người quản trị phải cố gắng hạn chế đến mức thấp nhất những nguy cơ gián đoạn cung cấp dịch vụ Tính “tĩnh” của mạng hiện tại lại là một mâu thuẫn rất lớn đối với đặc tính “động” của môi trường server ngày nay, ở đó việc ảo hóa các server làm tăng
số lượng host một cách chóng mặt, đồng thời nó làm thay đổi quan điểm về vị trí vật
lý của các host Trước ảo hóa, các ứng dụng đều nằm trên một server và trao đổi traffic với các client Ngày nay, các ứng dụng phân bố rời rạc trên một vài máy ảo (VM-Virtual Machine), những máy ảo này trao đổi các luồng dữ liệu với nhau Các VM này
“tái định cư” để làm tối ưu hóa và cân bằng tải trên server Ngoài việc áp dụng kỹ thuật ảo hóa, nhiều công ty đã làm việc trên nền mạng hội tụ IP để truyền dữ liệu, thoại, video Trong khi đó, mạng hiện tại hỗ trợ các mức độ khác nhau của QoS cho các ứng dụng khác nhau và cung cấp những tài nguyên này hoàn toàn bằng tay Người quản trị cần phải cài đặt thiết bị của từng nhà cung cấp một cách riêng lẻ, và dĩ nhiên phải thiết lập các tham số như băng thông, QoS trên từng phiên làm việc cho mỗi ứng
Trang 8Đồ án tốt nghiệp Chương 1: Tổng quan về SDN
dụng Do tính “tĩnh” của mình, mạng hiện tại không thể điều chỉnh một cách linh động
so với những traffic luôn thay đổi của các ứng dụng và người dùng
- Các chính sách không đồng nhất: Để thực hiện các chính sách mạng, người quản trị mạng cần phải cấu hình hàng ngàn thiết bị Ví dụ mỗi lần áp dụng một máy ảo mới, phải tốn hàng giờ, thỉnh thoảng là hàng ngày để cấu hình lại các danh sách ACL trên toàn mạng Tính phức tạp của mạng hiện tại làm cho công việc này trở nên khó khăn đối với các nhà quản trị để có thể áp dụng một bộ phối hợp truy cập, hay quy tắc bảo mật, QoS và các chính sách người dùng khác
- Không có khả năng mở rộng: Vì các nhu cầu đối với các Data Center tăng nhanh chóng, nên mạng cũng buộc phải tăng (kích thước) theo Tuy nhiên, mạng vì thế quá phức tạp với hàng trăm, hàng ngàn thiết bị, những thiết bị này lại cần phải được cấu hình và điều khiển Các nhà quản trị cũng buộc phải dựa trên các dự báo về traffic
để mở rộng mạng Nhưng trong các Trung tâm dữ liệu ảo hóa ngày nay, traffic là khác niệm “động” không tưởng và gần như không thể dự báo trước Các nhà khai thác lớn như Google, Yahoo, Facebook… đã gặp phải các vấn đề phức tạp trong mở rộng kích thước mạng Những nhà cung cấp dịch vụ này sử dụng các thuật toán xử lý song song
ở quy mô lớn Vì quy mô các ứng dụng đối với một người dùng cụ thể ngày càng tăng,
số lượng các phần tử cần tính toán từ đó cũng tăng lên đến mức “bùng nổ” và các dữ liệu trao đổi giữa các node có thể đạt đến PB (Petabyte=1000 TB) Những công ty này cần phải đảm bảo hiệu suất cao, chi phí kết nối giữa hàng ngàn thiết bị thấp… Quy mô như vậy là không thể thực hiện với cách cấu hình bằng tay Để duy trì khả năng cạnh tranh, các nhà khai thác cần phải thực hiện, cung cấp nhiều hơn các dịch vụ riêng biệt, khác biệt cho các client Tính đa nhiệm cũng làm phức tạp bài toán hơn, vì mạng cần phục vụ nhiều nhóm người dùng với các ứng dụng khác nhau và các nhu cầu về hiệu suất khác nhau Những nhà khai thác lớn, những nhà khai thác đóng vai trò chủ đạo trong quản lý traffic client rất khó để đáp ứng các nhu cầu với quy mô hiện tại của họ
- Phụ thuộc vào nhà sản xuất: Các nhà mạng và các công ty cố gắng áp dụng các khả năng và dịch vụ mới trong việc đáp ứng các nhu cầu (những nhu cầu này thay đổi liên tục và rất nhanh) kinh doanh hoặc nhu cầu người dùng Tuy nhiên khả năng của
họ phụ thuộc vào các chu kỳ cập nhật firmware thiết bị của nhà sản xuất Và điều đáng nói là những chu kỳ này có thể kéo dài lên đến 3 năm hoặc nhiều hơn nữa Ngoài ra việc thiếu các chuẩn hóa, hay giao diện mở làm giới hạn khả năng điều chỉnh mạng của các nhà mạng Chính sự không tương ứng giữa nhu cầu trên thị trường và khả năng của mạng đã dẫn đến “điểm gãy khúc” Đáp lại vấn đề này, mạng điều khiển bởi phần mềm SDN (Software-Defined Networking) đã được tạo ra
Trang 9
Đồ án tốt nghiệp Chương 1: Tổng quan về SDN
1.3 KHÁI NIỆM VÀ CẤU TRÚC MẠNG SDN
Trước khi đưa ra khái niệm về SDN, ta thử đặt ra một giả thiết là nếu ta có thể tách rời phần điều khiển ra khỏi các thiết bị mạng thì điều đó có thể làm cho khả năng
xử lý của thiết bị tăng lên hay không? Có thể tạo ra một mạng thông minh hơn và linh hoạt hơn hay không?
Thực tế là dựa trên giả thiết đó, người ta đã nghiên cứu và phát triển thành một mạng mà ở đó nhiệm vụ điều khiển mạng được xử lý bởi các bộ điều khiển và các bộ điều khiển đó có thể thao tác tới phần cứng, bộ nhớ và các chức năng của các thiết bị router, switch để đạt được mục đích của người sử dụng Do đó, mạng trở nên linh hoạt hơn, hiệu suất sử dụng cao hơn và dễ quản lý hơn bao giờ hết
Để hiểu rõ hơn ta xem xét sự khác nhau giữa chức năng của các thiết bị của mạng truyền thống và mạng SDN
Hình 1.1 So sánh kiến trúc mạng truyền thống và SDN
Hình 1.1 (a) mô tả sơ đồ một mạng truyền thống đơn giản Đối với mạng truyền thống thì các thiết bị định tuyến hoặc chuyển mạch trao đổi các thông tin với nhau và quá trình tính toán xử lý đều xảy ra ở mỗi node mạng ( ở tại mỗi router/switch) Chức năng chính của các thiết bị mạng như router/switch là vận chuyển dữ liệu, như ta thấy
ở mô hình trên thì các thiết bị không được hoàn toàn tập trung vào chức năng đó Nhưng đối với mạng SDN thì điều đó lại là khác
Hình 1.1 (b) mô tả sơ đồ mạng đơn giản với bộ điều khiển SDN Theo như hình 1.1 (b) thì ta thấy việc thu thập thông tin của các thiết bị trong mạng và tính toán xử lý các thông tin thu thập được đều được chuyển đến một bộ điều khiển mạng (Bộ điều khiển SDN) Các thiết bị router/switch chỉ tập trung vào chức năng vận chuyển dữ
Trang 10Đồ án tốt nghiệp Chương 1: Tổng quan về SDN
liệu Điều đó làm cho việc quản lý mạng trở nên đơn giản hơn và các thiết bị phần cứng có thể nâng công suất làm việc lên
Từ sự so sánh trên ta rút ra được một số điểm khác nhau giữa 2 mạng đó là:
Phần điều khiển và phần vận chuyển dữ liệu:
- Mạng truyền thống: Đều được tích hợp trong thiết bị mạng
- Mạng SDN: Phần điều khiển được tách riêng khỏi thiết bị mạng và được chuyển đến một thiết bị được gọi là bộ điều khiển SDN
Phần thu thập và xử lý các thông tin:
- Mạng truyền thống: Được thực hiện ở tất cả các phần tử trong mạng
- Mạng SDN: Được tập trung xử lý ở bộ điều khiển SDN
Trang 11Đồ án tốt nghiệp Chương 1: Tổng quan về SDN
Hình 1.2 Kiến trúc mạng SDN
Hình trên cho ta thấy một cái nhìn tổng quát về mạng SDN Trung tâm là bộ điều khiển SDN thực hiện tất cả các chức năng phức tạp như định tuyến, đưa ra các chính sách mạng, kiểm tra bảo mật…Tất cả các bộ điều khiển này cấu thành nên lớp điều khiển của mạng SDN Các bộ điều khiển SDN xác định các luồng dữ liệu sẽ đi qua trong lớp dữ liệu phía dưới và mỗi luồng dữ liệu đi qua mạng đều phải có sự cho phép của bộ điều khiển SDN và khi được sự cho phép đó thì bộ điều khiển sẽ tính toán một
lộ trình cho dòng dữ liệu đó Cụ thể là các bộ điều khiển sẽ thiết lập một tập hợp dữ liệu nội bộ sử dụng để tạo ra các entry của bảng chuyển tiếp, những bảng này lần lượt được sử dụng bởi lớp chuyển tiếp (mặt bằng dữ liệu) để truyền các luồng dữ liệu giữa các cổng vào và ra trên thiết bị Tập hợp dữ liệu này được sử dụng để lưu trữ topo mạng và được gọi là thông tin định tuyến RIB (RIB – Routing Information Base) RIB thường được duy trì đồng nhất bằng cách trao đổi thông tin giữa các lớp điều khiển trong mạng Các entry của bảng chuyển tiếp thường được gọi là thông tin chuyển tiếp FIB (FIB – Forwarding Information Base) và thường được ánh xạ giữa mặt bằng điều khiển và mặt phẳng chuyển tiếp của các thiết bị điển hình Dựa vào các thông tin chuyển tiếp mà bộ điều khiển cung cấp, các thiết bị ở lớp chuyển tiếp xử lý các gói tin
Trang 12Đồ án tốt nghiệp Chương 1: Tổng quan về SDN
đầu vào và tìm kiếm, so sánh với bảng thông tin định tuyến để xử lý với các gói tin Vì vậy các thiết bị chuyển mạch ở lớp dưới chỉ đơn giản là quản lý các bảng “định tuyến” được cung cấp bởi bộ điều khiển SDN Giao tiếp giữa lớp điều khiển và các thiết bị ở lớp dữ liệu là các giao diện mở API và hiện tại đang phổ biến đó là sử dụng các API của giao thức OpenFlow Giao thức này sẽ được đề cập ở chương sau
Kiến trúc SDN rất linh hoạt, nó có thể hoạt động với các loại thiết bị chuyển mạch và các giao thức khác nhau Trong kiến trúc SDN, thiết bị chuyển mạch thực hiện các chức năng sau:
Đóng gói và chuyển tiếp các gói tin đầu tiên đến bộ điều khiển SDN để bộ điền khiển SDN quyết định các flow-entry sẽ được thêm vào flow table của switch
Chuyển tiếp các gói tin đến các cổng thích hợp dựa trên flow table
Flow table có thể bao gồm các thông tin ưu tiên được quyết định bởi bộ điều khiển SDN
Switch có thể hủy các gói tin trên một luồng riêng một cách tạm thời hoặc vĩnh viễn nhưng dưới sự cho phép của bộ điều khiển
Nói một cách đơn giản, bộ điều khiều khiển SDN quản lý các trạng thái chuyển tiếp của các switch trong mạng SDN Việc quản lý này được thực hiện thông qua một
bộ giao diện mở API, nó cho phép bộ điều khiển SDN có thể giải quyết các yêu cầu hoạt động mà không cần thay đổi bất kỳ các khía cạnh cấp dưới của mạng, bao gồm cả
mô hình mạng
Với sự tách rời miền điều khiển và miền dữ liệu, SDN cho phép các ứng dụng được triển khai một cách dễ dàng mà không cần quan tâm chi tiết đến việc hoạt động của các thiết bị mạng
1.4 ƯU NHƯỢC ĐIỂM CỦA SDN SO VỚI MẠNG IP
Đã có rất nhiều cuộc tranh luận nổ ra để bàn về vấn đề mạng IP và mạng SDN loại nào tốt hơn Mặc dù cả hai đều có những ưu nhược điểm riêng nhưng với những thuộc tính quan trọng như thân thiện với người sử dụng, chi phí và độ phức tạp mạng giảm thì người ta cho rằng mạng SDN phù hợp hơn so với mạng IP Và bởi vì thế mà ngày nay một số lượng ngày càng tăng của các nhà khai thác mạng đang lựa chọn SDN nhiều hơn Một số ưu điểm của SDN như sau:
Dựa vào SDN các nhà quản trị có thể có quyền kiểm soát mạng một cách đơn giản và hiệu quả mà không cần có quyền truy cập trực tiếp đến phần cứng
Thêm vào đó SDN cung cấp một cơ chế điều khiển duy nhất đối với cơ sở hạ tầng mạng và giảm bớt sự phức tạp của các quá trình xử lý thông qua sự tự động hóa Điều đó rất có lợi đối với các nhà mạng để có thể quản lý các thay đổi của mạng theo thời gian thực Thời gian thực ở đây có nghĩa là các nhà mạng có thể đáp ứng một cách nhanh chóng các yêu cầu của mạng một cách nhanh chóng và tự động Các nhà quản trị còn có thể điều khiển việc thay đổi cần thiết đúng thời điểm ở bất cứ nơi đâu Việc
Trang 13Đồ án tốt nghiệp Chương 1: Tổng quan về SDN
truy cập từ xa và thay đổi mạng có thể được thực hiện bởi hệ thống truy cập dựa trên vai trò của người quản trị (Role based access system là một hệ thống cho phép người dùng cá nhân dựa trên một vài trò xác định trong doanh nghiệp để có thể thực hiện các thay đổi của mạng) Hệ thống truy cập này được cung cấp các giải pháp bảo mật để có thể loại bỏ sự tấn công của các tin tặc vào mạng Đối với mạng IP, việc truy cập và thay đổi từ xa lại không thể thực hiện được Nhà quản trị phải có quyền truy cập và chỉnh sửa cấu hình bằng tay để thực hiện bất kỳ sự thay đổi chính sách nào trên mạng Việc thay đổi một chính sách mạng dẫn đến việc tác động trực tiếp đến phần cứng đó làm cho hệ thống mạng trở nên cứng nhắc
SDN cho phép sử dụng không hạn chế và có thể thay đổi các chính sách mạng
để phát hiện sự xâm nhập, tường lửa và tạo sự cân bằng với sự thay đổi của phần mềm Điều đó làm cho sự quản lý mạng trở nên linh hoạt hơn
Mạng SDN có khả năng phân tách phần điều khiển và phần dữ liệu, với khả năng đó cho phép người quản trị có thể tương tác và thay đổi các luồng dữ liệu, đảm bảo các gói dữ liệu không phải xếp hàng đợi và làm giảm hiệu suất mạng Một lợi thế quan trọng hơn nữa của mạng SDN là chi phí dành cho nó rất thấp Nó rẻ hơn so với mạng IP bởi vì nó không yêu cầu nhiều người làm việc trên nó và các công ty đều có thể cắt hết chi phí của các kỹ sư hệ thống và chỉ cần một vài quản trị viên hệ thống là
đủ
Bên cạnh những ưu điểm đó thì SDN cũng còn tồn tại một số nhược điểm so với mạng IP
Vấn đề đầu tiên là bảo mật, nếu tin tặc có thể tấn công vào hệ thống thì chúng
có thể truy cập các thiết lập và thay đổi chúng bất cứ ở nơi đâu, tại thời điểm nào Và chúng có thể truy cập bất kỳ tập tin được mã hóa nào miễn là nó ở trong mạng Đối với mạng IP thì điều này không thẻ xảy ra bởi để có thể truy cập vào mạng ta phải có quyền truy cập vào phần cứng của nó Hầu hết các công ty chỉ cho phép một số cá nhân được quyền đó bởi vậy hệ thống sẽ an toàn và ít có khả năng bị truy cập bởi các tin tặc
Thứ hai đó là quá trình triển khai SDN không thể hoàn thiện trong chốc lát mà
nó phải theo từng bước một Chúng ta không thể một lúc thay thế toàn bộ các thiết bị hiện có thành OpenFlow switch được bởi vì điều đó rất tốn kém
Thứ ba, SDN là một kiến trúc mạng kiểu mới, các giao thức tương tác giữa các controller với nhau còn chưa được phát triển toàn diện nên việc phát triển mạng SDN trên phạm vi toàn cầu vẫn đang còn hạn chế
Nói tóm lại SDN có một số ưu điểm đáng chú ý sau:
Có các giao diện mở, không phụ thuộc nhà sản xuất
Trừu tượng hóa mặt bằng điều khiển cho phép áp dụng nhanh chóng các đổi mới
Giảm tính phức tạp nhờ tự động hóa
Trang 14Đồ án tốt nghiệp Chương 1: Tổng quan về SDN
Nâng cao độ tin cậy và bảo mật cho mạng
Kiểm soát và điều khiển chi tiết hơn
Giảm CAPEX và OPEX
1.5 KẾT LUẬN CHƯƠNG
Với xu hướng người dùng di động, ảo hóa máy chủ và các dịch vụ ngày càng tăng dẫn đến kiến trúc mạng thông thường ngày nay không để đáp ứng xử lý kịp Mạng SDN cho chúng ta một cái nhìn mới, khái niệm mới về một kiến trúc mạng động, dễ thích nghi, mở rộng và đáp ứng các dịch vụ phong phú Với việc tách phần điều khiển và dữ liệu, kiến trúc mạng SDN cho phép mạng có thể lập trình và quản lý một cách dễ dàng hơn SDN hứa hẹn sẽ chuyển đổi mạng lưới tĩnh ngày nay trở nên linh hoạt hơn với nền tảng có thể lập trình với sự thông minh để có thể tự động xử lý các hành vi một cách tự động Với nhiều lợi thế của mình và động lực phát triển cao kiến trúc SDN đang trên đường để trở thành một tiêu chuẩn mới cho các mạng
Trang 15Đồ án tốt nghiệp Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
CHƯƠNG 2: MẶT BẰNG DỮ LIỆU SDN VÀ OPENFLOW
2.1 MẶT BẰNG DỮ LIỆU SDN
Mặt bằng dữ liệu SDN (SDN data plane) được gọi là lớp tài nguyên trong
ITU-T Y.3300 và cũng thường được gọi là lớp cơ sở hạ tầng, là nơi mà 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 của bộ điều khiển SDN Đặc điểm quan trọng của các thiết bị mạng trong mạng SDN là các thiết bị này thực hiện chức năng chuyển tiếp đơn giản mà không cần phần mềm nhúng để đưa
ra các quyết định tự quản
2.1.1 Chức năng của mặt bằng dữ liệu
Hình 2.1 mô tả các chức năng được thực hiện bởi các thiết bị mạng trong mặt bằng dữ liệu (còn được gọi là các thành phần mạng mặt bằng dữ liệu hoặc các switches) Các chức năng chính của thiết bị mạng bao gồm:
Hình 2.1 Mặt bằng dữ liệu của thiết bị mạng
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 kiểm soát tài nguyên Switch giao tiếp với bộ điều khiển và bộ điều khiển quản lý switch thông qua giao thức chuyển đổi OpenFlow Chức năng chuyển tiếp dữ liệu: Chấp nhận luồng dữ liệu đến từ các thiết bị mạng
và hệ thống đầu cuối, 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 Những quy tắc chuyển tiếp này được sử dụng bởi thiết bị mạng và được thể hiện trong các bảng chuyển tiếp Bảng này cho biết loại gói tin, các bước truyền kế tiếp trong tuyến đường đó là gì Ngoài việc chuyển tiếp đơn giản một gói tin, thiết bị mạng
có thể thay đổi tiêu đề gói tin trước khi chuyển tiếp, hoặc hủy bỏ gói tin Như trong
Trang 16Đồ án tốt nghiệp Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
hình vẽ, các gói dữ liệu đến có thể được đặt trong một hàng đợi đầu vào, đang chờ xử
lý bởi thiết bị mạng và các gói tin chuyển tiếp thường được đặt trong một hàng đợi đầu
ra, đang chờ để truyền đi
Thiết bị mạng được trình bày trong hình 2.1 gồm ba cổng I/O: một cổng cung cấp kết nối đ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 các gói dữ liệu Đây là một ví dụ đơn giản 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 tin vào và ra trên thiết bị
2.1.2 Các giao thức trong mặt bằng dữ liệu
Hình 2.1 cho thấy các giao thức được hỗ trợ bởi thiết bị mạng Luồng dữ liệu gói bao gồm luồng các gói tin IP Luồng này quan trọng đối với bảng chuyển tiếp trong việc xác định các mục dựa trên các trường trong các tiêu đề giao thức cấp trên, chẳng hạn như TCP, UDP, hoặc một số giao thức truyền tải và ứng dụng khác Thiết bị mạng kiểm tra tiêu đề IP và có thể xem xét thêm các tiêu đề khác trong mỗi gói sau đó đưa
ra quyết định chuyển tiếp
Một luồng lưu lượng quan trọng khác là thông qua giao diện lập trình ứng dụng (API), bao gồm các đơn vị dữ liệu giao thức OpenFlow (PDU)
2.2 THIẾT BỊ MẠNG OPENFLOW
Khái niệm SDN đặt ra 2 vấn đề khi triển khai thực tế:
- Cần phần có một kiến trúc logic chung cho tất cả các switch, router 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 này có thể được triển khai bằng nhiều cách khác nhau trên các thiết bị của các nhà cung cấp khác nhau và phụ thuộc vào nhiều loại thiết bị mạng, miễn là bộ điều khiển SDN thấy được chức năng chuyển mạch thống nhất
- Một giao thức chuẩn, bảo mật để giao tiếp giữa bộ điều khiển SDN và các thiết
bị mạng
OpenFlow được đưa ra để giải quyết cả hai vấn để đó Đây là một giao thức giữa
bộ điều khiển SDN và các thiết bị mạng OpenFlow được định nghĩa trong OpenFlow Switch Specification, xuất bản bởi Open Networking Foundation (ONF)
Hình 2.2 chỉ ra các thành phần chính của môi trường OpenFlow, bao gồm bộ điều khiển SDN vận hành phần mềm OpenFlow, chuyển mạch OpenFlow, và các hệ thống đầu cuối
Trang 17Đồ án tốt nghiệp Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
Hình 2.2 Môi trường OpenFlow
Hình 2.3 trình bày các thành phần chính của một OpenFlow switch Bộ điều khiển SDN giao tiếp với các chuyển mạch OpenFlow tương thích, sử dụng giao thức OpenFlow chạy qua TLS (Transport Layer Security) Mỗi switch kết nối với các chuyển mạch OpenFlow khác và với các thiết bị đầu cuối người dùng, là các nguồn và đích đến của luồng gói tin Giao diện giữa OpenFlow switch và bộ điều khiển SDN được gọi là một kênh OpenFlow (OpenFlow channel), được sử dụng bởi bộ điều khiển
để quản lý switch Thông qua giao diện này bộ điều khiển sẽ cấu hình và quản lý switch, nhận các sự kiện từ switch và gửi các gói tin đến switch Các kết nối này thông qua cổng OpenFlow (OpenFlow port) Trong OpenFlow định nghĩa ba loại cổng:
Trang 18Đồ án tốt nghiệp Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
- Cổng riêng: Được định nghĩa bởi đặc tả của OpenFlow Nó chỉ định các thao tác chuyển tiếp chung như gửi và nhận từ bộ điều khiển, chuyển tiếp sử dụng các phương thức non-OpenFlow, chẳng hạn như xử lý chuyển tiếp "NORMAL"
Khái niệm “flow” không được định nghĩa trong đặc tả của OpenFlow (OpenFlow Specification) Hiểu một cách đơn giản, một flow là một chuỗi các gói tin đi qua một mạng mà có chung một tập các giá trị trường header Ví dụ, một flow có thể bao gồm tất cả các gói tin với cùng địa chỉ nguồn và địa chỉ đích, hoặc tất cả các gói tin có cùng VLAN id Trong mỗi switch, một loạt các bảng flow (flow table) được sử dụng để quản lý luồng gói tin đến switch
Đặc tả của OpenFlow định nghĩa ba loại bảng trong kiến trúc logic của switch
- Một low table sẽ ghép các gói tin đến vào một flow cụ thể và chỉ định các chức năng sẽ được thực hiện trên các gói tin đó Có thể có nhiều flow table vận hành trong một đường dẫn (pipeline)
Trang 19Đồ án tốt nghiệp Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
- Một flow table có thể chuyển một luồng vào một Group Table, tại đó có thể kích hoạt cùng một lúc nhiều hành động ảnh hưởng tới một hoặc nhiều flow
- Một Meter Table có thể kích hoạt nhiều hành động liên quan tới hiệu năng trên một flow
2.2.1 Cấu trúc flow table
Khối cơ bản trong kiến trúc logic của switch là flow table Mỗi gói tin đi vào một switch đi qua một trong nhiều flow table Mỗi flow table bao gồm một tập các flow-entry Mỗi entry này bao gồm bảy thành phần, được định nghĩa trong danh sách sau
Hình 2.4 Định dạng của một OpenFlow table entry
Match fields: Sử dụng để chọn các gói tin phù hợp với các giá trị trong các trường
- Ingress port: Định danh của cổng trên switch nơi gói tin đến Đây có thể là một cổng vật lý hoặc một cổng ảo Cần thiết trong các bảng vào
- Egress port: Định danh của cổng ra Cần thiết trong các bảng ra
- Ethernet source and destination addresses: Mỗi mục có thể là một địa chỉ chính xác, một giá trị bitmasked cho một số bit địa chỉ được kiểm tra, hoặc một giá trị ký tự đại diện
- Ethernet type field: Cho biết loại tải tin Ethernet
- IP: Phiên bản 4 hoặc 6
- IPv4 or IPv6 source address, and destination address: Mỗi mục có thể là một địa chỉ chính xác, một giá trị bitmasked, một giá trị subnet mask hoặc một giá trị ký tự đại diện
- TCP source and destination ports: Giá trị ký tự đại diện
- UDP source and destination ports: Giá trị ký tự đại diện
Priority: Giá trị ưu tiên cho các gói tin của bảng Đây là một trường bao gồm 16 bit, trong đó 0 tương ứng với mức ưu tiên thấp nhất Về nguyên tắc, có thể có
65536 mức độ ưu tiên
Trang 20Đồ án tốt nghiệp Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
Counters: Đếm số các gói tin hợp lệ
Instructions: Chỉnh sửa tập các hành động hay xử lý đường dẫn lệnh
Timeouts: Thời gian chờ tối đa trước khi luồng hết hạn bởi switch Mỗi flow-entry
có một idle_timeout và một hard_timeoutnonzer liên kết đến nó Một trường hard_timeout khác 0 làm cho flow-entry bị gỡ bỏ sau một số thời gian nhất định, bất kể có bao nhiêu gói dữ liệu đã được kết hợp Một trường idle_timeout khác 0 làm cho flow-entry bị gỡ bỏ khi nó không khớp được với các gói trong một thời gian nhất định
Cookie: giá trị dữ liệu 64bit được chọn bởi bộ điều khiển Có thể được sử dụng bởi
bộ điều khiển để lọc thống kê lưu lượng, điều chỉnh luồng và xóa luồng, không được sử dụng khi xử lý các gói
Flags: Cờ thay đổi cách flow-entry được quản lý Ví dụ: cờ OFPFF_SEND_FLOW_REM kích hoạt luồng đã xóa các thông điệp cho flow-entry đó
Do đó, OpenFlow có thể được sử dụng với lưu lượng mạng liên quan đến nhiều giao thức và dịch vụ mạng Lưu ý rằng ở lớp MAC, chỉ Ethernet được hỗ trợ Vì vậy, OpenFlow như hiện tại được xác định không thể kiểm soát lưu lượng lớp 2 qua mạng không dây
2.2.2 Thành phần chỉ thị
Các thành phần chỉ thị của một bảng đầu vào bao gồm một tập các chỉ thị được thực hiện nếu gói tin được so khớp với entry Trước khi mô tả các loại chỉ thị, chúng ta cần phải xác định thuật ngữ hành động (action) và tập hành động (action set) Các action mô tả sự chuyển tiếp gói, sửa đổi gói tin, và các hoạt động xử lý bảng nhóm Đặc tả của OpenFlow bao gồm các action sau:
- Output: Chuyển tiếp gói tin đến cổng được chỉ định Cổng có thể là một cổng đầu ra cho một switch 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 bản tin đến bộ điều khiển
- Set-Queue: Thiết lập ID hàng đợi cho một gói Khi gói tin được chuyển tiếp đến
một cổng sử dụng hành động Output, ID hàng đợi xác định hàng đợi nào được gắn vào cổng này được sử dụng để lên kế hoạch và chuyển tiếp gói tin Hành vi chuyển tiếp được đưa ra 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: Xử lý gói tin qua nhóm được chỉ định
- Push-Tag/Pop-Tag: Đẩy hoặc bật một trường tag cho một gói VLAN hoặc gói
MPLS
- Set-Field: Các Set-Field actions khác nhau được xác định bởi loại trường của
chúng và thay đổi các giá trị của các trường tiêu đề tương ứng trong gói
- Change-TTL: Các Change-TTL actions khác nhau sẽ thay đổi các giá trị của IPv4 Time To Live (TTL), IPv6 Hop Limit hoặc MPLS TTL trong gói tin
Trang 21Đồ án tốt nghiệp Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
- Drop: Các gói tin không có action rõ ràng sẽ được loại bỏ
Một action set là một danh sách các hành động liên quan đến một gói được tích trữ trong khi gói tin được xử lý bởi mỗi bảng và được thực hiện khi gói tin thoát khỏi đường dẫn xử lý
Các chỉ thị có thể được phân thành bốn loại:
- Hướng gói thông qua đường dẫn: Chỉ thị Goto-Table hướng gói tin đến một bảng xa hơn trong đường dẫn Chỉ thị Meter hướng gói tin đến một bộ đếm cụ thể
- Thực hiện action trên gói: Các action có thể được thực hiện trên các gói tin khi
nó được kết hợp với một table entry Lệnh Apply-Actions áp dụng các hành động được chỉ định ngay lập tức mà không có bất kỳ sự thay đổi nào đối với tập hành động liên kết đến gói này Chỉ thị này có thể được sử dụng để sửa đổi gói tin giữa hai bảng trong đường dẫn
- Cập nhật action set: Lệnh Write-Actions kết hợp các hành động được chỉ định vào tập hành động hiện tại cho gói này Chỉ thị Clear-Actions sẽ xóa tất cả các hành động trong tập hành động
- Cập nhật siêu dữ liệu (metadata): Một 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ừ một bảng này sang bảng khác Lệnh Write-Metadata 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
2.2.3 Đường dẫn bảng luồng
Switch 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 sẽ được tổ chức dưới dạng một đường dẫn.Việc sử dụng nhiều bảng trong một đường dẫn thay vì một flow table đơn sẽ cung cấp bộ điều khiển SDN một sự linh hoạt đáng kể
Đặc tả của OpenFlow định nghĩa hai giai đoạn xử lý:
- Xử lý đầu vào: Bắt đầu với table 0, sử dụng định danh của cổng đầu vào Table
0 có thể là bảng duy nhất trong trường hợp xử lý đầu vào được đơn giản hóa để thực hiện trên bảng đơn đó và không có xử lý đầu ra
- Xử lý đầu ra: Là quá trình xử lý xảy ra sau khi xác định cổng đầu ra Nếu nó xảy ra, nó có thể liên quan đến một hoặc nhiều bảng Việc tách hai giai đoạn được biểu thị bằng số nhận dạng số của bảng thoát đầu tiên Tất cả các bảng với một số thấp hơn
so với bảng ra đầu tiên phải được sử dụng như các bảng nhập, và không có bảng với một số cao hơn hoặc bằng với bảng ra đầu tiên có thể được sử dụng như một bảng vào Khi một gói tin được chỉ định cho một bảng để kết hợp, đầu vào bao gồm gói tin, định danh cổng nhập, giá trị siêu dữ liệu được liên kết và tập hành động được liên kết Đối với Table 0, giá trị metadata là trống và action set là null Tại mỗi bảng, quá trình
xử lý diễn ra như sau (hình 2.5):
Trang 22Đồ án tốt nghiệp Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
Hình 2.5 Sơ đồ khối của luồng gói tin khi qua một OpenFlow Switch
Trường hợp 1: Nếu có sự so sánh trùng trên một hoặc nhiều entry và khác với với table-miss entry thì việc ghép nối được thực hiện với entry trùng có mức ưu tiên cao nhất Sau đó các bước sau có thể được thực hiện:
a Cập nhật bất kỳ counters nào liên kết đến entry này
Trang 23Đồ án tốt nghiệp Chương 2: Mặt bằng dữ liệu SDN và OpenFlow
b Thực hiện bất kỳ chỉ thị nào liên kết đến entry này Điều này có thể bao gồm việc cập nhật action set, cập nhật giá trị metadata và thực hiện các hành động
c Gói này sau đó được chuyển tiếp tới một flow table kế tiếp dưới đường dẫn, tới group table, meter table, hoặc hướng đến một cổng đầu ra
Trường hợp 2: Nếu chỉ có sự so khớp trên một table-miss entry thì entry đó sẽ chỉ định một trong ba hành động:
a Gửi gói tin đến bộ điều khiển Điều này sẽ cho phép bộ điều khiển xác định một flow mới cho gói này và các gói tương tự nó, hoặc quyết định hủy gói tin
b Hướng gói tin đến một flow table khác nằm dưới đường dẫn
c Xóa bỏ gói tin
Trường hợp 3: Nếu không có bất kỳ entry nào trùng và không có table-miss entry, gói tin sẽ được xóa bỏ
Đối với bảng cuối cùng trong đường dẫn sẽ không có lựa chọn chuyển tiếp đến một flow table nào khác Khi gói cuối cùng được đưa đến cổng ra, tập action set tích lũy sẽ được thực hiện và gói tin nằm trong hàng đợi để chờ xuất ra Hình 2.6 minh hoạ quá trình xử lý đường dẫn lối vào
Hình 2.6 Luồng gói tin qua một OpenFlow switch (xử lý đầu vào)