728x90
TCP 상태 전이
연결 단계 : 3-way HandShaking
1. TCP는 종단 host 간의 논리적 접속을 설정하기 위해 3-way HandShaking 사용
Client->Server : TCP SYN
Client->Server : TCP ACK
Server->Client : TCP SYN ACK
SYN : Synchornize Sequence Numbers
ACK : Acknowledgement
2. TCP 연결 과정을 상태 전이도 측면
#1 : Client는 Sserver에 접속 요청하는 SYN Packet을 보내고, Server의 응답을 기다리는 SYN_SENT 상태로 전이
#2 : Server는 SYN 요청을 수신하고 Client에게 요청을 수락하는 ACK와 SYN 플래그가 설정된 Packet을 전송하고, SYN_RECEIVED 상태로 전이
#3 : Client는 Server에게 ACK를 송신하고, ESTABLISHED 상태로 전이하며 Server는 Client가 보낸 ACK를 수신하고 ESTABLISHED 상태로 전이
3. ESTABLISHED 상태의 Client와 Server 간에 실질적 데이터 통신 진행
전송 단계
1. ACK 값을 전송 바이트 만큼 증가시킴
- Packet 전송 확인 및 데이터 손실여부 확인
- ACK 번호 = SEQ 번호 + 1
- SEQ 번호는 반드시 0이나 1에서 시작하는 게 아니며 랜덤임
2. SEQ 전송 시 타이머 작동
- SEQ에 대한 ACK 응답이 time-out 내에 이뤄지지 않으면, 데이터 재전송
728x90
'Computer Science > Network' 카테고리의 다른 글
Network] 네트워크 주소와 호스트 주소 변환 방법 (0) | 2016.07.21 |
---|---|
Network] UDP 주요 함수 (0) | 2016.07.21 |
Network] TCP 소켓 데이터 전송 특징 (0) | 2016.07.21 |
Network] TCP 기반 클라이언트 프로그램 주요 함수 (0) | 2016.07.21 |
Network] TCP 기반 서버 프로그램 주요 함수 (0) | 2016.07.21 |