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


Use this framework when you need direct access to protocols like TLS, TCP, and UDP for your custom application protocols. Continue to use NSURLSession, which is built upon this framework, for loading HTTP- and URL-based resources.




A local or remote endpoint in a network connection.


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

Connections and Listeners

Implementing netcat with Network Framework

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


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


An object you use to listen for incoming network connections.


An object you use to browse for available network services.


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.

TCP Options

Configure options for connections that use the Transmission Control Protocol.

TLS Options

Configure options for connections that use Transport Layer Security.

UDP Options

Configure options for connections that use the User Datagram Protocol.

IP Options

Configure Internet Protocol options on connections.

WebSocket Options

Configure options for connections that use WebSocket.

Framer Protocol Options

Create custom protocols to frame applications messages over a connection.

Network Security

Security Options

Configure security options for TLS handshakes.

Paths and Interfaces


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


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


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

Memory Management


Releases a reference count on a Network.framework object.


Adds a reference count to a Network.framework object.


The generic type for objects in the Network framework.



The errors returned by the Network framework.

Network Debugging

Choosing a Network Debugging Tool

Decide which tool works best for your network debugging problem.

Debugging HTTP Server-Side Errors

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

Debugging HTTPS Problems with CFNetwork Diagnostic Logging

Use CFNetwork diagnostic logging to investigate HTTP and HTTPS problems.

Recording a Packet Trace

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

Taking Advantage of Third-Party Network Debugging Tools

Learn about the available third-party network debugging tools.


Network Constants

Access Network framework constants used in C.

Network Functions

Access Network framework functions used in C.