728x90
본 포스팅은 < 컴퓨터 네트워킹 하향식 접근[8판] James F. Kurose, Keith W. Ross 저/최종원, 강현국, 김기태 > 을 참고하여 작성되었습니다.
Ch03 Transport Layer
2. 다중화와 역다중화 : Multiplexing & demultiplexing
- 서버가 클라이언트에 메세지를 보낼 때 transport, network 헤더를 추가하여 보낸다
- 그렇다면 여러 클라이언트가 서버에 데이터를 보내면 어떻게 구별할 수 있을까?
➡️ 전송층 헤더에 포함된 포트 번호로 구별!
다중화 & 역다중화
역다중화 (demultiplexing)
- 전송층 세그먼트의 데이터를 올바른 소켓으로 전달하는 작업
다중화 (multiplexing)
- 출발지 호스트에서 소켓으로부터 데이터를 모음
- 이에 대한 세그먼트를 생성하기 위해 각 데이터 헤더 정보를 캡슐화
- 그 세그먼트들을 네트워크 계층으로 전달
비연결형 Connectionless 다중화 (UDP)
전송자
- 소켓을 생성할 때 포트 번호를 명시해준다
- datagram을 생성하여 UDP 소켓으로 전송할 때 IP 주소와 포트번호를 명시한다.
수신자
- 세그먼트의 포트 번호를 확인한다.
- 출발지 IP, 출발지 포트 번호가 달라도 목적지 IP와 포트번호가 같을 수 있다.
연결 지향형 Connection-oriented 다중화 (TCP)
(출발지 IP주소, 출발지 포트 번호, 목적지 IP주소, 목적지 포트 번호) 4개 요소로 식별한다.
P1, P2, P3 모두 다른 소켓으로 들어가는 것을 확인 가능한 특정 프로세스 전용 소켓을 열어준다.
728x90
'Computer Science > Computer Network' 카테고리의 다른 글
📡 [Network] 전송층에서 신뢰성있는 데이터의 전송 (가상의 프로토콜 구축해보기) (0) | 2022.10.11 |
---|---|
📡 [Network] 전송층에서의 UDP 통신 (Connectionless transport) (0) | 2022.10.10 |
📡 [Network] 전송층(Transport Layer)에 대해서 (개요) (0) | 2022.10.10 |
간단한 클라이언트-서버 소켓 채팅 💬 프로그램 만들어보기 (with 파이썬🐍) (0) | 2022.10.06 |
📡 [Network] 어플리케이션층 - Socket 소켓 프로그래밍 (UDP, TCP) (0) | 2022.10.06 |