PART 01 개념 컴퓨터 네트워크 Chapter 02 데이터 통신 임효택
Chapter 02 데이터 통신 데이터 통신망 형태 점대점(point-to-point) PART 01 개념 Chapter 02 데이터 통신 데이터 통신망 형태 점대점(point-to-point) 통신망(communication network) 전화망(PSTN: Public Switched Telephone Network) LAN(Local Area Network) WAN(Wide Area Network) 점대점(point-to-point) 통신 형태 두 디바이스를 직접 연결 비실용적 단점 전용 회선을 설치하려면 상당한 비용 소요 [그림 2.1]
PART 01 개념 Chapter 02 데이터 통신 통신망(communication network) 접속형태 [그림 2.2]
PART 01 개념 Chapter 02 데이터 통신 전화망 [그림 2.3]과 같이 모뎀과 전화망을 통하여 통신
Chapter 02 데이터 통신 아날로그와 디지털 milab.sejong.edu Chapter 02 데이터 통신 아날로그와 디지털 아날로그 통신망으로 디지털 정보를 보내기 위해서는 모뎀을 사용하여 디지털 정보를 아날로그 신호로 변환하여 전송, 효율이 좋지 않다. 디지털 통신은 정보의 종류에 관계없이 전송, 품질이 항상 일정, 정보의 압축이 쉽고, 다중화가 용이 모뎀에 의한 디지털 신호의 전송
PART 01 개념 Chapter 02 데이터 통신 LAN(Local Area Network) [그림 2.4]
Chapter 02 데이터 통신 WAN(Wide Area Network) 컴퓨터가 도시 또는 국가간의 통신 PART 01 개념 Chapter 02 데이터 통신 WAN(Wide Area Network) 컴퓨터가 도시 또는 국가간의 통신 대표적인 예: Internet
Chapter 02 데이터 통신 통신 코드 및 부호화(Encoding) 2.2.1 부호화 (Encoding) 부호화 PART 01 개념 Chapter 02 데이터 통신 통신 코드 및 부호화(Encoding) 2.2.1 부호화 (Encoding) 부호화 데이터나 신호를 다른 형태의 데이터나 신호로 변환하는 과정 여기서는 디지털 데이터를 전송신호로 바꾸기 위한 부호화를 의미 고려사항 부호화된 신호는 제한된 채널에서 보다 많은 양의 데이터를 전송하기 위해, 될 수 있는 한 적은 대역폭을 가져야 함. 송수신의 동기화를 쉽게 하기 위해서 부호화된 신호는 전압의 변화가 자주 일어나야 함. 장거리 전송을 위해서 부호화된 신호는 신호의 감쇠(attenuation)가 적은 방향으로 생성되어야 함. 부호화 방식의 분류(전압 값과 비트의 대응에 따른 분류) 단극형(Unipolar) : 전압 값 0과, + 또는 - 값 중 하나만을 사용 극형(Polar) : +전압 값에 비트 1을 대응시키고, -전압 값에 0을 대응 양극형(Bipolar) : 양극형은 전압 값 0V와 +전압, 그리고 -전압을 모두 사용
Chapter 02 데이터 통신 NRZ(Non Return to Zero) 초창기에 많이 사용되던 방법 PART 01 개념 Chapter 02 데이터 통신 NRZ(Non Return to Zero) 초창기에 많이 사용되던 방법 낮은 전압 값에 비트 0을 높은 전압 값에 비트 1을 대응 특징 : 이름 그대로 비트 하나를 전송하고도, 0으로 돌아가지 않음. 직관적으로 이해하기 쉬움. 자체 신호만으로는 동기화(synchronization)에 어려움이 있음. 비트 1이나 0이 계속적으로 반복되는 경우 수신측에서 정확히 몇 개의 비트가 수신되었는지 알기 어려울 수 있음.
Chapter 02 데이터 통신 RZ(Return to Zero) PART 01 개념 Chapter 02 데이터 통신 RZ(Return to Zero) 이름 그대로 매 비트를 전송할 때, 0으로 계속 돌아가는 방식 0V가 동기화 신호로 작용가능 각 비트 시간을 반으로 나누었을 때, 첫 번째의 절반 부분은 전송할 비트 값을 나타내는 전압 값이 되고, 두 번째의 절반 부분은 0V로 돌아 가기 때문에 NRZ보다는 동기화에 좀 더 유리
Chapter 02 데이터 통신 맨체스터 부호화(Manchester Encoding) PART 01 개념 Chapter 02 데이터 통신 맨체스터 부호화(Manchester Encoding) IEEE 802.3 이더넷(Ethernet)에서 사용되는 표준 디지털 부호화 방식 특징 : 각 비트 시간을 반으로 나누었을 때 중간에서 항상 전압의 변화가 발생 비트 1은 비트 시간 한가운데에서의 전압 변화가 +V에서 -V로 변하고, 비트 0은 전압 변화가 -V에서 +V로 변함. 맨체스터 부호화는 NRZ나 RZ에 비해서 복잡하고 일반적으로 신호가 더 높은 주파수를 형성하므로 전송시에 더 큰 대역폭을 필요로 하지만, 동기화가 유리하고 약간의 오류 검출 기능을 제공함.
Chapter 02 데이터 통신 차등 맨체스터 부호화(Differential Manchester Encoding) PART 01 개념 Chapter 02 데이터 통신 차등 맨체스터 부호화(Differential Manchester Encoding) 맨체스터 부호화를 약간 변형한 형태 비트 시간의 중앙에서 전압의 변화가 일어나는 것은 맨체스터 부호화와 동일하나 비트 0과 1에 대한 신호의 대응 방법은 맨체스터 부호화와 다름. 다음에 오는 비트가 0일때는 비트와 비트 사이의 경계에서 전압 변화가 발생하나, 뒤에 오는 비트가 1이면 비트간의 경계에서 전압 변화가 일어나지 않음. 따라서 하나의 비트시간만으로 비트값이 0인지 1인지를 구분할 수 없고 연속적인 신호가 있을 때에만 비트값을 알아낼 수 있음. IEEE 802.5 토큰 패싱 링(token passing ring) 방식에서 사용되는 표준 디지털 부호화 방식
PART 01 개념 Chapter 02 데이터 통신 2.2.2 ASCII코드 American Standard Code for Information Interchange 각 코드는 출력 가능한 코드와 그렇지 않은 코드로 분류 출력 가능한 코드는 문자, 숫자, 콤마, 대괄호, ?와 같은 특수 종료문자 0A와 0D는 출력 불가능 코드로서 line feed와 carriage return [그림 2.9]
Chapter 02 데이터 통신 2.2.3 EBCDIC 코드 PART 01 개념 Chapter 02 데이터 통신 2.2.3 EBCDIC 코드 Extended Binary Coded Decimal Interchange Code 두 번째로 널리 쓰이는 코드 이는 IBM 메인 프레임과 주변장치에서 주로 사용 EBCDIC는 8 비트 코드로 구성되며 256 문자를 표현 [그림 2.10]
Chapter 02 데이터 통신 전송 모드 2.3.1 직렬과 병렬 전송(Serial and Parallel Transfer) PART 01 개념 Chapter 02 데이터 통신 전송 모드 2.3.1 직렬과 병렬 전송(Serial and Parallel Transfer) 병렬 전송 병렬전송은 일련의 비트들이 각 비트를 위해 여러 라인을 사용하여 동시에 전송 이러한 병렬 전송은 두 장치들간의 거리가 짧은 경우에 일반적으로 사용 예를 들어 PC에서 프린터로 전송하는 것은 대표적인 병렬 전송 가장 보편적인 예는 컴퓨터와 주변 장치들간의 연결 병렬 전송은 긴 거리일 경우 장점을 상실 직렬전송 직렬 전송은 단지 하나의 라인을 사용하여 하나씩 모든 비트를 보냄 긴 거리일 경우 병렬 전송에 비해 적은 비용이 들고 신뢰성 증가 그러나 비트를 하나씩 보내게 되므로 병렬전송보다 더 느리다.
PART 01 개념 Chapter 02 데이터 통신 [ 직렬전송과 병렬전송 ]
Chapter 02 데이터 통신 2.3.2 동기식과 비동기식 전송 비동기식 전송 PART 01 개념 Chapter 02 데이터 통신 2.3.2 동기식과 비동기식 전송 비동기식 전송 비동기식 전송은 비트들을 작은 블록으로 나누어 독립적으로 보내며 각 블록의 시작에서 재동기화를 하는 방법. 수신자는 블록이 언제 도착할지를 알지 못한다. 예: 터미널과 컴퓨터사이, 컴퓨터와 라인프린터. 높은 오버헤드를 가지고 있음.
PART 01 개념 Chapter 02 데이터 통신 [그림 2.12]
Chapter 02 데이터 통신 동기식 전송 동기식 전송은 통신을 좀더 효율적으로 하기 위한 수단 PART 01 개념 Chapter 02 데이터 통신 동기식 전송 동기식 전송은 통신을 좀더 효율적으로 하기 위한 수단 동기식 전송은 일반적으로 비동기식 전송에 비해서 더 빠름 문자나 비트들의 블록이 시작 또는 정지 비트 없이 전송 많은 문자들은 개별적으로 보내는 것 대신에 함께 그룹화 되어 전체적 으로 전송( 데이터 프레임 또는 프레임이라고 함) 데이터 프레임의 정확한 구성은 프로토콜에 따라 다름 구성 방식 비트 지향 방식: 비트 단위로 구성 문자 지향 방식: 문자 단위로 구성
Chapter 02 데이터 통신 프레임 구조 [그림 2.13] 프레임 시작과 끝의 구분 문자 지향 방식 PART 01 개념 Chapter 02 데이터 통신 프레임 구조 [그림 2.13] 프레임 시작과 끝의 구분 문자 지향 방식 특정한 제어 문자 사용. 필요시 문자 스터핑 방식 이용 비트 지향 방식 특정한 비트 패턴 사용. 필요시 비트 스터핑 방식 이용. 예: HDLC
Chapter 02 데이터 통신 문자-지향(character-oriented)전송인 경우 PART 01 개념 Chapter 02 데이터 통신 문자-지향(character-oriented)전송인 경우 프레임의 처음 부분은 수신기에 프레임이 도착하고 있다는 것을 알려주는 SYN 문자를 가짐 제어(control) 필드 프레임이 만들어진 시작 주소 프레임이 도착할 목적지 주소 데이터 바이트들의 크기 순서를 나타내는 숫자 데이터 필드는 실제로 보내지는 정보 프레임의 마지막 부분은 프레임의 끝을 나타내는 정보(ETX)
Chapter 02 데이터 통신 비트-지향 (bit-oriented) 전송인 경우 PART 01 개념 Chapter 02 데이터 통신 비트-지향 (bit-oriented) 전송인 경우 데이터 블록은 비트들의 연속으로 간주되며 데이터는 물론 제어정보도 8비트 문자 단위로 고려할 필요가 없음 문자-지향 전송처럼 특정 비트 패턴이 블록의 시작을 가리키며 이 특정 패턴은 8비트 길이이며 프래그(flag)라고 함 같은 프래그가 프레임의 맨 끝에서 사용 동기 전송과 비동기 전송의 비교 비동기 전송 저속 전송 오버헤드 많음 비용이 적음 동기 전송 고속 전송 오버헤드 적음 비용이 많음
Chapter 02 데이터 통신 2.3.3 Simplex, Half-Duplex, Full-Duplex 방식 PART 01 개념 Chapter 02 데이터 통신 2.3.3 Simplex, Half-Duplex, Full-Duplex 방식 전이중(Full duplex) 양쪽의 교신자가 동시에 신호의 전송 가능 전화 반이중(Half duplex) 양쪽 방향에서 보내고 받을 수 있지만 그것은 교대로 전송 무전기 단방향(Simplex) 단 한 방향으로만 신호 전송이 가능한 형태 일반 TV 방송
Chapter 02 데이터 통신 교환 방식 N개의 통신 장비를 직접 연결한다고 할 때 N(N-1)/2개의 연결선이 필요 PART 01 개념 Chapter 02 데이터 통신 교환 방식 N개의 통신 장비를 직접 연결한다고 할 때 N(N-1)/2개의 연결선이 필요 해결방안으로 각각의 장비들은 통신망에 연결 통신망를 효과적으로 운영하기 위해 교환 기술(Switching Technology)을 사용 네트워크 내에서 교환기의 역할을 수행하는 장치를 노드(node) 상호간의 통신을 원하는 장비들을 스테이션(Station) 예: 컴퓨터, 전화기, 터미널 등의 통신 장비 교환 기술 회선 교환 (Circuit Switching) 메시지 교환 (Message Switching) 패킷 교환 (Packet Switching)
PART 01 개념 Chapter 02 데이터 통신 [그림 2.14]
Chapter 02 데이터 통신 2.4.1 회선 교환 공중 전화 망에서 사용 데이터 전송 과정 회선 설립 과정 회선 해제 과정 PART 01 개념 Chapter 02 데이터 통신 2.4.1 회선 교환 공중 전화 망에서 사용 데이터 전송 과정 회선 설립 과정 회선 해제 과정 단점 : 연결을 설정하여 해제를 하기까지 채널의 대역폭을 독점 장점 : 신뢰성 있는 데이터 전송, 일정한 데이터 전송률로 전송 [그림 2.15]의 (a)
Chapter 02 데이터 통신 회선 교환 (Circuit Switching) PART 01 개념 Chapter 02 데이터 통신 회선 교환 (Circuit Switching) End-end resources reserved for “call” 자원을 독점적으로 예약 보장된 성능제공 call setup 이 필요 링크 및 스위칭 장비가 성능에 영향
PART 01 개념 Chapter 02 데이터 통신 회선 교환 네트워크 자원(대역폭, bandwidth)은 다수가 사용할 수 있도록 “piece”로 쪼개짐 Piece는 사용되지 않으면 idle 대역폭을 piece로 나누는 두가지 방법 frequency division time division
PART 01 개념 수치적 분석예 회선교환에서 호스트 A에서 호스트 B로 640,000 bit 짜리 파일을 보내기 위해 어느정도의 시간이 걸리겠는가?(아래의 가정을 사용) 모든 링크 대역폭은 1.536 Mbps 각 링크는 24개의 슬롯(slot)을 가진 TDM 을 사용 end-to-end 회선을 확립하기 위해 500 msec 걸림 풀어보세요!
Chapter 02 데이터 통신 2.4.2 메시지 교환 [그림 2.15]의 (b) PART 01 개념 Chapter 02 데이터 통신 2.4.2 메시지 교환 [그림 2.15]의 (b) 회선 교환이 전화에 비교된다면 메시지 교환은 편지에 비교 데이터를 메시지(Message)라는 논리적인 단위로 나눔 받아들인 메시지를 저장한 후 경로 상의 또 다른 노드로 전송(Store-and-Forward)
Chapter 02 데이터 통신 장점 한 개의 메시지를 복사하여 여러 목적지로 보낼 수 있다 PART 01 개념 Chapter 02 데이터 통신 장점 한 개의 메시지를 복사하여 여러 목적지로 보낼 수 있다 메시지의 우선 순위를 정해 필요한 메시지를 먼저 전송 시킬 수 있다. 또한 메시지를 단위로 오류 제어가 가능 단점 메시지가 노드에 잠시 저장되기 때문에 그만큼의 지연이 발생 실시간을 요하는 통신에서는 사용할 수가 없다.
Chapter 02 데이터 통신 2.4.3 패킷 교환 회선 교환과 메시지 교환의 장점을 취하면서 만들어진 교환 방식 PART 01 개념 Chapter 02 데이터 통신 2.4.3 패킷 교환 회선 교환과 메시지 교환의 장점을 취하면서 만들어진 교환 방식 [그림 2.15]의 (c) 패킷이라는 단위로 교환을 수행 패킷은 정해진 형식에 맞추어진 데이터 단위 패킷은 보통 128 ~ 4096 바이트 크기 패킷 교환 방식에서는 하나의 물리적인 회선을 여러 개의 논리적인 채널(virtual circuit)로 공유할 수 있는 경제성을 가짐
Chapter 02 데이터 통신 Packet Switching 종단간 데이터 스트림이 패킷(packet) 으로 분리 PART 01 개념 Chapter 02 데이터 통신 Packet Switching 종단간 데이터 스트림이 패킷(packet) 으로 분리 사용자 A, B 패킷들이 네트워크 자원을 공유(share) 각 패킷은 full link bandwidth 사용 네트워크 자원은 필요한 만큼 사용됨 resource contention(자원의 경쟁): 서비스 요구가 한꺼번에 몰리면 사용 가능한 자원용량을 초과할수 있다. 폭주(congestion) 가능 store and forward: 패킷은 한번에 한 hop 씩 전송 Bandwidth division into “pieces” Dedicated allocation Resource reservation
Chapter 02 데이터 통신 C A B D E 10 Mbs Ethernet statistical multiplexing PART 01 개념 Chapter 02 데이터 통신 Packet Switching 10 Mbs Ethernet C A statistical multiplexing 1.5 Mbs B 기다리는 패킷들 45 Mbs D E
Chapter 02 데이터 통신 패킷 교환의 두가지 라우팅(Routing)방식 가상 회선(Virtual Circuit) 과정 PART 01 개념 Chapter 02 데이터 통신 패킷 교환의 두가지 라우팅(Routing)방식 가상 회선(Virtual Circuit) 과정 연결 설정, 데이타 전송, 연결 해제 특징 논리적인 가상 회선을 설정 하나의 연결내에 모든 패킷이 동일한 경로 많은 양의 데이타를 안정적으로 전송할 때 유리 데이타그램(Datagram) 데이타 전송(연결 설정 및 해제 과정이 없음) 모든 패킷이 각기 다른 경로를 갖을 수 있음(재정열) 적은 양의 데이타를 신속하게 보낼 때 유리
Chapter 02 데이터 통신 Packet-switched networks: routing PART 01 개념 Chapter 02 데이터 통신 Packet-switched networks: routing Goal: 출발지에서 목적지로 경로에 따라 패킷을 전송 datagram network: 목적지 주소가 다음 경로를 결정 패킷의 경로가 다를 수 있음 비유 : driving, asking directions virtual circuit network: 각 패킷은 tag(virtual circuit ID)를 포함한다, tag가 다음 경로를 결정 Setup time에 고정된 경로가 결정 된다. 라우터는 라우팅 테이블(routing table) 유지
PART 01 개념 Chapter 02 데이터 통신 가상 회선 방식의 예
PART 01 개념 Chapter 02 데이터 통신 데이타그램 방식의 예
Chapter 02 데이터 통신 데이터그램 전송에서의 라우팅 데이블 : [그림 2.16] Routing table at A PART 01 개념 Chapter 02 데이터 통신 데이터그램 전송에서의 라우팅 데이블 : [그림 2.16] Destination Link Fraction B 2 3 0.6 0.4 C 4 0.8 0.2 Routing table at A
Chapter 02 데이터 통신 가상회선 전송에서의 라우팅 데이블 : [그림 2.17] Routing table at A IN PART 01 개념 Chapter 02 데이터 통신 가상회선 전송에서의 라우팅 데이블 : [그림 2.17] IN OUT Link VC # 1 8 3 2 5 4 Routing table at A
PART 01 개념 Chapter 02 데이터 통신 노드 C의 가상회선 번호변경 : [그림 2.18]
Chapter 02 데이터 통신 Packet Switching의 성능 Packet-switching: PART 01 개념 Chapter 02 데이터 통신 Packet Switching의 성능 Packet-switching: store and forward 속성 -Message size: 7.5Mbits -Packet size: 1.5Kbits -Link trans. Rate:1.5Mbps -가정: 폭주 및 전파지연시간 없다고 가정
Chapter 02 데이터 통신 패킷교환 과 회선교환의 비교 패킷교환은 무조건 좋은가? No. PART 01 개념 Chapter 02 데이터 통신 패킷교환 과 회선교환의 비교 패킷교환은 무조건 좋은가? No. 폭주현상 가능: 패킷 지연 및 손실발생 protocols needed for reliable data transfer, congestion control 서비스 품질을 보장못함 audio/video 응용 [표2.1] 참조
Chapter 02 데이터 통신 A B 전송시간 (Transmission delay) : PART 01 개념 Chapter 02 데이터 통신 packet-switched 네트워크에서의 지연시간 전송시간 (Transmission delay) : R=link bandwidth (bps) L=packet length (bits) 전송시간= L/R 전파지연시간(Propagation delay) : d = length of physical link s = propagation speed in medium (~2x108 m/sec) 전파지연시간= d/s 전송(transmission) A 전파지연(propagation) B 노드처리(nodal Processing) 큐잉(queueing)
Chapter 02 데이터 통신 A B packet-switched 네트워크에서의 지연시간(delay) 노드처리 시간 : PART 01 개념 Chapter 02 데이터 통신 packet-switched 네트워크에서의 지연시간(delay) 노드처리 시간 : bit error 체크시간 output link 결정 큐잉(queueing) 시간 전송을 위해 output link 에서 기다리는 시간 라우터의 과잉밀집 레벨에 따라 다름 A B 전파지연(propagation) 전송 (Transmission) 노드처리 큐잉queueing)
Chapter 02 데이터 통신 에러 검출, 교정(Detection, Correction) 기법 PART 01 개념 Chapter 02 데이터 통신 에러 검출, 교정(Detection, Correction) 기법 순방향 에러 정정(FEC : Forward Error Correction) 여분의 에러 정정 코드(많은 양의 추가 정보)를 포함시켜 전송 전파 지연이 큰 원거리 전송에서 사용 자동반복요청(ARQ : Automatic Repeat Request) 방식 에러가 있는지 없는지를 검출할 수 있을 정도의 적은 비트의 에러 검출 코드를 포함시켜 전송 정정은 재전송으로 해결 고 신뢰성을 확보하기 위해 사용
PART 01 개념 Chapter 02 데이터 통신 2.5.1 패리티 검사(parity check) 패리티 비트를 프레임의 각 단에 끝에 첨가 패리티 비트값은 단어의 1의 개수가 짝수(even parity)이거나 홀수(odd parity)가 되도록 선정 예: 송신기가 ASCII 코드 G(1110001)를 홀수 패리티를 사용해 전송한다면, 11100011을 전송 두 개 혹은 임의의 짝수개의 비트가 바뀌면 에러를 검출해 내지 못함 0010101 1011101 1100101 0111001 0001000 1 문자 데이타 패리티 비트 홀수 패리티의 예 문자 1 문자 5 문자 4 문자 3 문자 2
Chapter 02 데이터 통신 ... ...... M( x ) G( R( ), R( Not 0 송신측 수 신 측 PART 01 개념 Chapter 02 데이터 통신 2.5.2 순환 중복 검사 (CRC : Cyclic Redundancy Check) 에러 검출에 주로 사용되며 매우 강력하면서도 쉽게 구현할 수 있는 기술. 방법 G(x): 송수신측간에 합의된 생성 다항식 M(x): 전송할 데이타 R(x): M(x)/G(x)의 나머지(FCS) 모듈로 2 연산사용: exclusive-OR 연산 M( x ) G( 송신측 ... R( ), R( 수 신 측 ...... (error) Not 0 (Error 발생)
PART 01 개념 Chapter 02 데이터 통신 순환 중복 검사의 예 (송신측) 1 0 0 0 10110 1 0 0 1 0 1 1 1 0 1 0 1 0 0 + 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 나머지(FCS, CRC) 전송할 데이터 : 1001011 실제 전송되는 데이터 : 전송할 데이타, 나머지 1001011 1000 생성 다항식 : 10110
Chapter 02 데이터 통신 순환 중복 검사의 예 (수신측) 1 0 0 0 1 0 0 에러가 있는 경우 1 0 0 0 PART 01 개념 Chapter 02 데이터 통신 순환 중복 검사의 예 (수신측) 1 0 0 0 1 0 0 에러가 있는 경우 1 0 0 0 10110 1 0 0 1 0 1 1 1 0 0 0 + 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 에러가 없는 경우
Chapter 02 데이터 통신 2.5.3 Hamming Code (오류정정 코드) PART 01 개념 Chapter 02 데이터 통신 2.5.3 Hamming Code (오류정정 코드) N-bit의 데이터정보를 보호하기 위해 k-bit의 패리티 비트를 사용한다. 방법 1 bit 오류를 정정 n bit의 데이터와 k개의 패리티 비트 사용 2**K -1 >= n + k 관계가 성립되어야 함 수신측은 syndrome를 계산, syndrome이 표현하는 십진수가 오류발생 위치
Chapter 02 데이터 통신 예제 전송하려는 데이터: 11000100 (8비트) PART 01 개념 Chapter 02 데이터 통신 예제 전송하려는 데이터: 11000100 (8비트) Hamming Code의 예(송신측 , [표 2.3]) Bit 위치 정보 Bits 패리티 Bits 1 2 3 4 5 6 7 8 9 10 11 12 1 1 0 0 0 1 0 0 P1 P2 P4 P8 P1 = XOR( 3, 5, 7, 9, 11) = 1⊕1⊕0⊕0⊕0= 0 P2 = XOR( 3, 6, 7, 10, 11) = 1⊕0⊕0⊕1⊕0= 0 P4 = XOR( 5, 6, 7, 12) = 1⊕0⊕0⊕0⊕0=1 P8 = XOR( 9, 10, 11, 12) = 0⊕1⊕0⊕0⊕0 =1
Chapter 02 데이터 통신 Hamming Code의 예(수신측, [표 2.4]) PART 01 개념 Chapter 02 데이터 통신 Hamming Code의 예(수신측, [표 2.4]) No Error Error in bit 1 Error in bit 5 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 C1 = XOR(1, 3, 5, 7, 9, 11) = 즉, 20 자리가 1인 것들 C2 = XOR(2, 3, 6, 7, 10, 11) = 즉, 21 자리가 1인 것들 C4 = XOR(4, 5, 6, 7, 12) = 즉, 22 자리가 1인 것들 C8 = XOR(8, 9, 10, 11, 12) = 즉, 23 자리가 1인 것들 1 2 3 4 5 6 7 8 9 10 11 12 C8 C4 C2 C1