▪︎ TCP 통신
📌 TCP는 서버와 클라이언트 사이 간에 동기화하기 위해 3-way-handshake를 사용한다.
- TCP 3-way-handshake
- TCP/IP 프로토콜을 사용하여 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정
- Client는 Closed 상태, Server는 Listen 상태이다.
- Client가 Server에 연결 요청을 하기 위해 SYN 데이터를 전송한다.
- Server는 Client가 보낸 SYN 데이터를 받고 Listen에서 SYN_RCV로 상태 변경한다.
- Server는 Client에 요청을 정상적으로 받았다는 ACK와 Client 포트를 열어달라는 SYN 데이터를 같이 전송한다.
- Client는 ACK와 SYN 데이터를 받고 Closed에서 Established로 상태 변경한다.
- Client는 Server에 요청을 정상적으로 받았다는 ACK를 전송한다.
- Server는 Client가 보낸 ACK를 받고 SYN_RCV에서 Established로 상태 변경한다.
상태 | 설명 |
CLOSED | 닫힌 상태 |
LISTEN | 포트가 열린 상태로 연결 요청 대기 중 |
SYN_RCV | SYNC 요청을 받고 상대방의 응답을 기다리는 중 |
ESTABLISHED | 포트 연결 상태 |
'Network' 카테고리의 다른 글
NAT Gateway : NAT의 기본 개념과 AWS NGW 동작방식과 아키텍처 예시 (0) | 2022.11.13 |
---|---|
TCP 4-way-handshake (0) | 2022.11.11 |
네트워크 스위치 (0) | 2022.11.11 |