The invention relates to computer networks and, more specifically, to delivering content to subscribers over metro access networks.
Many metropolitan regions have installed metropolitan (metro) transport networks to provide high-bandwidth connectivity between local subscribers and their ISPs, onwards to a larger packet-based service network, such as the Internet. Each subscriber typically contracts with any of a number of Internet service provider (ISP) networks connected to the metro transport network, and each ISP network provides an anchor for communication sessions for the subscribers and manages network services for the subscribers such as authentication, accounting and billing.
The subscribers may utilize a wide variety of devices to connect to the ISP networks to access resources and services provided by the Internet. For example, subscribers typically utilize desktop computers, laptop computers, mobile smart phones and feature phones, tablet computers, Smart TVs and the like. The metro transport network typically provides layer two (L2) switching mechanisms for transporting packet-based data between the subscribers and their respective ISPs such that IP (layer three—L3) communication sessions can be established for the subscribers at the ISPs for communicating with resources beyond the ISP, such as content data networks or the Internet.
In general, techniques are described that allow fast path delivery of content from content data networks directly to subscribers of Internet service providers that are connected to metro transport networks. As described herein, the techniques for fast path delivery of content enables content network providers to forward content directly to metro transport networks for delivery to subscribers so as to bypass Internet service provider (ISP) networks. The ISP networks, however, may retain ownership over IP services provided to the subscribers, including authentication, accounting and other services.
As described herein, edge switches/routers of a metro transport network implement Ethernet Virtual Private Network (EVPN) protocol that includes one or more peering provider edge (P-PE) routers as a member of the EVPN. ISPs and a metro carrier associated with the metro transport network collaborate such that the access edge routers of the EVPN advertise network address reachability information (e.g., IP prefixes of the ISPs or IP/MAC combinations) into the EVPN on behalf of the ISPs, where the advertisements specify that the network address information owned and used by the ISPs to provide IP services to subscribers 18 are actually reachable through the access edge routers. The P-PE router provides IP peering relationships, e.g., by way of an external BGP (E-BGP) routing session, for sharing IP prefix reachability information of the metro transport network with border routers of the content data networks. As such, the P-PEs provide peering points for the EVPN-based metro network such that IP traffic destined for the subscribers can be transported directly from the content data networks to the subscribers by way of the metro transport network.
The techniques may enable content data network to selectively inject content-rich traffic closest to the subscribers, thereby improving subscriber experience and satisfaction. Remaining inbound network traffic destined for the subscribers continues to flow through the Internet service provider and through the typical L2 switching framework (which is provided by the EVPN in this case) provided by the metro transport network.
In one example, a system comprises a metro transport network positioned between a set of subscriber devices and at least one Internet service provider network that authenticates the subscriber devices and allocates the subscriber devices' respective Internet Protocol (IP) network addresses from a respective IP network address prefix assigned to the Internet service provider network. The metro transport network comprises at least one access router that is connected to the subscribers' devices by one or more access links and at least one peering router of the metro transport network. The metro transport network, including the access router and the peering router, establish an EVPN within the metro transport network and the access router outputs, within the EVPN and to the peering router, an EVPN route advertisement that advertises the IP network address prefix on behalf of the Internet service provider network. The EVPN route advertisement specifies the L3 network address prefix of the Internet service provider network and indicates that the IP network addresses allocated to the subscribers from the IP network address prefix of the Internet service provider network are reachable through the access router.
In another example, a method comprises establishing an Ethernet Virtual Private Network (EVPN) within a metro transport network positioned between at least one Internet service provider network and a set of subscriber devices. The metro transport network provides layer two (L2) packet switching for transporting network packets between the Internet service provider network and the subscriber devices. The Internet service provider network authenticates the subscriber devices and allocates the subscriber devices respective IP network addresses from an L3 network address prefix assigned to the Internet service provider network. The EVPN is established within the metro transport network by at least one access router/switch that is connected to the subscribers' devices by one or more access links and by at least one peering router of the metro transport network. The method further comprises outputting, within the EVPN based metro network by the access router and to the peering router, an EVPN route advertisement that advertises the IP address (/32 host address) or an IP prefix on behalf of the Internet service provider network, wherein the EVPN route advertisement specifies the IP address/prefix of the Internet service provider network and indicates that the IP addresses allocated to the subscribers from the IP address pool/prefix of the Internet service provider network are reachable through the access router.
In another example, an access router of a metro transport network is positioned between at least one Internet service provider network and a set of subscriber devices. The access router comprises a control unit having at least one processor coupled to a memory. The control unit executes software configured to establish an Ethernet Virtual Private Network (EVPN) with a peering router within the metro transport network. The control unit is configured to receive data specifying an IP address or a prefix assigned to the Internet service provider network and output, within the EVPN and to the peering router, an EVPN route advertisement that advertises the IP address or prefix on behalf of the Internet service provider network. The EVPN route advertisement specifies the IP address or a prefix of the Internet service provider network and indicates that the IP addresses allocated to the subscribers from the IP address pool/prefix of the Internet service provider network are reachable through the access router.
In another example, a non-transitory computer-readable storage medium comprises executable instructions configured to perform the methods described herein.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
In general, each CDN 8 is typically a private network of interconnected devices that cooperate to distribute content to clients using one or more services. Each of CDN 8 may include one or more data centers having data servers, web servers, application servers, databases, computer clusters, mainframe computers, and any other type of server, computing element, and/or database that may be employed by a content service provider to facilitate the delivery of content to subscriber devices 18 via Internet backbone 12 and Internet service provider network 7. Such content may include, for instance, streaming media files, data files, software distribution, domain name system information, documents, and database query results, among others. Accordingly, examples of services offered by CDN 8 may include hyper-text transfer protocol (HTTP), HTTP-based adaptive streaming, Real-Time Streaming Protocol (RTSP) streaming, other media streaming, advertising, file transfer protocol (FTP), and others.
In the example of
In this example of
In general, subscriber devices 18/CPEs 18 are associated with customers of an Internet service provider that owns and operates Internet service provider network 7. As such, Internet service provider network 7 handles authentication and session establishment so as to provide network access to subscriber devices 18. Broadband network gateways (BNG) 23 provide routing and switching functions for connectivity to metro transport network 24 via N-PEs 30 and provide endpoints for and management of IP sessions established for subscriber devices 18. In another example, BNGs 23 may be a Broadband Remote Access Servers (BRASs) or other routing device that provide anchor points for subscriber sessions.
Upon authentication of a given subscriber device 18/CPE 18, Internet service provider network 7 allocates an IP address (public/internet routable or private) to the subscriber from the IP domain of the service provider and provides IP connectivity (L3) services for communication sessions associated with the subscribers. For example, AAA server 11 of service provider network 7 is typically an authentication, authorization and accounting (AAA) server to authenticate the credentials of a subscriber requesting a network connection. The AAA server 11 may be, for example, a Remote Authentication Dial-In User Service (RADIUS) server. As another example, AAA server 11 can be a DIAMETER server. Upon authenticating a network access request from a subscriber device 18, AAA server 11 assigns a layer three (L3) network address (e.g., an IPv4 or IPv6 network address) for receiving data services through Internet service provider network 7. Policy control server 14 represents a network device that provides a Policy Control and Charging Rules Function (PCRF) for subscriber devices 18.
In this way, layer two (L2) network transport functions and layer three (L3) network functions are generally split between metro transport network 24 and Internet service provider network 7 respectively. As one example, metro transport network 24 executes a Virtual Private Local Area Network Service (VPLS) or Ethernet Virtual Private Network (EVPN) Service that enables metro transport network 24 to operate as an L2 network that carries L2 traffic for subscriber devices 18 to BNGs 23. BNGs 23 perform L3 functionality, i.e., L3 address assignment and routing for subscriber devices 18 in the subscriber's respective Internet service provider, i.e., ISP network 7 in this example. For example, by executing the VPLS or EVPN E-LAN service, metro transport network 24 transports L2 communications, such as Ethernet packets across the transport network. More information concerning the use of VPLS can be found in RFC 4761 entitled “Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling,” dated January 2007, which is hereby incorporated by reference as if fully set forth herein. Similarly, more information about EVPN can be found in RFC 7432, incorporated herein. Reference to network layers followed by a numeral may refer to a particular layer of the Open Systems Interconnection (OSI) model. More information concerning the OSI model can be found in a IEEE publication entitled “OSI Reference Model—the ISO Model of Architecture for Open Systems Interconnection,” by Hubert Zimmermann, published in IEEE Transactions on Communications, vol. 28, no. 4, dated April 1980, which is hereby incorporated by reference as if fully set forth herein.
After authentication and establishment of network access through Internet service provider network 7, any one of subscriber devices 18 may begin exchanging data packets with CDNs 8. During this process, the IP addresses assigned by Internet service provider network 7 to subscriber devices 18 may be translated to public addresses associated with routing prefixes of Internet service provider network 7 for purposes of packet-based communication on Internet backbone 12. Moreover, gateway 21 provides layer three (L3) routing functions for reaching subscriber devices 18 through Internet service provider network 7. That is, gateway 21 advertises L3 reachability information (e.g., routes) for reaching the public address prefixes associated with Internet service provider network 7. Upon receiving the layer three (L3) routing information, autonomous system border routers (ASBRs) 30 update their respective routing tables with network layer reachability information for reaching address prefixes advertised by Internet service provider network(s) 7. As such, using L3 routing information for reaching subscriber devices 18 and without learning L2 network addresses for the subscribers, packet-based content provided by CDNs 8 and addressed to subscriber devices 18 flows through Internet backbone 12 to Internet service provider network 7 for delivery to individual subscriber devices 18 by way of metro transport network 24 and access networks 27. Although not shown, Internet service provider network 7 may include other devices to provide other services, such as security services, load balancing, billing, deep-packet inspection (DPI), and other services for traffic traversing Internet service provider network 7.
As shown in
In one example, metro transport network 24 implements an Ethernet Virtual Private Network (EVPN) 26. In general, edge routers of metro transport network 24 (e.g., A-PEs 36 and N-PEs 30) along with a newly introduced peering provide edge (P-PE) router of metro transport network 24 operated by the metro transport carrier are configured to execute the EVPN protocol within their respective control planes (also referred to as routing engines) to communicate with each other and exchange configuration information necessary to establish and maintain EVPN 26. In an EVPN, L2 address learning (e.g., MAC learning) between the edge routers occurs in the control plane by exchanging EVPN messages according to the EVPN protocol, in contrast to traditional bridging that occurs in VPLS in which L2 address learning occurs in the data plane (i.e., forwarding components) while forwarding L2 traffic. For example, control planes of A-PEs 36, N-PEs 30 and P-PE are configured to execute a routing protocol, such as the Border Gateway Protocol (BGP), to exchange enhanced messages so as to communicate with each other regarding EVPN 26. That is, control planes of A-PEs 36, N-PEs 30 and P-PE 80 may execute the BGP protocol to exchange BGP messages for MAC address signaling/learning as well as for access topology and VPN endpoint discovery with respect to EVPN 26. A-PEs 36, N-PEs 30 and P-PE 80 may be connected by an MPLS LSP infrastructure or may be connected by an IP infrastructure in which case IP/GRE tunneling or other IP tunneling can be used to transport L2 communications through EVPN 26. Additional information with respect to the EVPN protocol is described in “BGP MPLS Based Ethernet VPN,” RFC 7432, Internet Engineering Task Force (IETF), the entire contents of which are incorporated herein by reference.
As shown in
Moreover, although authentication of subscriber devices 18 and allocation of L3 network addresses to the subscribers is still performed by Internet service provider network 7, the Internet service provider(s) and metro carrier operator arrange to have the network address information (e.g., respective address prefixes owned by the ISPs or IP address/MAC address combinations to be used by subscriber devices) advertised by A-PEs 36 of the metro carrier instead of, or in addition to, the typical routing protocol advertisement of those prefixes from gateway 21 of Internet service provider network 7 to Internet backbone 12. In one example, A-PEs 36 are programmed by the metro carrier with data specifying the IP address prefixes of any of the Internet service provider networks 7 for which the ISP has agreed to participate in the fast path offloading techniques described herein. For example, an administrator for the metro carrier may input a list, file or other data structure specifying the IP address prefixes of the ISP or MAC/IP addresses to be advertised by the A-PEs. In another example, BNGs 23 of the agreeing ISPs may be configured to leak or otherwise communicate the layer three address subnets (prefixes) allocated to and owned by the ISP to A-PEs 36. For example, a protocol executing within control planes of Ns 19 may output messages 39 to selectively communicate to A-PEs 36 the network address information assigned to the corresponding Internet service provider network 7 and utilized for subscriber devices 18. Example protocols that may be used include the HTTP protocol, an enhanced routing protocol such as BGP, or even a proprietary protocol.
In response, the routing protocols executing within the control planes of A-PEs 36 update respective routing tables to the associated ISP address prefixes with subscriber devices 18 reachable through local interface ports. Moreover, the routing protocols of A-PEs 36 are configured to output EVPN messages 41 to advertise the layer three prefixes or IP addresses/MAC address combinations into EVPN 26 on behalf of Internet service provider network 7, where the EVPN messages 41 announce that the IP addresses allocated from the IP prefixes used by Internet service provider network 7 to provide IP services to subscriber devices 18 are actually reachable through the A-Pes. As one example, A-PEs 36 may construct EVPN messages 41 as an IP Prefix Advertisement route (i.e., Route Type 5) of a BGP EVPN, as defined by “IP Prefix Advertisement in EVPN,” draft-ietf-bess-evpn-prefix-advertisement-01, Internet Engineering Task Force (IETF), Mar. 9, 2015, the entire contents of which are incorporated herein by reference. Additionally, A-PEs 36 may construct EVPN messages 41 as a MAC+IP address Advertisement route (i.e., Route Type 2) of a BGP EVPN, as defined by “MAC/IP Advertisement in EVPN,” RFC 7432, Internet Engineering Task Force (IETF), the entire contents of which are incorporated herein by reference.
As a member of EVPN 26, P-PE router 80 learns the L3 address prefixes or IP addresses associated with subscriber devices 18 and reachable through A-PEs 36 via EVPN 26. In response, P-PE router 80 communicates the routes through routing protocol peering session 42, which may be a BGP peering session between the control places of P-PE router 80 and ASBRs 30 of one or more CDNs 8, such as ASBR 30 of CDN 8A. In this way, CDN 8A learns of the direct access path to metro transport network 24 and, in particular, associates P-PE 80 as the forwarding next hop for the fast path for reaching subscriber devices 18. In many deployments, CDNs 8 typically have local infrastructure 43 in many metro areas for caching and delivery of content. For example, in many regions CDNs typically have, or may now elect to construct, computing systems in local data centers that operate as Internet exchanges for the metro region. As such, the techniques enable CDNs 8 to selectively direct content directly to subscriber devices 18 from their computing systems in local or regional data centers to P-PE router 80 as an access point to EVPN 26 of metro transport network 24, thereby providing a fast path for heavy content transmissions.
Next, A-PEs 36 update their respective routing tables to the associated ISP address prefixes with subscriber devices 18 reachable through local interface ports and output EVPN messages 41 to advertise the layer three prefixes into EVPN 26 on behalf of Internet service provider network 7, where the EVPN messages 41 specify routes to prefixes used by Internet service provider network 7 to provide IP services to subscriber devices 18 are actually reachable through the A-PEs (104). Alternatively, A-PEs 36 may construct EVPN messages 41 as a MAC+IP address Advertisement route (i.e., Route Type 2) of a BGP EVPN to communicate one or more MAC/IP address combinations on behalf of the Internet Service Provider network 7.
As a member of EVPN 26, P-PE router 80 receives the EVPN route advertisement announcing the L3 address prefixes associated with subscriber devices 18 and reachable through A-PEs 36 via EVPN 26, such as by an EVPN Type 5 routing advertisement that advertises IP prefixes rather than L2 MAC addresses of the subscribers or an EVPN Type 2 MAC+IP route advertisement (106). In response, P-PE router 80 updates a BGP routing table on the P-PE 80 router and communicates L3 reachability information to ASBRs of the CDNs by constructing and outputting, in this example, BGP messages through routing protocol peering session 42 (106). Upon receiving the BGP message through peering session 42, ASBR 31 of CDN 8A updates its BGP routing table to associate P-PE 80 as next hops for the fast path (i.e., bypass path) for forwarding content to subscriber devices 18 directly through metro transport network 24 so as to bypass Internet service provider network 7.
Upon receiving a network access request from a given subscriber device 18, AAA server 11 of Internet service provider network 7 authenticates the subscriber and allocates an IP address for the subscriber from the IP address prefix assigned to and owned by the ISP (110). As such, network communications are enabled to flow from the subscriber through the subscriber session over the switching mechanisms provided by metro transport network 24 and the L3 services and routing functions provided by Internet service provider network 7 to Internet backbone 12 and CDNs 8 (112).
Upon receiving content requests from subscriber devices 18, CDNs 8 process the content requests and select a path for delivery of the content (114). For example, CDNs 8 may elect to deliver specifically requested content through the typical path through Internet service provider network 7 or may elect to deliver the content through the fast, bypass path that directly injects the content into metro transport network 24 by way of P-PE router 80. CDNs 8 may, for example, install policies that direct the content to the appropriate ASBRs 30, 31 and along the selected route based on, for example, metrics describing a total size of the content or a priority associated with the content (e.g., real-time video or audio of, for example, a meeting or concert). Based on the selected path, CDNs 8 construct packets destined to the IP address(es) of the requesting subscriber devices 18 and outputs the IP packets encapsulating the requested content along the selected path.
Upon receiving content from a CDN 8, such as from ASBR 31 of CDN 8A, and destined for any of subscriber devices 18, P-PE router 80 of metro transport network 24 injects the content into EVPN 26 for transport to one or more of A-PEs 36 based on the address prefixes advertised in the EVPN by the A-PEs 36 (116). A-PEs 36 receive the content from EVPN 26, de-encapsulate the content from the transport layer EVPN packets and forward IP packets encapsulating the content to subscriber devices 18.
In this example, router 180 includes interface cards 188A-88N (“IFCs 188”) that receive packets via incoming links 190A-190N (“incoming links 190”) and send packets via outbound links 192A-192N (“outbound links 192”). IFCs 188 are typically coupled to links 190, 192 via a number of interface ports. Router 180 also includes a control unit 182 that determines routes of received packets and forwards the packets accordingly via IFCs 188.
Control unit 182 may comprise a routing engine 184 and a packet forwarding engine 186. Routing engine 184 operates as the control plane for router 180 and includes an operating system that provides a multi-tasking operating environment for execution of a number of concurrent processes. Routing engine 184, for example, executes software instructions to implement one or more control plane networking protocols 197. For example, protocols 197 may include one or more routing protocols, such as Border Gateway Protocol (BGP) 193, for exchanging routing information with other routing devices and for updating routing information 194. Routing information 194 may describe a topology of the computer network in which router 180 resides, and may also include routes through the network. Routing information 194 describes various routes within the computer network, and the appropriate next hops for each route, i.e., the neighboring routing devices along each of the routes. Routing engine 184 analyzes stored routing information 194 and generates forwarding information 196 for forwarding engine 186. Forwarding information 196 may associate, for example, network destinations for subscribers with specific next hops and corresponding IFCs 188 and physical output ports for output links 192. Moreover, forwarding information 196 may specify operations, such as encapsulation with EVPN assigned labels or de-encapsulation of packets, to be applied when forwarding packets to the next hops. Forwarding information 196 may be a radix tree programmed into dedicated forwarding chips, a series of tables, a complex database, a link list, a radix tree, a database, a flat file, or various other data structures.
In the example of
In addition, as described herein, BGP protocol 193 may receive IP Prefix Advertisement routes (i.e., Route Type 5) of a BGP EVPN 26. Upon receiving this type of L3 route advertisement for the EVPN, BGP protocol 193 may output updates routing information 194 and advertises the routes through any BGP peering relationship, such as BGP session 42. Moreover, BGP protocol 193 forwards the L3 information to EVPN protocol 187, which updates forwarding information 196 associated with EVPN 26 to specify the appropriate next hop and encapsulation information necessary for tunneling packets destined to the L3 prefix through the EVPN.
The architecture of router 180 illustrated in
Control unit 182 may be implemented solely in software, or hardware, or may be implemented as a combination of software, hardware, or firmware. For example, control unit 182 may include one or more processors which execute software instructions. In that case, the various software modules of control unit 182 may comprise executable instructions stored on a computer-readable medium, such as computer memory or hard disk.
The techniques described herein may be implemented in hardware, software, firmware, or any combination thereof. Various features described as modules, units or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices or other hardware devices. In some cases, various features of electronic circuitry may be implemented as one or more integrated circuit devices, such as an integrated circuit chip or chipset.
If implemented in hardware, this disclosure may be directed to an apparatus such as a processor or an integrated circuit device, such as an integrated circuit chip or chipset. Alternatively or additionally, if implemented in software or firmware, the techniques may be realized at least in part by a computer-readable data storage medium comprising instructions that, when executed, cause a processor to perform one or more of the methods described above. For example, the computer-readable data storage medium may store such instructions for execution by a processor.
A computer-readable medium may form part of a computer program product, which may include packaging materials. A computer-readable medium may comprise a computer data storage medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), Flash memory, magnetic or optical data storage media, and the like. In some examples, an article of manufacture may comprise one or more computer-readable storage media.
In some examples, the computer-readable storage media may comprise non-transitory media. The term “non-transitory” may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in RAM or cache).
The code or instructions may be software and/or firmware executed by processing circuitry including one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor,” as used herein may refer to any of the foregoing structure or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, functionality described in this disclosure may be provided within software modules or hardware modules.
Various embodiments have been described. These and other embodiments are within the scope of the following examples.