IP地址到底是什么?

程序员鱼皮

共 2705字,需浏览 6分钟

 · 2022-08-03

一、前言

如果你现在正在看我的这篇文章,那说明你已经连接上了互联网。说到互联网,你一定听说 ip 地址这个概念,你知道 ip 地址是做什么的吗?与之而来的还有公网 ip ,私网 ip ,你知道有什么区别吗?

二、计算机之间点对点的交流

正常情况下,你和我都有一台电脑,但是一台电脑所能做的事情是有限的,可能两台电脑之间为了做更多的事情,需要数据交互,我们可以通过U盘作为媒介,进行数据交换,但这样效率实在是太慢了,于是,为了提高效率,有人想到了一个好办法,我们在两台电脑之间插上数据线,通过数据线进行数据交互

有了这根数据线,或者叫网线,这个两台电脑就能进行数据交互了,但是,如果不止有两台电脑呢?有多台电脑的情况下,又该这么牵网线呢?

你发现了,如果每一台机器为了和其他机器通讯,那就得和那台机器建立连接,如果随着机器越来越多,那网线数目会是多么复杂,这肯定是无法接收的。

三、交换机

为了解决计算机之间点对点交流的复杂性,我们引入的交换机的概念

有了交换机之后,由交换机去分发来自每台机器的数据。

这时候又有新的问题,在点对点的数据连接上,两台电脑如果想进行数据交互,只需从众多的数据线中找到对应的主机的数据线,但现在都发给交换机了。交换机应该怎么去分发数据呢?这就像应该没有填清楚具体地址的包裹一样,交换机就像快递公司,你给了快递公司,没给地址,那快递公司就不知道应该把包裹发给谁。快递公司只要有快递的地址就知道该把包裹发哪儿,交换机也一样,我们可以为每一台机器分配一个 ip 地址。

有了IP地址之后,只需在发送的数据包里面加上对应主机的IP地址,那交换机就能根据具体的IP地址把数据发送到对应的机器。

四、局域网到广域网

通过交换机,我们可以让连接到交换机的计算机进行数据交流,假如这几台机器是你学校的电脑,你的学校想和隔壁学校进行业务合作,就需要彼此的电脑也进行数据交流,正好隔壁的电脑也是用的交换机进行数据交流,于是我们只要把两个学校的交换机连接,那两边的电脑就能相互访问了。

通过连接两台交换机,让两边的电脑能数据交流,之后如果还要加更多的局域网,那在把彼此的交换机进行连接

随着局域网的交换机优越来越多,交换机也像之前计算机之间点对点的连接那样复杂,于是在交换机之间又放入新的交换机。

就是这样,交换机越来越多,直到覆盖全世界,你只需进入其中任意一个节点,就能访问到全世界任意一条同样连接到网络的节点,这就构成了广域网。你可以理解为:

广域网就是无数的局域网的结合。

很明显,搭建这些网络肯定都是需要一笔不小的资金,搭建这些网络的公司被称为 ISP 互联网服务供应商,大家所熟悉的移动,电信和联通就是 ISP 供应商,他们通过为用户提供网络赚取费用。

五、IPV4

互联网的每一台机器都是需要一个 IP 地址才能彼此访问的,那首先我们得来聊聊 IP 地址的构成。IP 地址一般说的是 IPV4 的 IP 地址,它是由 32 位构成,那 IP 地址能用的组合就是 2 的 32 次方,大于等于 42.28 亿。

为了方便记忆和输入,将每 8 个二进制分为一组,共 4 组,在转换为 10 进制

同时,还会对 IP 地址进行分类,一些地址作为特殊用途

最后真正可用的地址可能还没有 42 亿个。已知全球一共有 70 多亿的人口,虽然不是每个人都会访问互联网,但是有很多人并不止一台设备,一个人可能有多台手机,电脑等等,如果要给每台设备都去分配一个 IP ,那这 42 亿的 IP 地址够用吗?完全不够。

六、NAT 网络地址转换

为了解决IP不够用的问题我们使用了一项新的技术,NAT 网络地址转换。假如有五台计算机,他们的IP地址是192.168.0.1----192.168.0.5,他们接入了同一台交换机,或者叫路由器,他们接入的这台交换机的广域网IP是6.6.6.6

如果这五台机器要向一台 8.8.8.8 的服务器发送数据,那 NAT 就会把这几台计算机原有的 ip 转换成 6.6.6.6 的 ip 向 8.8.8.8 发送数据,实现 5 台设备共用一个 IP 的效果 。

如果 8.8.8.8 这个交换机下面也挂载了很多设备,那这五台服务器都是按照8.8.8.8这个机器发送的,那有怎么发送到8.8.8.8下面挂载的具体设备呢?

七、端口映射

为了解决上面的问题,我们引入了一个新的概念,端口映射。我们可以在IP地址的后面加上一个端口,如图

比如 192.168.0.1 和 6.6.6.6 的 1000 端口绑定,另一边的 192.168.0.1 和 8.8.8.8 的 500 端口绑定,这样,如果 6.6.6.6 下挂载的机器想访问 8.8.8.8 下挂载的机器,只需要加上对应的端口就行了。

八、公网IP和私有IP

你如果打开 cmd ,输入 ipconfig 查看IP地址

你会看的ip地址是 192.168 开头的,为什么?刚刚提到,ip地址是不够用的,但为了使大多数的机器都能上网,我们通常是多台机器共用一个公网ip,你去百度搜索 ip 查询,

就能看见你当前设备所挂载的公网ip了。现在知道为什么很多 ip 都是 192.168 开头的了吧?因为这是挂载到了一个小的中转设备下的 C 类私有 ip ,在这个私类 ip 下依赖转换器的公网 ip 上网。

打个比如,公网 ip 就是你小区的名称,私网 ip 就是你住的楼层单元,假设全国小区名字都不重复,那根据小区名字,就可以找到你的大概位置,这就相当于根据公网IP定位到你具体的局域网,但是为了知道你具体位置,那还需要知道你是这个小区几单元几号,小区的几单元几号这玩意儿每个小区都有,这就相当于私网IP,很多机器的私网IP都是重复的。
文章来源:https://blog.csdn.net/qq_45171957/article/details/123389930



以上就是本期分享了。


最后,欢迎加入 鱼皮的编程知识星球(点击了解详情),和大家一起交流学习编程,向鱼皮和大厂同学 1 对 1 提问、帮你制定学习计划不迷茫、跟着鱼皮直播做项目(往期项目可无限回看)、领取鱼皮原创编程学习/求职资料等。最近秋招开始了,星球内也会帮大家规划求职进度、完善简历和项目。                


往期推荐

我做了个很帅的网站!

还有设计模式这种东西嘛。。。

一篇文章彻底搞懂 Cookie !

用设计模式优化代码!

我有 8 种架构模式,8 种!

浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报