2007년 11월 8일 목요일

[scrap] Link Level Flow and Error Control


[Source] William Stallings - High-Speed Networks : TCP/IP and ATM Design Principles
[Selective Translation]  FINAL LAB of Korea University

1 The need for flow and error control

1.1. Flow Control

destination이 source에서 보내는 PDU(Protocol Data Unit)흐름을 조절할 수 있도록 해주는 protocol mechanism.

-Flow Control의 필요성:

  1. destination은 수신 PDU를 처리하는데 시간 소비. -SRC에서 DST가 처리할 수 있는 것보다 많은 양의 PDU를 보내는 경우.
  2. destination protocol entity는 higher layer protocol user로 수신 data를 보내기 위해 data를 buffering. - 만일 User가 Data 처리가 늦다면 Buffer는 가득찰 것이고 따라서 DST는 SRC의 Data를 제한하거나 순간적으로 정지시켜야 한다.
  3. destination은 수신 data를 network상의 다른 node로 보내기 위해 buffering. - DST가 Data를 다른 I/O Port로 재전송할 경우 In/Out을 일치시키기 위해 Incoming flow를 제한.

1.1.1 Hop Scope

Intermediate system간의 flow control은 link level에서 구현된다.

1.1.2 Network Interface

flow control은 link level 및 network protocol에서도 구현될 수 있다.

  • link level에서 구현: LAPB In X.25
  • network layer에서 구현: ATM, Frame-Relay.

1.1.3 Entry to Exit

logical connection상에서 entry와 exit node 간의 flow control이 구현될 수 있다.

1.1.4 End to End

end system간의 link level 및 logical connection 상에서 flow control을 구현할 수 있다.

1.2. Error Control

source와 destination간에 전송된 PDU의 loss및 damage를 복구.

FCS(Frame Check Sequence)를 통한 Error Detect 포함.


2. Link Control Mechanisms

link level에서 쓰이는 error 및 flow control의 세가지 방식으로 stop and wait, Go-Back-N, selective reject가 있다. 일반적으로 data를 전송할 때 single block 보다는 block을 여러 frame으로 조각내어 보내는데 이유는 다음과 같다.

  1. 수신측 buffer size의 제한.
  2. 전송시간이 길 경우 error 발생확률이 높다. - Frame이 짧으므로 error 검출이 빠르고 재전송되는 Data의 양도 작다.
  3. LAN과 같은 Shared Medium에서 하나의 station이 전송매체를 사용하는 시간이 길어짐.

2.1. Stop and Wait

flow control의 가장 간단한 방법이며 source는 destination으로부터 ACK frame을 받은 후에 다음 frame을 보내는 방식이다.
- 두가지 형태의 에러:

  1. destination이 error가 있는 frame을 받거나 frame소실.
    - SRC: Error Detect and Discard Frame.
    - DST: ACK를 받을때까지 Data를 저장하고 만일 ACK가 오지 않는다면 Frame을 재전송한다.
  2. 전송한 ACK frame의 손상.
    - 0과 1로만 구별된 frame number.
    - stop and wait ARQ 그림 9.3
    - propagation time이 transmission time보다 클 경우 link 이용률 감소.

2.2. Sliding window Techniques

- 한번에 여러 개의 frame을 보냄으로써 link 이용률을 증가시키는 방법.

  • frame을 저장할 수 있는 buffer수가 stop and wait보다 많아 ACK의 수신을 기다릴
    필요 없이 frame을 전송.
  • number field가 k-bits field인 경우 frame을 modulo 로 번호을 매긴다.
  • frame을 보내면 window가 줄어들고 ACK를 받으면 window가 늘어남.
  • 그림 9.5 sliding window depiction
  • 그림 9.6 Example of sliding window protocol

2.2.1 Go-back-N ARQ

  • sliding window에 기반을 두고 일반적으로 가장 널리 쓰이는 error control.
  • source는 최대 허용치까지 frame을 전송하고 destination은 error가 발생하지 않은 경우 RR(receive ready) frame을 전송. Error가 발생할 경우 REJ frame을 전송
  • error가 발생하면 destination은 error frame이 제대로 된 frame이 되어 수신 될 때 까지 error frame 이후에 들어오는 frame 들을 제거.
  • REJ를 받은 source는 error frame및 error frame이후에 전송한 모든 frame을 재전송한다.

- Go-Back-N 에서 발생될 수 있는 상황들.

  1. Damaged frame
    • i번째 frame에서 error가 발생할 경우 -> REJ i를 보낸다.
    • 전송도중 i번째 frame이 소실되고 destination이 i+1번째 frame 을 받을 경우 -> REJ i를 보낸다.
    • i번째 frame이 전송도중 소실되고 source가 추가적인 frame을 보내지 않을 경우 -> B에서는 아무것도 받지 않은 상태 -> A에서는 time-out 상태 -> A에서 RR Frame을 보낸다.
  2. Damaged RR
    • destination이 i번째 frame을 받고 i+1번째 RR을 보냈는데 전송도중 소실 될 경우.(timer 작동중)
    • source timer가 만료된 경우.
  3. Damaged REJ

2.2.2 Selective-reject ARQ

  • negative acknowledgement(SREJ)를 받은 frame만을 재전송.
  • destination은 go-back-n 방식보다 buffer수가 많다.
  • frame retransmission을 최소화

3. ARQ Performance

3.1. Stop and Wait ARQ

3.1.1 Error-free Stop-and-Wait

3.1.2 Stop-and-wait ARQ with Errors

3.2. The Parameter a

3.3. Stop-and-Wait Revisited

3.4. Sliding-window ARQ

3.4.1 Error-free Sliding-window Flow Control

3.4.2 Selective-reject ARQ

3.4.3 Go-back-N ARQ


[Related Articles]
2007/11/08 - [Network] - [scrap] TCP/IP Sliding Window

Daejun University, Computer Networks Lab
Data Communications 강의자료 Chapter 10 Data Link Control[ppt]

William Stallings - Data and Computer Communications 7th Edition
                            Chapter 7 Data Link Control Protocols[ppt:partly translated]

William Stallings - Data and Computer Communications
                            Chapter 7 Data Link Control[ppt:partly translated]

Behrouz A. Forouzan - Data Communications and Networking 4th Edition
                                    Chapter 11 Data Link Control[ppt:partly translated]



댓글 없음:

댓글 쓰기