코드 그라데이션
TCP, UDP 본문
TCP
인터넷 프로토콜 스택의 4계층
프로토콜 계층
* TCP 3-way handshake
: 컴퓨터 네트워크에서 사용되는 통신 절차 중 하나로, 데이터를 안정적으로 전송하기 위한 방법이다.
이것은 서버와 클라이언트 간의 연결을 설정하는 과정.
첫 번째 단계 (SYN)
- 클라이언트가 서버에게 연결을 요청.
클라이언트는 랜덤한 숫자(시작 순서 번호)를 선택하고, SYN(동기화) 플래그가 설정된 패킷을 서버에게 보낸다. - 이 패킷은 서버로 전송되고, 서버는 클라이언트의 요청을 받았음을 알리기 위해 ACK(확인응답) 플래그와 / 자신의 시작 순서 번호를 포함한 다른 랜덤한 숫자를 가지는 패킷을 클라이언트로 보낸다.
두 번째 단계 (SYN-ACK)
- 서버가 클라이언트의 요청을 받았고, 연결을 수락한다는 것을 알리기 위해 SYN(동기화)과 ACK(확인응답) 플래그가 설정된 패킷을 클라이언트로 보낸다.
- 클라이언트는 이 패킷을 받고, 서버의 응답을 확인하기 위해 ACK(확인응답) 플래그를 설정하여 패킷을 다시 서버로 보낸다.
세 번째 단계 (ACK)
- 클라이언트가 서버에게 ACK(확인응답) 플래그가 설정된 패킷을 보내면, 이로써 연결이 확립된다.
- 서버도 클라이언트의 ACK(확인응답) 패킷을 받으면 연결이 성공적으로 설정되었다고 인식하고, 이후 데이터 전송을 위한 준비가 된 상태가 된다.
이러한 3단계의 핸드셰이크 과정을 통해 클라이언트와 서버는 안정적인 통신 연결을 설정하고,
데이터 전송을 시작할 수 있다.
이 연결은 데이터 전송이 완료되면 종료될 때까지 유지.
그림으로 정리하면
728x90
'WEB > HTTP' 카테고리의 다른 글
비연결성(Connectionless) (0) | 2023.09.10 |
---|---|
Stateful과 Stateless (0) | 2023.09.09 |
HTTP 소개 + 클라이언트 - 서버 구조 (0) | 2023.09.09 |
웹 브라우저 요청 흐름 (0) | 2023.09.08 |
URI와 URL, URN (0) | 2023.09.08 |
Comments