본문 바로가기

전체 글60

3-4-2. TCP : Connection-oriented transport(1) TCP overview - point-to-point: 1 sender 1 receiver- full duplex data: 하나의 connection 하에서 data가 senderreceiver 오감- connection-oriented: handshaking(control message 전달)- pipelining(window size는 congestion과 flow control 고려해서 설정)- flow control : receiver overwhelming 막기 위해- congestion control : network overwhelming 막기 위해- reliable, in-order byte stream- cumulative ACKs  TCP Segment Structure 크기부터 UD.. 2024. 10. 21.
3-4-1. TCP: Principles of reliable data transfer 이제 TCP 프로토콜을 자세히 살펴볼 거다. 그 전에 TCP에게 요구되는 reliable한 data transfer란 무엇인지 알아볼 것이다. 이상적인 data transfer은 다음과 같이 application의 message가 transport 계층과 network 계층을 통해 loss가 발생하지 않고 잘 전달되는 것이다.   하지만 현실에서는 당연히 loss가 발생할 수 있다.그래서 중간에 있는 transport 계층에서 loss가 발생하지 않도록 무언가를 해줘야 한다.   그래서 transport계층에서 요구되는 reliable data transfer에는 다음과 같은 것들이 있다. MechanismUse, CommentsChecksumbit error을 detect하기 위해 사용Acknowled.. 2024. 10. 21.
3-3. Connectionless Transport: UDP 앞서 UDP가 mul/demul 제외하고는 별 기능을 제공하지 않는다고 했다..  - "connectionless": connection setup 기능 제공하지 않기 때문* UDP sender-receiver 간 hand-shaking 없음* UDP datagram은 독립적으로 처리됨 - 사용 사례* streaming multimedia(loss 중요x, rate 중요o)에서 많이 사용* DNS : 간단한 response 딱 한 번 필요하므로 굳이 TCP 사용할 필요 없음(단계가 너무 많음!!)* SNMP : 주기적으로 업데이트되기 때문* HTTP/3 : application 계층에서 다 해주기 때문(reliability, congestion control, error recovery) - source.. 2024. 10. 21.
3-2. Multiplexing/Demultiplexing Transport 계층의 프로토콜의 역할은 multiplexing과 demultiplexing이다. - multiplexingsender측에서 이루어짐많은 socket으로부터 데이터를 모으되, 나중에 demultiplexing이 가능한 정보를 실어주는 작업이다. -demultiplexingreceiver측에서 이루어짐목적지 socket을 찾아 데이터를 application계층으로 보냄 **여러 개의 receiver로 보낸다면 각 receiver별로 socket을 둔다.    How Demultiplexing works sender에서 receiver로 전달되는 IP datagram은 sender와 receiver의 IP주소들을 가지고 있고  sender에서 receiver로 전달되는 IP datagram.. 2024. 10. 21.