Chapter7 Data Link Control

41
First IEC Chapter7 Data Link Control Flow Control Error Detection Error Control HDLC

description

Chapter7 Data Link Control. Flow Control Error Detection Error Control HDLC. Flow Control. Flow Control 수신 엔티티의 용량 이상으로 Data 가 넘치지 않도록 송신 엔티티를 제어하는 기술 만약 , Flow Control 이 없으면 Receiver 의 Overflow 가 발생. 처리율

Transcript of Chapter7 Data Link Control

Page 1: Chapter7 Data Link Control

First IEC

Chapter7 Data Link Control

Flow ControlError DetectionError ControlHDLC

Page 2: Chapter7 Data Link Control

2

First IEC

Flow Control

Flow Control 수신 엔티티의 용량 이상으로 Data 가

넘치지 않도록 송신 엔티티를 제어하는 기술

만약 , Flow Control 이 없으면 Receiver의 Overflow 가 발생처리율 < 전송률 Buffer 에 저장 Flow Control

Page 3: Chapter7 Data Link Control

3

First IEC

Flow Control

Flow Control 방법 Sender 에서 보내는 Data 가 Receiver

의 처리 능력을 초과하지 않도록 맞춰줌 수신 데이터를 저장하는 Buffer 가 꽉 차지

않도록 함

Page 4: Chapter7 Data Link Control

4

First IEC

Flow Control

Fragmentation 하는 이유 Receiver 의 Buffer Size 가 제한 Error Check 를 빨리 할 수 있음 Error 발생시 Retransmission 하는

Data 의 양이 적음 Transmission Media 를 효율적으로 공유

Page 5: Chapter7 Data Link Control

5

First IEC

Flow Control

Fragment 의 크기 너무 클 때의 문제점

전송 매체를 점유하는 경우가 증가 불공평한 매체 사용

에러 발생에 의해 다시 전송할 때 부담이 큼 너무 작을 때의 문제점

전송을 위한 부가정보 ( 헤더 등 ) 의 비중이 커짐

Page 6: Chapter7 Data Link Control

6

First IEC

Flow Control

Transmission time 한 Frame 을 송신하는데 걸리는 시간

Propagation time Sender 가 Receiver 에 한 Bit 보내는데

걸리는 시간Sender Receiver

Transmission Media

Transmission Time

Propagation Time

Page 7: Chapter7 Data Link Control

7

First IEC

Flow Control

Frame Transmission Model

Page 8: Chapter7 Data Link Control

8

First IEC

Flow Control

Flow Control 의 종류 정확한 데이터 전송을 위해 ..

일정한 수의 데이터를 보낸 후 잘 받았다는 응답을 받는 형태로 반복

한번에 보내는 데이터의 양에 따라 분류Flow Control

Stop-and-Wait Sliding Window

한 번에 하나의 Frame 전송 한 번에 여러 개의 Frame 전송

Page 9: Chapter7 Data Link Control

9

First IEC

Flow Control

Stop and Wait 송신측은 하나의 Frame 을 전송 수신측은 Frame 을 잘 받았으면 ACK 전송 송신측은 ACK 를 기다림 일정 시간 동안 ACK 가 오지 않으면 재전송 장점

구현하기 쉽고 간단 단점

비효율적 → Frame 수가 적은 경우 사용

Page 10: Chapter7 Data Link Control

10

First IEC

Flow Control

Stop and Wait 의 동작원리단점 : ACK 가 돌아올 때까지 기다리는 시간낭비 Link 의 Utilization 이 저하

Page 11: Chapter7 Data Link Control

11

First IEC

Flow Control

Stop and Wait 의 Link Utilization

Page 12: Chapter7 Data Link Control

12

First IEC

Flow Control

Sliding Window Flow Control 한 번에 여러 개의 Frame 전송 송신 Frame 의 수는 수신측에서 결정 각 Frame 에 Sequence number 부여 ACK 에는 받고자 하는 다음 Frame 의

Sequence number 포함

Page 13: Chapter7 Data Link Control

13

First IEC

Flow Control

Sliding Window 동작 (Sander Window) Frame 을 송신 - 왼쪽 경계가 이동하여 윈도우 축소 ACK 를 수신 - 오른쪽 경계가 이동하여 윈도우를

확장

Page 14: Chapter7 Data Link Control

14

First IEC

Flow Control

Sliding Window 동작 (Receiver Window) Frame 을 수신 - 왼쪽 경계가 이동하여 윈도우 축소 ACK 를 송신 - 오른쪽 경계가 이동하여 윈도우를

확장

Page 15: Chapter7 Data Link Control

