一起来聊聊 IP 地址、局域网、广域网、IPV4 和 IPV6
背景
- 谁都知道 IP 地址是干嘛的,但是它出现的前因后果你真的知道吗?
- 我觉得很有必要重新复习下计算机网络基础知识,实在太太太重要了
- 本篇文章素材均来自:https://www.bilibili.com/video/BV1DD4y127r4;这个 UP 感觉还是很不错
- by the way:有时候学习一个知识点,官网的确是最准确的, 但一定不是通俗易懂的,借助大神做的一些动态图和类比场景,能更快吸收一个知识点
- 最佳学习方式:看一遍官方,看一遍别人做的学习视频,再看一遍手动记录干货,形成自己的知识体系
为什么会出现 IP 地址
假设只有一台电脑
- 所有数据就会存储在这台电脑的硬盘上,和其他电脑本身不存在任何干系
- 但一台电脑能做的事情是非常少的,很可能会出现多台电脑协同工作
假设有两台电脑
- 两台电脑协同工作,那肯定会出现数据交互的需求,那就需要用中间介质(比如 U 盘)来交换
- 这种方式既不是数据实时传输,也非常耗时耗力
线缆(网线)的出现
两台电脑之间可以通过网线来实时传输数据
但假设有很多台电脑,那每两台电脑间都需要一条网线来连接,随着设备数量上升,需要的接口数量和线材数量也会越来越多,这是十分不合理的
交换机的出现
- 电脑和电脑之间的连接不再是点对点连接了
- 而是全部都接入交换机,由交换机去分发来自不同设备的数据
交换机的类型
- 很多个接口的常规网络交换机
- 服务器
- 家里的路由器
交换机详细介绍等后面的文章吧
非点对点连接的问题
- 点对点连接时,两台电脑交互数据的是通过对应接口的,所以数据一定会传送到目标主机上
- 但是接入交换机之后,就不清楚数据发送给哪个目标主机了
- 类比:网购发货,没有填清楚收件人的地址,所以无法精准送货
数字虚拟地址
- 为了解决上述非点对点连接的问题,诞生了数字虚拟地址
- 电脑发送数据的时候,带上这个数字虚拟地址,就能知道目标主机是谁了
- 栗子:182.168.0.1 主机要发送数据给 192.168.0.3 主机,就在数据的抬头(包头)上加上 192.168.0.1,这样数据到达交换机后就能准确发送给对应目标主机了
说明
- 此处采用的交换机是三层交换机,具有 DHCP 分配 IP 的功能
- MAC 地址为物理层面设备识别
- 数据传输依赖 TCP/UDP
IP 地址来了
- 其实数字虚拟地址就是 IP 地址
- 类比:网购发货的时候,发送的物品就是数据,收件人地址可以理解为 IP 地址
局域网
每个电脑都拥有自己的 IP 以后,加上连接的交换机,就能组成一个小的可以用来交换数据的网络,这就是局域网
新加入一个局域网
需要把两个局域网的交换机连接起来,组成一个更大的局域网
随着时间的推移,可能需要连接的局域网也会越来越大,那么局域网之间又会通过一个新的交换机来连接
广域网
- 上面有说到,随着局域网越来越多,这个网络也会变得越来越大,用户只需要连接一个交互机可能就能访问世界上绝大多数的设备,这就是广域网
- 广域网就是一个设备数量超级庞大的局域网
- 想要把世界各地的设备连接起来并不容易
- 需要在多个重要城市架设骨干服务器,还要在不同区域布置分支服务器,然后让大家接入
- 这需要大量的资金成本、后期维护
- 做这种吃力不讨好活的就是 ISP(互联网服务提供商),在中国有联通、电信、移动
- 正需要资金成本和维护成本,所以你的手机流量和家用宽带都是计费的
IPV 4
- 由 32 位二进制数构成
- 理论上,可以提供 2^32 约 42.28 亿 个地址
转成十进制
为了方便记忆和输入,每 8 个二进制数划分为一组,然后转换为十进制数,变成常用的 4 个 0-255 数字
IP 地址的分类
一些地址有特殊的用途,所以被保留下来不允许被大众使用,最后可能真正可用的 IP 地址只有 36.74 亿个
全球 IPV4 地址不够用
现在全球有75亿个人,假设只有四分之一的人用互联网,那么也有 18 亿人
但每个人的设备数量可能有多个,比如手机+IPAD+电脑,如果都想要独立的 IP 地址,那么 IPV4 很明显不够用
IPV4 已经枯竭
- 2011 年底,打包分配的 IPV4 地址已经枯竭了
- 2020 年底,亚太互联网信息中心将发布不出来一个新的地址
- 除非有人返还旧的地址
NAT 网络地址转换
为了解决 IPV4 地址枯竭的问题,引入了 NAT 地址转换
上图
- 五台电脑接入一个路由器
- 路由器接入广域网的 IP 是 6.6.6.6
- 对于家用来说,路由器由于是接入广域网并执行 NAT 的,所以路由器就是网关
传输场景,引入 NAT
- 假设电脑 A 需要访问外部的 8.8.8.8 设备
- 那么就会将数据包发送给路由器
- 路由器发现这个数据包是要发送给 8.8.8.8 的,就会将 IP 映射成自己的 IP 6.6.6.6,并记录成映射表
- 最后,8.8.8.8 设备接收到的数据包的 IP 是 6.6.6.6
- 这样五台电脑发送出去的数据包,都能通过路由器转换为 6.6.6.6,以这个 IP 去传输数据
- 就能实现五台设备共用一个 IP
接收方也可以作为网关
这样它下面就会连接了很多台设备,那它们也可以共用 8.8.8.8 这个 IP
存在问题
- 左侧五台设备都是通过 6.6.6.6 来发送数据包的,但是右侧接收方并不知道发送过来的数据包应该给哪台设备接收
- 而 8.8.8.8 的下行数据发送到 6.6.6.6 之后,也不知道给五台设备中的哪一台来接收
端口映射
为了解决上面存在的问题,引入了端口映射
具体表现方式
- 其实就是在 IP 后面加端口 6.6.6.6:8080
- 网关就会以不同的端口去和外网交互,然后把这些端口映射给局域网内的各个设备
- 传输数据包的时候,除了 IP 地址需要映射为网关 IP 之外,还需要将端口映射为网关的端口
- 这样就能实现共用一个 IP 还能精准传送数据了(解决上面存在的问题),以实现 PAT 多对一映射了
其实就是因为 NAT 和端口映射的存在,才让 IPV4 即使在不够用的情况下还能坚持这么久
公有 IP 和私有 IP
- 前面有说到 A、B、C、D、E 五台设备共同连接一个路由器,那么这五个设备就是寄宿在 6.6.6.6 网关下的私有 IP
- 网关所拥有的的可以直接用来在广域网上交互数据的 6.6.6.6 就是公网IP
类比的栗子
- 比如你居住在一个名叫月亮湾的小区,具体地址是15号楼二单元101
- 假设全球只有一个小区叫这个名,那么只要别人提起月亮湾就知道是哪个月亮湾了,这种能直接通过地址访问,可以拿到大的层面上直接使用的地址就是公网 IP
- 而小区内部其实就是局域网,你只要在小区内说是15号楼二单元101的,别人就知道你在哪
- 假设隔壁小区也有15号楼二单元101,隔壁的隔壁小区也有15号楼二单元101,寄快递的时候只写15号楼二单元101不写月亮湾,那么快递肯定不知道寄去哪里
- 像这种只能在小区内(局域网内)使用的 IP 就是私有 IP,它只有连同一个局域网的其他设备才会知道
IPV 6
能支持 3.4 * 10^ 38 个 IPV6 地址,这应该是多少亿亿亿个了吧...给每个生物分配一个都够用了
数字0-9,大写字母A-F
ipv4 和 ipv6 是两个完全不同的两个协议
- 它们之间不能直接互通,必须要借助其他的设备去做转换和映射
- 导致在短时间内,IPV6 替换 IPV4 是很困难的
会持续更新知识点
一起来聊聊 IP 地址、局域网、广域网、IPV4 和 IPV6的更多相关文章
- 获取本机的IP地址(局域网)与主机名称
编写内容保存为bat @echo off &setlocal enabledelayedexpansion Rem '/*========获取本机的IP地址(局域网)=========*/ e ...
- TCP/IP读书笔记(4) IPv4和IPv6 路由选择
TCP/IP读书笔记(4) IPv4和IPv6 路由选择 网络层是位于链路层之上,TCP/IP模型中网络层的核心协议是IP协议(Internet protocol). 目前主流的IP协议是IPv4(I ...
- (转)协议森林04 地址耗尽危机 (IPv4与IPv6地址)
协议森林04 地址耗尽危机 (IPv4与IPv6地址) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! IP地址是IP协议的重要组 ...
- IP地址 A\B\C类
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address),在Internet上,一种给主机编址的方式.常见的IP地址,分为 ...
- Windows 之 IP地址
IP地址是指互联网协议地址(Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络 ...
- windows之IP地址(一)
服务器: 顾名思义,是服务我们上网的机器.结构组成上和普通的PC结构相似,装了服务器版的系统后都可以作为服务器使用,但前者可靠性高.服务器是网络这个网上的中间节点,供每台终端进行访问.数据信息保存,有 ...
- Centos7配置IP地址和DNS
目录 一.查看IP地址 1.ifconfig命令 2.ip addr命令 二.配置网卡 1.动态IP地址 2.静态IP地址 3.重启网卡 三.注意事项 四.本地虚拟机设置静态IP后不能上网的解决方法 ...
- TCP/IP__TCP协议IP协议&IP地址
IP协议(Internet Protocol) 1. 定位:计算机网络间相互连接进行通信而定义的协议.在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进 ...
- IP地址个数的计算原理
IP注释: IP地址(Internet Protocol Address),缩写为IP Adress,是一种在Internet上的给主机统一编址的地址格式,也称为网络协议(IP协议)地址. 它为互联网 ...
随机推荐
- Nmap浅析(1)——主机发现
主机发现 当网络不通时,Ping一下网关来检查网关是否正常.当测试的目标是一个网络时,其中在线的主机才是目标,那么就需要技术来找出这些目标. 技术的方法大都与TCP/IP协议族中的协议相对应. ...
- 图扑软件正式加入腾讯智维生态发展计划,智能 IDC 开启数字经济新征程
4 月 23 日,主题为<智汇科技,维新至善>的腾讯数据中心智维技术研讨会在深圳胜利召开,发布了腾讯智维 2.0 技术体系,深度揭秘了智维 2.0 新产品战略和技术规划.图扑软件(High ...
- Pytorch实现对卷积的可插拔reparameterization
需要实现对卷积层的重参数化reparameterization 但是代码里卷积前weight并没有hook,很难在原本的卷积类上用pure oo的方式实现 目前的解决方案是继承原本的卷积,挂载一个we ...
- ROS之初见Hello World
前言 最近在玩ROS,笔记中断了一段时间. ROS即Robot Operating System,机器人操作系统,是一个开源框架,主力语言是C++和python,提供了硬件抽象.设备驱动.库函数.可视 ...
- java集合类介绍
目录 集合类简介 List ArrayList LinkedList Vector Stack Set HashSet LinkedHashSet TreeSet Map HashMap Hashta ...
- [刷题] 220 Contains Duplicate III
要求 给出整型数组nums和整数k,是否存在索引i和j 使得nums[i]和nums[j]之差不超过t,且i和j之差不超过k 思路 建立k个元素的有序查找表 每次有新元素加入,寻找查找表中大于 num ...
- Linux查看登录日志 last命令 查看当前登录用户
Linux查看登录日志 linux 发布于 31 分钟前 lastlog 打印系统账号最近一次的登录记录情况,解析的是/var/log/lastlog文件,它是一个data file类型的文件,文 ...
- 小米华为vivooppo手机记录隐私证据查询
1.在拨号界面输入:*#*#4636#*#* 2.在输入代码之后 手机会自动跳转到下面这个页面 就可以查看她到底拿着手机在干嘛 2 输入下面代码可以检测小米手机的各种信息 *#*#64663#*#*
- 搭建LAMP环境部署GLPI资源管理系统
搭建LAMP环境部署GLPI资源管理系统 一.关闭防火墙和Selinux [root@localhost ~]# systemctl disable --now firewalld [root@loc ...
- Scala 安装与配置
安装准备 由于 Scala 运行于 Java 平台,因此 Scala 之前需要确保系统安装 JDK Windows 中安装 Scala 1. 下载 scala-2.11.2.msi 安装包 点击安装文 ...