[정보통신망] #2. 데이터 통신의 기초

bien·2024년 4월 1일
0

정보통신망

목록 보기
2/13

0. 학습 목표

  • 데이터 통신에 대해 설명할 수 있다.
  • 데이터 통신에서 변조와 복조에 대하여 설명할 수 있다.
  • 전송 코드의 정의 및 종류에 대해 설명할 수 있다.
  • 데이터 전송 방식을 설명할 수 있다.
  • 데이터 전송 효율을 구할 수 있다.

1. 데이터통신의 개요

1. 통신의 예

2. 통신의 공통점

  • 한 점으로부터 다른 점으로 어떤 정보(data 또는 message)의 전달

3. 통신의 3대 요소

  • 정보원 (sender, 발신자)
  • 전송매체
  • 수신자 (receiver)
    • 메시지는 포함시키지 않는다.

4. 통신 성능의 요인

  • 메시지가 서로 이해되어야 함
    • coding
  • 통신상의 간섭 현상이 있을 수 있음.
    • noise

2. 변조 및 복조

1) 정의

  • 변조(modulation)
    • 전송 신호(baseband signal)를 높은 주파수 대역의 반송파 신호(carrier signal)에 싣는 과정
      • 전송 신호(0과 1의 신호)를 그냥 보내면 흐물흐물해져서 1인지 0인지 식별이 어려울 수 있다. 그래서 주파수가 높은 고주파에 실어서 보내는데, 이를 반송파 신호(운반할때의 반자)라고 한다. 이 전송 신호를 잔송파 신호에 어떻게 실을지에 관한 이야기를 변조라고 이야기한다.
  • 변조의 종류
    • 아날로그 변조
    • 디지털 변조
  • 변조 방식
    • 진폭 변조 (Amplitude Modulation, AM) : 폭의 높이
    • 조파수 변조 (Frequency Modulation, FM) : 한 사이클
    • 위상 변조 (Phase Modulation, PM) : 한 사이클 후 폭이 변화

2) 과정

  • 변조 (modulation) 과정의 예
    • 베이스 밴드 신호 2종류: 아날로그, 디지털
      • 아날로그 베이스 밴드 변조를 '아날로그 변조', 디지털 베이스 밴드 변조를 '디지털 변조'라고 부른다.
    • oscillator: 반송파를 만들어내는 것.

1. 아날로그 변조

1) 아날로그 변조의 종류

  • 진폭 변조(Amplitude Modulation, AM)

    • 베이스밴드 신호의 순간 진폭에 비례하여 반송파 신호의 순간 진폭을 변화시키는 방법
      • 담기는 반송파 신호의 진폭이 동일하므로, 전송된 신호의 그래프를 그려보면 본래 전달하고자 했던 베이스밴드 신호의 형태를 확인할 수 있다.
  • 주파수 변조(Frequency Modulation, FM)

    • 반송파 신호의 진폭은 일정하게 한 채로 베이스밴드 신호를 주파수 변화로 변환시키는 방법.
      • 양수일때는 더 조밀하고, 음수일때는 느슨하다. 소밀함의 정도로 베이스밴드 신호를 전달한다.
  • 위상 변조(Phase Modulation, PM)

    • 반송파 신호의 진폭은 일정하게 한 채로 베이스밴드 신호를 주파수 위상각의 변화로 변환시키는 방법
      • 동일한 베이스밴드 신호를 동일한 동일한 반송파에 담는데, 음수와 양수가 바뀌는 시점에 위상을 바꿔버린다.

위상각의 변화 예시

원래라면 아래로 내려가야하는 주파수를 도중에 꺾어서 다시 올려버린다.

2. 디지털 변조

  • 진폭 편이 변조(Amplitude Shift Keying, ASK)
    • 0인 부분은 반송파 신호를 끊어버리고, 1인 부분에서 다시 반송파 신호를 전송한다.
  • 주파수 편이 변조 (Frequency Shift Keying, FSK)
    • 0일때는 주파수가 낮게, 1일때는 주파수를 빠르게 변경해준다.
  • 위상 편이 변조(Phase Shift Keying, PSK)
    • 동일한 베이스 밴드에서는 위상을 유지하고, 0과 1이 바뀌는 시점에 위상을 변경한다.
      - 한 비트수 당 하나의 한 주파수 주기이면 충분하므로, 다른 2가지 주파수 편이보다 효율이 높다.

예시

  • ASK: 0일때는 안보냄
  • FSK: 0일땐 소, 1할땐 밀 (반대도 가능)
  • PSK: 0과 1이 바뀔때마다 위상각을 변경

