KR20220142523A - Sdwan 아키텍처에서 서비스 평면 상의 동적 방화벽 발견 - Google Patents
Sdwan 아키텍처에서 서비스 평면 상의 동적 방화벽 발견 Download PDFInfo
- Publication number
- KR20220142523A KR20220142523A KR1020227032716A KR20227032716A KR20220142523A KR 20220142523 A KR20220142523 A KR 20220142523A KR 1020227032716 A KR1020227032716 A KR 1020227032716A KR 20227032716 A KR20227032716 A KR 20227032716A KR 20220142523 A KR20220142523 A KR 20220142523A
- Authority
- KR
- South Korea
- Prior art keywords
- data packet
- source
- site
- destination
- source data
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000007689 inspection Methods 0.000 claims abstract description 47
- 239000003550 marker Substances 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 230000002441 reversible effect Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 개시내용은 서비스 평면 상에서 동적 방화벽 발견을 위한 시스템들 및 방법들에 관한 것이다. 방법은 소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위한 소스 데이터 패킷을 식별하는 단계 - 소스 데이터 패킷은 광역 네트워크(WAN)를 통한 소스 머신과 목적지 머신 사이의 연결을 위한 요청에 대응함 -, 소스 사이트와 연관된 제1 방화벽에서 소스 데이터 패킷을 검사하는 단계, 제1 방화벽에 의한 검사를 표시하기 위해 마커로 소스 데이터 패킷을 마킹하는 단계, 마킹된 소스 데이터 패킷을 목적지 사이트로 송신하는 단계, 목적지 사이트에서, 마커에 기초하여 소스 데이터 패킷이 검사되었다고 결정하는 단계, 및 목적지 사이트와 연관된 제2 방화벽에 의한 소스 데이터 패킷의 검사 없이, 목적지 사이트의 목적지 머신으로 소스 데이터 패킷을 포워딩하는 단계를 포함한다.
Description
본 개시내용은 일반적으로 방화벽 발견에 관한 것으로, 보다 구체적으로는 소프트웨어 정의된 광역 네트워크 (software-defined wide area network)(SDWAN) 아키텍처에서 서비스 평면 상의 동적 방화벽 발견을 위한 시스템들 및 방법들에 관한 것이다.
오늘날의 세계에서 네트워크 정보의 플로우가 기하급수적으로 증가함에 따라, 컴퓨터 보안은 중요한 필수 요소이다. 해커, 맬웨어 등으로부터의 위협은 대형 컴퓨터 네트워크를 셧 다운하거나 손상시켜, 상당한 비용, 리소스 및 시간 낭비를 초래한다. 이러한 사건을 방지하기 위한 보안 조치가 위협의 본질 및 정교함과 함께 지속적으로 진화하고 있다. 외부 위협으로부터 컴퓨터 네트워크를 보호하기 위한 하나의 메커니즘은 방화벽이다. 방화벽은 네트워크와 외부 사이에 배치되는 하드웨어와 소프트웨어의 조합이다. 방화벽은 네트워크 사용자에게 전송되기 전에 네트워크 외부로부터의 모든 데이터를 수신한다. 방화벽은 데이터를 소팅 및 분석하여 네트워크에 액세스해야 하는지 여부를 결정한다. 데이터가 승인되는 경우, 방화벽은 데이터를 목적지로 포워딩한다. 데이터가 승인되지 않는 경우, 방화벽은 네트워크에 대한 데이터 액세스를 거부한다.
도 1은 소정의 실시예들에 따른, 데이터 패킷의 이중 검사를 회피하기 위해 방화벽 검사를 동적으로 디테스팅(detesting)하기 위한 시스템을 도시한다.
도 2는 소정의 실시예들에 따른, 데이터 패킷의 순방향 플로우에 기초하여 방화벽 검사를 검출하기 위한 방법의 흐름도를 도시한다.
도 3은 소정의 실시예들에 따른, 데이터 패킷의 역방향 플로우에 기초하여 방화벽 검사를 검출하기 위한 방법의 흐름도를 도시한다.
도 4는 소정의 실시예들에 따른, 컴퓨터 시스템을 도시한다.
도 2는 소정의 실시예들에 따른, 데이터 패킷의 순방향 플로우에 기초하여 방화벽 검사를 검출하기 위한 방법의 흐름도를 도시한다.
도 3은 소정의 실시예들에 따른, 데이터 패킷의 역방향 플로우에 기초하여 방화벽 검사를 검출하기 위한 방법의 흐름도를 도시한다.
도 4는 소정의 실시예들에 따른, 컴퓨터 시스템을 도시한다.
개관
본 발명의 양태들은 독립항들에 제시되어 있고 바람직한 특징들은 종속항들에 제시되어 있다. 일 양태의 특징들은 임의의 양태에 단독으로 또는 다른 양태들과의 조합으로 적용될 수도 있다.
일 실시예에 따르면, 시스템은 하나 이상의 프로세서 및 명령들을 포함하는 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체를 포함할 수도 있고, 명령들은, 하나 이상의 프로세서에 의해 실행될 때, 시스템의 하나 이상의 컴포넌트로 하여금, 소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위한 소스 데이터 패킷을 식별하는 동작 - 소스 데이터 패킷은 광역 네트워크(wide area network)(WAN)를 통한 소스 머신과 목적지 머신 사이의 연결을 위한 요청에 대응함 -, 소스 사이트와 연관된 제1 방화벽에서 소스 데이터 패킷을 검사하는 동작, 제1 방화벽에 의한 검사를 표시하기 위해 마커로 소스 데이터 패킷을 마킹하는 동작, 마킹된 소스 데이터 패킷을 목적지 사이트로 송신하는 동작, 목적지 사이트에서, 마커에 기초하여 소스 데이터 패킷이 검사되었다고 결정하는 동작, 및 목적지 사이트와 연관된 제2 방화벽에 의한 소스 데이터 패킷의 검사 없이, 목적지 사이트의 목적지 머신으로 소스 데이터 패킷을 포워딩하는 동작을 포함하는 동작들을 수행하게 한다.
또한, 동작들은 목적지 사이트의 목적지 머신으로부터 소스 사이트의 소스 머신으로의 역방향 송신을 위한 확인응답 데이터 패킷을 식별하는 동작을 추가로 포함할 수도 있고, 확인응답 데이터 패킷은 소스 데이터 패킷에 응답하여 역방향 송신된다. 동작들은 부가적으로 목적지 사이트와 연관된 제2 방화벽에 의한 확인응답 데이터 패킷의 검사 없이 목적지 사이트로부터 소스 사이트로 확인응답 데이터 패킷을 송신하는 동작, 소스 사이트에서, 확인응답 데이터 패킷이 소스 데이터 패킷과 연관된다고 결정하는 동작, 소스 사이트와 연관된 제1 방화벽에서 확인응답 데이터 패킷을 검사하는 동작, 및 소스 사이트의 소스 머신으로 확인응답 데이터 패킷을 포워딩하는 동작을 추가로 포함할 수도 있다.
부가적으로, 소스 데이터 패킷은 SYN 패킷일 수도 있고, 확인응답 데이터 패킷은 SYN/ACK 패킷일 수도 있다.
게다가, 마킹하는 동작은 소스 데이터 패킷과 연관된 플로우 테이블 엔트리를 생성하는 동작을 추가로 포함할 수도 있다. 또한, 확인응답 데이터 패킷은 플로우 테이블 엔트리에 기초하여 소스 데이터 패킷과 연관되도록 결정될 수도 있다.
또한, 마커는 소스 데이터 패킷의 송신 제어 프로토콜(Transmission Control Protocol)(TCP) 헤더의 필드에 기초한 리디렉트(redirect) 플래그일 수도 있다.
다른 실시예에 따르면, 방법은 소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위한 소스 데이터 패킷을 식별하는 단계 - 소스 데이터 패킷은 광역 네트워크(WAN)를 통한 소스 머신과 목적지 머신 사이의 연결을 위한 요청에 대응함 -, 소스 사이트와 연관된 제1 방화벽에서 소스 데이터 패킷을 검사하는 단계, 제1 방화벽에 의한 검사를 표시하기 위해 마커로 소스 데이터 패킷을 마킹하는 단계, 마킹된 소스 데이터 패킷을 목적지 사이트로 송신하는 단계, 목적지 사이트에서, 마커에 기초하여 소스 데이터 패킷이 검사되었다고 결정하는 단계, 및 목적지 사이트와 연관된 제2 방화벽에 의한 소스 데이터 패킷의 검사 없이, 목적지 사이트의 목적지 머신으로 소스 데이터 패킷을 포워딩하는 단계를 포함할 수도 있다.
또 다른 실시예에 따르면, 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체는 명령들을 구현할 수도 있으며, 명령들은, 프로세서에 의해 실행될 때, 소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위한 소스 데이터 패킷을 식별하는 동작 - 소스 데이터 패킷은 광역 네트워크(WAN)를 통한 소스 머신과 목적지 머신 사이의 연결을 위한 요청에 대응함 -, 소스 사이트와 연관된 제1 방화벽에서 소스 데이터 패킷을 검사하는 동작, 제1 방화벽에 의한 검사를 표시하기 위해 마커로 소스 데이터 패킷을 마킹하는 동작, 마킹된 소스 데이터 패킷을 목적지 사이트로 송신하는 동작, 목적지 사이트에서, 마커에 기초하여 소스 데이터 패킷이 검사되었다고 결정하는 동작, 및 목적지 사이트와 연관된 제2 방화벽에 의한 소스 데이터 패킷의 검사 없이, 목적지 사이트의 목적지 머신으로 소스 데이터 패킷을 포워딩하는 동작을 포함하는 동작들의 수행을 야기한다.
본 개시내용의 소정의 실시예들의 기술적 이점들은 다음 중 하나 이상을 포함할 수도 있다. 본 명세서에 설명된 시스템들 및 방법들은 데이터 패킷들의 방화벽 검사의 동적 검출을 허용함으로써, 네트워크에서의 하나 이상의 방화벽에 의해 수행될 수도 있는 검사들의 수를 감소시킬 수도 있다. 그 결과, 기존의 방화벽 라이센스 하의 방화벽 사용 카운트가 감소될 수도 있고 및/또는 네트워크를 통해 전송될 수도 있는 데이터 패킷들의 수가 증가될 수도 있다. 부가적으로, 개시된 시스템들 및 방법들은 데이터 패킷이 더 적은 방화벽 검사를 겪음에 따라 프로세싱 시간이 본질적으로 감소될 것이기 때문에 시스템 레이턴시를 감소시킬 수도 있다.
다른 기술적 이점들은 다음의 도면들, 설명들 및 청구항들로부터 관련 기술 분야의 통상의 기술자에게 쉽게 명백할 것이다. 더욱이, 특정 이점들이 위에 열거되었지만, 다양한 실시예들은 열거된 이점들 모두를 포함하거나, 일부를 포함하거나, 또는 어느 것도 포함하지 않을 수도 있다.
예시의 실시예들
오늘날의 SD-WAN 기업 네트워크에서는, 로컬이든 지역이든 모든 사이트에 방화벽이 장착되어 네트워크에 진입하는 데이터가 네트워크 또는 그 사용자에게 위협이 되지 않도록 한다. 그러나, 오늘날의 네트워크는 애플리케이션 및 데이터 트래픽이, 2개의 방화벽을, 즉 소스 및 목적지 사이트들에서, 양자의 사이트가 모두 동일한 신뢰된 네트워크의 일부인 경우에도, 횡단하도록 강제한다. 데이터 패킷이 횡단해야 하는 방화벽의 수를 배가시킴으로써, 기업은 방화벽 사용 라이센스를 배가시킬 필요가 있을 수도 있는데, 이는 이들 라이센스들이 종종 방화벽이 한번에 프로세싱할 수 있는 연결들의 수에 기초하기 때문이다(예를 들어, 소스 및 목적지 사이트들에서 이중으로 검사된 1000개의 송신된 데이터 패킷에 대해 2000개의 방화벽 라이센스가 필요할 수도 있음). 또한, 방화벽 프로세싱의 각각의 인스턴스가 트래픽을 느리게 하기 때문에, 방화벽들의 수가 증가하면 네트워크 지연 시간이 또한 증가할 수도 있다.
본 개시내용은 네트워크에서 서비스 평면 상의 방화벽들을 동적으로 발견하기 위한, 구체적으로는, 제1 방화벽이 데이터 패킷을 검사한 때를 검출하여, 네트워크에서 제2 방화벽에 의한 동일한 패킷의 제2 검사를 회피하기 위한, 시스템 및 방법들을 도입한다.
도 1은 본 개시내용에 따른, 방화벽 검사를 검출하기 위한 시스템 (100)을 도시한다. 시스템 (100) 은 네트워크(190)를 통해 통신가능하게 연결된 소스 사이트(110) 및 목적지 사이트(150)를 포함한다. 도 1은 네트워크를 광역 네트워크(WAN)로서 도시하지만, 네트워크(190)는 SD-WAN, 로컬 영역 네트워크(local area network)(LAN), 무선 로컬 영역 네트워크(wireless local area network)(WLAN), 또는 관련 기술 분야에 알려진 임의의 다른 통신 네트워크를 포함할 수도 있음을 이해해야 한다
시스템(100)의 소스 사이트(110)는 소스 머신(120)(클라이언트 컴퓨터로서 나타냄), 소스 라우터(130), 및 소스 사이트(110)와 연관된 제1 방화벽(140)을 포함할 수도 있다. 목적지 사이트(150)는 목적지 머신(180)(서버로서 나타냄), 목적지 라우터(160), 및 목적지 사이트(150)와 연관된 제2 방화벽(170)을 포함할 수도 있다.
소스 사이트(110) 및 목적지 사이트(150)는 다양한 네트워크 구성들 및 아키텍처들에 대응할 수도 있다. 일 실시예에서, 소스 사이트(110)의 소스 머신(120)은 분기 사이트의 사용자 머신에 대응할 수도 있고, 목적지 사이트(150)의 목적지 머신(180)은 법인 데이터 센터의 서버에 대응할 수도 있다. 다른 실시예에서, 소스 사이트(110)의 소스 머신(120)은 원격 사이트의 (가상 사설 네트워크(virtual private network)(VPN) 사용자에 의해 사용되는 머신과 같은) 원격 사용자 머신에 대응할 수도 있고, 목적지 사이트의 목적지 머신(180)은 법인 본사 사이트의 서버에 대응할 수도 있다. 시스템(100)은 관련 기술 분야의 기술자들에 의해 결정된 바와 같이, 다른 사용 용이성들에 적용가능할 수도 있다
도 1을 계속 참조하면, 소스 머신(120)은 목적지 머신(180)과의 통신 링크를 확립하기를 원할 수도 있고, 소스 사이트(110)의 소스 머신(120)으로부터 목적지 사이트(150)의 목적지 머신(180)으로 데이터 패킷을 송신하기 위해 송신 제어 프로토콜(TCP) 세션을 개시할 수도 있다. 본 개시내용의 목적을 위해, 소스 사이트로부터 송신될 데이터 패킷은 "소스 데이터 패킷"으로 지칭될 수도 있다. 소스 데이터 패킷은 소스 머신(120)과 목적지 머신(180) 사이의 연결을 위한 요청에 대응할 수도 있다. 일 실시예에서, 소스 데이터 패킷은 동기화(SYN) 패킷을 포함할 수도 있다. SYN 패킷은 제1 머신(예를 들어, 소스 머신)으로부터 제2 머신(예를 들어, 목적지 머신)으로 전송될 수도 있는 TCP 패킷이어서, 이들 사이에 연결이 확립될 것을 요청한다. SYN 패킷에 응답하여, 목적지 머신은 동기화/확인응답(SYN/ACK) 패킷을 소스 머신으로 다시 전송할 수도 있다. SYN 및 SYN/ACK 패킷들은 소스 머신(120)과 목적지 머신(180) 사이의 통신을 확립하기 위한 전자 "핸드쉐이크(handshake)"로서 작용한다.
소스 머신(120)으로부터 전송된 소스 데이터 패킷은 소스 라우터(130)에 도달할 수도 있다. 소스 라우터(130)는 소스 데이터 패킷을 체크하고 그의 헤더에 플로우 테이블 엔트리를 갖는지 여부를 결정할 수도 있으며, 플로우 테이블 엔트리는 데이터 패킷이 소스 라우터(130)에 의해 이전에 보여졌음을 표시할 수도 있다. 소스 데이터 패킷이 SYN 패킷인 경우, 이는 소스 라우터(130)와의 제1 세션이기 때문에 플로우 테이블 엔트리를 갖지 않을 것이다. 다음으로, 소스 사이트(110)의 애플리케이션 정책에 따라, 소스 라우터(130)는 검사를 위해 소스 사이트(110)의 제1 방화벽(140)으로 소스 데이터 패킷을 포워딩할 수도 있다. 제1 방화벽(140)은 소스 데이터 패킷을 검사한 후 소스 데이터 패킷을 다시 소스 라우터(130)로 리턴할 수도 있다. 그 후 소스 라우터(130)는 방화벽 검사가 제1 방화벽(140)에 의해 완료되었음을 표시하기 위해 마커로 소스 데이터 패킷을 마킹할 수도 있다. 일 실시예에서, 소스 라우터(130)는 TCP 옵션들을 이용하여 플래그로 소스 데이터 패킷을 만들 수도 있다. 일 실시예에서, 플래그는 소스 데이터 패킷의 TCP 헤더의 옵션 필드에서 이용가능한 커스텀 "R"("리디렉트") 플래그를 포함할 수도 있다. 소스 라우터(130)는 또한 소스 데이터 패킷에 대한 플로우 테이블 엔트리를 생성하고 저장할 수도 있다. 플로우 테이블 엔트리는 소스 데이터 패킷이 SYN 패킷이고 대응하는 리턴 트래픽(SYN/ACK 패킷)이 목적지 사이트(150)로부터 수신될 것임을 표시할 수도 있다. 그 후, 소스 라우터(130)는 소스 데이터 패킷을 캡슐화되고 암호화된 터널을 통해 목적지 사이트(150)로 송신할 수도 있다. 위의 설명은 제1 방화벽(140)이 소스 라우터(130)에 의해 소스 데이터 패킷을 마킹하기 전에 소스 데이터 패킷을 검사할 수도 있음을 나타내지만, 일부 실시예들에서는, 소스 라우터(130)가 제1 방화벽(140)으로 소스 데이터 패킷을 포워딩하기 전에 이를 마킹할 수도 있음을 이해해야 한다. 즉, 소정의 액션들의 시퀀스는 본 개시내용의 범위로부터 벗어나지 않으면서, 수정될 수도 있다.
목적지 사이트(150)에서, 목적지 라우터(160)는 소스 데이터 패킷을 수신할 수도 있다. 목적지 라우터(160)는 터널을 디캡슐화하고 소스 데이터 패킷을 검사할 수도 있다. 목적지 라우터(160)는 마커의 존재, 즉 R 플래그에 기초하여, 소스 데이터 패킷이 방화벽, 즉 제1 방화벽(140)에 의해 검사되었다고 결정할 수도 있다. 따라서, 목적지 라우터(160)는 소스 데이터 패킷을 그의 로컬 방화벽, 즉 제2 방화벽(170)으로 포워딩할 필요가 없다고 결정할 수도 있다. 그 결과, 목적지 라우터(160)는 소스 데이터 패킷과 연관된 플로우 테이블 엔트리를 캐시한 후, 목적지 사이트(150)와 연관된 제2 방화벽(170)에 의한 소스 데이터 패킷의 검사 없이 목적지 사이트(150)의 목적지 머신(180)으로 소스 데이터 패킷을 포워딩할 수도 있다. 소스 데이터 패킷과 연관된 플로우 테이블 엔트리를 캐싱함으로써, 목적지 라우터(160)는 소스 데이터 패킷과 연관되고 동일한 경로를 따라 다시 전송될 확인응답 데이터 패킷(즉, 역방향 패킷)을 나중에 확인할 수도 있다. 더욱이, 소스 데이터 패킷이 R 플래그에 의해 마킹되었기 때문에, 목적지 라우터(160)는 방화벽 검사가 이미 발생했다고 결정함으로써, 제2 방화벽 검사를 회피할 수도 있다. 예로서, 방화벽 검사가 발생했음을 표시하기 위한 마커(R 플래그)가 소스 데이터 패킷의 헤더에 없는 경우, 목적지 라우터는 소스 데이터 패킷이 방화벽 검사를 위한 후보라고 결정할 수도 있고, 그 결과, 목적지 사이트(150)와 연관된 목적지 머신(180)으로 소스 데이터 패킷을 포워딩하기 전에 검사를 위해 제2 방화벽(170)으로 패킷을 포워딩할 수도 있다. 또한, 방화벽들이 스테이트풀(stateful)이기 때문에, 즉 데이터 패킷을 검사하는 방화벽이 순방향 및 역방향 양자 모두에서 주어진 데이터 패킷의 플로우를 보아야 하기 때문에, 제2 방화벽에서 순방향으로 흐르는 소스 데이터 패킷의 검사는 동일한 방화벽에서 연관된 역방향 트래픽의 검사를 필요로 할 것이다.
소스 머신(120)에 의해 전송된 소스 데이터 패킷(예를 들어, SYN 패킷)에 대한 응답으로, 목적지 머신(180)은 확인응답 데이터 패킷(예를 들어, SYN/ACK 패킷)으로 응답할 수도 있다. 구체적으로, 목적지 사이트(150)의 목적지 머신(180)은 소스 사이트(110)로의 역방향 송신을 위해 확인응답 데이터 패킷을 목적지 라우터(160)로 송신할 수도 있다. 확인응답 데이터 패킷은 목적지 머신(180)과의 연결을 요청할 때 소스 머신(120)에 의해 전송된 소스 데이터 패킷과 연관될 수도 있다(즉, 이에 응답하여 전송될 수도 있다).
목적지 라우터(160)는 확인응답 데이터 패킷이 이전에 캐시된 플로우 테이블 엔트리(즉, 소스 데이터 패킷과 관련된 플로우 테이블 엔트리)와 연관된다고 결정할 수도 있고, 그 결과 확인응답 데이터 패킷이 로컬 방화벽, 즉 목적지 사이트(150)의 제2 방화벽(170)으로 전송될 필요가 없음을 알게 된다. 결과적으로, 목적지 라우터(160)는 확인응답 데이터 패킷을 캡슐화하고 이를 목적지 사이트에서 제2 방화벽에 의한 검사 없이 목적지 사이트로부터 소스 사이트로 터널을 통해 송신할 수도 있다.
소스 사이트(110)에서, 소스 라우터(130)는 확인응답 데이터 패킷을 검사하고, 확인응답 데이터 패킷이 소스 데이터 패킷과 연관된다고, 즉, 확인응답 데이터 패킷이 SYN 소스 데이터 패킷에 응답하여 전송된 SYN/ACK라고 결정할 수도 있다. 이 결정은 확인응답 데이터 패킷 및/또는 소스 데이터 패킷과 연관된 플로우 테이블 엔트리를 조회함으로써 이루어질 수도 있다. 소스 라우터(130)가 확인응답 데이터 패킷과 연관된 플로우 테이블 엔트리가 없다고 결정하는 경우, 데이터 패킷은 드롭될 수도 있다. 일 실시예에서, 소스 라우터(130)는 부가적으로 확인응답 데이터 패킷이 "R" 플래그로 마킹되지 않는다고 결정할 수도 있고, 그 결과, 확인응답 데이터 패킷을 그의 로컬 방화벽, 즉 제1 방화벽(140)으로 포워딩할 수도 있다. 데이터 패킷을 검사하는 주어진 방화벽은 데이터 패킷의 플로우를 양 방향에서 보아야 하기 때문에, 역방향 트래픽을 또한 검사해야 한다. 도 1의 예에서, 제1 방화벽(140)은 소스 데이터 패킷을 검사했기 때문에, 역방향 트래픽, 즉 확인응답 데이터 패킷을 또한 검사할 것이다. 따라서, 제1 방화벽(140)은 확인응답 데이터 패킷을 검사할 수도 있고, 방화벽의 애플리케이션 정책들에 기초하여, 확인응답 데이터 패킷을 허용하거나 거부하는 결정을 행할 수도 있다. 제1 방화벽(140)이 확인응답 데이터 패킷을 허용하기로 판정하면, 패킷은 소스 머신(120)으로의 송신을 위해 소스 라우터(130)로 포워딩될 수도 있다.
2개의 라우터가 도 1의 시스템(300)에 도시되어 있지만, 소스 사이트(110) 및 목적지 사이트(150)는 데이터 패킷이 전송 및/또는 수신될 수도 있는 임의의 수의 라우터와 연관될 수도 있음을 이해해야 한다. 예를 들어, 제1 방화벽(140)이 데이터 패킷을 검사한 후에, 패킷은 클라이언트로의 송신을 위해 소스 라우터(130) 또는 네트워크에서의 다른 라우터로 전송될 수도 있다
이제 도 2가 참조되며, 여기에서는 본 개시내용에 따른, 데이터 패킷의 순방향 플로우에 기초하여 방화벽 검사를 검출하기 위한 방법(200)이 나타나 있다. 방법은 단계(205)에서 시작할 수도 있다. 단계(210)에서, 소스 데이터 패킷은 소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위해 식별될 수도 있다. 소스 데이터 패킷은 WAN과 같은 네트워크를 통해 소스 머신과 목적지 머신 사이의 연결을 위한 요청에 대응할 수도 있다. 일 실시예에서, 소스 데이터 패킷은 SYN 패킷일 수도 있다.
단계(220)에서, 소스 사이트와 연관된 제1 방화벽에서 소스 데이터 패킷이 검사될 수도 있다. 소스 데이터 패킷이 제1 방화벽에 의한 검사를 통과한다고 가정하면, 단계(230)에서, 소스 데이터 패킷은 제1 방화벽에 의한 검사를 표시하기 위해 마커로 소스 데이터 패킷을 마킹할 수도 있다. 일 실시예에서, 소스 데이터 패킷은 TCP 옵션들을 이용하여 플래그로 마킹될 수도 있다. 일 실시예에서, 플래그는 소스 데이터 패킷의 TCP 헤더의 옵션 필드에서 이용가능한 커스텀 "R"("리디렉트") 플래그를 포함할 수도 있다.
소스 데이터 패킷이 통신을 요청하기 위한 패킷(즉, SYN 패킷)이고 대응하는 리턴 트래픽(즉, SYN/ACK 패킷)이 목적지 사이트로부터 수신될 것임을 표시하기 위해 소스 데이터 패킷에 대한 FTP 플로우 테이블 엔트리가 또한 생성될 수도 있다.
단계(240)에서, 마킹된 소스 데이터 패킷은 캡슐화되고, 암호화된 터널을 통해 목적지 사이트로 송신될 수도 있다. 단계(250)에서, 터널이 디캡슐화되었고 소스 데이터 패킷이 목적지 사이트에서 수신되면, 소스 데이터 패킷이 이전에 검사되었는지 여부에 관한 결정이 이루어질 수도 있다. 이 결정은 소스 데이터 패킷의 헤더에서 마커(R 플래그)의 존재에 기초하여 이루어질 수도 있다. 단계(250)에서, 소스 데이터 패킷이 검사되었다고 결정되는 경우, 방법은 단계(260)로 진행할 수도 있으며, 여기서 소스 데이터 패킷과 연관된 플로우 테이블 엔트리가 캐시된 후에, 목적지 사이트와 연관된 제2 방화벽에 의한 소스 데이터 패킷의 검사 없이 목적지 사이트의 목적지 머신으로 소스 데이터 패킷이 포워딩될 수도 있다. 방법은 단계(270)에서 종료할 수도 있다.
단계(250)에서, 소스 데이터 패킷이 검사되지 않았다고 결정되는 경우, 방법은 단계(280)로 진행할 수도 있으며, 여기서 소스 데이터 패킷은 제2 방화벽에 의한 검사를 위해 제2 목적지 사이트의 연관된 제2 방화벽으로 포워딩될 수도 있다. 방법은 단계(270)에서 종료할 수도 있다.
이제 도 3이 참조되며, 여기에서는 본 개시내용에 따른, 데이터 패킷의 역방향 플로우에 기초하여 방화벽 검사를 검출하기 위한 방법(300)이 나타나 있다. 일 실시예에서, 도 3에 설명된 방법(300)은 도 2에 설명된 방법(200)의 연속일 수도 있으며, 즉 도 3과 관련하여 하기에서 설명되는 확인응답 데이터 패킷은 도 2와 관련하여 위에 설명된 소스 데이터 패킷에 응답하여 송신될 수도 있다.
도 3에 나타낸 바와 같이, 방법(300)은 단계(305)에서 시작할 수도 있다. 단계(310)에서, 확인응답 데이터 패킷은 목적지 사이트의 목적지 머신으로부터 소스 사이트의 소스 머신으로의 역방향 송신을 위해 식별될 수도 있다. 확인응답 데이터 패킷은 네트워크를 통해 소스 머신으로부터 목적지 머신으로 전송된 연결을 위한 요청에 응답하여 전송될 수도 있기 때문에, 소스 데이터 패킷과 연관될 수도 있다. 일 실시예에서, 확인응답 데이터 패킷은 도 2와 관련하여 설명된 SYN 패킷과 연관되거나 그에 응답하여 전송될 수도 있는 SYN/ACK 패킷일 수도 있다. 310에서 식별하는 단계는 확인응답 데이터 패킷이 이전에 캐싱된 소스 데이터 패킷의 플로우 테이블 엔트리와 연관된다고 결정하는 것을 추가로 포함할 수도 있으며(예를 들어, 도 2의 단계(260)), 그 결과, 확인응답 데이터 패킷은 로컬 방화벽, 즉 목적지 사이트와 연관된 제2 방화벽으로 전송될 필요가 없다.
단계(320)에서, 확인응답 데이터 패킷은 캡슐화되고 목적지 사이트의 제2 방화벽에 의한 확인응답 데이터 패킷의 검사 없이, 목적지 사이트로부터 소스 사이트로 터널을 통해 송신될 수도 있다. 단계(330)에서, 확인응답 데이터 패킷이 소스 사이트에서 수신되면, 확인응답 데이터 패킷이 소스 데이터 패킷과 연관되는지 여부, 즉 확인응답 데이터 패킷이 SYN 소스 데이터 패킷에 응답하여 전송된 SYN/ACK인 것에 관하여 결정이 이루어질 수도 있다. 이 결정은 확인응답 데이터 패킷이 소스 데이터 패킷과 연관됨을 검증하기 위해 FTP 플로우 테이블 엔트리를 조회함으로써 이루어질 수도 있다
단계(330)에서, 확인응답 데이터 패킷이 소스 데이터 패킷과 연관되지 않는다고 결정되는 경우, 즉 플로우 테이블 엔트리가 확인응답 데이터 패킷을 검증하지 못하면, 방법은 단계(370)로 진행할 수도 있고, 여기서 확인응답 데이터 패킷은 드롭된다. 방법은 단계(360)에서 종료할 수도 있다.
단계(330)에서, 확인응답 데이터 패킷이 소스 데이터 패킷과 연관된다고 결정되는 경우, 즉 플로우 테이블 엔트리가 확인응답 데이터 패킷을 검증하면, 방법은 단계(340)로 진행할 수도 있고, 여기서 확인응답 데이터 패킷은 그의 로컬 방화벽, 즉 제1 방화벽으로, 검사를 위해 포워딩될 수도 있다. 다른 실시예들에서, 확인응답 데이터 패킷이 소스 데이터 패킷과 연관된다고 결정하는 것 대신에, 또는 그에 부가하여, 확인응답 데이터 패킷이 "R" 플래그로 마킹되지 않는다는(즉, 목적지 사이트에서 마킹되지 않았다는) 결정이 또한 이루어질 수도 있으며, 그 결과, 확인응답 데이터 패킷은 검사를 위해 제1 방화벽으로 포워딩될 수도 있다.
단계(340)에서, 소스 사이트와 연관된 제1 방화벽에서 확인응답 데이터 패킷이 검사될 수도 있다. 데이터 패킷을 검사하는 주어진 방화벽(여기서, 제1 방화벽)은 양 방향에서 데이터 패킷의 플로우를 보아야 하기 때문에, 역방향 트래픽을 또한 검사해야 한다. 예로서, 제1 방화벽은 도 2의 단계(220)에서 순방향 트래픽, 즉 소스 데이터 패킷을 검사했기 때문에, 제1 방화벽은 또한 역방향 트래픽, 즉 확인응답 데이터 패킷을 검사해야 한다. 확인응답 데이터 패킷의 검사에 기초하여, 방화벽이 확인응답 데이터 패킷을 허용하는 경우, 단계(350)에서, 확인응답 데이터 패킷은 소스 사이트와 연관된 소스 머신으로 포워딩될 수도 있다. 단계(360)에서, 방법은 종료될 수도 있다.
요약하면, 본 개시내용의 시스템들 및 방법들은 데이터 패킷들의 방화벽 검사의 동적 검출을 허용함으로써, 네트워크의 하나 이상의 방화벽에 의해 수행될 수도 있는 검사들의 수를 적어도 절반으로 감소시킬 수도 있다. 그 결과, 개시된 시스템들 및 방법들의 이점들은 기존의 방화벽 라이센스 하에서 방화벽 사용 카운트의 감소 및/또는 네트워크를 통해 전송될 수도 있는 데이터 패킷들의 수를 배가시키는 것을 포함한다. 부가적으로, 개시된 시스템들 및 방법들은 데이터 패킷들이 더 적은 방화벽들에 의해 검사됨에 따라 프로세싱 시간이 감소할 것이기 때문에, 시스템 레이턴시를 개선할 수도 있다.
이제 예시의 컴퓨터 시스템(400)이 나타나 있는 도 4를 참조한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템(400)은 본 명세서에 설명되거나 도시된 하나 이상의 방법의 하나 이상의 단계를 수행한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템(400)은 본 명세서에 설명되거나 도시된 기능성을 제공한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템(400) 상에서 실행되는 소프트웨어는 본 명세서에 설명되거나 도시된 하나 이상의 방법의 하나 이상의 단계를 수행하거나 본 명세서에 설명되거나 도시된 기능성을 제공한다. 특정 실시예들은 하나 이상의 컴퓨터 시스템(400)의 하나 이상의 부분을 포함한다. 본 명세서에서, 컴퓨터 시스템에 대한 언급은 컴퓨팅 디바이스를 포괄할 수도 있고, 적절한 경우 그 역 또한 마찬가지이다. 또한, 컴퓨터 시스템에 대한 언급은 적절한 경우, 하나 이상의 컴퓨터 시스템을 포괄할 수도 있다.
본 개시내용은 임의의 적합한 수의 컴퓨터 시스템(400)을 고려한다. 본 개시내용은 임의의 적합한 물리적 형태를 취하는 컴퓨터 시스템(400)을 고려한다. 제한이 아닌 예로서, 컴퓨터 시스템(400)은 임베딩된 컴퓨터 시스템, 시스템 온 칩(system-on-chip)(SOC), 단일 보드 컴퓨터 시스템(single-board computer system)(SBC)(예를 들어, 컴퓨터 온 모듈(computer-on-module)(COM) 또는 시스템 온 모듈(system-on-module)(SOM)과 같은), 데스크톱 컴퓨터 시스템, 랩톱 또는 노트북 컴퓨터 시스템, 상호작용적 키오스크, 메인프레임, 컴퓨터 시스템들의 메시, 모바일 전화, 개인용 디지털 보조기(personal digital assistant)(PDA), 서버, 태블릿 컴퓨터 시스템, 증강/가상 현실 디바이스, 또는 이들 중 2이상의 조합일 수도 있다. 적절한 경우, 컴퓨터 시스템(400)은 하나 이상의 컴퓨터 시스템(400)을 포함할 수 있거나; 단일이거나 또는 분산되거나; 다중 위치들에 걸쳐 있거나; 다중 머신들에 걸쳐 있거나; 다중 데이터 센터들에 걸쳐 있거나; 또는 클라우에 상주할 수도 있으며, 이는 하나 이상의 네트워크에서 하나 이상의 클라우드 컴포넌트를 포함할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템(400)은 실질적인 공간 또는 시간적 제한 없이 본 명세서에 설명되거나 도시된 하나 이상의 방법의 하나 이상의 단계를 수행할 수도 있다. 제한이 아닌 예로서, 하나 이상의 컴퓨터 시스템(400)은 본 명세서에 설명되거나 도시된 하나 이상의 방법의 하나 이상의 단계를 실시간으로 또는 배치(batch) 모드로 수행할 수도 있다. 하나 이상의 컴퓨터 시스템(400)은, 적절한 경우, 본 명세서에 설명되거나 도시된 하나 이상의 방법의 하나 이상의 단계를 상이한 시간들에서 또는 상이한 위치들에서 수행할 수도 있다.
특정 실시예들에서, 컴퓨터 시스템(400)은 프로세서(402), 메모리(404), 스토리지(406), 입력/출력(I/O) 인터페이스(408), 통신 인터페이스(410), 및 버스(412)를 포함한다. 본 개시내용은 특정 배열로 특정 수의 특정 컴포넌트를 갖는 특정 컴퓨터 시스템을 설명하고 도시하지만, 본 개시내용은 임의의 적절한 배열로 임의의 적절한 수의 임의의 적절한 컴포넌트를 갖는 임의의 적절한 컴퓨터 시스템을 고려한다.
특정 실시예들에서, 프로세서(402)는 컴퓨터 프로그램을 구성하는 것과 같은 명령들을 실행하기 위한 하드웨어를 포함한다. 제한이 아닌 예로서, 명령들을 실행하기 위해, 프로세서(402)는 내부 레지스터, 내부 캐시, 메모리(404), 또는 스토리지(406)로부터 명령들을 추출(또는 페치)하고; 이들을 디코딩 및 실행하며; 그 후 하나 이상의 결과를 내부 레지스터, 내부 캐시, 메모리(404), 또는 스토리지(406)에 기입할 수도 있다. 특정 실시예들에서, 프로세서(402)는 데이터, 명령들, 또는 어드레스들에 대한 하나 이상의 내부 캐시를 포함할 수도 있다. 본 개시내용은 적절한 경우, 임의의 적절한 수의 임의의 적절한 내부 캐시를 포함하는 프로세서(402)를 고려한다. 제한이 아닌 예로서, 프로세서(402)는 하나 이상의 명령 캐시, 하나 이상의 데이터 캐시, 및 하나 이상의 변환 색인 버퍼(translation lookaside buffer)(TLB)를 포함할 수도 있다. 명령 캐시들에서의 명령들은 메모리(404) 또는 스토리지(406) 에서의 명령들의 사본들일 수도 있고, 명령 캐시들은 프로세서(402)에 의한 이들 명령들의 추출 속도를 높일 수도 있다. 데이터 캐시들에서의 데이터는 동작을 위해 프로세서(402)에서 실행되는 명령들에 대한 메모리(404) 또는 스토리지(406) 에서의 데이터의 사본들; 프로세서(402)에서 실행되는 후속 명령들에 의한 액세스를 위해 또는 메모리(404) 또는 스토리지(406)에 기입하기 위해 프로세서(402)에서 실행되는 이전 명령들의 결과들; 또는 다른 적절한 데이터일 수도 있다. 데이터 캐시들은 프로세서(402)에 의한 판독 또는 기입 동작들의 속도를 높일 수도 있다. TLB들은 프로세서(402)에 대한 가상-어드레스 변환의 속도를 높일 수도 있다. 특정 실시예들에서, 프로세서(402)는 데이터, 명령들, 또는 어드레스들에 대한 하나 이상의 내부 레지스터를 포함할 수도 있다. 본 개시내용은 적절한 경우, 임의의 적절한 수의 임의의 적절한 내부 레지스터를 포함하는 프로세서(402)를 고려한다. 적절한 경우, 프로세서(402)는 하나 이상의 산술 로직 유닛(arithmetic logic unit)(ALU)을 포함하거나; 멀티-코어 프로세서이거나, 또는 하나 이상의 프로세서(402)를 포함할 수도 있다. 본 개시내용은 특정 프로세서를 설명하고 도시하지만, 본 개시내용은 임의의 적합한 프로세서를 고려한다.
특정 실시예들에서, 메모리(404)는 프로세서(402)가 실행하는 명령들 또는 프로세서(402)가 동작하는 데이터를 저장하기 위한 메인 메모리를 포함한다. 제한이 아닌 예로서, 컴퓨터 시스템(400)은 스토리지(406) 또는 (예를 들어, 다른 컴퓨터 시스템(400)과 같은) 다른 소스로부터 메모리(404)로 명령들을 로딩할 수도 있다. 프로세서(402)는 그 후 메모리(404)로부터의 명령들을 내부 레지스터 또는 내부 캐시로 로딩할 수도 있다. 명령들을 실행하기 위해, 프로세서(402)는 내부 레지스터 또는 내부 캐시로부터 명령들을 추출하고 이들을 디코딩할 수도 있다. 명령들의 실행 동안 또는 후에, 프로세서(402)는 하나 이상의 결과(중간 또는 최종 결과일 수도 있음)를 내부 레지스터 또는 내부 캐시에 기입할 수도 있다. 프로세서(402)는 그 후 이들 결과들 중 하나 이상을 메모리(404)에 기입할 수도 있다. 특정 실시예들에서, 프로세서(402)는 (스토리지(406) 또는 다른 곳과 대조적으로) 하나 이상의 내부 레지스터 또는 내부 캐시에서의 또는 메모리(404) 에서의 명령들만을 실행하고, (스토리지(406) 또는 다른 곳과 대조적으로) 하나 이상의 내부 레지스터 또는 내부 캐시에서의 또는 메모리(404)에서의 데이터에 대해서만 동작한다. 하나 이상의 메모리 버스(각각 어드레스 버스 및 데이터 버스를 포함할 수도 있음)는 프로세서(402)를 메모리(404)에 커플링할 수도 있다. 버스(412)는 하기에 설명되는 바와 같이, 하나 이상의 메모리 버스를 포함할 수도 있다. 특정 실시예들에서, 하나 이상의 메모리 관리 유닛(memory management unit)(MMU)은 프로세서(402)와 메모리(404) 사이에 상주하고 프로세서(402)에 의해 요청된 메모리(404)에 대한 액세스들을 용이하게 한다. 특정 실시예들에서, 메모리(404)는 랜덤 액세스 메모리(RAM)를 포함한다. 이 RAM은 적절한 경우 휘발성 메모리일 수도 있다. 적절한 경우, 이 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM)일 수도 있다. 또한, 적절한 경우, 이 RAM은 단일-포트형 또는 다중-포트형 RAM일 수도 있다. 본 개시내용은 임의의 적절한 RAM을 고려한다. 메모리(404)는 적절한 경우, 하나 이상의 메모리(404)를 포함할 수도 있다. 본 개시내용이 특정 메모리를 설명하고 도시하지만, 본 개시내용은 임의의 적절한 메모리를 고려한다.
특정 실시예들에서, 스토리지(406)는 데이터 또는 명령들을 위한 대용량 스토리지를 포함한다. 제한이 아닌 예로서, 스토리지(406)는 하드 디스크 드라이브(hard disk drive)(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광학 디스크, 자기 광학 디스크, 자기 테이프, 또는 범용 직렬 버스(Universal Serial Bus)(USB) 드라이브 또는 이들 중 2이상의 조합을 포함할 수도 있다. 스토리지(406)는 적절한 경우, 탈착가능하거나 탈착가능하지 않은 (또는 고정) 매체들을 포함할 수도 있다. 스토리지(406)는 적절한 경우, 컴퓨터 시스템(400)의 내부 또는 외부에 있을 수도 있다. 특정 실시예들에서, 스토리지(406)는 비휘발성, 고체 상태 메모리이다. 특정 실시예들에서, 스토리지(406)는 판독 전용 메모리(ROM)를 포함한다. 적절한 경우, 이 ROM은 마스크 프로그래밍된 ROM, 프로그램가능 ROM(PROM), 소거가능한 PROM(EPROM), 전기적으로 소거가능한 PROM(EEPROM), 전기적으로 변경가능한 ROM(EAROM), 또는 플래시 메모리 또는 이들 중 2이상의 조합일 수도 있다. 본 개시내용은 임의의 적합한 물리적 형태를 취하는 대용량 스토리지(406)를 고려한다. 스토리지(406)는 적절한 경우, 프로세서(402)와 스토리지(406) 사이의 통신을 용이하게 하는 하나 이상의 스토리지 제어 유닛을 포함할 수도 있다. 적절한 경우, 스토리지(406) 는 하나 이상의 스토리지(406)를 포함할 수도 있다. 본 개시내용이 특정 스토리지를 설명하고 도시하지만, 본 개시내용은 임의의 적합한 스토리지를 고려한다.
특정 실시예들에서, I/O 인터페이스(408)는 컴퓨터 시스템(400)과 하나 이상의 I/O 디바이스 사이의 통신을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어 또는 양자 모두를 포함한다. 컴퓨터 시스템(400)은 적절한 경우, 이들 I/O 디바이스들 중 하나 이상을 포함할 수도 있다. 이들 I/O 디바이스들 중 하나 이상은 사람과 컴퓨터 시스템(400) 사이의 통신을 가능하게 할 수도 있다. 제한이 아닌 예로서, I/O 디바이스는 키보드, 키패드, 마이크로폰, 모니터, 마우스, 프린터, 스캐너, 스피커, 스틸 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오 카메라, 다른 적합한 I/O 디바이스 또는 이들 중 2이상의 조합을 포함할 수도 있다. I/O 디바이스는 하나 이상의 센서를 포함할 수도 있다. 본 개시내용은 임의의 적합한 I/O 디바이스들 및 이들을 위한 임의의 적합한 I/O 인터페이스들(408)을 고려한다. 적절한 경우, I/O 인터페이스(408)는 프로세서(402)가 이들 I/O 디바이스들 중 하나 이상을 구동하는 것을 가능하게 하는 하나 이상의 디바이스 또는 소프트웨어 드라이버를 포함할 수도 있고, 적절한 경우, I/O 인터페이스(408)는 하나 이상의 I/O 인터페이스(408)를 포함할 수도 있다. 본 개시내용이 특정 I/O 인터페이스를 설명하고 도시하지만, 본 개시내용은 임의의 적합한 I/O 인터페이스를 고려한다.
특정 실시예들에서, 통신 인터페이스(410)는 컴퓨터 시스템(400)과 하나 이상의 다른 컴퓨터 시스템(400) 또는 (예를 들어, 패킷 기반 통신과 같은) 하나 이상의 네트워크 사이의 통신을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어 또는 양자 모두를 포함한다. 제한이 아닌 예로서, 통신 인터페이스(410)는 이더넷 또는 다른 유선-기반 네트워크와 통신하기 위한 네트워크 인터페이스 제어기(NIC) 또는 네트워크 어댑터 또는 WI-FI 네트워크와 같은 무선 네트워크와 통신하기 위한 무선 NIC(WNIC) 또는 무선 어댑터를 포함할 수도 있다. 본 개시내용은 임의의 적합한 네트워크 및 이를 위한 임의의 적합한 통신 인터페이스(410)를 고려한다. 제한이 아닌 예로서, 컴퓨터 시스템(400)은 애드 혹(ad hoc) 네트워크, 개인 영역 네트워크(personal area network)(PAN), 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 대도시 영역 네트워크(metropolitan area network)(MAN), 또는 인터넷의 하나 이상의 부분 또는 이들 중 2이상의 조합과 통신할 수도 있다. 이들 네트워크들 중 하나 이상의 하나 이상의 부분은 유선 또는 무선일 수도 있다. 예로서, 컴퓨터 시스템(400)은 무선 PAN(WPAN)(예를 들어, BLUETOOTH WPAN과 같은), WI-FI 네트워크, WI-MAX 네트워크, 셀룰러 전화 네트워크(예를 들어, 모바일 통신을 위한 글로벌 시스템(Global System for Mobile Communications)(GSM) 네트워크, 롱-텀 에볼루션(Long-Term Evolution)(LTE) 네트워크 또는 5G 네트워크와 같은), 또는 다른 적절한 무선 네트워크 또는 이들 중 2이상의 조합과 통신할 수도 있다. 컴퓨터 시스템(400)은 적절한 경우, 이들 네트워크들 중 임의의 것에 대한 임의의 적절한 통신 인터페이스(410)를 포함할 수도 있다. 통신 인터페이스(410)는 적절한 경우, 하나 이상의 통신 인터페이스(410)를 포함할 수도 있다. 본 개시내용이 특정 통신 인터페이스를 설명하고 도시하지만, 본 개시내용은 임의의 적합한 통신 인터페이스를 고려한다.
특정 실시예들에서, 버스(412)는 컴퓨터 시스템(400)의 컴포넌트들을 서로 커플링하는 하드웨어, 소프트웨어 또는 양자 모두를 포함한다. 제한이 아닌 예로서, 버스(412)는 가속화된 그래픽스 포트(Accelerated Graphics Port)(AGP) 또는 다른 그래픽스 버스, 강화된 산업 표준 아키텍처(Enhanced industry Standard Architecture)(EISA) 버스, 프론트 사이드 버스(front-side bus)(FSB), HYPERTRANSPORT (HT) 인터커넥트, 산업 표준 아키텍처(Industry Standard Architecture)(ISA) 버스, INFINIBAND 인터커넥트, 로우-핀-카운트(low-pin-count) (LPC) 버스, 메모리 버스, 마이크로 채널 아키텍처(Micro Channel Architecture)(MCA) 버스, 주변 컴포넌트 인터커넥트(Peripheral Component Interconnect)(PCI) 버스, PCI-익스프레스(PCIe) 버스, 시리얼 어드밴스드 기술 어태치먼트(serial advanced technology attachment)(SATA) 버스, VLB(Video Electronics Standards Association local) 버스, 또는 다른 적합한 버스 또는 이들 중 2이상의 조합을 포함할 수도 있다. 버스(412)는 적절한 경우, 하나 이상의 버스(412)를 포함할 수도 있다. 본 개시내용이 특정 버스를 설명하고 도시하지만, 본 개시내용은 임의의 적합한 버스 또는 인터커넥트를 고려한다.
본 개시내용의 실시예들은 서비스 평면 상의 동적 방화벽 발견을 위한 시스템들 및 방법들에 관한 것이다. 방법은 소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위한 소스 데이터 패킷을 식별하는 단계 - 소스 데이터 패킷은 광역 네트워크(WAN)를 통한 소스 머신과 목적지 머신 사이의 연결을 위한 요청에 대응함 -, 소스 사이트와 연관된 제1 방화벽에서 소스 데이터 패킷을 검사하는 단계, 제1 방화벽에 의한 검사를 표시하기 위해 마커로 소스 데이터 패킷을 마킹하는 단계, 마킹된 소스 데이터 패킷을 목적지 사이트로 송신하는 단계, 목적지 사이트에서, 마커에 기초하여 소스 데이터 패킷이 검사되었다고 결정하는 단계, 및 목적지 사이트와 연관된 제2 방화벽에 의한 소스 데이터 패킷의 검사 없이, 목적지 사이트의 목적지 머신으로 소스 데이터 패킷을 포워딩하는 단계를 포함한다.
본 명세서에서, 컴퓨터 판독가능 비일시적 저장 매체 또는 매체들은 하나 이상의 반도체-기반 또는 다른 집적 회로(IC)(예를 들어, 필드 프로그램가능 게이트 어레이(FPGA) 또는 주문형 IC(ASIC)과 같은), 하드 디스크 드라이브들(HDD), 하이브리드 하드 드라이브(HMD), 광학 디스크, 광학 디스크 드라이브(ODD), 자기 광학 디스크, 자기 광학 드라이브, 플로피 디스켓들, 플로피 디스크 드라이브(FDD), 자기 테이프, 고체 상태 드라이브(SSD), RAM 드라이브, SECURE DIGITAL 카드 또는 드라이브, 임의의 다른 적합한 컴퓨터 판독가능 비일시적 저장 매체, 또는 적절한 경우, 이들 중 2이상의 임의의 적합한 조합을 포함할 수도 있다. 컴퓨터 판독가능 비일시적 저장 매체는 적절한 경우, 휘발성, 비휘발성, 또는 휘발성 및 비휘발성의 조합일 수도 있다.
본 명세서에서, "또는"은 달리 명시적으로 표시되거나 문맥에 의해 달리 표시되지 않는 한, 포괄적이고 배타적이지 않다. 따라서, 본 명세서에서, "A 또는 B"는 달리 명시적으로 표시되거나 문맥에 의해 달리 표시되지 않는 한, "A, B, 또는 양자 모두"를 의미한다. 또한, "및"은 달리 명시적으로 표시되거나 문맥에 의해 달리 표시되지 않는 한, 공동 및 개별 둘 다이다. 따라서, 본 명세서에서, "A 및 B"는 달리 명시적으로 표시되거나 문맥에 의해 달리 표시되지 않는 한, "공동으로 또는 개별적으로, A 및 B"를 의미한다.
본 개시내용의 범위는 관련 기술 분야의 통상의 기술자가 이해하게 될 본 명세서에 설명되거나 도시된 예시적인 실시예들에 대한 모든 변화들, 치환들, 변형들, 변경들, 및 수정들을 포괄한다. 본 개시내용의 범위는 본 명세서에 설명되거나 도시된 예시의 실시예들에 제한되지 않는다. 또한, 본 개시내용이 특정 컴포넌트들, 요소들, 특징, 기능들, 동작들, 또는 단계들을 포함하는 것으로 본 명세서에서 개개의 실시예들을 설명하고 도시하지만, 이들 실시예들 중 임의의 것은 관련 기술 분야의 통상의 기술자가 이해하게 될 본 명세서의 임의의 곳에서 설명되거나 도시된 컴포넌트들, 요소들, 특징들, 기능들, 동작들, 또는 단계들 중 임의의 것의 임의의 조합 또는 순열을 포함할 수도 있다. 또한, 특정 기능을 수행하도록 적응되거나, 배열되거나, 가능하거나, 구성되거나, 인에이블되거나, 동작가능하거나, 또는 동작하는 장치 또는 시스템 또는 장치 또는 시스템의 컴포넌트에 대한 첨부된 청구항들에서의 언급은, 그 장치, 시스템, 또는 컴포넌트가 그렇게 적응되거나, 배열되거나, 가능하거나, 구성되거나, 인에이블되거나, 동작가능하거나, 또는 동작하는 한, 그 장치, 시스템, 컴포넌트 또는 그 특정 기능이 활성화되거나, 턴온되거나, 언록되는지 여부에 관계없이 그 장치, 시스템, 컴포넌트를 포괄한다. 부가적으로, 본 개시내용은 특정 실시예들을 특정 이점들을 제공하는 것으로 설명하거나 도시하지만, 특정 실시예들은 이러한 이점들 중 어느 것도 제공하지 않거나, 일부 또는 전부를 제공할 수도 있다.
본 명세서에 개시된 실시예들은 단지 예들일 뿐이며, 본 개시내용의 범위가 이에 한정되는 것은 아니다. 특정 실시예들은 본 명세서에 개시된 실시예들의 컴포넌트들, 요소들, 특징들, 기능들, 동작들, 또는 단계들의 전부 또는 일부를 포함하거나 또는 어느 것도 포함하지 않을 수도 있다. 본 개시내용에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 관한 첨부된 청구항들에 개시되며, 하나의 청구항 카테고리, 예를 들어 방법에서 언급된 임의의 특징은 다른 청구항 카테고리, 예를 들어 시스템에서도 또한 청구될 수 있다. 첨부된 청구항들에서의 종속성 및 재언급은 형식적인 이유로만 선택된다. 그러나, 임의의 이전 청구항들(특히 다중 종속)에 대한 의도적인 재언급으로부터 초래되는 임의의 청구물이 또한 청구될 수 있어서, 청구항들 및 그의 특징들의 임의의 조합이 개시되고 첨부된 청구항들에서 선택된 종속항들에 관계없이 청구될 수 있다. 청구될 수 있는 청구물은 첨부된 청구항들에 제시된 바와 같은 특징들의 조합들 뿐만 아니라 청구항들에서의 특징들의 임의의 다른 조합을 포함하며, 청구항들에 언급된 각각의 특징은 청구항들에서의 임의의 다른 특징 또는 다른 특징들의 조합과 조합될 수 있다. 또한, 본 명세서에 설명되거나 도시된 실시예들 및 특징들 중 임의의 것은 별도의 청구항에서 및/또는 본 명세서에 설명되거나 도시된 임의의 실시예 또는 특징과 또는 첨부된 청구항들의 특징들 중 임의의 것과 임의의 조합으로 청구될 수도 있다.
Claims (23)
- 시스템으로서,
하나 이상의 프로세서; 및
명령들을 포함하는 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체를 포함하고, 상기 명령들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 시스템의 하나 이상의 컴포넌트로 하여금,
소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위한 소스 데이터 패킷을 식별하는 동작 - 상기 소스 데이터 패킷은 광역 네트워크(WAN)를 통한 상기 소스 머신과 상기 목적지 머신 사이의 연결을 위한 요청에 대응함 -;
상기 소스 사이트와 연관된 제1 방화벽에서 상기 소스 데이터 패킷을 검사하는 동작;
상기 제1 방화벽에 의한 검사를 표시하기 위해 마커로 상기 소스 데이터 패킷을 마킹하는 동작;
마킹된 상기 소스 데이터 패킷을 상기 목적지 사이트로 송신하는 동작;
상기 목적지 사이트에서, 상기 마커에 기초하여 상기 소스 데이터 패킷이 검사되었다고 결정하는 동작; 및
상기 목적지 사이트와 연관된 제2 방화벽에 의한 상기 소스 데이터 패킷의 검사 없이, 상기 목적지 사이트의 상기 목적지 머신으로 상기 소스 데이터 패킷을 포워딩하는 동작
을 포함하는 동작들을 수행하게 하는, 시스템. - 제1항에 있어서,
상기 동작들은,
상기 목적지 사이트의 상기 목적지 머신으로부터 상기 소스 사이트의 상기 소스 머신으로의 역방향 송신을 위한 확인응답 데이터 패킷을 식별하는 동작 - 상기 확인응답 데이터 패킷은 상기 소스 데이터 패킷에 응답하여 역방향 송신됨 -;
상기 목적지 사이트와 연관된 상기 제2 방화벽에 의한 상기 확인응답 데이터 패킷의 검사 없이 상기 목적지 사이트로부터 상기 소스 사이트로 상기 확인응답 데이터 패킷을 송신하는 동작;
상기 소스 사이트에서, 상기 확인응답 데이터 패킷이 상기 소스 데이터 패킷과 연관된다고 결정하는 동작;
상기 소스 사이트와 연관된 상기 제1 방화벽에서 상기 확인응답 데이터 패킷을 검사하는 동작; 및
상기 소스 사이트의 상기 소스 머신으로 상기 확인응답 데이터 패킷을 포워딩하는 동작
을 추가로 포함하는, 시스템. - 제2항에 있어서,
상기 소스 데이터 패킷은 SYN 패킷이고, 상기 확인응답 데이터 패킷은 SYN/ACK 패킷인, 시스템. - 제2항 또는 제3항에 있어서,
상기 마킹하는 동작은,
상기 소스 데이터 패킷과 연관된 플로우 테이블 엔트리를 생성하는 동작을 추가로 포함하는, 시스템. - 제4항에 있어서,
상기 확인응답 데이터 패킷은 상기 플로우 테이블 엔트리에 기초하여 상기 소스 데이터 패킷과 연관되도록 결정되는, 시스템. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 마커는 상기 소스 데이터 패킷의 송신 제어 프로토콜(TCP) 헤더의 필드에 기초하는, 시스템. - 제6항에 있어서,
상기 마커는,
리디렉트 플래그를 포함하는, 시스템. - 방법으로서,
소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위한 소스 데이터 패킷을 식별하는 단계 - 상기 소스 데이터 패킷은 광역 네트워크(WAN)를 통한 상기 소스 머신과 상기 목적지 머신 사이의 연결을 위한 요청에 대응함 -;
상기 소스 사이트와 연관된 제1 방화벽에서 상기 소스 데이터 패킷을 검사하는 단계;
상기 제1 방화벽에 의한 검사를 표시하기 위해 마커로 상기 소스 데이터 패킷을 마킹하는 단계;
마킹된 상기 소스 데이터 패킷을 상기 목적지 사이트로 송신하는 단계;
상기 목적지 사이트에서, 상기 마커에 기초하여 상기 소스 데이터 패킷이 검사되었다고 결정하는 단계; 및
상기 목적지 사이트와 연관된 제2 방화벽에 의한 상기 소스 데이터 패킷의 검사 없이, 상기 목적지 사이트의 상기 목적지 머신으로 상기 소스 데이터 패킷을 포워딩하는 단계
를 포함하는, 방법. - 제8항에 있어서,
상기 목적지 사이트의 상기 목적지 머신으로부터 상기 소스 사이트의 상기 소스 머신으로의 역방향 송신을 위한 확인응답 데이터 패킷을 식별하는 단계 - 상기 확인응답 데이터 패킷은 상기 소스 데이터 패킷에 응답하여 역방향 송신됨 -;
상기 목적지 사이트와 연관된 상기 제2 방화벽에 의한 상기 확인응답 데이터 패킷의 검사 없이 상기 목적지 사이트로부터 상기 소스 사이트로 상기 확인응답 데이터 패킷을 송신하는 단계;
상기 소스 사이트에서, 상기 확인응답 데이터 패킷이 상기 소스 데이터 패킷과 연관된다고 결정하는 단계;
상기 소스 사이트와 연관된 상기 제1 방화벽에서 상기 확인응답 데이터 패킷을 검사하는 단계; 및
상기 소스 사이트의 상기 소스 머신으로 상기 확인응답 데이터 패킷을 포워딩하는 단계
를 추가로 포함하는, 방법. - 제9항에 있어서,
상기 소스 데이터 패킷은 SYN 패킷이고, 상기 확인응답 데이터 패킷은 SYN/ACK 패킷인, 방법. - 제9항 또는 제10항에 있어서,
상기 마킹하는 단계는,
상기 소스 데이터 패킷과 연관된 플로우 테이블 엔트리를 생성하는 단계를 추가로 포함하는, 방법. - 제11항에 있어서,
상기 확인응답 데이터 패킷은 상기 플로우 테이블 엔트리에 기초하여 상기 소스 데이터 패킷과 연관되도록 결정되는, 방법. - 제8항 내지 제12항 중 어느 한 항에 있어서,
상기 마커는 상기 소스 데이터 패킷의 송신 제어 프로토콜(TCP) 헤더의 필드에 기초하는, 방법. - 제13항에 있어서,
상기 마커는,
리디렉트 플래그를 포함하는, 방법. - 명령들을 구현하는 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체로서,
상기 명령들은, 프로세서에 의해 실행될 때,
소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위한 소스 데이터 패킷을 식별하는 동작 - 상기 소스 데이터 패킷은 광역 네트워크(WAN)를 통한 상기 소스 머신과 상기 목적지 머신 사이의 연결을 위한 요청에 대응함 -;
상기 소스 사이트와 연관된 제1 방화벽에서 상기 소스 데이터 패킷을 검사하는 동작;
상기 제1 방화벽에 의한 검사를 표시하기 위해 마커로 상기 소스 데이터 패킷을 마킹하는 동작;
마킹된 상기 소스 데이터 패킷을 상기 목적지 사이트로 송신하는 동작;
상기 목적지 사이트에서, 상기 마커에 기초하여 상기 소스 데이터 패킷이 검사되었다고 결정하는 동작; 및
상기 목적지 사이트와 연관된 제2 방화벽에 의한 상기 소스 데이터 패킷의 검사 없이, 상기 목적지 사이트의 상기 목적지 머신으로 상기 소스 데이터 패킷을 포워딩하는 동작
을 포함하는 동작들의 수행을 야기하는, 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체. - 제15항에 있어서,
상기 동작들은,
상기 목적지 사이트의 상기 목적지 머신으로부터 상기 소스 사이트의 상기 소스 머신으로의 역방향 송신을 위한 확인응답 데이터 패킷을 식별하는 동작 - 상기 확인응답 데이터 패킷은 상기 소스 데이터 패킷에 응답하여 역방향 송신됨 -;
상기 목적지 사이트와 연관된 상기 제2 방화벽에 의한 상기 확인응답 데이터 패킷의 검사 없이 상기 목적지 사이트로부터 상기 소스 사이트로 상기 확인응답 데이터 패킷을 송신하는 동작;
상기 소스 사이트에서, 상기 확인응답 데이터 패킷이 상기 소스 데이터 패킷과 연관된다고 결정하는 동작;
상기 소스 사이트와 연관된 상기 제1 방화벽에서 상기 확인응답 데이터 패킷을 검사하는 동작; 및
상기 소스 사이트의 상기 소스 머신으로 상기 확인응답 데이터 패킷을 포워딩하는 동작
을 추가로 포함하는, 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체. - 제16항에 있어서,
상기 소스 데이터 패킷은 SYN 패킷이고, 상기 확인응답 데이터 패킷은 SYN/ACK 패킷인, 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체. - 제16항 또는 제17항에 있어서,
상기 마킹하는 동작은,
상기 소스 데이터 패킷과 연관된 플로우 테이블 엔트리를 생성하는 동작을 추가로 포함하는, 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체. - 제18항에 있어서,
상기 확인응답 데이터 패킷은 상기 플로우 테이블 엔트리에 기초하여 상기 소스 데이터 패킷과 연관되도록 결정되는, 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체. - 제15항 내지 제19항 중 어느 한 항에 있어서,
상기 마커는 상기 소스 데이터 패킷의 송신 제어 프로토콜(TCP) 헤더의 필드에 기초하는, 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체. - 장치로서,
소스 사이트의 소스 머신으로부터 목적지 사이트의 목적지 머신으로의 송신을 위한 소스 데이터 패킷을 식별하는 수단 - 상기 소스 데이터 패킷은 광역 네트워크(WAN)를 통한 상기 소스 머신과 상기 목적지 머신 사이의 연결을 위한 요청에 대응함 -;
상기 소스 사이트와 연관된 제1 방화벽에서 상기 소스 데이터 패킷을 검사하는 수단;
상기 제1 방화벽에 의한 검사를 표시하기 위해 마커로 상기 소스 데이터 패킷을 마킹하는 수단;
마킹된 상기 소스 데이터 패킷을 상기 목적지 사이트로 송신하는 수단;
상기 목적지 사이트에서, 상기 마커에 기초하여 상기 소스 데이터 패킷이 검사되었다고 결정하는 수단; 및
상기 목적지 사이트와 연관된 제2 방화벽에 의한 상기 소스 데이터 패킷의 검사 없이, 상기 목적지 사이트의 상기 목적지 머신으로 상기 소스 데이터 패킷을 포워딩하는 수단
을 포함하는, 장치. - 제21항에 있어서,
제9항 내지 제14항 중 어느 한 항에 기재된 방법을 구현하는 수단을 추가로 포함하는, 장치. - 컴퓨터 프로그램, 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체로서,
컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제8항 내지 제14항 중 어느 한 항의 방법의 동작들을 수행하게 하는 명령들을 포함하는, 컴퓨터 프로그램, 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/801,430 | 2020-02-26 | ||
US16/801,430 US11418491B2 (en) | 2020-02-26 | 2020-02-26 | Dynamic firewall discovery on a service plane in a SDWAN architecture |
PCT/US2021/017522 WO2021173355A1 (en) | 2020-02-26 | 2021-02-11 | Dynamic firewall discovery on a service plane in a sdwan architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220142523A true KR20220142523A (ko) | 2022-10-21 |
Family
ID=74860430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227032716A KR20220142523A (ko) | 2020-02-26 | 2021-02-11 | Sdwan 아키텍처에서 서비스 평면 상의 동적 방화벽 발견 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11418491B2 (ko) |
EP (1) | EP4111664A1 (ko) |
JP (1) | JP2023519483A (ko) |
KR (1) | KR20220142523A (ko) |
CN (1) | CN115152182B (ko) |
AU (1) | AU2021228566A1 (ko) |
CA (1) | CA3168071A1 (ko) |
WO (1) | WO2021173355A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240086508A (ko) | 2022-12-09 | 2024-06-18 | 광운대학교 산학협력단 | 암호화된 제어 트래픽 분석을 통한 sd-wan의 제어 평면 구조 정보 생성 장치 및 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240179125A1 (en) * | 2022-11-30 | 2024-05-30 | Cisco Technology, Inc. | Service optimization in networks and cloud interconnects |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5898830A (en) | 1996-10-17 | 1999-04-27 | Network Engineering Software | Firewall providing enhanced network security and user transparency |
US6658565B1 (en) * | 1998-06-01 | 2003-12-02 | Sun Microsystems, Inc. | Distributed filtering and monitoring system for a computer internetwork |
US7644436B2 (en) | 2002-01-24 | 2010-01-05 | Arxceo Corporation | Intelligent firewall |
US7055207B2 (en) | 2003-08-08 | 2006-06-06 | Trico Products Corporation | Universal wiper adapter and wiper blade assembly incorporating same |
WO2005015827A1 (ja) * | 2003-08-08 | 2005-02-17 | T.T.T.Kabushikikaisha | 通信システム、通信装置、通信方法、及びそれを実現するための通信プログラム |
US20050240989A1 (en) * | 2004-04-23 | 2005-10-27 | Seoul National University Industry Foundation | Method of sharing state between stateful inspection firewalls on mep network |
KR20070087198A (ko) * | 2004-12-21 | 2007-08-27 | 미슬토우 테크놀로지즈, 인코포레이티드 | 네트워크 인터페이스 및 방화벽 장치 |
US8665868B2 (en) | 2005-08-19 | 2014-03-04 | Cpacket Networks, Inc. | Apparatus and method for enhancing forwarding and classification of network traffic with prioritized matching and categorization |
US8776207B2 (en) | 2011-02-16 | 2014-07-08 | Fortinet, Inc. | Load balancing in a network with session information |
JP2013016044A (ja) * | 2011-07-04 | 2013-01-24 | Fujitsu Ltd | ファイアウォール装置およびファイアウォール装置の制御方法 |
CN102571786A (zh) * | 2011-12-30 | 2012-07-11 | 深信服网络科技(深圳)有限公司 | 防火墙中多个安全模块之间联动防御的方法及防火墙 |
CN102790773A (zh) * | 2012-07-30 | 2012-11-21 | 深圳市共进电子股份有限公司 | 一种家庭网关用防火墙的实现方法 |
US9635039B1 (en) * | 2013-05-13 | 2017-04-25 | Fireeye, Inc. | Classifying sets of malicious indicators for detecting command and control communications associated with malware |
US9009461B2 (en) * | 2013-08-14 | 2015-04-14 | Iboss, Inc. | Selectively performing man in the middle decryption |
TW201600997A (zh) * | 2014-06-30 | 2016-01-01 | 萬國商業機器公司 | 於一集中式管理環境中動態產生一策略實施點之封包檢視策略的方法、資訊設備及電腦程式產品 |
US9729682B2 (en) * | 2015-05-18 | 2017-08-08 | 128 Technology, Inc. | Network device and method for processing a session using a packet signature |
US10333905B2 (en) | 2015-10-16 | 2019-06-25 | Orock Technologies, Inc. | System for providing end-to-end protection against network-based attacks |
CN105827623B (zh) * | 2016-04-26 | 2019-06-07 | 山石网科通信技术股份有限公司 | 数据中心系统 |
US10958623B2 (en) * | 2017-05-26 | 2021-03-23 | Futurewei Technologies, Inc. | Identity and metadata based firewalls in identity enabled networks |
US10931637B2 (en) * | 2017-09-15 | 2021-02-23 | Palo Alto Networks, Inc. | Outbound/inbound lateral traffic punting based on process risk |
CN107888621A (zh) * | 2017-12-14 | 2018-04-06 | 新华三技术有限公司 | 防火墙管理方法、装置及防火墙堆叠系统 |
US11218446B2 (en) * | 2018-06-15 | 2022-01-04 | Orock Technologies, Inc. | Secure on-premise to cloud communication |
JP7360087B2 (ja) * | 2019-09-30 | 2023-10-12 | サクサ株式会社 | セキュリティ監視装置及びセキュリティ監視方法 |
-
2020
- 2020-02-26 US US16/801,430 patent/US11418491B2/en active Active
-
2021
- 2021-02-11 WO PCT/US2021/017522 patent/WO2021173355A1/en unknown
- 2021-02-11 JP JP2022547760A patent/JP2023519483A/ja active Pending
- 2021-02-11 CA CA3168071A patent/CA3168071A1/en active Pending
- 2021-02-11 AU AU2021228566A patent/AU2021228566A1/en active Pending
- 2021-02-11 EP EP21710688.9A patent/EP4111664A1/en active Pending
- 2021-02-11 KR KR1020227032716A patent/KR20220142523A/ko not_active Application Discontinuation
- 2021-02-11 CN CN202180016593.9A patent/CN115152182B/zh active Active
-
2022
- 2022-08-04 US US17/817,479 patent/US20220377053A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240086508A (ko) | 2022-12-09 | 2024-06-18 | 광운대학교 산학협력단 | 암호화된 제어 트래픽 분석을 통한 sd-wan의 제어 평면 구조 정보 생성 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
AU2021228566A1 (en) | 2022-10-27 |
WO2021173355A1 (en) | 2021-09-02 |
EP4111664A1 (en) | 2023-01-04 |
CN115152182B (zh) | 2024-07-05 |
JP2023519483A (ja) | 2023-05-11 |
US20210266291A1 (en) | 2021-08-26 |
US11418491B2 (en) | 2022-08-16 |
CA3168071A1 (en) | 2021-09-02 |
US20220377053A1 (en) | 2022-11-24 |
CN115152182A (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8813189B2 (en) | System and method for capturing network traffic | |
US20220377053A1 (en) | Dynamic Firewall Discovery on a Service Plane in a SDWAN Architecture | |
CN114008986B (zh) | 使用tloc扩展的站点即插即用 | |
JP7439137B2 (ja) | ラベルを使用してネットワークトラフィックをルーティングするためのシステムおよび方法 | |
US9900182B2 (en) | Client side redirection with pluggable authentication and authorization | |
JP7496414B2 (ja) | ドメイン間トラフィックのグループベースのポリシー | |
US10833850B2 (en) | Encryption system and method | |
US11916887B2 (en) | Detecting domain fronting through correlated connections | |
US10673816B1 (en) | Low delay network intrusion prevention | |
US11431730B2 (en) | Systems and methods for extending authentication in IP packets | |
US11563753B2 (en) | Security surveillance system and security surveillance method | |
CN118679476A (zh) | 基于应用安全上下文来优先化漏洞 | |
US11677684B2 (en) | Systems and methods for network stack | |
US11617076B2 (en) | Clientless VPN roaming with 802.1x authentication | |
US12033010B2 (en) | Systems and methods for embedding service meshes into applications | |
US20230327994A1 (en) | Systems and Methods for Handling Asymmetric SDWAN Traffic Flows | |
US11716305B2 (en) | Control embedded data packet for efficient ARP query in SDA environment | |
US11784970B2 (en) | First hop security in multi-site multi-vendor cloud | |
WO2023154670A1 (en) | Prioritizing vulnerability based on application security context |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |