nat穿透
nat服务器把内网的ip和端口号转化成外网的端口号和ip 这样nat服务器外部就是一个ip
1 这样不仅仅是可以复用ip
2 还可以保护内网 为什么 因为 只有里面对外面发出的连接请求可以通过nat服务器。而外网的ip不能不能主动连接内网(即使有nat转换方式也不可以)
那么两个在子网中的用户怎么去连接彼此呢
nat分为动态的端口映射和 静态的端口映射
一般都是静态的端口映射 否则很多p2p软件会失效
A要向B发送数据
首先 A和服务器 B和服务器之间都会保留着“心跳帧”来确保连接不断
在A 向服务器说 要给B发送消息时
1 服务器保留着要向A发送session的消息 即暂时不发送
2反之 服务器 让B给A发送session
3B 接收到服务器的消息 给服务器发送了“给A的心跳帧”
4服务器接收到后 转发给A 此时 AB建立上了连接