---
title: In-Provider Networking
framework: networkextension
role: collectionGroup
role_heading: API Collection
path: networkextension/in-provider-networking
---

# In-Provider Networking

Network APIs for use by all types of NetworkExtension providers and by hotspot helpers.

## Overview

Overview NetworkExtension providers and hotspot helpers run in an unusual network environment that can cause problems for general-purpose networking APIs. For example, URLSession typically sends requests via the default route, which is inappropriate for a hotspot helper that must always use the Wi-Fi interface. The NetworkExtension framework includes a number of APIs that are useful in such situations. These APIs have the following key characteristics: They aren’t general-purpose APIs; they can only be used in the context of a NetworkExtension provider or hotspot helper. In many cases, you don’t need to use them. For example, it’s possible for a packet tunnel provider to use a general-purpose networking API, like BSD Sockets, for its tunnel connection. The recommended general-purpose networking APIs are the URL Loading System for HTTP and the Network framework for TCP and UDP.

## Topics

### TCP connections

- [NWTCPConnection](networkextension/nwtcpconnection.md)
- [NWTLSParameters](networkextension/nwtlsparameters.md)
- [NWTCPConnectionAuthenticationDelegate](networkextension/nwtcpconnectionauthenticationdelegate.md)

### UDP sessions

- [NWUDPSession](networkextension/nwudpsession.md)

### Endpoints

- [NWHostEndpoint](networkextension/nwhostendpoint.md)
- [NWBonjourServiceEndpoint](networkextension/nwbonjourserviceendpoint.md)
- [NWEndpoint](networkextension/nwendpoint.md)

### Network path information

- [NWPath](networkextension/nwpath.md)

## See Also

### Related Documentation

- [Packet tunnel provider](networkextension/packet-tunnel-provider.md)
- [App proxy provider](networkextension/app-proxy-provider.md)
- [Hotspot helper](networkextension/hotspot-helper.md)

### Flow handling

- [NEAppProxyTCPFlow](networkextension/neappproxytcpflow.md)
- [NEAppProxyUDPFlow](networkextension/neappproxyudpflow.md)
- [NEAppProxyFlow](networkextension/neappproxyflow.md)
- [NEFlowMetaData](networkextension/neflowmetadata.md)
- [Handling Flow Copying](networkextension/handling-flow-copying.md)
