[네트워크] 한양대 컴퓨터 네트워크 이석복 교수님 2015년 - 5. 전송계층1

June·2021년 5월 27일
0

Recap: Principles of Reliable Data Transfer

신뢰성은 보장이되나 효율이 아주 안좋았다.

Pipelining: increased utilization

한꺼번에 여러개를 보내니 성능이 좋아진다.

Go-Back-N

한번에 얼마나 많이 보내냐의 크기가 window size이다.

ACK 11은 11번까지 잘 받았다는 뜻이다.

각 패킷에 대해 타이머를 가지고 있는데 만약 시간 초과가 나면 윈도우 안에 패킷을 전부 다시 보낸다.

GBN: sender extended FSM

GBN in action

receiver는 2번 기다리고 있는데 3번이 왔으니 버린다. 2번이 올때까지 다른 것들은 버린다. 1번까지만 잘 받았다는 ACK1을 보낸다. sender는 2번 타이머가 터지니 2번을 포함한 윈도우 전체를 다시 보낸다. 만약 ack가 잘오면 윈도우를 이동한다.

윈도우에 있는 패킷들은 아직 잘 보냈는지 확신을 못하는 패킷들이다.

패킷 하나가 손실 됐는데 윈도우 전체를 보낸다는 비효율이 존재한다.

Selective Repeat

Selective repeat: sender, receiver windows

Selective repeat in action

receiver는 2번을 제외한 나머지들을 버리지않고 ack를보내고 있다. 2번을 나중에 다시 받으면 윈도우를 한번에 이동한다.

Selective repeat: dilemma

이전에도 나왔듯이 sequence는 헤더에 들어가는 정보이고, 작을 수록 좋다. 최소의 필요 sequence #를 구해보자. 윈도우 사이즈가 N일때 필요한 sequence 크기가 얼마일지를 구해야한다.

패킷 하나당 타이머를 다는 것도 오버헤드가 크다.

0개의 댓글