Ch. 3 전송 계층 , 신뢰성 있는 통신

태규 최·2022년 1월 11일
0

네트워크

목록 보기
6/8
post-thumbnail

신뢰성 있는 통신

  • 현실의 통신은 이상적이지 않다.
  • 패킷이 유실됌
  • 무한히 흐르지 않는다.
  • 패킷이 순서대로 오지가 않을 수 있다.
  • 패킷이 변조 될 수 있다

  • 송신자는 패킷에 번호를 붙여서 보낸다
  • 수신자는 받은 패킷에 대해서 응답에 번호를 붙여서 보낸다.
  • 만약 타임아웃이 일어나면 응답을 받지 못한 패킷에 대해서 다시 재전송을 한다.
  • 수신자는 같은 패킷이 중복해서 온것을 알아 낼 수가 있다.

Pipeline 통신

연속된 대량의 작업이 순차성을 갖고 있으나 병렬적으로 수행할수 있는 경우

  • 패킷을 순차적으로 보낸다
  • 보내다가 어떠한 패킷에 대해서 유실이 된 경우 그 패킷부터 다시 순차적으로 전송한다.

go - back -n 파이프라인

  • N개의 패킷을 병렬적으로 처리

  • 송신측에서는 N개의 패킷을 버퍼링(재전송하기 위해)

  • 수신측에서는 순차적으로 잘 수신된 패킷에 대하여 Ack을 송신하고 패킷의 페이로드 응용계층으로 올려보낸다.

  • 송신측에서는 버퍼에 여유가 생기면(ACk를 받을때마다) 패킷을 추가로 보낸다.

  • 송신측에서 패킷을 잘 받으면 그 패킷 이전에 송신한 패킷은 수신측에서 잘 수신했다고 고려 할 수 있다.

수신측에서 패킷이 순서에 맞지 않는 경우

  • 가만히 있는다
  • 잘 받은 마지막 패킷에 대해서 ack을 전송

장점

  • 단순
  • 간편하게 시스템의 상태가 추상화

단점

  • 패킷 유실시 비용이 많이 든다.

Selective repeat

  • 수신 측에도 버퍼를 둔다.
  • 유실 된 패킷 이후에 받은 패킷들은 버퍼에 임시 저장 해둔다.
  • 재 전송한 패킷이 수신측에 도착하면 버퍼에 저장한 패킷과 함께 응용층에 전송한다.

장점 :

  • 실패 한 패킷만 재전송
    단점 :
  • 시스템 추상화 복잡
  • 수신측에도 버퍼가 필요

0개의 댓글