• 검색 결과가 없습니다.

데이터 전송의 기초

N/A
N/A
Protected

Academic year: 2023

Share "데이터 전송의 기초"

Copied!
37
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

데이터 전송의 기초

(2)

2/37

학습목표

 전송과 교환 시스템의 구조와 원리를 이해한다.

 프레임 전송 과정에서 발생되는 오류의 유형을 살펴본다.

 문자 프레임과 비트 프레임의 구조를 이해한다.

 오류 검출 코드의 종류와 원리를 이해한다.

 생성 다항식을 이용한 오류 검출 방식을 알아본다.

(3)

1절. 데이터 전송 방식

컴퓨터 네트워크의 효과: 자원 공유, 성능 향상, 신뢰성 향상

자원 공유

– 컴퓨터 하드웨어, 소프트웨어 등 모든 종류의 물리적, 논리적 자원을 공유 – 자원 활용의 극대화

병렬 처리에 의한 성능 향상

– 컴퓨터 시스템 내부의 공유 버스 구조에 다수 프로세서 장착 – 네트워크는 시스템 버스와 기능적으로 유사하게 동작

중복 저장으로 신뢰성 향상

– 중복 저장되므로 데이터 복구가 용이함

– 중복에 따른 일관성 문제는 자동으로 처리가 가능 – 신뢰성의 향상 정도만큼 시스템 성능은 저하됨

(4)

4/37

1절. 데이터 전송 방식

 전송과 교환

 전송과 교환 개요 [그림 4-1]

교환: 갈림길에서 데이터가 전송되어야 할 경로를 선택

전송: 물리적으로 1:1 연결된 시스템 사이의 데이터 전송

(5)

1절. 데이터 전송 방식

 전송과 교환

 전송 방식의 종류

점대점 방식

– 호스트들이 물리적으로 1:1 형식으로 연결 – 교환 기능이 필수적

– 주로 WAN 환경에서 사용

브로드캐스팅 방식

– 호스트들이 공유 전송 매체에 연결 – 교환 기능이 불필요

– 주로 LAN 환경에서 사용

(6)

6/37

1절. 데이터 전송 방식

 점대점 방식

종류: 스타형, 링형, 완전형, 불규칙형 [그림 4-2]

연결 수가 증가하면 성능적인 면은 유리하지만 비용이 증가됨

(7)

1절. 데이터 전송 방식

 점대점 방식

 스타형

중앙의 중개 호스트 주위로 여러 호스트를 1:1 연결

중앙 호스트의 성능과 신뢰성이 중요

트리형: 스타형을 다단계로 확장 [그림 4-3]

(8)

8/37

1절. 데이터 전송 방식

 점대점 방식

 링형

호스트의 연결이 순환 구조를 이룸

모든 호스트가 전송과 교환 기능을 수행

토큰

– 데이터를 전송할 수 있는 권리

– 데이터 전송을 원하는 호스트는 미리 토큰을 확보해야 함 – 데이터 전송이 완료되면 호스트는 토큰을 반납해야 함

– 데이터를 전송하는 호스트가 없으면 오직 하나의 토큰이 링을 순환함

데이터 전송 원리

– 먼저, 토큰을 링에서 회수하여 확보한 후, – 데이터를 링에 전송함

– 데이터는 링을 한 바퀴 순환한 후, 다시 송신 호스트에게 돌아옴 – 이 과정에서 링에 연결된 모든 호스트가 데이터를 수신함

– 단, 자신을 목적지로 하는 호스트만 데이터를 보관하고, 다른 호스트는 버림 – 마지막으로, 송신 호스트는 데이터를 회수한 후에 토큰을 링에 돌려줌

(9)

1절. 데이터 전송 방식

 점대점 방식

 완전형

네트워크에 존재하는 모든 호스트를 1:1로 연결

교환 기능이 불필요

극단적으로 비효율적인 방식

 불규칙형

트레픽이 많은 지역은 연결의 수가 많지만,

트레픽이 적은 지역은 연결의 수가 적음

