현제의 현재이야기

[CS] 컴퓨터 네트워크 - GBN(go-back-N)관련 3과 연습문제 본문

cs

[CS] 컴퓨터 네트워크 - GBN(go-back-N)관련 3과 연습문제

현재의 현제 2022. 10. 20. 20:52

이 블로그를 보고 깨우쳤다. 감사합니다.

패킷 pipelining (go-Back-N, selective repeat)

1. Stop and Wait 앞서 기본적으로 reliable한 패킷 데이터 교환을 위해서는, 우선 패킷을 보내고 그에 해당하는 ACK이 올때까지 기다리는 Stop and Wait 방식을 사용한다고 하였다. 하지만 이 방법은 ACK이

ddongwon.tistory.com

컴퓨터 네트워킹 -하향식 접근 제8판 3과 연습문제

연습문제 P19

  • cumulative ACK는 sender가 pkt를 보낼 때 손실되는 경우 뿐만 아니라 receiver가 sender에게 ACK를 보낼 때, 손실되어도 작동한다. 즉, ACK 1이 손실되어도 pkt2와 pkt3에 대한 ACK2, 3이 sender에게 도착하면 sender는 앞의 pkt이 ACK를 받았다고 생각하고 window를 옮기게 된다.
  • 또한 timer는 처음 보낸 pkt 부터 시작되며, 그 이후로부터는 가장 최근에 받은 ACK 다음의 sequence number, 즉 윈도우의 가장 왼쪽에 있는 number로 갱신이 된다.
  • pkt4를 받고 ACK4를 보낸 시점에서 receiver는 pkt5를 기다리고 있다. 이 상황에서 pkt6를 받게되면 가장 최근에 정상적으로 보낸 ACK4를 다시 보내게 되고, 윈도우 가장 오른쪽에 위치하고 있는 sequence number 5에 대한 timeout이 발생하게 되고, 다시 윈도우 안의 5, 6, 7을 재전송한다.

연습문제 P22

Consider the GBN protocol with a sender window size of 4 and a sequence number range of 1,024. Suppose that at time t, the next in-order packet that the receiver is expecting has a sequence number of k. Assume that the medium does not reorder messages. Answer the following questions:

1. What are the possible sets of sequence numbers inside the sender’s window at time t? Justify your answer.


  • 만약 k를 5라고 가정하고, pkt 1, 2, 3, 4에 대한 ack를 각각 1, 2, 3, 4 보낼 때, sender의 윈도우는 receiver의 순차적인 ack에 따라서 한 칸씩 옮겨지게 되고, 그에 따른 새로운 pkt을 5, 6, 7, 8 보낼 때, receiver에게 전송 중 손실되는 경우 k는 여전히 5를 기다리고 있음에도 불구하고 sender의 window는 5, 6, 7, 8를 가르키고 있다.
  • 따라서 sender가 time t에 가능한 sequence numbers는 1부터 8, 즉 [k-4, k+3] 까지이다.




2. What are all possible values of the ACK field in all possible messages currently propagating back to the sender at time t? Justify your answer.

  • 위의 그림과 같이 k가 5라고 가정하면, 다시 보내지는 윈도의 크기는 1부터 4까지 일 수밖에 없다.
  • 만약 재전송 중, 5, 6, 7이 손실되고 pkt8 만이 receiver에게 도착해도 sender는 5를 기다리고 있기 때문에 가장 최근에 성공적으로 전송한 pkt 4를 다시보내게 된다.
  • 즉 범위는 1부터 4, [k-4, k-1] 까지이다.



+) TCP 복습 블로그
https://ddongwon.tistory.com/84

TCP의 개념 (Transmission Control Protocol)

1. TCP (Transmission Control Protocol) Transport Layer 프로토콜들의 대표적인 사례로는 UDP와 TCP가 있다. 비교적 간단하고 빠른 UDP에 비해 TCP는 더 복잡하고 느리지만, 보다 신뢰성있는 연결이 가능해진다...

ddongwon.tistory.com

EMWA, Estimated rtt, dev rtt
https://www.educative.io/answers/how-to-compute-devrtt-estimated-rtt-time-out-interval-in-ccn

How to compute DevRTT, estimated RTT, & time-out interval in CCN

Contributor: AKASH BAJWA

www.educative.io

'cs' 카테고리의 다른 글

컴네 기말시험공부  (0) 2022.11.30
[CS] 컴퓨터 네트워크 1008 TIL  (1) 2022.10.08
[데이터베이스]데이터베이스 관리 시스템  (1) 2022.09.20
Comments