우리는 핸드폰을 쓰면서 너무나 자연스럽게 카카오톡을 하고, 너무나 자연스럽게 국제전화도 한다. 하지만 이게 어떤 원리로 이뤄지는지 알기는 쉽지 않다. 컴퓨터 전공자가 아닌 이상 이 원리는 알기 어렵다. 왜냐면 실제로 그 과정이 어렵기 때문이다. 그렇기에 오늘은 간단하게 어떤 원리로 먼 거리의 사람과도 통신 할 수 있는지, 어떤 기술들이 뒷받침 되어서 가능한지 알아보려고 한다. 전화기를 시간순서대로 보면 이해가 조금 쉽다.
첫번째의 전화기는 나는 종이컵 전화기라고 생각한다.
실을 매개체로 하여 종이컵을 통해 음성을 송신하거나 수신하는 이 도구는 전화기의 자격이 있다. 왜 이 전화기로 이야기를 시작했냐하면 그 다음 세대의 전화기 또한 사실상 구조는 형태와 같기에 이 사진은 이해에 도움이 된다. 대부분의 전화기는 실을 어떻게 끊어지지 않는 통화 안정성을 보장하느냐, 송수신이 실시간으로 되느냐등을 위해 추가적인 기술을 집어넣었다. 본질은 이 전화기의 형태이다 송수화기와 매개체로 이루어져 있다는 것이다.
다음 전화기는 다이얼 전화기이다.
이 다이얼 전화기는 겉으로보기에는 종이컵전화기 처럼 송신자와 수신자가 연결된 실은 없는것 같다. 하지만 이 전화기의 뒷면에는 벽과 연결된 선이 있다. 이 선을 여러가구가 합쳐서 분배함에서 묶인다. 그럼 분배함에서 나온 구리선이 근처 전신주들을 타거나 지하를 통해서 지역 교환기까지 도달 하는 것이다. 결국 종이컵과 실 개수가 많아진 형태라고 보면된다. 전화 하고자 하는 상대방이 만약 02-1234-5678이라면 사용자는 차례로 0,2,1,2,3,4,5,6,7,8을 누르게 된다. 그러면 지역 교환기에 0번 진동, 2번 진동, 1번 진동, 2번 진동, 3번 진동 .... 하는 전기 신호(펄스 신호)를 차례로 도달한다. 그러면 지역 교환기가 02-1234-5678에게 보내려는것을 인식하고 02-1234-5678 근처 지역 교환기를 찾는다. 만약 못 찾겠으면 전화국이라는 더 큰 시스템으로 넘기는 것이다. 지역번호가 본인과 다른 지역번호라면, 지역교환기가 아마 일을 전화국으로 넘길 것이다. 이 지역을 교환하는 작업을 교환원이라는 분들이 교환해주시기도 했다. 하지만 이 일이 자동으로 바뀌면서 전화 교환원은 사라졌다.
그 다음은 무선 전화기이다. 무선 전화기라고 하면 많은 예시가 있다. 하지만 이 070 무선전화기를 예로 들겠다.
이 무선전화기는 벽과 연결된 구리선이 없다. 하지만 단순히 선의 차이가 아니고 위의 다이얼 전화기와 크게 2가지 차이가 있다. 첫째로는 송신자의 아날로그 음성을 디지털로 변환해서 전송한다는 것이다. 둘째 인터넷 전화기는 고유의 VoIP 주소를 가진다는 것이다.
첫째부터 알아보자. 다이얼 전화기는 별도로 아날로그 신호를 디지털 신호로 바꾸는 과정이 없었다. 하지만 디지털 신호가 감쇄나 잡음에 강하고 전송이 더 빠르고 가격이 싸다. 또한 디지털 신호로 바꾸면 아날로그 신호에 비해 암호화 하기에도 용이하다. 결국 품질,안정성,속도,가격 면에서 디지털이 더 좋기에 굳이 아날로그 신호를 디지털로 바꿔서 보내는것이다.
이 아날로그 신호를 디지털로 바꾸기 위해선 표본화(Sampling), 양자화(Quantization), 압축(Compression), 부호화(Encoding) 등의 과정을 거쳐야한다.
표본화(Sampling)는 아날로그 전기 신호에서 표본을 얻어내는걸 말한다. 하지만 모든 표본을 얻을수 없기에 표본화 주기(Sampling Rate)를 결정해서 얼마나 자주 많이 표본을 얻어낼지를 결정한다. 이는 통화 품질과 연결된다.
양자화(Quantization)은 표본화한 전기신호를 대푯값으로 환원하는 것이다. 표본화 된 값이 +1.23456이라면 복잡하니 그냥 +1로 표현하는 것이다. 왜냐하면 너무 세밀하게 표현하려면 데이터가 많이 필요하기 때문이다. 하지만 이러면 0.23456이라는 값이 원신호와 차이가 생기게 되는데 이름 양자화 에러 또는 양자화 잡음(Quantization Noise)이라고 한다.
압축(Compression)과 부호화는(Encoding) 동시에 이뤄진다. 압축은 말 그대로 데이터를 압축해서 전송하는 것이다. 이는 사람의 귀가 중간 주파수 영역(약 2,000~5,000 Hz)에서 가장 민감하게 반응하고, 큰소리와 동시에 나는 작은 소리는 잘 반응 하지 못하는 인간 귀의 특성들을 활용한다. 즉 사람 귀에 안들릴 법한것은 제거해서 데이터의 용량을 줄인다는것이다. 압축에는 많은 기법이 있다. 대표적으로 허프만 코딩, 반복 길이 부호화(Run-Length-encoding)등이 있다.
송신자 아날로그 음성을 디지털로 변환을 성공했다면 디지털 데이터를 패킷(Packet)단위로 쪼개서 전송을 한다. 왜 음성을 굳이 쪼개서 전달하냐고 한다면 첫째로는 네트워크 자원을 효율적으로 쓰기 위해서이다. 송신자가 "안녕"을 송신자에게 말했다고 하자. 안녕을 이렇게 ㅇ,ㅏ,ㄴ,ㄴ,ㅕ,ㅇ으로 6부분으로 쪼갤 수 있다. 그러면 각각의 글자를 다른 경로를 통해서 보낼 수 있다. 예를 들어보면 인천 -> 서울로 간다고 했을때 누구는 지하철, 누구는 올림픽대로, 누구는 강변북로 이렇게 선택 할 수 있다는 것이다. 즉 혼잡하지 않은 네트워크 자원을 효율적으로 골라서 쓸 수 있다는 것이다. 하지만 이러면은 패킷의 도착순서가 동시가 아닐 수가 있다 "안녕"이 "녕안" 이런식으로 "녕"이 "안"보다 도착할 수 있다. 그렇기에 수신자 측에서 패킷의 순서를 배열할 수 있도록 각 패킷에는 일련번호(Sequence Number)를 두어 자신이 몇번째 패킷인지 수신자가 알 수 있게 한다. 그리고 둘째로 오류때문이다. 여기서 오류는 메세지가 중간에 약간 잡음이 껴서 변질될 수도 있고 아예 통째로 없어질 수도 있다. "안녕"을 쪼개지 않고 통째로 보내면 잃어버렸을때 통째로 다시 보내야한다. 하지만 패킷화 하면 잃어버린 부분만 보내면 되서 더 효율적이다.
위처럼 데이터를 패킷단위로 쪼개서 데이터를 보냈을때 중요한점이 많지만 그 중에서 한가지는 실시간(Real-time)으로 통신하는것이 굉장히 중요하다. 사용자랑 전화를 하는데 답장이 1분후에 오면 곤란하기 때문이다. 그렇기에 또 이 실시간통신을 보장하기 위해 많은 기술적 노력이 있다. 패킷에다가 우선순위를 붙혀 네트워크 상에서 우선적으로 처리하는 방법이 있다. 그리고 대역폭을 미리 예약하는 방법등이 있다. 송신 경로를 미리 예약하는 것이다.
음성신호의 디지털화 -> 패킷 단위로 쪼갬 -> 실시간 통신 -> 패킷 합치기 -> 디지털신호의 아날로그화 의 과정을 거쳐 전화를 실시간으로 할 수 있게 되는것이다.
'데이터통신' 카테고리의 다른 글
국가 간 통신은 어떻게 이루어질까 (2) (2) | 2025.01.14 |
---|---|
국가 간 통신은 어떻게 이루어질까? (1) (1) | 2025.01.14 |
사물을 식별하는 기술(RFID) (0) | 2025.01.08 |
빠른 인터넷 속도는 어떻게 만들 수 있는 것일까? (0) | 2025.01.06 |
어떻게 한국이 인터넷 강국이 된 지 알아보자 (ADSL) (1) | 2025.01.06 |