如何使处于不同局域网的计算机实现远程通信
我们知道处于同一局域网的两台计算机,进行通信的方式很简单,可以直接通过局域网内的私有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地址找到需要通信的计算机,再将数据帧发送给指定计算机的相应的端口号。
如何使处于不同局域网的计算机实现远程通信相关推荐
- 如何使处于不同局域网的计算机实现远程通信_小区自来水二次加压泵站远程监控系统方案...
一.小区自来水二次加压泵站远程监控系统方案项目概述 随着城市高效快速地发展,市区规模越来越大,小区二次加压泵房将继续增加,供水公司二次加压泵房管理工作将更加繁重. 目前小区二次加压供水方式主要有两种, ...
- 华为备份历史版本_华为手机NAS备份时提示“需处于同一局域网”的解决方法
本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:噩梦飘雷 创作立场声明:在使用华为手机向群晖NAS中备份时发现一直无法成功,经过一番研究找到了解决方案,希望能帮到大家~ 前言 最近看了一位 ...
- 怎么让手机和电脑处于一个局域网 电脑本机发布的项目(非阿里云发布),怎么让手机也可以访问电脑发布的项目
当我们在电脑上发布项目的时候,想测试一下在手机上浏览项目,布局会不会乱了. 第一.想要电脑上发布的项目,适应任何浏览器,任何分辨率的电脑: 1.用BootStrap来做前端页面 2.任何css样式都要 ...
- 02、处于不同局域网下的Socket通信(网络部分理论知识)
目录 一.服务器 1.服务器的种类和功能 2.服务器的操作系统 3.IIs.Apache.Tomcat 4.云服务器 弹性云服务器(Elastic Cloud Server,ECS) 云服务器安全组 ...
- 检查两台主机是否同处于一个局域网
一般来说,在校园的情况下,实验室服务器和宿舍/工位的主机在同一个局域网内,对外有相同的外网IP地址,对内有不同的内网IP地址,基于此可以通过ssh/安全外壳协议连接两台主机,并进行通信:远程调试代码. ...
- 与电脑处于同一局域网下的手机访问电脑网站
在网上找了很多关于这方面的教程,个人觉得都不是很全面.我下面就给大家详细的教程. 具体思路: 1.安装IIS. 2.部署网站. 我分了十四个步骤: 1.打开控制面板,点击程序: 2.点击启用或关闭 w ...
- Linux系统的广播和组播
广播 广播:在一个局域网内部,所有的终端都能够收到数据包.使用广播的发送数据,会使处于同一个局域网内部的所有用户都必须接收到数据,用户不能拒绝. 注意:在使用广播和组播时,发送方和接收方都要处于同一个 ...
- 安卓手机作为文件共享服务器,如何设置电脑使安卓手机能访问局域网共享的文件...
我们在家里有时候会使用PC电脑,有时候又会使用智能手机,而通常情况下,这些设备都是处在同一个局域网中的,那么,手机可以访问局域网电脑中的共享文件夹吗?我们可以通过以下对电脑的设置步骤,来实现使安卓 ...
- w5500跨网段_串口转以太网模块—W5500S2E-S1如何与计算机建立局域网
前面已经给大家介绍了关于W5500S2E-S1的相关功能和特性,想必大家对S2E模块都有了一个大概的了解,那么如何具体使用S2E模块呢? 因为S2E模块是一款联网模块,它的主要功能是实现串口和网口之间 ...
最新文章
- vim粘帖的一个问题分析(pastetoggle)
- Hadoop运维记录系列(十二)
- 卡尔曼滤波器算法(Kalman Filter)—— 数学推导,图文并茂
- 提升安全性WindowsXP必禁的十大服务
- mysql表的级联操作_mysql表之间的关系及级联操作
- 华为杯数学建模2020什么时候出结果_关于组织参加“华为杯”第十七届中国研究生数学建模竞赛通知...
- CCF农产品价格预测-复赛rank2代码公布
- yii 操作数据库的三种方法
- [面试] 算法(八)—— 树
- c语言程序游戏例子,C语言游戏编写例子.doc
- ios9版本的iphone,不执行网页js
- 视频录制软件进行电脑屏幕录像的使用方法
- 入侵修改服务器内容,怎么入侵服务器修改数据库
- 全面解读Marshmallow
- PS4手柄控制无人驾驶小车车
- 串口通信协议简介—学习笔记
- Armijo条件,Wolfe条件,Goldstein条件
- 谁在“接盘”造车新势力?
- 相对论到底说了些什么,你也能看懂
- 校园人到企业人的转变
热门文章
- python秒表倒计时模块
- 斯坦福大学计算机专业申请要求,美国斯坦福大学计算机专业留学申请要求有哪些?专业核心领域有哪些?...
- 现在开始努力掌握递归算法
- 如何解决错误 error LNK1104: 无法打开文件“nafxcwd.lib”
- 【jeecg boot】【PowerDesigner】使用PD创建数据库,并使用jeecg生成代码来创建一个干部任命表单
- Unity---2d射线检测
- asterisk 配置mysql_asterisk安装、配置
- Java入门-方法3【入门】兔子繁殖(方法)
- 从原理的视角,一文彻底区分MOS MOSFET NMOS PMOS CMOS
- linux笔记(9):MangoPi-MQ(芒果派麻雀D1s)Tina系统编译烧录