<!--
{
  "availability" : [
    "iOS: 12.0 -",
    "iPadOS: 12.0 -",
    "macCatalyst: 13.0 -",
    "macOS: 10.14 -",
    "tvOS: 12.0 -",
    "visionOS: 1.0 -",
    "watchOS: 6.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Network",
  "identifier" : "/documentation/Network",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Network"
    ],
    "preciseIdentifier" : "Network"
  },
  "title" : "Network"
}
-->

# Network

Create network connections to send and receive data using transport and security protocols.

## Overview

Use this framework when you need direct access to protocols like TLS, TCP, and UDP for your custom application protocols. Continue to use <doc://com.apple.documentation/documentation/Foundation/URLSession>, which is built upon this framework, for loading HTTP- and URL-based resources. For in-depth advice on where to start with networking, see <doc://com.apple.documentation/documentation/Technotes/tn3151-choosing-the-right-networking-api>.

> Note:
> watchOS supports Network framework for specific use cases. For more details, see <doc://com.apple.documentation/documentation/Technotes/tn3135-low-level-networking-on-watchOS>.

## Topics

### Essentials

[`NWEndpoint`](/documentation/Network/NWEndpoint)

A local or remote endpoint in a network connection.

[`NWParameters`](/documentation/Network/NWParameters)

An object that stores the protocols to use for connections, options for sending data, and network path constraints.

### Essentials

[`nw_endpoint_t`](/documentation/Network/nw_endpoint_t)

A local or remote endpoint in a network connection.

[`nw_parameters_t`](/documentation/Network/nw_parameters_t)

An object that stores the protocols to use for connections, options for sending data, and network path constraints.

### Connections and Listeners

[`NWConnection`](/documentation/Network/NWConnection)

A bidirectional data connection between a local endpoint and a remote endpoint.

[`NWListener`](/documentation/Network/NWListener)

An object you use to listen for incoming network connections.

[`NWBrowser`](/documentation/Network/NWBrowser)

An object you use to browse for available network services.

[`NWConnectionGroup`](/documentation/Network/NWConnectionGroup)

An object you use to communicate with a group of endpoints, such as an IP multicast group on a local network.

[`NWEthernetChannel`](/documentation/Network/NWEthernetChannel)

An object you use to send and receive custom Ethernet frames.

### Connections and Listeners

[Implementing netcat with Network Framework](/documentation/Network/implementing-netcat-with-network-framework)

Build a simple `netcat` tool that establishes network connections and transfers data.

[`nw_connection_t`](/documentation/Network/nw_connection_t)

A bidirectional data connection between a local endpoint and a remote endpoint.

[`nw_listener_t`](/documentation/Network/nw_listener_t)

An object you use to listen for incoming network connections.

[`nw_browser_t`](/documentation/Network/nw_browser_t)

An object you use to browse for available network services.

[`nw_connection_group_t`](/documentation/Network/nw_connection_group_t)

An object you use to communicate with a group of endpoints, such as an IP multicast group on a local network.

[`nw_ethernet_channel_t`](/documentation/Network/nw_ethernet_channel_t)

An object you use to send and receive custom Ethernet frames.

### Network Protocols

Configure protocol options to use with connections and listeners, and inspect the results of protocol handshakes.

[Building a custom peer-to-peer protocol](/documentation/Network/building-a-custom-peer-to-peer-protocol)

Use networking frameworks to create a custom protocol for playing a game across iOS, iPadOS, watchOS, and tvOS devices.

  <doc://com.apple.documentation/documentation/visionOS/connecting-ipados-and-visionos-apps-over-the-local-network>

[`NWProtocolTCP`](/documentation/Network/NWProtocolTCP)

A network protocol for connections that use the Transmission Control Protocol.

[`NWProtocolTLS`](/documentation/Network/NWProtocolTLS)

A network protocol for connections that use Transport Layer Security.

[`NWProtocolQUIC`](/documentation/Network/NWProtocolQUIC)

A network protocol for connections that use the QUIC transport protocol.

[`NWProtocolUDP`](/documentation/Network/NWProtocolUDP)

