趣谈网络协议---移动网络:去巴塞罗那,手机也上不了脸书

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u012319493/article/details/82900975

移动网络的发展历程

2G
公共交换电话网(PSTN,Public Switched Telephone Network),不是 IP 网络,走模拟信号。

手机通过收发无线信号通信,需嵌入 SIM。

手机是客户端,无线信号的服务端是基站子系统(BSS,Base Station Subsysem)。

基站子系统分两部分:

  • 对外提供无线通信,叫基站收发信台(BTS,Base Transceiver Station)。
  • 对内连接有线网络,叫基站控制器(BSC,Base Station Controller)。

基站控制器通过有线网络,连接提供手机业务的运营商的数据中心,称为核心网(CN,Core Network)。核心网还没有进入互联网,主要提供手机业务。

核心网,包含的模块统称网络子系统(NSS,Network and Switching Subsystem):

  • 移动业务交换中心(MSC,Mobile Service Switching Center)是进入核心网的入口。
  • 鉴权中心(AUC,Authentication Center)、设备识别寄存器(EIR,Equipment Identity Register)负责安全。
  • 访问位置寄存器(VLR,Visit Location Register),查看手机位置。
  • 归属位置寄存器(HLR,Home Location Register),查看号码归属地。
  • 网关移动交换中心(GMSC,Gateway Mobile Switching Center),连接核心网和互联网(2G 时是 PSTN)。
    在这里插入图片描述

2.5G

支持 IP 网络。

基站朝后的组件中 ,多了分组控制单元(PCU,Packet Control Unit),提供分组交换通道。

核心网中,有朝前的接待员(SGSN,Service GPRS Supporte Node)和朝后连接 IP 网络的网关型 GPRS 支持节点(GGSN,Gateway GPRS Supported Node)。
在这里插入图片描述

3G
大大增加了无线的带宽。W-CDMA 理论最高 2M 的下行速度。

基站改变了,一面是朝外的 Node B,一面是朝内连接核心网的无线网络控制器(RNC,Radio Network Control)。
在这里插入图片描述
4G

基站成为 eNodeB,包含了原来的 Node B 和 RNC 的功能,下行速度向百兆级迈进。

核心网实现了控制面和数据面的分离。控制面主要是指令,多是小包,需要高的及时性;数据面主要是流量,多是大包,需要吞吐量。

  • HSS,存储用户签约信息的数据库,包括号码归属地、认证信息等。
  • MME,核心控制网元,根据 HSS 的信息,对手机进行认证和鉴权。
  • SGW,PGW,负责具体的数据流量。
  • PCRF,策略和计费控制单元。

在这里插入图片描述

4G 网络协议解析
在这里插入图片描述

1、控制面协议

当一个手机上网时,先连接 eNodeB,并通过 S1-MME 接口,请求 MME 对手机验证。S1-MME 协议栈如下。
在这里插入图片描述
UE 是手机。eNodeB 朝前对接网线网,朝后对接核心网,在控制面通过 IP 网对接 MME。IP 层之上是 SCTP,比 TCP 完善。

SCTP 特点:

  • 多宿主。一台机器可有多个网卡。
  • 联合(association),将多个接口、多条路径放入一个联合。检测到一条路径失效时,可选另一条。
  • 将一个联合分成多个流。每个流都有一个流编号,多个流不相互阻塞。
  • 四次握手,引入 Cookie 概念,防止 SYN 攻击。TCP 三次握手中,服务端收到客户端的 SYN 后,返回一个 SYN-ACK 前,就建立数据结构,记录状态,等待客户发送 ACK 的 ACK。
    四次握手过程:
    客户端:INIT 发起连接—>服务端:INIT-ACK,包含了 Cookie—>客户端:COOKIE-ECHO,包含了服务端发送的 Cookie—>服务端:分配资源,发送 COOKIE-ACK。
  • 消息分帧。TCP 是面向流的,数据无界限,而 SCTP 借鉴了 UDP,在数据传输中提供消息分帧。
  • 三次挥手。一端关闭自己的套接字时,两端都关闭,均不再传输数据。

MME 通过认证鉴权,由控制面建立数据面的数据通路,使用控制面的协议 GTP-C。

数据通路分两段,其实是两个隧道:

  • 从 eNodeB 到 SGW,这个数据通路由 MME 通过 S1-MME 告诉 eNodeB,通过 S11 告诉 SGW。
  • 从 SGW 到 PGW,SGW 通过 S11 协议知道自己是一端,并主动通过 S5 协议,告诉 PGW。

GTP-C 基于 UDP。GTP 头中有隧道 ID、序列号,结合定时器,可实现可靠性。

2、数据面协议

当两个隧道都打通,接在一起时,PGW 给手机分配一个隧道内部的 IP 地址,该 IP 由手机运营商管理。手机通过 IP 连接 eNodeB,从 eNodeB 经过 S1-U,到达 SGW,再从 SGW 经过 S8 协议,到达 PGW,连接到互联网。

数据面协议通过 GTP-U,如下图所示:
在这里插入图片描述

手机每发出一个包,都由 GTP-U 隧道协议封装起来,格式如下:
在这里插入图片描述

  • 乘客协议,手机发出的包,IP 是手机的 IP。
  • 隧道协议,需要隧道 ID 标识不同的隧道。
  • 承载协议,IP 是 SGW 和 PGW 的 IP。

3、手机上网流程
在这里插入图片描述

  • 手机寻找附近的基站 eNodeB,找到后发送 Attach Request。
  • eNodeB 将请求发给 MME。
  • MME 请求手机,认证、鉴权,请求 HSS,查看余额、地址等。
  • MME 认证成功后,分配隧道。请求创建会话,给 SGW 分配一个隧道 ID t1,并请求 SGW 给自己也分配一个隧道 ID。
  • SGW 向PGW 请求创建会话,为 PGW 的控制面分配一个隧道 ID t2,数据面分配一个隧道 ID t3,并请求 PGW 给自己的控制面和数据面分配隧道 ID。
  • PGW 回复 SGW 会话创建成功,使用 ID t2,回复中有给 SGW 控制面分配的隧道 ID t4 和数据面的隧道 ID t5,隧道建设完成。
  • SGW 回复 MME 会话创建成果,使用 ID t1,回复中有给 MME 分配的隧道 ID t6,和给 eNodeB 分配的隧道 ID t7。
  • MME 发现隧道建设成功后,告诉 eNodeB 其隧道 ID 为 t7,同时希望 eNodeB 给 SGW 分配一个隧道 ID。
  • eNodeB 告诉 MME 自己给 SGW 分配一个隧道,ID 为 t8。
  • MME 将隧道 ID t8 告知 SGW。

这样,手机可通过建立的隧道成功上网。

4、异地上网问题

SGW 是本地运营商的设备,PGW 是所属运营商的设备。

如果位于巴塞罗那,手机搜寻到巴塞罗那的 eNodeB,通过 MME 查询国内运营商的 HSS,如果允许上网,手机和巴塞罗那的 SGW 会建立一个隧道,然后巴塞罗那的 SGW 和国内运营商的 PGW 建立一个隧道,通过国内运营商的 PGW 上网。

在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/u012319493/article/details/82900975
今日推荐