内网穿透基础概念---内网外网
广域网和局域网
先上概念
广域网
广域网(英语:Wide Area Network,缩写为 WAN),又称外网、公网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网并不等同于互联网。
局域网
局域网(Local Area Network(LAN))是一个可连接住宅,学校,实验室,大学校园或办公大楼等有限区域内计算机的计算机网络。相比之下,广域网(WAN)不仅覆盖较大的地理距离,而且还通常涉及固接专线和对于互联网的链接。 相比来说互联网则更为广阔,是连接全球商业和个人计算机的系统。
在历经使用了链式局域网,令牌环,与AppleTalk技术后,以太网和**Wi-Fi(无线网络连接)**是现今局域网中最常用的两项技术。
概念图:
由此可见,一般我们的电脑都是连接在局域网上然后通过路由器和公网相连。
IPv4
简介
网际协议版本4(英语:Internet Protocol Version4,IPv4),又称互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。IPv4是互联网的核心,也是使用最广泛的网际协议版本,其后继版本为IPv6,直到2011年,IANAIPv4位址完全用尽时,IPv6仍处在部署的初期。
地址
IPv4使用32位(4字节)地址,因此地址空间中只有4,294,967,296个地址。不过,一些地址是为特殊用途所保留的,如专用网络(约1800万个地址)和多播地址(约2.7亿个地址)
地址格式
IPv4地址可被写作任何表示一个32位整数值的形式,但为了方便人类阅读和分析,它通常被写作点分十进制的形式,即四个字节被分开用十进制写出,中间用点分隔。
类型 | 地址块 | 地址范围 |
---|---|---|
默认路由 | 224.0.0.0/4 | 224.0.0.0 – 239.255.255.255 |
有限广播地址 | - | 255.255.255.255 |
环回地址 | 127.0.0.0/8 | 127.0.0.0 – 127.255.255.255 |
Test-Nest地址 | 190.0.2.0/24 | 190.0.2.0 – 192.255.255.255 |
链路本地地址 | 169.254.0.0/16 | 169.254.0.0 – 169.254.255.255 |
私有地址空间 |
10.0.0.0/18 172.16.0.0/12 192.168.0.0/16 |
10.0.0.0 – 10.255.255.255 172.16.0.0 – 172.31.255.255 192.168.0.0 – 192.168.255.255 |
多播 | 224.0.0.0/4 | 224.0.0.0-239.255.255.255 |
实验地址 | 240.0.0.0/4 | 224.0.0.0-255.255.255.254 |
一般情况下,我们电脑的地址都是192.168.0.0 -- 192.168.255.255
范围内的也就是私有地址(查看方法:win+r 输入cmd 在命令行中输入 ipconfig)
根据NAT协议,私有地址不能出现在公网上,只能在内部网络使用
端口
如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。
计算机之间的连接
都在公网上
如果要连接的机器都在公网上,那可以通过IP地址+端口号直接进行通信
如上图:我们有一个服务端B,他的ip地址是60.0.0.1
,他在9999
端口开放了一个服务。有一个电脑A,他的ip地址是50.0.0.1
。
现在电脑A要访问这个服务,此时A机器会随机打开一个端口(假如是8888端口),给该服务发送数据的时候,发送的数据包中就会带上A电脑的ip和以及发送数据包的端口号(50.0.0.1:8888),就像寄快递一样你得有对方的地址,同时你也要把自己的地址写在上面,在收到A的请求后,服务端B经过处理在通过数据包中的发送的IP+端口号,将处理好的数据发送给机器A,如此往复,直到连接结束
都在内网上
如果要连接的机器都在内网上,那也是可以通过IP地址+端口号直接进行通信
这和同外网,是一样的,只不过同外网是通过广域网交换机对数据包进行转发,而同内网是通过路由器进行转发
一台在外网,一台在内网
如果要连接的机器一台连接在内网上,一台连接在外网上,内网电脑A可以主动通过IP+端口号的形式去访问服务器B,但是在连接结束后,服务器B是不可以主动的去电脑A进行连接
如上图:电脑A内网IP为192.168.0.1
,路由器外网IP为:50.0.0.1
,服务器外网ip为:60.0.0.1
,同时在9999端口开放服务
当A想要与B建立连接并发送数据时,A发送的数据包会先经过路由器,我们知道A的IP是一个内网IP是不允许进入公网的,于是路由器会随机分配一个端口号与自己的公网IP组成IP+端口号的形式(例如:50.0.0.1:25565
),然后将A发送的数据包的IP+端口号改成路由器自己生成的,同时路由器会在自己的NAT表中制定一个规则:当路由器25565端口接收到数据,就将这个数据包转发到192.168.0.1:8888
,当A结束和B的连接后,路由器就会将这条规则删除。一旦这条规则被删除后,B就无法主动去向A发送数据,因为当路由器NAT表中没有此条规定,外部发向路由器25565端口的数据将不被路由器接收。
那么外网机器如何与内网机器建立连接呢?有两个方法:端口映射和内网穿透
内网穿透
内网穿透就是一种能让外网服务器直接访问内网设备的一种技术。
先上原理图:
想要内网穿透就要有一台服务器在公网上,A和B先和服务器建立连接,然后当B想和A建立连接时,服务器将B的[IP:端口号]发送给A,A接收到后和B建立连接,之后A、B就可以建立数据传输通道了。
还有一种情况就是,A和B分别在两个内网环境下,同样的他们先和公网上的服务器建立连接,当B想和A通信时,B先向服务器发送想和A通信的需求,服务器将B的[ip+端口号]发送给A,A向该[ipB+端口号B]发送数据,然后服务器再将A的[ipA+端口号A]发送给B,B向[ipA+端口号A]发送就不会被路由器拦截。
端口映射
**端口映射:**端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务。当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。
内网穿透基础概念---内网外网相关推荐
- 内网穿透 永久免费 简单实现外网访问内网SpringBoot
本地已经创建了SpringBoot项目的hello world, 在内网可以访问,但是没有公网ip,外网如何访问,这是个头疼的问题,今天我们来用简单的方法解决这一问题: 使用工具:网云穿 应用场景:外 ...
- 借助花生壳把内网网站映射给外网。(内网穿透/路由器端口映射)、外网控制内网...
其实这个东西几年前我就弄过,但是当时心智不成熟,没学会怎么玩耍,今天玩了一把也没啥的, 1.搭建网站 假设内网电脑是192.168.100.9 访问Http://192.168.100.9能打开网站, ...
- 【内网穿透服务器】使用Frp外网访问内网FTP服务器(以访问内网samba服务为例)
使用Frp外网访问内网FTP服务器(以访问内网samba服务为例) FTP是基于TCP的服务,使用两个端口,命令端口和数据端口,命令端口是21,数据端口在主动模式下为20,在被动模式随机分配. FTP ...
- 免费内网穿透3389端口,实现外网远程桌面内网【无需公网IP】
3389端口,是远程桌面的服务端口.我们可以通过3389端口,用Windows自带的远程桌面连接,来远程连接服务器设备,实现如同操作本地电脑一般的场景. 在同个局域网下,只需要启用"远程桌面 ...
- ipv6内网穿透,有ipv6地址外网无法访问
问题描述 光猫已经开启ipv6,并且电脑/服务器已经有ipv6地址,只能通过ipv6局域网访问,外网/手机流量访问设备 原因分析: 光猫没有关闭防火墙 路由器入站防护 解决方案: 1.光猫没有关闭防火 ...
- 《工具箱-内网穿透》FRP内网穿透(实现外网访问内网服务)
FRP内网穿透 一.环境: 内网服务器 Centos 外网服务器 Centos 模拟场景:使用虚拟机安装Centos系统模拟内网服务器,外网服务器是正常使用云服务器 适用于:Company内部有自己的 ...
- 【内网穿透服务器】使用FRP实现内网穿透,远程访问内网服务器
使用FRP实现内网穿透,远程访问内网服务器 frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持 ...
- FRP内网穿透映射本地内网80端口到云服务器
FRP内网穿透映射本地内网80端口到云服务器 如题,我的配置中本地服务器和云服务器都为ubuntu20.04,但CentOS同样适用. PS:怎么把网页部署到本地80端口请找别的教程,本文重点在内网穿 ...
- CentOS7内网穿透(公网访问内网)SakuraFrp-frpc配置(从0开始)
CentOS7樱花内网穿透(公网访问内网)SakuraFrp-frpc配置 初始环境 1:一台装好的linux系统(我这里使用的是centOS7) centOS7U盘安装 2:确保你的linux系统的 ...
最新文章
- oc 查看属性默认关键词
- 读取word文件中的文本信息
- 建模准备一定要做的这几件事
- 关于SMARTFORM的页数问题
- boost::hana::integral用法的测试程序
- CMake基础 第1节 初识CMake
- springboot配置shiro多项目实现session共享的详细步骤
- 【图论】【二分图匹配】[POJ 3041]I'm Telling the Truth
- nmea怎么转wgs84坐标c语言源码,NMEA-0813数据格式说明
- 电子设计大赛可以用linux开发板嘛,【一转再转】电子设计大赛应该怎么准备?...
- linux内核audit,linux下的audit服务
- 如何卸载重装Adobe Acrobat
- Using ‘UTF-8‘ encoding to copy filtered resources. skip non existing resourceDirectory
- Visio安装失败 无法打开注册表项 解决方案
- 一个执念重度患者的自白
- Adaboost 算法的公式推导与讲解
- 投影坐标系的shp数据,如何获取到它地理坐标系下的经纬度坐标
- Chomsky文法分类
- 为什么Linux会开机黑屏?
- 通过shell脚本消耗cpu与内存
热门文章
- 《雍正皇帝》文化专有词泰译研究(选题缘由)
- day06_雷神_面向对象初识
- 递归函数的简单应用-第五个学生的年龄
- 如何快速掌握一门新的技术
- 互融云贷款中介平台搭建,助力企业实现数字化智能办公
- 论文-Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images
- sql空值用什么表示_表面粗糙度Ra为什么用0.8,1.6,3.2,6.3,12.5表示?
- mysql中字符串拼接函数_MySQL 字符串连接CONCAT()函数
- HDU4544 湫湫系列故事——消灭兔子
- html樱花飘落代码_武大樱花又盛开,用python画一棵樱花树