본문 바로가기

네트워크36

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.
3-1. Transport-Layer Services Transport 계층은 두 호스트의 app process 간 logical communication을 담당한다. Application계층과 마찬가지로 end system(host)에만 존재한다.다음과 그림과 같이 sender host측의 transport 계층이 message를 쪼개서 보내면, receiver host측의 transport 계층은 다시 합쳐 application 계층으로 올려보낸다. TCP transport 계층 vs UDP transport 계층 TCP와 UDP는 sender에서 receiver로 데이터를 전달할 때, transport계층에서 데이터를 쪼개는 방식이 다르다. TCP  1. message가 byte stream형식으로 L5(application 계층)buffer에 저장된.. 2024. 10. 16.