[학부 과정] 데이터 통신 6주차

2023. 3. 29. 13:52학부 과정/데이터 통신

Go back N protocol
sender window size 2^n -1
sending window 버퍼 구간은 이 숫자까지 가능
ack이 도중에 깨지는 경우도 있어서 수신기가 착각할 수 있기 때문이다.
sf sn rrn의 파라미터로 제어한다. first outstanding 아직 미해결된 번호 sn 다음에 보내게 될 번호
타이머는 하나만 있어도 된다.

selective repeat protocol
보내는건 pipeline으로 보낸다. 송신기가 만약 1번부터 5까지 보냈는데 1번 부터 3번이 깨졌으면 선택전으로 다시 보낼 수 있다. go back n protocol은 다시 보내야한다는 점에서 차이가 있다.
제일 처음와야할 패킷이 아직 도착하지 않았다면 위 레이어로 보낼 수가 없다.
송신기는 수신기의 상태를 보지않고 파이프라인으로 보낼수있다. 수신기 입장에서 안 온 패킷만 선택적으로 보내라고 할 수있지만 아직 도착하지 않은 패킷을 기다려야하기 때문에 단점이 있다.
송신자측의 윈도우 최대 사이즈는 2^(m-1)이다.  
원리는 동일한 숫자0를 가지고 구분이 어렵기 때문에 그러하다. 이것이 새로운 0인지 아니면 보냈던 0을 재전송한건지 분류하기 위해서다.
타이머 동작은 각 패킷마다 모두 돌려야한다.

만약 ack가 3번이 왔다면 고백엔은 2번까지 잘 왔다는 걸 의미한다.
반면 SR은 3번이 오류가 나서 3번만 다시 보내달라고 의미한다. 1,2번이 잘 왔다고 내포하진 않는다.

explicated ack 0번이 잘 왔다라는 뜻 1번이 전송 도중 손실되면 우선 2,3,4번을 보낸다. 타임아웃 후에 1번을 다시 재전송한다.

이론은 이러하지만 우리는 프로그래밍을 짤 줄 알아야한다. 개인적으로 코딩 공부 필요!! fsm machine

stop and wait protocol
성능지표로 신뢰지표, 처리율지표, 딜레이가 얼마나 적냐를 따지는 딜레이 지표가 있다.
그 중 bandwidth delay product을 알아보자. 만약 딜레이로 인해 내가 보낼 수 있었던 기회비용을 잃게 된다. 1초동안 보낼 수 있는 최대 양을 정의한다.
만약 내가 20000비트를 보낼 수 있다. 수산 측으로 부터 확인 응답을 기다려야 해서 보낼수 있어도 못보내는게 예시다. = BW*round trip delay
효율로 따지면 데이터 패킷의 길이가 1000비트이면 1000/20000이다. 5%
만약 기다리는 동안 15개의 비트를 보낼 수 있다고 가정해보자. 그럼 총 15000비트를 보낼 수 있다. 따라서 15000/20000 75% 이것은 파이프라인을 쓰는 gobackn or selective protocol에 해당하는 이야기이다.