더북(TheBook)

2.6.2.3 데이터 전송

데이터를 전송하려면 호스트가 각 세그먼트를 내보낼 때마다 페이로드를 실어야 한다. 각 세그먼트에는 데이터의 첫 바이트를 가리키는 시퀀스 번호가 붙어 있다. 바이트마다 연속적인 시퀀스 번호가 붙어 있으므로, 세그먼트의 시퀀스 번호는 이전 세그먼트 번호 더하기 데이터 길이와 같다. 한편 수신자는 세그먼트를 받을 때마다 ACK 패킷에 그 ACK 필드 값을 다음번 받아야 할 시퀀스 번호로 기재하여 응답한다. 이 값은 곧 가장 마지막으로 받은 세그먼트 번호 더하기 데이터 길이와 같다. 그림 2-14는 세그먼트가 누락되지 않은 경우의 단순한 전달 과정을 보여준다. 호스트 A가 첫 세그먼트로 100바이트를 보내고, 호스트 B는 ACK과 함께 자신의 데이터 50바이트를 같이 보낸다. 다음 호스트 A가 200바이트를 더 보내면, 호스트 B는 새로 받은 200바이트에 대한 ACK를 보낸다. 마지막에 B는 보낼 데이터가 없어서 0을 길이로 보냈다.

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