当前位置:网站首页>ip地址那点事
ip地址那点事
2022-07-07 02:16:00 【爱琴孩】
计算机之间点对点的交流
正常情况下,你和我都有一台电脑,但是一台电脑所能做的事情是有限的,我们可能两台电脑之间为了做更多的事情,我们需要数据交互,我们可以通过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,那这36亿的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都是重复的。
边栏推荐
- 基于FPGA的VGA协议实现
- 软件测试到了35岁,真的就干不动了吗?
- 【解决】Final app status- UNDEFINED, exitCode- 16
- 字符串常量与字符串对象分配内存时的区别
- 肿瘤免疫治疗研究丨ProSci LAG3抗体解决方案
- 拼多多败诉:“砍价免费拿”侵犯知情权但不构成欺诈,被判赔400元
- Leite smart home longhaiqi: from professional dimming to full house intelligence, 20 years of focus on professional achievements
- 循环肿瘤细胞——Abnova 解决方案来啦
- C interview encryption program: input plaintext by keyboard, convert it into ciphertext through encryption program and output it to the screen.
- LM小型可编程控制器软件(基于CoDeSys)笔记二十三:伺服电机运行(步进电机)相对坐标转换为绝对坐标
猜你喜欢
力扣62 不同路径(从矩阵左上到右下的所有路径数量) (动态规划)
Tkinter window selects PCD file and displays point cloud (open3d)
The difference between string constants and string objects when allocating memory
Pinduoduo lost the lawsuit: "bargain for free" infringed the right to know but did not constitute fraud, and was sentenced to pay 400 yuan
2022 Android interview essential knowledge points, a comprehensive summary
BindingException 异常(报错)处理
CloudCompare-点对选取
Navicat importing 15g data reports an error [2013 - lost connection to MySQL server during query] [1153: got a packet bigger]
Redis (I) -- getting to know redis for the first time
Laravel uses Tencent cloud cos5 full tutorial
随机推荐
怎样查找某个外文期刊的文献?
Go straight to the 2022ecdc fluorite cloud Developer Conference: work with thousands of industries to accelerate intelligent upgrading
如何解决数据库插入数据显示SQLSTATE[HY000]: General error: 1364 Field ‘xxxxx‘ doesn‘t have a default value错误
Experience sharing of contribution of "management world"
微信小程序隐藏video标签的进度条组件
JWT 认证
Ideas of high concurrency and high traffic seckill scheme
ICML 2022 | explore the best architecture and training method of language model
How to solve sqlstate[hy000]: General error: 1364 field 'xxxxx' doesn't have a default value error
对称的二叉树【树的遍历】
3428. Put apples
c语言(结构体)定义一个User结构体,含以下字段:
693. Travel sequencing
谷歌 Chrome 浏览器发布 103.0.5060.114 补丁修复 0-day 漏洞
How to find the literature of a foreign language journal?
JVM 全面深入
反射(二)
mobx 知识点集合案例(快速入门)
Learning notes | data Xiaobai uses dataease to make a large data screen
循环肿瘤细胞——Abnova 解决方案来啦