[네트워크] 다중화(Multiplexing)와 역다중화(Demultiplexing)

2025. 5. 28. 13:54·⚙️ CS/네트워크
반응형

멀티플렉싱과 디멀티플렉싱은 호스트 간 통신을 애플리케이션 간 통신으로 확장하는 핵심 기능이다.

 

✅ 다중화 (Multiplexing)

: 애플리케이션 프로세스의 데이터를 모아 세그먼트로 생성하여 네트워크 계층에 전달하는 과정

 

Transport 계층의 다중화는 하나의 네트워크 인터페이스를 공유하면서도 각 애플리케이션의 데이터를 정확히 분리하여 처리할 수 있게 해 준다.

 


 

📍UDP의 다중화

 

UDP 소켓 = 목적지 IP + 목적지 포트 번호

 

  1. 클라이언트가 UDP 소켓 생성 시, 트랜스포트 계층이 임의 포트 자동 할당
  2. 서버는 bind()를 통해 고정 포트에 소켓을 바인딩
  3. 세그먼트 전송 시:
    • 트랜스포트 계층이 출발지/목적지 포트 번호를 포함해 세그먼트 생성
  4. 수신 측은 세그먼트의 목적지 포트 번호를 기준으로 소켓을 찾아 데이터 전달

 


 

📍TCP의 다중화

 

TCP 소켓 = (출발지 IP, 출발지 포트, 목적지 IP, 목적지 포트) -> 4-tuple

  1. 클라이언트는 connect()를 통해 랜덤 포트에서 서버 포트로 연결 요청
  2. 서버는 환영 소켓으로 연결 요청 대기 (예: 포트 12000)
  3. 서버는 요청을 수락하고, 4개의 값으로 구성된 새 연결 소켓 생성
  4. 이후 도착하는 TCP 세그먼트는 4-tuple을 기준으로 해당 연결 소켓으로 전달됨

 


 

✅ 역다중화 (Demultiplexing)

: 수신된 세그먼트를 포트 번호 기반으로 올바른 애플리케이션 소켓으로 전달하는 과정 

 

 

하나의 호스트는 네트워크 인터페이스를 통해 다양한 세그먼트를 수신한다.
이때 트랜스포트 계층은 포트 번호를 사용해 세그먼트를 적절한 애플리케이션 소켓으로 라우팅 한다.


 

✅ UDP vs TCP 다중화/역다중화 비교

  UDP  TCP
연결 방식 비연결형 (connectionless) 연결형 (connection-oriented)
소켓 식별 목적지 IP + 목적지 포트 출발지 IP + 출발지 포트 + 목적지 IP + 목적지 포트
다중 연결 동일 포트로 여러 클라이언트가 접속해도 동일 소켓 사용 각각의 연결은 별도 소켓에 매핑됨
회신 처리 출발지 포트를 회신용으로 사용 연결 자체가 양방향 채널
반응형

'⚙️ CS > 네트워크' 카테고리의 다른 글

[네트워크] 포워딩과 라우팅  (1) 2025.05.27
[네트워크] 로드 밸런싱 (Load Balancing)  (0) 2025.05.27
[네트워크] DHCP  (1) 2025.05.20
[네트워크] SOP와 CORS & REST  (3) 2025.05.20
'⚙️ CS/네트워크' 카테고리의 다른 글
  • [네트워크] 포워딩과 라우팅
  • [네트워크] 로드 밸런싱 (Load Balancing)
  • [네트워크] DHCP
  • [네트워크] SOP와 CORS & REST
dev-heyjin
dev-heyjin
  • dev-heyjin
    개발 기록
    dev-heyjin
  • 전체
    오늘
    어제
    • 분류 전체보기 (56)
      • 🎯 Programming (8)
      • 💪 Algorithm (16)
      • ⚙️ CS (31)
        • 네트워크 (15)
        • 운영체제 (15)
        • 데이터베이스 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    RDS
    데이터베이스
    해킹
    DB
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dev-heyjin
[네트워크] 다중화(Multiplexing)와 역다중화(Demultiplexing)
상단으로

티스토리툴바