Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

OpenFlow 1.5.1

12.177 Aufrufe

Veröffentlicht am

OpenFlow 1.5.1 의 특징을 설명.

byeonghwa.jung@piolink.com

Veröffentlicht in: Technologie
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

OpenFlow 1.5.1

  1. 1. 1© PIOLINK, Inc. SDN No.1 OpenFlow 1.5.1 2015-05-15 파이오링크 SDN개발실 정병화 byeonghwa.jung@piolink.com
  2. 2. 2© PIOLINK, Inc. SDN No.1 목차 ● OpenFlow History ● OpenFlow 1.1 Feature ● OpenFlow 1.2 Feature ● OpenFlow 1.3 Feature ● OpenFlow 1.4 Feature ● OpenFlow 1.5 Feature ● OpenFlow 1.3.5 Feature ● OpenFlow 1.4.1 Feature ● OpenFlow 1.5.1 Feature ● Appendix ○ A. OpenFlow Components ○ B. Deep Dive - overlapping flow entry, synchronised table, metering ○ C. Post OVS Feature ● Reference
  3. 3. 3© PIOLINK, Inc. SDN No.1 ExtensibleBasic Refactoring architecture Generic structure Flexible structure New function & component ~ 1.0 1.2 ~ 1.51.1 OpenFlow history
  4. 4. 4© PIOLINK, Inc. SDN No.1 1.0 1.5 1.1 1.2 1.31.4 Multiple table Group Extensible Match support Controller role change mechanism Refactor capabilities negotiation More flexible table miss support Per flow meters Auxiliary connections Tunnel-ID metadata More extensible wire protocol Flow monitoring Eviction Vacancy events Bundles Egress Tables Packet type aware pipeline Extensible flow entry statistics Meter action port properties for pipeline fields Port property for recirculation 2009-12-31 2011-02-28 2011-12-05 2012-04-132013-08-052014-12-01 약14개월 약8개월 약4개월 약14개월약17개월 OpenFlow history
  5. 5. 5© PIOLINK, Inc. SDN No.1 OpenFlowhistory Flow Table Flow Table Flow Table v1.2 v1.3 v1.4 v1.5 v1.1 Multiple Table & Pipeline Group Table Port OpenFlow Chanel Virtual port Extensible match (OXM) prerequisite system experimenter match ipv6 match Match Action set Controller OpenFlow Message Instruction Action ‘set_field’ action Metadata field rename Logical port refactor capabilities multipart framework flexible table miss as flow entry ipv6 extension header match meter Meter Table per connection event filtering OpenFlow Chanel Controller Auxiliary connections Multiple Controller active & standby role Tunnel-ID metadata More extensible OXM (port,table,queue,action,etc) More descriptive reason for packet-in Bundles Message Optical port properties Flow monitoring Eviction Vacancy events TCP port to 6653 Flow Table Flow TableMultiple Table & Pipeline egress table Packet type pipeline fields Packet register pipeline fields TCP flags Extensible flow entry statistics meter action ‘copy_field’ action Statistic Trigger scheduled bundles properties for pipe line fields properties for recirculation
  6. 6. 6© PIOLINK, Inc. SDN No.1 OpenFlow 1.1 Feature (B.9.x) 1. Multiple Tables 2. Groups 3. Tags : MPLS & VLAN 4. Virtual ports 5. Controller connection failure 6. Other changes a. Rename VENDOR APIs to EXPERIMENTER APIs
  7. 7. 7© PIOLINK, Inc. SDN No.1 OpenFlow 1.2 Feature (B.10.x) 1. Extensible match support 2. Extensible ‘set_field’ packet rewriting support 3. Extensible contest expression in ‘packet_in’ 4. Extensible Error messages via experimenter error type 5. IPv6 support added 6. Simplified behaviour of flow-mod request 7. Removed packet parsing specification 8. Controller role change mechanism 9. Other changes a. Virtual ports renamed logical ports
  8. 8. 8© PIOLINK, Inc. SDN No.1 OpenFlow 1.3.0 Feature (B.11.x) 1. Refactor capabilities negotiation 2. More flexible table miss support 3. IPv6 Extension Header handling support 4. Per flow meters 5. Per connection event filtering 6. Auxiliary connections 7. MPLS BoS matching 8. Provider Backbone Bridging tagging 9. Rework tag order 10. Tunnel-ID metadata 11. Cookies in packet-in 12. Duration for stats 13. On demand flow counters
  9. 9. 9© PIOLINK, Inc. SDN No.1 1. Refactor capabilities negotiation ● 목적 ○ Capability 표현하기 위한 flexible한 framework로 개선 ● 특징 ○ Rename ■ ‘stats’ -> ‘multipart’ framework ○ Table capabilities 개선. ■ Table statistics로부터 capabilities를 분리함. ■ Capabilities 정보들을 generic & flexible TLV format으로 변경. ■ New capabilities ● Experimenter property ● Table-miss 정보. ○ Port list descriptions 정보 추가됨. OpenFlow 1.3 New Feature
  10. 10. 10© PIOLINK, Inc. SDN No.1 2. More flexible table miss support ● 목적 ○ Table miss시 다양한 동작을 할 수 있도록 flexible한 구조로 변경. ● 특징 ○ Table-misses 표현 방법 변경. ■ 이전 - table의 flags를 사용. ■ V1.3 - flow entry 사용. ● Match fields - all wildcard & lowest priority ○ Table-misses handling 확장. ■ 이전 - 3가지 (drop, controller, goto-table) ■ V1.3 - flow entry의 모든 Instruction ● eg. normal output action ○ Multipart capabilities에 table-miss 추가됨. OpenFlow 1.3 New Feature
  11. 11. 11© PIOLINK, Inc. SDN No.1 4. Per flow meters ● 목적 ○ Flow entry에 meter 를 mapping하여 packet rate를 측정. ● 특징 ○ New instruction - meter ○ Rate-limit 기능. ○ Flexible meter framework ■ Multipart capabilities에 metering band, statistics, capabilities 추가됨. Meter Identifier Meter Bands Counters Main components of a meter entry in the meter table. Band Type Rate Counters Type specific arguments Main components of a meter band in a meter entry. Band Type ● drop ● dscp remark OpenFlow 1.3 New Feature
  12. 12. 12© PIOLINK, Inc. SDN No.1 6. Auxiliary connections ● 목적 ○ Switch 처리성능 개선 ● Controller channel의 개수 ○ main connection - one ○ auxiliary connections - multiple ● 특징 ○ 식별 ID - (Datapath-ID : Auxiliary-ID) 조합. ■ Main connection - (N : 0) ■ Auxiliary connection - (N : M) ○ Main connection에 의존적. ■ Main connection 연결 close 시 all auxiliary도 강제 close. ■ Main connection과 L4 port 만 다름. ○ Packet-out이 아닌 모든 메시지는 main connection에서 전송되어야 함. ○ Packet-in으로부터 생성된 모든 packet-out은 packet-in을 수신한 connection으로 전송되어 야 함. Main connection Auxiliary connection OpenFlow Switch Controller OpenFlow 1.3 New Feature
  13. 13. 13© PIOLINK, Inc. SDN No.1 10. Tunnel ID metadata ● 목적 ○ 다양한 encapsulation 지원 ● 특징 ○ Logical port에서 tunnel-id metadata를 저장. ○ New pipeline field - OXM_OF_TUNNEL_ID ○ metadata value - demultiplexing field from encapsulation header ■ eg. GRE key field from GRE header ■ eg. MPLS Label, VNI from VxLAN ○ Use Case) GTP TEID 를 사용하는 SGW, PGW OpenFlow 1.3 New Feature
  14. 14. 14© PIOLINK, Inc. SDN No.1 OpenFlow 1.4.0 Feature (B.16.x) 1. More extensible wire protocol 2. More descriptive reasons for packet-in 3. Optical port properties 4. Flow-removed reason for meter delete 5. Flow monitoring 6. Role status events 7. Eviction 8. Vacancy events 9. Bundles 10. Synchronised tables 11. Group and Meter change notifications 12. Error code for bad priority 13. Error code for Set-async-config 14. PBB UCA header field 15. Error code for duplicate instruction 16. Error code for multipart timeout 17. Change default TCP port to 6653
  15. 15. 15© PIOLINK, Inc. SDN No.1 1. More extensible wire protocol ● 배경 ○ 고정된 자료구조 & 제한된 확장성 개선필요. ● 특징 ○ 프로트콜의 여러 part에 TLV format 적용. ○ 확장 ■ Port structure - [description, mod, states] properties ■ Table structure - mod, descriptions properties, status asynchronous message ■ Queue structure - states properties ■ Set-async structure - set-async experimenter properties ■ Properties errors - unified error codes for all properties ○ 고정된 자료구조 개선 ■ Queue structure - description properties ■ Set-async structure - set-async-config OpenFlow 1.4 New Feature
  16. 16. 16© PIOLINK, Inc. SDN No.1 5. Flow monitoring ● 목적 ○ 하나의 controller가 지정한 flow table의 flow의 변화를 monitoring. ● 특징 ○ Multi-controller scheme ○ 하나의 controller가 여러개의 monitor를 정의. ■ 하나의 monitor는 관찰할 flow table [table-id]을 선택. ○ Switch가 monitoring하기 위한 controller 지정. ■ Multipart message 이용 - ofp_flow_monitor_request OpenFlow 1.4 New Feature
  17. 17. 17© PIOLINK, Inc. SDN No.1 7. Eviction ● 배경 ○ Switch의 flow table이 full 이어서 flow setup에 실패하면, controller에게 error 메시지를 전 송. ○ 그러나, controller가 이때 대응하게 되면 service에 제공에 문제발생. ● 기능 설명 ○ new flow setup시 flow table가 full 일경우, switch는 priority가 낮은 flow entry를 삭제하고 공간을 확보함. ● 특징 ○ Table-mod flags - OFPTC_EVICTION ○ Flow-mod - importance ○ Table-desc eviction property - ofp_table_mod_prop_eviction OpenFlow 1.4 New Feature
  18. 18. 18© PIOLINK, Inc. SDN No.1 8. Vacancy events ● 배경 ○ Switch의 flow table이 full 이어서 flow setup에 실패하면, controller에게 error 메시지를 전 송. ○ 그러나, controller가 이때 대응하게 되면 service에 제공에 문제발생. ● 기능 설명 ○ threshold capacity를 통해서 table이 full 되기전에 event 메시지를 controller에 전송. ● 특징 ○ table status event - OFPT_TABLE_STATUS ○ Table-mod vacancy property - ofp_table_mod_prop_vacancy OpenFlow 1.4 New Feature
  19. 19. 19© PIOLINK, Inc. SDN No.1 9. Bundles ● 목적 ○ OpenFlow message들을 하나의 group으로 묶어서 atomic operation의 효과. ● 특징 ○ Bundle control message - OFPT_BUNDLE_CONTROL ■ bundle을 create, destroy, commit ○ Bundle add message - OFPT_BUNDLE_ADD_MESSAGE ■ bundle에 OpenFlow message를 추가함. ○ Bundle error type - OFPET_BUNDLE_FAILED OpenFlow 1.4 New Feature
  20. 20. 20© PIOLINK, Inc. SDN No.1 10. Synchronized tables ● 배경 ○ 많은 스위치들은 동일한 데이터로 multiple lookup을 수행 ○ openflow에서 multiple table을 사용하고 내부적으로 동일한 데이터로 multiple lookup을 수 행하는 경우가 있음 ● 목적 ○ 동일한 데이터를 처리하는 연관된 table들을 관리시 효율성 증대 ● 간단한 사례 ○ Multicast에서 IP forwarding 데이터를 재사용하는 RPF check 처리 ○ L2 table에서 mac learning/forwarding lookup ● 특징 ○ New property for table feature - OFPTFPT_TABLE_SYNC_FROM ○ 두 flow table 사이에 synchronisation abstraction 정의
  21. 21. 21© PIOLINK, Inc. SDN No.1 OpenFlow 1.5.0 Feature (B.18.x) 1. Egress Tables 2. Packet Type aware pipeline 3. Extensible Flow Entry Statistics 4. Flow Entry Statistics Trigger 5. Copy-Field action to copy between two OXM fields 6. Packet Register pipeline fields 7. TCP flags matching 8. Group command for selective bucket operation 9. Alloc set-field action to set metadata field 10. Allow wildcard to be used in set-field action 11. Scheduled Bundles 12. Controller connection status 13. Meter action 14. Enable setting all pipeline fields in packet-out 15. Port properties for pipeline fields 16. Port property for recirculation 17. Clarify and improve barrier 18. Always generate port status on port config change 19. Make all Experimenter OXM-IDs 64 bits 20. Unified requests for group, port and queue multiparts 21. Rename some type for consistency 22. Specification reorganisation
  22. 22. 22© PIOLINK, Inc. SDN No.1 1. Egress Tables ● 이전 버전 ○ 없음 ● Version 1.5 ○ Output Port Context에서도 processing을 할 수 있도록 egress tables를 도입. ○ New OXM field - OXM_OF_ACTSET_OUTPUT ○ 특징 ■ Egress mirroring 기능 (action list에서 output action 사용) ■ Egress flow entry에서 group과 action set에서 output action 사용 못함. Figure. Packet flow through the processing OpenFlow 1.5 New Feature
  23. 23. 23© PIOLINK, Inc. SDN No.1 2. Packet Type aware pipeline ● 이전 버전 ○ Ethernet packet만 처리함. ● Version 1.5 ○ 다양한 Packet type 식별하여 처리함. ○ New OXM field (Pipeline match field) - OXM_OF_PACKET_TYPE ○ 특징 ■ header fields의 prerequisite로서 사용. ■ packet type을 식별하기 위한 matching 으로 사용. ■ packet-in, packet-out에서 payload를 식별하기 위해 사용. Packet Types. namespace ns type Match description Packet-in and packet-out format 0 0 Ethernet packet (default type). Ethernet header and Ethernet payload. 1 0x800 IPv4 packet (with no header in front). IPv4 header and IPv4 payload. 1 0x86dd IPv6 packet (with no header in front). IPv6 header and IPv6 payload. 0 1 No packet (for example circuit switch). Empty. 0 0xFFFF Experimenter defined. Experimenter defined. OpenFlow 1.5 New Feature
  24. 24. 24© PIOLINK, Inc. SDN No.1 3. Extensible Flow Entry Statistics ● 이전 버전 ○ Flow entry statistics - 고정된 구조체를 사용. ● Version 1.5 ○ OXS (OpenFlow eXtensible Statistic) field 도입 - TLV Format ○ 기존의 (flow duration, flow count, packet count, byte count) statistics를 OXS field로 redefine. ○ New flow statistic entry - flow idle time ○ 통계값과 관련된 message의 format을 OXS field로 변경. ■ flow removed message ■ flow statistics multipart ■ flow aggregate multipart OpenFlow 1.5 New Feature
  25. 25. 25© PIOLINK, Inc. SDN No.1 4. Flow Entry Statistics Trigger ● 이전 버전 ○ Polling flow entry statistics 방식 - 높은 overhead & utilisation. ● Version 1.5 ○ Statistics trigger 방식 도입. ○ Threshold 값에 기반해서 컨트롤러에 통계정보를 보냄. ○ New Instruction - OFPIT_STAT_TRIGGER (Threshold 정의) OpenFlow 1.5 New Feature
  26. 26. 26© PIOLINK, Inc. SDN No.1 5. Copy-Field action to copy between two OXM fields ● 이전 버전 ○ 없음. ○ 유사 기능 - Set-field action ■ One header or pipeline field에 static value를 설정. ● Version 1.5 ○ New action - Copy-field action (OFPAT_COPY_FIELD) ○ One header or pipeline field를 another header or pipeline field로 Copy 함. OpenFlow 1.5 New Feature
  27. 27. 27© PIOLINK, Inc. SDN No.1 6. Packet Register pipeline fields ● 이전 버전 ○ 없음. ● Version 1.5 ○ Packet register fields - OXM_OF_PKT_REG(N) ○ Pipeline processing에서 packet의 정보를 임시로 저장하기 위해 사용. ○ 특징 ■ Matching 용도로 사용되지 않음. ■ set-field 와 copy-field action 과 함께 사용됨. OpenFlow 1.5 New Feature
  28. 28. 28© PIOLINK, Inc. SDN No.1 7. TCP flags matching ● 이전 버전 ○ 없음. ● Version 1.5 ○ New OXM field - OFPXMT_OFB_TCP_FLAGS ○ TCP header의 flags bits 식별. ○ TCP connection의 시작/끝을 detect OpenFlow 1.5 New Feature
  29. 29. 29© PIOLINK, Inc. SDN No.1 8. Group command for selective bucket operation ● 이전 버전 ○ 하나의 Group에서 전체 group bucket 만을 변경 가능함. ● Version 1.5 ○ 하나의 Group에서 지정한 group bucket만을 삭제하고 삽입할 수 있음. ○ bucket에 bucket_id 추가됨. OpenFlow 1.5 New Feature
  30. 30. 30© PIOLINK, Inc. SDN No.1 9. Alloc set-field action to set metadata field ● 이전 버전 ○ 제약사항 - OXM_OF_METADATA을 지원 안함. ● Version 1.5 ○ OXM_OF_METADATA가 set-field action의 valid argument로 추가됨. OpenFlow 1.5 New Feature
  31. 31. 31© PIOLINK, Inc. SDN No.1 10. Allow wildcard to be used in set-field action ● 이전 버전 ○ set-field action은 전체 field 를 설정. ● Version 1.5 ○ set-field action에 mask를 적용하여, set-field의 지정한 bits만 수정 가능함. OpenFlow 1.5 New FeatureOpenFlow 1.5 New Feature
  32. 32. 32© PIOLINK, Inc. SDN No.1 11. Scheduled Bundles ● 이전 버전 ○ 1.4버전에서 bundle feature가 추가됨. ● Version 1.5 ○ bundle feature 확장 ■ Scheduled bundles - bundle commit message 에 execution time 추가됨. ■ Bundle features request - controller가 switch에게 bundle capabilities 정보를 query. ● 종류: atomic bundles, ordered bundles, scheduled bundles. ● Multipart message 이용 - bundle features multipart (7.3.5.20) OpenFlow 1.5 New Feature
  33. 33. 33© PIOLINK, Inc. SDN No.1 12. Controller connection status ● 이전 버전 ○ 없음. ● Version 1.5 ○ controller가 switch와 연결된 모든 controller의 상태를 알도록 함. ○ Multipart Messages 이용 - Controller status multipart OpenFlow 1.5 New Feature
  34. 34. 34© PIOLINK, Inc. SDN No.1 13. Meter action ● 이전 버전 ○ metering 실행 - Meter instruction ● Version 1.5 ○ metering실행 - Meter action ○ 장점 ■ 하나의 flow에 대해서 multiple meter가 가능해짐 ● 현재 측정된 rate보다 작은 것중에서 가장 높이 설정된 rate의 meter를 수행. ● Use Case) P-GW의 Policy Rule (from PCRF) ■ group bucket 안에서 사용 가능해짐 OpenFlow 1.5 New Feature
  35. 35. 35© PIOLINK, Inc. SDN No.1 14. Enable setting all pipeline fields in packet-out ● 이전 버전 ○ packet-out 메시지에 In-Port pipeline field만 설정했음. ● Version 1.5 ○ packet-out 메시지에 모든 pipeline field를 설정 가능함. ○ 특징 ■ packet-out 메시지에 OXM pipeline fields를 추가함. OpenFlow 1.5 New Feature
  36. 36. 36© PIOLINK, Inc. SDN No.1 15. Port properties for pipeline fields ● 이전 버전 ○ 없음. ● Version 1.5 ○ Logical port는 pipeline fields를 사용하거나 생성함. ■ ex) pipeline field Tunnel-ID를 사용하는 Logical port ● encapsulation과 관련된 metadata를 생성 or 사용함. ○ New port description property ■ OFPPDP_PIPLINE_INPUT ● 수신된 packet에 제공되는 the list of pipeline fields 저장. ■ OFPPDP_PIPLINE_OUTPUT ● packet을 전송할때 사용되는 the list of pipeline fields 저장. OpenFlow 1.5 New Feature ofp_port_desc_prop_oxm ofp_port Array of OXM headers
  37. 37. 37© PIOLINK, Inc. SDN No.1 16. Port property for recirculation ● 이전 버전 ○ 없음. ● Version 1.5 ○ Recirculation 의미? ■ OpenFlow pipeline을 통해 처리된 packet이 다른 switch로 forwarding 되지 않고 다시 동일한 switch의 port로 수신되어 OpenFlow pipeline을 수행하는 것. ○ 배경 ■ Logical ports은 OpenFlow switch 안에서 network service를 제공함. ■ 이경우, Logical port로 보내진 packet은 network service를 처리한 후 다시 그 port로 되돌아 오게됨. ■ eg. tunnel endpoint or bidirectional packet processing ○ 특징 ■ Packet이 recirculation되는 port는 연관된 input ports의 list를 저장함. ■ Recirculation은 다양한 pipeline fields를 저장함. ● eg. Tunnel-ID field. ○ Use Case) Service Chaining OpenFlow 1.5 New Feature ofp_port_desc_prop_recirculate ofp_port port list [N]
  38. 38. 38© PIOLINK, Inc. SDN No.1 OpenFlow 1.3.5 Feature ● non-static의 Flow-mod (modify, delete) request는 부분적으로 적용 될 수 없음. ○ non-static Flow-mod(modify, delete)의 match fields와 matching되는 모든 flow entry들은 모 두 삭제 되거나 수정됨. ○ 만약, 이중 하나의 entry라도 적용될 수 없으면, 부분적으로 적용될 수 없음. ● flow overlap의 정의를 상세화 - overlapping entry는 equal이 아님 ○ Deep Dive - overlapping flow entry 참조 ● alternate OpenFlow connection transports ○ multiplexing, reliability, ordered delivery, segmentation/reassembly, flow control, security를 제공할 수 있는 transport protocol 이어야함. ○ 기존 - main connection (tcp, tls), auxiliary connection (tcp, tls, udp, tlsd) ● controller channel connection URI from OF1.5 ○ switch는 각각의 controller connection을 standard URI를 통해 식별 가능 ○ connection URI 형태 - protocol:name-or-address:port (e. g. tcp:192.168.10.98:6655)
  39. 39. 39© PIOLINK, Inc. SDN No.1 OpenFlow 1.3.5 Feature ● flow table은 생성할 때 number를 지정할 수 있음. ○ 이전에는 table ID가 sequential하게 증가 되도록 table을 생성해야 했음. ● flow-mod commands와 flags가 mandatory 되어야 하는 것을 명시 ● physical port는 optional이고, 사용된다면 OpenFlow port임 ● counter는 full bit range를 사용해야 함.
  40. 40. 40© PIOLINK, Inc. SDN No.1 OpenFlow 1.4.1 Feature ● 주로 synchronisation 관련 변화 ○ synchronisation관련 flow entry 추가할 때, 기존 merging 했던 것을 overwrite 함. ○ synchronisation flow table에 overlap flag를 사용한 flow modify 사용 못함. ○ bidirectional synchronised tables을 위해 reversible translation 지원 ○ synchronisation error 추가 - OFPFMFC_IS_SYNC ● 그밖에 ○ bundle과 flow monitoring을 위한 switch feature 추가 ○ vacancy property, bundle, flow monitoring - optional임을 명시
  41. 41. 41© PIOLINK, Inc. SDN No.1 OpenFlow 1.5.1 Feature ● Add new error OFPBAC_BAD_METER for bad meter in flow-mod ○ 수신된 메시지 안의 meter action이 스위치에 정의 되지 않은 경우 error 리턴 ● Don’t specify how each packet is mapped into each meter band ○ band를 선택하는 알고리즘(measured rate에 대한 계산)은 표준문서에서 정의하 지 않고 구현에 맞김. enum ofp_bad_action_code { … OFPBAC_BAD_METER = 17, /* Invalid meter id in meter action */ }
  42. 42. © PIOLINK, Inc. SDN No.1 A. OpenFlow Components. B. Deep Dive - overlapping flow entry, synchronised table, metering C. Post OVS-v2.3.0 Appendix. 42
  43. 43. 43© PIOLINK, Inc. SDN No.1 Main components of an OpenFlow switch Appendix A. OpenFlow components.
  44. 44. 44© PIOLINK, Inc. SDN No.1 Flow table 구성정보 Priority Couters Timeouts Cookie Flags Main components of a flow entry in a flow table uint16_t type; uint16_t length; uint8_t oxm_fields[0]; uint8_t pad[4]; struct ofp_match OXM TLV header oxm_type enum ofp_instruction_type { OFPIT_GOTO_TABLE = 1, OFPIT_WRITE_METADATA = 2, OFPIT_WRITE_ACTIONS = 3, OFPIT_APPLY_ACTIONS = 4, OFPIT_CLEAR_ACTIONS = 5, OFPIT_DEPRECATED = 6, OFPIT_STAT_TRIGGER = 7, OFPIT_EXPERIMENTER = 0xFFFF } uint16_t type; uint16_t length; uint8_t pad[4]; uint8_t ofp_instruction_actions[0]; struct ofp_instruction_actions struct ofp_match uint16_t type; uint16_t length; struct ofp_action_header enum ofp_oxm_class { OFPXMC_NXM_0 = 0x0000, OFPXMC_NXM_1 = 0x0001, OFPXMC_OPENFLOW_BASIC = 0x8000, OFPXMC_PACKET_REGS = 0x8001, OFPXMC_EXPERIMENTER = 0xFFFF, } enum ofp_match_type { OFPMT_STANDARD = 0, OFPMT_OXM = 1, } /* Flow Match Fields - 45개 */ enum oxm_ofb_match_fields { OFPXMT_OFB_IN_PORT = 0, OFPXMT_OFB_IN_PHY_PORT = 1, …., OFPXMT_OFB_PACKET_TYPE = 44, } /* Header Match Fields - 38개 */ OXM_OF_ETH_DST OXM_OF_ETH_SRC …. OXM_OF_PBB_UCA /* Pipeline Match Fields - 6개 */ OXM_OF_IN_PORT OXM_OF_IN_PHY_PORT …. OXM_OF_PACKET_TYPE H M oxm_field oxm_lengthoxm_class 31 09 8 716 15 Match Field Instructions /* Actions type - 18개 */ OFPAT_OUTPUT OFPAT_COPY_TTL_OUT … OFPAT_GROUP ... OFPAT_METER ... Group Identifier Group Type Counters Action Buckets Meter Identifier Meter Bands Counters Main components of a meter entry in the meter table. Main components of a group entry in the group table. Band Type Rate Counters Type specific arguments Main components of a meter band in a meter entry. Band Type ● drop ● dscp remark Appendix A. OpenFlow components.
  45. 45. 45© PIOLINK, Inc. SDN No.1 Packet flow through the processing pipeline. Appendix A. OpenFlow components.
  46. 46. 46© PIOLINK, Inc. SDN No.1 Packet flow through an OpenFlow switch. Appendix A. OpenFlow components.
  47. 47. 47© PIOLINK, Inc. SDN No.1 Matching and Instruction execution in a flow table. Appendix A. OpenFlow components.
  48. 48. 48© PIOLINK, Inc. SDN No.1 B. Deep Dive - Overlapping flow entry (1.3.5관련) ● overlapping flow entry matching ○ 최초 등장 시기 - 1.0 전인 0.8 버전에 정의됨 ○ 동작 ■ flow mod 메시지에 overlap_check flags 설정이 안되어 있을 경우 flow entry 가 overlapping하게 생성될 수 있음 ■ 동일한 priority와 multiple matching entry가 존재할 경우 어떤 flow entry가 선택될지는 spec에서 정의 안됨 (구현에 의존함) ■ overlapping flow entry들은 정확하게 same match는 아님 (1.3.5)
  49. 49. 49© PIOLINK, Inc. SDN No.1 B. Deep Dive - Synchronised tables (1.4.1관련) ● 배경 ○ 많은 스위치들은 동일한 데이터로 multiple lookup을 수행 ○ openflow에서 multiple table을 사용하고 내부적으로 동일한 데이터로 multiple lookup을 수 행하는 경우가 있음 ● 목적 ○ 동일한 데이터를 처리하는 연관된 table들을 관리시 효율성 증대 ● 간단한 사례 ○ Multicast에서 IP forwarding 데이터를 재사용하는 RPF check 처리 ○ L2 table에서 mac learning/forwarding lookup ● 특징 ○ New property for table feature - OFPTFPT_TABLE_SYNC_FROM ○ 두 flow table 사이에 synchronisation abstraction 정의
  50. 50. 50© PIOLINK, Inc. SDN No.1 B. Deep Dive - Metering(1.5.1관련) ● Meter table ○ rate-limiting, simple QoS ○ more complex QoS policing operation ■ DSCP based metering ○ meter는 per-port queue와 전혀 의존성이 없음. ○ meter와 per-port queue는 조합될 수 있음. ■ 복잡한 conserving QoS framework를 구현할 수 있음. ■ (e.g.) DiffServ ○ meter는 관련된 packets의 rate를 측정하고, 제어할 수 있음. ○ meter는 연결된 모든 flow entry의 aggregation으로서 rate-limit을 할 수 있음. Counters Type specific arguments Meter Identifier Meter Bands Counters Main components of a meter entry in the meter table. Band Type Rate Main components of a meter band in a meter entry. Band Type ● drop ● dscp remark Burst <DiffServ node의 예>
  51. 51. 51© PIOLINK, Inc. SDN No.1 Main components of a meter entry in the meter table. B. Deep Dive - Metering(1.5.1관련) Meter Identifier Meter Bands Counters ● Meter entry ○ Meter identifier: meter entry의 식별자 ○ Meter bands:meter band의 list, 각 meter band는 rate와 packet 처리 방법을 명시함 ○ Counters:meter에 의해서 처리될 때, update 됨.. ● Meter usage ○ 하나의 table 안에서 여러 flow entry는 동일한 meter entry를 사용가능 ○ 하나의 flow entry는 여러(multiple) meter entry를 사용가능 “hierarchical metering 사용가능” meter action 참고 (1) action list - 반드시 첫 번째 위치함 - (optional) 어느 위치 있을 수 있음. - (optional) multiple meter 사용 가능 (2) action set - 하나의 meter 사용 가능 (v1.5.1) spec에 정의 안됨
  52. 52. 52© PIOLINK, Inc. SDN No.1 ● Meter Bands ○ 하나의 meter는 여러개의 meter bands를 가질 수 있음. ○ 측정된 rate의 다양한 range를 위해서 packet 처리의 behaviour를 정의 ○ meter entry는 여러 meter band 중 하나를 선택 ■ 측정된 rate, band의 rate, meter 설정을 기반으로 meter band를 선택 ■ packet은 오직 하나의 band에 의해서 처리됨 ○ meter는 target rate와 rate가 초과하였을때 처리 방법을 명시 ○ default meter band는 meter에 항상 포함, 설정될수 없음. ■ target rate = 0, 아무것도 하지 않음 ○ meter band entry. ■ Band type: 패킷 처리에 대한 정의 ● (Optional) Drop ● (Optional) DSCP remark ■ Rate: target rate ■ Burst: meter band의 granularity 정의 ■ Counters: 패킷이 meter band에서 처리될때 update ■ Type specific arguments: optional arguments ○ band를 선택하는 알고리즘(measured rate에 대한 계산)은 표준문서에서 정의하지 않고 구 현에 맞김. B. Deep Dive - Metering(1.5.1관련) Band Type ● drop ● dscp remark Band Type Rate Counters Main components of a meter band in a meter entry. Burst Type specific arguments
  53. 53. 53© PIOLINK, Inc. SDN No.1 C. Post OVS-v2.3.0 ● OpenFlow Spec. ○ OpenFlow 1.5 extended registers are now supported ○ The OpenFlow 1.5 actset_output field is now supported ○ OpenFlow 1.5 Copy-Field action is now supported. ○ OpenFlow 1.5 masked Set-Field action is now supported. ○ OpenFlow 1.3+ table features requests are now supported (read-only). ○ OpenFlow 1.4+ flow "importance" is now maintained in the flow table ● Other. ○ A simple wrapper script, 'ovs-docker', to integrate OVS with Docker containers. ○ The OVS database now reports controller rate limiting statistics. ○ Added support for DPDK Tunneling. VXLAN and GRE are supported protocols. ○ Support for multicast snooping (IGMPv1 and IGMPv2) ○ Support for VXLAN Group Policy extension Appendix B. Post OVS Feature.
  54. 54. 54© PIOLINK, Inc. SDN No.1 Reference ● openflow-spec-v1.1.0 ● openflow-spec-v1.2.0 ● openflow-spec-v1.3.0 ● openflow-spec-v1.4.0 ● openflow-spec-v1.5.0 ● openflow-spec-v1.5.1 ● https://github.com/openvswitch/ovs/
  55. 55. 감사합니다. ㈜파이오링크 서울시 금천구 가산디지털2로 98 (가산동 550-1) IT캐슬 1동 401호 TEL: 02-2025-6900 FAX: 02-2025-6901 www.PIOLINK.com 55 감사합니다.

×