본문 바로가기
CS/Network

2-1. 데이터 통신

by pizzz 2022. 12. 7.

2장 데이터 통신

컴퓨터 네트워크 보다는 좀더 포괄적인 언어

 

전송모드

직렬과 병렬 전송 (Serial and Parallel Transfer)

- 병렬 전송

  • 여러 전송라인을 통해 비트들을 동시에 전송
  • 이러한 병렬 전송은 두 장치들 간의 거리가 짧은 경우에 일반적으로 사용
  • 예를 들어 pc에서 프린터로 전송하는 것은 대표적인 병렬 전송
  • 가장 보편적인 예는 컴퓨터와 주변 장치들 간의 연결 (cpu <-> 메인메모리 <-> 하드디스크)
  • 비용문제 등으로 병렬 전송은 긴 거리일 경우 장점 상실

- 직렬 전송

  • 직렬 전송 단지 하나의 라인을 사용하여 하나씩 모든 비트를 보냄
  • 긴 거리일 경우 병렬 전송에 비해 적은 비용이 들고 신뢰성 증가
  • 그러나 비트를 하나씩 보내게 되므로 병렬 전송 보다 더 느림

 

 

비동기식 전송

- 한 번에 한 문자씩 보내거나 받는 방식

- 문자는 7~8비트로 구성, 문자의 앞에 시작비트, 끝에는 정지비트를 첨가하여 보냄

- 송신측과 수신측 사이에 동기를 맞추기 위한 클럭 신호를 사용하지 않음

- 시작비트는 수신측에 문자에 해당하는 비트가 따라올 것이라는 것을 알려주는 역할

- 문자 비트들을 모두 수신했을 때 정지비트가 뒤따름

- 키보드와 프린터와 같은 느린 장치들을 위해 사용되며 높은 오버헤드를 가짐

 

 

예제) ascii문자들을 1비트 시작 비트와 2비트 정지 비트 그리고 1비트 패리티 비트를 사용하여 비동기 방식으로 전송한다고 할 때 다음의 전송속도(bps)에 대하여 초당 몇 문자를 전송할 수 있는지 계산하시오.

- 2400bps

풀이) 2bit(정지비트) + 7bit(기본 ascii문자) + 1bit(시작비트) + 1bit(패리티비트) = 11bit

답) 2400bps / 11bit

 

 

동기식 전송

- 정해진 수 만큼의 문자들을 하나의 그룹(프레임)으로 만들어서 일시에 전송하는 방법

- 동기식 전송은 일반적으로 비동기식 전송에 비해서 더 빠름

- 송신측과 수신측이 하나의 기준 클록으로 동기신호를 맞추어 동작

- 동기화를 위한 클록 라인이 필요

 

 

 

 

-> 현재는 동기식 전송방식을 더 많이 사용

 

 

동기식 전송 방식

- 바이트 기반 전송(Byte-Oriented Transmission) : 각 프레임을 바이트의 연속으로 간주하는 방식 (예:BISYNC,PPP,DDCMP 등)

* 바이트=문자 (8비트=1바이트로 구성), 문자기반 전송이라고도 함

- 비트기반 전송(Bit-Oriented Transmission) : 각 프레임을 비트의 연속으로 간주하는 방식, 프레임의 시작과 끝을 알리기 위해 플래그(Flag)라고 하는 특수한 비트 패턴, "01111110"을 사용 (예:인터넷에서의 이더넷Ethernet과 HDLC(High-level Data Link Control)등)

 

-> 현재 네트워크에서는 일반적으로 비트기반 전송을 사용

 

비트 스터핑(Bit Stuffing)

- 비트 기반 전송에서의 문제점 : 데이터 필드에 임의 값이 포함될 수 있다. 즉 플래그 패턴(01111110)이 데이터 필드에 존재하게 되면 수신측에서는 이 부분을 프레임의 마지막으로 인식

- 이러한 문제점의 해결책 : 비트 스터핑

- 비트 스터핑 방법

  • 송신측 : 데이터 필드 내에 연속되는 5개의 1을 발견한다면 다섯번째의 1뒤에 0을 추가로 삽입
  • 수신측 : 연속되는 5개의 1이 수신되고 다음 비트가 0이면, 수신측은 0을 비트 스터핑 된 것이라고 간주하고 제거
  • 프레임의 시작과 끝에 위치한 플래그는 비트 스터핑을 하지 않으므로 유일하게 연속되는 6개의 1이 포함

- 비트스터핑의 예

 

 

1)

예제) 상위계층에서 받은 비트패턴이 아래와 같다면 송신측에서 비트 스터핑을 어떻게 하면 되는가?

풀이) 연속된 1개수 7 / 5 / 7/ 3

답) 011111011011111001111101100111

 

2)

예제) 바이트 기반 전송에서도 비트 스터핑과 유사한 바이트 스터핑 방법이 필요한지 조사하시오

STX : Start of Text 로 데이터의 시작을 나타냄

ETX : End of Text로 데이터의 끝을 나타냄

DLE : Data-Link Escape로 데이터 필드 안의 ETX 문자 앞에 첨가

풀이) 데이터 필드 내에 ETX가 있다면 수신측이 끝이 어딘지 분간을 못하고 데이터에 있는 ETX를 끝으로 잘못 판단할 수 있기때문에 송신측에서 ETX앞에 DLE라는 문자를 포함하여 송신함, 수신측은 ETX앞에 있는 DLE를 제거

 

 

단방향 (Simplex)

- 한 방향으로만 신호 전송이 가능한 형태

- 예: 공항 모니터, 프린터, TV방송

 

반이중 (Half duplex)

- 양쪽 방향에서 보내고 받을 수 있지만 교대로 전송(동시x)

- 예: 무전기

 

전이중 (Full duplex)

- 양쪽 호스트가 동시에 데이터 전송 가능

- 예: 인터넷