Chapter7 Data Link Control
description
Transcript of Chapter7 Data Link Control
First IEC
Chapter7 Data Link Control
Flow ControlError DetectionError ControlHDLC
2
First IEC
Flow Control
Flow Control 수신 엔티티의 용량 이상으로 Data 가
넘치지 않도록 송신 엔티티를 제어하는 기술
만약 , Flow Control 이 없으면 Receiver의 Overflow 가 발생처리율 < 전송률 Buffer 에 저장 Flow Control
3
First IEC
Flow Control
Flow Control 방법 Sender 에서 보내는 Data 가 Receiver
의 처리 능력을 초과하지 않도록 맞춰줌 수신 데이터를 저장하는 Buffer 가 꽉 차지
않도록 함
4
First IEC
Flow Control
Fragmentation 하는 이유 Receiver 의 Buffer Size 가 제한 Error Check 를 빨리 할 수 있음 Error 발생시 Retransmission 하는
Data 의 양이 적음 Transmission Media 를 효율적으로 공유
5
First IEC
Flow Control
Fragment 의 크기 너무 클 때의 문제점
전송 매체를 점유하는 경우가 증가 불공평한 매체 사용
에러 발생에 의해 다시 전송할 때 부담이 큼 너무 작을 때의 문제점
전송을 위한 부가정보 ( 헤더 등 ) 의 비중이 커짐
6
First IEC
Flow Control
Transmission time 한 Frame 을 송신하는데 걸리는 시간
Propagation time Sender 가 Receiver 에 한 Bit 보내는데
걸리는 시간Sender Receiver
Transmission Media
Transmission Time
Propagation Time
7
First IEC
Flow Control
Frame Transmission Model
8
First IEC
Flow Control
Flow Control 의 종류 정확한 데이터 전송을 위해 ..
일정한 수의 데이터를 보낸 후 잘 받았다는 응답을 받는 형태로 반복
한번에 보내는 데이터의 양에 따라 분류Flow Control
Stop-and-Wait Sliding Window
한 번에 하나의 Frame 전송 한 번에 여러 개의 Frame 전송
9
First IEC
Flow Control
Stop and Wait 송신측은 하나의 Frame 을 전송 수신측은 Frame 을 잘 받았으면 ACK 전송 송신측은 ACK 를 기다림 일정 시간 동안 ACK 가 오지 않으면 재전송 장점
구현하기 쉽고 간단 단점
비효율적 → Frame 수가 적은 경우 사용
10
First IEC
Flow Control
Stop and Wait 의 동작원리단점 : ACK 가 돌아올 때까지 기다리는 시간낭비 Link 의 Utilization 이 저하
11
First IEC
Flow Control
Stop and Wait 의 Link Utilization
12
First IEC
Flow Control
Sliding Window Flow Control 한 번에 여러 개의 Frame 전송 송신 Frame 의 수는 수신측에서 결정 각 Frame 에 Sequence number 부여 ACK 에는 받고자 하는 다음 Frame 의
Sequence number 포함
13
First IEC
Flow Control
Sliding Window 동작 (Sander Window) Frame 을 송신 - 왼쪽 경계가 이동하여 윈도우 축소 ACK 를 수신 - 오른쪽 경계가 이동하여 윈도우를
확장
14
First IEC
Flow Control
Sliding Window 동작 (Receiver Window) Frame 을 수신 - 왼쪽 경계가 이동하여 윈도우 축소 ACK 를 송신 - 오른쪽 경계가 이동하여 윈도우를
확장
15
First IEC
Flow Control
Frame 보내면 한 칸 이동
ACK 받으면한 칸 이동
Frame 받으면 한 칸 이동
ACK 보내면한 칸 이동
전송 후 ACK 를 받은 Frame
수신 후 ACK 를 보내준 Frame
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 번을 전송해 달라는 의미
17
First IEC
Error Detection
Error Control 수신된 데이터의 에러를 체크하고 정정하기
위한 제어 Error Detection
Error 를 감지하기 위해 송신측에서 특정 비트 정보를 추가해서 전송
Error 가 있으면 재전송 Error Correction
Error 를 감지하면 Error 를 정정
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
19
First IEC
Error DetectionCRC(Cyclic Redundancy Check)
Mod-2 division 에 근거한 오류검출 방식 송 · 수신 간에 “ divisor”(n+1 bits) 를
공유함 송신측 : CRC(n bits) 발생기 수신측 : CRC(n bits) 검사기
20
First IEC
Error Detection CRC 연산 방법
수신기는 수신된 프레임을 FCS 로 나누어 나머지가 없으면 에러가 없는 것으로 간주
모듈로 -2 연산 Carry 가 없는 2 진 덧셈 (exclusive-OR 연
산 )예 )
1111+ 1010
-------- 0101
11001x 11
-------------11001
11001 -------------101011
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’
22
First IEC
Error Detection
23
First IEC
Error Detection
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
25
First IEC
Error Control
ARQ(Automatic Repeat reQuest) 방식 에러 발생시 재전송을 자동으로 요청하는
방식 오류검출 부정응답 (NAK) 프레임 재전송
ARQ 의 종류 Stop and Wait ARQ Go Back N ARQ Selective Reject ARQ
26
First IEC
Error Control
Stop and Wait ARQ Stop and Wait Flow Control 에 손실
혹은 손상된 Frame 을 Retransmission할 수 있도록 확장
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 가 손상되는 경우
28
First IEC
Error Control
Stop and Wait ARQ 의 동작원리 Stop and Wait 를 기반으로 함 Sender 의 동작
하나의 Frame 만 전송 후 ACK 를 기다림 일정 시간 동안 ACK 가 없으면 Timeout
되므로 Retransmission Receiver 의 동작
0 과 1 을 번갈아 ACK 에 번호를 붙임 받은 Frame 이 손상된 경우 , Frame 을 버림
29
First IEC
Error Control
Stop and Wait ARQ ( 손상된 Frame)
1
1
0
30
First IEC
Error Control
Stop and Wait ARQ ( 손실된 Frame)
31
First IEC
Error Control
Stop and Wait ARQ ( 손실된 ACK)
32
First IEC
Error Control
Sliding Window ARQ Sliding Window Flow Control 에 손실
혹은 손상된 Frame 을 Retransmission할 수 있도록 확장
33
First IEC
Error Control
기본 Sliding Window 에 추가할 사항 보낸 Frame 을 Buffer 에 가지고 있어야 함 Frame 의 오류 발견시에 NAK 사용
NAK 번호는 손상된 Frame 번호만 전송 Timer 사용
Timeout 이 발생하면 Frame 손실로 간주하고 Retransmission
받은 Frame 이 손상된 경우 ACK 가 손상되는 경우
34
First IEC
Error Control
Retransmission 방법에 따라 분류 Go Back N ARQ
하나의 Frame 이 손실되면 ACK 이후의 모든 Frame 을 Retransmission
Selective Reject ARQ 손상되거나 손실된 Frame 만 Retransmission
35
First IEC
Error Control
Go Back N ARQ 의 동작원리 Sliding window 를 기반으로 함 Sender 의 동작
한번에 여러 Frame 전송 에러 발생시 에러 발생한 Frame 부터 모두
Retransmission Receiver 의 동작
에러가 발생하지 않으면 다음으로 받을 Frame 의 번호를 ACK 에 표시하여 전송
에러 발생하면 에러 발생한 Frame 의 번호를 포함하여 NAK 전송
36
First IEC
Error Control
Go Back N ARQ ( 손상된 Frame)
손상된 Frame 이후수신된 Frame 은
패기
37
First IEC
Error Control
Go Back N ARQ ( 손실된 Frame)
도착한 Frame의
순서 검사
손상된 Frame 이후수신된 Frame 은 패기
38
First IEC
Error Control
Go Back N ARQ ( 손실된 ACK, NAK)
측정 타이머 가동
마지막 ACK 이후 전송했던
모든 Frame 을 재전송
39
First IEC
Error Control
Selective Reject ARQ 의 동작원리 Sliding Window 를 기반으로 함 Sender 의 동작
한 번에 여러 Frame 전송 손상되거나 손실된 Frame 만 Retransmission
Receiver 의 동작 에러가 발생하지 않으면 다음으로 받을 Frame 의
번호를 ACK 에 표시하여 전송 에러 발생하면 에러 발생한 Frame 의 번호를 포함하여
NAK 전송
40
First IEC
Error Control
Selective Reject ARQ ( 손상된 Frame)
재전송 요구된Frame 을 찾아 해당 Frame 만
재전송
Frame2 를 다시 받은 후에 ACK5 로
응답
수신 Frame 의 완전한 재배치까지
모든 Frame 을 유지
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 를
선호