더북(TheBook)

전송 절차의 세부적 내용은 약간 더 복잡하지만 자세히 알아두는 편이 좋은데, 나중에 신뢰성 데이터 전송 시스템을 직접 구현할 때를 대비해 좋은 학습 재료이기 때문이다. TCP가 신뢰성 전달을 하기 위해 채택한 구현 전략에선 시퀀스 번호 추적과 데이터 재전송이 필요하므로, 각 호스트는 열려 있는 모든 TCP 연결에 대해 상태 변수를 유지해야 한다. 표 2-14에 이들 주요 상태 변수와 그 표준 약칭을 RFC 793의 정의에 따라 정리했다. 상태 초기화 절차는 두 호스트 사이의 3-웨이 핸드셰이킹으로 시작된다.

▼ 표 2-14 TCP 상태 변수

변수

약자

정의

송신 다음 번호

SND.NXT

호스트가 보낼 다음 세그먼트의 시퀀스 번호

송신 미확인 번호

SND.UNA

아직 ACK를 받지 않은 데이터의 가장 앞 시퀀스 번호

송신 윈도

SND.WND

호스트가 보낼 수 있는 데이터의 현재 용량(미확인 데이터에 대해 ACK를 받으면 최대 용량으로 리셋)

수신 다음 번호

RCV.NXT

호스트가 받을 것으로 예측되는 시퀀스 번호

수신 윈도

RCV.WND

호스트가 받을 수 있는 데이터의 현재 용량(수신 버퍼를 초과하지 않도록)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.