一文读懂内网、公网和NAT
我们做弱电监控系统的时候,都避免不了要跟IP地址打交道,比如摄像头、NVR、服务器等这些设备安装好之后,就需要给它们配上IP,那这个IP地址你了解嘛?今天我们就一起来聊聊什么是内网、公网和NAT地址转换? |
内网也叫局域网,从范围上来讲内网就是小部分的网络,一般指的是特定环境下组成网络,比如某一个家庭多台计算机互联成的网络,也可以学校和公司的大型局域网,内网的IP一般都是192.168.1.100,192.168.0.100,172.16.1.100……这些都是内网IP,内网是不能直接连接外网,比较封闭,但在内网里面可以实现文件管理,应用软件共享、打印机共享等服务。
什么是内网、公网和NAT?读懂这一篇就够!
外网又被叫做互联网,是连接不同地区局域网或者城域网计算机的通信的远程网络。通常可以跨接很大的物理范围,覆盖的范围可以是几十公里到几千公里,它能连接多个地区、城市和国家提供远距离通信,形成全球性的互联网络。
NAT被叫做地址转换技术,诞生于IP地址匮乏的年代,传统IPV4的公网地址已经枯竭,如果没有NAT地址转换技术,现在很多设备都是连接不上互联网的,很多人在公司上班或者在家里上网,电脑都会分配到一个192.168.1.100的私网地址,这种地址只适用于在局域网内通信,是出不了外网的,正是因为NAT技术的出现才使得内网地址能很方便的访问互联网。
什么是内网、公网和NAT?读懂这一篇就够!
内网和外网连接,除了需要硬件上的路由器或是防火墙设备支持,还需要事先配置好电脑和路由器等设备的IP地址,IP地址是32位的二进制数值,用于TCP/IP通讯协议中标记每台电脑地址,通常我们用点分十进制表示,比如192.168.1.100。互联网是由许多小型局域网组成,每个网络上都有很多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址分割为网络号和主机号两部分,方便IP地址的寻址操作。
IP地址可以划分为两个部分,网络号和主机号部分,网络号表示所属的网络段编号,主机号表示该网段中该主机的地址编号。IP地址可以分为A、B、C、D、E五类:
A类:0.0.0.0-127.255.255.255
B类:128.0.0.0-191.255.255.255
C类:192.0.0.0-223.255.255.255
D类:224.0.0.0-239.255.255.255
E类:240.0.0.0-247.255.255.255
其中A、B、C三类地址称为单播地址,用于标识一个终端设备的接口,而目的地址为单播地址的报文称为单播报文;D类地址称为组播地址,目的地址为组播地址的报文称为组播报文,某些设备启用了特定功能的接口可以收到对应组播地址的组播报文;E类地址暂时不用;还有一个特殊的地址是255.255.255.255,称为广播地址,广播报文可以被局域网内的所有设备接收。
IP地址中,有三段地址专门用于私网的规划,不能被用于互联网上的连接如下:
A类:10.0.0.0-10.255.255.255
B类:172.16.0.0-172.31.255.255
C类:192.168.0.0-192.168.255.255
也正是因为有了私网地址的出现,解决了局域网内电脑终端设备的IP问题,但也因为NAT技术的出现使得内网地址可以很方便访问互联网,但互联网地址访问内网终端设备很麻烦,想要访问需要做端口映射。
端口映射就是將外网主机的IP地址的一个端口映射到内网中的一台设备,提供相应的服务。当用户访问这个IP这个端口时,服务器自动将请求映射到对应局域网内部的终端设备上。配置的端口映射非常简单,进入路由器WEB界面配置内网IP地址以及映射的端口,外部端口和协议,配置好之后保存生效。
什么是内网、公网和NAT?读懂这一篇就够!
NAT主要功能是可以在内网配置私有IP地址,然后在路由或者防火墙等边界设备上统一转换为公网地址在访问互联网,这样就不需要为局域网内的每台终端设备配置公网IP地址,解决了公网IPV4地址枯竭的问题。
虽然NAT解决了IPV4地址枯竭的问题,但ANT技术本身也有自己的特点。NAT技术可以共享公有IP地址,还可以对终端用户透明,使得终端网络更加安全,但也会使边界路由器等设备处理量增加而导致性能下降,甚至还会阻碍合法程序的远程访问。从应用的角度来说,NAT的应用场景主要有以下3个方面:
多对1转换:这也是最常见的配置,既有很多的私有IP地址,只有一个公网IP地址,然后通过正常配置NAT使得一个小区或者一户家庭或者一个公司接入到互联网。
什么是内网、公网和NAT?读懂这一篇就够!
多对多转换:有很多的私有IP地址,对应很多的公网IP地址,谁先来使用,先转化,用完为止。
1对1转换:即是1对1的关系,1个公网地址对应1个私网地址,这种主要做端口的静态映射。
最后,做个小结我们通常说的内网就是特定环境下的局域网,比如家庭几台电脑设备连接的局域网,外网也被称为互联网,连接地区、城市和国家的互联网络,NAT技术的出现了解决了公网IP地址枯竭的问题,可以使电脑等终端设备通过配置私网IP就可以正常连接互联网。
一文读懂内网、公网和NAT的更多相关文章
- 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...
- 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?
本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享. 1.引言 Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡 ...
- 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现
一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...
- kubernetes基础——一文读懂k8s
容器 容器与虚拟机对比图(左边为容器.右边为虚拟机) 容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术.CGroup(Co ...
- 一文读懂HTTP/2及HTTP/3特性
摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...
- 一文读懂高性能网络编程中的I/O模型
1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...
- 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路
本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...
- [转帖]MerkleDAG全面解析 一文读懂什么是默克尔有向无环图
MerkleDAG全面解析 一文读懂什么是默克尔有向无环图 2018-08-16 15:58区块链/技术 MerkleDAG作为IPFS的核心数据结构,它融合了Merkle Tree和DAG的优点,今 ...
- [转帖]一文读懂 HTTP/2
一文读懂 HTTP/2 http://support.upyun.com/hc/kb/article/1048799/ 又小拍 • 发表于:2017年05月18日 15:34:45 • 更新于:201 ...
随机推荐
- Django实现自动发布(2视图-任务接收)
上一篇服务版本的新增,是通过触发 gitlab 任务来实现的,那么如何得到任务的最终状态呢? 好在 gitlab 为我们提供了webhook,也就是消息钩子,可以发送pipeline消息到我们指定的地 ...
- Cesium中的几种坐标和相互转换【转】
几个重要的坐标对象:1.世界坐标 Cartesian3:笛卡尔空间直角坐标系 new Cesium.Cartesian3(x, y, z) 可以看作,以椭球中心为原点的空间直角坐标系中的一个点的坐标. ...
- save tracking results into csv file for oxuva long-term tracking dataset (from txt to csv)
save tracking results into csv file for oxuva long-term tracking dataset (from txt to csv) 2019-10-2 ...
- Curiosity-Driven Learning through Next State Prediction
Curiosity-Driven Learning through Next State Prediction 2019-10-19 20:43:17 This paper is from: http ...
- hinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
检查了服务器上的文件,并没有缺少文件,再次上传文件到服务器,还是报错.莫名其妙,怀疑是代码问题. 仔细检查后,发现是模板的文件名问题: 用过TP的都知道:thinkphp会在$this->dis ...
- MIME类型和Java类型
MIME类型和Java类型 类型转换Spring Cloud Stream提供的开箱即用如下表所示:“源有效载荷”是指转换前的有效载荷,“目标有效载荷”是指转换后的“有效载荷”.类型转换可以在“生产者 ...
- 支付宝小程序开发——H5跳转到小程序(获取小程序页面的链接)
前言: 这个问题支付宝小程序官方文档并没有专门说明,钉钉群的官方技术支持给了个开发者社区的帖子,详见:如何跳转小程序. 如果配置的页面没有参数还好,不会出问题,如果有参数,很可能配出来的链接无法正常获 ...
- 为什么0x00400000是可执行文件的默认基址?EXE base address start with 400000H,Why is 0x00400000 the default base address for an executable?
DLL的默认基址是0x10000000,但EXE的默认基址是0x00400000.为什么EXE特别值?4 兆字节有什么特别之处它与x86上单页目录条目映射的地址空间量和1987年的设计决策有关.对EX ...
- 【Maven学习】定制库到Maven本地资源库
目标:手工操作将一个jar安装到本地仓库 第一步:首先获取到jar包,可以是第三方的 也可以是自己创建的,放到本地任意目录 比如:joda-time-2.10.3,放到C:\jar\ 目录下面 第二 ...
- SpringBoot中使用Thymeleaf模板
1.引入pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...