Network Model
Open Systems Interconnection

Internet Protocol Suite





Transport Layer

不同协议的端口位于不同的命名空间下


[ c822 1f90 0064 0000 ... ][ c822 1f90 0064 0000 ... ]
[ 51234 8080 100 0 ... ][ 51234 8080 100 0 ... ]

为什么是 512bytes 而不是 65535bytes?
Maximum transmission unit and Maximum segment size

以常见的 1500 为例



TCP

UDP


Peer to Peer

Peer to Peer

注册端口


动态端口
Network Address Translation

const pc = new RTCPeerConnection({ iceServers: [ { urls: ["stun:******", "stun:******"], }, { urls: "turn:******", username: "******", credential: "******", }, ], });const pc = new RTCPeerConnection({ iceServers: [ { urls: ["stun:******", "stun:******"], }, { urls: "turn:******", username: "******", credential: "******", }, ], });
Session Traversal Utilities for NAT
Firewall

普通防火墙具备记忆性

→ sudo ufw status verbose Status: active Default: deny (incoming), deny (outgoing), disabled (routed) To Action From -- ------ ---- 22 ALLOW IN Anywhere 80 ALLOW OUT Anywhere→ sudo ufw status verbose Status: active Default: deny (incoming), deny (outgoing), disabled (routed) To Action From -- ------ ---- 22 ALLOW IN Anywhere 80 ALLOW OUT Anywhere



STUN Server and Signalling Server
打洞有可能失败吗?

Traversal Using Relays around NAT
