[go: up one dir, main page]

EP4529120A1 - Communication method based on alto protocol, and related apparatus - Google Patents

Communication method based on alto protocol, and related apparatus Download PDF

Info

Publication number
EP4529120A1
EP4529120A1 EP23814964.5A EP23814964A EP4529120A1 EP 4529120 A1 EP4529120 A1 EP 4529120A1 EP 23814964 A EP23814964 A EP 23814964A EP 4529120 A1 EP4529120 A1 EP 4529120A1
Authority
EP
European Patent Office
Prior art keywords
information
network
service
apn
alto
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP23814964.5A
Other languages
German (de)
French (fr)
Other versions
EP4529120A4 (en
Inventor
Shuping PENG
Qin Wu
Dawei Fan
Bo Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of EP4529120A1 publication Critical patent/EP4529120A1/en
Publication of EP4529120A4 publication Critical patent/EP4529120A4/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Definitions

  • This application relates to the field of communication technologies, and in particular, to an ALTO protocol-based communication method and a related apparatus.
  • the application layer traffic optimization (Application Layer Traffic Optimization, ALTO) protocol is a request/response (request/response) protocol in which a host is allowed to choose an optimal path from a server with more knowledge of a network to obtain resources.
  • the ALTO protocol is based on the hypertext transfer protocol (Hypertext Transfer Protocol, HTTP).
  • the ALTO protocol supports applications (applications) such as a peer-to-peer (peer-to-peer, P2P) application, a content delivery network (content delivery network, CDN) selection, and a mirror selection.
  • Network services For various service providers, for example, a cloud service provider, an application service provider, or another operator.
  • the service providers provide various services, for example, a security service, a path service, or an edge computing service, for a user based on the network service.
  • network service interfaces between the operators and the service providers are not unified. Therefore, when the service provider needs to roll out a network service, the operator and the service provider need to respectively develop interfaces to transmit or configure the network service. This makes network service rollout more difficult and reduces timeliness of network service rollout.
  • embodiments of this application provide an application layer traffic optimization ALTO protocol-based communication method, including:
  • An ALTO server sends first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • first devices in the first network for example, a terminal device, customer premises equipment (customer premises equipment, CPE), a network device, an application server, or a software-defined networking in a wide area network (software-defined networking in a wide area network, SD-WAN) controller, are collectively referred to as first devices.
  • the application server is a server (or a server cluster) that runs or manages an application (application).
  • the network device in embodiments of this application may be a physical device like a router, a switch, or a gateway, or may be a virtual device that supports router advertisement and packet forwarding, or the like. This is not limited in embodiments of this application.
  • the CPE includes but is not limited to a device like a terminal device, an optical network terminal (optical network terminal, ONT), a digital subscriber line modem (digital subscriber line modem, DSL Modem), a router, a network switch, a residential gateway, a set-top box, a fixed-mobile convergence product, a home network adapter, or an Internet access gateway.
  • ONT optical network terminal
  • DSL Modem digital subscriber line modem
  • the ALTO server and a network controller may be integrated, or the ALTO server and the network controller may be independent of each other.
  • the ALTO client and the first device may be integrated, or the ALTO client and the first device are independent of each other.
  • a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty in exposing a network service by the operator, reduces difficulty of network service rollout, and improves timeliness of network service rollout.
  • that the ALTO server determines the first information includes: The ALTO server obtains second information, where the second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or application-aware networking (Application-aware Networking, APN) information of the first network; and the ALTO server determines the first information based on the second information.
  • APN Application-aware Networking
  • the topology information of the first network indicates various types of devices (or nodes) included in the first network and upstream and downstream relationships of the various types of devices (or nodes).
  • the ALTO server may determine a topology relationship of the first network based on the topology information of the first network.
  • the device information of the first device in the first network includes but is not limited to a bandwidth of the first device, a transmission protocol supported by the first device, a transmission delay of the first device, a security function available in the first device, or the like.
  • the service function chain information of the first network is related service function chain information of a service function (Service Function, SF) available in the first network.
  • Service Function Service Function
  • the computing capability information of the first network includes but is not limited to: a computing resource of the first device, a storage resource of the first device, an available computing resource of the first device, an available storage resource of the first device, a maximum quantity of connections supported by the first device, or the like.
  • that the ALTO server determines the first information based on the second information includes: The ALTO server determines, based on the second information, the one or more network services available in the first network; and the ALTO server determines, based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network.
  • the ALTO server determines, based on the second information, that the first network can provide a security-related network service A, a path service-related network service B, and an edge computing service-related network service C; and then, the ALTO server determines, based on the network service A, the first information corresponding to the network service A, determines, based on the network service B, the first information corresponding to the network service B, and determines, based on the network service C, the first information corresponding to the network service C.
  • implementation flexibility of this solution is improved.
  • the ALTO server determines, from the second information, the APN information exposed to the ALTO client; or the ALTO server determines, from the second information, the APN information transferred for the ALTO client; or the ALTO server determines, from the second information, the APN information synchronized for the ALTO client.
  • the second information is the APN information of the first network
  • that the ALTO server determines the first information based on the second information includes: The ALTO server obtains a first correspondence, where the first correspondence indicates a correspondence between the APN information of the first network and the one or more network services; and the ALTO server uses the first correspondence as the first information.
  • the ALTO server determines a target network service based on the one or more network services available in the first network; and the ALTO server determines, based on the target network service, the first information corresponding to the target network service.
  • the ALTO server sends a first message to the ALTO client, where the first message indicates the one or more network services available in the first network; and the ALTO server receives a second message from the ALTO client, where the second message indicates the target network service.
  • the first message includes identification information of a plurality of network services, and the plurality of network services belong to the network services available in the first network.
  • the ALTO client determines the one or more network services available in the first network. Then, the ALTO client selects one or more network services, as the target network service, from the one or more network services available in the first network. Then, the ALTO client sends the second message to the ALTO server.
  • the second message includes identification information of the target network service.
  • the target network service is determined in the ALTO client. This improves implementation flexibility of this solution.
  • that the ALTO server determines the target network service based on the one or more network services available in the first network includes: The ALTO server receives a third message from the ALTO client, where the third message is used to subscribe to the target network service; and the ALTO server determines, based on the third message, the target network service from the one or more network services available in the first network.
  • the ALTO client sends the third message to the ALTO server based on a request of the application server (or the SD-WAN controller, or another first device in the first network).
  • the third message may carry expected information of the target network service.
  • the expected information includes expecting that the obtained target network service belongs to a security service function chain, or that the obtained target network service belongs to network slicing, and a bandwidth of a network slice is greater than 100 megabits per second (mbps), or that the obtained target network service is a storage service, and an available storage resource of the storage service is greater than 500 gigabytes.
  • the third message carries identification information of a network service to which needs to be subscribed.
  • the ALTO server may further determine the target network service in response to a subscription request of the ALTO client. This improves implementation flexibility of this solution.
  • embodiments of this application provide an application layer traffic optimization ALTO protocol-based communication method, including:
  • the ALTO server and a network controller may be integrated, or the ALTO server and the network controller may be independent of each other.
  • the ALTO client and the first device may be integrated, or the ALTO client and the first device are independent of each other.
  • a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty in exposing a network service by the operator, reduces difficulty of network service rollout, and improves timeliness of network service rollout.
  • the ALTO client and the first device belong to a same device, in other words, the ALTO client and the first device are integrated.
  • the ALTO client learns of the one or more network services available in the first network.
  • the ALTO client selects one or more network services, as the target network service, from the one or more network services available in the first network.
  • a selection manner may be as follows: The ALTO client (the first device) selects, based on an actual service requirement from the one or more network services available in the first network, a network service with a highest matching degree as the target network service.
  • the ALTO client may be configured to determine the target network service. This improves implementation flexibility of this solution.
  • the ALTO client determines, based on the first correspondence and the APN information included in the first information, the target network service corresponding to the APN information.
  • the ALTO client may be configured to determine the target network service. This improves implementation flexibility of this solution.
  • the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services
  • that the ALTO client determines a target network service based on the first information includes: The ALTO client determines the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • the first correspondence may also be configured by the APN server for the APN client, for example, configured in the first information. This improves implementation flexibility. Further, when the ALTO client is integrated with the first device (for example, integrated with an application server), the application server may automatically select the APN information (corresponding to the target network service) based on the first information. This reduces processing complexity.
  • embodiments of this application provide an application layer traffic optimization ALTO protocol-based communication method, including: A first device receives first information sent by an ALTO client, where the first information indicates one or more network services available in a first network, and the first information is used by the first device to obtain the one or more network services; and the first device determines a target network service based on the first information.
  • the first device includes but is not limited to a terminal device, customer premises equipment (customer premises equipment, CPE), a network device, an application server, a software-defined networking in a wide area network (software-defined networking in a wide area network, SD-WAN) controller, or another device.
  • customer premises equipment customer premises equipment, CPE
  • CPE customer premises equipment
  • SD-WAN wide area network
  • a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty in exposing a network service by the operator, reduces difficulty of network service rollout, and improves timeliness of network service rollout.
  • the first device determines the target network service based on the first information from the ALTO client. This reduces difficulty in obtaining the target network service by the first device, and saves consumed communication resources. In this way, the first device can obtain and use the target network service as soon as possible.
  • the first information includes application-aware networking APN information related to the at least one network service in the one or more network services
  • that the first device determines the target network service based on the first information includes: The first device determines the target network service based on the APN information related to the at least one network service in the one or more network services.
  • the first device determines, based on the first correspondence and the APN information included in the first information, the target network service corresponding to the APN information.
  • the first device may be configured to determine the target network service. This improves implementation flexibility of this solution.
  • the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services
  • that the first device determines the target network service based on the first information includes: The first device determines the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • the first correspondence may also be configured by the APN server for the first device, for example, configured in the first information. This improves implementation flexibility. Further, when the ALTO client is integrated with the first device (for example, integrated with the application server), the application server may automatically select the APN information (corresponding to the target network service) based on the first information. This reduces processing complexity.
  • the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • the first device may obtain a corresponding network service based on identification information of the network service.
  • identification information of a network service may be a binding segment identifier (binding segment identifier, BSID).
  • BSID binding segment identifier
  • Service capability information of a network service is related information that indicates (or represents) a service capability of the network service.
  • the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • the service capability information of a network service includes one or more of the following: type information of the network service, specification information of the network service, or quality of service (quality of service, QoS) information of the network service.
  • the type information of the network service indicates a specific network service type of the network service.
  • the network service is a network slicing service, or the network service is a path service, or the network service is a security service, or the network service is a computing service.
  • the specification information (or level information) of the network service indicates a related attribute of the network service, for example, high reliability, a large bandwidth, high security, a high SLA level, or a low delay.
  • the quality of service information of the network service includes but is not limited to: a hop count (hop count), a delay, or the like.
  • the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • the APN information includes APN Header (APN Header) information.
  • the APN information is transferred in the first information, so that a service corresponding to the APN information automatically matches a network service in the first network. In this way, configuration difficulty is reduced and efficiency is improved.
  • the service corresponding to the APN information may be an application (application) or another service. This is not limited in embodiments of this application.
  • APN Header information refer to the internet engineering task force (the internet engineering task force, IETF) draft "draft-li-apn-header".
  • the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • APN-related information is collectively referred to as APN information.
  • the APN information may be information (or a field) included in an APN Header (APN Header) field, or the APN information may be an APN Header field. This is not limited in embodiments of this application.
  • the APN identifier field includes: an application group identifier (APP-Group-ID) field, used to indicate a group identifier corresponding to an application (Application); a user group identifier (USER-Group-ID) field, used to indicate a group identifier corresponding to a user (user); and a reserved (reserved) field.
  • the APN ID field may include one or more fields (or information) in the APP-Group-ID field, the USER-Group-ID field, or the reserved field.
  • the APN ID field includes only the APP-Group-ID field or the USER-Group-ID field.
  • the APN ID field includes the APP-Group-ID field and the USER-Group-ID field.
  • the intent information indicates requirement information that is about a network service and that is of an application (application) corresponding to the APN information, and a granularity of the intent information is large.
  • the network service has one or more of the following attributes (or characteristics): high reliability, a large bandwidth, high security, a high SLA level, a low delay, or the like.
  • the network performance requirement information includes but is not limited to a bandwidth requirement, a delay requirement, a jitter requirement, and/or a packet loss rate requirement.
  • the security service requirement information includes but is not limited to a firewall requirement, an access verification requirement, an anti-spoofing requirement, a tamper resistance requirement, or a security authentication requirement.
  • the network service requirement information includes but is not limited to a path service requirement, a network slicing requirement, a service function chain requirement, or the like.
  • the network service requirement information may further be requirement information for a specific network service, for example, a requirement for a network service A.
  • the network service is indicated by the APN information.
  • a service packet carrying the APN information can automatically match a corresponding network service.
  • the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • the first correspondence is a correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and may be configured, in the first information, for the ALTO client or the first device.
  • the ALTO client or the first device automatically matches, based on the first correspondence and the actual service requirement, the APN information corresponding to the target network service.
  • the first correspondence may alternatively be preconfigured on the ALTO client or the first device.
  • the ALTO server obtains one or more of APN information (including the APN ID information). After the ALTO server obtains the one or more network services available in the first network, the ALTO server determines the first correspondence based on the one or more of APN information and the one or more network services available in the first network. For example, the ALTO server allocates corresponding APN information to a network service, so that there is a correspondence between APN information and a network service.
  • a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • the path service may be a segment routing (segment routing, SR) path service, a traffic engineering (traffic engineering, TE) tunnel path service, or the like.
  • SR segment routing
  • TE traffic engineering tunnel path service
  • a service function chain is a group of ordered service functions (Service Function, SF) that are usually required by an operator to provide network access for a user, including but not limited to a security service, packet filtering, load balancing, and transmission proxy.
  • a group of ordered SFs through which user traffic passes is called a service function chain (service function chain, SFC).
  • a service function chain is instantiated through a service function path (service function path, SFP) formed by selecting a specific SF on a specific network device.
  • An example in which the service function chain service is the security service is used for description.
  • the security service includes but is not limited to a firewall service, an access verification service, an anti-spoofing service, a tamper resistance service, or a security authentication service.
  • the computing capability service includes but is not limited to a computing service or a storage service.
  • the computing capability service is the computing service.
  • the computing service includes but is not limited to a video decoding service, an image processing service, an image recognition service, a voice recognition service, a machine translation service, a gesture recognition service, a self-driving service, a route planning service, or the like.
  • embodiments of this application provide a communication apparatus, where the communication apparatus is used as an ALTO server, and the communication apparatus includes: a transceiver module, configured to send first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • a transceiver module configured to send first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • the computing capability service includes but is not limited to a computing service or a storage service.
  • the computing capability service is the computing service.
  • the computing service includes but is not limited to a video decoding service, an image processing service, an image recognition service, a voice recognition service, a machine translation service, a gesture recognition service, a self-driving service, a route planning service, or the like.
  • Application (application) information (that is, APN information) is carried in a service packet and security and reliability of the application information is ensured.
  • APN information Application (application) information
  • SLA service-level agreement
  • APN-related information is collectively referred to as APN information.
  • the APN information may be information (or a field) included in an APN Header (APN Header) field, or the APN information may be an APN Header field. This is not limited in embodiments of this application.
  • FIG. 2 is a diagram of an APN Header field.
  • the APN Header field includes an APN identifier type (APN-ID-Type) field, a Flags (Flags) field, an APN parameter type (APN-Para-Type) field, an APN identifier (APN-ID) field, an Intent (Intent) field, and an APN parameter (APN-Para) field.
  • the Intent field is an optional field
  • the APN parameter field is an optional field.
  • a length of the APN-Para-Type field is 16 bits.
  • the APN-Para-Type field indicates APN parameters (APN parameters) related to corresponding APN IDs. In a manner of setting bits, a specific requirement is reflected.
  • bit 0 of the APN-Para-Type field (Bit 0 When set), it indicates that there is a bandwidth requirement.
  • bit 1 of the APN-Para-Type field is set, it indicates that there is a delay requirement.
  • a bit 2 of the APN-Para-Type field indicates that there is a jitter requirement.
  • a bit 3 of the APN-Para-Type field indicates that there is a packet loss rate requirement.
  • a length of the Intent field is 32 bits, and the Intent field indicates a service requirement for a network.
  • the APN-Para field includes a series of APN parameters (APN parameters), which are specified by the APN-Para-Type field.
  • APN parameters APN parameters
  • the APN ID is a forcible carried field, and all fields following the APN ID are optional carried fields, such as the Intent field and the APN Parameters field.
  • FIG. 3 is a diagram of an APN ID.
  • the APN identifier field includes: an application group identifier (APP-Group-ID) field, used to indicate a group identifier corresponding to an application (Application); a user group identifier (USER-Group-ID) field, used to indicate a group identifier corresponding to a user (user); and a reserved (reserved) field.
  • the APN ID field may include one or more fields (or information) in the APP-Group-ID field, the USER-Group-ID field, or the reserved field.
  • the APN ID field includes only the APP-Group-ID field or the USER-Group-ID field.
  • the APN ID field includes the APP-Group-ID field and the USER-Group-ID field.
  • FIG. 4a is a diagram of an operator-service provider system.
  • An example in which the operator-service provider system includes an operator A, an operator B, an operator C, a service provider A, a service provider B, a service provider C, and a service provider D is used for description. It may be understood that the operator and the service provider in FIG. 4a is a system of the operator and a system of the service provider.
  • the service provider A rolls out a network service A on the operator A and the operator B; the service provider B rolls out a network service B on the operator A and the operator C; the service provider C rolls out a network service C on the operator A and the operator B; and the service provider D rolls out a network service D on the operator A, the operator B, and the operator C.
  • a system of an operator needs to interconnect with systems of a plurality of service providers, and correspondingly a system of a service provider usually needs to interconnect with systems of a plurality of operators.
  • network service interfaces between the operators and the service providers are not unified. Therefore, when the service provider needs to roll out a network service, the operator and the service provider need to respectively develop interfaces to transmit or configure the network service. This makes network service rollout more difficult and reduces timeliness of network service rollout.
  • embodiments of this application provide an application layer traffic optimization ALTO protocol-based communication method.
  • a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty in exposing a network service by the operator, reduces difficulty of network service rollout, and improves timeliness of network service rollout.
  • FIG. 4c is a diagram of a communication system scenario according to an embodiment of this application.
  • a communication system includes: a network device (for example, nodes R1 to R3 in the figure), a terminal device, customer premises equipment (customer premises equipment, CPE), a software-defined networking in a wide area network (software-defined networking in a wide area network, SD-WAN) controller, an application server, an ALTO server, and an ALTO client.
  • a network device for example, nodes R1 to R3 in the figure
  • CPE customer premises equipment
  • a software-defined networking in a wide area network software-defined networking in a wide area network, SD-WAN
  • ALTO server software-defined networking in a wide area network
  • ALTO client ALTO client
  • a network corresponding to the communication system scenario is referred to as the first network.
  • the first network For ease of description, devices that are associated with the ALTO client and that are in the first network are collectively referred to as first devices.
  • the first devices include the terminal device, the CPE, the network device, the application server, the SD-WAN controller, or another device (not shown in the figure).
  • the ALTO server and/or the ALTO client in the scenarios in FIG. 4b and FIG. 4c may be deployed in a cloud server, or a cloud service provided by the cloud server.
  • the cloud server may be a server deployed on a cloud to implement a centralized service.
  • the ALTO server and/or the ALTO client may alternatively be deployed in a computing device.
  • the computing device in embodiments of this application may be a requirement device of a data stream. After obtaining the data stream, the computing device may display the data stream or perform corresponding processing. Alternatively, after obtaining the data stream, the computing device displays the data stream by using another device. Alternatively, after obtaining the data stream, the computing device displays a processed data stream by using another device after performing corresponding processing. This is not limited in this application.
  • the computing device may be a server or a terminal device. An actual product form of the computing device is not limited in this application.
  • FIG. 5 is a diagram of a communication system scenario according to an embodiment of this application.
  • the communication system includes a network device (for example, nodes R1 to R3 in the figure), a terminal device, CPE, an ALTO server (integrated with a network controller), and an ALTO client (integrated with an SD-WAN controller or an application server).
  • the network controller may also be referred to as a network management system, and may perform management, operation, and maintenance, policy control, and the like on a network device in a first network.
  • a specific function of the network controller is not limited in embodiments of this application.
  • the ALTO client may alternatively be integrated with a first device in the first network.
  • the ALTO client is integrated with the terminal device, or the ALTO client is integrated with the CPE. This is not limited in embodiments of this application.
  • the application server is a server (or a server cluster) that runs or manages an application (application).
  • the network device in embodiments of this application may be a physical device like a router, a switch, or a gateway, or may be a virtual device that supports router advertisement and packet forwarding, or the like. This is not limited in embodiments of this application.
  • the terminal device in embodiments of this application includes but is not limited to a mobile phone, an Internet of Things device, a smart home device, an industrial control device, a vehicle device, an uncrewed aerial vehicle device, or the like.
  • the terminal device is various terminal devices or apparatuses having a wire communication function, for example, a mobile phone (which is also referred to as a "cellular" phone) and a computer having a mobile terminal, or may be a portable, pocket-sized, handheld, computer built-in, or vehicle-mounted mobile apparatus, which exchange language and/or data with a radio access network.
  • the terminal device is a device like a personal communication service (personal communication service, PCS) phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (wireless local loop, WLL) station, or a personal digital assistant (personal digital assistant, PDA).
  • PCS personal communication service
  • SIP session initiation protocol
  • WLL wireless local loop
  • PDA personal digital assistant
  • the terminal device may also be referred to as a system, a subscriber unit (subscriber Unit), a subscriber station (subscriber station), a mobile station (mobile station), a mobile (mobile) console, a remote station (remote station), an access point (access point), a remote terminal (remote terminal), an access terminal (access terminal), a user terminal (user terminal), a user agent (user agent), a user device (user device), or a user device (user device).
  • subscriber Unit subscriber unit
  • subscriber station subscriber station
  • mobile station mobile station
  • mobile mobile console
  • remote station remote station
  • an access point access point
  • remote terminal remote terminal
  • an access terminal access terminal
  • user terminal user terminal
  • user agent user agent
  • user device user device
  • user device user device
  • the terminal device is, for example, a vehicle, a vehicle-mounted device, a vehicle-mounted module or unit, a flight device (including but not limited to an uncrewed aerial vehicle), an airborne device, an airborne module or unit, a drive test infrastructure device, a handheld device, a wearable device, a computing device, or another processing device connected to a wireless modem, for example, vehicle user equipment (vehicle user equipment, VUE) or air conditioner user equipment.
  • VUE vehicle user equipment
  • the CPE includes but is not limited to a device like a terminal device, an optical network terminal (optical network terminal, ONT), a digital subscriber line modem (digital subscriber line modem, DSL Modem), a router, a network switch, a residential gateway, a set-top box, a fixed-mobile convergence product, a home network adapter, or an Internet access gateway.
  • ONT optical network terminal
  • DSL Modem digital subscriber line modem
  • the CPE may enable a user to obtain a corresponding service through a nearby local area network (local area network, LAN).
  • LAN local area network
  • the communication system in embodiments of this application may further include another device.
  • the communication system may include an edge computing device, where the edge computing device is a device configured to perform multi-access edge computing (Multi-access Edge Computing) or mobile edge computing (mobile edge computing).
  • the edge computing device is similar to the computing device, and includes but is not limited to a mobile phone, an Internet of Things device, a smart home device, an industrial control device, a vehicle device, an uncrewed aerial vehicle device, or the like.
  • FIG. 6 is a diagram of an embodiment of an application layer traffic optimization ALTO protocol-based communication method according to an embodiment of this application.
  • the application layer traffic optimization ALTO protocol-based communication method provided in this embodiment of this application includes the following steps.
  • An ALTO server determines first information.
  • information indicating one or more network services available in a first network is referred to as the first information.
  • the ALTO server may determine the first information in a plurality of manners.
  • the ALTO server determines the first information based on preconfigured information. For example, the information preconfigured by the ALTO server includes the first information.
  • the ALTO server determines the first information based on related information of the first network. For example, first, the ALTO server determines, based on the related information of the first network, a network service available in the first network. Then, the ALTO server determines the first information.
  • the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • a first device may obtain a corresponding network service based on identification information of the network service.
  • identification information of a network service may be a binding segment identifier (binding segment identifier, BSID).
  • BSID binding segment identifier
  • the first network provides a network service A, and identification information of a network service corresponding to the network service Ais "BSID-A", the first information includes "BSID-A".
  • the first network provides a network service A and a network service B, and the network service A and the network service B may be combined to provide services (for example, the network service A is a security service, and the network service B is an edge computing service), identification information of a network service is shown in Table 1.
  • Service capability information of a network service is related information that indicates (or represents) a service capability of the network service.
  • the service capability information of a network service includes one or more of the following: type information of the network service, specification information of the network service, or quality of service (quality of service, QoS) information of the network service.
  • the type information of the network service indicates a specific network service type of the network service.
  • the network service is a network slicing service, or the network service is a path service, or the network service is a security service, or the network service is a computing service.
  • the specification information (or level information) of the network service indicates a related attribute of the network service, for example, high reliability, a large bandwidth, high security, a high SLA level, a low delay, or a specific specification parameter, for example, specification information of a computing capability service includes a maximum quantity of connections.
  • the quality of service information of the network service includes but is not limited to: a hop count (hop count), a delay, a packet loss rate, or the like. For example, reliability is 99.999%, and a bandwidth is 10 Gbit (Gigabit)
  • the first information includes application-aware networking APN information related to at least one network service in the one or more network services.
  • the APN information may be information (or a field) included in an APN Header (APN Header) field, or the APN information may be an APN Header field. This is not limited in embodiments of this application.
  • APN Header information refer to FIG. 2 .
  • the APN information is transferred in the first information, so that a service corresponding to the APN information automatically matches a network service in the first network. In this way, configuration difficulty is reduced and efficiency is improved.
  • the service corresponding to the APN information may be an application (application) or another service. This is not limited in embodiments of this application.
  • the APN information includes one or more of the following: APN ID information, intent information, or APN parameter information.
  • the APN ID information includes USER-Group-ID information and/or APP-Group-ID information.
  • the APN parameter information includes but is not limited to one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • the APN information may include only the APN ID information, that is, the intent information and the APN parameter information are optional information.
  • the APN ID information may include the USER-Group-ID information or the APP-Group-ID information, and the APN ID information may alternatively include both the USER-Group-ID information and the APP-Group-ID information.
  • the intent information indicates requirement information that is about a network service and that is of an application (application) corresponding to the APN information.
  • the network service has one or more of the following attributes (or characteristics): high reliability, a large bandwidth, high security, a high SLA level, a low delay, or the like.
  • the network performance requirement information includes but is not limited to a bandwidth requirement, a delay requirement, a jitter requirement, and/or a packet loss rate requirement.
  • the security service requirement information includes but is not limited to a firewall requirement, an access verification requirement, an anti-spoofing requirement, a tamper resistance requirement, or a security authentication requirement.
  • the network service requirement information includes but is not limited to a path service requirement, a network slicing requirement, a service function chain requirement, or the like.
  • the network service requirement information may further be requirement information for a specific network service, for example, a requirement for a network service A.
  • the APN parameter information is in the APN Header field, and includes the following two parts: an APN-ID-Type (APN-ID-Type) field and an APN-Para field, where the APN-ID-Type (APN-ID-Type) field is an optional field.
  • a length of the APN-ID-Type field is 8 bits (bits)
  • the APN-ID-Type field is used to identify a type of an APN-ID (or APN ID).
  • a length of the APN-Para-Type field is 16 bits.
  • the APN-Para-Type field indicates APN parameters (APN parameters) related to corresponding APN IDs. In a manner of setting bits, a specific requirement is reflected.
  • bit 0 of the APN-Para-Type field (Bit 0 When set), it indicates that there is a bandwidth requirement.
  • bit 1 of the APN-Para-Type field is set, it indicates that there is a delay requirement.
  • a bit 2 of the APN-Para-Type field indicates that there is a jitter requirement.
  • a bit 3 of the APN-Para-Type field indicates that there is a packet loss rate requirement.
  • the APN-Para field includes a series of APN parameters (APN parameters), which are specified by the APN-Para-Type field.
  • the APN IDID information is in the APN Header field and includes the following field: an APN ID field; and the intent information is in the APN Header field and includes the following field: an Intent field.
  • the APN ID field is a forcible carried field, and all fields following the APN ID field are optional carried fields, such as an Intent field and an APN Parameters field.
  • the first correspondence may be pre-configured in the first device in the first network.
  • the first correspondence may be pre-configured in an ALTO client.
  • the ALTO client determines, based on the identification information of the network service and the first correspondence, a network service corresponding to the identification information of the network service (the identification information of the network service carried in the first information), and further determines APN information corresponding to the network service.
  • the ALTO client sends the APN information to the first device.
  • the first device determines, based on the APN information from the ALTO client and the preconfigured first correspondence, the network service that needs to be used. This reduces communication transmission overheads of each device in the first network.
  • the first information may include one or more of the foregoing information.
  • the first information includes the identification information of the network service and service capability information of the network service.
  • the first information includes the APN information and the first correspondence.
  • the first information includes the identification information of the network service, the service capability information of the network service, and the first correspondence. This is not limited in embodiments of this application.
  • Table 3 Network service Identification information of a network service Service capability information of a network service Network service D (path service: SID list-A)
  • BSID-D Type information path service Quality of service information: delay: 100 milliseconds; and bandwidth: 100 megabits per second
  • the identification information of the network service of the network service D is "BSID-D"
  • a service type of the network service D is a path service
  • the path crosses a plurality of autonomous system (autonomous system, AS) management domains, including: an AS 2, an AS 3, and an AS 4.
  • the delay of the network service D is 100 milliseconds, and the bandwidth is 100 megabits per second.
  • the ALTO server obtains second information.
  • the ALTO server may obtain the second information from all devices in the first network.
  • the ALTO server is integrated with a network controller, for example, the ALTO server is used as a functional module inside the network controller, the ALTO server obtains the second information by using the network controller.
  • the ALTO server and the network controller are independent of each other, the ALTO server sends a request to the network controller to obtain the second information; or the network controller actively reports the second information to the ALTO server after obtaining the second information.
  • the second information may be configured on the ALTO server.
  • the second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network.
  • the topology information of the first network indicates various types of devices (or nodes) included in the first network and upstream and downstream relationships of the various types of devices (or nodes).
  • the ALTO server may determine a topology relationship of the first network based on the topology information of the first network.
  • the topology information of the first network includes topology information including an ingress node (ingress node) and an egress node (egress node) in one or more domains (domain) included in the first network.
  • the first network is divided into a source domain (Source Domain), a transit domain (transit domain), and a destination domain (Destination Domain) based on a data transmission path (or a data forwarding path) from the terminal device to the application server.
  • the topology information of the first network includes address information of a source service access point (source SAP) in the source domain, address information of an egress node in the source domain, address information of an ingress node in the transit domain, address information of an egress node in the transit domain, address information of an ingress node in the destination domain, and address information of a destination service access point (Destination SAP) in the destination domain.
  • source SAP source service access point
  • Destination SAP destination service access point
  • the device information of the first device in the first network includes but is not limited to: a key performance indicator (key performance indicator, KPI) like a transmission delay or a bandwidth of the first device, a transmission protocol supported by the first device, a security function available in the first device, or the like.
  • KPI key performance indicator
  • the service function chain information of the first network is related service function chain information of a service function (Service Function, SF) available in the first network.
  • Service Function Service Function
  • the computing capability information of the first network includes but is not limited to: a computing resource of the first device, a storage resource of the first device, an available computing resource of the first device, an available storage resource of the first device, a maximum quantity of connections supported by the first device, or the like.
  • the ALTO server After obtaining the second information, the ALTO server determines the first information based on the second information. Details are as follows.
  • the ALTO server determines, based on the second information, the one or more network services available in the first network; and then, the ALTO server determines, based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network.
  • the ALTO server determines, based on the second information, that the first network can provide a security-related network service A, a path service-related network service B, and an edge computing service-related network service C; and then, the ALTO server determines, based on the network service A, the first information corresponding to the network service A, determines, based on the network service B, the first information corresponding to the network service B, and determines, based on the network service C, the first information corresponding to the network service C.
  • the ALTO server determines a target network service based on the one or more network services available in the first network. Then, the ALTO server determines, based on the target network service, the first information corresponding to the target network service.
  • the target network service there may be a plurality of possible implementations to determine the target network service, and details are described in subsequent embodiments. Details are not described herein.
  • the ALTO server selects some or all information from the second information as the first information.
  • the ALTO server determines, from the second information, APN information allocated to the ALTO client.
  • the APN information allocated to the ALTO client is used as the first information. It may be understood that, that the ALTO server "allocates" the APN information to the ALTO client may alternatively be understood as that the ALTO server "exposes”, “transfers”, or "synchronizes” the APN information to the ALTO client.
  • the ALTO server determines, from the second information, the APN information exposed to the ALTO client; or the ALTO server determines, from the second information, the APN information transferred for the ALTO client; or the ALTO server determines, from the second information, the APN information synchronized for the ALTO client.
  • the ALTO server may further allocate, to the ALTO client, a correspondence between the APN information of the first network and the one or more network services provided in the first network.
  • the second information includes the correspondence between the APN information of the first network and the one or more network services provided in the first network.
  • the correspondence between the APN information of the first network and the one or more network services provided in the first network is referred to as a first correspondence in this embodiment of this application.
  • the ALTO server obtains the first correspondence (that is, the ALTO server obtains some or all of the first correspondences from the second information), and then, the ALTO server uses the first correspondence as the first information.
  • the ALTO server may perform step 601 in response to a request of the ALTO client. For example, if the ALTO client needs to allocate a network service to the first device, the ALTO client sends a request to the ALTO server. The ALTO server obtains the first information in response to the request.
  • the ALTO server may perform step 601 in response to a request of the first device in the first network. For example, if the first device in the first network needs to use a network service, the first device sends a request to the ALTO server. The ALTO server obtains the first information in response to the request.
  • the ALTO server sends the first information to the ALTO client according to the ALTO protocol, where the first information indicates the one or more network services available in the first network.
  • the ALTO server sends the first information to the ALTO client according to the ALTO protocol, where the first information indicates the one or more network services available in the first network.
  • the first network is a network that is currently managed or covered by the ALTO server.
  • Devices in the first network such as a terminal device, CPE, a network device, an application server, an SD-WAN controller, or another device, are collectively referred to as the first device.
  • the network service in embodiments of this application includes but is not limited to a path service, a service function chain service, a network slicing service, a computing capability service, or the like.
  • a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • the ALTO server provides one or more northbound interfaces (northbound interfaces, NBI) to implement that the ALTO server sends the first information to the ALTO client according to the ALTO protocol.
  • NBI northbound interfaces
  • the ALTO client sends the first information to the first device.
  • the ALTO client may send the first information from the ALTO server to the first device.
  • the ALTO client is integrated with the SD-WAN controller or the ALTO client is integrated with the application server, the ALTO client is used as a functional module inside the SD-WAN controller (or the application server), the SD-WAN controller is used as the first device associated with the ALTO, and the ALTO client sends the first information to the SD-WAN controller.
  • the SD-WAN controller is used as the first device associated with the ALTO, the ALTO client sends the first information to the SD-WAN controller, and the SD-WAN controller (or the application server) obtains the first information from the ALTO client.
  • the SD-WAN controller (or the application server) obtains the first information through the ALTO client
  • one CPE managed by the SD-WAN controller is used as the first device, and the SD-WAN controller sends the first information to the first device.
  • the SD-WAN controller sends the first information to the CPE in the first network; and the application server sends the first information to the terminal device in the first network.
  • the ALTO client determines, based on the first information from the ALTO server, the one or more network services corresponding to the first information from the ALTO server. Then, the ALTO client determines the target network service based on the one or more network services. Then, the ALTO client determines, based on the target network service, the first information corresponding to the target network service. The ALTO client sends, to the first device, the first information corresponding to the target network service.
  • the first device determines the target network service based on the first information.
  • step 604 after the first device obtains the first information, the first device determines the target network service based on the first information. Then, the first device enters the target network service (or the first device uses the target network service).
  • the application server (or the SD-WAN controller) is used as the first device, and after obtaining the first information sent by the ALTO client, the application server (or the SD-WAN controller) determines the target network service based on the first information.
  • the application server or the SD-WAN controller
  • the first device determines the target network service based on the first information.
  • the SD-WAN controller (or the application server) obtains the first information through the ALTO client
  • one CPE managed by the SD-WAN controller is used as the first device, and the SD-WAN controller sends the first information to the first device.
  • the SD-WAN controller sends the first information to the CPE in the first network; and the application server sends the first information to the terminal device in the first network. Then, the first device determines the target network service based on the first information.
  • the first device determines identification information of the target network service (or APN information corresponding to the target network service), and the first device adds the identification information of the target network service (or the APN information corresponding to the target network service) to a target service packet, where the target service packet is related to an application (or a service) that uses the target network service.
  • the first information includes a correspondence between the one or more network services and the APN information related to at least one network service in the one or more network services, and the first device determines the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • the first device determines the one or more network services based on the first information.
  • the first device determines the target network service based on the one or more network services.
  • the first device determines the one or more network services based on the first correspondence, and then selects the target network service.
  • the first device determines, based on the first correspondence, APN information corresponding to the target network service. In this way, the first device can actively select and determine the target network service. This improves implementation flexibility.
  • the first information includes APN information
  • the first correspondence is preconfigured in the first device.
  • the first device determines the target network service based on the first information (APN information) and the first correspondence.
  • the first device determines, based on the APN information and the first correspondence (the first correspondence may be preconfigured in the first device), a network service corresponding to the APN information. Then, the first device encapsulates the APN information (for example, APN ID information) into a packet header of a target service packet, to indicate the target service packet to obtain, in the first network, the network service corresponding to the APN information. For example, the target service packet is mapped to a TE path or a network slice corresponding to the network service. In the foregoing method, the network service is automatically matched based on the APN information.
  • the APN information for example, APN ID information
  • the first device determines, based on the BSID, that the corresponding network service is the target network service. Then, the first device encapsulates the BSID (identification information of the network service) into a packet header of a target service packet.
  • the packet header of the target service packet may be an Internet Protocol version 6 (Internet Protocol version 6, IPv6) packet header of the target service packet.
  • IPv6 Internet Protocol version 6
  • a specific location at which the BSID information is encapsulated may be a hop-by-hop options header, a segment routing header, or the like of the IPv6 packet header. This is not limited in embodiments of this application.
  • the first information may alternatively be encapsulated into another location of the target service packet. This is not limited in embodiments of this application.
  • a device in the first network executes, based on the identification information of the network service (the identification information of the target network service) carried in the target service packet, a policy corresponding to the target network service.
  • the policy includes but is not limited to one or more of the following: entering a path (for example, an SR path or a TE path) corresponding to the target network service, driving in-situ flow information telemetry (in-situ flow information telemetry, iFIT) performance detection, entering a security service function chain (also referred to as a security pool service) corresponding to the target network service, or entering the edge computing service.
  • a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty of network service rollout, and improves timeliness of network service rollout.
  • FIG. 7 is a schematic flowchart of determining a target network service according to an embodiment of this application. Details are as follows.
  • An ALTO server sends a first message to an ALTO client, where the first message indicates one or more network services available in a first network.
  • the first message includes identification information of a plurality of network services, and the plurality of network services belong to the network services available in the first network.
  • the ALTO client sends a second message to the ALTO server, where the second message indicates a target network service. Specifically, after receiving the first message, the ALTO client determines the one or more network services available in the first network. Then, the ALTO client selects one or more network services, as the target network service, from the one or more network services available in the first network. Then, the ALTO client sends the second message to the ALTO server. For example, the second message includes identification information of the target network service.
  • the ALTO server determines, based on the target network service, first information corresponding to the target network service.
  • the ALTO server sends, according to an ALTO protocol to the ALTO client, the first information corresponding to the target network service.
  • FIG. 8 is another schematic flowchart of determining a target network service according to an embodiment of this application. Details are as follows.
  • FIG. 9 is another schematic flowchart of determining a target network service according to an embodiment of this application. Details are as follows.
  • An ALTO client sends a third message to an ALTO server, where the third message is used to subscribe to a target network service.
  • the ALTO client sends the third message to the ALTO server based on a request of an application server (or an SD-WAN controller, or another first device in a first network).
  • the third message may carry expected information of the target network service.
  • the expected information includes expecting that the obtained target network service belongs to a security service function chain, or that the obtained target network service belongs to network slicing, and a bandwidth of a network slice is greater than 100 mbps, or that the obtained target network service is a storage service, and an available storage resource of the storage service is greater than 500 Gbytes.
  • the third message carries identification information of a network service to which needs to be subscribed.
  • the ALTO server determines the target network service based on the third message.
  • the ALTO server determines, based on the third message, the target network service from one or more network services available in a first network.
  • the third message carries expected information of the target network service
  • a network service that matches the third message is determined as the target network service.
  • the ALTO server determines, based on the third message, the target network service from the one or more network services available in the first network. For subsequent steps, refer to step 603 and step 604 in the foregoing embodiment.
  • FIG. 10 is another schematic flowchart of determining a target network service according to an embodiment of this application. Details are as follows.
  • An ALTO server sends a fourth message to a first device, where the fourth message indicates a network service available in a first network.
  • the fourth message includes identification information of a plurality of network services, and the plurality of network services belong to network services available in the first network.
  • the first device sends a fifth message to the ALTO server, where the fifth message indicates a target network service.
  • the first device determines one or more network services available in the first network. Then, the first device selects one or more network services, as the target network service, from the one or more network services available in the first network. Then, the first device sends the fifth message to the ALTO server. For example, the fifth message includes identification information of the target network service.
  • the ALTO server determines, based on the target network service, first information corresponding to the target network service.
  • the ALTO server sends, according to an ALTO protocol to an ALTO client, the first information corresponding to the target network service.
  • FIG. 11 is a diagram of an application scenario according to an embodiment of this application.
  • a network controller obtains second information from a first network, and sends the second information to an ALTO server.
  • the ALTO server determines first information based on the second information, and then sends the first information to an ALTO client according to an ALTO protocol.
  • the ALTO client sends the first information to an application server or an SD-WAN controller.
  • the application server determines a target network service based on the first information, and then uses the target network service.
  • the SD-WAN controller sends the first information to a first device in the first network. In this way, the first device determines the target network service based on the first information.
  • FIG. 12 is a diagram of an application scenario according to an embodiment of this application.
  • a target network service corresponding to the application scenario is a path service.
  • a path indicated by the target network service is: an ingress node-a transit node a-a transit node d-a transit node e-an egress node.
  • an ALTO server determines, by using a network controller, one or more network services available in a first network. Then, the ALTO server allocates the target network service to an application A based on the one or more network services available in the first network.
  • the ALTO server determines first information corresponding to the target network service.
  • the ALTO server sends, according to an ALTO protocol to an ALTO client, the first information corresponding to the target network service.
  • an application server obtains, through the ALTO client, the first information corresponding to the target network service.
  • the application server encapsulates identification information of the target network service into a related packet of the application A.
  • the related packet of the application A carries the identification information of the target network service.
  • the related packet of the application A is forwarded along the path indicated by the target network service.
  • FIG. 13a is a diagram of an application scenario according to an embodiment of this application.
  • a target network service corresponding to the application scenario is a service function chain service.
  • an ALTO server determines, by using a network controller, one or more network services available in a first network. Then, the ALTO server allocates the target network service to an application B based on the one or more network services available in the first network.
  • the ALTO server determines first information corresponding to the target network service.
  • the ALTO server sends, according to an ALTO protocol to an ALTO client, the first information corresponding to the target network service.
  • an application server obtains, through the ALTO client, the first information corresponding to the target network service.
  • the application server encapsulates identification information of the target network service into a related packet of the application B.
  • the related packet of the application B carries the identification information of the target network service.
  • the packet is forwarded along a path indicated by the target network service, and enters a service function chain D at a transit node g.
  • related processing of the service function chain D is performed. For example, filtering is first performed by using a firewall, then charging processing is completed on an accounting server, and finally edge computing processing is performed on an edge computing server.
  • the related packet (including a processing result of the edge computing server) of the application B is forwarded to an egress node through the transit node g.
  • FIG. 13b is a diagram of an application scenario according to an embodiment of this application.
  • a target network service corresponding to the application scenario is an edge computing service.
  • an ALTO server determines, by using a network controller, one or more network services available in a first network. Then, the ALTO server allocates the target network service to an application C based on the one or more network services available in the first network.
  • the ALTO server determines first information corresponding to the target network service.
  • the ALTO server sends, according to an ALTO protocol to an ALTO client, the first information corresponding to the target network service.
  • an application server obtains, through the ALTO client, the first information corresponding to the target network service.
  • the application server encapsulates identification information of the target network service into a related packet of the application C.
  • the related packet of the application C carries the identification information of the target network service.
  • the packet is forwarded along a path indicated by the target network service, and enters an edge computing device cluster at a transit node g. Then, related processing of edge computing is performed.
  • the related packet of the application C carries a video source file
  • an "H.265-HEVC" algorithm is used to perform video encoding.
  • the related packet (including a processing result of edge computing, for example, a file on which video encoding is performed) of the application C is forwarded to an egress node through the transit node g.
  • a communication apparatus includes corresponding hardware structures and/or software modules for performing the functions.
  • a person of ordinary skill in the art should easily be aware that, in combination with modules, algorithms and steps of the examples described in embodiments disclosed in this specification, this application may be implemented by hardware or a combination of hardware and computer software. Whether a function is performed by hardware or hardware driven by computer software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
  • FIG. 14 is a diagram of a hardware structure of a communication apparatus according to an embodiment of this application. As shown in FIG. 14 , the communication apparatus may include the following content.
  • the communication apparatus includes at least one processor 1401, a communication line 1407, a memory 1403, and at least one communication interface 1404.
  • the processor 1401 may be a general-purpose central processing unit (central processing unit, CPU), a microprocessor, an application-specific integrated circuit (application-specific integrated circuit, server side IC), or one or more integrated circuits configured to control program execution in the solutions of this application.
  • CPU central processing unit
  • microprocessor central processing unit
  • application-specific integrated circuit application-specific integrated circuit, server side IC
  • integrated circuits configured to control program execution in the solutions of this application.
  • the communication line 1407 may include a path for information transmission between the foregoing components.
  • the communication interface 1404 is configured to communicate, by using any transceiver-type apparatus, with another apparatus or a communication network, for example, the Ethernet.
  • the memory 1403 may be a read-only memory (read-only memory, ROM), another type of static storage apparatus that can store static information and instructions, a random access memory (random access memory, RAM), or another type of dynamic storage apparatus that can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • the memory may exist independently, and is connected to the processor through the communication line 1407.
  • the memory may alternatively be integrated with the processor.
  • the memory 1403 is configured to store computer-executable instructions for executing the solutions of this application, and the processor 1401 controls execution.
  • the processor 1401 is configured to execute the computer-executable instructions stored in the memory 1403, to implement the application layer traffic optimization ALTO protocol-based communication method provided in the foregoing embodiments of this application.
  • the computer-executable instructions in embodiments of this application may also be referred to as application code. This is not specifically limited in embodiments of this application.
  • the communication apparatus may include a plurality of processors, such as the processor 1401 and a processor 1402 in FIG. 14 .
  • Each of the processors may be a single-core (single-CPU) processor, or may be a multi-core (multi-CPU) processor.
  • the processor herein may be one or more apparatuses, circuits, and/or processing cores configured to process data (such as computer program instructions).
  • the communication apparatus may further include an output apparatus 1405 and an input apparatus 1406.
  • the output apparatus 1405 communicates with the processor 1401, and may display information in a plurality of manners.
  • the input apparatus 1406 communicates with the processor 1401, and may receive an input of a user in a plurality of manners.
  • the input apparatus 1406 may be a mouse, a touchscreen apparatus, or a sensing apparatus.
  • the processor 1402 may include one or more processing units.
  • the processor 1402 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural-network processing unit (neural-network processing unit, NPU).
  • an application processor application processor, AP
  • modem processor graphics processing unit
  • ISP image signal processor
  • controller a memory
  • video codec digital signal processor
  • DSP digital signal processor
  • baseband processor baseband processor
  • NPU neural-network processing unit
  • Different processing units may be independent components, or may be integrated into one or more processors.
  • the controller may be a nerve center and a command center of the communication apparatus 1400.
  • the controller may generate an operation control signal based on instruction operation code and a time sequence signal, to complete control of instruction reading and instruction execution.
  • a memory may be further disposed in the processor 1402, and is configured to store instructions and data.
  • the memory in the processor 1402 is a cache.
  • the memory may store instructions or data just used or cyclically used by the processor 1402. If the processor 1402 needs to use the instructions or the data again, the processor 1402 may directly invoke the instructions or the data from the memory. This avoids repeated access, reduces waiting time of the processor 1402, and improves system efficiency.
  • the processor 1402 may include one or more interfaces.
  • the interface may include an inter-integrated circuit (inter-integrated circuit, I1C) interface, an inter-integrated circuit sound (inter-integrated circuit sound, I1S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver/transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (general-purpose input/output, GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, a universal serial bus (universal serial bus, USB) port, and/or the like.
  • I1C inter-integrated circuit
  • I1S inter-integrated circuit sound
  • PCM pulse code modulation
  • PCM pulse code modulation
  • UART universal asynchronous receiver/transmitter
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • an interface connection relationship between the modules shown in this embodiment of this application is merely an example for description, and does not constitute a limitation on the structure of the communication apparatus 1400.
  • the communication apparatus 1400 may alternatively use an interface connection mode different from an interface connection mode in the foregoing embodiment, or a combination of a plurality of interface connection modes.
  • a wireless communication function of the communication apparatus 1400 may be implemented through an antenna 1, an antenna 2, a mobile communication module, a wireless communication module, a modem processor, a baseband processor, and the like.
  • the communication apparatus 1400 may communicate with another device by using the wireless communication function.
  • the antenna 1 and the antenna 2 are configured to: transmit and receive electromagnetic wave signals.
  • Each antenna in the communication apparatus 1400 may be configured to cover one or more communication frequency bands. Different antennas may be further multiplexed, to improve antenna utilization.
  • the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In some other embodiments, the antenna may be used in combination with a tuning switch.
  • the mobile communication module may provide a wireless communication solution that includes 1G/3G/4G/5G or the like and that is applied to the communication apparatus 1400.
  • the mobile communication module may include at least one filter, a switch, a power amplifier, a low noise amplifier (low noise amplifier, LNA), and the like.
  • the mobile communication module may receive an electromagnetic wave through the antenna 1, perform processing such as filtering or amplification on the received electromagnetic wave, and transmit a processed electromagnetic wave to the modem processor for demodulation.
  • the mobile communication module may further amplify a signal modulated by the modem processor, and convert an amplified signal into an electromagnetic wave for radiation through the antenna 2.
  • at least some functional modules of the mobile communication module may be disposed in the processor 1402.
  • at least some functional modules of the mobile communication module may be disposed in a same device as at least some modules of the processor 1402.
  • the modem processor may include a modulator and a demodulator.
  • the modulator is configured to modulate a to-be-sent low-frequency baseband signal into a medium-high frequency signal.
  • the demodulator is configured to demodulate a received electromagnetic wave signal into a low-frequency baseband signal. Then, the demodulator transmits the low-frequency baseband signal obtained through demodulation to the baseband processor for processing.
  • the low-frequency baseband signal is processed by the baseband processor and then transferred to the application processor.
  • the application processor outputs a sound signal through an audio device (which is not limited to a speaker, a receiver, or the like), or displays an image or a video on a display.
  • the modem processor may be an independent component.
  • the modem processor may be independent of the processor 1402, and is disposed in a same device as the mobile communication module or another functional module.
  • the communication apparatus 1400 may implement a display function by using the GPU, the display, the application processor, and the like.
  • the GPU is a microprocessor for image processing, and connects the display and the application processor.
  • the GPU is configured to: perform mathematical and geometric computation, and render an image.
  • the processor 1402 may include one or more GPUs, which execute program instructions to generate or change display information.
  • An external memory interface may be used to connect to an external storage card, for example, a Micro SD card, to extend a storage capability of the communication apparatus 1400.
  • the external storage card communicates with the processor 1402 through the external memory interface, to implement a data storage function. For example, files such as music and videos are stored in the external storage card.
  • An internal memory may be configured to store computer-executable program code.
  • the executable program code includes instructions.
  • the processor 1402 runs the instructions stored in the internal memory, to perform data processing and various function applications of the communication apparatus 1400.
  • the internal memory may include a program storage area and a data storage area.
  • the program storage area may store an operating system, an application required by at least one function (for example, a voice playing function or an image playing function), and the like.
  • the data storage area may store data (for example, audio data and contacts) and the like created when the communication apparatus 1400 is used.
  • the internal memory may include a high-speed random access memory, or may include a nonvolatile memory, for example, at least one magnetic disk storage device, a flash memory device, or a universal flash storage (universal flash storage, UFS).
  • the communication apparatus may be a general-purpose apparatus or a dedicated apparatus.
  • the communication apparatus may be a desktop computer, a portable computer, a network server side, a wireless terminal apparatus, an embedded apparatus, or an apparatus having a structure similar to that in FIG. 14 .
  • a type of the communication apparatus is not limited in embodiments of this application.
  • the communication apparatus may be a cloud server side, or may be a terminal device. This is not limited herein.
  • the structures shown in embodiments of this application do not constitute a specific limitation on the communication apparatus 1400.
  • the communication apparatus 1400 may include more or fewer components than those shown in the figure, or a combination of a part of the components, or splits from a part of the components, or an arrangement of different components.
  • the components shown in the figure may be implemented by hardware, software, or a combination of software and hardware.
  • the communication apparatus may be divided into functional modules based on the foregoing method examples.
  • each functional module may be obtained through division based on each corresponding function, or two or more functions may be integrated into one processing module.
  • the integrated module may be implemented in a form of hardware, or may be implemented in a form of software functional module.
  • module division is an example, and is merely a logical function division. In an actual implementation, another division manner may be used.
  • FIG. 15 is a diagram of an embodiment of a communication apparatus 1500 according to an embodiment of this application.
  • the communication apparatus 1500 is used as an ALTO server, and the communication apparatus 1500 includes: a transceiver module 1501, configured to send first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • a transceiver module 1501 configured to send first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information
  • the APN ID information includes user group identifier information and/or application group identifier information
  • the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • a processing module 1502 is configured to determine the first information.
  • the transceiver module 1501 is further configured to obtain second information, where the second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network; and the processing module 1502 is further configured to determine the first information based on the second information.
  • the processing module 1502 is further configured to: determine, from the second information, APN information allocated to the ALTO client, and use the APN information as the first information.
  • a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • the communication apparatus 1500 is used as an ALTO client, and the communication apparatus 1500 includes:
  • the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information
  • the APN ID information includes user group identifier information and/or application group identifier information
  • the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • a processing module 1502 is configured to determine a target network service based on the first information.
  • the first information includes the APN information related to the at least one network service in the one or more network services
  • the processing module 1502 is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services
  • the processing module 1502 is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • the communication apparatus 1500 is used as a first device, and the communication apparatus 1500 includes:
  • the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • the first information includes application-aware networking APN information related to the at least one network service in the one or more network services
  • the processing module 1502 is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information
  • the APN ID information includes user group identifier information and/or application group identifier information
  • the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services
  • the processing module 1502 is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • FIG. 16 is a diagram of an embodiment of a communication apparatus 1600 according to an embodiment of this application.
  • the communication apparatus 1600 includes a memory and a processor.
  • the memory includes instructions, and the processor is configured to perform any implementation shown in the foregoing method embodiments.
  • the communication apparatus 1600 is used as an ALTO server, the communication apparatus 1600 includes a memory 1601 and a processor 1602, and the memory includes instructions.
  • the processor is configured to perform any implementation shown in the foregoing method embodiments.
  • the processor 1602 is configured to send first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information
  • the APN ID information includes user group identifier information and/or application group identifier information
  • the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • the processor 1602 is further configured to determine the first information.
  • the processor 1602 is further configured to obtain second information, where the second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network; and the processor 1602 is further configured to determine the first information based on the second information.
  • the processor 1602 is further configured to: determine, from the second information, APN information allocated to the ALTO client, and use the APN information as the first information.
  • a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • the communication apparatus 1600 is used as an ALTO client, and the communication apparatus 1600 includes:
  • the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information
  • the APN ID information includes user group identifier information and/or application group identifier information
  • the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • the processor 1602 when the ALTO client and the first device belong to a same device, the processor 1602 is configured to determine a target network service based on the first information.
  • the first information includes the APN information related to the at least one network service in the one or more network services
  • the processor 1602 is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services
  • the processor 1602 is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • the communication apparatus 1600 is used as a first device, and the communication apparatus 1600 includes:
  • the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • the first information includes application-aware networking APN information related to the at least one network service in the one or more network services
  • the processor 1602 is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information
  • the APN ID information includes user group identifier information and/or application group identifier information
  • the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services
  • the processor 1602 is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • the communication apparatus mentioned in embodiments of this application may be, for example, a network device like a switch or a router, may be some components of a network device, for example, a board or a line card of the network device, may be a functional module of the network device, or may be a chip configured to implement the methods in this application. This is not specifically limited in embodiments of this application.
  • the transceiver module configured to implement the method may be, for example, an interface circuit of the chip, and the processing module may be a processing circuit having a processing function in the chip.
  • Communication apparatuses may be directly connected, for example, but not limited to, through an Ethernet cable or an optical cable.
  • the foregoing communication apparatus may be implemented as a virtualized device.
  • the virtualization device may be a virtual machine (virtual machine, VM), a virtual router, or a virtual switch that runs a program for sending a packet.
  • the virtualization device is deployed on a hardware device (for example, a physical server).
  • the ALTO server may be implemented based on a general-purpose physical server with reference to a network functions virtualization (network functions virtualization, NFV) technology.
  • network functions virtualization network functions virtualization
  • the communication apparatuses in the foregoing product forms respectively have any function of the ALTO server, the ALTO client, and/or the first device in the foregoing method embodiments. Details are not described herein again.
  • An embodiment of this application further provides a communication apparatus.
  • the communication apparatus includes: a communication interface; and a processor connected to the communication interface. Based on the communication interface and the processor, the following is implemented.
  • the communication apparatus is used for the ALTO server, so that the communication apparatus performs the methods in embodiments shown in FIG. 6 to FIG. 13b .
  • the communication apparatus is used for the ALTO client, so that the communication apparatus performs the methods in embodiments shown in FIG. 6 to FIG. 13b .
  • the communication apparatus is used for the first device, so that the communication apparatus performs the methods in embodiments shown in FIG. 6 to FIG. 13b .
  • An embodiment of this application further provides a communication system.
  • the communication system includes the ALTO client and the ALTO server in the foregoing embodiments.
  • the communication system is configured to perform any implementation shown in the foregoing method embodiments.
  • An embodiment of this application further provides a communication system.
  • the communication system includes the ALTO client, the ALTO server, and the first device in the foregoing embodiments.
  • the communication system is configured to perform any implementation shown in the foregoing method embodiments.
  • An embodiment of this application further provides a computer program product.
  • the computer program product includes computer program code.
  • the computer program code When the computer program code is run on a computer, the computer is enabled to perform any implementation described in the foregoing method embodiments.
  • An embodiment of this application further provides a chip system, including a memory and a processor.
  • the memory is configured to store a computer program
  • the processor is configured to invoke the computer program from the memory and run the computer program, to enable a chip to perform any implementation described in the foregoing method embodiments.
  • An embodiment of this application further provides a chip system, including a processor.
  • the processor is configured to invoke and run a computer program, to enable a chip to perform any implementation described in the foregoing method embodiments.
  • connection relationships between the modules indicate that the modules have communication connections with each other, which may be specifically implemented as one or more communication buses or signal cables.
  • the computer software product is stored in a readable storage medium like a floppy disk, a USB flash drive, a removable hard disk drive, a ROM, a RAM, a magnetic disk, or an optical disc of a computer, and includes several instructions for instructing a computer device to perform the methods described in embodiments of this application.
  • the computer instructions may be transmitted from a website, computer, network apparatus, computing device, or data center to another website, computer, network apparatus, computing device, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, or microwave) manner.
  • the computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, for example, a data center or a network apparatus, integrating one or more usable media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk drive, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a solid state disk (solid state disk, SSD)), or the like.
  • a magnetic medium for example, a floppy disk, a hard disk drive, or a magnetic tape
  • an optical medium for example, a DVD
  • a semiconductor medium for example, a solid state disk (solid state disk, SSD)
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the described apparatus embodiment is merely an example.
  • division into the units is merely logical function division and may be other division in an actual implementation.
  • a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed.
  • the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces.
  • the indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
  • the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, may be located at one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of embodiments.
  • functional units in embodiments of this application may be integrated into one processing unit, each of the units may exist alone physically, or two or more units are integrated into one unit.
  • the integrated unit may be implemented in a form of hardware, or may be implemented in a form of software functional unit.
  • the integrated unit When the integrated unit is implemented in the form of software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially or the part contributing to the conventional technology, or all or some of the technical solutions may be implemented in a form of software product.
  • the computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in embodiments of this application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Embodiments of this application disclose an application layer traffic optimization ALTO protocol-based communication method and a related apparatus. The method includes: An ALTO server sends first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services. In embodiments of this application, a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty in exposing a network service by the operator, reduces difficulty of network service rollout, and improves timeliness of network service rollout.

Description

  • This application claims priority to Chinese Patent Application No. 202210609674.6, filed with the China National Intellectual Property Administration on May 31, 2022 and entitled "ALTO PROTOCOL-BASED COMMUNICATION METHOD AND RELATED APPARATUS", which is incorporated herein by reference in its entirety.
  • TECHNICAL FIELD
  • This application relates to the field of communication technologies, and in particular, to an ALTO protocol-based communication method and a related apparatus.
  • BACKGROUND
  • The application layer traffic optimization (Application Layer Traffic Optimization, ALTO) protocol is a request/response (request/response) protocol in which a host is allowed to choose an optimal path from a server with more knowledge of a network to obtain resources. The ALTO protocol is based on the hypertext transfer protocol (Hypertext Transfer Protocol, HTTP). The ALTO protocol supports applications (applications) such as a peer-to-peer (peer-to-peer, P2P) application, a content delivery network (content delivery network, CDN) selection, and a mirror selection.
  • Operators need to provide virtualized network services (network services, NS) for various service providers, for example, a cloud service provider, an application service provider, or another operator. The service providers provide various services, for example, a security service, a path service, or an edge computing service, for a user based on the network service. Currently, network service interfaces between the operators and the service providers are not unified. Therefore, when the service provider needs to roll out a network service, the operator and the service provider need to respectively develop interfaces to transmit or configure the network service. This makes network service rollout more difficult and reduces timeliness of network service rollout.
  • SUMMARY
  • According to a first aspect, embodiments of this application provide an application layer traffic optimization ALTO protocol-based communication method, including:
  • An ALTO server sends first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • For ease of description, devices in the first network, for example, a terminal device, customer premises equipment (customer premises equipment, CPE), a network device, an application server, or a software-defined networking in a wide area network (software-defined networking in a wide area network, SD-WAN) controller, are collectively referred to as first devices. In embodiments of this application, the application server is a server (or a server cluster) that runs or manages an application (application). The network device in embodiments of this application may be a physical device like a router, a switch, or a gateway, or may be a virtual device that supports router advertisement and packet forwarding, or the like. This is not limited in embodiments of this application. The CPE includes but is not limited to a device like a terminal device, an optical network terminal (optical network terminal, ONT), a digital subscriber line modem (digital subscriber line modem, DSL Modem), a router, a network switch, a residential gateway, a set-top box, a fixed-mobile convergence product, a home network adapter, or an Internet access gateway.
  • In embodiments of this application, the ALTO server and a network controller may be integrated, or the ALTO server and the network controller may be independent of each other. The ALTO client and the first device may be integrated, or the ALTO client and the first device are independent of each other.
  • In a possible implementation, for a specific manner of information transfer between the ALTO server (Server) and the ALTO client (Client) according to the ALTO protocol, refer to the Request For Comments (Request For Comments, RFC) Protocol 7285. Details are not described herein.
  • In embodiments of this application, a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty in exposing a network service by the operator, reduces difficulty of network service rollout, and improves timeliness of network service rollout.
  • In a possible implementation of the first aspect, before the ALTO server sends the first information to an ALTO client according to the ALTO protocol, the method includes: The ALTO server determines the first information.
  • Specifically, first, the ALTO server determines, based on related information of the first network, a network service available in the first network. Then, the ALTO server determines information indicating the one or more network services available in the first network. The information is referred to as the first information in embodiments of this application.
  • In a possible implementation of the first aspect, that the ALTO server determines the first information includes:
    The ALTO server obtains second information, where the second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or application-aware networking (Application-aware Networking, APN) information of the first network; and the ALTO server determines the first information based on the second information.
  • Specifically, the topology information of the first network indicates various types of devices (or nodes) included in the first network and upstream and downstream relationships of the various types of devices (or nodes). The ALTO server may determine a topology relationship of the first network based on the topology information of the first network.
  • The device information of the first device in the first network includes but is not limited to a bandwidth of the first device, a transmission protocol supported by the first device, a transmission delay of the first device, a security function available in the first device, or the like.
  • The service function chain information of the first network is related service function chain information of a service function (Service Function, SF) available in the first network.
  • The computing capability information of the first network includes but is not limited to: a computing resource of the first device, a storage resource of the first device, an available computing resource of the first device, an available storage resource of the first device, a maximum quantity of connections supported by the first device, or the like.
  • In a possible implementation of the first aspect, that the ALTO server determines the first information based on the second information includes: The ALTO server determines, based on the second information, the one or more network services available in the first network; and the ALTO server determines, based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network.
  • For example, the ALTO server determines, based on the second information, that the first network can provide a security-related network service A, a path service-related network service B, and an edge computing service-related network service C; and then, the ALTO server determines, based on the network service A, the first information corresponding to the network service A, determines, based on the network service B, the first information corresponding to the network service B, and determines, based on the network service C, the first information corresponding to the network service C. In the foregoing method, implementation flexibility of this solution is improved.
  • In a possible implementation of the first aspect, the second information is the APN information of the first network, and that the ALTO server determines the first information based on the second information includes: The ALTO server determines, from the second information, APN information allocated to the ALTO client, and uses the APN information as the first information.
  • Specifically, the ALTO server selects some or all information from the second information as the first information. When the second information includes the APN information of the first network, the ALTO server determines, from the second information, APN information allocated to the ALTO client. The APN information allocated to the ALTO client is used as the first information. It may be understood that, that the ALTO server "allocates" the APN information to the ALTO client may alternatively be understood as that the ALTO server "exposes", "transfers", or "synchronizes" the APN information to the ALTO client. For example, the ALTO server determines, from the second information, the APN information exposed to the ALTO client; or the ALTO server determines, from the second information, the APN information transferred for the ALTO client; or the ALTO server determines, from the second information, the APN information synchronized for the ALTO client.
  • In a possible implementation of the first aspect, the second information is the APN information of the first network, and that the ALTO server determines the first information based on the second information includes: The ALTO server obtains a first correspondence, where the first correspondence indicates a correspondence between the APN information of the first network and the one or more network services; and the ALTO server uses the first correspondence as the first information.
  • Specifically, the ALTO server may further allocate, to the ALTO client, the correspondence between the APN information of the first network and the one or more network services provided in the first network. For example, the second information includes the correspondence between the APN information of the first network and the one or more network services provided in the first network. For ease of description, the correspondence between the APN information of the first network and the one or more network services provided in the first network is referred to as a first correspondence in this embodiment of this application. The ALTO server obtains the first correspondence (that is, the ALTO server obtains some or all of the first correspondences from the second information), and then, the ALTO server uses the first correspondence as the first information. In the foregoing method, implementation flexibility of this solution is improved.
  • In a possible implementation of the first aspect, the ALTO server determines a target network service based on the one or more network services available in the first network; and the ALTO server determines, based on the target network service, the first information corresponding to the target network service.
  • The target network service is determined in the ALTO server. This improves implementation flexibility of this solution.
  • In a possible implementation of the first aspect, the ALTO server sends a first message to the ALTO client, where the first message indicates the one or more network services available in the first network; and the ALTO server receives a second message from the ALTO client, where the second message indicates the target network service.
  • Specifically, for example, the first message includes identification information of a plurality of network services, and the plurality of network services belong to the network services available in the first network. After receiving the first message, the ALTO client determines the one or more network services available in the first network. Then, the ALTO client selects one or more network services, as the target network service, from the one or more network services available in the first network. Then, the ALTO client sends the second message to the ALTO server. For example, the second message includes identification information of the target network service.
  • It may be understood that the target network service may alternatively be determined through interaction between the ALTO server and the first device (for example, the ALTO server sends the first message to the first device, and the first device determines the target network service based on the first message; and then the first device sends the second message to the ALTO server).
  • The target network service is determined in the ALTO client. This improves implementation flexibility of this solution.
  • In a possible implementation of the first aspect, that the ALTO server determines the target network service based on the one or more network services available in the first network includes: The ALTO server receives a third message from the ALTO client, where the third message is used to subscribe to the target network service; and the ALTO server determines, based on the third message, the target network service from the one or more network services available in the first network.
  • Specifically, for example, the ALTO client sends the third message to the ALTO server based on a request of the application server (or the SD-WAN controller, or another first device in the first network). The third message may carry expected information of the target network service. For example, the expected information includes expecting that the obtained target network service belongs to a security service function chain, or that the obtained target network service belongs to network slicing, and a bandwidth of a network slice is greater than 100 megabits per second (mbps), or that the obtained target network service is a storage service, and an available storage resource of the storage service is greater than 500 gigabytes. For another example, the third message carries identification information of a network service to which needs to be subscribed.
  • The ALTO server may further determine the target network service in response to a subscription request of the ALTO client. This improves implementation flexibility of this solution.
  • According to a second aspect, embodiments of this application provide an application layer traffic optimization ALTO protocol-based communication method, including:
    • An ALTO client receives first information from an ALTO server according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services; and
    • the ALTO client sends the first information to the first device.
  • In embodiments of this application, the ALTO server and a network controller may be integrated, or the ALTO server and the network controller may be independent of each other. The ALTO client and the first device may be integrated, or the ALTO client and the first device are independent of each other.
  • In a possible implementation, for a specific manner of information transfer between the ALTO server (Server) and the ALTO client (Client) according to the ALTO protocol, refer to the Request For Comments (Request For Comments, RFC) Protocol 7285. Details are not described herein.
  • In embodiments of this application, a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty in exposing a network service by the operator, reduces difficulty of network service rollout, and improves timeliness of network service rollout.
  • In a possible implementation of the second aspect, when the ALTO client and the first device belong to a same device, the method includes: The ALTO client determines a target network service based on the first information.
  • Specifically, it is assumed that the ALTO client and the first device belong to a same device, in other words, the ALTO client and the first device are integrated. After receiving the first information, the ALTO client learns of the one or more network services available in the first network. Then, the ALTO client selects one or more network services, as the target network service, from the one or more network services available in the first network. A selection manner may be as follows: The ALTO client (the first device) selects, based on an actual service requirement from the one or more network services available in the first network, a network service with a highest matching degree as the target network service. The ALTO client may be configured to determine the target network service. This improves implementation flexibility of this solution.
  • In a possible implementation of the second aspect, the first information includes the APN information related to the at least one network service in the one or more network services, and the determining, by the ALTO client, a target network service based on the first information includes: The ALTO client determines the target network service based on the APN information related to the at least one network service in the one or more network services.
  • Specifically, when a correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services (for ease of description, the correspondence is referred to as a first correspondence) is preconfigured in the ALTO client, the ALTO client determines, based on the first correspondence and the APN information included in the first information, the target network service corresponding to the APN information. The ALTO client may be configured to determine the target network service. This improves implementation flexibility of this solution.
  • In a possible implementation of the second aspect, the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and that the ALTO client determines a target network service based on the first information includes: The ALTO client determines the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • Specifically, the first correspondence may also be configured by the APN server for the APN client, for example, configured in the first information. This improves implementation flexibility. Further, when the ALTO client is integrated with the first device (for example, integrated with an application server), the application server may automatically select the APN information (corresponding to the target network service) based on the first information. This reduces processing complexity.
  • According to a third aspect, embodiments of this application provide an application layer traffic optimization ALTO protocol-based communication method, including: A first device receives first information sent by an ALTO client, where the first information indicates one or more network services available in a first network, and the first information is used by the first device to obtain the one or more network services; and
    the first device determines a target network service based on the first information.
  • In embodiments of this application, the first device includes but is not limited to a terminal device, customer premises equipment (customer premises equipment, CPE), a network device, an application server, a software-defined networking in a wide area network (software-defined networking in a wide area network, SD-WAN) controller, or another device.
  • In embodiments of this application, a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty in exposing a network service by the operator, reduces difficulty of network service rollout, and improves timeliness of network service rollout. The first device determines the target network service based on the first information from the ALTO client. This reduces difficulty in obtaining the target network service by the first device, and saves consumed communication resources. In this way, the first device can obtain and use the target network service as soon as possible.
  • In a possible implementation of the third aspect, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services, and that the first device determines the target network service based on the first information includes: The first device determines the target network service based on the APN information related to the at least one network service in the one or more network services.
  • Specifically, when a correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services (for ease of description, the correspondence is referred to as a first correspondence) is preconfigured in the first device, the first device determines, based on the first correspondence and the APN information included in the first information, the target network service corresponding to the APN information. The first device may be configured to determine the target network service. This improves implementation flexibility of this solution.
  • In a possible implementation of the third aspect, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services, and that the first device determines the target network service based on the first information includes:
    The first device determines the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • Specifically, the first correspondence may also be configured by the APN server for the first device, for example, configured in the first information. This improves implementation flexibility. Further, when the ALTO client is integrated with the first device (for example, integrated with the application server), the application server may automatically select the APN information (corresponding to the target network service) based on the first information. This reduces processing complexity.
  • In a possible implementation of the first aspect, the second aspect, or the third aspect, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • Specifically, the first device may obtain a corresponding network service based on identification information of the network service. For example, identification information of a network service may be a binding segment identifier (binding segment identifier, BSID). For example, if the first network provides a network service A, and identification information of a network service corresponding to the network service Ais "BSID-A", the first information includes "BSID-A". Service capability information of a network service is related information that indicates (or represents) a service capability of the network service.
  • In a possible implementation of the first aspect, the second aspect, or the third aspect, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • Specifically, the service capability information of a network service includes one or more of the following: type information of the network service, specification information of the network service, or quality of service (quality of service, QoS) information of the network service. The type information of the network service indicates a specific network service type of the network service. For example, the network service is a network slicing service, or the network service is a path service, or the network service is a security service, or the network service is a computing service. The specification information (or level information) of the network service indicates a related attribute of the network service, for example, high reliability, a large bandwidth, high security, a high SLA level, or a low delay. The quality of service information of the network service includes but is not limited to: a hop count (hop count), a delay, or the like.
  • In a possible implementation of the first aspect, the second aspect, or the third aspect, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • Specifically, the APN information includes APN Header (APN Header) information. The APN information is transferred in the first information, so that a service corresponding to the APN information automatically matches a network service in the first network. In this way, configuration difficulty is reduced and efficiency is improved. The service corresponding to the APN information may be an application (application) or another service. This is not limited in embodiments of this application. For details of a definition of the APN Header information, refer to the internet engineering task force (the internet engineering task force, IETF) draft "draft-li-apn-header".
  • In a possible implementation of the first aspect, the second aspect, or the third aspect, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In embodiments of this application, APN-related information is collectively referred to as APN information. In embodiments of this application, the APN information may be information (or a field) included in an APN Header (APN Header) field, or the APN information may be an APN Header field. This is not limited in embodiments of this application.
  • APN identifier (APN ID) field: The APN identifier field includes: an application group identifier (APP-Group-ID) field, used to indicate a group identifier corresponding to an application (Application); a user group identifier (USER-Group-ID) field, used to indicate a group identifier corresponding to a user (user); and a reserved (reserved) field. The APN ID field may include one or more fields (or information) in the APP-Group-ID field, the USER-Group-ID field, or the reserved field. For example, the APN ID field includes only the APP-Group-ID field or the USER-Group-ID field. For another example, the APN ID field includes the APP-Group-ID field and the USER-Group-ID field.
  • Intent information: The intent information indicates requirement information that is about a network service and that is of an application (application) corresponding to the APN information, and a granularity of the intent information is large. For example, the network service has one or more of the following attributes (or characteristics): high reliability, a large bandwidth, high security, a high SLA level, a low delay, or the like.
  • APN parameter information: Compared with a granularity of the intent information, a granularity of the APN information is small. For example, the network performance requirement information includes but is not limited to a bandwidth requirement, a delay requirement, a jitter requirement, and/or a packet loss rate requirement. The security service requirement information includes but is not limited to a firewall requirement, an access verification requirement, an anti-spoofing requirement, a tamper resistance requirement, or a security authentication requirement. The network service requirement information includes but is not limited to a path service requirement, a network slicing requirement, a service function chain requirement, or the like. The network service requirement information may further be requirement information for a specific network service, for example, a requirement for a network service A.
  • The network service is indicated by the APN information. In this way, a service packet carrying the APN information can automatically match a corresponding network service.
  • In a possible implementation of the first aspect, the second aspect, or the third aspect, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • Specifically, the first correspondence is a correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and may be configured, in the first information, for the ALTO client or the first device. In this way, the ALTO client or the first device automatically matches, based on the first correspondence and the actual service requirement, the APN information corresponding to the target network service.
  • In still another possible implementation, the first correspondence may alternatively be preconfigured on the ALTO client or the first device.
  • It should be noted that the first correspondence may be pre-planned. For example, the ALTO server obtains one or more of APN information (including the APN ID information). After the ALTO server obtains the one or more network services available in the first network, the ALTO server determines the first correspondence based on the one or more of APN information and the one or more network services available in the first network. For example, the ALTO server allocates corresponding APN information to a network service, so that there is a correspondence between APN information and a network service.
  • In a possible implementation of the first aspect, the second aspect, or the third aspect, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • For example, the path service may be a segment routing (segment routing, SR) path service, a traffic engineering (traffic engineering, TE) tunnel path service, or the like. The path service is not limited in embodiments of this application.
  • A service function chain is a group of ordered service functions (Service Function, SF) that are usually required by an operator to provide network access for a user, including but not limited to a security service, packet filtering, load balancing, and transmission proxy. A group of ordered SFs through which user traffic passes is called a service function chain (service function chain, SFC). A service function chain is instantiated through a service function path (service function path, SFP) formed by selecting a specific SF on a specific network device. An example in which the service function chain service is the security service is used for description. The security service includes but is not limited to a firewall service, an access verification service, an anti-spoofing service, a tamper resistance service, or a security authentication service.
  • The computing capability service includes but is not limited to a computing service or a storage service. For example, the computing capability service is the computing service. The computing service includes but is not limited to a video decoding service, an image processing service, an image recognition service, a voice recognition service, a machine translation service, a gesture recognition service, a self-driving service, a route planning service, or the like.
  • According to a fourth aspect, embodiments of this application provide a communication apparatus, where the communication apparatus is used as an ALTO server, and the communication apparatus includes:
    a transceiver module, configured to send first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a processing module is configured to determine the first information.
  • In a possible implementation, the transceiver module is further configured to obtain second information, where the second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network; and
    the processing module is further configured to determine the first information based on the second information.
  • In a possible implementation,
    • the processing module is further configured to determine, based on the second information, the one or more network services available in the first network; and
    • the processing module is further configured to determine, based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network.
  • In a possible implementation,
    the processing module is further configured to: determine, from the second information, APN information allocated to the ALTO client, and use the APN information as the first information.
  • In a possible implementation,
    • the transceiver module is further configured to obtain a first correspondence, where the first correspondence indicates a correspondence between the APN information of the first network and the one or more network services; and
    • the processing module is further configured to use the first correspondence as the first information.
  • In a possible implementation,
    • the processing module is further configured to determine a target network service based on the one or more network services available in the first network; and
    • the processing module is further configured to determine, based on the target network service, the first information corresponding to the target network service.
  • In a possible implementation,
    • the transceiver module is further configured to send a first message to the ALTO client, where the first message indicates the one or more network services available in the first network; and
    • the transceiver module is further configured to receive a second message from the ALTO client, where the second message indicates the target network service.
  • In a possible implementation,
    • the transceiver module is further configured to receive a third message from the ALTO client, where the third message is used to subscribe to the target network service; and
    • the processing module is further configured to determine, based on the third message, the target network service from the one or more network services available in the first network.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • According to a fifth aspect, embodiments of this application provide a communication apparatus, where the communication apparatus is used as an ALTO client, and the communication apparatus includes:
    • a transceiver module, configured to receive first information from an ALTO server according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services; and
    • the transceiver module is further configured to send the first information to the first device.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, when the ALTO client and the first device belong to a same device,
    a processing module is configured to determine a target network service based on the first information.
  • In a possible implementation, the first information includes the APN information related to the at least one network service in the one or more network services, and
    the processing module is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and
    the processing module is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • According to a sixth aspect, embodiments of this application provide a communication apparatus, where the communication apparatus is used as a first device, and the communication apparatus includes:
    • a transceiver module, configured to receive first information sent by an ALTO client, where the first information indicates one or more network services available in a first network, and the first information is used by the first device to obtain the one or more network services; and
    • a processing module, configured to determine a target network service based on the first information.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services, and
    the processing module is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and
    the processing module is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • According to a seventh aspect, embodiments of this application provide a communication apparatus, where the communication apparatus is used as an ALTO server, and the communication apparatus includes a memory and a processor. The memory includes instructions, and the processor is configured to perform any implementation of the first aspect.
  • In a possible implementation, the processor is configured to send first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the processor is configured to determine the first information.
  • In a possible implementation, the processor is further configured to obtain second information, where the second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network; and
    the processor is further configured to determine the first information based on the second information.
  • In a possible implementation,
    • the processor is further configured to determine, based on the second information, the one or more network services available in the first network; and
    • the processor is further configured to determine, based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network.
  • In a possible implementation,
    the processor is further configured to: determine, from the second information, APN information allocated to the ALTO client, and use the APN information as the first information.
  • In a possible implementation,
    • the processor is further configured to obtain a first correspondence, where the first correspondence indicates a correspondence between the APN information of the first network and the one or more network services; and
    • the processor is further configured to use the first correspondence as the first information.
  • In a possible implementation,
    • the processor is further configured to determine a target network service based on the one or more network services available in the first network; and
    • the processor is further configured to determine, based on the target network service, the first information corresponding to the target network service.
  • In a possible implementation,
    • the processor is further configured to send a first message to the ALTO client, where the first message indicates the one or more network services available in the first network; and
    • the processor is further configured to receive a second message from the ALTO client, where the second message indicates the target network service.
  • In a possible implementation,
    • the processor is further configured to receive a third message from the ALTO client, where the third message is used to subscribe to the target network service; and
    • the processor is further configured to determine, based on the third message, the target network service from the one or more network services available in the first network.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • According to an eighth aspect, embodiments of this application provide a communication apparatus, where the communication apparatus is used as an ALTO client, and the communication apparatus includes a memory and a processor. The memory includes instructions, and the processor is configured to perform any implementation of the second aspect.
  • In a possible implementation, the processor is configured to receive first information from an ALTO server according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services; and
    the processor is further configured to send the first information to the first device.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, when the ALTO client and the first device belong to a same device,
    a processor is configured to determine a target network service based on the first information.
  • In a possible implementation, the first information includes the APN information related to the at least one network service in the one or more network services, and
    the processor is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and
    the processor is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • According to a ninth aspect, embodiments of this application provide a communication apparatus, where the communication apparatus is used as a first device, and the communication apparatus includes a memory and a processor. The memory includes instructions, and the processor is configured to perform any implementation of the third aspect.
  • In a possible implementation, the processor is configured to receive first information sent by an ALTO client, where the first information indicates one or more network services available in a first network, and the first information is used by the first device to obtain the one or more network services; and
    a processor is configured to determine a target network service based on the first information.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services, and
    the processor is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and
    the processor is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • A tenth aspect of this application provides a communication apparatus, including a communication interface, and
    a processor connected to the communication interface. Based on the communication interface and the processor, the communication apparatus is enabled to perform the method according to any one of the first aspect, the second aspect, and/or the third aspect.
  • According to an eleventh aspect, a communication system is provided, where the communication system includes the communication apparatuses according to the fourth aspect and the fifth aspect.
  • According to a twelfth aspect, a communication system is provided, where the communication system includes the communication apparatuses according to the fourth aspect, the fifth aspect, and the sixth aspect.
  • A thirteenth aspect of this application provides a computer storage medium. The computer storage medium may be non-volatile. The computer storage medium stores computer-readable instructions. When the computer-readable instructions are executed by a processor, the method in any one of the implementations of the first aspect, the second aspect, or the third aspect is implemented.
  • A fourteenth aspect of this application provides a computer program product including instructions. When the computer program product runs on a computer, the computer is enabled to perform the method in any one of the implementations of the first aspect, the second aspect, or the third aspect.
  • A fifteenth aspect of this application provides a chip system. The chip system includes a processor and an interface circuit, configured to support a network device in implementing functions in the foregoing aspects, for example, sending or processing data and/or information in the foregoing methods. In a possible design, the chip system further includes a memory. The memory is configured to store program instructions and data that are necessary for the network device. The chip system may include a chip, or may include a chip and another discrete component.
  • A sixteenth aspect of this application provides a communication apparatus, including:
    • a memory, including instructions; and
    • a processor, where when the processor executes the instructions,
    • the communication apparatus is enabled to perform the method according to any one of the first aspect, the second aspect, and/or the third aspect.
    BRIEF DESCRIPTION OF DRAWINGS
    • FIG. 1 is a diagram of a scenario of an ALTO protocol;
    • FIG. 2 is a diagram of an APN Header field;
    • FIG. 3 is a diagram of an APN ID;
    • FIG. 4a is a diagram of an operator-service provider system;
    • FIG. 4b is a diagram of a communication system scenario according to an embodiment of this application;
    • FIG. 4c is a diagram of a communication system scenario according to an embodiment of this application;
    • FIG. 5 is a diagram of a communication system scenario according to an embodiment of this application;
    • FIG. 6 is a diagram of an embodiment of an application layer traffic optimization ALTO protocol-based communication method according to an embodiment of this application;
    • FIG. 7 is a schematic flowchart of determining a target network service according to an embodiment of this application;
    • FIG. 8 is another schematic flowchart of determining a target network service according to an embodiment of this application;
    • FIG. 9 is another schematic flowchart of determining a target network service according to an embodiment of this application;
    • FIG. 10 is another schematic flowchart of determining a target network service according to an embodiment of this application;
    • FIG. 11 is a diagram of an application scenario according to an embodiment of this application;
    • FIG. 12 is a diagram of an application scenario according to an embodiment of this application;
    • FIG. 13a is a diagram of an application scenario according to an embodiment of this application;
    • FIG. 13b is a diagram of an application scenario according to an embodiment of this application;
    • FIG. 14 is a diagram of a hardware structure of a communication apparatus according to an embodiment of this application;
    • FIG. 15 is a diagram of an embodiment of a communication apparatus 1500 according to an embodiment of this application; and
    • FIG. 16 is a diagram of an embodiment of a communication apparatus 1600 according to an embodiment of this application.
    DESCRIPTION OF EMBODIMENTS
  • Embodiments of this application are described. It is clearly that described embodiments are merely some but not all of embodiments of this application. A person of ordinary skill in the art may learn that, with emergence of a new application scenario, the technical solutions provided in embodiments of this application are also applicable to a similar technical problem.
  • In the specification, claims, and accompanying drawings of this application, terms "first", "second", and so on are intended to distinguish between similar objects but do not necessarily indicate a specific order or sequence. It should be understood that the descriptions termed in such a manner are interchangeable in proper cases, so that embodiments can be implemented in another order than the order illustrated or described in this application. Moreover, terms "include", "have" and any other variants are intended to cover the non-exclusive inclusion, for example, a process, method, system, product, or device that includes a series of steps or modules is not necessarily limited to those steps or modules, but may include other steps or modules not expressly listed or inherent to such a process, method, product, or device. Names or numbers of steps in this application do not mean that the steps in the method procedure need to be performed in a time/logical sequence indicated by the names or numbers. An execution order of the steps in the procedure that have been named or numbered can be changed based on a technical objective to be achieved, provided that same or similar technical effects can be achieved. Unit division in this application is logical division and may be other division during actual implementation. For example, a plurality of units may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the units may be implemented in electrical or other similar forms. This is not limited in this application. In addition, units or subunits described as separate parts may or may not be physically separate, may or may not be physical units, or may be distributed into a plurality of circuit units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of this application.
  • First, some concepts in embodiments of this application are described.
  • 1. Application layer traffic optimization (Application Layer Traffic Optimization, ALTO) protocol
  • The ALTO protocol (ALTO protocol) is a request/response (request/response) protocol in which a host is allowed to choose an optimal path from a server with more knowledge of a network to obtain resources. The ALTO protocol is based on the hypertext transfer protocol (Hypertext Transfer Protocol, HTTP). The ALTO protocol supports applications (applications) such as a peer-to-peer (peer-to-peer, P2P) application, a content delivery network (content delivery network, CDN) selection, and a mirror selection.
  • For ease of understanding, refer to FIG. 1. FIG. 1 is a diagram of a scenario of an ALTO protocol. This scenario includes an ALTO server (Server) and an ALTO client (Client). The ALTO protocol is used for information transfer between the ALTO server (Server) and the ALTO client (Client).
  • In the current ALTO protocol, transfer of a network performance parameter is supported. For example, the network performance parameter includes one or more of the following parameters: a one-way delay (one-way delay), a round-trip delay (round-trip delay), a delay variation (delay variation), a loss rate (loss rate), a residual bandwidth (residual bandwidth), an available bandwidth (available bandwidth), a transmission control protocol throughput (Transmission Control Protocol throughput, TCP throughput), or a hop count (hop count).
  • The ALTO server or the ALTO client may obtain the foregoing information through a plurality of channels, for example, a routing protocol (Routing Protocol) and a provisioning policy (provisioning policy).
  • For a specific manner of information transfer between the ALTO server (Server) and the ALTO client (Client) according to the ALTO protocol, refer to the Request For Comments (Request For Comments, RFC) Protocol 7285. Details are not described herein.
  • 2. Network service (network service, NS)
  • The network service in embodiments of this application includes but is not limited to a path service, a service function chain service, a network slicing service, a computing capability service, or the like. The following separately describes these network services.
  • Path service:
  • For example, the path service may be a segment routing (segment routing, SR) path service, a traffic engineering (traffic engineering, TE) tunnel path service, or the like. The path service is not limited in embodiments of this application.
  • Segment routing (segment routing, SR): The SR is a protocol designed based on source routing to forward a data packet in a network. In the SR, a network path is divided into segments and segment identifiers (segment ids, SID) are allocated to the segments and network devices. An SID list (SID List, also referred to as a label stack in SR-MPLS) may be obtained by sorting the SIDs in order. The SID list may indicate a forwarding path. An SR technology is used, so that a node and a path through which a data packet carrying the SID list passes can be specified, to meet a traffic optimization requirement. To make an analogy, the data packet may be compared to luggage, and the SR may be compared to a label attached to the luggage. If the luggage needs to be sent from a region A to a region D through a region B and a region C, a label "Go to the region B first, then to the region C, and finally to the region D" may be attached to the luggage in the origin region A. In this way, only the label on the luggage needs to be identified in each region, and the luggage may be forwarded from one region to another region based on the label of the luggage. In the SR technology, a headend adds a label to the data packet, and a transit node may forward the data packet to a next node based on the label until the data packet arrives at a destination node. For example, if <SID 1, SID 2, SID 3> is inserted into a packet header of the data packet, the data packet (packet) is first forwarded to a node corresponding to the SID 1, then forwarded to a node corresponding to the SID 2, and then forwarded to a node corresponding to the SID 3. The SR-MPLS is short for segment routing multi-protocol label switching (segment routing multi-protocol label switching).
  • Network slice:
  • The network slice is a logical network customized on a physical or virtual network infrastructure based on different service requirements. The network slice may be a complete end-to-end network that includes an access network, a transmission network, a core network, and an application server, can provide a complete communication service, and has a specific network capability. The network slice may alternatively be any combination of an access network, a transmission network, a core network, and an application server. Network slicing may be generally used in a 5th generation mobile communication technology (the 5th generation mobile communication, 5G) network. In the 5G network, a multi-purpose network may be implemented through network slicing, to meet requirements of service-level agreements (Service-level agreements, SLA) of different services. One network slice usually provides a type of network with same service requirement assurance. In such a network structure, an operator can provide a network for a user as a service, and can freely combine physical networks based on indicators such as a rate, a capacity, coverage, a delay, reliability, security, and availability, to meet requirements of different users.
  • Service function chain service:
  • A service function chain is a group of ordered service functions (Service Function, SF) that are usually required by an operator to provide network access for a user, including but not limited to a security service, packet filtering, load balancing, and transmission proxy. A group of ordered SFs through which user traffic passes is called a service function chain (service function chain, SFC). A service function chain is instantiated through a service function path (service function path, SFP) formed by selecting a specific SF on a specific network device. An example in which the service function chain service is the security service is used for description. The security service includes but is not limited to a firewall service, an access verification service, an anti-spoofing service, a tamper resistance service, or a security authentication service.
  • Computing capability service:
  • The computing capability service includes but is not limited to a computing service or a storage service. For example, the computing capability service is the computing service. The computing service includes but is not limited to a video decoding service, an image processing service, an image recognition service, a voice recognition service, a machine translation service, a gesture recognition service, a self-driving service, a route planning service, or the like.
  • Computing services provided by various network devices in a network may also be referred to as edge computing (edge computing) services, multi-access edge computing (multi-access edge computing) services, or mobile edge computing (mobile edge computing) services.
  • 3. Application-aware network (Application-aware Networking, APN)
  • Application (application) information (that is, APN information) is carried in a service packet and security and reliability of the application information is ensured. In this way, a network can aware applications and provide differentiated services for the applications based on requirements of the application, for example, refined network resource allocation, transmission path scheduling, or service-level agreement (service-level agreement, SLA) quality of service assurance.
  • In embodiments of this application, APN-related information is collectively referred to as APN information. In embodiments of this application, the APN information may be information (or a field) included in an APN Header (APN Header) field, or the APN information may be an APN Header field. This is not limited in embodiments of this application.
  • Specifically, in the internet engineering task force (the internet engineering task force, IETF) draft "draft-li-apn-header", the APN Header field is defined as follows: For ease of understanding, refer to FIG. 2. FIG. 2 is a diagram of an APN Header field. Specifically, the APN Header field includes an APN identifier type (APN-ID-Type) field, a Flags (Flags) field, an APN parameter type (APN-Para-Type) field, an APN identifier (APN-ID) field, an Intent (Intent) field, and an APN parameter (APN-Para) field. The Intent field is an optional field, and the APN parameter field is an optional field.
  • Specifically, a length of the APN-ID-Type field is 8 bits (bits), and the APN-ID-Type field is used to identify a type of an APN-ID (or APN ID).
  • A length of the Flags field is 8 bits.
  • A length of the APN-Para-Type field is 16 bits. The APN-Para-Type field indicates APN parameters (APN parameters) related to corresponding APN IDs. In a manner of setting bits, a specific requirement is reflected. When a bit 0 of the APN-Para-Type field is set (Bit 0 When set), it indicates that there is a bandwidth requirement. When a bit 1 of the APN-Para-Type field is set, it indicates that there is a delay requirement. When a bit 2 of the APN-Para-Type field is set, it indicates that there is a jitter requirement. When a bit 3 of the APN-Para-Type field is set, it indicates that there is a packet loss rate requirement.
  • Currently, the APN ID has three lengths: 32 bits, 64 bits, and 128 bits. The APN ID type separately indicates APN IDs of the three lengths: 32 bits (Type I), 64 bits (Type II) and 128 bits (Type III).
  • A length of the Intent field is 32 bits, and the Intent field indicates a service requirement for a network.
  • The APN-Para field includes a series of APN parameters (APN parameters), which are specified by the APN-Para-Type field. In the APN Header, the APN ID is a forcible carried field, and all fields following the APN ID are optional carried fields, such as the Intent field and the APN Parameters field.
  • For the APN identifier (APN ID) field, refer to FIG. 3. FIG. 3 is a diagram of an APN ID. The APN identifier field includes: an application group identifier (APP-Group-ID) field, used to indicate a group identifier corresponding to an application (Application); a user group identifier (USER-Group-ID) field, used to indicate a group identifier corresponding to a user (user); and a reserved (reserved) field. The APN ID field may include one or more fields (or information) in the APP-Group-ID field, the USER-Group-ID field, or the reserved field. For example, the APN ID field includes only the APP-Group-ID field or the USER-Group-ID field. For another example, the APN ID field includes the APP-Group-ID field and the USER-Group-ID field.
  • With development of communication technologies, operators support to provide virtualized network services for various service providers, for example, a cloud service provider, an application service provider, or another operator. The service providers provide various services, for example, a security service, a path service, or an edge computing service, for a user based on the network service. For ease of understanding, refer to FIG. 4a. FIG. 4a is a diagram of an operator-service provider system. An example in which the operator-service provider system includes an operator A, an operator B, an operator C, a service provider A, a service provider B, a service provider C, and a service provider D is used for description. It may be understood that the operator and the service provider in FIG. 4a is a system of the operator and a system of the service provider. The service provider A rolls out a network service A on the operator A and the operator B; the service provider B rolls out a network service B on the operator A and the operator C; the service provider C rolls out a network service C on the operator A and the operator B; and the service provider D rolls out a network service D on the operator A, the operator B, and the operator C.
  • It can be learned from FIG. 4a that a system of an operator needs to interconnect with systems of a plurality of service providers, and correspondingly a system of a service provider usually needs to interconnect with systems of a plurality of operators. Currently, network service interfaces between the operators and the service providers are not unified. Therefore, when the service provider needs to roll out a network service, the operator and the service provider need to respectively develop interfaces to transmit or configure the network service. This makes network service rollout more difficult and reduces timeliness of network service rollout.
  • Based on this, embodiments of this application provide an application layer traffic optimization ALTO protocol-based communication method. A network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty in exposing a network service by the operator, reduces difficulty of network service rollout, and improves timeliness of network service rollout.
  • The following describes a communication system scenario in embodiments of this application. Based on details about whether an ALTO server and/or an ALTO client are/is integrated with another device, reference may be respectively made to FIG. 4b and FIG. 4c, or FIG. 5.
  • For example, FIG. 4b is a diagram of a communication system scenario according to an embodiment of this application. A communication system includes: a network device (for example, nodes R1 to R3 in the figure), a terminal device, customer premises equipment (customer premises equipment, CPE), a network controller, an application server, an ALTO server, and an ALTO client. A first network includes but is not limited to the terminal device, the CPE, the network device, and the application server. First information is transferred between the ALTO server and the ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in the first network.
  • For example, FIG. 4c is a diagram of a communication system scenario according to an embodiment of this application. A communication system includes: a network device (for example, nodes R1 to R3 in the figure), a terminal device, customer premises equipment (customer premises equipment, CPE), a software-defined networking in a wide area network (software-defined networking in a wide area network, SD-WAN) controller, an application server, an ALTO server, and an ALTO client. It should be noted that the communication system scenarios shown in FIG. 4b and FIG. 4c are merely examples, and constitute no limitation on a communication system to which embodiments of this application are applicable. The communication system shown in FIG. 4b or FIG. 4c may further include more or fewer devices. The devices included in the communication system shown in FIG. 4b or FIG. 4c may alternatively be deployed or connected in another manner.
  • A network corresponding to the communication system scenario is referred to as the first network. For ease of description, devices that are associated with the ALTO client and that are in the first network are collectively referred to as first devices. For example, the first devices include the terminal device, the CPE, the network device, the application server, the SD-WAN controller, or another device (not shown in the figure).
  • The first information is transferred between the ALTO server and the ALTO client according to the ALTO protocol, where the first information indicates the one or more network services available in the first network.
  • The ALTO server and/or the ALTO client in the scenarios in FIG. 4b and FIG. 4c may be deployed in a cloud server, or a cloud service provided by the cloud server. The cloud server may be a server deployed on a cloud to implement a centralized service. The ALTO server and/or the ALTO client may alternatively be deployed in a computing device. The computing device in embodiments of this application may be a requirement device of a data stream. After obtaining the data stream, the computing device may display the data stream or perform corresponding processing. Alternatively, after obtaining the data stream, the computing device displays the data stream by using another device. Alternatively, after obtaining the data stream, the computing device displays a processed data stream by using another device after performing corresponding processing. This is not limited in this application. The computing device may be a server or a terminal device. An actual product form of the computing device is not limited in this application.
  • In another communication system scenario, the ALTO server may be integrated with another device, and the ALTO client may also be integrated with another device. For example, FIG. 5 is a diagram of a communication system scenario according to an embodiment of this application. The communication system includes a network device (for example, nodes R1 to R3 in the figure), a terminal device, CPE, an ALTO server (integrated with a network controller), and an ALTO client (integrated with an SD-WAN controller or an application server). The network controller may also be referred to as a network management system, and may perform management, operation, and maintenance, policy control, and the like on a network device in a first network. A specific function of the network controller is not limited in embodiments of this application.
  • It may be understood that the ALTO client may alternatively be integrated with a first device in the first network. For example, the ALTO client is integrated with the terminal device, or the ALTO client is integrated with the CPE. This is not limited in embodiments of this application.
  • In embodiments of this application, the application server is a server (or a server cluster) that runs or manages an application (application).
  • The network device in embodiments of this application may be a physical device like a router, a switch, or a gateway, or may be a virtual device that supports router advertisement and packet forwarding, or the like. This is not limited in embodiments of this application.
  • The terminal device in embodiments of this application includes but is not limited to a mobile phone, an Internet of Things device, a smart home device, an industrial control device, a vehicle device, an uncrewed aerial vehicle device, or the like. In embodiments of this application, the terminal device is various terminal devices or apparatuses having a wire communication function, for example, a mobile phone (which is also referred to as a "cellular" phone) and a computer having a mobile terminal, or may be a portable, pocket-sized, handheld, computer built-in, or vehicle-mounted mobile apparatus, which exchange language and/or data with a radio access network. For example, the terminal device is a device like a personal communication service (personal communication service, PCS) phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (wireless local loop, WLL) station, or a personal digital assistant (personal digital assistant, PDA). The terminal device may also be referred to as a system, a subscriber unit (subscriber Unit), a subscriber station (subscriber station), a mobile station (mobile station), a mobile (mobile) console, a remote station (remote station), an access point (access point), a remote terminal (remote terminal), an access terminal (access terminal), a user terminal (user terminal), a user agent (user agent), a user device (user device), or a user device (user device). The terminal device is, for example, a vehicle, a vehicle-mounted device, a vehicle-mounted module or unit, a flight device (including but not limited to an uncrewed aerial vehicle), an airborne device, an airborne module or unit, a drive test infrastructure device, a handheld device, a wearable device, a computing device, or another processing device connected to a wireless modem, for example, vehicle user equipment (vehicle user equipment, VUE) or air conditioner user equipment.
  • In embodiments of this application, the CPE includes but is not limited to a device like a terminal device, an optical network terminal (optical network terminal, ONT), a digital subscriber line modem (digital subscriber line modem, DSL Modem), a router, a network switch, a residential gateway, a set-top box, a fixed-mobile convergence product, a home network adapter, or an Internet access gateway. The CPE may enable a user to obtain a corresponding service through a nearby local area network (local area network, LAN).
  • In addition to devices shown in FIG. 4b and FIG. 4c and FIG. 5, the communication system in embodiments of this application may further include another device. This is not limited in embodiments of this application. For example, the communication system may include an edge computing device, where the edge computing device is a device configured to perform multi-access edge computing (Multi-access Edge Computing) or mobile edge computing (mobile edge computing). The edge computing device is similar to the computing device, and includes but is not limited to a mobile phone, an Internet of Things device, a smart home device, an industrial control device, a vehicle device, an uncrewed aerial vehicle device, or the like.
  • The following describes embodiments of this application with reference to the accompanying drawings. FIG. 6 is a diagram of an embodiment of an application layer traffic optimization ALTO protocol-based communication method according to an embodiment of this application. The application layer traffic optimization ALTO protocol-based communication method provided in this embodiment of this application includes the following steps.
  • 601: An ALTO server determines first information.
  • In this embodiment of this application, information indicating one or more network services available in a first network is referred to as the first information.
  • In step 601, the ALTO server may determine the first information in a plurality of manners. In a possible implementation, the ALTO server determines the first information based on preconfigured information. For example, the information preconfigured by the ALTO server includes the first information.
  • In another possible implementation, the ALTO server determines the first information based on related information of the first network. For example, first, the ALTO server determines, based on the related information of the first network, a network service available in the first network. Then, the ALTO server determines the first information.
  • First information:
  • In a specific implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • Specifically, a first device may obtain a corresponding network service based on identification information of the network service. For example, identification information of a network service may be a binding segment identifier (binding segment identifier, BSID). For example, if the first network provides a network service A, and identification information of a network service corresponding to the network service Ais "BSID-A", the first information includes "BSID-A". For another example, if the first network provides a network service A and a network service B, and the network service A and the network service B may be combined to provide services (for example, the network service A is a security service, and the network service B is an edge computing service), identification information of a network service is shown in Table 1. Table 1
    Identification information of a network service Network service
    BSID-A Network service A
    BSID-B Network service B
    BSID-C Network service A and network service B
  • Service capability information of a network service is related information that indicates (or represents) a service capability of the network service.
  • Further, the service capability information of a network service includes one or more of the following: type information of the network service, specification information of the network service, or quality of service (quality of service, QoS) information of the network service. The type information of the network service indicates a specific network service type of the network service. For example, the network service is a network slicing service, or the network service is a path service, or the network service is a security service, or the network service is a computing service. The specification information (or level information) of the network service indicates a related attribute of the network service, for example, high reliability, a large bandwidth, high security, a high SLA level, a low delay, or a specific specification parameter, for example, specification information of a computing capability service includes a maximum quantity of connections. The quality of service information of the network service includes but is not limited to: a hop count (hop count), a delay, a packet loss rate, or the like. For example, reliability is 99.999%, and a bandwidth is 10 Gbit (Gigabit)/second.
  • In another specific implementation, the first information includes application-aware networking APN information related to at least one network service in the one or more network services. In embodiments of this application, the APN information may be information (or a field) included in an APN Header (APN Header) field, or the APN information may be an APN Header field. This is not limited in embodiments of this application. For specific content of APN Header information, refer to FIG. 2.
  • The APN information is transferred in the first information, so that a service corresponding to the APN information automatically matches a network service in the first network. In this way, configuration difficulty is reduced and efficiency is improved. The service corresponding to the APN information may be an application (application) or another service. This is not limited in embodiments of this application.
  • Further, the APN information includes one or more of the following: APN ID information, intent information, or APN parameter information. The APN ID information includes USER-Group-ID information and/or APP-Group-ID information. The APN parameter information includes but is not limited to one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • Specifically, the APN information may include only the APN ID information, that is, the intent information and the APN parameter information are optional information. The APN ID information may include the USER-Group-ID information or the APP-Group-ID information, and the APN ID information may alternatively include both the USER-Group-ID information and the APP-Group-ID information.
  • Intent information: The intent information indicates requirement information that is about a network service and that is of an application (application) corresponding to the APN information. For example, the network service has one or more of the following attributes (or characteristics): high reliability, a large bandwidth, high security, a high SLA level, a low delay, or the like.
  • APN parameter information: For example, the network performance requirement information includes but is not limited to a bandwidth requirement, a delay requirement, a jitter requirement, and/or a packet loss rate requirement. The security service requirement information includes but is not limited to a firewall requirement, an access verification requirement, an anti-spoofing requirement, a tamper resistance requirement, or a security authentication requirement. The network service requirement information includes but is not limited to a path service requirement, a network slicing requirement, a service function chain requirement, or the like. The network service requirement information may further be requirement information for a specific network service, for example, a requirement for a network service A.
  • For example, the APN parameter information is in the APN Header field, and includes the following two parts: an APN-ID-Type (APN-ID-Type) field and an APN-Para field, where the APN-ID-Type (APN-ID-Type) field is an optional field. Specifically, a length of the APN-ID-Type field is 8 bits (bits), and the APN-ID-Type field is used to identify a type of an APN-ID (or APN ID).
  • A length of the APN-Para-Type field is 16 bits. The APN-Para-Type field indicates APN parameters (APN parameters) related to corresponding APN IDs. In a manner of setting bits, a specific requirement is reflected. When a bit 0 of the APN-Para-Type field is set (Bit 0 When set), it indicates that there is a bandwidth requirement. When a bit 1 of the APN-Para-Type field is set, it indicates that there is a delay requirement. When a bit 2 of the APN-Para-Type field is set, it indicates that there is a jitter requirement. When a bit 3 of the APN-Para-Type field is set, it indicates that there is a packet loss rate requirement.
  • The APN-Para field includes a series of APN parameters (APN parameters), which are specified by the APN-Para-Type field.
  • For example, the APN IDID information is in the APN Header field and includes the following field: an APN ID field; and the intent information is in the APN Header field and includes the following field: an Intent field.
  • In the APN Header field, the APN ID field is a forcible carried field, and all fields following the APN ID field are optional carried fields, such as an Intent field and an APN Parameters field.
  • In another specific implementation, the first information includes a correspondence between the one or more network services and APN information related to at least one network service in the one or more network services. For ease of description, the correspondence between the network service and the APN information related to the network service is referred to as a first correspondence in embodiments of this application. Based on the first correspondence, a first device in the first network can match a corresponding network service based on the APN information, to reduce difficulty in setting a network service. For example, the first correspondence is shown in Table 2. Table 2
    APN information Network service
    APN-A Network service A
    APN-B Network service B
    APN-C Network service A and network service B
  • Further, the first correspondence may be pre-configured in the first device in the first network. For example, the first correspondence may be pre-configured in an ALTO client. In this case, when the first information includes identification information of a network service, the ALTO client determines, based on the identification information of the network service and the first correspondence, a network service corresponding to the identification information of the network service (the identification information of the network service carried in the first information), and further determines APN information corresponding to the network service. The ALTO client sends the APN information to the first device. The first device determines, based on the APN information from the ALTO client and the preconfigured first correspondence, the network service that needs to be used. This reduces communication transmission overheads of each device in the first network.
  • It may be understood that the first information may include one or more of the foregoing information. For example, the first information includes the identification information of the network service and service capability information of the network service. For another example, the first information includes the APN information and the first correspondence. For another example, the first information includes the identification information of the network service, the service capability information of the network service, and the first correspondence. This is not limited in embodiments of this application. For example, as shown in Table 3: Table 3
    Network service Identification information of a network service Service capability information of a network service
    Network service D (path service: SID list-A) BSID-D Type information: path service
    Quality of service information: delay: 100 milliseconds; and bandwidth: 100 megabits per second
  • In Table 3, the identification information of the network service of the network service D is "BSID-D", a service type of the network service D is a path service, and there is a mapping relationship between the identification information "BSID-D" and a TE path SID list "SID list-A", where "BSID-D" corresponds to a path from a source SAP to a destination SAP. Specifically, the path crosses a plurality of autonomous system (autonomous system, AS) management domains, including: an AS 2, an AS 3, and an AS 4. The delay of the network service D is 100 milliseconds, and the bandwidth is 100 megabits per second.
  • In a specific implementation, the ALTO server obtains second information. The ALTO server may obtain the second information from all devices in the first network. When the ALTO server is integrated with a network controller, for example, the ALTO server is used as a functional module inside the network controller, the ALTO server obtains the second information by using the network controller. When the ALTO server and the network controller are independent of each other, the ALTO server sends a request to the network controller to obtain the second information; or the network controller actively reports the second information to the ALTO server after obtaining the second information.
  • The second information may be configured on the ALTO server. The second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network.
  • Details of the second information are as follows.
  • The topology information of the first network indicates various types of devices (or nodes) included in the first network and upstream and downstream relationships of the various types of devices (or nodes). The ALTO server may determine a topology relationship of the first network based on the topology information of the first network. Specifically, the topology information of the first network includes topology information including an ingress node (ingress node) and an egress node (egress node) in one or more domains (domain) included in the first network. For example, the first network is divided into a source domain (Source Domain), a transit domain (transit domain), and a destination domain (Destination Domain) based on a data transmission path (or a data forwarding path) from the terminal device to the application server. The topology information of the first network includes address information of a source service access point (source SAP) in the source domain, address information of an egress node in the source domain, address information of an ingress node in the transit domain, address information of an egress node in the transit domain, address information of an ingress node in the destination domain, and address information of a destination service access point (Destination SAP) in the destination domain.
  • The device information of the first device in the first network includes but is not limited to: a key performance indicator (key performance indicator, KPI) like a transmission delay or a bandwidth of the first device, a transmission protocol supported by the first device, a security function available in the first device, or the like.
  • The service function chain information of the first network is related service function chain information of a service function (Service Function, SF) available in the first network.
  • The computing capability information of the first network includes but is not limited to: a computing resource of the first device, a storage resource of the first device, an available computing resource of the first device, an available storage resource of the first device, a maximum quantity of connections supported by the first device, or the like.
  • After obtaining the second information, the ALTO server determines the first information based on the second information. Details are as follows.
  • In a possible implementation, the ALTO server determines, based on the second information, the one or more network services available in the first network; and then, the ALTO server determines, based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network. For example, the ALTO server determines, based on the second information, that the first network can provide a security-related network service A, a path service-related network service B, and an edge computing service-related network service C; and then, the ALTO server determines, based on the network service A, the first information corresponding to the network service A, determines, based on the network service B, the first information corresponding to the network service B, and determines, based on the network service C, the first information corresponding to the network service C.
  • In another possible implementation, after determining, based on the second information, the one or more network services available in the first network, the ALTO server determines a target network service based on the one or more network services available in the first network. Then, the ALTO server determines, based on the target network service, the first information corresponding to the target network service. Specifically, there may be a plurality of possible implementations to determine the target network service, and details are described in subsequent embodiments. Details are not described herein.
  • In another possible implementation, the ALTO server selects some or all information from the second information as the first information. When the second information includes the APN information of the first network, the ALTO server determines, from the second information, APN information allocated to the ALTO client. The APN information allocated to the ALTO client is used as the first information. It may be understood that, that the ALTO server "allocates" the APN information to the ALTO client may alternatively be understood as that the ALTO server "exposes", "transfers", or "synchronizes" the APN information to the ALTO client. For example, the ALTO server determines, from the second information, the APN information exposed to the ALTO client; or the ALTO server determines, from the second information, the APN information transferred for the ALTO client; or the ALTO server determines, from the second information, the APN information synchronized for the ALTO client.
  • In another possible implementation, the ALTO server may further allocate, to the ALTO client, a correspondence between the APN information of the first network and the one or more network services provided in the first network. For example, the second information includes the correspondence between the APN information of the first network and the one or more network services provided in the first network. For ease of description, the correspondence between the APN information of the first network and the one or more network services provided in the first network is referred to as a first correspondence in this embodiment of this application. The ALTO server obtains the first correspondence (that is, the ALTO server obtains some or all of the first correspondences from the second information), and then, the ALTO server uses the first correspondence as the first information.
  • Further, the ALTO server may perform step 601 in response to a request of the ALTO client. For example, if the ALTO client needs to allocate a network service to the first device, the ALTO client sends a request to the ALTO server. The ALTO server obtains the first information in response to the request.
  • Alternatively, the ALTO server may perform step 601 in response to a request of the first device in the first network. For example, if the first device in the first network needs to use a network service, the first device sends a request to the ALTO server. The ALTO server obtains the first information in response to the request.
  • 602: The ALTO server sends the first information to the ALTO client according to the ALTO protocol, where the first information indicates the one or more network services available in the first network.
  • In step 602, the ALTO server sends the first information to the ALTO client according to the ALTO protocol, where the first information indicates the one or more network services available in the first network. The first network is a network that is currently managed or covered by the ALTO server. Devices in the first network, such as a terminal device, CPE, a network device, an application server, an SD-WAN controller, or another device, are collectively referred to as the first device.
  • The network service in embodiments of this application includes but is not limited to a path service, a service function chain service, a network slicing service, a computing capability service, or the like. For example, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • In a possible implementation, the ALTO server provides one or more northbound interfaces (northbound interfaces, NBI) to implement that the ALTO server sends the first information to the ALTO client according to the ALTO protocol.
  • 603: The ALTO client sends the first information to the first device.
  • In step 603, the ALTO client may send the first information from the ALTO server to the first device. Descriptions are separately provided for different scenarios. When the ALTO client is integrated with the SD-WAN controller or the ALTO client is integrated with the application server, the ALTO client is used as a functional module inside the SD-WAN controller (or the application server), the SD-WAN controller is used as the first device associated with the ALTO, and the ALTO client sends the first information to the SD-WAN controller.
  • When the ALTO client is independent of the SD-WAN controller or the ALTO client is independent of the application server, the SD-WAN controller is used as the first device associated with the ALTO, the ALTO client sends the first information to the SD-WAN controller, and the SD-WAN controller (or the application server) obtains the first information from the ALTO client.
  • In a possible implementation, after the SD-WAN controller (or the application server) obtains the first information through the ALTO client, one CPE managed by the SD-WAN controller is used as the first device, and the SD-WAN controller sends the first information to the first device. For example, the SD-WAN controller sends the first information to the CPE in the first network; and the application server sends the first information to the terminal device in the first network.
  • Alternatively, the ALTO client determines, based on the first information from the ALTO server, the one or more network services corresponding to the first information from the ALTO server. Then, the ALTO client determines the target network service based on the one or more network services. Then, the ALTO client determines, based on the target network service, the first information corresponding to the target network service. The ALTO client sends, to the first device, the first information corresponding to the target network service.
  • 604: The first device determines the target network service based on the first information.
  • In step 604, after the first device obtains the first information, the first device determines the target network service based on the first information. Then, the first device enters the target network service (or the first device uses the target network service).
  • In a possible implementation, the application server (or the SD-WAN controller) is used as the first device, and after obtaining the first information sent by the ALTO client, the application server (or the SD-WAN controller) determines the target network service based on the first information. In other words, the application server (or the SD-WAN controller) is used as the first device. The first device determines the target network service based on the first information.
  • In another possible implementation, after the SD-WAN controller (or the application server) obtains the first information through the ALTO client, one CPE managed by the SD-WAN controller is used as the first device, and the SD-WAN controller sends the first information to the first device. For example, the SD-WAN controller sends the first information to the CPE in the first network; and the application server sends the first information to the terminal device in the first network. Then, the first device determines the target network service based on the first information.
  • Alternatively, the first device determines identification information of the target network service (or APN information corresponding to the target network service), and the first device adds the identification information of the target network service (or the APN information corresponding to the target network service) to a target service packet, where the target service packet is related to an application (or a service) that uses the target network service.
  • Alternatively, the first information includes a correspondence between the one or more network services and the APN information related to at least one network service in the one or more network services, and the first device determines the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services. Specifically, when the first information corresponds to the one or more network services, the first device determines the one or more network services based on the first information. Then, the first device determines the target network service based on the one or more network services. For example, when the first information includes the first correspondence, the first device determines the one or more network services based on the first correspondence, and then selects the target network service. The first device determines, based on the first correspondence, APN information corresponding to the target network service. In this way, the first device can actively select and determine the target network service. This improves implementation flexibility.
  • Alternatively, the first information includes APN information, and the first correspondence is preconfigured in the first device. The first device determines the target network service based on the first information (APN information) and the first correspondence.
  • For example, when the first information is the APN information, the first device determines, based on the APN information and the first correspondence (the first correspondence may be preconfigured in the first device), a network service corresponding to the APN information. Then, the first device encapsulates the APN information (for example, APN ID information) into a packet header of a target service packet, to indicate the target service packet to obtain, in the first network, the network service corresponding to the APN information. For example, the target service packet is mapped to a TE path or a network slice corresponding to the network service. In the foregoing method, the network service is automatically matched based on the APN information.
  • For another example, when the first information is a BSID, the first device determines, based on the BSID, that the corresponding network service is the target network service. Then, the first device encapsulates the BSID (identification information of the network service) into a packet header of a target service packet. The packet header of the target service packet may be an Internet Protocol version 6 (Internet Protocol version 6, IPv6) packet header of the target service packet. A specific location at which the BSID information is encapsulated may be a hop-by-hop options header, a segment routing header, or the like of the IPv6 packet header. This is not limited in embodiments of this application.
  • It should be noted that the first information may alternatively be encapsulated into another location of the target service packet. This is not limited in embodiments of this application.
  • For example, after receiving the target service packet, a device in the first network executes, based on the identification information of the network service (the identification information of the target network service) carried in the target service packet, a policy corresponding to the target network service. The policy includes but is not limited to one or more of the following: entering a path (for example, an SR path or a TE path) corresponding to the target network service, driving in-situ flow information telemetry (in-situ flow information telemetry, iFIT) performance detection, entering a security service function chain (also referred to as a security pool service) corresponding to the target network service, or entering the edge computing service.
  • In embodiments of this application, a network service allocation (or network service exposure) interface is provided according to the ALTO protocol. This improves efficiency of system interconnection between an operator and a service provider, reduces difficulty of network service rollout, and improves timeliness of network service rollout.
  • With reference to the foregoing embodiments, the following describes how to determine the target network service with reference to the accompanying drawings.
  • For example, FIG. 7 is a schematic flowchart of determining a target network service according to an embodiment of this application. Details are as follows.
  • S1: An ALTO server sends a first message to an ALTO client, where the first message indicates one or more network services available in a first network. For example, the first message includes identification information of a plurality of network services, and the plurality of network services belong to the network services available in the first network.
  • S2: The ALTO client sends a second message to the ALTO server, where the second message indicates a target network service. Specifically, after receiving the first message, the ALTO client determines the one or more network services available in the first network. Then, the ALTO client selects one or more network services, as the target network service, from the one or more network services available in the first network. Then, the ALTO client sends the second message to the ALTO server. For example, the second message includes identification information of the target network service.
  • After step S2, the ALTO server determines, based on the target network service, first information corresponding to the target network service. The ALTO server sends, according to an ALTO protocol to the ALTO client, the first information corresponding to the target network service.
  • For another example, FIG. 8 is another schematic flowchart of determining a target network service according to an embodiment of this application. Details are as follows.
    • G1: An ALTO server sends first information to an ALTO client.
    • G2: The ALTO client determines a target network service based on the first information from the ALTO server. Then, the ALTO client determines information corresponding to the target network service. For subsequent steps, refer to step 603 and step 604 in the foregoing embodiment.
  • For another example, FIG. 9 is another schematic flowchart of determining a target network service according to an embodiment of this application. Details are as follows.
  • D1: An ALTO client sends a third message to an ALTO server, where the third message is used to subscribe to a target network service.
  • For example, the ALTO client sends the third message to the ALTO server based on a request of an application server (or an SD-WAN controller, or another first device in a first network). The third message may carry expected information of the target network service. For example, the expected information includes expecting that the obtained target network service belongs to a security service function chain, or that the obtained target network service belongs to network slicing, and a bandwidth of a network slice is greater than 100 mbps, or that the obtained target network service is a storage service, and an available storage resource of the storage service is greater than 500 Gbytes.
  • For another example, the third message carries identification information of a network service to which needs to be subscribed.
  • D2: The ALTO server determines the target network service based on the third message.
  • Specifically, the ALTO server determines, based on the third message, the target network service from one or more network services available in a first network.
  • For example, when the third message carries expected information of the target network service, a network service that matches the third message is determined as the target network service.
  • For another example, when the third message carries identification information of a network service to which needs to be subscribed, and one or more network services available in a first network include the target network service, the ALTO server determines, based on the third message, the target network service from the one or more network services available in the first network. For subsequent steps, refer to step 603 and step 604 in the foregoing embodiment.
  • For another example, FIG. 10 is another schematic flowchart of determining a target network service according to an embodiment of this application. Details are as follows.
  • F1: An ALTO server sends a fourth message to a first device, where the fourth message indicates a network service available in a first network.
  • For example, the fourth message includes identification information of a plurality of network services, and the plurality of network services belong to network services available in the first network.
  • F2: The first device sends a fifth message to the ALTO server, where the fifth message indicates a target network service.
  • Specifically, after receiving the fourth message, the first device determines one or more network services available in the first network. Then, the first device selects one or more network services, as the target network service, from the one or more network services available in the first network. Then, the first device sends the fifth message to the ALTO server. For example, the fifth message includes identification information of the target network service.
  • After step F2, the ALTO server determines, based on the target network service, first information corresponding to the target network service. The ALTO server sends, according to an ALTO protocol to an ALTO client, the first information corresponding to the target network service.
  • The following describes some application scenarios in this application with reference to the foregoing embodiments.
  • FIG. 11 is a diagram of an application scenario according to an embodiment of this application.
  • Q1: A network controller obtains second information from a first network, and sends the second information to an ALTO server.
  • Q2: The ALTO server determines first information based on the second information, and then sends the first information to an ALTO client according to an ALTO protocol.
  • Q3: The ALTO client sends the first information to an application server or an SD-WAN controller.
  • Q4: The application server determines a target network service based on the first information, and then uses the target network service. Alternatively, the SD-WAN controller sends the first information to a first device in the first network. In this way, the first device determines the target network service based on the first information.
  • FIG. 12 is a diagram of an application scenario according to an embodiment of this application. A target network service corresponding to the application scenario is a path service. A path indicated by the target network service is: an ingress node-a transit node a-a transit node d-a transit node e-an egress node.
  • First, an ALTO server determines, by using a network controller, one or more network services available in a first network. Then, the ALTO server allocates the target network service to an application A based on the one or more network services available in the first network.
  • Then, the ALTO server determines first information corresponding to the target network service. The ALTO server sends, according to an ALTO protocol to an ALTO client, the first information corresponding to the target network service.
  • Then, an application server obtains, through the ALTO client, the first information corresponding to the target network service. The application server encapsulates identification information of the target network service into a related packet of the application A. After the application A uses the target network service, the related packet of the application A carries the identification information of the target network service. After entering a network shown in FIG. 12, the related packet of the application A is forwarded along the path indicated by the target network service.
  • FIG. 13a is a diagram of an application scenario according to an embodiment of this application. A target network service corresponding to the application scenario is a service function chain service.
  • First, an ALTO server determines, by using a network controller, one or more network services available in a first network. Then, the ALTO server allocates the target network service to an application B based on the one or more network services available in the first network.
  • Then, the ALTO server determines first information corresponding to the target network service. The ALTO server sends, according to an ALTO protocol to an ALTO client, the first information corresponding to the target network service.
  • Then, an application server obtains, through the ALTO client, the first information corresponding to the target network service. The application server encapsulates identification information of the target network service into a related packet of the application B. After the application B uses the target network service, the related packet of the application B carries the identification information of the target network service. After the related packet of the application B enters a network shown in FIG. 13a, the packet is forwarded along a path indicated by the target network service, and enters a service function chain D at a transit node g. Then, related processing of the service function chain D is performed. For example, filtering is first performed by using a firewall, then charging processing is completed on an accounting server, and finally edge computing processing is performed on an edge computing server. After the foregoing processing is completed, the related packet (including a processing result of the edge computing server) of the application B is forwarded to an egress node through the transit node g.
  • FIG. 13b is a diagram of an application scenario according to an embodiment of this application. A target network service corresponding to the application scenario is an edge computing service.
  • First, an ALTO server determines, by using a network controller, one or more network services available in a first network. Then, the ALTO server allocates the target network service to an application C based on the one or more network services available in the first network.
  • Then, the ALTO server determines first information corresponding to the target network service. The ALTO server sends, according to an ALTO protocol to an ALTO client, the first information corresponding to the target network service.
  • Then, an application server obtains, through the ALTO client, the first information corresponding to the target network service. The application server encapsulates identification information of the target network service into a related packet of the application C. After the application C uses the target network service, the related packet of the application C carries the identification information of the target network service. After the related packet of the application C enters a network shown in FIG. 13b, the packet is forwarded along a path indicated by the target network service, and enters an edge computing device cluster at a transit node g. Then, related processing of edge computing is performed. For example, the related packet of the application C carries a video source file, and after the edge computing device cluster is entered at the transit node g, an "H.265-HEVC" algorithm is used to perform video encoding. After the foregoing processing is completed, the related packet (including a processing result of edge computing, for example, a file on which video encoding is performed) of the application C is forwarded to an egress node through the transit node g.
  • The foregoing mainly describes the solutions provided in embodiments of this application from a perspective of methods. It may be understood that, to implement the foregoing functions, a communication apparatus includes corresponding hardware structures and/or software modules for performing the functions. A person of ordinary skill in the art should easily be aware that, in combination with modules, algorithms and steps of the examples described in embodiments disclosed in this specification, this application may be implemented by hardware or a combination of hardware and computer software. Whether a function is performed by hardware or hardware driven by computer software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
  • FIG. 14 is a diagram of a hardware structure of a communication apparatus according to an embodiment of this application. As shown in FIG. 14, the communication apparatus may include the following content.
  • The communication apparatus includes at least one processor 1401, a communication line 1407, a memory 1403, and at least one communication interface 1404.
  • The processor 1401 may be a general-purpose central processing unit (central processing unit, CPU), a microprocessor, an application-specific integrated circuit (application-specific integrated circuit, server side IC), or one or more integrated circuits configured to control program execution in the solutions of this application.
  • The communication line 1407 may include a path for information transmission between the foregoing components.
  • The communication interface 1404 is configured to communicate, by using any transceiver-type apparatus, with another apparatus or a communication network, for example, the Ethernet.
  • The memory 1403 may be a read-only memory (read-only memory, ROM), another type of static storage apparatus that can store static information and instructions, a random access memory (random access memory, RAM), or another type of dynamic storage apparatus that can store information and instructions. The memory may exist independently, and is connected to the processor through the communication line 1407. The memory may alternatively be integrated with the processor.
  • The memory 1403 is configured to store computer-executable instructions for executing the solutions of this application, and the processor 1401 controls execution. The processor 1401 is configured to execute the computer-executable instructions stored in the memory 1403, to implement the application layer traffic optimization ALTO protocol-based communication method provided in the foregoing embodiments of this application.
  • Optionally, the computer-executable instructions in embodiments of this application may also be referred to as application code. This is not specifically limited in embodiments of this application.
  • In a specific implementation, in an embodiment, the communication apparatus may include a plurality of processors, such as the processor 1401 and a processor 1402 in FIG. 14. Each of the processors may be a single-core (single-CPU) processor, or may be a multi-core (multi-CPU) processor. The processor herein may be one or more apparatuses, circuits, and/or processing cores configured to process data (such as computer program instructions).
  • In a specific implementation, in an embodiment, the communication apparatus may further include an output apparatus 1405 and an input apparatus 1406. The output apparatus 1405 communicates with the processor 1401, and may display information in a plurality of manners. The input apparatus 1406 communicates with the processor 1401, and may receive an input of a user in a plurality of manners. For example, the input apparatus 1406 may be a mouse, a touchscreen apparatus, or a sensing apparatus.
  • When the communication apparatus is a terminal device, in the communication apparatus, the processor 1402 may include one or more processing units. For example, the processor 1402 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural-network processing unit (neural-network processing unit, NPU). Different processing units may be independent components, or may be integrated into one or more processors.
  • The controller may be a nerve center and a command center of the communication apparatus 1400. The controller may generate an operation control signal based on instruction operation code and a time sequence signal, to complete control of instruction reading and instruction execution.
  • A memory may be further disposed in the processor 1402, and is configured to store instructions and data. In some embodiments, the memory in the processor 1402 is a cache. The memory may store instructions or data just used or cyclically used by the processor 1402. If the processor 1402 needs to use the instructions or the data again, the processor 1402 may directly invoke the instructions or the data from the memory. This avoids repeated access, reduces waiting time of the processor 1402, and improves system efficiency.
  • In some embodiments, the processor 1402 may include one or more interfaces. The interface may include an inter-integrated circuit (inter-integrated circuit, I1C) interface, an inter-integrated circuit sound (inter-integrated circuit sound, I1S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver/transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (general-purpose input/output, GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, a universal serial bus (universal serial bus, USB) port, and/or the like.
  • It may be understood that, an interface connection relationship between the modules shown in this embodiment of this application is merely an example for description, and does not constitute a limitation on the structure of the communication apparatus 1400. In some other embodiments of this application, the communication apparatus 1400 may alternatively use an interface connection mode different from an interface connection mode in the foregoing embodiment, or a combination of a plurality of interface connection modes.
  • A wireless communication function of the communication apparatus 1400 may be implemented through an antenna 1, an antenna 2, a mobile communication module, a wireless communication module, a modem processor, a baseband processor, and the like.
  • In some feasible implementations, the communication apparatus 1400 may communicate with another device by using the wireless communication function.
  • The antenna 1 and the antenna 2 are configured to: transmit and receive electromagnetic wave signals. Each antenna in the communication apparatus 1400 may be configured to cover one or more communication frequency bands. Different antennas may be further multiplexed, to improve antenna utilization. For example, the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In some other embodiments, the antenna may be used in combination with a tuning switch.
  • The mobile communication module may provide a wireless communication solution that includes 1G/3G/4G/5G or the like and that is applied to the communication apparatus 1400. The mobile communication module may include at least one filter, a switch, a power amplifier, a low noise amplifier (low noise amplifier, LNA), and the like. The mobile communication module may receive an electromagnetic wave through the antenna 1, perform processing such as filtering or amplification on the received electromagnetic wave, and transmit a processed electromagnetic wave to the modem processor for demodulation. The mobile communication module may further amplify a signal modulated by the modem processor, and convert an amplified signal into an electromagnetic wave for radiation through the antenna 2. In some embodiments, at least some functional modules of the mobile communication module may be disposed in the processor 1402. In some embodiments, at least some functional modules of the mobile communication module may be disposed in a same device as at least some modules of the processor 1402.
  • The modem processor may include a modulator and a demodulator. The modulator is configured to modulate a to-be-sent low-frequency baseband signal into a medium-high frequency signal. The demodulator is configured to demodulate a received electromagnetic wave signal into a low-frequency baseband signal. Then, the demodulator transmits the low-frequency baseband signal obtained through demodulation to the baseband processor for processing. The low-frequency baseband signal is processed by the baseband processor and then transferred to the application processor. The application processor outputs a sound signal through an audio device (which is not limited to a speaker, a receiver, or the like), or displays an image or a video on a display. In some embodiments, the modem processor may be an independent component. In some other embodiments, the modem processor may be independent of the processor 1402, and is disposed in a same device as the mobile communication module or another functional module.
  • The communication apparatus 1400 may implement a display function by using the GPU, the display, the application processor, and the like. The GPU is a microprocessor for image processing, and connects the display and the application processor. The GPU is configured to: perform mathematical and geometric computation, and render an image. The processor 1402 may include one or more GPUs, which execute program instructions to generate or change display information.
  • An external memory interface may be used to connect to an external storage card, for example, a Micro SD card, to extend a storage capability of the communication apparatus 1400. The external storage card communicates with the processor 1402 through the external memory interface, to implement a data storage function. For example, files such as music and videos are stored in the external storage card.
  • An internal memory may be configured to store computer-executable program code. The executable program code includes instructions. The processor 1402 runs the instructions stored in the internal memory, to perform data processing and various function applications of the communication apparatus 1400. The internal memory may include a program storage area and a data storage area. The program storage area may store an operating system, an application required by at least one function (for example, a voice playing function or an image playing function), and the like. The data storage area may store data (for example, audio data and contacts) and the like created when the communication apparatus 1400 is used. In addition, the internal memory may include a high-speed random access memory, or may include a nonvolatile memory, for example, at least one magnetic disk storage device, a flash memory device, or a universal flash storage (universal flash storage, UFS).
  • The communication apparatus may be a general-purpose apparatus or a dedicated apparatus. In a specific implementation, the communication apparatus may be a desktop computer, a portable computer, a network server side, a wireless terminal apparatus, an embedded apparatus, or an apparatus having a structure similar to that in FIG. 14. A type of the communication apparatus is not limited in embodiments of this application. The communication apparatus may be a cloud server side, or may be a terminal device. This is not limited herein.
  • It may be understood that, the structures shown in embodiments of this application do not constitute a specific limitation on the communication apparatus 1400. In some other embodiments of this application, the communication apparatus 1400 may include more or fewer components than those shown in the figure, or a combination of a part of the components, or splits from a part of the components, or an arrangement of different components. The components shown in the figure may be implemented by hardware, software, or a combination of software and hardware.
  • In embodiments of this application, the communication apparatus (including a server side and a client) may be divided into functional modules based on the foregoing method examples. For example, each functional module may be obtained through division based on each corresponding function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in a form of hardware, or may be implemented in a form of software functional module. It should be noted that, in embodiments of this application, module division is an example, and is merely a logical function division. In an actual implementation, another division manner may be used.
  • The following describes in detail a communication apparatus in this application. FIG. 15 is a diagram of an embodiment of a communication apparatus 1500 according to an embodiment of this application.
  • In a possible implementation, the communication apparatus 1500 is used as an ALTO server, and the communication apparatus 1500 includes:
    a transceiver module 1501, configured to send first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a processing module 1502 is configured to determine the first information.
  • In a possible implementation, the transceiver module 1501 is further configured to obtain second information, where the second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network; and
    the processing module 1502 is further configured to determine the first information based on the second information.
  • In a possible implementation,
    • the processing module 1502 is further configured to determine, based on the second information, the one or more network services available in the first network; and
    • the processing module 1502 is further configured to determine, based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network.
  • In a possible implementation,
    the processing module 1502 is further configured to: determine, from the second information, APN information allocated to the ALTO client, and use the APN information as the first information.
  • In a possible implementation,
    • the transceiver module 1501 is further configured to obtain a first correspondence, where the first correspondence indicates a correspondence between the APN information of the first network and the one or more network services; and
    • the processing module 1502 is further configured to use the first correspondence as the first information.
  • In a possible implementation,
    • the processing module 1502 is further configured to determine a target network service based on the one or more network services available in the first network; and
    • the processing module 1502 is further configured to determine, based on the target network service, the first information corresponding to the target network service.
  • In a possible implementation,
    • the transceiver module 1501 is further configured to send a first message to the ALTO client, where the first message indicates the one or more network services available in the first network; and
    • the transceiver module 1501 is further configured to receive a second message from the ALTO client, where the second message indicates the target network service.
  • In a possible implementation,
    • the transceiver module 1501 is further configured to receive a third message from the ALTO client, where the third message is used to subscribe to the target network service; and
    • the processing module 1502 is further configured to determine, based on the third message, the target network service from the one or more network services available in the first network.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • In a possible implementation, the communication apparatus 1500 is used as an ALTO client, and the communication apparatus 1500 includes:
    • a transceiver module 1501, configured to receive first information from an ALTO server according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services; and
    • the transceiver module 1501 is further configured to send the first information to the first device.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, when the ALTO client and the first device belong to a same device,
    a processing module 1502 is configured to determine a target network service based on the first information.
  • In a possible implementation, the first information includes the APN information related to the at least one network service in the one or more network services, and
    the processing module 1502 is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and
    the processing module 1502 is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • In a possible implementation, the communication apparatus 1500 is used as a first device, and the communication apparatus 1500 includes:
    • a transceiver module 1501, configured to receive first information sent by an ALTO client, where the first information indicates one or more network services available in a first network, and the first information is used by the first device to obtain the one or more network services; and
    • a processing module 1502, configured to determine a target network service based on the first information.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services, and
    the processing module 1502 is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and
    the processing module 1502 is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • FIG. 16 is a diagram of an embodiment of a communication apparatus 1600 according to an embodiment of this application. The communication apparatus 1600 includes a memory and a processor. The memory includes instructions, and the processor is configured to perform any implementation shown in the foregoing method embodiments.
  • In a possible implementation, the communication apparatus 1600 is used as an ALTO server, the communication apparatus 1600 includes a memory 1601 and a processor 1602, and the memory includes instructions.
  • The processor is configured to perform any implementation shown in the foregoing method embodiments.
  • In a possible implementation, for example, the processor 1602 is configured to send first information to an ALTO client according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the processor 1602 is further configured to determine the first information.
  • In a possible implementation, the processor 1602 is further configured to obtain second information, where the second information includes one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network; and
    the processor 1602 is further configured to determine the first information based on the second information.
  • In a possible implementation,
    • the processor 1602 is further configured to determine, based on the second information, the one or more network services available in the first network; and
    • the processor 1602 is further configured to determine, based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network.
  • In a possible implementation,
    the processor 1602 is further configured to: determine, from the second information, APN information allocated to the ALTO client, and use the APN information as the first information.
  • In a possible implementation,
    • the processor 1602 is further configured to obtain a first correspondence, where the first correspondence indicates a correspondence between the APN information of the first network and the one or more network services; and
    • the processor 1602 is further configured to use the first correspondence as the first information.
  • In a possible implementation,
    • the processor 1602 is further configured to determine a target network service based on the one or more network services available in the first network; and
    • the processor 1602 is further configured to determine, based on the target network service, the first information corresponding to the target network service.
  • In a possible implementation,
    • the processor 1602 is further configured to send a first message to the ALTO client, where the first message indicates the one or more network services available in the first network; and
    • the processor 1602 is further configured to receive a second message from the ALTO client, where the second message indicates the target network service.
  • In a possible implementation,
    • the processor 1602 is further configured to receive a third message from the ALTO client, where the third message is used to subscribe to the target network service; and
    • the processor 1602 is further configured to determine, based on the third message, the target network service from the one or more network services available in the first network.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • In a possible implementation, the communication apparatus 1600 is used as an ALTO client, and the communication apparatus 1600 includes:
    • a processor 1602, configured to receive first information from an ALTO server according to an ALTO protocol, where the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services; and
    • the processor 1602 is further configured to send the first information to the first device.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, when the ALTO client and the first device belong to a same device,
    the processor 1602 is configured to determine a target network service based on the first information.
  • In a possible implementation, the first information includes the APN information related to the at least one network service in the one or more network services, and
    the processor 1602 is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and
    the processor 1602 is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • In a possible implementation, the communication apparatus 1600 is used as a first device, and the communication apparatus 1600 includes:
    • a processor 1602, configured to receive first information sent by an ALTO client, where the first information indicates one or more network services available in a first network, and the first information is used by the first device to obtain the one or more network services; and
    • the processor 1602 is configured to determine a target network service based on the first information.
  • In a possible implementation, the first information includes identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  • In a possible implementation, the service capability information of the at least one network service in the one or more network services includes one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  • In a possible implementation, the first information includes application-aware networking APN information related to the at least one network service in the one or more network services, and
    the processor 1602 is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, the APN information includes one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information includes user group identifier information and/or application group identifier information, and the APN parameter information includes one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  • In a possible implementation, the first information includes the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and
    the processor 1602 is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  • In a possible implementation, a type of any one of the one or more network services includes a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  • It should be noted that the communication apparatus mentioned in embodiments of this application may be, for example, a network device like a switch or a router, may be some components of a network device, for example, a board or a line card of the network device, may be a functional module of the network device, or may be a chip configured to implement the methods in this application. This is not specifically limited in embodiments of this application. When the communication apparatus is a chip, the transceiver module configured to implement the method may be, for example, an interface circuit of the chip, and the processing module may be a processing circuit having a processing function in the chip. Communication apparatuses may be directly connected, for example, but not limited to, through an Ethernet cable or an optical cable.
  • In some possible embodiments, the foregoing communication apparatus (for example, an ALTO server, an ALTO client, and/or a first device) may be implemented as a virtualized device. The virtualization device may be a virtual machine (virtual machine, VM), a virtual router, or a virtual switch that runs a program for sending a packet. The virtualization device is deployed on a hardware device (for example, a physical server). For example, the ALTO server may be implemented based on a general-purpose physical server with reference to a network functions virtualization (network functions virtualization, NFV) technology.
  • It should be understood that the communication apparatuses in the foregoing product forms respectively have any function of the ALTO server, the ALTO client, and/or the first device in the foregoing method embodiments. Details are not described herein again.
  • An embodiment of this application further provides a communication apparatus. The communication apparatus includes: a communication interface; and
    a processor connected to the communication interface. Based on the communication interface and the processor, the following is implemented.
  • In a possible implementation, the communication apparatus is used for the ALTO server, so that the communication apparatus performs the methods in embodiments shown in FIG. 6 to FIG. 13b.
  • In another possible implementation, the communication apparatus is used for the ALTO client, so that the communication apparatus performs the methods in embodiments shown in FIG. 6 to FIG. 13b.
  • In another possible implementation, the communication apparatus is used for the first device, so that the communication apparatus performs the methods in embodiments shown in FIG. 6 to FIG. 13b.
  • An embodiment of this application further provides a communication system. The communication system includes the ALTO client and the ALTO server in the foregoing embodiments. The communication system is configured to perform any implementation shown in the foregoing method embodiments.
  • An embodiment of this application further provides a communication system. The communication system includes the ALTO client, the ALTO server, and the first device in the foregoing embodiments. The communication system is configured to perform any implementation shown in the foregoing method embodiments.
  • An embodiment of this application further provides a computer program product. The computer program product includes computer program code. When the computer program code is run on a computer, the computer is enabled to perform any implementation described in the foregoing method embodiments.
  • An embodiment of this application further provides a chip system, including a memory and a processor. The memory is configured to store a computer program, and the processor is configured to invoke the computer program from the memory and run the computer program, to enable a chip to perform any implementation described in the foregoing method embodiments.
  • An embodiment of this application further provides a chip system, including a processor. The processor is configured to invoke and run a computer program, to enable a chip to perform any implementation described in the foregoing method embodiments.
  • In addition, it should be noted that the apparatus embodiments described above are merely examples. The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, may be located at one position, or may be distributed on a plurality of network units. Some or all of the modules may be selected based on actual requirements to achieve the objectives of the solutions of embodiments. In addition, in the accompanying drawings of the apparatus embodiments provided by this application, connection relationships between the modules indicate that the modules have communication connections with each other, which may be specifically implemented as one or more communication buses or signal cables.
  • Based on the descriptions of the foregoing implementations, a person skilled in the art may clearly understand that this application may be implemented by software in combination with necessary universal hardware, or by dedicated hardware, including a dedicated integrated circuit, a dedicated CPU, a dedicated memory, a dedicated component, and the like. Generally, any functions that can be performed by a computer program can be easily implemented by using corresponding hardware. Moreover, a specific hardware structure used to achieve a same function may be in various forms, for example, in a form of analog circuit, digital circuit, or dedicated circuit. However, as for this application, a software program implementation is a better implementation in most cases. Based on such an understanding, the technical solutions of this application essentially or the part contributing to the conventional technology may be implemented in a form of software product. The computer software product is stored in a readable storage medium like a floppy disk, a USB flash drive, a removable hard disk drive, a ROM, a RAM, a magnetic disk, or an optical disc of a computer, and includes several instructions for instructing a computer device to perform the methods described in embodiments of this application.
  • All or a part of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When software is used to implement embodiments, all or a part of embodiments may be implemented in a form of computer program product.
  • The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or some of the procedures or functions according to embodiments of this application are generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, network apparatus, computing device, or data center to another website, computer, network apparatus, computing device, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, for example, a data center or a network apparatus, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk drive, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a solid state disk (solid state disk, SSD)), or the like.
  • It should be understood that "one embodiment" or "an embodiment" mentioned in the entire specification means that particular features, structures, or characteristics related to the embodiment are included in one or more embodiments of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to a same embodiment. In addition, these particular features, structures, or characteristics may be combined in one or more embodiments in any appropriate manner. It should be understood that sequence numbers of the foregoing processes do not mean execution sequences in various embodiments of this application. The execution sequences of the processes should be determined based on functions and internal logic of the processes, and should not be construed as any limitation on the implementation processes of embodiments of this application.
  • A person of ordinary skill in the art may be aware that, in combination with the examples described in embodiments disclosed in this specification, units and algorithm steps can be implemented by electronic hardware, computer software, or a combination thereof. To clearly describe the interchangeability between the hardware and the software, the foregoing has generally described compositions and steps of each example based on functions. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
  • It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiments, and details are not described herein again.
  • In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, division into the units is merely logical function division and may be other division in an actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
  • The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, may be located at one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of embodiments.
  • In addition, functional units in embodiments of this application may be integrated into one processing unit, each of the units may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of software functional unit.
  • When the integrated unit is implemented in the form of software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially or the part contributing to the conventional technology, or all or some of the technical solutions may be implemented in a form of software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in embodiments of this application.
  • In conclusion, the foregoing descriptions are merely examples of embodiments of the technical solutions of this application, but are not intended to limit the protection scope of this application. Any modification, equivalent replacement, or improvement made without departing from the spirit and principle of this application shall fall within the protection scope of this application.

Claims (71)

  1. An application layer traffic optimization ALTO protocol-based communication method, comprising:
    sending, by an ALTO server, first information to an ALTO client according to an ALTO protocol, wherein the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  2. The method according to claim 1, wherein the first information comprises identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  3. The method according to claim 2, wherein the service capability information of the at least one network service in the one or more network services comprises one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  4. The method according to claim 1 or 2, wherein the first information comprises application-aware networking APN information related to the at least one network service in the one or more network services.
  5. The method according to claim 4, wherein the APN information comprises one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information comprises user group identifier information and/or application group identifier information, and the APN parameter information comprises one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  6. The method according to claim 1 or 2, wherein the first information comprises a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  7. The method according to any one of claims 1 to 6, wherein before the sending, by an ALTO server, first information to an ALTO client according to the ALTO protocol, the method comprises:
    determining, by the ALTO server, the first information.
  8. The method according to claim 7, wherein the determining, by the ALTO server, the first information comprises:
    obtaining, by the ALTO server, second information, wherein the second information comprises one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network; and
    determining, by the ALTO server, the first information based on the second information.
  9. The method according to claim 8, wherein the determining, by the ALTO server, the first information based on the second information comprises:
    determining, by the ALTO server based on the second information, the one or more network services available in the first network; and
    determining, by the ALTO server based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network.
  10. The method according to claim 8, wherein the second information is the APN information of the first network, and the determining, by the ALTO server, the first information based on the second information comprises:
    determining, by the ALTO server from the second information, APN information allocated to the ALTO client, and using the APN information as the first information.
  11. The method according to claim 8, wherein the second information is the APN information of the first network, and the determining, by the ALTO server, the first information based on the second information comprises:
    obtaining, by the ALTO server, a first correspondence, wherein the first correspondence indicates a correspondence between the APN information of the first network and the one or more network services; and
    using, by the ALTO server, the first correspondence as the first information.
  12. The method according to claim 9, wherein the method further comprises:
    determining, by the ALTO server, a target network service based on the one or more network services available in the first network; and
    determining, by the ALTO server based on the target network service, the first information corresponding to the target network service.
  13. The method according to claim 12, wherein the determining, by the ALTO server, a target network service based on the one or more network services available in the first network comprises:
    sending, by the ALTO server, a first message to the ALTO client, wherein the first message indicates the one or more network services available in the first network; and
    receiving, by the ALTO server, a second message from the ALTO client, wherein the second message indicates the target network service.
  14. The method according to claim 12, wherein the determining, by the ALTO server, a target network service based on the one or more network services available in the first network comprises:
    receiving, by the ALTO server, a third message from the ALTO client, wherein the third message is used to subscribe to the target network service; and
    determining, by the ALTO server based on the third message, the target network service from the one or more network services available in the first network.
  15. The method according to any one of claims 1 to 14, wherein a type of any one of the one or more network services comprises a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  16. An application layer traffic optimization ALTO protocol-based communication method, comprising:
    receiving, by an ALTO client, first information from an ALTO server according to an ALTO protocol, wherein the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services; and
    sending, by the ALTO client, the first information to the first device.
  17. The method according to claim 16, wherein the first information comprises identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  18. The method according to claim 17, wherein the service capability information of the at least one network service in the one or more network services comprises one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  19. The method according to claim 16 or 17, wherein the first information comprises application-aware networking APN information related to the at least one network service in the one or more network services.
  20. The method according to claim 19, wherein the APN information comprises one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information comprises user group identifier information and/or application group identifier information, and the APN parameter information comprises one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  21. The method according to claim 16 or 17, wherein the first information comprises a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  22. The method according to any one of claims 16 to 21, wherein when the ALTO client and the first device belong to a same device, the method comprises:
    determining, by the ALTO client, a target network service based on the first information.
  23. The method according to claim 22, wherein the first information comprises the APN information related to the at least one network service in the one or more network services, and the determining, by the ALTO client, a target network service based on the first information comprises:
    determining, by the ALTO client, the target network service based on the APN information related to the at least one network service in the one or more network services.
  24. The method according to claim 22, wherein the first information comprises the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and the determining, by the ALTO client, a target network service based on the first information comprises:
    determining, by the ALTO client, the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  25. The method according to any one of claims 16 to 24, wherein a type of any one of the one or more network services comprises a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  26. An application layer traffic optimization ALTO protocol-based communication method, comprising:
    receiving, by a first device, first information sent by an ALTO client, wherein the first information indicates one or more network services available in a first network, and the first information is used by the first device to obtain the one or more network services; and
    determining, by the first device, a target network service based on the first information.
  27. The method according to claim 26, wherein the first information comprises identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  28. The method according to claim 27, wherein the service capability information of the at least one network service in the one or more network services comprises one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  29. The method according to claim 26 or 27, wherein the first information comprises application-aware networking APN information related to the at least one network service in the one or more network services, and the determining, by the first device, a target network service based on the first information comprises:
    determining, by the first device, the target network service based on the APN information related to the at least one network service in the one or more network services.
  30. The method according to claim 29, wherein the APN information comprises one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information comprises user group identifier information and/or application group identifier information, and the APN parameter information comprises one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  31. The method according to claim 26 or 27, wherein the first information comprises a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services, and the determining, by the first device, a target network service based on the first information comprises:
    determining, by the first device, the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  32. The method according to any one of claims 26 to 31, wherein a type of any one of the one or more network services comprises a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  33. An application layer traffic optimization ALTO protocol-based communication system, wherein the system comprises an ALTO server and an ALTO client, the ALTO server implements the method according to any one of claims 1 to 15, and the ALTO client implements the method according to any one of claims 16 to 25.
  34. The system according to claim 33, wherein the system further comprises a first device, and the first device implements the method according to any one of claims 26 to 32.
  35. A communication apparatus, used as an application layer traffic optimization ALTO server, wherein the communication apparatus comprises:
    a memory, comprising instructions; and
    a processor, wherein when the processor executes the instructions, the communication apparatus is enabled to implement the method according to any one of claims 1 to 15.
  36. A communication apparatus, used as an ALTO client, wherein the communication apparatus comprises:
    a memory, comprising instructions; and
    a processor, wherein when the processor executes the instructions, the communication apparatus is enabled to implement the method according to any one of claims 16 to 25.
  37. A communication apparatus, used as a first device, wherein the communication apparatus comprises:
    a memory, comprising instructions; and
    a processor, wherein when the processor executes the instructions, the communication apparatus is enabled to implement the method according to any one of claims 26 to 32.
  38. A computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 32 is implemented.
  39. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the method according to any one of claims 1 to 32 is implemented.
  40. A communication apparatus, wherein the communication apparatus is used as an ALTO server, and the communication apparatus comprises:
    a transceiver module, configured to send first information to an ALTO client according to an ALTO protocol, wherein the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services.
  41. The communication apparatus according to claim 40, wherein the first information comprises identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  42. The communication apparatus according to claim 41, wherein the service capability information of the at least one network service in the one or more network services comprises one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  43. The communication apparatus according to claim 40 or 41, wherein the first information comprises application-aware networking APN information related to the at least one network service in the one or more network services.
  44. The communication apparatus according to claim 43, wherein the APN information comprises one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information comprises user group identifier information and/or application group identifier information, and the APN parameter information comprises one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  45. The communication apparatus according to claim 40 or 41, wherein the first information comprises a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  46. The communication apparatus according to any one of claims 40 to 45, wherein
    a processing module is configured to determine the first information.
  47. The communication apparatus according to claim 46, wherein
    the transceiver module is further configured to obtain second information, wherein the second information comprises one or more of the following information: topology information of the first network, device information of the first device in the first network, service function chain information of the first network, computing capability information of the first network, or APN information of the first network; and
    the processing module is further configured to determine the first information based on the second information.
  48. The communication apparatus according to claim 47, wherein
    the processing module is further configured to determine, based on the second information, the one or more network services available in the first network; and
    the processing module is further configured to determine, based on the one or more network services available in the first network, the first information corresponding to the one or more network services available in the first network.
  49. The communication apparatus according to claim 47, wherein
    the processing module is further configured to: determine, from the second information, APN information allocated to the ALTO client, and use the APN information as the first information.
  50. The communication apparatus according to claim 47, wherein
    the transceiver module is further configured to obtain a first correspondence, wherein the first correspondence indicates a correspondence between the APN information of the first network and the one or more network services; and
    the processing module is further configured to use the first correspondence as the first information.
  51. The communication apparatus according to claim 48, wherein
    the processing module is further configured to determine a target network service based on the one or more network services available in the first network; and
    the processing module is further configured to determine, based on the target network service, the first information corresponding to the target network service.
  52. The communication apparatus according to claim 51, wherein
    the transceiver module is further configured to send a first message to the ALTO client, wherein the first message indicates the one or more network services available in the first network; and
    the transceiver module is further configured to receive a second message from the ALTO client, wherein the second message indicates the target network service.
  53. The communication apparatus according to claim 51, wherein
    the transceiver module is further configured to receive a third message from the ALTO client, wherein the third message is used to subscribe to the target network service; and
    the processing module is further configured to determine, based on the third message, the target network service from the one or more network services available in the first network.
  54. The communication apparatus according to any one of claims 40 to 53, wherein a type of any one of the one or more network services comprises a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  55. A communication apparatus, wherein the communication apparatus is used as an ALTO client, and the communication apparatus comprises:
    a transceiver module, configured to receive first information from an ALTO server according to an ALTO protocol, wherein the first information indicates one or more network services available in a first network, and the first information is used by a first device associated with the ALTO client to obtain the one or more network services; and
    the transceiver module is further configured to send the first information to the first device.
  56. The communication apparatus according to claim 55, wherein the first information comprises identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  57. The communication apparatus according to claim 56, wherein the service capability information of the at least one network service in the one or more network services comprises one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  58. The communication apparatus according to claim 55 or 56, wherein the first information comprises application-aware networking APN information related to the at least one network service in the one or more network services.
  59. The communication apparatus according to claim 58, wherein the APN information comprises one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information comprises user group identifier information and/or application group identifier information, and the APN parameter information comprises one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  60. The communication apparatus according to claim 55 or 56, wherein the first information comprises a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services.
  61. The communication apparatus according to any one of claims 55 to 60, wherein when the ALTO client and the first device belong to a same device, the processing module is further configured to determine a target network service based on the first information.
  62. The communication apparatus according to claim 61, wherein the first information comprises the APN information related to the at least one network service in the one or more network services; and
    the processing module is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  63. The communication apparatus according to claim 62, wherein the first information comprises the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services, and the processing module is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  64. The communication apparatus according to any one of claims 55 to 63, wherein a type of any one of the one or more network services comprises a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
  65. A communication apparatus, wherein the communication apparatus is used as a first device, and the communication apparatus comprises:
    a transceiver module, configured to receive first information sent by an ALTO client, wherein the first information indicates one or more network services available in a first network, and the first information is used by the first device to obtain the one or more network services; and
    a processing module, configured to determine a target network service based on the first information.
  66. The communication apparatus according to claim 65, wherein the first information comprises identification information of at least one network service in the one or more network services, or service capability information of at least one network service in the one or more network services.
  67. The communication apparatus according to claim 66, wherein the service capability information of the at least one network service in the one or more network services comprises one or more of the following: type information of the network service, specification information of the network service, or quality of service QoS information of the network service.
  68. The communication apparatus according to claim 66 or 67, wherein the first information comprises application-aware networking APN information related to the at least one network service in the one or more network services, and
    the processing module is further configured to determine the target network service based on the APN information related to the at least one network service in the one or more network services.
  69. The communication apparatus according to claim 68, wherein the APN information comprises one or more of the following: APN identifier ID information, intent information, or APN parameter information, the APN ID information comprises user group identifier information and/or application group identifier information, and the APN parameter information comprises one or more of the following: network performance requirement information, security service requirement information, or network service requirement information.
  70. The communication apparatus according to claim 65 or 66, wherein the first information comprises a correspondence between the one or more network services and APN information related to the at least one network service in the one or more network services, and
    the processing module is further configured to determine the target network service based on the correspondence between the one or more network services and the APN information related to the at least one network service in the one or more network services.
  71. The communication apparatus according to any one of claims 65 to 70, wherein a type of any one of the one or more network services comprises a segment routing SR path service, a traffic engineering TE tunnel path service, a security service, a network slicing service, or a computing capability service.
EP23814964.5A 2022-05-31 2023-05-17 COMMUNICATION METHOD BASED ON AN ALTO PROTOCOL AND ASSOCIATED APPARATUS Pending EP4529120A4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210609674.6A CN117201487A (en) 2022-05-31 2022-05-31 Communication method based on ALTO protocol and related device
PCT/CN2023/094805 WO2023231779A1 (en) 2022-05-31 2023-05-17 Communication method based on alto protocol, and related apparatus

Publications (2)

Publication Number Publication Date
EP4529120A1 true EP4529120A1 (en) 2025-03-26
EP4529120A4 EP4529120A4 (en) 2025-05-07

Family

ID=88992941

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23814964.5A Pending EP4529120A4 (en) 2022-05-31 2023-05-17 COMMUNICATION METHOD BASED ON AN ALTO PROTOCOL AND ASSOCIATED APPARATUS

Country Status (4)

Country Link
US (1) US20250097300A1 (en)
EP (1) EP4529120A4 (en)
CN (1) CN117201487A (en)
WO (1) WO2023231779A1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2695358B1 (en) * 2011-04-01 2018-04-18 British Telecommunications public limited company Selection of service nodes for provision of services
CN102404796B (en) * 2011-12-27 2014-03-19 中国电信股份有限公司 Flow control method and system
CN102811256B (en) * 2012-07-19 2017-11-07 中兴通讯股份有限公司 A kind of method and system for realizing application layer transmission optimization
CN102780775B (en) * 2012-07-19 2017-11-07 中兴通讯股份有限公司 A kind of method and system for realizing application layer transmission optimization
ES2586840T3 (en) * 2013-12-23 2016-10-19 Telefónica S.A. Method and apparatus for calculating the stratum crossing route in a network
WO2017202448A1 (en) * 2016-05-24 2017-11-30 Nokia Solutions And Networks Oy Instantiation in virtualized networks

Also Published As

Publication number Publication date
WO2023231779A1 (en) 2023-12-07
US20250097300A1 (en) 2025-03-20
EP4529120A4 (en) 2025-05-07
CN117201487A (en) 2023-12-08

Similar Documents

Publication Publication Date Title
CN112165725B (en) Message processing methods and equipment
US10129108B2 (en) System and methods for network management and orchestration for network slicing
CN109362085B (en) Implementing EPC in cloud computer through OPENFLOW data plane
US20160301603A1 (en) Integrated routing method based on software-defined network and system thereof
JP2023523048A (en) Packet processing method and related device
JP6001790B2 (en) Method of operation in fixed access network and UE
CN113906717A (en) Local user plane function control
US20230156828A1 (en) Session establishment method and apparatus, system, and computer storage medium
CN114365454B (en) Distribution of stateless security functions
US11558491B2 (en) Information-centric networking over 5G or later networks
WO2022166465A1 (en) Message processing method and related apparatus
US20210006491A1 (en) Techniques for policy management of multi-connectivity network protocols
US20210044456A1 (en) Method for implementing gre tunnel, access point and gateway
US20230336377A1 (en) Packet forwarding method and apparatus, and network system
WO2015113285A1 (en) Control method and centralized controller in communication network and wireless communication network system
CN113055293A (en) Routing method and device in software defined wide area network and communication system
WO2019238101A1 (en) System and method of dynamically managed transport for mobile networks
WO2021244336A1 (en) Method and apparatus for sending and receiving message, and communication system
EP4529120A1 (en) Communication method based on alto protocol, and related apparatus
CN103607347A (en) A method and a controller for establishing a transmission channel
CN113163276A (en) Method, device and system for issuing routing information
WO2023179457A1 (en) Method, apparatus and system for identifying service connection, and storage medium
US12309042B2 (en) Network access method, apparatus, and system
EP4387183A1 (en) Software defined network controller, network device, method and apparatus of determining resources
US20240214344A1 (en) Ipv4-in-ipv6 relaying systems and methods to preserve ipv4 public addresses

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20241217

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

A4 Supplementary search report drawn up and despatched

Effective date: 20250407

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 69/06 20220101ALI20250401BHEP

Ipc: H04L 67/306 20220101ALI20250401BHEP

Ipc: H04L 67/1095 20220101ALI20250401BHEP

Ipc: H04L 67/10 20220101ALI20250401BHEP

Ipc: H04L 41/12 20220101ALI20250401BHEP

Ipc: H04L 41/0803 20220101ALI20250401BHEP

Ipc: H04L 67/51 20220101ALI20250401BHEP

Ipc: H04L 45/30 20220101AFI20250401BHEP