(10)

10/37

1절. 데이터 전송 방식

 브로드캐스팅 방식

네트워크에 연결된 모든 호스트에게 데이터를 전달하는 방식

주로 LAN 환경에서 사용

버스형과 링형이 존재 [그림 4-4]

(11)

1절. 데이터 전송 방식

 브로드캐스팅 방식

 버스형

공유 버스에 모든 호스트를 연결

둘 이상의 호스트가 데이터를 전송하면 충돌 발생

충돌 문제의 해결 방법

– 사전 예방: 전송 시간대를 다르게 하는 방법과 토큰 제어 방식이 가능 – 사후 해결: 충돌을 감지하는 기능이 필요 (예: 이더넷)

 링형

호스트를 순환 구조로 연결

송신 호스트가 전송한 데이터는 링을 한 바퀴 순환한 후 송신 호스트에 되돌아옴

중간의 호스트 중에서 수신 호스트로 지정된 호스트만 데이터를 내부에 저장

데이터를 전송하기 위해서는 토큰 확보가 필수

(12)

12/37

1절. 데이터 전송 방식

 멀티포인트 통신

 하나의 송신 호스트를 기준으로

유니포인트: 하나의 수신 호스트와 연결

멀티포인트: 다수의 수신 호스트와 연결

 송신 호스트가 한번의 전송으로

유니캐스팅: 하나의 수신 호스트에 데이터를 전송

멀티캐스팅: 다수의 수신 호스트에 데이터를 전송

(13)

1절. 데이터 전송 방식

 멀티포인트 통신

 멀티포인트 유니캐스팅 [그림 4-5]

유니캐스팅 방식을 이용하여 일대다 통신을 지원

호스트 a가 호스트 d, e, f에게 데이터를 전송하려면 3번의 송신 절차가 필요

수신 호스트의 수가 증가하면 성능에 문제점 발생

(14)

14/37

1절. 데이터 전송 방식

 멀티포인트 통신

 브로드캐스팅 [그림 4-6]

네트워크에 연결된 모든 호스트에게 데이터 전송

자신을 목적지로 하는 호스트만 데이터를 내부에 저장하고, 다른 호스트는 데이터 를 무시함

(15)

1절. 데이터 전송 방식

 멀티포인트 통신

 멀티캐스팅 [그림 4-7]

1:다 전송 기능을 지원

송신 호스트는 한번의 데이터 전송으로 여러 호스트에게 데이터를 전송할 수 있음

예: 송신 호스트 a, 수신 호스트 d, e, f

(16)

16/37

2절. 오류 제어

 전송 오류의 유형

수신 호스트의 응답 프레임

– 긍정 응답 프레임: 데이터가 정상적으로 도착했을 때, 수신 호스트가 송신 호스트에 게 회신

– 부정 응답 프레임: 데이터가 깨져서 도착했을 때, 수신 호스트가 송신 호스트에게 회신 – 부정 응답 프레임을 받은 송신 호스트는 재전송 기능으로 오류 복구 시도

송신 호스트의 타이머 기능

– 송신 호스트가 전송한 데이터가 네트워크에서 사라지는 문제를 해결 – 데이터 분실 시 수신 호스트로부터 어떠한 응답 프레임도 발생하지 않음

– 송신 호스트는 일정 시간 동안 응답 프레임이 없으면 타임아웃 기능으로 재전송 시도

순서 번호 기능

– 수신 호스트가 중복 프레임을 구분할 수 있도록 지원 – 데이터 프레임 내에 프레임 구분을 위한 일련 번호 부여

(17)

2절. 오류 제어

 전송 오류의 유형

 정상적인 전송 [그림 4-8]

송신 호스트가 전송한 데이터 프레임이 수신 호스트에 오류 없이 도착

수신 호스트는 송신 호스트에게 긍정 응답 프레임을 회신

(18)

18/37

2절. 오류 제어

 전송 오류의 유형

 프레임 변형 [그림 4-9]

송신 호스트가 전송한 데이터 프레임이 깨져서 도착

