Multiplexing 정리

별 생각 없다가, 어제 디코에서 아우슥 사람들 얘기 듣다 보니 나도 헷갈려서 다시금 정리한다. Encap, Decap에 대한 개념을 시작으로 이어진 얘기였지만 결국 Multiplexing에 대한 내용을 정리하는 것으로 한다!

그렇게 되면 내용을 컴퓨터 일반으로 빼서 고민하는 것이 좋았겠지만, 주로 논의되는 곳이 네트워크 단에서이고 이 글을 쓰게 된 발단이 네트워킁 이야기이므로 이곳에 정리한다.

Multiplexing in logic design

한국어로 다중화, 처음 만난 것은 논리 설계 수업이었다.

멀티플렉서 멀티플렉서(multiplexer) 또는 mux는 여러 아날로그 또는 디지털 입력 신호 중 하나를 선택하여 선택된 입력을 하나의 라인에 전달하는 장치이다. (위키백과)

하드웨어 개발에서 기본이 되는 여러 입력 중 하나를 선택해서 보내주는 ‘선택자’와 같은 역할을 한다. 이는 여러 입력을 한 곳에서 받아들일 수 있지만, 한 번에 여러 입력을 받지는 않는 형태로 하여 다양한 채널을 하나로 통합한다는 점에서 비용 절감의 효과를 가져오기도 하고, 신호를 구별하는 기준을 ‘시간’ 단위로 전환하게 하여 ‘시분할’을 본격적으로 활용하게 되는 장치라고 생각한다.

이렇게 논리설계에서 처음 등장한 mux(다중화 장치를 줄여 말하는 말)는 이후에도 여러 곳에서 사용되어왔다.

Multiplexing in network transport layer

네트워크 4계층(전송 계층)에서 말하는 다중화는 조금은 다르게 작용한다.

여기에서 진행하는 다중화는 ‘포트를 식별자로 각 프로세스 간 요청을 구별하여 적용’하기위한 과정으로, 결과적으로 호스트 - 호스트 간 통신을 세분화하여 프로세스 - 프로세스 간 통신으로 변환할 수 있게 되었다. 이를 통해 하나의 호스트에서 여러 애플리케이션을 구동하고 외부와의 통신을 진행할 수 있게 되었다.

하위 계층에서는 라우터 혹은 스위치와 같은 중간 장비들이 존재한다. 패킷 기반 네트워킹에서는 하나의 신호가 중간 장비에서 각 신호로 역다중화되고, 각 신호의 목적지에 맞는 곳으로 다시금 다중화되어 각기 다른 회선으로 나뉘는 과정을 거친다. 이 과정에서 각 중간 장비들은 각 장비가 지원하는 계층까지의 역다중화를 수행하고, 이를 기반으로 목적지를 확인하여 다시금 경로를 설정하는 과정을 포함한다. 이 과정에서 혼잡제어는 포함되지 않는다(전송 계층을 포함하는 경우만 진행).

일반적으로 얘기하는 FDM, TDM 등의 기법이 이곳에서 사용된다.