计算机网络——随机接入
Posted 王同学要变强
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络——随机接入相关的知识,希望对你有一定的参考价值。
💟💟前言
友友们大家好,我是你们的小王同学😗😗
今天给大家打来的是 计算机网络——随机接入
希望能给大家带来有用的知识
觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄
小王的主页:小王同学🚗
小王的gitee:小王同学🏩🏩
小王的github:小王同学💦
载波监听多址接入/碰撞检测/ CSMA/CD
多址接入MA
多个站连接
在一条总线上,竞争使用总线
载波监听CS
- 每一个站在发送帧之前先要检测一下总线上是否还有其他站点在发送帧(“先听后说”)
- 若检测到总线空闲96比特的时间,则发送这个帧
- 若检测到总线忙,则继续检测并等待总线转为空闲
碰撞检测CD
- 每一个正在发送的帧的站
以太网还采取一种叫做强化碰撞的措施,这就是发送帧的站点一旦检测到碰撞,除了立刻停止发送帧外,还要继续再发送32比特
或48比特
的人为干扰信号,以便有足够多的碰撞信号使所有的站点都能检测出碰撞。
-
主机最多经过2t(即& ->0)的时长就可以检测到本次发送是否遭受了碰撞
-
因此,以太网的端到端往返传播时延2t称为争用期或碰撞窗口
-
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞
-
每一个主机在自己发送帧之后的一小段时间内,存在着遭遇碰撞得可能性。这一小段是不确定的。它取决于
另一个发送帧的主机到本主机的距离
,但不会超过总线的端到端往返传播时延,即一个争用期的时间 -
显然,在
以太网
中发送帧的主机越多,端到端往返传播时延越大,发送碰撞得概率越大,因此,共享式以太网不能连接太多的主机,使用的总线也不能太长 -
10MB/s
以太网把争用期定为512比特发送时间,即51.2μs
,因此总线长度不能超过5120m,但可以考虑到其他一些因素,如信号衰减
以太网规定总线长度不能超过2500m
CSMA/CD协议——最小帧长
**
- 以太网规定最小帧长为
64
字节,即512比特
- 如果发送的数据非常少,那么必须加入一些填充字节,使帧长不小于64字节
- 以太网的
最小帧长
确保了主机可在帧发送完成之前就检测到该帧的发送过程是否遭到了碰撞 - 如果在争用期(共发送64字节)没有检测到碰撞,那么后续发送的数据一定不会发送碰撞
- 如果在争用期内检测到碰撞 就立刻终止发送,这时已经发送出的数据一定小于
64字节
。因此凡长度小于64字节的帧都是由于碰撞而异常终止的无效帧。
**
点对点协议PPP
- 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议
- PPP协议是因特网工程任务IETF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]
- PPP协议在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:
- 对各种协议数据报的
封装方法
(封装成帧) - 链路控制协议
LCP
用于建立、配置及其测试数据链路的连接 - 一套网络协议
NCPs
其中每一个协议支持不同的网络层协议
网络层——TCP/IP中的IP NOvell NetWare网络操作系统中的IPX Apple公司的Apple
Talk
数据链路层——一套网络协议NCPs 封装成帧 链路控制协议LCP
物理层——面向字节的异步链路,面向比特的同步链路
帧格式
标志字段:PPP帧的定界符,取值为0x7E
地址字段:取值为0xFF,预留
控制字段:取值为0x33 预留
协议字段:指明侦的数据部分送交哪个协议处理
取值0x0021表示:帧的数据部分为IP数据报
取值0xC21表示:帧的数据部分为LCP分组
取值0x8021表示:帧的数据部分为NCP分组
面向字节的异步链路采用插入转义字符的字节填充法
发送方的处理
1.出现的每一个7E(PPP帧的定界符)字节转变成2字节序列(7D,5E)
2.出现的每一个7D(转义字符)字节转变成2字节序列
3.出现的每一个ASCLL码控制字符(数值小于0x20的字符)则在字符面前插入一个7D字节 同时将字符的编码加上0x20
接收方的处理:进行反转即可恢复出原来帧的数据部分
5G物理层5G 随机接入流程概述
博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接
本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。
博客内容主要围绕:
5G/6G协议讲解
算力网络讲解(云计算,边缘计算,端计算)
高级C语言讲解
Rust语言讲解
5G 随机接入流程概述
当我们想让UE接入5G网络时,它需要在上行和下行同步。在SSB解码成功后获得下行同步,为了建立上行同步和RRC连接,UE需要执行RACH随机接入过程。
RACH流程分类
RACH分为CBRA(Contention Based Random Access)也就是基于竞争的随机接入方式,和CFRA(Non Contention or Contention Free Random Access)非竞争随机接入方式。下面详细介绍这两个流程。
CBRA
在基于竞争的随机接入中,UE从一个共享的前导码池中随机选择一个Preamble。这意味着UE选择的Preamble有可能与其它UE选择的Preamble相同,这种情况下之后的随机接入可能会发生冲突或竞争。gNodeB使用竞争解决机制来处理这种类型的接入请求。在这个过程中,结果是随机的,并不是所有的随机接入都成功。CBRA也被称为四步RACH程序。
- Step1:
Random Access Preamble Transmission
(Msg1)- UE将Preamble发送到相应的gNB波束中;
- Step2:
Random Access Response
(Msg2)- 当收到Preamble,gNodeB会申请一个TC-RNTI和上下行调度资源。然后,gNodeB通过PDSCH发送RA Response。Response会包含RA-preamble identifier、timing alignment信息、初始上行链路授权(initial uplink grant)和临时C-RNTI。一个PDSCH可以携带对多个终端的RA Response。终端发送Preamble后,监控PDCCH,并在RA Response窗口内等待RA Response消息:
- 当终端收到的响应报文中包含的RA-preamble identifier与发送的RA-preamble identifier相同时,表示响应成功。此时终端发送上行调度信息;
- 如果终端在RA响应窗口内没有收到响应或收到的RA-preamble identifier与发送的不一样,则响应失败。在这种情况下,如果RA尝试次数小于上限(10次),则终端会重新发起RA。否则,RA失败。
- 当收到Preamble,gNodeB会申请一个TC-RNTI和上下行调度资源。然后,gNodeB通过PDSCH发送RA Response。Response会包含RA-preamble identifier、timing alignment信息、初始上行链路授权(initial uplink grant)和临时C-RNTI。一个PDSCH可以携带对多个终端的RA Response。终端发送Preamble后,监控PDCCH,并在RA Response窗口内等待RA Response消息:
- Step3:
Scheduled UL Transmission
(Msg3)- 终端通过PUSCH发送上行调度信息。在不同的RA场景中,终端发送的信令消息和信息是不同的,这里列出了一些示例:
Initial RRC connection setup
:RRCSetupRequest 消息(携带NAS UE_ID)在RLC层通过TM的CCCH(common control channel)传输。消息不分段。RRC connection reestablishment
:RRC Reestablishment Request 消息(不携带NSA消息)在RLC层通过TM的CCCH传输。消息不分段。Handover
:如果终端接入目标小区,并且在切换期间没有专用的preamble可用,则会触发竞争RA。RRC Handover Confirm
消息和C-RNTI通过DCCH(dedicated control channel)传输。如果需要,还会携带缓冲区状态报告(BSR)。Other scenarios
:至少传输终端的C-RNTI。
- 终端通过PUSCH发送上行调度信息。在不同的RA场景中,终端发送的信令消息和信息是不同的,这里列出了一些示例:
- Step4:
Contention Resolution
(Msg4)- 终端发送Msg3后,会启动一个4ms的竞争解决定时器。通过在PDCCH上使用C-RNTI或在PDSCH上使用终端竞争解决标识IE, gNodeB协助终端进行竞争解决。
- 在定时器超时之前,终端将一直监控PDCCH,如果满足以下任一条件,终端认为竞争解决成功,并停止定时器:
- 终端在PDCCH获取到C-RNTI;
- 终端在PDCCH上获取 temporary C-RNTI,并成功解码 MAC PDU。通过PDSCH接收到的终端竞争解决标识IE与终端在Msg3中发送的一致。
- 如果竞争解决定时器超时,终端认为竞争解决失败。如果重试次数未达到上限(10次),则重新进行RA操作。如果RA尝试次数达到上限,则RA流程失败。
- 在定时器超时之前,终端将一直监控PDCCH,如果满足以下任一条件,终端认为竞争解决成功,并停止定时器:
- 终端发送Msg3后,会启动一个4ms的竞争解决定时器。通过在PDCCH上使用C-RNTI或在PDSCH上使用终端竞争解决标识IE, gNodeB协助终端进行竞争解决。
CFRA
在非竞争随机接入中,preamble 由gNodeB分配,这样的preamble被称为dedicated random access preamble
。专用preamble通过RRC信令(分配preamble可以在RRC消息中指定)或PHY层信令(PDCCH上的DCI)提供给UE。所以这里没有preamble竞争。当dedicated random access preamble
资源不足时,gNodeB通知终端发起基于竞争的RA。CFRA也被称为三步RACH程序。
- Step1:
Random Access Preamble Assignment
- gNodeB使用RRC Msg或DCI,给UE分配RA Preamble。这里列出了一些场景:
Handover
:由源gNodeB发送的 MobilityControlInfo IE中携带分配的preamble;DL Data Arrival
:当下行数据到达gNodeB时,gNodeB指示UE通过PDCCH上的携带了分配的preamble的DCI发起RA;NSA networking
:当NR cell添加到NSA中时,gNodeB通知终端在携带了分配的preamble的PDCCH上发起RA。
- gNodeB使用RRC Msg或DCI,给UE分配RA Preamble。这里列出了一些场景:
- Step2:
Random Access Preamble Transmission
(Msg1) - Step3:
Random Access Response
(Msg2)- 此时,gNodeB发送RA响应:
Handover
:RA响应必须包含timing alignment信息和initial uplink grant;DL Data Arrival
:当下行数据到达gNodeB时,RA响应必须包含timing alignment信息和RA preamble identifier (RAPID);NSA networking
:当NR cell添加到NSA中时,RA响应必须包含timing alignment信息和RA preamble identifier (RAPID)。
- 此时,gNodeB发送RA响应:
RACH场景和RACH类型整理
- Case1:初始RRC connection setup
- 使用CBRA
- Case2:RRC connection re-establishment
- 使用CBRA
- Case3:Handover
- 首选CFRA;
- 如果所有的dedicated preamble都使用完了,则使用CBRA。
- Case4:Downlink data arrival (PDCCH Order)
- 首选CFRA;
- 如果所有的dedicated preamble都使用完了,则使用CBRA。
- Case5:Uplink data arrival
- 使用CBRA
- Case6:当没有可用的PUCCH资源发送SR时,上行链路数据在RRC_CONNECTED期间到达
- 使用CBRA
- Case7:Scheduling Request Failure
- 使用CBRA
- Case8:从RRC_INACTIVE转换到RRC_CONNECTED
- 首选CFRA;
- 如果所有的dedicated preamble都使用完了,则使用CBRA。
- Case9:请求特定的System Information (On Demand SI)
- CFRA;
- Case10:NR cell加入到NSA中
- CFRA;
- Case11:Beam Recovery
- 首选CFRA;
- 如果所有的dedicated preamble都使用完了,则使用CBRA。
以上是关于计算机网络——随机接入的主要内容,如果未能解决你的问题,请参考以下文章
计算机网络湖科大微课堂笔记 p31 随机接入——CSMA/CD协议(总线局域网使用协议)