当前位置: 首页 > news >正文

21 移动网络的前世今生

1、移动网络的发展历程

发展过程就是:2G,3G,4G,5G的过程,用2G看txt,用3G看jpg,用4G看avi。

2、2G网络

手机本来是用来打电话的,不是用来上网的,所以原来在2G时代,上网使用的不是IP网络,而是电话网络,走模拟信号,专业名称为公共交换电话网

手机没有连接网线,也没有电话线,是如何上网的?

  1. 手机是通过收发无线信号来通信的,专业名称是Mobile Station,简称MS,需要嵌入SIM。
  2. 手机是客户端,而无线信号的服务端就是基站(BBS)
  3. 无论无线通信如何无线,最终还是要连接到有线的网络里.

基站子系统分两部分:
4. 一是对外提供无线通信,叫作基站收发信台
5. 二是对内连接有线网络,叫作基站控制器
基站收发信台通过无线收到数据后,转发给基站控制器,称为无线接入网
基站控制器通过有线网络,连接到提供手机运营商的数据中心,这部分称为核心网,核心网还没有真的进入互联网。

接入流程
6. 首先接待基站来的数据的是移动业务交换中心(MSC,Mobile Service Switching Center),它是进入核心网的入口,但是它不会让你直接连接到互联网上。
7. 在让你的手机真正进入互联网之前,提供手机业务的运营商,需要认证是不是合法的手机接入。别你自己造了一张手机卡,就连接上来。鉴权中心(AUC,Authentication Center)和设备识别寄存器(EIR,Equipment Identity Register)主要是负责安全性的。
8. 另外,需要看你是本地的号,还是外地的号,这个牵扯到计费的问题。
9. 访问位置寄存器(VLR,Visit Location Register)是看你目前在的地方。
10.归属位置寄存器(HLR,Home Location Register)是看你的号码归属地 。

当你的手机卡既合法又有钱的时候,才允许你上网。
10. 在核心网和互联网之间,还有一个网关,网关移动交换中心(GMSC ,Gateway Mobile Switching Center)就是干这个的。然后是真正的互连网。在2G时代,还是电话网络PSTN
11.数据中心里面的这些模块统称为网络子系统(NSS,Network and Switching Subsystem)
在这里插入图片描述
总结一下
手机通过无线信号连接基站。
基站一面朝前接无线,一面朝后接核心网。
核心网一面朝前接到基站请求,一是判断你是否合法,二是判断你是不是本地号,还有没有钱,一面通过网关连接电话网络

3、2.5G网络
  1. 从2G到了2.5G,即在原来电路交换的基础上,加入了分组交换业务,支持Packet的转发,从而支持IP网络,原先是电话网络。
  2. 在网关和互联网之间,多了一个分组控制单元(PCU,Packet Control Unit),用以提供分组交换通道。
    在这里插入图片描述
4、3G网络
  1. 到了3G时代,主要是无线通信技术有了改进,增加了无线的带宽
    在这里插入图片描述
5、4G网络
  1. 今天的4G网络,基站为eNodeB,包含了原来Node B和RNC的功能,下行速度向百兆级别迈进。
  2. 核心网实现了控制面数据面的分离。
  3. 在前面的核心网里面,有接待员MSC或者SGSN,你会发现检查是否合法是它负责,转发数据也是它负责,也即控制面和数据面是合二为一的,这样灵活性比较差,因为控制面主要是指令,多是小包,往往需要高的及时性;数据面主要是流量,多是大包,往往需要吞吐量。
  4. 于是架构发生了如下的变化:
    在这里插入图片描述
  5. HSS用于存储用户签约信息的数据库,其实就是你这个号码归属地是哪里。
  6. MME是核心控制网元,是控制面的核心,当手机通过eNodeB连上的时候,MME会根据HSS的信息,判断你是否合法。如果允许连上来,MME不负责具体的数据的流量,而是MME会选择数据面的SGW和PGW,然后告诉eNodeB,允许你连接。
  7. 于是手机直接通过eNodeB连接SGW,连上核心网,SGW相当于数据面的接待员,并通过PGW连到IP网络。
  8. PGW就是出口网关。在出口网关,有一个组件PCRF,称为策略和计费控制单元,用来控制上网策略和流量的计费。
