9. 스마트폰 안에서 벌어지는 이동통신 (1) - 폰을 켜고나면
통신이야기 2024. 10. 1. 09:24 |스마트폰을 켠다. 그러면 이녀석은 뭔일을 하는 걸까...궁금해본 적이 없을 것이다.
궁금하지 않다해도 알려주는 것이 인지상정. LTE를 기준으로 설명해 보겠다.
우선은 스마트폰이 꺼지기 전에 붙어 있던 망이나 기지국을 기억해 두고 있다가, 해당 망이나 기지국을 찾아본다.
있다면, 바로 그 기지국으로 접속을 시도한다.
없다면, 우선은 통신사별로 어떤 주파수 대역을 사용하는지 정보가 저장되어 있다면(아이폰이나 국내산 안드로이드폰), 해당 주파수 대역을 검색해보고, 가장 센 전파를 쏘고 있는 기지국을 찾고, 그 기지국이 현재 폰에 꽂혀있는 USIM의 발급 통신자와 같은지 확인한다. 같으면 접속을 시도한다.
통신사별 주파수 대역이 저장되어 있지 않거나, 해당 주파수 대역에서 기지국이 검색되지 않는다면, 휴대폰이 지원하는 모든 주파수 대역에 대해서 검색을 시작한다. 그리고, 가장 센 전파를 쏘고 있는 기지국을 찾고, 그 기지국이 현재 폰에 꽂혀있는 USIM의 통신사가 운영하는 것인지, USIM에 있는 우선 접속 통신사 망 리스트에 들어있는지, USIM에 있는 접속 금지 통신사 망 리스트에 들어가 있지 않은지를 판단해서 접속이 가능한 경우 접속을 시도한다.
통신사를 구분하는 것은 PLMN(Public Land Mobile Network) ID라고, MCC(국가 구분, Mobile Country Code)+MNC(통신사 구분, Mobile Network Code)가 합쳐진 값을 가지고, 어느 나라의 어느 통신사업자인지를 구분한다. 당연하게도 해당 값은 국제전기통신연합 전기통신표준화부문(ITU-T, International Telecommunication Union-Telecommunication standardization sector)의 문서로 관리되고 있다. (전화번호의 국가코드 '+82'와 별도로 한국의 MCC는 '450'이란 값을 갖는다.)
그래서 전화기가 켜져서 기지국을 검색해보면, 여기가 어느 나라인지(자국인지 타국인지), 그 중에 어떤 사업자인지를 확인해 볼 수가 있다.
접속을 시도하려면 일단 다음과 같은 기지국에서 방송하고 있는 정보를 확인해봐야 한다.(해당 정보를 SIB(System Information Block)이라고 한다.) (SIB는 여러가지(type 1~33)가 존재하는데, 각각 어떤 값을 쏘는지는 나중에 얘기하던지 말던지...)
- 접속해도 되는 사업자인지 확인 (기지국에서 해당 기지국을 통해 서비스를 제공하는 PLMN 리스트를 송출하고 있다.)
- 접속해도 되는 기지국인지 확인 (제한없음/시험중/일반단말확률적접속가능/일반단말접속불가 등의 상태가 있다.)
- 기지국에서 송출하는 '이 정도 전파세기 이상이어야 서비스됨'(q-RxLevMin) 값을 보고, 해당 세기 이상인지 확인
- 이 기지국에 접속 요청을 할 때의 방법 (어떤 타이밍에 어떤 신호세기로 어떻게 키워가며 기지국에 접속시도를 해야하는지)
그래서, 기지국에서 받은 저 조건들을 다 만족하고, 확률적 접속가능 상태(단말기가 너무 많아서 좀 덜 받아야 하는 경우)일 경우, 그 확률에 따라 성공하면, 접속시도를 할 수 있다.
RACH(Random Access CHannel)에의 접속 절차에 따라서 기지국에 '저요!'신호를 보내고, 동시에 접속시도한 여러 단말기 중에 기지국이 '그래 너!'라고 지정하여 회신을 해주면, 기지국과 RRC 연결(Radio Resource Control)을 맺게 된다. 이 때, 단말기는 기지국에서 접속을 허용한 통신사 중 어떤 통신사로 접속을 시도하는지와 왜 기지국에 접속을 시도했는지(음성호/데이터호 발신, 뭔가 착신됐대서, 망에 신호를 보내려고 등)를 알린다. 이 때 기지국은 여러 조건에 따라서 해당 접속 시도를 안 받아 줄수도 있다.
하여간, RRC 연결을 통해서 망과 메시지를 주고 받을 수 있는 통로를 확보하면, 단말기는 교환기에게 '나 여기서 접속시켜줘!'라는 메시지(ATTACH REQUEST)와 함께 '이런 데이터망에 붙고 싶어!'라는 메시지(PDN CONNECTIVITY REQUEST)를 같이 보낸다. 기지국은 단말기가 보낸 어느 통신사로 접속했는지 정보에 따라 해당 통신사 교환기로 위 두 메시지를 전달해 준다.
교환기는 기지국을 통해 받은 메시지를 보고,
- 그래 너 거기 붙고, 데이터는 이렇게 써. (ATTACH ACCEPT+ACTIVATE DEFAULT EPS BEARER CONTEXT REQUEST)
- 니가 누군데? (IDENTITY REQUEST) : 단말기가 보낸 임시 아이디나 애초에 처음 보는 경우 암구호를 맞추기 위해서
- 너 안돼! (ATTACH REJECT, 지금 잠깐/계속(temporay/permanent)) : 단말기가 누군지 확인했고, 가입이 안됐거나, 지금 좀 곤란한 경우
- 그렇게는 못 붙여줘. (ATTACH REJECT+PDN CONNECTIVITY REJECT) : 붙여줄 수 있었는데, 단말기가 요청한 데이터망에 붙여줄 수 없어서 거절하는 경우
중 하나로 응답하게 된다.
일단 긍정적인 1.번만 설명을 해보면, 1.의 ATTACH ACCEPT 메시지에는
- 다음에 쓸 임시 아이디(교환기 ID+사용자 ID의 임시값)
- 기지국 바뀌었다고 다시 안 알려줘도 되는 기지국 리스트(TAI list, Tracking Area Identity list)
- SMS 지원 여부
과 같은 내용을 알려준다. (그 밖에도 많지만 생략)
그와 함께 온 ACTIVATE DEFAULT EPS BEARER CONTEXT REQUEST는 '이런 식으로 EPS(Evolved Packet System, LTE 패킷망) 연결 설정을 해'!라는 메시지로 다음과 같은 내용을 담고 있다.
- 단말기가 쓸 IP
- 단말기가 붙은 Access Point Name(APN) : internet이냐 ims냐 뭐 또 다른 거냐
- 접속된 통로(Bearer)의 QoS (속도나 지연, 에러확율)
교환기의 메시지에 대해서 단말기는 '응! 그렇게 할게!'(ATTACH COMPLETE+ACTIVATE DEFAULT EPS BEARER CONTEXT ACCEPT) 로 응답하고, 교환기는 다시 '우리망은 이런 망이야'(EMM INFORMATION)라며, 현재 시간(초 단위, 국제 시간대, 서머타임적용 여부)과 네트웍 이름(kt니 olleh니 SK Telecom이니 스마트폰 위에 보면 찍히는 사업자 이름)을 알려주면 망에 접속은 끝난다. 폰에서 시간을 자동으로 설정일 경우 보통 이때 교환기가 준 시간을 가지고 폰의 시간을 조정한다. (또, 교환기가 초 단위 정밀도로 알려주기 때문에 다른 수단을 이용하지 않으면, 각 전화기들의 기준 시간은 ±1초 정도의 오차들을 갖게 된다.)
추가적으로 internet 말고도 VoLTE(Voice over LTE)와 같은 패킷 전화를 사용하려면, 추가적으로 PDN CONNECTIVITY REQUEST에 추가하고 싶은 APN(ims)을 명시해서 추가적으로 '이런 데이터 망에 붙고 싶어!'를 시도하게 된다.
그렇게 IP를 받고 나면, 단말기는 여러가지 발신 패킷들을 던질 수 있게 된다. 뭐 카카오톡이나 구글에 로그인을 한다거나와 같이, 여러가지 App 서버에 데이터 송수신 준비를 시작한다.
美泥.
'통신이야기' 카테고리의 다른 글
11. 스마트폰 안에서 벌어지는 이동통신(3) - 로밍 (0) | 2024.10.08 |
---|---|
10. 스마트폰 안에서 벌어지는 이동통신(2) - 데이터 사용 (2) | 2024.10.04 |
8. IoT 그리고, eMTC, NB-IoT (2) | 2024.09.26 |
7. LTE 그리고 5G (0) | 2024.09.24 |
6. 옛날 이동통신에서의 데이터 사용 (0) | 2024.09.19 |