Some embodiments described herein relate generally to enterprise networks, and, in particular, to methods and apparatus for enforcing a common user policy within an enterprise network architecture.
Some known enterprise networks use different types of authentication to provide access to data resources for a user depending on the location of the user, the type of the client device, and the access method of the user. In such a known enterprise network, policy management and enforcement is typically done in a distributed fashion such that user-specific access controls are spread throughout multiple layers of the network. As a result, user policies are configured independently at individual network elements across multiple layers of the network without much co-ordination. Such a distributed method of enforcing user policies, however, typically requires each individual network element to be manually configured in accordance with its physical connectivity to other elements in the network, which makes the work of a network administrator difficult and cumbersome. Moreover, user policy configuration and enforcement is typically implemented separately in the wireless portion and the wired portion of such an enterprise network, which adds another level of complexity to the job of the network administrator.
Accordingly, a need exists for an enterprise network that allows for a common policy infrastructure to provide access to information and services independent of a user's location, access method and client device being used, such that user policies can be configured at a central point of the network.
In some embodiments, an apparatus includes a core network node configured to be operatively coupled to a set of wired network nodes and a set of wireless network nodes. The core network node is configured to receive, at a first time, a first data packet to be sent to a wired device operatively coupled to a wired network node from the set of wired network nodes. The core network node is configured to also receive, at a second time, a second data packet to be sent to a wireless device operatively coupled to a wireless network node from the set of wireless network nodes. Such a wireless network node can be, for example, coupled to a wired network node from the set of wired network nodes. The core network node is configured to apply a common policy to the first data packet and the second data packet based on an identifier of a user associated with both the wireless device and the wired device.
In some embodiments, an enterprise network includes a core network node operatively coupled to a set of wired network nodes and a set of wireless network nodes. In some embodiments, a wired network node can be an access network node or an aggregation network node. In response to a user being operatively coupled to a first wired network node from the set of wired network nodes using a wired device operatively coupled to the first wired network node, the core network node is configured to send an up-link policy associated with the user to the first wired network node. Later, the core network node is configured to receive a first data packet to be sent to the wired device, and then apply a common policy to the first data packet based on an identifier of the user associated with the wired device. In some embodiments, the common policy can be a down-link policy. Furthermore, in response to receiving the first data packet, the core network node can be configured to send the first data packet to the first wired network node via a multiprotocol label switching (MPLS) tunnel through a second wired network node from the set of wired network nodes, where the second wired network node does not store the common policy. In some embodiments, the second wired network node is an aggregation network node from the set of wired network nodes. After the user is disconnected from the first wired network node, the core network node is configured to send an instruction to remove the up-link policy from the first wired network node.
Similarly, in response to the user being operatively coupled to a wireless network node from the set of wireless network nodes using a wireless device operatively coupled to the wireless network node, the core network node is configured to send the up-link policy associated with the user to the wireless network node. Later, the core network node is configured to receive a second data packet to be sent to the wireless device, and then apply the common policy to the second data packet based on the identifier of the user associated with the wireless device. In some embodiments, the common policy is a down-link policy. In some embodiments, the core network node includes a policy database that associates the common policy with the identifier of the user. In some embodiments, the wireless device and the wired device are a single device. In some other embodiments, the wireless device and the wired device are distinct devices.
In some embodiments, an enterprise network includes a wired network node and a wireless network node. The wired network node is configured to receive, from a core network node of the enterprise network, a policy associated with a user, based on the user being associated with a wired device operatively coupled to the wired network node when the user is associated with the wired device. In some embodiments, the wired network node is configured to receive the policy from the core network node via a MPLS tunnel through an aggregation network node operatively coupled to the wired network node. In some embodiments, the received policy is stored in a policy database included in the wired network node, where the policy database associates the policy with an identifier of the wired device when the user is associated with the wired device. In some embodiments, the policy is an up-link policy, and the wired network node is configured to apply the policy to a first data packet received from the wired device prior to sending the first data packet to the core network node. Later, the core network node is configured to apply a down-link policy associated with the user to a second data packet before sending the second data packet to the wired network node. A predetermined amount of time after the user is disassociated with the wired device, or the wired device is operatively decoupled from the wired network node, the wired network node is configured to remove the policy from the policy database at the wired network node.
Similarly, in response to a user being operatively coupled to the wireless network node using a wireless device operatively coupled to the wireless network node, the wireless network node is configured to send an initiation signal to the core network node. As a result, the wireless network node is configured to receive, from the core network node, the policy associated with the user, based on the user being associated with the wireless device. The wireless network node is further configured to apply the policy to a third data packet received from the wireless device prior to sending the third data packet to the core network node.
A core network node (e.g., core network node 121, core network node 122) can be a high-capacity switching device positioned in the physical core, or backbone, of an enterprise network (e.g., the overlay enterprise network 100). In some cases, a core network node is known as a core switch, a tandem switch or a backbone switch. In the overlay enterprise network 100, core network node 121 and core network node 122 are configured to connect the access devices (e.g., access network node 141-144, access point 151-152) and WLAN controller 110 with network 101, such that access to information services (e.g., persistent data and applications) located at network 101 can be provided to users that are coupled to the overlay enterprise network 100 via wired or wireless devices (e.g., wired device 181, wired device 182, wireless device 191). Specifically, core network node 121 and core network node 122 operatively connect aggregation network node 131 and aggregation network node 132 with network 101, and forward packets of wired and/or wireless sessions between aggregation network node 131, aggregation network node 132 and network 101 based on IP routing services. In other words, core network node 121 and core network node 122 act as a router working in layer 3 (i.e., network layer) of the OSI (open systems interconnection) model for the overlay enterprise network 100. In the overlay enterprise network 100, core network node 121 and core network node 122 are configured to manage wired sessions only, including enforcing user policies for users of wired sessions only. On the other hand, wireless sessions are managed by WLAN controller 110, including enforcing user policies for users of wireless sessions.
Shown in
In the overlay enterprise network 100, the access network nodes (e.g., access network node 141-144) can be any device that can directly connect one or more wired devices (e.g., wired device 181, wired device 182) to the overlay enterprise network 100, such as a hub, an Ethernet switch, etc. In some cases, an access network node is known as an access switch, a network switch, or a switching hub. Furthermore, as described in detail herein, access network node 141-144 is configured to ensure packets are delivered between one or more aggregation network nodes, one or more wired devices, and/or one or more access points that are coupled to the access network nodes. In the overlay enterprise network 100, a wired device can be any device that can receive packets from and/or send packets to an access network node through a wired connection, such as a desktop computer, a workstation, a printer, etc.
In the overlay enterprise network 100, the aggregation network nodes (e.g., aggregation network node 131-132) can be any switching device that is used to aggregate multiple access network nodes and ensure packets are properly routed within the network, such as a router, a layer-3 switch, etc. Furthermore, as described in detail herein, aggregation network node 131-132 is configured to route packets received from one or more access network nodes to another access network node or a core network node, based on the routing information provided in the packet and the routing policy implemented at aggregation network node 131-132. In some scenarios, a collection of aggregation network nodes and associated access devices (e.g., access network nodes, access points) having a common connection to a redundant set of core network nodes are referred to as a pod. As shown in
In the overlay enterprise network 100, core network node 121-122, aggregation network node 131-132, and access network node 141-144 are configured collectively to manage and forward wired traffic for one or more wired devices that are operatively coupled to one or more access network nodes. Wired network nodes including access network nodes 141-144 and aggregation network nodes 131-132 are configured to switch or route packets of a wired session that are received from a wired device, to another wired network node or a core network node, based on a destination address (e.g., a destination IP address, a destination MAC address) included in the packets. More specifically, some wired traffic that is received at an aggregation network node from an access network node may be switched to another access network node from the aggregation network node if the traffic is destined to a destination device within the same pod. In contrast, the wired traffic destined to a destination device located in another pod is forwarded to a core network node, from which the traffic is forwarded into the other pod. For example, if wired device 181 sends a packet to access network node 143 destined to wired device 182, the packet can be first forwarded by access network node 143 to aggregation network node 131. Then, based on the destination IP address or MAC address included in the packet, the packet is further forwarded by aggregation network node 131 to access network node 142, which finally sends the packet to wired device 182. For another example, if wired device 181 sends a packet to access network node 143 destined to a device located in network 101, the packet can be first forwarded by access network node 143 to aggregation network node 131. Then, based on the destination IP address or MAC address included in the packet, the packet is further forwarded by aggregation network node 131 to core network node 122, which sends the packet into network 101 for further routing.
In the overlay enterprise network 100, wireless equipment, including WLAN controller 110 and access points 151-152, forward wireless traffic that is received from one or more wireless devices (e.g., wireless device 191). Specifically, WLAN controller 110 can be any device that can automatically handle the configuration of multiple access points, and act as a centralized controller configured to manage wireless sessions in an overlay of the wired network portion of the overlay enterprise network 100. An access point can be any device that connects a wireless device to a wired network (e.g., via an access network node as shown in
In the overlay enterprise network 100, WLAN controller 110 and access points 151-152 are configured collectively to manage and forward wireless traffic through intervening wired network nodes and core network nodes. Specifically, WLAN controller 110 is configured to receive encapsulated packets of a wireless session from access point 151 or access point 152 via a layer-3 tunnel through intervening wired network nodes and core network nodes, decapsulate the packets, and then bridge the decapsulated packets to core network node 121 or core network node 122, from which the decapsulated packets are further forwarded to the destination. Similarly, WLAN controller 110 is configured to receive packets of the wireless session from core network node 121 or core network node 122 destined to access point 151 or access point 152, encapsulate the packets according to a layer-3 tunneling protocol, and then send the encapsulated packets to access point 151 or access point 152 via a layer-3 tunnel through intervening wired network nodes and core network nodes, where the encapsulated packets are decapsulated and forwarded to a wireless device. In some cases, a layer-3 tunnel can be an Ethernet over layer-3 tunnel, such as a CAPWAP (control and provisioning of wireless access points) tunnel, a GRE (generic routing encapsulation) tunnel, etc.
In the wired portion of the overlay enterprise network 100, the core network nodes and the wired network nodes, including the access network nodes and the aggregation network nodes, are configured to enforce user policies for users accessing the overlay enterprise network 100 through one or more wired devices that are operatively coupled to one or more access network nodes. Specifically, access control policies (e.g., to network resources, to specific IP addresses) for users accessing the overlay enterprise network 100 through wired devices are individually maintained, configured, and enforced at core network nodes and/or one or more wired network nodes of the overlay enterprise network 100, depending on the network configuration. In some cases, policy management and enforcement for the wired portion of the overlay enterprise network 100 is done in a distributed fashion without much co-ordination among the core network nodes and the wired network nodes. For example, an access control policy that controls a user transferring files from wired device 181 to a computer device in network 101 can be configured and enforced at access network node 143. For another example, another access control policy that restricts a user downloading video contents from a server in network 101 to wired device 182 can be configured and enforced at aggregation network node 131 and aggregation network node 132.
On the other hand, in the wireless portion of the overlay enterprise network 100, the WLAN controller 110 is configured to solely enforce user policies for users accessing the overlay enterprise network 100 through one or more wireless devices (e.g., wireless device 191) that are operatively coupled to one or more wireless network nodes (e.g., access point 151, access point 152). Specifically, access control policies for users accessing the overlay enterprise network 100 through wireless devices are maintained, configured, and enforced at WLAN controller 110. In other words, policy management and enforcement for the wireless portion of the overlay enterprise network 100 is done in a centralized fashion at WLAN controller 110, as all wireless traffic goes through WLAN controller 110 before it is forwarded to the destination. For example, access policies that control a user sending data packets from wireless device 191 to a computer device in network 101 and receiving data packets at wireless device 191 from that computer device in network 101 are both configured and enforced at WLAN controller 110.
As a result of lacking a centralized, common policy infrastructure in the overlay enterprise network 100, different user policies may be applied to provide access control to data resources for a user depending on the location of the user and/or the access method of the user. For example, access control policies can be enforced separately at WLAN controller 110 and aggregation network node 132 such that packets of a wireless session from a device in network 101 destined to a user using wireless device 191 cannot be forwarded by WLAN controller 110; while packets of a wired session from the same device in network 101 destined to the same user using wired device 182 can be forwarded by aggregation network node 132. Thus, the user cannot receive wireless traffic from that device in network 101 via wireless device 191, which is operatively coupled to access point 151, but can receive wired traffic from the same device in network 101 via wired device 182, which is operatively coupled to access network node 142.
For another example, access control policies can be enforced separately at access network node 142 and access network node 143 such that packets destined to a specific IP address in network 101 that are received at access network node 142 (e.g., from wired device 182) from a user cannot be forwarded by access network node 142; while packets destined to the same IP address that are received at access network node 143 (e.g., from wired device 181) from the same user can be forwarded by access network node 143. Thus, the user can send packets to an entity associated with that specific IP address in network 101 via wired device 181, which is operatively coupled to access network node 143, but cannot send packets to the entity associated with the same IP address via wired device 182, which is operatively coupled to access network node 142.
In an enterprise network, if every network device included in the enterprise network or a portion of the enterprise network can be controlled by one or more core network nodes, then that enterprise network can be referred to as a homogeneous enterprise network, or that portion of the enterprise network can be referred to as a homogeneous portion of the enterprise network. In such a homogeneous network or portion of the network it is possible to use MPLS tunneling technology to tunnel traffic (e.g., wired or wireless traffic). If not every network node included in a portion of the enterprise network can be controlled by one or more core network nodes, then that portion of the enterprise network is referred to as an overlay enterprise network portion. In some embodiments, one or more network devices included in a homogeneous portion or an overlay enterprise network portion of an enterprise network can tunnel traffic using a layer-3 tunneling technology (e.g., CAPWAP, Ethernet-in-GRE). MPLS tunneling technology can be used only in the homogeneous portion. Furthermore, in a homogeneous enterprise network or a homogeneous portion of an enterprise network, a common tunneling technology (e.g., MPLS, a layer-3 tunneling technology) can be used to forward both the wired traffic and the wireless traffic. More detail related to the tunneling technologies used to forward wired and/or wireless traffic in an enterprise network is set forth in co-pending U.S. patent application Ser. No. ______ (Attorney Docket JUNI-095/00US 108200-2150), filed on the same date herewith, entitled, “Methods and Apparatus for a Converged Wired/Wireless Enterprise Network Architecture,” which is incorporated herein by reference in its entirety.
A core network node in a homogeneous enterprise network (e.g., core network node 221 or core network node 222 in the homogeneous enterprise network 200) can be, for example, upgraded from a core network node in an overlay enterprise network (e.g., core network node 121 or core network node 122 in the overlay enterprise network 100). In such an upgrade, the core network node in a homogeneous enterprise network (e.g., core network node 221, core network node 222) is a single device that combines a switch, a router, and a controller, which includes a control module (e.g., control module 524 for core network node 500 as shown in
Similar to core network nodes 221-222, all other devices in the homogeneous enterprise network 200, including aggregation network node 231-232, access network node 241-244, and access point 251-252, can be configured to operate in a homogeneous enterprise network. Specifically, the functionality of access network node 241-244 and aggregation network node 231-232 includes multiplexing client traffic, including packets of wired and wireless sessions, to core network node 221 or core network node 222 without any need for local switching or complex forwarding and classification functionality. For example, unlike aggregation network nodes 131-132 in the overlay enterprise network 100, aggregation network node 231 does not need to be configured to switch or route a packet received from access network node 243 to another access network node based on a destination address included in the packet. Instead, aggregation network node 231 can be configured to forward the packet, through a portion of a tunnel between access network node 243 and core network node 221 (shown as the tunnel represented by 22 in
In an enterprise network, the tunneling technology applied between a core network node and an access device (e.g., an access network node, an access point) depends on the nature and/or capabilities of the core network node, the access device, and the intermediate network device(s) (e.g., aggregation network node) present between the core network node and the access device. Particularly, in a homogeneous enterprise network (e.g., homogeneous enterprise network 200), a tunneling protocol such as MPLS or a layer-3 tunneling protocol can be used to forward the wired traffic and/or the wireless traffic.
For example, if wireless device 291 sends a packet to access point 251 destined to wired device 281, the packet is first encapsulated according to MPLS or a layer-3 tunneling protocol (e.g., CAPWAP, Ethernet-in-GRE) at access point 251, and then transmitted to core network node 221 via a MPLS tunnel or a layer-3 tunnel through access network node 241 and aggregation network node 231 (shown as the tunnel represented by 20 in
For another example, if wired device 281 sends a packet to access network node 243 destined to an IP address located in network 201, the packet is first encapsulated according to MPLS or a layer-3 tunneling protocol at access network node 243, and then transmitted to core network node 221 via a MPLS tunnel or a layer-3 tunnel through aggregation network node 231 (shown as the tunnel represented by 22 in
In the homogeneous enterprise network 200, unlike in the overlay enterprise network 100, wired network nodes and wireless network nodes are no longer individually configured and managed. In particular, the access control policy for a given user (e.g., to network resources, to specific IP addresses) is no longer individually maintained, configured, and enforced at each aggregation network node, access network node, access point, or a WLAN controller. Instead, a common user policy for a given user is maintained and configured at one or more core network nodes, and applied automatically by the enterprise network at an access network node or an access point as needed, depending on where and how the user connects to the network. More specifically, down-link policy enforcement can be centralized at core network nodes, where for example, a complete view of all user traffic is available for monitoring and policing. In contrast, most up-link policies can be downloaded to and enforced at access devices (e.g., access network nodes, access points) to avoid wasting bandwidth in the enterprise network. Particularly, the access device is an access network node if the user accesses the homogeneous enterprise network 200 through a wired device, and the access device is an access point if the user accesses the homogeneous enterprise network 200 through a wireless device.
For example, as shown in
In some embodiments, maintaining and configuring a common user policy at one or more core network nodes of a homogeneous enterprise network enables a user policy, including an up-link policy and a down-link policy, to be enforced solely dependent on the user, regardless of the access method (e.g., via a wired connection, via a wireless connection) adopted by the user. In other words, the same user policy is applied to a user when the user accesses the homogeneous enterprise network through different access devices (e.g., an access point, an access network node) and/or via different types of connections (e.g., a wired connection, a wireless connection). In some embodiments, a user can be identified by a homogeneous enterprise network using a unique combination of a user ID and a password. For example, as shown in
In some embodiments, a common user policy can be enforced solely dependent on the user communication device (e.g., a wired device, a wireless device) used by a user, regardless of the access method adopted by the user. In other words, the same user policy can be applied to a user communication device when the user communication device is connected to the homogeneous enterprise network through different access devices and/or via different types of connections. In some embodiments, a user communication device can be identified by a homogeneous enterprise network using a unique identifier associated with the user communication device, such as a MAC address. For example, as shown in
In some embodiments, a centralized core architecture can provide a single point of configuration and management for services within the enterprise network as well as a single logic node of interaction for visibility and monitoring applications. As a result, various types of service modules can be aggregated and/or consolidated at one or more core network nodes, such as firewall, intrusion detection policy (IDP), virtual private network (VPN) termination, load balancing, etc. In such a homogeneous enterprise network, services no longer need to be distributed at various levels in the network, and users can be given consistent policy that is independent of their access mechanism, as described in detail above.
In some embodiments, access point 300 can communicate with a wireless device (e.g., a Wi-Fi enabled laptop, a mobile phone) using any suitable wireless communication standard such as, for example, Wi-Fi, Bluetooth, and/or the like. Specifically, access point 300 can be configured to receive data and/or send data through RF transceiver 322, when communicating with a wireless device. Furthermore, in some embodiments, an access point of an enterprise network uses one wireless communication standard to wirelessly communicate with a wireless device operatively coupled to the access point; while another access point of the enterprise network uses a different wireless communication standard to wirelessly communicate with a wireless device operatively coupled to the other access point. For example, as shown in
In some embodiments, access point 300 can be operatively coupled to an access network node by implementing a wired connection between communications interface 324 and the counterpart (e.g., a communications interface) of the access network node. The wired connection can be, for example, twisted-pair electrical signaling via electrical cables, fiber-optic signaling via fiber-optic cables, and/or the like. As such, access point 300 can be configured to receive data and/or send data through communications interface 324, which is connected with the communications interface of an access network node, when access point 300 is communicating with the access network node. Furthermore, in some embodiments, an access point of an enterprise network implements a wired connection with an access network node operatively coupled to the access point; while another access point of the enterprise network implements a different wired connection with an access network node operatively coupled to the other access point. For example, as shown in
In some embodiments, as described with respect to
In some embodiments, as described with respect to
In some embodiments, access point 300 can be configured to remove an up-link policy associated with a user from policy table 312 after the user is disassociated with access point 300. A user can be disassociated with access point 300 in various manners. For example, a user is disassociated with access point 300 when the user is disassociated with the wireless device operatively coupled to access point 300, such as the user logs off from the wireless device. For another example, a user is disassociated with access point 300 after the wireless device associated with the user is operatively decoupled from access point 300. In some embodiments, access point 300 can be configured to automatically remove an up-link policy associated with a user from policy table 312, for example, a predetermined amount of time after the user is disassociated with access point 300. In some other embodiments, access point 300 can be configured to remove an up-link policy associated with a user from policy table 312 based on an instruction signal received from a core network node operatively coupled to access point 300.
For example, after a user is disassociated with access point 300, access point 300 can be configured to send a signal to the core network node from which access point 300 downloaded the up-link policy associated with the user, indicating the disassociation of the user from access point 300. The core network node can then send an instruction signal to access point 300, instructing access point 300 to remove the up-link policy associated with the user from its memory. For another example, after a core network node can be notified by a different access device (e.g., an access network node, an access point) that a user is operatively coupled to that access device, the core network node can send an instruction to access point 300, instructing access point 300 to remove the up-link policy associated with the user from its memory. In other words, if the user is operatively coupled to a different access device, then the user is no longer operatively coupled to access point 300. As a result of receiving an instruction signal from the core network node, access point 300 can be configured to remove the up-link policy associated with the user from policy table 312 in memory 326.
In some embodiments, memory 326 can be, for example, a random-access memory (RAM) (e.g., a dynamic RAM, a static RAM), a flash memory, a removable memory, and/or so forth. In some embodiments, data other than up-link policies stored in policy table 312 that is related to operations of access point 300 can also be stored in other portion of memory 326. For example, MAC addresses of potential user communication devices can be stored in memory 326, such that a user communication device can be recognized by access point 300 upon being operatively coupled to access point 300. For another example, information associated with tunneling packets to a core network node can be stored in memory 326, such that establishing a tunnel such as a MPLS tunnel or a layer-3 tunnel with the core network node can be initialized by access point 300.
In some embodiments, communications interface 448 of access network node 400 includes at least two ports (not shown in
Furthermore, in some embodiments, access network node 400 can implement a wired connection with one of an access point, a wired device, or an aggregation network node that is operatively coupled to access network node 400 through one port of communications interface 448, while implementing a different wired connection with another access point, wired device, or aggregation network node that is operatively coupled to access network node 400 through another port of communications interface 448. For example, as shown in
In some embodiments, as described with respect to
In some embodiments, as described with respect to
In some embodiments, as described with respect to
In some embodiments, access network node 400 can be configured to remove an up-link policy associated with a user from policy table 412 after the user is disassociated with access network node 400. A user can be disassociated with access network node 400 in various manners. For example, a user is disassociated with access network node 400 when the user is disassociated with the wired device operatively coupled to access network node 400, such as the user logs off from the wired device. For another example, a user is disassociated with access network node 400 after the wired device associated with the user is operatively decoupled from access network node 400. In some embodiments, access network node 400 can be configured to automatically remove an up-link policy associated with a user from policy table 412, for example, a predetermined amount of time after the user is disassociated with access network node 400. In some other embodiments, access network node 400 can be configured to remove an up-link policy associated with a user from policy table 412 based on an instruction signal received from a core network node operatively coupled to access network node 400.
For example, after a user is disassociated with access network node 400, access network node 400 can be configured to send a signal to the core network node from which access network node 400 downloaded the up-link policy associated with the user, indicating the disassociation of the user from access network node 400. The core network node can then send an instruction signal to access network node 400, instructing access network node 400 to remove the up-link policy associated with the user from its memory. For another example, after a core network node can be notified by a different access device (e.g., an access network node, an access point) that a user is operatively coupled to that access device, the core network node can send an instruction to access network node 400, instructing access network node 400 to remove the up-link policy associated with the user from its memory. In other words, if the user is operatively coupled to a different access device, then the user is no longer operatively coupled to access network node 400. As a result of receiving an instruction signal from the core network node, access network node 400 can be configured to remove the up-link policy associated with the user from policy table 412 in memory 444.
In some embodiments, memory 444 can be, for example, a random-access memory (RAM) (e.g., a dynamic RAM, a static RAM), a flash memory, a removable memory, and/or so forth. In some embodiments, data other than up-link policies stored in policy table 412 that is related to operations of access network node 400 can also be stored in other portion of memory 444. For example, MAC addresses of potential user communication devices can be stored in memory 444, such that a user communication device can be recognized by access network node 400 upon being operatively coupled to access network node 400. For another example, information associated with tunneling packets to a core network node can be stored in memory 444, such that establishing a MPLS tunnel or a layer-3 tunnel with the core network node can be initialized by access network node 400.
As shown in
In some embodiments, communications interface 530 of core network node 500 includes at least two ports (not shown in
Furthermore, in some embodiments, core network node 500 can implement a wired connection with one of an aggregation network node, another core network node, or a device of another network that is operatively coupled to core network node 500 through one port of communications interface 530, while implementing a different wired connection with another aggregation network node, core network node, or device of another network that is operatively coupled to core network node 500 through another port of communications interface 530. For example, as shown in
In some embodiments, as described with respect to
More specifically, upon receiving a packet associated with a user session at a port of communications interface 530 via a tunnel, tunnel module 522 is configured to decapsulate the packet (e.g., remove a header portion, a footer portion, and/or modify any other identifiers included within the packet) according to the protocol for that tunnel. Alternatively, core network node 500 can receive a packet associated with a user session at a port of communications interface 530 from another network device operatively coupled to core network node 500, such as another core network node or a device in another network. Control module 524 is then configured to apply a user policy associated with the user, which is stored in policy table 512, on the received packet. If the user session is allowed by the user policy, control module 524 is configured to forward the packet. If the user session is denied by the user policy, control module 524 is configured to drop the packet. If the user session is identified by the user policy as being restricted or otherwise affected by the user policy, control module 524 is configured to retrieve more information associated with the packet and/or the user session to make a decision.
To forward the received packet, control module 524 is configured to check the destination IP address or the destination MAC address included in the packet. If the packet is not destined to a user in a pod that is directly connected to core network node 500 (e.g., destined to a network device in a pod that is not connected to core network node 500, destined to a user in another network), control module 524 is configured to forward the packet, from a port of communications interface 530, to a network device that is operatively coupled to core network node 500. For example, control module 524 can be configured to forward the packet to another core network node operatively coupled to core network node 500 via a tunnel between the two core network nodes. For another example, control module 524 can be configured to forward the packet to a network device in another network operatively coupled to core network node 500 without using any tunneling technology. If the packet is destined to a user in a pod that is directly connected to core network node 500, tunnel module 522 is configured to encapsulate the packet (e.g., add a header portion, a footer portion, and/or modify any other identifiers included within the packet) according to the protocol for the tunnel. Meanwhile, control module 524 is configured to establish a tunnel connecting core network node 500 to the access device (e.g., an access network node, an access point) that is operatively coupled to the user communication device (if such a tunnel is not established yet). Finally, control module 524 is configured to send the encapsulated packet, from a port of communications interface 530, to the access device through the tunnel.
As described with respect to
Specifically, the first column, user 610, contains user identifiers (e.g., A, B, C, D, E), each of which uniquely identifies a user (e.g., a person identified by a combination of a user ID and a password) or a user communication device (e.g., a device identified by a MAC address) that is associated with a user session in a homogeneous enterprise network (e.g., homogeneous enterprise network 200). The second column, user IP address 620, contains IP addresses (e.g., 192.168.120.1, 192.168.120.2, 192.168.120.3, 192.168.x.x where x represents any integer value between 0 and 255), each of which identifies one IP address or a group of IP addresses for a wired device or a wireless device used by the user to access the homogeneous enterprise network. The third column, remote IP address 630, contains IP addresses (e.g., 192.168.120.100, 192.168.x.x), each of which identifies one IP address or a group of IP addresses for the other entity that communicates with the user in a user session. The fourth column, direction 640, contains direction identifiers (e.g., down, up, bi), each of which indicates the direction for the traffic of the user session that is defined. As shown in
Although not shown in
In a homogeneous enterprise network, as described herein, a common user policy can be applied to a user in a given user session independent of the user's location and access method. In other words, a user policy (e.g., a down-link policy, an up-link policy) for a user in a user session can be dependent on the user identifier and the remote IP address of the user session, but need not be dependent on the user IP address. For example, the first entry of user policies stored in policy table 600 is a down-link policy for user A, which defines that packets from a remote IP address 192.168.120.101 destined to any device associated with user A should be dropped, regardless of the user IP address for user A, as indicated by the user IP address x.x.x.x. For another example, the fifth entry of user policies stored in policy table 600 is an up-link policy for user C, which defines that packets from any device associated with user C destined to a remote IP address 192.168.120.200 should be forwarded, regardless of the user IP address for user C, as indicated by the user IP address x.x.x.x.
Furthermore, as described herein, a down-link policy can be enforced at a core network node to drop, forward, or restrict packets destined to a user within the homogeneous enterprise network. After a user is operatively coupled to an access device (e.g., an access network node, an access point) of the homogeneous enterprise network using a user communication device (e.g., a wired device, a wireless device), an IP address is assigned to the user communication device by the homogeneous enterprise network. A core network node (e.g., core network node 500 in
For example, as shown in the second entry of policy table 600, the user IP address in the down-link policy for user B is updated to 191.168.120.2, which is assigned to user B when user B is operatively coupled to the homogeneous enterprise network. As a result, a core network node is configured to enforce this down-link policy for user B, such that packets from an entity associated with the remote IP address 191.168.120.100 destined to the user IP address 192.168.120.2 (i.e., the IP address of user B) are forwarded by the core network node, based on the control keyword “allow”.
For another example, as shown in the fourth entry of policy table 600, the user IP address in the down-link policy for user C is updated to 191.168.120.1, which is assigned to user C when user C is operatively coupled to the homogeneous enterprise network. As a result, a core network node is configured to enforce this down-link policy for user C, such that packets from an entity associated with the remote IP address 191.168.1.x destined to the user IP address 192.168.120.1 (i.e., the IP address of user C) are dropped by the core network node, based on the control keyword “deny”.
In some embodiments, after a user is disassociated with the homogeneous enterprise network (e.g., a user is disassociated with a user communication device, a user communication device associated with a user is operatively decoupled from an access device), a core network node is configured to change the user IP address in the down-link policy entries associated with the user from the IP address assigned to the user communication device back to a default value. In the example of
In some other embodiments, after a user is disassociated with the homogeneous enterprise network, the user IP address in the down-link policy entries associated with the user in the policy database remains unchanged. Later, when the user is associated with the homogeneous enterprise network and assigned a new IP address again, the core network node is configured to change the user IP address in the down-link policy entries associated with the user from the previous value to a value of the IP address newly assigned to the user. In the example of
In contrast to the down-link policies enforced at the core network nodes, an up-link policy can be downloaded to and enforced at an access device to drop, forward, or restrict packets originated from a user within the homogeneous enterprise network. After a user is operatively coupled to an access device (e.g., an access network node, an access point) of the homogeneous enterprise network using a user communication device (e.g., a wired device, a wireless device), the access device is configured to send an initiation signal to a core network node (e.g., core network node 500 in
As described above with respect to
For example, up-link policy table 701 can be stored as a policy database in an access network node (e.g., policy table 412 in access network node 400 in
Similarly stated, for another example, up-link policy table 702 can be stored as a policy database in an access point (e.g., policy table 312 in access point 300 in
In some embodiments, as shown and described with respect to
For example, as shown in
As shown in
Later, the user is disassociated with access network node 843, and then operatively coupled to access point 851 using wireless device 891B, shown as path CC in
After the user is operatively coupled to access point 851 using wireless device 891B, access point 851 is configured to send an initiation signal DD to core network node 821, indicating the association of the user with access point 851. In response to receiving the initiation signal DD, the core network node is configured to send the up-link policy associated with the user to access point 851 using a signal EE, over the tunnel 80. The up-link policy sent to access point 851 using signal EE is same as the up-link policy sent to access network node 843 using signal BB. Thus, access point 851 is configured to store the received up-link policy associated with the user in a policy database (e.g., policy table 312 in
As described in detail with respect to
In the example of
At 904, a policy can be applied by the core network node to the first data packet based on a user identifier being associated with the wired device during the first time period. After the user is initially operatively coupled to the wired device and assigned the first user IP address, one or more down-link policy entries stored in the policy database in the core network node and associated with the user can be determined, based on an identifier of the user (e.g., user identifier in policy table 600). The user IP addresses in these down-link policy entries are then updated to the first user IP address, based on the user identifier being associated with the wired device during the first time period. After the first data packet is received at the core network node, a down-link policy entry associated with the first user session that includes the first data packet can be determined, based on the source IP address and the destination IP address included in the first data packet matching the remote IP address and the user IP address stored in the down-link policy entry, respectively. As a result, the core network node is configured to apply this down-link policy to the first data packet.
In the example of
At 906, a second data packet to be sent to a wireless device operatively coupled to a wireless network node can be received at a core network node during a second time period. Specifically, the user associated with the wired device during the first time period can be associated with the wireless device during the second time period. For example, the user can log off from the wired device and later log on to the wireless device. The second data packet can be associated with a second user session, i.e., to be sent from a remote device associated with the same remote IP address and destined to the same user associated with a second user IP address. In some embodiments, the remote device in the second user session can be a different device from the remote device in the first user session, and the two remote devices can be associated with the same remote IP address during two different time periods (i.e., the first time period and the second time period), respectively. The second user IP address is the IP address assigned to the wireless device when the user is associated with the wireless device during the second time period.
In the example of
At 908, the policy can be applied by the core network node to the second data packet based on the user identifier being associated with the wireless device during the second time period. Similar to the step of 904, after the user is initially operatively coupled to the wireless device and assigned the second user IP address, the user IP addresses in the down-link policy entries associated with the user are updated to the second user IP address, based on the user identifier being associated with the wireless device during the second time period. After the second data packet is received at the core network node, a down-link policy entry associated with the second user session that includes the second data packet can be determined, based on the source IP address and the destination IP address included in the second data packet matching the remote IP address and the user IP address stored in the down-link policy entry, respectively. The determined down-link policy entry for the second user session is essentially the same as the down-link policy entry for the first user session, based on the same user identifier and remote IP address. As a result, the core network node is configured to apply the same down-link policy to the second data packet as the one applied to the first data packet.
In the example of
While various embodiments have been described above, it should be understood that they have been presented by way of example only, not limitation, and various changes in form and details may be made. Any portion of the apparatus and/or methods described herein may be combined in any combination, except mutually exclusive combinations. The embodiments described herein can include various combinations and/or sub-combinations of the functions, components and/or features of the different embodiments described.
While shown and described above with respect to
While shown and described above with respect to
While shown and described above with respect to
While shown and described above with respect to
Some embodiments described herein relate to a computer storage product with a computer-readable medium (also can be referred to as a processor-readable medium) having instructions or computer code thereon for performing various computer-implemented operations. The media and computer code (also can be referred to as code) may be those designed and constructed for the specific purpose or purposes. Examples of computer-readable media include, but are not limited to: magnetic storage media such as hard disks, floppy disks, and magnetic tape; optical storage media such as Compact Disc/Digital Video Discs (CD/DVDs), Compact Disc-Read Only Memories (CD-ROMs), and holographic devices; magneto-optical storage media such as optical disks; carrier wave signal processing modules; and hardware devices that are specially configured to store and execute program code, such as Application-Specific Integrated Circuits (ASICs), Programmable Logic Devices (PLDs), and read-only memory (ROM) and RAM devices.
Examples of computer code include, but are not limited to, micro-code or micro-instructions, machine instructions, such as produced by a compiler, code used to produce a web service, and files containing higher-level instructions that are executed by a computer using an interpreter. For example, embodiments may be implemented using Java, C++, or other programming languages (e.g., object-oriented programming languages) and development tools. Additional examples of computer code include, but are not limited to, control signals, encrypted code, and compressed code.
This application is related to co-pending U.S. patent application Ser. No. ______ (Attorney Docket JUNI-095 108200-2150), filed on the same date herewith, and entitled “Methods and Apparatus for a Converged Wired/Wireless Enterprise Network Architecture;” U.S. patent application Ser. No. ______ (Attorney Docket JUNI-099 108200-2155), filed on the same date herewith, and entitled “Methods and Apparatus for Centralized Management of Access and Aggregation network Infrastructure;” U.S. patent application Ser. No. ______ (Attorney Docket JUNI-098 108200-2154), filed on the same date herewith, and entitled “Methods and Apparatus for a Scalable Network with Efficient Link Utilization,” U.S. patent application Ser. No. ______ (Attorney Docket JUNI-096 108200-2152), filed on the same date herewith, and entitled “Methods and Apparatus for a Self-organized Layer-2 Enterprise Network Architecture,” each of which is incorporated herein by reference in its entirety.