A network protocol for connections that use the User Datagram Protocol.

[`NWProtocolIP`](/documentation/Network/NWProtocolIP)

A network protocol for configuring the Internet Protocol on connections.

[`NWProtocolWebSocket`](/documentation/Network/NWProtocolWebSocket)

A network protocol for connections that use WebSocket.

[`NWProtocolFramer`](/documentation/Network/NWProtocolFramer)

A customizable network protocol for defining application message parsers.

### Network Protocols

Configure protocol options to use with connections and listeners, and inspect the results of protocol handshakes.

[TCP Options](/documentation/Network/tcp-options)

Configure options for connections that use the Transmission Control Protocol.

[TLS Options](/documentation/Network/tls-options)

Configure options for connections that use Transport Layer Security.

[QUIC Options](/documentation/Network/quic-options)

Configure options for connections that use the QUIC transport protocol.

[UDP Options](/documentation/Network/udp-options)

Configure options for connections that use the User Datagram Protocol.

[IP Options](/documentation/Network/ip-options)

Configure Internet Protocol options on connections.

[WebSocket Options](/documentation/Network/websocket-options)

Configure options for connections that use WebSocket.

[Framer Protocol Options](/documentation/Network/framer-protocol-options)

Create custom protocols to frame applications messages over a connection.

### Network Security and Privacy

[Security Options](/documentation/Network/security-options)

Configure security options for TLS handshakes.

[Privacy Management](/documentation/Network/privacy-management)

Configure parameters related to user privacy.

[Creating an Identity for Local Network TLS](/documentation/Network/creating-an-identity-for-local-network-tls)

Learn how to create and use a digital identity in your application for local network TLS.

### Paths and Interfaces

[`NWPath`](/documentation/Network/NWPath)

An object that contains information about the properties of the network that a connection uses, or that are available to your app.

[`NWPathMonitor`](/documentation/Network/NWPathMonitor)

An observer that you use to monitor and react to network changes.

[`NWInterface`](/documentation/Network/NWInterface)

An interface that a network connection uses to send and receive data.

### Paths and Interfaces

[`nw_path_t`](/documentation/Network/nw_path_t)

An object that contains information about the properties of the network that a connection uses, or that are available to your app.

[`nw_path_monitor_t`](/documentation/Network/nw_path_monitor_t)

An observer that you use to monitor and react to network changes.

[`nw_interface_t`](/documentation/Network/nw_interface_t)

An interface that a network connection uses to send and receive data.

### Memory Management

[`nw_release`](/documentation/Network/nw_release)

Releases a reference count on a Network.framework object.

[`nw_retain`](/documentation/Network/nw_retain)

Adds a reference count to a Network.framework object.

[`nw_object_t`](/documentation/Network/nw_object_t)

The generic type for objects in the Network framework.

### Errors

[`NWError`](/documentation/Network/NWError)

The errors returned by objects in the Network framework.

### Errors

[`nw_error_t`](/documentation/Network/nw_error_t)

The errors returned by the Network framework.

### Network Debugging

[Choosing a Network Debugging Tool](/documentation/Network/choosing-a-network-debugging-tool)

Decide which tool works best for your network debugging problem.

[Debugging HTTP Server-Side Errors](/documentation/Network/debugging-http-server-side-errors)

Understand HTTP server-side errors and how to debug them.

[Debugging HTTPS Problems with CFNetwork Diagnostic Logging](/documentation/Network/debugging-https-problems-with-cfnetwork-diagnostic-logging)

Use CFNetwork diagnostic logging to investigate HTTP and HTTPS problems.

[Recording a Packet Trace](/documentation/Network/recording-a-packet-trace)

Learn how to record a low-level trace of network traffic.

[Taking Advantage of Third-Party Network Debugging Tools](/documentation/Network/taking-advantage-of-third-party-network-debugging-tools)

Learn about the available third-party network debugging tools.

[Testing and Debugging L4S in Your App](/documentation/Network/testing-and-debugging-l4s-in-your-app)

Learn how to verify your app on an L4S-capable host and network to improve your app’s responsiveness.

