Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- 일급 컬렉션
- OAuth 2.0
- spring security
- synchronized
- factory
- Google OAuth
- builder
- Spring
- Dependency Injection
- 일급 객체
- lombok
- Volatile
- java
Archives
- Today
- Total
HJW's IT Blog
Transport-Layer Services & Multiplexing 본문
Transport Services 와 Protocols
전송 프로토콜은 데이터의 전송을 관리하는 프로토콜 이다. 전송 프로토콜은 송신측에서 수신측으로 데이터를 전송하며 이 과정에서 데이터의 손실, 에러, 순서 등을 관리한다.
전송 프로토콜은 end-system에서 실행되어야 한다.
- 송신측: 메세지를 segment로 나누어 network layer에 전달
- 수신측: 받은 segment를 메세지로 결합, application layer에 전달
전송 프로토콜의 종류로 TCP 와 UDP가 있다
- TCP: congestion control, flow control, connection setup
- UDP: 최선을 다해 전달하지만 보장 x
Data Encapsulation/Decapsulation
PDU(Protocol Data Unit):
- Segment = Data Chunk + Port #
- Datagram = Segment + IP Addr
- Frame = Datagram + HW Addr

Multiplexing/Demultiplexing
Multiplexing : 여러 소켓에서 온 데이터에 transport header 추가. 하나의 통신 채널을 토앻 여러개의 데이터를 전송하는 기술.
Demultiplexing: Transport header 를 사용하여 받은 segment를 올바른 socket으로 전달. 다중화된 데이터를 목적지에서 원래의 개별 데이터 스트림으로 분리.

Demultiplexing 작동방법
Host 가 IP Datagram 을 전달받는다.
- 각 datagram은 source IP 와 destination IP 존재
- 각 datagram 은 최소 하나의 segment 를 가지고 있다
- 각 segment는 source/destination port #를 가지고 있다
- Host는 IP Addr 과 포트 # 를 사용하여 segment를 알맞은 소켓에 전달한다

Connectionless Demux
- Destination 포트 #를 확인한다
- UDP segment를 포트 # 와 맞는 소켓으로 전달한다
- Destination 포트 # 는 같지만 송신 IP 주소나 송신 포트 # 간 다른 IP 데이터그램은 목적지 소켓으로 전달된다.

Connection Oriented Demux
- TCP Socket은 다음 구성요소를 띈다
- Source IP, port #
- Dest IP, port #
- Demux: RCV는 4개의 값을 이용해서 알맞은 소켓으로 전송
- 서버 호스트가 동시적 TCP 소켓 support 가능
- 웹 서버는 각 다른 socket-> each client 마다

'컴퓨터 네트워크' 카테고리의 다른 글
| Pipelined Protocol (0) | 2023.04.06 |
|---|---|
| UDP: User Datagram Protocol/Principles of Reliable Data Transfer (0) | 2023.04.05 |
| Socket Programming with TCP & UDP (0) | 2023.04.05 |
| P2P, CDN (0) | 2023.04.02 |
| DNS: Domain Name System (0) | 2023.04.01 |