原理
家庭网络一般连接在一台路由器上,企业网络复杂很多,一般也处在一个互通的网域内。这些网络称为局域网,都有一个共同的特点:处在局域网外的电脑不能访问域内的电脑。
这是因为IPv4的地址不够用,一个局域网内的电脑共享一个公网IP(相对的),并经过部署在路由器等网络设备上的NAT技术,对IP地址进行转换,将局域网内的IP地址与公网IP进行互换,这样局域网内的电脑就能以公网IP访问互联网。
然而,NAT设备将屏蔽来自局域网外主动发起的连接,因此需要内外穿透技术。
- 若路由器被分配了固定的公网IP,则将路由器端口与电脑端口映射。
- 若路由器被分配了临时的公网IP,因为IP会改变,则可以使用域名解析服务,将域名与IP绑定,等IP变动时更改之。
- 若路由器被分配了内网IP(大多数情况下),如图1,内网电脑(Client A)事先主动与一个拥有公网IP的服务器建立长连接,服务器将发送到某些端口的数据直接转发到Client A,之后外网电脑(Client B)只要与服务器通信,就能访问Client A了。
SSH
利用SSH端口转发的能力。