일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- post
- cloud
- Jenkins
- sonarQube
- tomcat
- jdk
- Spring
- container
- map
- Java
- Collection
- 액세스회선
- IntelliJ
- mybatis
- LAN어댑터
- ansible
- JPA
- gradle
- Set
- 소켓
- Linux
- 방화벽
- 허브
- 캐시서버
- Pipeline
- DevOps
- 라우터
- STREAM
- docker
- AOP
- Today
- Total
목록fin (2)
거북이-https://velog.io/@violet_evgadn 이전완료
소켓을 생성한 뒤 소켓사이를 연결하는 커넥션을 만들고 데이터 송/수신을 진행한 뒤 연결을 끊는 과정까지 모두 공부해 보았다. 이제 배울 것은 실제 송/수신되는 데이터인 패킷이 어떻게 만들어지는가와 어떻게 송/수신되는가에 대해 배울 차례이다. 하지만 이를 배우기 전 데이터/송신 과정 정체를 정리해 보고 이전에 말했던 오류 검출 및 회복에 대해 알아본 뒤 패킷에 대해 알아보도록 하자. 그림으로 보는 데이터 송/수신 과정 3-way Handshake - 연결 일단 서버 측에서는 애플리케이션을 동작시키면서 소켓을 미리 만든 뒤 접속 대기 상태로 만든다. 이때 소켓을 "Wait for Client 상태"에 있다고 한다. 이후 Client는 데이터 송/수신을 위하여 소켓을 만든다. 그리고 SYN 비트가 1인 TCP..
연결 끊기 ◎ 커넥션 끊기 데이터 송/수신이 완료되었으니 소켓 사이를 연결하고 있던 커넥션을 끊는 단계로 넘어간다. 데이터 송신을 전부 완료했다고 판단한 측에서 먼저 연결 끊기 단계로 들어간다. 예를 들어 웹의 경우 웹 서버에서 클라이언트에게 응답 메시지를 반송 완료하면 데이터 보내기가 완료된다. 즉, 웹 서버에서 메시지가 모두 송신되었음을 먼저 파악하므로 서버 측이 연결 끊기를 시도한다. (이는 데이터 통신 한 번당 연결 과정을 수행하는 HTTP 1.0일 때 상황이다. HTTP 1.1에서는 Keep-Alive라는 상태가 존재하여 응답 메시지를 반송한 후에도 클라이언트는 계속해서 리퀘스트 메시지를 보낼 수 있으므로 클라이언트 측이 먼저 연결 끊기 단계에 들어갈 수도 있다) 아래 상황에선 웹 서버에서 먼저..