3. 정보의 디지털화

  • 펼스 (Pulse)
    • 매우 짧은 시간 동안 진행되는 네모꼴의 전자기 파형
    • 펄스의 3대 요소
      - 위치: 언제 발생하느냐, 시간적인 상대 위치.
  • 펄스 코드 변조 (Pulse Code Modulation)
    • 아날로그 신호를 디지털 신호로 바꾸는 과정
      • 표본화 (sampling) 과정
      • 양자화 (quantization) 과정
      • 부호화 (encoding) 과정
    • Nyquist's sampling theorem
      • 신호는 그 신호에 포함된 가장 높은 주파수의 2배에 해당하는 빈도로 샘플링하면 원래의 신호로 복원할 수 있음.
      • 가청 주파수: 20~20kHz -> Audio CD sampling rate: 44.1kHz


샘플링하는 부분마다 수치를 측정(PAM 펄스). 이를 양자화 하는 과정에서 비트를 몇칸이나 사용할지 결정(13은 1, 37은 4) (PCM 펄스). 이 10진 숫자를 코드로 변경하는 과정(PCM 결과)


3. 전송 코드

  • 코드(code)
    • 암호, 부호
    • 코드 (프로그램 코드)
    • 규칙, 관례
    • 법규, 규정
      • A moral code
      • The dress code
      • The Morse code
      • The code of Hammurabi
  • 코드란 한마디로 "약속"이다.

1) Baudot 코드

  • Murray code
  • CCITT Alphabet No.2
  • International Alphabet No.2
  • Telex code
  • 5비트 ==> 32개 문자 표현

2) ASCII 코드

  • American Standard Code for Information Interchange
    • 정보 교환을 위한 미국 표준 코드
  • CCITT Alphabet No.5
  • International Alphabet No.5
  • ISO Seven-Bit Coded Character Set
    • for Information Processing Interchange
  • 7비트 ==> 128개 문자 표현
    • 아스키코드 자체는 7비트이지만 패리티 비트까지 붙여서 8바이트를 전송한다.
    • 정보를 의미하는 비트는 7비트.
  • 패리티 비트(parity bit)
    • 전송 오류 제어를 위한 비트
    • 홀수 패리티, 짝수 패리티
      • 홀수 패리티를 사용하겠다고 표기했는데, 짝수개의 비트가 온 경우: 오류
      • 그러나 2개의 비트에서 동시에 오류가 발생한 경우 패리티 검사로 오류를 식별할 수 없음.
        • 짝수개의 패리티 전송 오류를 개선할 다른 방법이 있다.

3) BCD 코드

  • Binary Coded Decimal (2진 코드로 표현된 10진수)
  • 컴퓨터 내부 코드
  • 10진 숫자의 표현
    • 5 > 0101
    • 9 > 1001
    • 159 > 0001 0101 1001

10개의 숫자를 2진 코드로 미리 표현해두고 사용. 2진법으로 변환하는 방식이 아니라, 0에서 부터 9까지 10개의 숫자만 미리 2진법으로 코드화해놓고 사용하는 것. 숫자만 코드로 변환한 형태.

4) EBCDIC 코드

  • Exended BCD Interchange Code
  • 8 bit ==> 256개 문자 표현
  • IBM 컴퓨터 내부 데이터 전송용

아스키코드와 달리 8비트를 전부 사용한다. IBM에서 컴퓨터 내부에서만 파일 구조로 사용하려고 개발된 코드.

5) 유니코드(Unicode)

  • 코드를 다 집대성 했음.
  • 데이터 프로그램, 시스템의 호환성과 확장성.
  • ISO/IEC Universal Multi-Octet Coded Character Set
  • 2바이트(16bit)계 만국 공통 국제 문자 코드 => 현재 4바이트계
  • 26개 언어의 문자 및 특수 기호 => 현재 159개 언어 (2022.09)
  • IBM, MicroSoft, Lotus, Sun Microsystems
    • 위의 기업들에서 언어를 코드화해서 전 세계에 제품 팔려고 만든 코드

4. 전송 방식

1) 전송 방향

  • 단방향 전송
    • simplex transmissioin
    • 정보의 전달 방향이 한 방향인 데이터 전송 방식
    • 예: 라디오와 텔리비전 방송, 키보드와 모니터, 일방통행 길에서 자동차의 통행
  • 반이중 전송
    • half-deplex transmission
    • 정보의 전달 방향이 교대로 이루어지는 데이터 전송 방식
    • 특징
      • 각 방향별로 통신 채널이 필요하므로 2개의 통신 채널을 사용
      • 정보 흐름의 방향을 바꾸기 위해 일정량의 시간이 필요
    • 예: 무전기, 예의 바른 대화
  • 전이중 전송
    • full-deplex transmission
    • 동시에 양방향 모두 전송이 가능한 데이터 전송 방식
      • 전화기, chatting

