如何使处于不同局域网的计算机实现远程通信

我们知道处于同一局域网的两台计算机,进行通信的方式很简单,可以直接通过局域网内的私有ip定位计算机。但是如果要访问外网即非本局域网的计算机就相对而言比较复杂。

下边为了更好的理解这个过程,我从几个问题说起:

1.要访问一台远程非局域网的计算机,哪些是必须知道的?

         我们知道,网络中IP地址+端口号可以唯一锁定一台网络中的计算机。所以,必须要知道这台计算机在网络中的IP,以及要通信的端口号。如果这台计算机处于另一个局域网,则我们无法读到它的私网ip,但是我们可以得到这个局域网的公网IP及对应的端口号。

2.那通过什么方式获得这台计算机的公网IP和对应的端口号呢?

        据我所了解,可以通过使用公共服务器来达到此目的。比如说,以新浪的服务器为例,两台计算机都可以访问新浪的服务器,那么新浪的服务器肯定会有两台计算机的公网IP及对应的端口号,其实也不一定就是,但肯定是处于两者之间,进而可以一步步实现通信的中间路由器的IP及端口号。当需要访问另一台计算机时,新浪服务器会将这台计算机的公网IP和端口号发给本地计算机的公网IP及端口号,继而就得到了需要访问的计算机的端口号和公网IP地址。

3.本地计算机访问远程计算机是数据帧中的MAC地址是填写的什么?

        本地计算机的源MAC是本地主机的网卡MAC地址,目标地址是局域网默认网关的MAC地址,IP源地址是主机地址,IP目的地址就是另一台计算机的公网IP,TCP/UDP里边的端口号是本地端口号和另一台计算机的公网映射的端口号。在 经过NAT(网络地址转换后),IP源地址变成本地公网IP地址,端口号也为对应的公网端口号,之后每经过一跳,对应的MAC地址即数据帧的帧头和帧尾会做相应的调整,其他的不会改变。

4.。远程计算机的公网路由器接收到数据帧后怎么转发给指定的计算机

      做相应的NAT转换, 根据端口和私网的IP地址找到需要通信的计算机,再将数据帧发送给指定计算机的相应的端口号。

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值