[네트워크] TCP 프로토콜의 ACK와 SEQ의 의미

박성빈·2023년 7월 3일
0

네트워크

목록 보기
1/1

TCP 프로토콜

TCP(Transmission Control Protocol)는 신뢰성 있는 데이터 전송을 위한 프로토콜로, 데이터를 패킷 단위로 나누어 전송하고, 수신 측에서 패킷의 손실이나 손상 여부를 확인하고 복구하는 기능을 제공합니다. 이를 위해 TCP는 ACK(Acknowledgment)와 SEQ(Sequence Number)라는 개념을 사용합니다.

ACK(Acknowledgment)

ACK는 수신 측이 데이터를 정상적으로 받았음을 송신 측에 알려주는 역할을 합니다.
송신 측에서 데이터를 전송하면 수신 측은 ACK를 생성하여 송신 측으로 전송합니다.
ACK 번호는 송신 측으로부터 받은 데이터의 바로 다음에 기대되는 데이터의 순서 번호입니다. ACK 번호는 수신 측이 받은 마지막 바이트의 순서 번호에 1을 더한 값입니다. ACK를 받은 송신 측은 해당 ACK 번호 이전의 데이터는 정상적으로 수신되었다고 간주하고, 다음 데이터를 전송할 준비를 합니다.

SEQ(Sequence Number)

SEQ는 TCP 세그먼트에 포함되는 데이터의 순서 번호입니다. 데이터는 일련의 세그먼트로 나뉘어 전송되기 때문에, 수신 측은 이 순서 번호를 통해 패킷의 순서를 파악하고 조립합니다. SEQ 번호는 송신 측에서 데이터를 세그먼트로 나눌 때 각 세그먼트의 시작 위치를 식별하기 위해 사용됩니다. SEQ 번호는 수신 측으로부터 받은 마지막 바이트의 순서 번호에 1을 더한 값입니다.

결론

ACK와 SEQ는 TCP 헤더에 포함되어 전송되며, 송신 측과 수신 측 간에 신뢰성 있는 데이터 전송을 위한 정확한 순서 제어와 오류 복구를 가능하게 합니다. 이를 통해 데이터의 손실, 중복, 순서 오류 등을 신속하게 감지하고 처리하여 신뢰성 있는 데이터 전송을 보장합니다.

profile
주로 프로그래밍을 공부하는 대학생입니다.

0개의 댓글