[Protocol] 5G NR Fundamental - Part 4: RACH 절차와 Msg1~Msg4 쉽게 이해하기
Part 3에서 Initial Access의 큰 흐름을 봤다면, 이번 글에서는 그중에서도 가장 많이 헷갈리는 RACH(Random Access Channel) 절차를 조금 더 자세히 정리해보겠습니다.
RACH는 단말이 네트워크에 처음으로 uplink 방향 접속을 시도하는 과정입니다. 말로는 간단해 보이지만, 실제로는 PRACH Preamble, Random Access Response, Msg3, Contention Resolution 같은 개념이 이어져서 처음 공부할 때는 순서가 잘 잡히지 않습니다.
이 글은 표준 문장을 그대로 옮기는 방식이 아니라, 5G NR 로그나 시그널링 흐름을 볼 때 “어디서 무엇을 확인해야 하는지”를 이해하기 위한 입문 정리입니다.
이 글은 5G NR 프로토콜 학습을 위한 정보성 글입니다. 세부 파라미터와 메시지 정의는 반드시 최신 3GPP TS 38.300, TS 38.321, TS 38.211, TS 38.331 문서를 함께 확인해야 합니다.
핵심 요약
- RACH는 단말이 네트워크에 uplink 접속을 시작하고 timing을 맞추기 위한 절차입니다.
- 가장 기본적인 방식은 4-step Random Access이며 Msg1, Msg2, Msg3, Msg4로 설명할 수 있습니다.
- Msg1은 PRACH Preamble, Msg2는 Random Access Response, Msg3는 초기 uplink 메시지, Msg4는 contention resolution과 연결됩니다.
- Contention-based RACH는 여러 단말이 같은 preamble을 고를 수 있어 충돌 해결 과정이 필요합니다.
- Contention-free RACH는 네트워크가 전용 preamble을 할당하는 방식으로, 핸드오버나 특정 제어 절차에서 활용될 수 있습니다.
- 2-step RACH는 MsgA와 MsgB로 절차를 줄여 지연시간을 낮추는 방향의 접근입니다.
1. RACH는 왜 필요한가?
단말이 downlink 신호를 수신하는 것과 uplink로 신호를 보내는 것은 다른 문제입니다. 단말이 셀을 찾고 SIB1까지 읽었다고 해도, 아직 네트워크는 이 단말이 uplink에서 정확히 언제 신호를 보낼지 알지 못합니다.
RACH는 이 문제를 해결하기 위한 절차입니다. 단말은 PRACH preamble을 보내고, gNB는 이에 대한 응답을 통해 timing advance와 초기 uplink grant 같은 정보를 제공합니다. 이를 통해 단말은 네트워크와 uplink 동기를 맞추고 다음 메시지를 보낼 준비를 하게 됩니다.
2. RACH가 시작되는 대표적인 상황
RACH는 단말이 처음 전원을 켰을 때만 쓰이는 절차가 아닙니다. 실제 네트워크에서는 여러 상황에서 Random Access가 필요할 수 있습니다.
- 초기 접속 과정에서 RRC 연결을 시작할 때
- RRC 재수립 또는 재개 과정에서 uplink 동기가 필요할 때
- 핸드오버 과정에서 새로운 셀과 uplink 동기를 맞출 때
- downlink 데이터가 도착했지만 단말의 uplink 동기가 맞지 않을 때
- beam failure recovery가 필요한 경우
- 특정 system information 요청이 필요한 경우
따라서 RACH를 “초기 접속 때만 보는 절차”로 이해하면 부족합니다. NR에서는 이동성, 빔 관리, 전력 절감 상태 복귀 등 여러 흐름과 연결될 수 있습니다.
3. 4-step Random Access 전체 흐름
가장 기본적인 RACH 절차는 4-step Random Access입니다. 이름 그대로 네 번의 메시지 교환으로 설명할 수 있습니다.
| 단계 | 메시지 | 방향 | 핵심 역할 |
|---|---|---|---|
| Msg1 | PRACH Preamble | UE → gNB | 단말이 랜덤 액세스 시도를 알림 |
| Msg2 | Random Access Response | gNB → UE | Timing advance, UL grant, Temporary C-RNTI 제공 |
| Msg3 | 초기 UL 전송 | UE → gNB | RRC Setup Request 등 초기 메시지 전송 |
| Msg4 | Contention Resolution | gNB → UE | 경쟁 기반 접속에서 충돌 해결 |
이 네 단계는 단순 암기보다 “왜 이 메시지가 필요한가”를 중심으로 이해하는 것이 좋습니다. Msg1은 단말의 존재를 알리는 신호, Msg2는 네트워크의 초기 응답, Msg3는 단말의 본격적인 초기 메시지, Msg4는 충돌이 없었는지 확인하는 단계입니다.
4. Msg1: PRACH Preamble
Msg1은 단말이 PRACH 자원에서 preamble을 전송하는 단계입니다. 단말은 SIB1 등을 통해 받은 RACH 설정을 바탕으로 사용할 PRACH occasion과 preamble을 선택합니다.
여기서 주의할 점은 Msg1이 일반적인 데이터 패킷 전송과 다르다는 것입니다. 단말이 아직 uplink timing을 완전히 맞춘 상태가 아니므로, 네트워크가 preamble을 검출하고 이후 timing advance를 내려주는 구조로 진행됩니다.
Msg1에서 확인할 포인트
- PRACH configuration index
- PRACH occasion
- Preamble index
- SSB와 RACH resource mapping
- Power ramping 설정
- beam과 연관된 preamble 선택 조건
5. Msg2: Random Access Response
gNB가 단말의 preamble을 감지하면 Random Access Response, 흔히 RAR이라고 부르는 응답을 보냅니다. 단말은 RAR window 동안 자신의 preamble에 대한 응답을 기다립니다.
RAR에는 일반적으로 timing advance, uplink grant, Temporary C-RNTI 같은 정보가 포함됩니다. 단말은 이 정보를 이용해 Msg3를 전송할 수 있습니다.
| RAR 정보 | 의미 | 초보자 관점의 이해 |
|---|---|---|
| Timing Advance | uplink 전송 타이밍 보정 | 단말이 언제 보내야 gNB에 맞게 도착하는지 조정 |
| UL Grant | Msg3 전송을 위한 uplink 자원 | 단말에게 다음 메시지를 보낼 자리를 알려줌 |
| Temporary C-RNTI | 임시 식별자 | 초기 접속 중 단말을 구분하기 위한 임시 ID |
6. Msg3: 초기 uplink 메시지
Msg3는 단말이 Msg2에서 받은 uplink grant를 이용해 보내는 초기 uplink 전송입니다. 초기 접속 상황에서는 RRC Setup Request와 같은 메시지가 Msg3에 실릴 수 있습니다.
여기서 중요한 점은 Msg3가 contention resolution과 연결된다는 것입니다. 여러 단말이 같은 preamble을 선택했다면, 같은 RAR을 보고 Msg3를 보낼 수 있습니다. 따라서 네트워크는 이후 단계에서 실제 어떤 단말의 접속을 받아들일지 구분해야 합니다.
Msg3 실패 시 볼 만한 항목
- Msg2에서 받은 UL grant가 적절했는지
- 단말의 전송 전력이 충분했는지
- HARQ 재전송이 있었는지
- PUSCH decoding이 실패했는지
- 동일 preamble 충돌 가능성이 있는지
7. Msg4: Contention Resolution
Msg4는 contention-based RACH에서 매우 중요한 단계입니다. 여러 단말이 같은 preamble을 선택했다면, 네트워크는 이를 구분해야 합니다. Msg4는 단말이 자신의 접속이 성공적으로 받아들여졌는지 확인하는 역할을 합니다.
이 단계까지 성공하면 단말은 Random Access 절차가 완료되었다고 보고, 이후 RRC 연결 설정과 보안 설정, 등록 절차 같은 후속 과정으로 이어질 수 있습니다.
8. Contention-based RACH와 Contention-free RACH
RACH는 크게 contention-based와 contention-free로 나누어 이해할 수 있습니다. 이름만 보면 어렵지만, 핵심은 preamble을 누가 어떻게 선택하느냐입니다.
| 구분 | 방식 | 특징 | 예시 상황 |
|---|---|---|---|
| Contention-based RACH | 단말이 공용 preamble 중 선택 | 여러 단말 충돌 가능성 있음 | 초기 접속, 일반적인 랜덤 액세스 |
| Contention-free RACH | 네트워크가 전용 preamble 할당 | 충돌 가능성이 낮음 | 핸드오버, beam failure recovery 등 |
초보자라면 먼저 contention-based RACH를 중심으로 Msg1~Msg4를 이해하고, 이후 contention-free 방식은 “전용 preamble을 받아 충돌 가능성을 줄이는 방식”으로 확장해서 보면 됩니다.
9. 2-step RACH는 무엇이 다른가?
NR에서는 4-step RACH 외에 2-step RACH 개념도 등장합니다. 2-step RACH는 절차를 MsgA와 MsgB로 줄이는 방식입니다.
| 4-step RACH | 2-step RACH | 간단한 이해 |
|---|---|---|
| Msg1 + Msg3 | MsgA | preamble과 payload 성격의 정보를 더 빠르게 결합 |
| Msg2 + Msg4 | MsgB | 네트워크 응답과 contention resolution 성격을 결합 |
2-step RACH는 절차 지연을 줄일 수 있는 장점이 있지만, 모든 환경에서 단순히 4-step RACH를 대체한다고 보면 안 됩니다. 네트워크 설정, 단말 지원 여부, 커버리지, 서비스 시나리오에 따라 적용 가능성이 달라질 수 있습니다.
10. SSB와 RACH Resource Mapping
NR에서 RACH를 이해할 때 SSB와 RACH resource의 관계도 중요합니다. 단말은 특정 SSB를 기준으로 좋은 빔을 선택하고, 그와 연관된 RACH resource를 사용해 preamble을 전송할 수 있습니다.
즉, RACH는 단순히 “아무 PRACH 자원에 preamble을 보내는 것”이 아닙니다. 빔 기반 운용에서는 단말이 어떤 SSB를 선택했는지가 이후 RACH resource 선택과 연결될 수 있습니다.
로그를 볼 때 SSB index, PRACH occasion, preamble index가 함께 등장하는 이유가 바로 이 때문입니다.
11. RACH 실패를 분석할 때 보는 순서
실제 로그에서 RACH 실패를 보면 원인이 한 가지로 바로 보이지 않는 경우가 많습니다. 그래서 단계별로 확인하는 습관이 중요합니다.
| 확인 단계 | 질문 | 대표 원인 |
|---|---|---|
| SSB/SIB1 | 단말이 올바른 셀과 RACH 설정을 읽었는가? | SIB1 획득 실패, 잘못된 RACH 설정, 셀 접속 제한 |
| Msg1 | PRACH preamble이 제대로 전송되었는가? | 전력 부족, PRACH occasion 오류, beam mismatch |
| Msg2 | RAR을 수신했는가? | preamble detection 실패, RAR window miss, PDCCH/PDSCH decoding 문제 |
| Msg3 | UL grant를 이용해 Msg3가 전송되었는가? | PUSCH decoding 실패, 전력 부족, timing 문제 |
| Msg4 | Contention resolution이 성공했는가? | preamble 충돌, Msg3 충돌, contention resolution timer 만료 |
특히 현장 로그에서는 “RACH failed”라는 결과만 보는 것보다, Msg1~Msg4 중 어느 단계까지 보였는지 먼저 확인하는 것이 문제 범위를 줄이는 데 도움이 됩니다.
12. Power Ramping을 간단히 이해하기
단말이 preamble을 한 번 보냈는데 gNB가 감지하지 못할 수 있습니다. 이 경우 단말은 설정된 조건에 따라 전송 전력을 점진적으로 높여 다시 시도할 수 있습니다. 이를 power ramping 관점으로 이해할 수 있습니다.
다만 전력을 무작정 높이면 간섭 문제가 생길 수 있습니다. 그래서 power ramping은 RACH 성공률과 uplink 간섭 사이에서 균형을 잡는 중요한 설정입니다.
13. RACH와 BWP의 관계
Part 2에서 BWP를 간단히 다뤘습니다. RACH도 active uplink BWP와 연결해서 봐야 합니다. 단말이 어떤 BWP에서 PRACH를 수행하는지, BWP switching이 RACH 절차와 어떻게 맞물리는지에 따라 동작이 달라질 수 있습니다.
실제 표준에서는 BWP 변경과 진행 중인 Random Access 절차의 처리 조건이 함께 다뤄집니다. 초보자 입장에서는 “RACH는 셀 전체에서 아무렇게나 수행되는 것이 아니라, 설정된 uplink 자원과 BWP 조건 안에서 동작한다” 정도로 이해하면 좋습니다.
14. 초보자가 자주 헷갈리는 부분
Msg1은 RRC 메시지가 아닙니다
Msg1은 PRACH preamble입니다. RRC 메시지는 Msg3 이후에 등장할 수 있습니다. 이 둘을 섞어 이해하면 RACH 흐름이 꼬이기 쉽습니다.
RAR을 받았다고 RACH가 끝난 것은 아닙니다
Msg2는 중요한 응답이지만, contention-based RACH에서는 Msg3와 Msg4까지 이어져야 절차가 성공적으로 끝납니다.
RACH 실패가 항상 신호 세기 문제는 아닙니다
신호 품질도 중요하지만 RACH 설정, RAR window, preamble 충돌, timing, beam mismatch, PDCCH/PDSCH decoding 문제 등 다양한 원인이 있습니다.
2-step RACH가 항상 더 좋은 것은 아닙니다
절차가 짧다는 장점은 있지만, 실제 적용 여부는 네트워크 설정과 단말 지원, 커버리지 조건에 따라 달라집니다.
15. 공부 순서 추천
RACH를 공부할 때는 메시지 이름만 외우기보다, 실제 절차와 실패 원인을 함께 보는 것이 좋습니다.
- 4-step RACH의 Msg1~Msg4 순서를 먼저 외웁니다.
- 각 메시지가 PHY, MAC, RRC 중 어느 계층과 관련되는지 구분합니다.
- CBRA와 CFRA의 차이를 이해합니다.
- SSB와 PRACH resource mapping을 봅니다.
- RAR 안에 어떤 정보가 들어가는지 확인합니다.
- RACH 실패 로그에서 어느 단계까지 성공했는지 확인하는 연습을 합니다.
- 마지막으로 2-step RACH를 4-step RACH와 비교합니다.
16. FAQ
Q1. RACH는 Initial Access에서만 사용되나요?
아닙니다. 초기 접속뿐 아니라 핸드오버, uplink 동기 복구, beam failure recovery 등 다양한 상황에서 사용될 수 있습니다.
Q2. Msg1과 Msg3는 둘 다 UE가 보내는데 무엇이 다른가요?
Msg1은 PRACH preamble이고, Msg3는 Msg2에서 받은 uplink grant를 이용해 보내는 초기 uplink 메시지입니다. Msg3에는 RRC Setup Request 같은 상위 계층 메시지가 포함될 수 있습니다.
Q3. RAR을 받으면 RACH가 성공한 건가요?
아닙니다. RAR은 Msg2에 해당하며, contention-based RACH에서는 Msg3와 Msg4까지 성공해야 절차가 완료됩니다.
Q4. Contention-free RACH는 왜 필요한가요?
네트워크가 단말에게 전용 preamble을 줄 수 있는 상황에서는 충돌 가능성을 낮출 수 있습니다. 핸드오버나 beam failure recovery 같은 절차에서 유용할 수 있습니다.
Q5. RACH 실패 로그를 보면 무엇부터 확인해야 하나요?
먼저 Msg1이 전송되었는지, Msg2 RAR을 받았는지, Msg3가 전송되었는지, Msg4 contention resolution이 성공했는지를 순서대로 보는 것이 좋습니다.
17. 마무리
RACH는 5G NR Initial Access에서 가장 중요한 절차 중 하나입니다. 단말은 RACH를 통해 네트워크에 uplink 접속을 시작하고, timing을 맞추고, 초기 메시지를 보낼 수 있는 자원을 확보합니다.
이번 글에서 기억할 핵심은 간단합니다. 4-step RACH는 Msg1 PRACH Preamble, Msg2 RAR, Msg3 초기 UL 메시지, Msg4 contention resolution으로 이어집니다. 이 흐름을 이해하면 RACH 실패 로그를 볼 때도 훨씬 덜 막막해집니다.
다음 Part에서는 RRC Connection과 Registration 절차를 연결해서, 단말이 무선 접속 이후 5G Core와 어떻게 등록 절차를 진행하는지 정리해볼 수 있습니다.
참고자료
- 3GPP TS 38.300: NR and NG-RAN Overall description; Stage-2
https://www.3gpp.org/dynareport/38300.htm - 3GPP TS 38.321: NR Medium Access Control protocol specification
https://www.3gpp.org/dynareport/38321.htm - 3GPP TS 38.211: NR Physical channels and modulation
https://www.3gpp.org/dynareport/38211.htm - 3GPP TS 38.331: NR Radio Resource Control protocol specification
https://www.3gpp.org/dynareport/38331.htm
