3 hand shake
- SYN(Synchronization) : 동기화, 연결요청, 세션을 설정하는데 사용되며 초기에 시퀀스 번호를 보냄
- ACK(Acknowledgement) : 승인, 보낸 시퀀스 번호에 TCP 계층에서의 길이 또는 양을 더한것과 같은 값을 ACK에 포함하여 전송
- FIN(Finish) : 종료, 세션을 종료시키는데 사용되며 더 이상 보낼 데이터가 없음을 표시
- Sequence Number : 전송되는 데이터의 Byte 순서 번호, 랜덤 한 숫자가 들어감.
- Acknowledgement Number : 수신 측에서 앞으로 받고자 하는 byte 순서 번호, 마지막으로 받은 데이터에 seq+1을 더함
SYN(Synchronization:동기화) - S : 연결 요청 플래그
TCP에서 세션을 성립할 때 가장 먼저 보내는 패킷, 시퀀스 번호를 임의적으로 설정하여 세션을 연결하는 데에 사용되며 초기에 시퀀스 번호를 보내게 된다.
ACK(Acknowledgement) - Ack : 응답
상대방으로부터 패킷을 받았다는 걸 알려주는 패킷, 다른 플래그와 같이 출력되는 경우도 있습니다.
받는 사람이 보낸 사람 시퀀스 번호에 TCP 계층에서 길이 또는 데이터 양을 더한 것과 같은 ACK를 보냅니다.(일반적으로 +1 하여 보냄) ACK 응답을 통해 보낸 패킷에 대한 성공, 실패를 판단하여 재전송하거나 다음 패킷을 전송한다.
순서 1000 보낼께
승인 -
순서 2000 보낼께
승인 1001 는 승인, 보내라
순서 1001 보낼께
승인 2001 은 승인, 보내라
ACK 번호 • SEQ 변호 + 전송된 바이트 크기 + 1
순서 1200 부터 100개 보낼께
승인 1301 승인 보내라
순서 1301 부터 100개 보낼께
승인 1402 승인 보내라
순서 1200 부터 100개 보낼께
승인 1301 승인 보내라
순서 1301 부터 100개 보낼께 X
순서 1301 부터 100개 보낼께 X
승인 1402 승인 보내라
종료
순서 5000 보낼께,
승인 -
순서 7500 보낼께,
승인 일단 5001로 승인 확인해
종료
순서 7500 보낸거 봤냐? 7501로 보낼께,
승인 아까 보낸 5001 재전송해서 값 없는걸로 확인하려고 보낼께할께
순서 5001 확인 보낼꺼 없어
승인 나도 7051 확인 종료해