1 |
1
소프트웨어 정의 네트워크(software defined network)에서의 패킷 처리 장치로서, 플로우에 따른 매칭 룰과 액션을 포함하는 복수의 플로우 엔트리를 각각 복수의 플로우 엔트리 인덱스에 매칭하여 저장하고 있는 플로우 테이블, 그리고 수신된 패킷으로부터 상기 매칭 룰에 속한 각 매칭 필드의 값과 상기 각 매칭 필드가 와일드카드로 지정된 필드인지를 나타내는 플로우 매칭 마스크 태그 값을 추출하고, 상기 플로우 매칭 태그 값에 따라서 상기 매칭 필드의 값을 결정하고, 상기 결정된 매칭 필드의 값을 이용하여 계산한 제1 인덱스에 대응하는 플로우 엔트리의 액션에 따라서 상기 수신된 패킷을 처리하는 패킷 처리 엔진을 포함하는 패킷 처리 장치
|
2 |
2
제1항에서, 상기 플로우 매칭 마스크 필드의 각 비트는 상기 각 매칭 필드에 대응하고, 대응하는 각 매칭 필드가 와일드카드로 지정된 필드인지를 나타내는 패킷 처리 장치
|
3 |
3
제2항에서, 상기 플로우 매칭 마스크 태그의 비트가 1인 경우 해당 비트에 대응하는 매칭 필드는 와일드카드 매칭으로 지정된 필드를 나타내고, 상기 플로우 매칭 마스크 태그의 비트가 0인 경우 해당 비트에 대응하는 매칭 필드는 완전 매칭으로 지정된 필드를 나타내는 패킷 처리 장치
|
4 |
4
제2항에서, 상기 패킷 처리 엔진은 상기 추출한 매칭 필드 값 중 상기 와일드카드로 지정된 필드의 값을 미리 정의된 값으로 변경하는 패킷 처리 장치
|
5 |
5
제2항에서, 상기 패킷 처리 엔진은 상기 플로우 테이블에 상기 제1 인덱스에 대응되는 플로우 엔트리가 없는 경우, SDN 제어부로부터 수신한 플로우 명령에 따라서 상기 플로우 테이블을 갱신하는 패킷 처리 장치
|
6 |
6
제5항에서, 상기 플로우 명령은 상기 수신된 패킷에 대한 매칭 룰의 정보 및 액션의 정보를 포함하고, 상기 패킷 처리 엔진은 상기 플로우 명령에 포함된 매칭 룰에 속하는 각 매칭 필드의 값을 결정하고, 상기 결정한 매칭 필드의 값에 따라서 계산한 제2 인덱스에 대응하여 상기 플로우 명령에 포함된 매칭 룰과 상기 액션을 포함하는 플로우 엔트리를 상기 플로우 테이블에 추가하는 패킷 처리 장치
|
7 |
7
제6항에서, 상기 액션의 정보는 상기 수신한 패킷을 전달할 출력 포트를 지정하는 액션을 포함하는 패킷 처리 장치
|
8 |
8
제7항에서, 상기 액션의 정보는 상기 패킷을 전송할 다음 노드에 설정될 매칭 룰의 각 매칭 필드에 대응하는 플로우 매칭 마스크 태그를 설정하는 액션을 더 포함하는 패킷 처리 장치
|
9 |
9
제7항에서, 상기 액션의 정보는 상기 패킷에 설정된 플로우 매칭 마스크 태그를 제거하는 액션을 더 포함하는 패킷 처리 장치
|
10 |
10
제1항에서, 상기 패킷 처리 엔진은 수신된 패킷의 이더넷 유형으로부터 상기 패킷이 플로우 매칭 마스크 태그를 포함하는 패킷인지 판단하는 패킷 처리 장치
|
11 |
11
제1항에서, 상기 패킷 처리 엔진은 상기 결정된 매칭 필드의 값을 설정된 해쉬 함수에 입력하여 상기 해쉬 함수의 출력 값을 상기 제1 인덱스로 사용하는 패킷 처리 장치
|
12 |
12
소프트웨어 정의 네트워크(software defined network)에서 SDN 스위치가 패킷을 처리하는 방법으로서, 상기 패킷을 수신하는 단계, 상기 패킷으로부터 추출된 매칭 룰에 속한 각 매칭 필드의 값과 상기 각 매칭 필드가 와일드카드 매칭으로 지정된 필드인지를 나타내는 플로우 매칭 마스크 태그를 이용하여 제1 인덱스를 계산하는 단계, 플로우 테이블로부터 상기 제1 인덱스에 대응되는 플로우 엔트리를 검색하는 단계, 그리고 상기 제1 인덱스에 대응되는 플로우 엔트리에 설정된 액션에 따라서 상기 패킷을 처리하는 단계를 포함하는 패킷 처리 방법
|
13 |
13
제12항에서, 상기 계산하는 단계는 상기 플로우 매칭 마스크 태그의 비트 값에 따라서 상기 각 매칭 필드의 값을 결정하는 단계, 그리고 상기 각 매칭 필드의 값을 입력으로 하는 해쉬 함수의 출력 값을 상기 제1 인덱스로 결정하는 단계를 포함하는 패킷 처리 방법
|
14 |
14
제13항에서, 상기 결정하는 단계는 상기 각 매칭 필드의 값 중 상기 와일드카드 매칭으로 지정된 필드의 값을 미리 정의된 값으로 변경하는 단계를 포함하는 패킷 처리 방법
|
15 |
15
제12항에서, 상기 제1 인덱스에 매칭되는 플로우 엔트리가 없는 경우에 SDN 제어부로부터 플로우 명령을 수신하는 단계, 그리고 상기 플로우 명령에 따라서 상기 패킷을 처리하는 단계를 더 포함하고, 상기 플로우 명령은 상기 패킷을 처리할 매칭 룰의 정보와 해당 액션의 정보를 포함하고, 상기 해당 액션의 정보는 상기 패킷을 전송할 다음 노드에 설정될 매칭 룰의 매칭 필드에 대응하는 플로우 매칭 마스크 태그의 설정 및 상기 패킷에 설정된 플로우 매칭 마스크 태그의 삭제 중 적어도 하나를 포함하는 패킷 처리 방법
|
16 |
16
제15항에서, 상기 플로우 명령에 따라서 상기 패킷을 처리하는 단계는 상기 플로우 명령에 포함된 매칭 룰의 정보를 상기 플로우 테이블을 갱신하는 단계를 포함하는 패킷 처리 방법
|
17 |
17
제16항에서, 상기 갱신하는 단계는 상기 플로우 명령에 포함되어 있는 매칭 룰에 속하는 각 매칭 필드의 값을 결정하는 단계, 상기 결정한 매칭 필드의 값에 따라서 제2 인덱스를 계산하는 단계, 그리고 상기 플로우 명령에 포함된 매칭 룰과 상기 액션을 포함하는 플로우 엔트리를 상기 제2 인덱스에 대응하여 상기 플로우 테이블에 추가하는 단계를 포함하는 패킷 처리 방법
|
18 |
18
제12항에서, 상기 플로우 매칭 마스크 태그의 비트가 1인 경우 해당 비트에 대응하는 매칭 필드는 와일드카드 매칭으로 지정된 필드를 나타내는 패킷 처리 방법
|
19 |
19
제12항에서, 상기 플로우 매칭 마스크 태그의 비트가 0인 경우 해당 비트에 대응하는 매칭 필드는 완전 매칭으로 지정된 필드를 나타내는 상기 패킷 처리 방법
|
20 |
20
제12항에서, 상기 수신하는 단계는 상기 패킷의 이더넷 유형으로부터 상기 패킷이 플로우 매칭 마스크 태그를 포함하는 패킷인지 판단하는 단계를 포함하는 패킷 처리 방법
|