Multiplexing/demultiplexing
How demultiplexing works
▪ 호스트는 IP 데이터 그램을받습니다.
• 각 데이터 그램에는 소스 IP 주소, 대상 IP 주소가 있습니다.
• 각 데이터 그램은 하나의 전송 계층 세그먼트를 전달합니다.
• 각 세그먼트에는 소스, 대상 포트 번호가 있습니다.
▪ 호스트는 IP 주소 및 포트 번호를 사용하여 세그먼트를 적절한 소켓으로 보냅니다.
Connectionless demultiplexing
Recall:
▪ 소켓을 생성 할 때 host-local 포트 번호를 지정해야합니다.
▪ UDP 소켓으로 보낼 데이터 그램을 만들 때 다음을 지정해야합니다.
• 대상 IP 주소
• 대상 포트 번호
수신 호스트가 UDP 세그먼트를 수신 할 때
• 세그먼트에서 대상 포트 번호 확인
• UDP 세그먼트를 해당 포트 번호의 소켓으로 보냅니다.
목적지가 동일한 IP / UDP 데이터 그램 포트 번호, 그러나 다른 소스 IP 주소 및 / 또는 소스 포트 번호는 수신 호스트에서 동일한 소켓으로 지정됩니다.
# client가 여러 서버와 통신할 수 있다
Connectionless demultiplexing: an example
# UDP?
# 홉 to 홉은 datalink layer에 해당
Connection-oriented demultiplexing
▪ 4- 튜플로 식별되는 TCP 소켓 :
• 소스 IP 주소
• 소스 포트 번호
• 대상 IP 주소
• 대상 포트 번호
▪ demux : 수신기가 4 개의 값 (4- 튜플)을 모두 사용하여 세그먼트를 적절한 소켓으로 보냅니다.
▪ 서버는 많은 동시 TCP 소켓을 지원할 수 있습니다.
• 자체 4- 튜플로 식별되는 각 소켓
• 서로 다른 연결 클라이언트와 연결된 각 소켓
#TCP
Connection-oriented demultiplexing: example
동일한 IP, 다른 port # : 동일한 시스템의 다른 tcp연결
동일한 port # 다른 IP addr : 두 개에서 실행되는 두 개의 프로세스
요약
▪ 다중화, 역 다중화 : 세그먼트 기반, 데이터 그램 헤더 필드 값
▪ UDP : 대상 포트 번호를 사용한 역 다중화 (전용)
▪ TCP : 4- 튜플을 사용한 역 다중화 : 소스 및 대상 IP 주소, 포트 번호
▪ 멀티플렉싱 / 디 멀티플렉싱은 모든 레이어에서 발생합니다.
UDP: User Datagram Protocol
▪ "no frills", "bare bones"인터넷 전송 프로토콜
▪ "최선의" 서비스, UDP segments는 다음과 같습니다.
• 잃어버린
• 앱에 순서없이 전달됨
# 확장 가능이 아니다
# transport Layer 프로토콜과 동일
# multiplexing과 demultiplexing을 제공, 새로운 가치, 서비스는 ip 레이어에서 추가
▪ 비연결 :
• UDP 발신자, 수신자 간의 핸드 셰이킹 없음
• 서로 독립적으로 처리되는 각 UDP 세그먼트
# 네트워크 혼잡에 대해 신경쓰지 않는다
# 많은 패킷 손실이 발생한다, 유연하다
UDP가있는 이유는 무엇입니까?
▪ 연결 설정 없음 (RTT 지연을 추가 할 수 있음)
▪ 단순 : 발신자, 수신자에서 연결 상태 없음
▪ 작은 헤더 크기
▪ 혼잡 제어 없음
▪ UDP는 원하는만큼 빠르게 폭발시킬 수 있습니다!
▪ 혼잡시 기능 가능
▪ UDP 사용 :
▪ 스트리밍 멀티미디어 앱 (손실 허용, 속도 민감)
▪ DNS
▪ SNMP
▪ HTTP / 3 # 신뢰성과 연결기능이 내부에서 구현됨
▪ UDP (예 : HTTP / 3)를 통한 안정적인 전송이 필요한 경우 :
▪ 애플리케이션 계층에 필요한 안정성 추가
▪ 애플리케이션 계층에서 혼잡 제어 추가
UDP: User Datagram Protocol [RFC 768]
UDP: Transport Layer Actions
체크섬:
- 아주 간단한 오류 감지 매커니즘.
- TCP 및 UDP에서 사용한다.
- 전송된 데이터의 무결성을 확인하는 프로토콜
- 강력하진 않다
- 오류 감지시 버려 버릴 수도 있고 그냥 전송해서 application-Layer에서 복구를 시도한다.
UDP segment header
'컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 Week 10-1-2 : reliable data transfer (0) | 2020.11.25 |
---|---|
컴퓨터 네트워크 Week 10-1-1 : UDP (0) | 2020.11.25 |
컴퓨터 네트워크 Week 9-1: Transport Layer (0) | 2020.11.03 |
컴퓨터 네트워크 Week 7-2: CDN (0) | 2020.10.17 |
컴퓨터 네트워크 Week 7-1 : P2P application (0) | 2020.10.13 |