Linux:运营商在网络中扮演的角色

2024-04-02 13:36

本文主要是介绍Linux:运营商在网络中扮演的角色,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • ip目前的问题
  • ip目前的几种解决方案
  • 私有ipVS公有ip
  • 运营商
  • 再谈ip划分
  • 运营商的角度看ip

本篇总结的是运营商在网络中扮演的角色

ip目前的问题

在目前看来,ip最大的问题是ip号不够用了,那这个问题如何解决呢?

在之前的内容中有子网掩码的概念,不得不承认子网掩码确实你在某种程度上的确延缓了ip地址不够用的问题,但是严格意义来说它并没有解决问题,ip地址依旧不够用,因为本质上这个解决方案没有增加ip地址

ip目前的几种解决方案

所以现在所采用的方案是一种动态的方案,最典型的一个例子就是如果此时电脑没有联网,它是不可以有对应的直接入网的ip的,电脑想要联网,本质上就是和有线或者是无线的路由器进行链接,那么路由器就会动态的分配一个局域网的ip,之后就允许电脑通过路由器来上网了,这个就是动态ip上网的策略,如果此时断开连接,那么就会回收这个ip,分配给下一个人使用

现在还有一个方案是ipv6的解决方案,这个方案就是把对应ip地址的位数更改为128位,这样就能从根源解决这个问题,目前在国内已经推行这样的技术了,在未来这种技术也一定会推向全球化,届时ip地址不够用的情况就大概会很大程度上解决了

私有ipVS公有ip

下面我们来讨论的内容是私有和公有ip:

ip地址目前讨论的是32位的ipv4,那么在32位的ipv4当中也并不是所有的ip都可以在全球公网中进行使用的,也有一部分是用来搭建私网的

这里补充一个概念:ip当中是只有一部分用来搭建公网的,剩下的其实都是私网,这个就和学校内部会有自己的教务系统,这个就是一个私有的网络,如下所示都是私有的网络:

10.*,前8位是网络号,共16,777,216个地址
172.16.到172.31.,前12位是网络号,共1,048,576个地址
192.168.*,前16位是网络号,共65,536个地址

平时使用的云服务器,就是直接连接到的是公网ip,而我使用的Windows私人电脑,就是私有ip,并且在使用电脑的绝大多数生涯中,使用的ip都是私有ip,对于公网ip也才是在云服务器当中才开始初步接触到公网ip,所以下面要引入本篇的一个话题,叫做运营商

运营商

抛开其他缺点,运营商在实际的网络环境中在中国扮演了一个什么样的角色?

运营商会在每家每户中拉网线,建立基础设施建设,有了网络基础设施和网线,这二者相结合才能让网民有上网的能力,同时配合国家的力量把流量费打下来,做到让网民能够上得起网

而也是因为有这样的原因,基础设施的建设是由运营商做的,所以自己在进行上网的时候,家里面接的路由器不仅连接了自己的局域网,同时也会连接到运营商的内部,那站在全球网络的角度来说,为什么会有些地区不能使用网络呢?

答案也很简单,没有入网设备,也没有基础设施,所以才会导致不能进行使用

再谈ip划分

对于世界来说,每一个ip都要进行划分,落实到国家来说,在国家的内部对于ip信息也必然是要进行划分的,对于ip的划分来说有子网掩码的划分方式等,这里提供另外一种划分方式

ip地址本质上就是32个01序列,那么现在有256个国家,那么按照前8个比特位进行国家的划分,相当于给每个国家都有了一个编号,所以世界就被近似这样进行划分了:

在这里插入图片描述
而在这当中,每一个国家都是有自己的国际路由器的,这个国际路由器可以理解为是相互进行链接的,他们之间都可以进行相互通信

在这里插入图片描述
那假设在中国,内部有若干个省,比如有山西,河南,河北等,这些省都要对于这些资源进行共享,那么每个省都有自己的国内路由器,他们之间是可以相互进行通信的

