Contents

Computer Network Chapter 13

   Dec 17, 2022     1 min read

Chapter 13) Introduction to the Transport Layer

transport layer

Flow control(흐름 제어)

  • 수신측과 송신측의 데이터 처리 속도 차이를 해결하기 위한 기법
  • 송신측의 전송량이 수신측의 처리량보다 많은 경우, 전송된 패킷이 손실될 수 있으므로 송신측의 전송량을 제어함

1) Stop and Wait (정지 - 대기)

  • 매번 전송한 패킷에 대해 응답을 받아야만 그 다음 패킷을 전송
  • 구조는 간단하지만 하나씩 주고받으므로 비효율적

2) Sliding Window (슬라이딩 윈도우)

  • 수신측에서 설정한 윈도우 크기(rwnd)만큼 송신측에서 확인 응답없이 세그먼트를 전송할 수 있게 하여 데이터를 동적으로 조절하는 기법
  • stop and wait의 비효율성을 개선한 기법
  • (윈도우 크기) = (가장 최근 ACK로 응답한 프레임의 수) - (이전에 ACK 프레임을 보낸 프레임의 수)
  • ACK 프레임을 수신하지 않더라도 여러개의 프레임을 연속적으로 전송가능

3) Piggyback 방식

  • 수신측에서 수신된 데이터에 대한 확인 응답을 즉시 보내지 않고, 별도의 제어 프레임도 사용하지 않은 채, 전송할 데이터가 있는 경우에만, 그 데이터 프레임 안에 확인 필드를 덧붙여 전송하는 기법

Error control(오류 제어)

  • 송신측에서 수신측에 전달된 프레임에서 발생한 오류를 감지하고 수정하기 위한 메커니즘
  • 오류 검출과 재전송을 포함
  • ARQ기법을 사용하여 프레임이 손상되었거나 손실되었을 경우 재전송을 통해 오류 복구
  • ARQ기법은 흐름제어 기법과 관련되어 있는데 stop and wait은 stop and wait ARQ로, sliding window는 go-back-n ARQ 또는 SR(selective-reject) ARQ 형태로 구현

Stop and Wait ARQ

  • 전송측은 수신측에서 보내준 ACK를 받을때까지 프레임의 복사본을 유지
  • 식별을 위해 데이터 프레임과 ACK 프레임은 각각 0,1 번호를 부여
  • 수신측이 데이터를 받지 못했을 경우 NAK를 송신측에게 보내고 NAK를 받은 송신측은 데이터를 재전송
  • 데이터나 ACK가 분실되어 일정 간격의 시간을 두고 타임아웃이 되면 송신측은 데이터를 재전송

Go-Back-N ARQ (Continuous ARQ)

  • 전송된 프레임이 손상되거나 분실된 경우, 확인된 마지막 프레임 이후로 모두 재전송하는 기법
  • 데이터 폐기 방식을 사용하여 추가적 버퍼가 필요없음
  • 슬라이딩 윈도우는 연속적인 프레임 전송기법으로, 전송 스테이션은 전송된 모든 프레임의 복사본을 가져야 하며, ACK와 NAK 모두 각각 구별해야함
    • ACK : 다음 프레임을 전송
    • NAK : 손상된 프레임 자체 번호를 반환
  • 재전송 되는 경우
    • NAK 프레임을 받았을 경우
    • 전송 데이터 프레임의 분실
    • 지정된 타임아웃 내의 ACK 프레임의 분실

Selective-Reject ARQ (Continuous ARQ)

  • 전송된 프레임이 손상되거나 분실된 경우, 해당 프레임만 재전송하는 기법
  • 구조가 GBN-ARQ보다 복잡
  • 데이터 폐기 방식을 사용하지 않으므로 순차적이지 않은 프레임을 재배열하기 위한 버퍼가 필요
  • 비용 및 유지관리 비용이 증가