### C-Language Symbols

Access Network framework symbols used in C.

[C-Language Symbols](/documentation/Network/c-language-symbols)

### Protocols

[`OS_nw_advertise_descriptor`](/documentation/Network/OS_nw_advertise_descriptor)

[`OS_nw_browse_descriptor`](/documentation/Network/OS_nw_browse_descriptor)

[`OS_nw_browse_result`](/documentation/Network/OS_nw_browse_result)

[`OS_nw_browser`](/documentation/Network/OS_nw_browser)

[`OS_nw_connection`](/documentation/Network/OS_nw_connection)

[`OS_nw_connection_group`](/documentation/Network/OS_nw_connection_group)

[`OS_nw_content_context`](/documentation/Network/OS_nw_content_context)

[`OS_nw_data_transfer_report`](/documentation/Network/OS_nw_data_transfer_report)

[`OS_nw_endpoint`](/documentation/Network/OS_nw_endpoint)

[`OS_nw_error`](/documentation/Network/OS_nw_error)

[`OS_nw_establishment_report`](/documentation/Network/OS_nw_establishment_report)

[`OS_nw_ethernet_channel`](/documentation/Network/OS_nw_ethernet_channel)

[`OS_nw_framer`](/documentation/Network/OS_nw_framer)

[`OS_nw_group_descriptor`](/documentation/Network/OS_nw_group_descriptor)

[`OS_nw_interface`](/documentation/Network/OS_nw_interface)

[`OS_nw_listener`](/documentation/Network/OS_nw_listener)

[`OS_nw_object`](/documentation/Network/OS_nw_object)

[`OS_nw_parameters`](/documentation/Network/OS_nw_parameters)

[`OS_nw_path`](/documentation/Network/OS_nw_path)

[`OS_nw_path_monitor`](/documentation/Network/OS_nw_path_monitor)

[`OS_nw_privacy_context`](/documentation/Network/OS_nw_privacy_context)

[`OS_nw_protocol_definition`](/documentation/Network/OS_nw_protocol_definition)

[`OS_nw_protocol_metadata`](/documentation/Network/OS_nw_protocol_metadata)

[`OS_nw_protocol_options`](/documentation/Network/OS_nw_protocol_options)

[`OS_nw_protocol_stack`](/documentation/Network/OS_nw_protocol_stack)

[`OS_nw_proxy_config`](/documentation/Network/OS_nw_proxy_config)

[`OS_nw_relay_hop`](/documentation/Network/OS_nw_relay_hop)

[`OS_nw_resolution_report`](/documentation/Network/OS_nw_resolution_report)

[`OS_nw_resolver_config`](/documentation/Network/OS_nw_resolver_config)

[`OS_nw_txt_record`](/documentation/Network/OS_nw_txt_record)

[`OS_nw_ws_request`](/documentation/Network/OS_nw_ws_request)

[`OS_nw_ws_response`](/documentation/Network/OS_nw_ws_response)

### Structures

[`nw_interface_radio_type_t`](/documentation/Network/nw_interface_radio_type_t)

[`nw_multipath_version_t`](/documentation/Network/nw_multipath_version_t)

[`nw_path_unsatisfied_reason_t`](/documentation/Network/nw_path_unsatisfied_reason_t)

[`nw_quic_stream_type_t`](/documentation/Network/nw_quic_stream_type_t)

### Classes

[`NWMultiplexGroup`](/documentation/Network/NWMultiplexGroup)

### Reference

[Network Constants](/documentation/Network/network-constants)

Access Network framework constants used in C.

[Network Functions](/documentation/Network/network-functions)

Access Network framework functions used in C.

[Network Data Types](/documentation/Network/network-data-types)

### Reference

[Network Enumerations](/documentation/Network/network-enumerations)

[Network Constants](/documentation/Network/network-constants)

Access Network framework constants used in C.

[Network Functions](/documentation/Network/network-functions)

Access Network framework functions used in C.

[Network Data Types](/documentation/Network/network-data-types)

[Network Macros](/documentation/Network/network-macros)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
