Presentation is loading. Please wait.

Presentation is loading. Please wait.

Data Communications 제 10 장 오류 제어와 흐름 제어.

Similar presentations


Presentation on theme: "Data Communications 제 10 장 오류 제어와 흐름 제어."— Presentation transcript:

1 Data Communications 제 10 장 오류 제어와 흐름 제어

2 목차 10.1 오류 제어 (Error Control) 10.2 흐름 제어 (Flow Control)

3 10.1 오류 제어(1/43) 오류 검출 (Error Detection)
송신측에서 보내고자 하는 원래의 정보 이외에 별도로 잉여분의 데이터를 추가 수신측에서는 이 잉여(Redundancy) 데이터를 검사함으로써 오류 검출이 가능 종류 패리티 검사, 블록 합 검사, CRC(Cyclic Redundancy Check), Checksum등

4 1) 패리티 검사(Parity Check) 한 블록의 데이터 끝에 한 비트 추가 구현이 간단하여 널리 사용 종류 동작과정
짝수 패리티 : 1의 전체 개수가 짝수개 홀수 패리티 : 1의 전체 개수가 홀수개 동작과정 송신측 짝수 또는 홀수 패리티의 협의에 따라 패리티 비트 생성 ASCII 문자(7bit) + 패리티 비트(1bit) 전송 수신측 1의 개수를 세어 오류 유무 판단(짝수 또는 홀수) 맞지 않다면 재전송 요청

5 예 단점 홀수 패리티 사용 전송하고자 하는 데이터 : 1101001 1의 개수를 홀수로 하기 위해 패리티 비트를 1로 지정
패리티 비트 추가한 최종 전송 데이터 : 수신측은 패리티 비트를 포함한 데이터 내의 1의 개수를 세어 홀수인 지 판단 홀수가 아니면 재전송 요청 단점 짝수개의 오류는 검출 불가 정상 데이터 : 2개이상 오류 : 짝수개의 오류가 발생하여 1의 개수가 홀수인 경우

6 2) 블록 합 검사(Block Sum Check)
이차원 패리티 검사 : 가로와 세로로 두 번 관찰 검사의 복잡도를 증가 다중 비트 오류와 폭주(집단)오류를 검출할 가능성을 높임 동작과정 데이터를 일정크기의 블록으로 묶음 각 블록을 배열의 열로 보고 패리티 비트를 계산하여 추가 각 블록의 행에 대한 패리티 비트를 계산하여 추가한 후 전송

7 예 전송하고자 하는 데이터 그림의 최하위 비트들이 함께 더해지고 블록 합에 따라 짝수 혹 은 홀수 중 하나의 패리티를 얻음
두 번째 비트들이 더해지고 패리티 비트가 얻어짐 블록 합의 마지막 비트는 블록 합 데이터 단위 자체를 위한 패리 티 비트이고 블록 내의 모든 패리티 비트들을 위한 비트임

8 단점 하나의 블록에서 두개에 오류가 생기고, 다른 블록의 동일한 위치에 서 두개의 오류가 발생한 경우 검출 불가
두번째 블록과 마지막 블록의 동일 위치에 각 두개의 오류발생

9 3) CRC(Cyclic Redundancy Check)
현재 컴퓨터 네트워크에서 널리 사용 오류검출 방법으로 다항식 코드(polynomial codes) 패리티검사 방법은 문자단위로 전송시 효율적이나 연속적인 2진 데이 터에 경우 문자단위로 분리가 어렵다. 따라서 전체 블록 검사를 할 수 있는 방법 => CRC 2진 나눗셈 기반으로 패리티검사보다 효율적이고 올 검사 능력 뛰어남

10 3) CRC(Cyclic Redundancy Check)
전체 블록검사 이진 나눗셈을 기반 (a) 계산 방법 메시지는 하나의 긴 2진수로 간주 특정한 이진 소수에 의해 나누어짐 나머지는 송신되는 프레임에 첨부 나머지를 BCC(Block Check Character)라고도 함 프레임이 수신되면 수신기는 같은 제수(generator)를 사용하여 나눗셈 의 나머지를 검사 나머지가 0이 아니면 오류가 발생했음을 의미

