UvA / SNE/OS3 / RP2
- read RFCs
- find TURN libraries
- setup coturn
- find http/socks libraries
- questions / scope
- write proposal
- evaluate coturn turnutils
- implement rfc6062
- identify TURN servers
- presentation1
- report
- presentation2
- ICE: complete framework for NAT traversal
- STUN (RFC 5389): request / response of reflexive transport address (public host:port of client after NAT)
- TURN (RFC 5766): relay data when direct p2p is unavailable
- TURN Allocation: port on server for use by client, 10min refresh
- TURN Permissions: server allowed peer, 5min refresh
- TURN Send/Data: basic send/recv
- TURN Channel: low overhead version of Send/Data, 10min refresh
- TURN TCP: uses separate control / data connections for tcp, same refresh
- client uses STUN to find it's publicly reachable address from a STUN server
- client uses TURN to request an Allocation on a TURN server (with authentication)
- client keeps the allocation using Refresh (default 10min), and deletes when done (Refresh 0s)
key: important, obseleted
- 1928 SOCKS Protocol Version 5
- 3264 An Offer/Answer Model with the Session Description Protocol (SDP)
- 3489
STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) - 4566 SDP: Session Description Protocol
- 5128 State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)
- 5245
Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols - 5389 Session Traversal Utilities for NAT (STUN)
- 5766 Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
- 5769 Test Vectors for Session Traversal Utilities for NAT (STUN)
- 5780 NAT Behavior Discovery Using Session Traversal Utilities for NAT (STUN)
- 5928 Traversal Using Relays around NAT (TURN) Resolution Mechanism
- 6062 Traversal Using Relays around NAT (TURN) Extensions for TCP Allocations
- 6544 TCP Candidates with Interactive Connectivity Establishment (ICE)
- 7065 Traversal Using Relays around NAT (TURN) Uniform Resource Identifiers
- 7350 Datagram Transport Layer Security (DTLS) as Transport for Session Traversal Utilities for NAT (STUN)
- 7376 Problems with Session Traversal Utilities for NAT (STUN) Long-Term Authentication for Traversal Using Relays around NAT (TURN)
- 8155 Traversal Using Relays around NAT (TURN) Server Auto Discovery
- 8445 Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal
drafts
- draft-ietf-mmusic-ice-sip-sdp-39 Session Description Protocol (SDP) Offer/Answer procedures for Interactive Connectivity Establishment (ICE)
- coturn/coturn use turnutils?
- gortc/stun
- gortc/turn #14 RFC 6062 TURN-TCP not implemented
- pion/ice
- pion/stun
- pion/turn #118 RFC 6062 TURN-TCP not implemented, WIP branch rfc-6062-client
-
armon/go-socks5 SOCKS5
-
cybozu-go/usocksd SOCKS4/5
-
fangdingjun/socks-go SOCKS4/5
-
txthinking/socks5 SOCKS5
-
net/http/httputil HTTP Reverse Proxy
-
elazarl/goproxy HTTP Proxy
- Enable Security slack hack
- draft TURN over WebSocket