15

First IEC

Flow Control

Frame 보내면 한 칸 이동

ACK 받으면한 칸 이동

Frame 받으면 한 칸 이동

ACK 보내면한 칸 이동

전송 후 ACK 를 받은 Frame

수신 후 ACK 를 보내준 Frame

Page 16: Chapter7 Data Link Control

16

First IEC

Flow Control

1

2 34

5 68

79

10

12

11

ACK 받은 Frame

0,1,2 번 잘 받음 . 3 번 전송 요청 .

ACK 보낸 Frame

RR (Receive Ready) n : 이전 것은 잘 받았으니 n 번을 전송해 달라는 의미

Page 17: Chapter7 Data Link Control

17

First IEC

Error Detection

Error Control 수신된 데이터의 에러를 체크하고 정정하기

위한 제어 Error Detection

Error 를 감지하기 위해 송신측에서 특정 비트 정보를 추가해서 전송

Error 가 있으면 재전송 Error Correction

Error 를 감지하면 Error 를 정정

Page 18: Chapter7 Data Link Control

18

First IEC

Error Detection

Parity Check 1 의 수를 even parity 또는 odd parity 로

맞춰줌 에러가 여러 bit 에서 발생하면 체크하지

못함1 0 1 0 0 1 1 0 1 0 1 11 1Even Parity

1 bit error !

Even Parity 아니므로 Error !

1 0 1 0 0 1 1 0 01 1

2 bit error !

Even Parity Error 감지 못함

0 0 0

Page 19: Chapter7 Data Link Control

19

First IEC

Error DetectionCRC(Cyclic Redundancy Check)

Mod-2 division 에 근거한 오류검출 방식 송 · 수신 간에 “ divisor”(n+1 bits) 를

공유함 송신측 : CRC(n bits) 발생기 수신측 : CRC(n bits) 검사기

Page 20: Chapter7 Data Link Control

20

First IEC

Error Detection CRC 연산 방법

수신기는 수신된 프레임을 FCS 로 나누어 나머지가 없으면 에러가 없는 것으로 간주

모듈로 -2 연산 Carry 가 없는 2 진 덧셈 (exclusive-OR 연

산 )예 )

1111+ 1010

-------- 0101

11001x 11

-------------11001

11001 -------------101011

Page 21: Chapter7 Data Link Control

21

First IEC

Error Detection CRC 의 발생과 검사과정

Step-1 : n-bit extra “0” 정보 data 의 뒤에 n-bit 의 “ 0” 을 첨가

Step-2 : “divisor” generates CRC 첨가된 data 를 n+1 bit 의 “ divisor” 로 나누어 그 나머지를

CRC 로 결정Step-3 : CRC attaching

정보 data 뒤에 첨가된 n-bit “0” 대신 n-bit CRC 를 첨가 === 전송 (transmission) ===

Step-4 : CRC check 수신정보 ( 정보 data + CRC) 를 “ divisor” 로 나누어

나머지를 구함 나머지 = “0” ⇒ ‘ACK’ 나머지 ≠ “ 0” ⇒ ‘NAK’

Page 22: Chapter7 Data Link Control

22

First IEC

Error Detection

Page 23: Chapter7 Data Link Control

23

First IEC

Error Detection

Page 24: Chapter7 Data Link Control

24

First IEC

Error ControlError Control 방법

Error Control 은 Error Detection 과 Retransmission 을 포함

Data Link Layer 구현사항 Stop and Wait ARQ Sliding Window ARQ

Error Control

Stop and Wait ARQ Sliding Window ARQ

Go back N ARQ Selective Reject ARQ

Page 25: Chapter7 Data Link Control

25

First IEC

Error Control

ARQ(Automatic Repeat reQuest) 방식 에러 발생시 재전송을 자동으로 요청하는

방식 오류검출 부정응답 (NAK) 프레임 재전송

ARQ 의 종류 Stop and Wait ARQ Go Back N ARQ Selective Reject ARQ

Page 26: Chapter7 Data Link Control

26

First IEC

Error Control

Stop and Wait ARQ Stop and Wait Flow Control 에 손실

혹은 손상된 Frame 을 Retransmission할 수 있도록 확장

Page 27: Chapter7 Data Link Control

27

First IEC

Error Control

기본 Stop and Wait 에 추가할 사항 보낸 Frame 을 Buffer 에 가지고 있어야 함 Frame 식별을 위한 교대로 0 과 1 번호 사용

ACK 손실 체크 Frame 의 오류 발견시에 NAK 사용

Frame 번호에 관계없이 마지막 Frame Retransmission