11 (b) 부호화 과정 각 비트들의 값을 보면서 하나의 함수를 만드는 과정 정보 비트를 전송비트의 다항식에 의한 표현으로 변환

12 (c) CRC 비트의 생성 캐리(Carry)가 없는 Modulo-2 연산 윗자리 올리거나 빌리지 않는다.
전송 하고자 하는 데이터 : 원하는 BCC 비트의 길이 : n 제수의 길이 : n+1 연산과정 전송하고자 하는 데이터 뒤쪽에 n개의 0을 삽입 제수로 나눔 데이터 뒤의 n개의 0을 R로 대체 전송 n+1 : 제수 n : 3자리 나머지 : 110 전송데이터 : 원 데이터 와 나머지 ( 과 110 ) 전송

13 (d)오류 검출 방법 수신된 데이터를 송신측과 합의된 제수로 나눔 연산결과 나머지가 0이면 오류 없음
그렇지 않다면 재전송 요청

14 (e) 하드웨어로 구성된 CRC 계산된 BCC는 쉬프트레지스터(Shift register)에 축적
레지스터 중에 있는 각 구분은 생성다항식의 등급과 동일 Exclusive-OR요소들의 수도 또한 그 다항식과 관계되는 수 종류 CRC-12 CRC-16 CRC-CCITT 등

15 CRC-12 12비트보다 작거나 같은 집단오류 100% 12비트보다 큰 집단오류의 경우는 99%이상의 확률 동기방식에서 사용
6비트 캐릭터에 사용하며 이때의 BCC는 12비트 생성다항식(제수) : x12+x11+x3+x2+x+1 = (x+1)(x11+x2+1) (2) 검출능력 12비트보다 작거나 같은 집단오류 100% 12비트보다 큰 집단오류의 경우는 99%이상의 확률

16 CRC-CCITT 유럽시스템들의 표준 BCC 8비트 캐릭터로 조작하는 경우는 BCC축적은 16비트
생성다항식 : x16+x12+x5+1 집단 오류의 검출은 최대 16비트 길이까지 됨

17 CRC-16 8비트 캐릭터용의 동기방식에 응용 BCC축적은 16비트 생성다항식 : x16+x15+x2+1 검출능력
집단오류검출은 최대 16비트 길이까지 가능 오류의 집단이 16비트보다 큰 경우는 99%이상의 확률

18 4) Checksum 데이터의 정확성을 검사하기 위한 용도 제대로 전송 되었는지 확인하기 위해 데이터 맨 마지막에 붙임
보낸 모든 데이터를 다 합한 합계를 보수화하여 전송 수신측에서는 모든 수를 합산하여 검사하는 방법 동작과정 송신측 데이터 단위를 n(보통은 16) 비트의 여러 세그먼트로 나눔 이 세그먼트들은 전체 길이도 또한 n비트가 되도록 1의 보수 연산을 이용하여 합산 전체 합은 보수화되고 원래 데이터 단위의 끝에 삽입 이렇게 확장된 데이터 단위는 네트워크를 통해 전송

19

20 수신측 검사 합을 포함하여 모든 세그먼트들을 더했을 때 모든 비트가 1 이 나오지 않으면 오류
송신측에서 검사 합을 최종 삽입할 때 1의 보수를 삽입하기 때문 에 원래의 세그먼트들의 합을 더해주면 1이 되기 때문

21 송신측 전송하고자 하는 데이터 : ( , , ) 최종 데이터 ( , , , ) 수신측 수신된 데이터 : ( , , , ) 최종 합은 1이며, 오류 없음


Download ppt "Data Communications 제 10 장 오류 제어와 흐름 제어."

Similar presentations


Ads by Google