在这里插入图片描述
那么在每一个省中,就可以继续根据比特位进行划分,落实到每一个市中,还可以继续划分,而国际路由器又可以和国内路由器进行通信,所以这就把整个国内的路由器和全世界连接到了一起

那么假设现在,有一个美国人要给中国的某个地方进行通信,那么他拿着他的ip地址和中国人的一个ip地址就要进行通信了,他一定是先把他的目标ip地址交给了美国的国际路由器,然后美国的国际路由器直接把这个目标ip地址扔到了国际路由器群当中,然后此时中国的国际路由器一看,识别到这是中国的ip地址,然后这个ip就理所当然的进入到了中国路由器当中,之后再把这个ip抛到省当中,识别到省,再抛到市当中…最终就能落到这个人的位置当中

不过我上面这个理论是需要搭配子网掩码来使用的,不过整体思想就是这样进行不断层层递进识别的过程,所以我们说对于网络这个大的舞台来说,他是被精心设计过的

如果前面的ip地址的分配是以国家为单位进行分配的,那么具体落实到中国内部,上面所说的划分的这么一系列操作,都是由运营商来帮助我们做的,比如当前有云南的一个人想给在河北的人发一个报文,那么就会把当前云南的报文扔到省的路由器当中,在省为单位的路由器中进行传输,最后会被河北省的路由器接受到,然后再进行传输最后传输到这个人的手中

运营商的角度看ip

在我们上面所说的这么一系列过程中,看到的其实都是公网ip,但是在平时上网的时候,我们能看到的基本都是私有ip,这是为什么呢?这是否和运营商有关系呢?答案是肯定的,平时的路由器是可以构建子网的,那么这就意味着家用的路由器构建子网之后,都有对应的ip地址和子网掩码,那么当发起对于外网的请求的时候,其实是通过路由器把对应的数据包交给了运营商,然后从运营商这里进入公网,再去访问对应的公网的信息

所以假设,现在要访问一个百度的服务器,在访问百度这个服务器的时候,必然要写一个报文,报头中填写的src就是当前的主机ip,比如说是192.168.xxx.xxx,那么对应的目标ip是百度的服务器,但是不管怎么说,这样就构建好了一个对应的请求,而这个消息实际上只能转接到路由器上,然后路由器就会顺着目标主机进行转发,发现这个不在当前子网,所以就继续进行转发,然后转发到公网上,此时当前的服务器就会收到了一个请求,之后服务器就会构建一个响应,当服务器构建响应的时候,发现这个报文的来源是一个私有ip,私有ip就意味着它不应该出现在公网当中,并且私有ip很有可能是一样的,所以这个服务器的报文就不能回来了,那这该怎么解决呢?

在这里插入图片描述

对应必然是有解决措施的,这里再提一个概念:其实路由器可以配置两个IP地址,一个是WAN口IP,一个是LAN口IP(子网IP),路由器LAN口连接的主机,都从属于当前这个路由器的子网中,那这意味着什么?当现在要把这个报文传递出去的时候,目标报文并不会被改变,但是源ip会被替换成WAN口ip,替换之后再转交到运营商的路径,这种私有ip被不断替换的过程,就被叫做是NAT技术

这样做有什么意义?

其中一个原因是,ip地址的匮乏原因,公网ip落实到省之后再进行划分就不够了,所以就把省内的各种ip都变换成内网ip,那么从省内出来的ip才会被替换为公网ip,所以目前主流的互联网的方案就是公网+私网,这样就构建成了现在的互联网世界

换句话说就是,各个国家有各个省和市,那现在ip地址只有32位,不够用怎么办?运营商就要帮助我们构建内网ip,比如可能山西和云南的私网ip有些是一样的,但是没关系,因为这个ip出了这个限制之后,它就会变成一个公网ip就能继续进行使用了,所以国家有国家的划分,省也有省的划分,但是到了某一个地区就不可能继续进行划分了,它的ip实际上是有限的,所以就会采用的是私网的方案,因为这个私网是可以重装的

这篇关于Linux:运营商在网络中扮演的角色的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/870118

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念