Timer 사용 Timeout 이 발생하면 Frame 손실로 간주하고

Retransmission 받은 Frame 이 손상된 경우 ACK 가 손상되는 경우

Page 28: Chapter7 Data Link Control

28

First IEC

Error Control

Stop and Wait ARQ 의 동작원리 Stop and Wait 를 기반으로 함 Sender 의 동작

하나의 Frame 만 전송 후 ACK 를 기다림 일정 시간 동안 ACK 가 없으면 Timeout

되므로 Retransmission Receiver 의 동작

0 과 1 을 번갈아 ACK 에 번호를 붙임 받은 Frame 이 손상된 경우 , Frame 을 버림

Page 29: Chapter7 Data Link Control

29

First IEC

Error Control

Stop and Wait ARQ ( 손상된 Frame)

1

1

0

Page 30: Chapter7 Data Link Control

30

First IEC

Error Control

Stop and Wait ARQ ( 손실된 Frame)

Page 31: Chapter7 Data Link Control

31

First IEC

Error Control

Stop and Wait ARQ ( 손실된 ACK)

Page 32: Chapter7 Data Link Control

32

First IEC

Error Control

Sliding Window ARQ Sliding Window Flow Control 에 손실

혹은 손상된 Frame 을 Retransmission할 수 있도록 확장

Page 33: Chapter7 Data Link Control

33

First IEC

Error Control

기본 Sliding Window 에 추가할 사항 보낸 Frame 을 Buffer 에 가지고 있어야 함 Frame 의 오류 발견시에 NAK 사용

NAK 번호는 손상된 Frame 번호만 전송 Timer 사용

Timeout 이 발생하면 Frame 손실로 간주하고 Retransmission

받은 Frame 이 손상된 경우 ACK 가 손상되는 경우

Page 34: Chapter7 Data Link Control

34

First IEC

Error Control

Retransmission 방법에 따라 분류 Go Back N ARQ

하나의 Frame 이 손실되면 ACK 이후의 모든 Frame 을 Retransmission

Selective Reject ARQ 손상되거나 손실된 Frame 만 Retransmission

Page 35: Chapter7 Data Link Control

35

First IEC

Error Control

Go Back N ARQ 의 동작원리 Sliding window 를 기반으로 함 Sender 의 동작

한번에 여러 Frame 전송 에러 발생시 에러 발생한 Frame 부터 모두

Retransmission Receiver 의 동작

에러가 발생하지 않으면 다음으로 받을 Frame 의 번호를 ACK 에 표시하여 전송

에러 발생하면 에러 발생한 Frame 의 번호를 포함하여 NAK 전송

Page 36: Chapter7 Data Link Control

36

First IEC

Error Control

Go Back N ARQ ( 손상된 Frame)

손상된 Frame 이후수신된 Frame 은

패기

Page 37: Chapter7 Data Link Control

37

First IEC

Error Control

Go Back N ARQ ( 손실된 Frame)

도착한 Frame의

순서 검사

손상된 Frame 이후수신된 Frame 은 패기

Page 38: Chapter7 Data Link Control

38

First IEC

Error Control

Go Back N ARQ ( 손실된 ACK, NAK)

측정 타이머 가동

마지막 ACK 이후 전송했던

모든 Frame 을 재전송

Page 39: Chapter7 Data Link Control

39

First IEC

Error Control

Selective Reject ARQ 의 동작원리 Sliding Window 를 기반으로 함 Sender 의 동작

한 번에 여러 Frame 전송 손상되거나 손실된 Frame 만 Retransmission

Receiver 의 동작 에러가 발생하지 않으면 다음으로 받을 Frame 의

번호를 ACK 에 표시하여 전송 에러 발생하면 에러 발생한 Frame 의 번호를 포함하여

NAK 전송

Page 40: Chapter7 Data Link Control

40

First IEC

Error Control

Selective Reject ARQ ( 손상된 Frame)

재전송 요구된Frame 을 찾아 해당 Frame 만

재전송

Frame2 를 다시 받은 후에 ACK5 로

응답

수신 Frame 의 완전한 재배치까지

모든 Frame 을 유지

Page 41: Chapter7 Data Link Control

41

First IEC

Error Control

Go Bank N vs Selective Reject Frame 전송의 효율적인 측면

Selective Reject ARQ 가 유리 Sender 와 Receiver 의 구현 측면

Receiver 에서 요구하는 재배열 및 저장 공간의 복잡도

Sender 에서 요구하는 특정 Frame 선택을 위한 추가적인 로직이 필요함

Selective Reject ARQ 가 불리 구현의 단순성 때문에 Go Back N ARQ 를

선호