
- 데이터 송.수신의 최초 동작은 소켓을 작성하는 단계
- 서버측에서 애플리케이션이 동작하기 시작했을 때 소켓을 만들고 이것을 접속 대기 상태로 만듬
- 클라이언트에서 소켓을 만들고 서버를 향해 접속 동작 실행
- 클라이언트가 SYN을 1로 만든 TCP 헤더를 만들어 서버에 보냄 ( 시퀀스 번호 초기값, 서버에서 클라이언트로 보낼 때 이용하는 윈도우의 값도 기록)
- 서버에서 SYN을 1로 만든 TCP 헤더가 돌아옴 (마찬가지로 시퀀스 번호 초기값, 윈도우가 기록) & 클라이언트에서 보낸 SYN TCP 헤더를 받은 것을 나타내는 ACK 번호도 반송
- 클라이언트에서 서버의 SYN 1 TCP 헤더 잘 받았다고 ACK 번호 반송
- 웹의 기준으로 클라이언트가 서버에 리퀘스트 메시지를 먼저 보냄. TCP는 이것을 적당한 크기의 조각으로 분할 후 TCP 헤더를 맨 앞에 부가하여 서버에 보냄 (시퀀스 번호 기록)
- 서버는 데이터 받으면 ACK 번호 반송 & 그 데이터를 애플리케이션에 가져가면서 버퍼가 비워지면 윈도우 사이즈도 반송
- 4의 서버 기준. 반대 방향
- 5.의 서버 기준. 반대 방향
- 웹의 경우 서버에서 먼저 끊기 동작에 들어감 FIN 1로 표기한 TCP 헤더 전송함
- 클라이언트에서 잘 받았다고 ACK 번호 반송
- 클라이언트에서 FIN 1로 표기하여 전송
- 서버에서 잘 받았다고 ACK 번호 반송
- 잠시 후 소켓 말소