KR102226915B1 - 소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법, 장치 및 컴퓨터 프로그램 - Google Patents
소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법, 장치 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR102226915B1 KR102226915B1 KR1020190137601A KR20190137601A KR102226915B1 KR 102226915 B1 KR102226915 B1 KR 102226915B1 KR 1020190137601 A KR1020190137601 A KR 1020190137601A KR 20190137601 A KR20190137601 A KR 20190137601A KR 102226915 B1 KR102226915 B1 KR 102226915B1
- Authority
- KR
- South Korea
- Prior art keywords
- flow
- switch
- flow rule
- rule
- match field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/024—Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
도 2는 플로우 룰 유실의 문제점을 설명하기 위한 도면
도 3은 본원발명의 실시예를 따르는 컨트롤러의 룰싱크 어플리케이션을 포함하는 아키텍처에 대해 설명하기 위한 도면
도 4는 본 발명의 실시예를 따라 룰싱크 어플리케이션에서 스위치와 저장소의 플로우 룰의 동기화를 수행하는 방법을 설명하기 위한 도면
도 5는 본 발명의 실시예를 따라 플로우 룰 데이터베이스를 운영하는 예시를 설명하기 위한 도면
도 6은 본 발명의 실시예를 따라 플로우 룰 데이터베이스를 운영하는 방법을 설명하기 위한 순서도
200 : 오픈플로우 스위치
300 : 호스트
Claims (8)
- 소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법에 있어서,
컨트롤러에서, 상기 네트워크에 포함된 스위치 식별정보를 기록한 제 1 테이블, 상기 스위치 각각에 적용된 플로우 테이블 식별 정보를 기록한 제 2 테이블 및 상기 네트워크에 적용할 수 있는 플로우 룰의 모든 매치 필드 항목을 미리 설정된 코드 값을 이용하여 기록한 제 3 테이블을 생성하는 a 단계;
상기 매치 필드의 내용을 기록하기 위한 제 4 테이블 및 상기 플로우 룰의 인스트럭션을 기록하기 위한 제 5 테이블을 생성하는 b 단계;
상기 네트워크에 적용할 플로우 룰이 생성되면, 상기 플로우 룰의 매치 필드 항목을 상기 제 3 테이블에서 검색하는 c 단계;
상기 제 3 테이블에서 검색된 매치 필드 항목에 연결된 상기 제 4 테이블의 임의의 영역에 상기 플로우 룰의 매치 필드 내용을 기록하는 d 단계를 포함하되,
상기 플로우 룰의 매치 필드 항목을 상기 제 3 테이블에서 검색하는 c 단계는,
상기 플로우 룰의 스위치 ID를 스위치 ID기 기록된 제1 테이블에서 검색하고, 상기 제1 테이블 상에서 검색된 스위치 ID와 연결된 플로우 테이블 ID를 기록한 제2 테이블을 확인하여 상기 플로우 룰에 상응하는 테이블 ID를 검색하고, 상기 테이블 ID와 연결된 플로우 룰의 매치 필드를 기록한 제4 테이블 및 상기 플로우 룰의 인스트럭션을 기록한 제5 테이블을 검색하고, 상기 스위치에 적용할 플로우 룰 타입에 기초하여 플로우 룰의 매치 필드 및 인스트럭션을 상기 제4 및 제5 테이블에 적용하되,
상기 스위치에 적용할 플로우 룰의 매치 필드의 항목을 추출하여, 상기 제3 테이블을 통해 비트 어레이로 변환하고, 상기 매치 필드의 항목에 대한 비트 어레이에 해쉬 함수를 적용하여 해쉬 값을 추출하고, 추출된 해쉬 값을 이용하여 상기 제3 테이블에 해쉬 값에 해당하는 항목을 검색하는 것을 특징으로 하는 데이터베이스 운영 방법. - 제 1 항에 있어서,
상기 제 4 테이블의 상기 영역에 연결된 상기 제 5 테이블의 임의의 영역에 상기 플로우 룰의 인스트럭션을 기록하는 e 단계를 포함하는 것을 특징으로 하는 데이터베이스 운영 방법. - 제 2항에 있어서,
상기 a 단계는,
상기 네트워크에 적용할 수 있는 모든 매치 필드 항목을 상기 코드 값을 이용하여 비트 어레이로 변환하는 단계;
변환된 비트 어레이에 해쉬 함수를 적용하여 해쉬값을 추출하는 단계;
추출된 해쉬 값으로 상기 매치 필드 항목을 표현하여 상기 제 3 테이블을 생성하는 단계를 포함하는 것을 특징으로 하는 데이터베이스 운영 방법. - 제 3 항에 있어서,
상기 a 단계는, 상기 제 1 테이블, 상기 제 2 테이블, 상기 제 3 테이블을 연결하는 단계를 포함하는 것을 특징으로 하는 데이터베이스 운영 방법. - 삭제
- 제 4 항에 있어서,
상기 c 단계는,
상기 플로우 룰을 적용하기 전에, 상기 플로우 룰을 상기 데이터베이스에 기록하고 난 뒤, 상기 플로우 룰을 해당 스위치에 전송하는 단계를 포함하는 것을 특징으로 하는 데이터베이스 운영 방법. - 소프트웨어 정의 네트워크에서 컨트롤러가 플로우 룰을 적용하는 방법에 있어서,
임의의 어플리케이션에서 스위치에 적용될 플로우 룰을 생성한 경우, 상기 어플리케이션에서 상기 플로우 룰을 상기 스위치에 전송하기 전에, 상기 플로우 룰을 저장소의 데이터베이스에 기록하고, 상기 스위치에 상기 플로우 룰을 전송하는 단계;
상기 스위치의 플로우 테이블과 상기 저장소의 데이터베이스의 플로우 룰을 동기화하는 룰 싱크 어플리케이션에, 임의의 주기로 상기 스위치의 플로우 테이블을 조회해서 상기 저장소에 저장된 상기 플로우 룰과 비교하는 단계;
상기 저장소의 상기 플로우 룰의 내용과 상기 스위치의 플로우 테이블이 일치하는 경우, 상기 룰 싱크 어플리케이션에서 상기 저장소의 상기 플로우 룰의 타임 스탬프를 업데이트 하는 단계; 및
상기 저장소의 데이터베이스에 상기 플로우 룰이 존재하나 상기 스위치의 플로우 테이블에는 적용되어 있지 않는 경우, 상기 룰 싱크 어플리케이션에서 상기 스위치에 상기 플로우 룰을 전송하는 단계를 포함하되,
상기 플로우 룰을 저장소의 데이터베이스에 기록하고, 상기 스위치에 상기 플로우 룰을 전송하는 단계는,
임의의 시점에 전송된 복수의 플로우 테이블을 포함하는 플로우 모드 메시지를 그대로 상기 저장소의 데이터베이스에 기록하고,
상기 어플리케이션은 스위치에 적용할 플로우 룰을 상기 저장소의 데이터베이스에 적용하기 위하여, 상기 플로우 룰의 스위치 ID를 스위치 ID기 기록된 제1 테이블에서 검색하고, 상기 제1 테이블 상에서 검색된 스위치 ID와 연결된 플로우 테이블 식별 정보를 기록한 제2 테이블을 확인하여 상기 플로우 룰에 상응하는 테이블 ID를 검색하고, 상기 테이블 ID와 연결된 플로우 룰의 매치 필드를 기록한 제3 테이블 및 상기 플로우 룰의 인스트럭션을 기록한 제4 테이블을 검색하고, 상기 스위치에 적용할 플로우 룰 타입에 기초하여 상기 제3 및 제4 테이블에 적용하되,
상기 스위치에 적용할 플로우 룰의 매치 필드 항목을 추출하여, 상기 네트워크에 적용할 수 있는 플로우 룰의 모든 매치 필드 항목을 미리 설정된 코드 값을 이용하여 기록한 테이블을 통해 비트 어레이로 변환하고, 매치 필드 항목에 대한 비트 어레이에 해쉬 함수를 적용하여 해쉬 값을 추출하고, 추출된 해쉬 값을 이용하여 상기 제3 테이블에 해쉬 값에 해당하는 항목을 검색하는 것을 특징으로 하는 플로우 룰 적용 방법. - 제 7항에 있어서,
상기 저장소의 데이터베이스에 상기 플로우 룰이 존재하지 않고, 상기 스위치의 플로우 테이블에는 적용되어 있는 경우, 상기 룰 싱크 어플리케이션에서 상기 스위치에 상기 플로우 룰을 삭제하도록 제어하는 단계를 포함하는 것을 특징으로 하는 플로우 룰 적용 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190137601A KR102226915B1 (ko) | 2019-10-31 | 2019-10-31 | 소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법, 장치 및 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190137601A KR102226915B1 (ko) | 2019-10-31 | 2019-10-31 | 소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법, 장치 및 컴퓨터 프로그램 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102226915B1 true KR102226915B1 (ko) | 2021-03-11 |
Family
ID=75142870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190137601A Active KR102226915B1 (ko) | 2019-10-31 | 2019-10-31 | 소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법, 장치 및 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102226915B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114448891A (zh) * | 2022-01-26 | 2022-05-06 | 深圳星云智联科技有限公司 | 流表同步方法、装置、设备和介质 |
US11838197B2 (en) | 2020-10-29 | 2023-12-05 | Samsung Electronics Co., Ltd. | Methods and system for securing a SDN controller from denial of service attack |
CN118802743A (zh) * | 2024-09-13 | 2024-10-18 | 杭州海康威视系统技术有限公司 | 一种流表更新方法、装置、网络系统及电子设备 |
CN119232648A (zh) * | 2024-11-28 | 2024-12-31 | 北京火山引擎科技有限公司 | 集群中边缘节点的流表配置方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101674169B1 (ko) * | 2015-08-17 | 2016-11-08 | 성균관대학교산학협력단 | 오픈플로우 스위치 및 플로우 테이블 관리 방법 |
KR20170010835A (ko) * | 2014-05-27 | 2017-02-01 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 플로우 테이블 관리 방법, 및 관련 디바이스 및 시스템 |
KR101826725B1 (ko) * | 2014-12-23 | 2018-02-07 | 인텔 코포레이션 | 네트워크 장치 흐름 룩업 관리를 위한 기술 |
-
2019
- 2019-10-31 KR KR1020190137601A patent/KR102226915B1/ko active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170010835A (ko) * | 2014-05-27 | 2017-02-01 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 플로우 테이블 관리 방법, 및 관련 디바이스 및 시스템 |
KR101826725B1 (ko) * | 2014-12-23 | 2018-02-07 | 인텔 코포레이션 | 네트워크 장치 흐름 룩업 관리를 위한 기술 |
KR101674169B1 (ko) * | 2015-08-17 | 2016-11-08 | 성균관대학교산학협력단 | 오픈플로우 스위치 및 플로우 테이블 관리 방법 |
Non-Patent Citations (1)
Title |
---|
OpenFlow Switch Specification Version 1.5.0 (2014.12.19) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11838197B2 (en) | 2020-10-29 | 2023-12-05 | Samsung Electronics Co., Ltd. | Methods and system for securing a SDN controller from denial of service attack |
CN114448891A (zh) * | 2022-01-26 | 2022-05-06 | 深圳星云智联科技有限公司 | 流表同步方法、装置、设备和介质 |
CN114448891B (zh) * | 2022-01-26 | 2024-01-02 | 深圳星云智联科技有限公司 | 流表同步方法、装置、设备和介质 |
CN118802743A (zh) * | 2024-09-13 | 2024-10-18 | 杭州海康威视系统技术有限公司 | 一种流表更新方法、装置、网络系统及电子设备 |
CN119232648A (zh) * | 2024-11-28 | 2024-12-31 | 北京火山引擎科技有限公司 | 集群中边缘节点的流表配置方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102226915B1 (ko) | 소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법, 장치 및 컴퓨터 프로그램 | |
CN106599061B (zh) | 基于SQLite的嵌入式数据库同步方法 | |
US9479323B2 (en) | Communication system, forwarding node, control device, communication control method, and program | |
US10956501B2 (en) | Network-wide, location-independent object identifiers for high-performance distributed graph databases | |
CN104782087B (zh) | 交换设备、控制器、交换设备配置、报文处理方法及系统 | |
CN114500633B (zh) | 数据转发方法、相关装置、程序产品及数据传输系统 | |
KR101240552B1 (ko) | 미디어 키 관리 및 상기 미디어 키를 이용한 피어-투-피어 메시지 송수신 시스템 및 방법 | |
KR20110071453A (ko) | 지그비 게이트웨이 및 이의 메시지 동일화 방법 | |
CN104601468A (zh) | 报文转发方法和设备 | |
WO2017186159A1 (zh) | 报文传输 | |
CN111010329B (zh) | 一种报文传输方法及装置 | |
CN112887229B (zh) | 一种会话信息同步方法及装置 | |
US10862804B2 (en) | Redirecting data packets between overlay network and underlay network | |
US20150324387A1 (en) | Broadcast data operations in distributed file systems | |
WO2020062959A1 (zh) | 配置数据的方法及装置 | |
CN112437127A (zh) | 报文处理方法、装置以及负载均衡器和服务器 | |
US8886913B2 (en) | Apparatus and method for identifier management | |
US20140013007A1 (en) | Access log management method | |
KR102420606B1 (ko) | 캐시 경로를 이용하는 패킷 데이터 처리 방법 및 이를 사용하는 전자 장치 | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及系统 | |
US9686149B2 (en) | Information processing system, relay device, and information processing method | |
US20150019755A1 (en) | Data-centric communications system, node, and data forwarding method | |
JP2022554380A (ja) | 転送情報を生成する方法、装置、およびシステム | |
US10541914B2 (en) | Data packet forwarding method and network device | |
JP7289303B2 (ja) | ネットワーク通信方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20191031 |
|
PA0201 | Request for examination | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20200810 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20210223 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210305 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20210308 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20231227 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20240201 Start annual number: 5 End annual number: 5 |