[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의 필요성:
- destination은 수신 PDU를 처리하는데 시간 소비. -SRC에서 DST가 처리할 수 있는 것보다 많은 양의 PDU를 보내는 경우.
- destination protocol entity는 higher layer protocol user로 수신 data를 보내기 위해 data를 buffering. - 만일 User가 Data 처리가 늦다면 Buffer는 가득찰 것이고 따라서 DST는 SRC의 Data를 제한하거나 순간적으로 정지시켜야 한다.
- 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으로 조각내어 보내는데 이유는
다음과 같다.
- 수신측 buffer size의 제한.
- 전송시간이 길 경우 error 발생확률이 높다. - Frame이 짧으므로 error 검출이 빠르고 재전송되는 Data의 양도 작다.
- LAN과 같은 Shared Medium에서 하나의 station이 전송매체를 사용하는 시간이 길어짐.
2.1. Stop and Wait
flow control의 가장 간단한 방법이며 source는 destination으로부터 ACK frame을 받은 후에 다음 frame을
보내는 방식이다.
- 두가지 형태의 에러:
- destination이 error가 있는 frame을 받거나 frame소실.
- SRC: Error Detect and Discard Frame.
- DST: ACK를 받을때까지 Data를 저장하고 만일 ACK가 오지 않는다면 Frame을 재전송한다. - 전송한 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 에서 발생될 수 있는 상황들.
- 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을 보낸다.
- Damaged RR
- destination이 i번째 frame을 받고 i+1번째 RR을 보냈는데 전송도중 소실 될 경우.(timer 작동중)
- source timer가 만료된 경우.
- 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]
댓글 없음:
댓글 쓰기