当前位置 博文首页 > 小菠萝测试笔记:一起来聊聊 IP 地址、局域网、广域网、IPV4 和

    小菠萝测试笔记:一起来聊聊 IP 地址、局域网、广域网、IPV4 和

    作者:小菠萝测试笔记 时间:2021-06-25 18:31

    背景

    • 谁都知道 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

    1. 假设电脑 A 需要访问外部的 8.8.8.8 设备
    2. 那么就会将数据包发送给路由器
    3. 路由器发现这个数据包是要发送给 8.8.8.8 的,就会将 IP 映射成自己的 IP 6.6.6.6,并记录成映射表 
    4. 最后,8.8.8.8 设备接收到的数据包的 IP 是 6.6.6.6
    5. 这样五台电脑发送出去的数据包,都能通过路由器转换为 6.6.6.6,以这个 IP 去传输数据
    6. 就能实现五台设备共用一个 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

     

    类比的栗子

    1. 比如你居住在一个名叫月亮湾的小区,具体地址是15号楼二单元101
    2. 假设全球只有一个小区叫这个名,那么只要别人提起月亮湾就知道是哪个月亮湾了,这种能直接通过地址访问,可以拿到大的层面上直接使用的地址就是公网 IP

    1. 而小区内部其实就是局域网,你只要在小区内说是15号楼二单元101的,别人就知道你在哪
    2. 假设隔壁小区也有15号楼二单元101,隔壁的隔壁小区也有15号楼二单元101,寄快递的时候只写15号楼二单元101不写月亮湾,那么快递肯定不知道寄去哪里
    3. 像这种只能在小区内(局域网内)使用的 IP 就是私有 IP,它只有连同一个局域网的其他设备才会知道

     

    IPV 6

    能支持 3.4 * 10^ 38 个 IPV6 地址,这应该是多少亿亿亿个了吧...给每个生物分配一个都够用了

     

    数字0-9,大写字母A-F

     

    ipv4 和 ipv6 是两个完全不同的两个协议

    • 它们之间不能直接互通,必须要借助其他的设备去做转换和映射
    • 导致在短时间内,IPV6 替换 IPV4 是很困难的

     

    会持续更新知识点

     

    bk
    下一篇:没有了