2) 전송 모드

  • 병렬 전송(parallel transmission)
    • 부호화된 코드의 모든 비트가 동시에 전송
    • 근거리 데이터 전송
      • 8개의 통신라인을 통해 각 데이터가 동시에 들어가고 있음. 라인이 여러개 필요해서 주로 근거리에 사용된다. 멀리 보낼때는 다수의 채널을 쓰는게 힘들어 직렬 전송을 사용함.
  • 직렬 전송(serial transmission)
    • 원거리 데이터 전송

3) 전송 동기

직렬전송의 경우, 수신되는 비트들을 문자 단위로 구분할 수 있어야 함. (적절하게 보낸 단어를 끊어 읽을 수 있어야 정확히 단어를 인식할 수 있다.)

동기(synchronization)

  1. 비트 동기 (bit synchronization)
  2. 문자 동기 (character synchronization)

비트 동기

  • 송수신측에 동일한 클록 사용
    • 송신측: "나는 1초에 200bps마다 샘플링해서 데이터 보낼거야"
    • 수신측: "그럼 나도 그 타이밍에 데이터 읽을게!"
  • 비트 검출 위치는 각 비트의 중앙

문자 동기

  • 비트 동기로 정확한 비트들을 검출한 다음 비트들을 그룹을 지어 원하는 문자를 구성하는 방법
    • 비트 동기로 정확하게 어느게 0이고, 어느게 1인지 인식한 이후에는, 어디서부터 문자열이 시작하는지를 알아내는 과정이 필요하다.
  • 문자의 비트 수전송 속도를 알면 정확하게 비트들을 세어서 각 문자를 구성함.
  • 어떤 비트가 문자의 첫 번재인지 결정하는 문제.
  • 문자 동기를 위한 두 가지 전송 방법
    • 동기식 전송 (synchronous transmission): 100개의 문자를 보내야 할 때, 100개의 문자를 8bit씩 묶어서 800번 보내는 것.
    • 비동기식 전송 (asynchronous transmission): 100개의 문자를 보내야 할 때, 한 글자씩 전송함. 첫번째 문자 전송함, 두번째 문자 전송함, 이런식으로. 속도는 더 느림

동기식 전송

  • synchronous transmission
  • 데이터 블록을 한꺼번에 전송
    • A에서 B로 데이터를 전송할 때, 보낼 문자를 블록으로 묶어서 한꺼번에 보내는 것
  • 예: ASCII 문자 전송
  • 전송 제어 문자 SYN (1/06:0 001 0110)사용
    • 보내려는 문자의 시작점을 인식하도록 앞에 SYN이란 문구를 붙여서 전송한다.
    • 글자의 일부분들이 SYN으로 잘못 인식되어 시작 부분을 오해하는 경우가 있을 수 있어 앞에 SYN을 여러개 붙여서 보낸다.

비동기식 전송

  • asynchronous transmission
  • start/stop stransmission
  • 한 문자씩 전송하며, 문자 사이에는 특별한 시간적 제약이 없음
  • 문자의 첫 번째 비트 검출
    • 시작 펄스 (start pulse) 이용
  • 문자의 끝
    • 정지 펄스 (stop pulse) 이용
    • 앞 뒤에 시작비트, 종료 비트를 붙여서 내용물을 보내는 방식

5. 전송 효율

1) 전송 효율

  • 전송 효율
    • 정보 비트 수 / 총 전송 비트 수 * 100(%)
      • 100개를 보낸 비트 중 80개가 필요한 경우, 80% 전송효율이 있는것. 나머지 20%는 제어를 위해서든 다른 의도를 위해 오버헤드 비트로 전송되고 있는것. 대표적으로 stop 비트, start 비트, SYNC 비트등이 있다.

  • 비동기식 중간에 파란 선은 전송을 위해 빈공간으로 두는 노는 선임. 비동기식이 동기식에 비해 훨씬 효율이 낮은것을 확인할 수 있다.

2) 동기식 전송의 전송 효율

동기식 전송 예시의 전송 효율을 구해보자.

  • 동기식 전송
    • 1000개의 ASCII 문자 블록의 전송 효율 + 블록 앞에 SYN 3개 사용
      • 총 전송 비트 수 = (1000 + 3) 문자 * 8 비트/문자 = 8024 비트
      • 정보 비트 수 = 1000 문자 * 8비트/문자 = 8000비트
      • 전송 효율: 8000/8024 * 100 = 99.40%

3) 비동기식 전송의 전송 효율

비동기석 전송 예시의 전송 효율을 구해보자.

  • 비동기식 전송
    • 1000개의 ASCII 문자 블록의 전송 효율 * 각 글자마다 오버헤드 비트 2개 사용(시작 펄스 1개 + 정지 펄스 1개)
    • 총 전송 비트수 = 1000문자 * 10(8 + 2)비트/문자 = 10000비트
    • 정보 비트 수 = 1000문자 * 8비트/문자 = 8000비트
    • 전송 효율: 8000/10000 * 100 = 80.0%

Reference

profile
Good Luck!

0개의 댓글