6、4G网络协议解析

在这里插入图片描述
控制面协议
其中虚线部分是控制面的协议。当一个手机想上网的时候,先要连接eNodeB,并通过S1-MME接口,请求MME对这个手机进行认证和鉴权。S1-MME协议栈如下图所示:
在这里插入图片描述

  1. UE就是你的手机,eNodeB还是两面派,朝前对接无线网络,朝后对接核心网络,在控制面对接的是MME。
  2. eNodeB和MME之间的连接就是很正常的IP网络,但是这里面在IP层之上,却既不是TCP,也不是UDP,而是SCTP。这也是传输层的协议,也是面向连接的,但是更加适合移动网络。 它继承了TCP较为完善的拥塞控制并改进TCP的一些不足之处。
    在这里插入图片描述
    在这里插入图片描述
    数据面协议
    在这里插入图片描述
7、手机上网流程(Attach)

在这里插入图片描述

8、异地上网问题

在这里插入图片描述
这样判断你是否能上网的在国内运营商的HSS,控制你上网策略的是国内运营商的PCRF,给手机分配的IP地址也是国内运营商的PGW负责的,给手机分配的IP地址也是国内运营商里统计的。运营商由于是在PGW里面统计的,这样你的上网流量全部通过国内运营商即可,只不过巴塞罗那运营商也要和国内运营商进行流量结算。

由于你的上网策略是由国内运营商在PCRF中控制的,因而你还是上不了脸书

相关文章:

  • Sa-Token拦截全部接口必须登录-然后自定义注解来匿名登录-作为权限框架支持,并且同时使用了注解和路由的拦截器模式,此部分的配置如下:
  • 虚拟机复制后,无法ping通问题解决
  • Flutter——最详细(AppBar)使用教程
  • 【Linux精讲系列】——vim详解
  • 【Linux】:git基本操作_添加文件_两种场景_查看.git文件 || git修改文件 || 版本回退
  • arima模型python代码
  • 网际报文协议ICMP及ICMP重定向实例详解
  • 数据结构—字符串
  • APISpace IP归属地查询接口案例代码
  • 【网络协议】聊聊HTTPDNS如何工作的
  • Python按类别和比例从Labelme数据集中划分出训练数据集和测试数据集
  • 开放智慧,助力学习——电大搜题,打开学无止境的新篇章
  • 使用IDEA让文本对比不在变的困难
  • R语言生物群落(生态)数据统计分析与绘图
  • 论文阅读——InternImage(cvpr2023)
  • 【EOS】Cleos基础
  • 2017-08-04 前端日报
  • Angular 响应式表单之下拉框
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Js基础知识(一) - 变量
  • k8s 面向应用开发者的基础命令
  • Linux中的硬链接与软链接
  • PHP CLI应用的调试原理
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 彻底搞懂浏览器Event-loop
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 京东美团研发面经
  • 我与Jetbrains的这些年
  • kubernetes资源对象--ingress
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #pragma multi_compile #pragma shader_feature
  • #pragma预处理命令
  • #大学#套接字
  • (3)nginx 配置(nginx.conf)
  • (42)STM32——LCD显示屏实验笔记
  • (C#)一个最简单的链表类
  • (C语言)共用体union的用法举例
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Forward) Music Player: From UI Proposal to Code
  • (k8s中)docker netty OOM问题记录
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)Google的Objective-C编码规范
  • (转)大道至简,职场上做人做事做管理
  • ******之网络***——物理***
  • .gitignore文件设置了忽略但不生效
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET 中 GetProcess 相关方法的性能