EP2575328A1

System and method for distributed multi-processing security gateway

Abstract

A system and method for a distributed multi-processing security gateway (270) establishes a host side session (259), selects a proxy network address for a server, uses the proxy network address to establish a server side session (265), receives a data packet ((285),(288)), assigns a central processing unit core from a plurality of central processing unit cores in a multi- core processor of the security gateway to process the data packet ((285),(288)), processes the data packet ((285),(288)) according to security policies, and sends the processed data packet. The proxy network address is selected such that a same central processing unit core is assigned to process data packets from the server side session (265) and the host side session (269). By assigning central processing unit cores in this manner, higher capable security gateways are provided.

EP2575328A1, drawing sheet 1
Sheet 1 of 8

Term

2.1 yearsto projected expiry

Projected expiry 29 October 2028, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

15 claims: 3 independent, 12 dependent

  1. 1
    A network gateway, comprising:a plurality of central processing unit (CPU) cores in a multi-core processor;a memory module storing a plurality of network addresses;a network address selector for establishing a host side session with a host, for selecting a network address from the plurality of network addresses to result in a calculated first CPU core identity of a first CPU core of the multi-core processor being the same as a calculated second CPU core identity of a second CPU core of the multi-core processor, and for establishing a server side session with a server using the selected network address;and a dispatcher for: receiving a first data packet from the host side session, calculating the first CPU core identity using the first data packet, and assigning the first CPU core with the first CPU core identity to process the first data packet, wherein the processing of the first data packet by the first CPU core comprises: substituting a host network address in the first data packet with the selected network address;and sending the processed first data packet to the server side session;receiving a second data packet from the server side session, calculating the second CPU core identity using the selected network address in the second data packet, and assigning the second CPU core with the second CPU core identity to process the second data packet, wherein the processing of the second data packet by the second CPU core comprises: substituting the selected network address in the second data packet with the host network address;and sending the processed second data packet to the host side session.
  2. 6
    A method for providing a network gateway, comprising:(a) establishing by the network gateway a host side session between the network gateway and a host, the network gateway comprising a plurality of central processing unit (CPU) cores in a multi-core processor;(b) selecting by the network gateway a network address to result in a calculated first CPU core identity of a first CPU core of the multi-core processor being the same as a calculated second CPU core identity of a second CPU core of the multi-core processor;(c) using the selected network address to establish a server side session between the network gateway and a server;(d) in response to receiving a first data packet from the host side session, calculating by the network gateway the first CPU core identity using the first data packet and assigning the first CPU core with the first CPU core identity to process the first data packet, wherein the processing of the first data packet by the first CPU core comprises: (d1) substituting a host network address in the first data packet with the selected network address;and (d2) sending the processed first data packet to the server side session;and (e) in response to receiving a second data packet from the server side session, calculating by the network gateway the second CPU core identity using the selected network address in the second data packet and assigning the second CPU core with the second CPU core identity to process the second data packet, wherein the processing of the second data packet by the second CPU core comprises: (e1) substituting the selected network address in the second data packet with the host network address;and (e2) sending the processed second data packet to the host side session.
  3. 11
    A non-transitory computer readable medium with program instructions, wherein when executed by a processor, the instruction causes a network gateway to:establish a host side session between the network gateway and a host, the network gateway comprising a plurality of central processing unit (CPU) cores in a multi-core processor;select a network address to result in a calculated first CPU core identity of a first CPU core of the multi-core processor being the same as a calculated second CPU core identity of a second CPU core of the multi-core processor;use the selected network address to establish a server side session between the network gateway and a server;in response to receiving a first data packet from the host side session, calculate the first CPU core identity using the first data packet and assigning the first CPU core with the first CPU core identity to process the first data packet, wherein the processing of the first data packet by the first CPU core comprises: substituting a host network address in the first data packet with the selected network address;and sending the processed first data packet to the server side session;and in response to receiving a second data packet from the server side session, calculate the second CPU core identity using the selected network address in the second data packet and assigning the second CPU core with the second CPU core identity to process the second data packet, wherein the processing of the second data packet by the second CPU core comprises: substituting the selected network address in the second data packet with the host network address;and sending the processed second data packet to the host side session.