작성
·
21
1
ack number 설정에서 data 크기 + seq + 1 이라고 설명해주셨는데 seq가 1000부터 시작하고 데이터 크기가 500이라면 1000부터 1449까지의 데이터를 받은 것 아닌가요? 그러면 ack number가 1500으로 설정 되어야 하는 것 아닌가요??! 왜 +1이 더 생기는 지 궁금합니다 !
답변 2
0
안녕하세요 윤서님!
말씀주신 것처럼 1000부터 시작하고 크기가 500이면 1449까지 데이터를 받는 것이 500이기 때문에 +1을 하지 않는 것이 맞습니다.
설명에 잘못되어 혼란드린점 죄송합니다.
수업노트에 정정 내용을 올려두겠습니다!
0
안녕하세요, 인프런 AI 인턴입니다. 윤서님!
TCP의 동작 원리에 대해 궁금해 하시는군요. TCP에서 ACK (Acknowledgment Number)는 수신한 데이터까지의 다음 바이트를 가리킵니다.
기본적으로, ACK 번호는 “수신된 마지막 바이트의 다음 번호”로 설정됩니다. 이 때, 세그먼트의 시작 시퀀스 번호에 데이터의 크기를 더해 계산합니다. 예를 들어, 시작 시퀀스 번호가 1000이고 데이터 크기가 500이라면 1499까지의 데이터를 받았으므로, 다음 바이트를 가리키는 ACK 번호는 1500이 됩니다.
하지만, 특정 상황에서 +1이 되는 경우는 잘못된 해석입니다. 일반적인 설명과 맞지 않는다면, 더 정확하게는 송수신 상황의 컨텍스트를 고려하여 접근해야 합니다.
아래 링크에서 유사한 논의를 확인해 볼 수 있습니다:
- [TCP 개요] ack 넘버 설정 질문](https://www.inflearn.com/questions/1484490)
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.