본문 바로가기

TCP4

[Network] Transport Layer - TCP : Connection-Oriented Transport - (2) Reliable Data Transfer TCP 는 IP 의 unreliable service 위에 reliable data transfer service 를 만든다. 따라서, process 가 TCP receiver buffer 에서 읽어온 data stream 은 ucorrupted, without gaps, without duplication, 그리고 in-sequence 를 보장한다. TCP 는 pipelined segments, cumulative acks, single retransmission timer 의 특징을 가지며, timeout events 와 duplicate acks 에 의해 retransmission 이 작동한다. TCP sender events TCP sender 에서 dat.. 2023. 1. 16.
[Network] Transport Layer - TCP : Connection-Oriented Transport - (1) TCP Connection TCP 는 connection-oriented protocol 이다. 데이터 교환 전에 반드시 "handshake" 를 통해 TCP connection 을 생성한다. TCP connection 은 full-duplex service 를 제공한다. 프로세스 간 TCP connection 이 있다면, 프로세스 간 양방향 통신(bi-directional data flow)이 가능하다. 또한, TCP connection 은 항상 single sender 와 single receiver 를 가지는 point-to-point 이다. TCP connection 이 생성되면, 두 application process 가 서로 데이터를 보낼 수 있게 된다. client process 가 serv.. 2023. 1. 12.
[Network] Application Layer - Socket Programming Socket 일반적인 network application 은 client prorgram 과 server program 의 쌍으로 구성된다. client program 과 server program 이 실행되면, client process 와 server process 가 생성되고 process 간 communication 을 위해 socket 을 사용한다. socket 은 application layer 와 transport layer 사이에 존재한다. 프로그래머는 TCP/UDP 헤더를 어떻게 만들어야 하는지, 구조가 어떻게 되는지 등의 고민 없이 socket API 를 사용하여 network application 을 만들 수 있다. Socket Programming with UDP 다음은 UDP 의 .. 2022. 11. 28.
[Network] Application Layer - Principle of Network Applications networkd application 을 개발을 위해서는 network 를 통해 서로 의사소통하고 서로 다른 end system 에서 작동하는 프로그램을 만들어야 한다. network 의 layering 으로 인해 우리는 network core device 를 작동시키는 소프트웨어를 만들 필요가 없고, network core device 는 user application 을 사용할 수 없다. Network Application Architecture application architecture 에는 Client-Server architecture 와 P2P architecture 가 있다. Client-Server architecture 는 다음과 같은 특징들을 가진다. server 는 always-on.. 2022. 11. 8.