수신 호스트는 송신 호스트에게 부정 응답 프레임을 회신

송신 호스트는 원래의 데이터 프레임을 재전송하여 오류 복구

(19)

2절. 오류 제어

 전송 오류의 유형

 프레임 분실 [그림 4-10]

송신 호스트가 전송한 데이터 프레임이 네트워크에서 사라짐

수신 호스트는 어떠한 데이터도 받지 않았으므로 송신 호스트에게 응답하지 않음

송신 호스트는 타임아웃 기능으로 원래의 데이터 프레임을 재전송하여 오류 복구

(20)

20/37

2절. 오류 제어

 순서 번호

중복 수신 문제를 해결하기 위하여 데이터 프레임에게 부여되는 고유 번호

 순서 번호의 필요성

긍정 응답 프레임 분실에 따른 원래 데이터 재전송 [그림 4-11(a)]

수신 호스트는 동일한 데이터 프레임을 중복 수신 [수신 호스트는 그림 b와 구분 불가능]

(21)

2절. 오류 제어

 순서 번호

 순서 번호의 필요성

긍정 응답 프레임 처리에 따른 다음 데이터 전송 [그림 4-11(b)]

수신 호스트는 2개의 다른 데이터 프레임을 수신 (수신 호스트는 그림 a와 구분 불가능)

(22)

22/37

2절. 오류 제어

 순서 번호

 순서 번호에 의한 프레임 구분

긍정 응답 프레임 분실에 따른 원래 데이터 재전송 [그림 4-12(a)]

수신 호스트는 순서 번호를 보고 같은 프레임이라고 판단할 수 있음

(23)

2절. 오류 제어

 순서 번호

 순서 번호에 의한 프레임 구분

긍정 응답 프레임 처리에 따른 다음 데이터 전송 [그림 4-12(b)]

수신 호스트는 순서 번호를 보고 다른 프레임이라고 판단할 수 있음

(24)

24/37

2절. 오류 제어

 흐름 제어

수신 호스트가 감당할 수 있는 속도로 송신 호스트가 데이터를 전송하도록 제어

너무 빨리 전송하는 경우

– 수신 호스트가 내부 버퍼에 보관하지 못할 수 있음 – 이는 프레임 분실과 동일한 효과를 야기함

기본 원리

– 수신 호스트가 송신 호스트의 전송 시점을 제어 – 대표적인 예: 슬라이딩 윈도우 프로토콜

(25)

3절. 프레임

 문자 프레임

프레임의 내용이 문자로만 구성됨

 프레임의 구조

프레임의 시작과 끝에 특수 문자 사용 [그림 4-13(a)]

– 시작: DLE / STX – 끝: DLE / ETX

전송 데이터에 특수 문자가 포함되면 혼선이 발생 [그림 4-13(b)]

(26)

26/37

3절. 프레임

 문자 프레임

 문자 스터핑

송신 호스트: 데이터에 DLE 문자가 있으면 강제로 DLE 문자 추가 [그림 4-14(a)]

수신 호스트: 데이터에 DLE 문자가 두 번 연속 있으면 DLE 문자 삭제 [그림 4-14(b)]

(27)

3절. 프레임

 비트 프레임

프레임의 시작과 끝을 구분하기 위하여 플래그 (01111110) 사용

 프레임의 구조 [그림 4-15]

(28)

28/37

3절. 프레임

 비트 프레임

 비트 스터핑 [그림 4-16]

전송 데이터에 플래그 패턴이 포함되면 혼선이 발생

송신 호스트: 데이터에 1이 연속해서 5번 발생하면 강제로 0을 추가

수신 호스트: 데이터에 1이 연속해서 5번 발생하면 이어진 0을 제거

(29)

4절. 다항 코드

순방향 오류 복구: 오류 복구 코드를 이용해 수신 호스트 스스로 오류를 복구

역방향 오류 복구: 오류 검출 코드를 이용해 수신 호스트가 송신 호스트에게 오류 를 통지

 오류 검출

 패리티 [그림 4-17]

