---
title: NWProtocol
framework: network
role: symbol
role_heading: Class
path: network/nwprotocol
---

# NWProtocol

The abstract superclass used by Network framework protocols and by custom network protocols that you define.

## Declaration

```swift
class NWProtocol
```

## Topics

### Adding Protocols to Connections

- [NWProtocolOptions](network/nwprotocoloptions.md)
- [NWProtocolDefinition](network/nwprotocoldefinition.md)

### Interacting with Protocols

- [NWProtocolMetadata](network/nwprotocolmetadata.md)

## Relationships

### Inherited By

- [NWProtocolFramer](network/nwprotocolframer.md)
- [NWProtocolIP](network/nwprotocolip.md)
- [NWProtocolQUIC](network/nwprotocolquic.md)
- [NWProtocolTCP](network/nwprotocoltcp.md)
- [NWProtocolTLS](network/nwprotocoltls.md)
- [NWProtocolUDP](network/nwprotocoludp.md)
- [NWProtocolWebSocket](network/nwprotocolwebsocket.md)

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Modifying Protocol Stacks

- [defaultProtocolStack](network/nwparameters/defaultprotocolstack.md)
- [NWParameters.ProtocolStack](network/nwparameters/protocolstack.md)
