오류검출기법 데이터전송오류 (error) 를검출하는기법 메시지전송시오류검출코드를데이터꼬리부분에부착하여전송하고수신측에서는이를사용하여오류발생여부판단 오류검출기법 패리티검사 블록합검사 (block sum check) 순환중복검사 (CRC : Cyclic Redundancy Check) 1
오류검출의기본원리 E= f(data) E,E = 오류검출코드 f = 오류검출함수 송신기 Data Data E 1. 수신데이터로부터 E 계산 2. E 와 E 비교 : 같으면오류가없다고간주 다르면오류검출 Data E = f(data) E 비교 수신기 2
패리티검사 (Parity Check) 각문자의비트중에서 1의개수가짝수나홀수가되도록하나의비트를부착하는방식 예 ) 홀수패리티 1 0 1 0 0 0 0 0 1 data parity 1 bit error 2 bits error 3 bits error 1 data parity 1 0 1 1 0 0 0 0 1 에러검출됨 1 1 data parity 1 0 1 0 1 1 0 0 1 에러검출안됨 1 1 1 data parity 1 0 1 0 1 1 1 0 1 에러검출됨 3
패리티비트연산 4
패리티비트연산 5
블록합검사 (Block Sum Check) 블록단위의 2차원적패리티검사 수평패리티검사 수직패리티검사 수평 패리티 비트 홀수 패리티 P B 6 B 5 B 4 B 3 B 2 B 1 B 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 문자 1 문자 2 문자 3 문자 4 문자 5 문자 6 문자 7 문자 8 문자 9 문자 10 1 1 0 1 0 1 1 0 = 블록검사문자 수직패리티비트 ( 짝수패리티 ) 6
순환중복검사 (Cyclic Redundancy Check) 송신기는 k 비트의메시지에대해 n비트의 FCS 를생성 ( 생성코드 G 사용 ) 수신기는수신된프레임을동일한생성코드 G로나누어나머지가 0이면오류가없는것으로간주 M(k bits) Message digits T(k+n bits) F(n bits) Check digits FCS : Frame 7
송신측의 CRC 계산과정 메시지비트열 M FCS(n 비트 ) 101000101 ------ 110001110 000 --- 000 1) FCS 를 0 으로초기화 2 n M/G = Q + R/G 2) 제수 G 로모듈로 -2 나눗셈연산 메시지비트열 M FCS(n 비트 ) 101000101 ------ 110001110 101 --- 010 3) 나머지 R 을 FCS 로부착 8
예제 : CRC 계산 Example: M = 1 0 1 0 0 0 1 1 0 1 G = 1 1 0 1 0 1 FCS = to be calculated (5 bits) 1101 010 11 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 M G 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 FCS : 0 1 1 1 0 1 0 1 0 0 0 1 1 0 1 DATA 0 1 1 1 0 FCS 9
예제 : CRC 확인 Example: M = 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 G = 1 1 0 1 0 1 FCS = 01110 (5 bits) 1101 01 0 11 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 M G 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 나머지없음! 10
CRC 생성다항식의예 CRC - 16 = X 16 15 2 + 1 CRC - CCITT = CRC - 32 = X X 32 16 8 12 26 7 23 5 5 + 1 4 22 2 16 + 1 12 11 10 11
데이터압축 (Data Compression) 데이터압축 : 정보의손실없이데이터양을줄이는기술 데이터압축을통하여통신비용의절감효과 대표적압축방법 허프만부호화 (Huffman coding) Run length 부호화 12
허프만부호화 (Huffman Coding) 문자의사용빈도에따라가변길이의코드적용 예 : A, B, C, D ( 전체문자의집합 ) 발생빈도 : A(50%), B(25%), C(15%), D(10%) 문자발생확률허프만코드 0.50 0 A 0 0.25 0 B 1 0 0.15 0 C 1 1 0 1 0.10 D 1 1 1 1 1 문자당평균비트길이 = 1x0.5 + 2x0.25 + 3x0.15 + 3x0.1 = 1.75 비트 데이터압축률 = 1.75/2 x 100 = 87.5 % ( 고정길이코드인경우 4개의문자구분을위해 2 비트필요 ) 13
허프만부호화 (Huffman Coding) 14
Run Length 부호화 0 이나 1 의비트열의길이만을전송하는압축기술 0 비트열이많이포함되어있을수록큰압축효과 비트열 00... 00100... 001100... 00100... 001100... 00 : 90 비트 0 비트열의 14 9 20 30 11 길이 0 비트없음 0 비트없음 Run length ( 이진 ) 1110 1001 0000 1111 0101 1111 1111 0000 0000 1011 : 40 비트 Run length ( 십진 ) 14 9 0 15 5 15 15 0 0 11 15
가변 run-length 부호화 16
Run-length 부호화와가변 run-length 부호화방식의비교 runs 000 001000 001000 00100 001 25 1 57 1 36 1 15 135 bits symbols 15 10 15 15 15 12 15 15 6 15 0 codeword 1111 1010 1111 1111 1111 1100 1111 1111 0110 1111 0000 (encoded stream) (a) Run-length 부호화 (m=4) (compression ratio = 44 / 135 = 0.3259) 44 bits runs 000 001000 001000 00100 001 25 1 57 1 36 1 15 135 bits symbols 16 9 16 16 16 9 16 16 4 15 (compression ratio = 26/ 135 = 0.1925) codeword (encoded stream) 0 11001 0 0 0 11001 0 0 10100 11111 26 bits (b) 가변 run-length 부호화 (m=4) 17
데이터암호화 (Data Encryption) 전통적인암호화 평문 (plain text) 이라불리는원래의메시지를암호화알고리즘과키를이용하여암호문 (cipher text) 으로변환 수신측에서는동일한키와해독알고리즘을사용하여원래의평문으로변환 문제점 : 송신측에서생성한암호화키를수신자에게분배하여야하며, 키분배의보안성이무엇보다도중요 DES (Data Encryption Standard) 알고리즘 1977 년국제표준위원회에의해인정된암호화알고리즘 평문을 64 비트의블록으로나눈뒤, 각블록단위로 56 비트키를사용하여 64 비트암호문으로변환 공개키암호화 (public key encryption) 암호화할때하나의키 ( 공개키 ) 를사용하고, 해독과정에서또다른키 ( 개인키 ) 를사용 키의분배가필요하지않으므로전통적인암호화에비해훨씬안전 단점 : 전통적인암호화에비해알고리즘이상대적으로복잡 18
암호화기법 암호 key 사용자 A 사용자 B 평문 (plain text) 암호알고리즘 암호문 (ciper text) 데이터전송 암호문 (ciper text) 암호알고리즘 평문 (plain text) (a) 전통적인암호화 사용자 A 평문 (plain text) 암호알고리즘 암호문 (ciper text) B 의공개 key 데이터전송 암호문 (ciper text) B 의개인 key 암호알고리즘 사용자 B 평문 (plain text) (b) 공개키암호화 19
EIA-232 232-D 인터페이스 데이터단말장치 (DTE:: Data Terminal Equipment) 와데이터회선종단장치 (DCE: Data Circuit Equipment) 간의인터페이스공중전화망을이용하여데이터를전송하기위한단말기와모뎀간의접속규격으로제안 EIA 에서제안한표준 : RS-232 (1962 년 ) RS-232 232-C C (1969 년 ) EIA-232 232-D D (1987 년 ): 자체테스트를위한몇개의신호가추가기계적규격 : 25 핀의 DB-25 커넥터사용전기적규격 : 0: +3V 이상, 1: -3V 이하 일반적으로 15m 이내거리에서 20kbps 이하속도에사용기능적규격 : 데이터, 제어, 타이밍, 접지선절차적규격 : 공중전화망을이용하여회선을설정하고데이터를전송하기위한절차 20
물리적접속규격 DB-25 커넥터 DB-25 Female DB-9 커넥터 DB-25 Male 단말기 호스트컴퓨터 DSU DSU DTE DCE DCE DTE 21
EIA-232 232-D 커넥터와신호명칭 신호방향 신호명칭 신호명칭 신호방향 To DCE To DCE To DTE To DTE To DCE To DCE To DCE To DCE To DTE To DCE To DCE To DTE Secondary Transmitted Data Transmit Clock Secondary Received Data Receiver Clock Local Loopback Secondary Reguest To Send Data Terminal Ready Remote Loopback Ring Indicator Data Signal Rate Select Transmit Clock Test Mode 1 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 22 10 23 11 24 12 25 13 Protective Ground Transmitted Data Received Data Request To Send Clear To Send Data Set Ready Signal Ground Carrier Detect Reserved for Testing Reserved for Testing Unassigned Secondary Carrier Detect Secondary Clear To Send To DCE To DTE To DCE To DTE To DTE To DTE To DTE To DTE 22
널모뎀연결법 핀번호 신호명칭 핀번호 신호명칭 2 TxD 3 RxD 5 CTS 4 RTS 6 DSR 8 CD 20 DTR 22 RI 7 Ground 2 TxD 3 RxD 5 CTS 4 RTS 6 DSR 8 CD 20 DTR 22 RI 7 Ground DTE DTE 23