1 바이트 = 7 비트 ASCII 코드 + 1 비트 패리티

짝수 패리티: 1의 개수가 짝수가 되도록 패리티를 지정

홀수 패리티: 1의 개수가 홀수가 되도록 패리티를 지정

송신 호스트와 수신 호스트는 동일한 패리티 방식을 사용해야 함

(30)

30/37

4절. 다항 코드

 오류 검출

 패리티 [그림 4-17]

전송 과정에서 홀수개의 비트가 깨지면 오류 검출 가능

전송 과정에서 짝수개의 비트가 깨지면 오류 검출 불가능

(31)

4절. 다항 코드

 오류 검출

 블록 검사 [그림 4-18]

짝수개의 비트가 깨지는 오류를 검출

수평, 수직 방향 모두에 패리티 비트를 지정

(32)

32/37

4절. 다항 코드

 다항 코드

 생성 다항식

다항코드 100101 = 생성 다항식 x5 + x2 + 1

전송 데이터: m 비트 크기의 M(x)

생성 다항식: n+1 비트 크기의 G(x)

체크섬

– 전송 데이터와 생성 다항식을 이용하여 계산 [그림 4-19]

– n 비트 크기

송신 호스트: “전송 데이터 + 체크섬”을 수신 호스트에게 전송

수신 호스트: “전송 데이터 + 체크섬”을 생성 다항식으로 나누어 결과를 확인 – 나머지가 0 이면 전송 오류가 없는 경우

– 나머지가 0 이 아니면 전송 오류가 있는 경우

(33)

4절. 다항 코드

 다항 코드

 생성 다항식

체크섬 계산 원리 [그림 4-19]

(34)

34/37

 다항 코드

 생성 다항식

체크섬 계산 과정에서 뺄셈 연산 방법 – 모듈로-2 방식을 사용

– 두 수가 같으면 0 – 두 수가 다르면 1

모듈로-2 방식

– 덧셈의 자리 올림이나 뺄셈의 자리 빌림이 생략됨

– 덧셈과 뺄셈 모두 배타적 논리합 (Exclusive OR) 연산과 동일

100111101101 100111101101 -110001110110 +110001110110 ============ ============

010110011011 010110011011

4절. 다항 코드

(35)

 다항 코드

 체크섬의 예

생성 다항식 G(x) = x5 + x2 + 1

전송 데이터: 101101001

체크섬: 00010

4절. 다항 코드

(36)

36/37

4절. 다항 코드

 다항 코드

 체크섬의 예

CRC-12: x12 + x11 + x3 + x2 + x1 + 1

CRC-16: x16 + x15 +x2 + 1

CRC-CCITT: x16 + x12 + x5 + 1

(37)

참조

관련 문서

박미자(2005)는 초등학생의 한글맞춤법 오류 실태를 분석하고,오류원인을 찾아내어 맞춤법의 효율적인 지도 방안을 모색하였다.연구를 위해 맞춤법 오류 실태

- TCP는 흐름 제어와 오류 제어를 구별한다. - 이 절에서는 오류 제어를 무시하고 흐름 제어에

소켓 으로 부터 InputStream과 OutputStream 생성 소켓 을 이용한 통신.. 소켓

소켓 으로 부터 InputStream과 OutputStream 생성 소켓 을 이용한 통싞. 소켓

ankus Analyzer G 접속 데이터 업로드 워크플로우 생성 파라미터 설정. 05

셋째, 농림수산정책의 기초 인프라로써의 통계 데이터 정비이다. 농림업의 생산 및 취업구조나 농산촌지역의 실태를 종합적으로 파악하고 정책의 기획 및 입안에

기존 인증 방식의 인증 절차에서 상호 인증을 수행하기 위해서는 수 차례의 핸드쉐 이크 과정을 거쳐야만 상호 인증이 가능하였다.이러한 과정에서 단말은 인증서의

디지털 카메라의 이미지센서 (CCD, CMOS) 를 통해 촬영한 3 차원 디지털 데이터 를