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)
- 양쪽 호스트가 동시에 데이터 전송 가능
- 예: 인터넷
'CS > Network' 카테고리의 다른 글
2-3. 데이터 통신 : 패리티검사(Parity Check)와 검사합(Checksum) (0) | 2022.12.08 |
---|---|
2-2. 데이터 통신 : 교환기술(회선교환/메시지 교환/패킷교환) (1) | 2022.12.07 |
TCP/IP통신구조와 HOST/SWITCH/NETWORK의 관계 (0) | 2022.12.07 |
1-1. 컴퓨터 네트워크 기초 (0) | 2022.12.06 |
0. 데이터 통신과 컴퓨터 네트워크 (0) | 2022.12.06 |