데이터 전송/교환 기술의 분류 방식
- Point-to-Point 방식: 호스트가 중개 호스트와 일대일로 연결
- Fully-Connected 연결을 위해서는 N(N-1)/2개의 전송 링크가 필요.
- 비용이 크고 네트워크 혼잡도가 증가
- 원거리 시스템에 주로 사용(WAN)
- 권장하지 않지만 트리형으로 구현되는 경우가 많음
- Multi-point 통신: 1:N, N:N 사이의 송수신 호스트 사이의 데이터 전송 방식
- Unicasting: 특정 대상 하나에 전송
- Anycasting: 불특정 대상 하나에 전송
- Multicasting: 동시에 대상 지정하여 전송
- Broadcasting: 모든 호스트에 전송
- 교환 호스트가 필요하지 않기 때문에 LAN 환경에서 주로 사용
Topology
- Ring형: 호스트를 순환 구조로 연결
- 송신 호스트가 전송한 데이터는 링을 순환한 후 송신 호스트에 되돌아옴
- 수신 호스트로 지정된 호스트만 데이터를 내부에 저장
- 데이터 전송을 위해 토큰 확보가 필수
- Bus형:
- 충돌: 둘 이상의 호스트에서 데이터를 동시에 전송할 때 충돌 발생
- 호스트의 전송 권한 제한 (Flex-Lay)
- 충돌 허용: 충돌 발생시 해결 과정 추가 (Ethernet)
전송 매체
- 유선 매체 (유도 매체)
- 트위스티드 페어 (Twisted Pair): 신호 간의 간섭 효과를 최소화, 두 선이 같은 수준의 노이즈를 받을 수 있도록 하여 노이즈 제거를 통한 통신 데이터 복원이 가능하도록 함
- UTP: Unshielded Twisted-Pair (8 string)
- RJ-45커넥터를 주로 사용
- 최대 전송 거리 100m, 155MHz 대역폭 제공
- FTP: Foiled Twisted pair (9 string)
- STP: Shielded Twisted-Pair
- UTP 케이블의 각 쌍들을 얇은 금속 박막으로 둘러싼 구조
- 가격 상승 대비 성능 향상이 떨어져 UTP로 대체됨
- 동축 케이블 (Coaxial)
- 차폐성이 좋아 간섭이 적음
- BNC 커넥터 사용하여 노드 연결
- 고속 데이터 전송(수백 Mbps)이 가능하고 전력 손실이 적다
- 광 케이블 (Optical)
- 전기적인 간섭을 받지 않고 대역폭이 넓고 전송 속도가 빠름
- 무선 매체 (비유도 매체)
데이터 전송 방식
- 직렬 전송: 한 번에 한 비트씩, 기준 시간은 클록 펄스를 이용
- 직렬-병렬 변환은 Shift Register를 이용.
- 회선 비용이 경제적이나 직병렬 변환기가 필요하므로 시스템이 복잡하다.
- ex) RS-232C, USB(Universal Serial Bus)
- 병렬 전송: 각 클록 펄스마다 여러 비트를 동시에 보냄
- 동기 (Synchronous transmission): 전송장치와 수신장치 사이의 전송률, 전송시간, 간격 등 비트 타이밍 정보를 일치시킴.
- 비동기식 전송 (Asynchronous transmission): 동기 작업을 하지 않음.
- 시작 비트와 종료 비트가 존재한다.
- 전송지에서 한 번에 하나씩 문자를 전송, 수신지에서 각 문자의 시작점에서 동기화를 수행.
- 간단하고 저렴하지만 문자당 2~3비트의 오버헤드가 필요해 전송효율이 떨어진다.
- ex) RS-232C
부호화 방식
부호화: 심볼화된 비트 정보를 전기 신호로 변환하는 과정
- 신호가 자주 바뀌게 되면 노이즈가 많아진다.
- 전압 레벨이 높을수록 에너지 소모가 많다.

- Bipolar
- Manchester
- Differential Manchester
- RZ (Return to Zero): unipolar (+V, 0), bipolar (+V, -V)
- NRZ (Non Return to Zero)
- 0으로 복귀 하지 않고 하나의 디지털 비트 구간 내에서 전압이 일정한 방식
- NRZI (Non Return to Zero Invert)
- Duo Binary
DTE-DCE 인터페이스
- DTE (Data Terminal Equipment): 정보 처리 장치 또는 데이터 터미널 장비
- DCE (Data Circuit-terminating Equipment): DTE와 전송 매체 사이에 데이터 전송을 담담
UART(Universal Asynchronous Receiver and Transmitter)
- UART는 EIA-232와 논리 규격에서 호환. 물리적인 규격은 다르다.
- UART 전압 레벨:TTL(0~5V), EIA의 전압 레벨: -12V ~ +12V
- RS-232 Transceiver: MAX232
Protocol
프로토콜의 주요 요소
- 구문(Syntax): 문법, 데이터의 구조나 형식
- 의미(Semantics): 데이터의 의미
- 타이밍(Timing): 언제 어떤 속도로 데이터를 전송할 것인가.
프로토콜의 주요 기능
- 주소지정(Addressing): 목적지 주소, 경로 부여
- 순서제어(Sequencing): 전송 패킷에 순서를 부여함. 먼저 온 데이터가 무조건 앞단의 데이터가 아닐 수 있다.(게이트웨이 때문)
- 데이터의 단편화(Fragmentation) 및 재조립(Reassembly)
- 지연시간과 오류를 줄이기 위해 송신 측은 데이터를 작은 패킷으로 나누어(단편화) 전송하고, 수신 측에서는 수신한 패킷들을 원래의 데이터로 다시 조립(재조립)
- 캡슐화(Encalsulation): 주소나 오류검출 부호와 같은 프로토콜 제어 정보를 부가하는 것(헤더, 트레일러)
- 연결 제어(Connection Control): 비연결 지향형은 수신 허락 여부와 관계 없이 데이터를 보낸다. 연결 지향형은 수신 허락이 되어야만 데이터를 보낼 수 있기 때문에 보안성이 좋다.
- 흐름 제어(Flow Control): 수신 측의 처리 능력에 따라 송신 측에서 송신 데이터의 양을 조절하는 기능. 수신 호스트가 송신 호스트의 전송 시점을 제어.
- 오류 제어(Error Control): 전송 도중에 발생하는 오류를 검출하고 정정하는 기능.
- 동기화(Synchronization): 송수신 타이밍을 맞추는 기능.
- 다중화(Multiplexing): 하나의 회선을 여러 가입자가 동시에 사용하도록 함.
전송 오류의 유형
- 수신 호스트의 응답 프레임: 송신 호스트에 응답 프레임을 전송해 원래의 데이터 프레임을 재전송하도록 요구 (긍정/부정)
- 송신 호스트의 타이머 기능
- 타임아웃(Timeout): 데이터 프레임을 전송한 후에 일정 시간 이내에 수신 호스트로부터 긍정 응답을 받아야 한다. 회신이 없으면 데이터 프레임을 재전송함.
- 순서 번호 기능: 수신 호스트가 중복 프레임을 구분할 수 있도록 지원, 데이터 프레임 내에 프레임 구분을 위한 일련 번호 부여.
프레임
전송 데이터를 프레임이라는 단위로 나누어 처리한다.
표현 방식에 따라 문자 프레임과 비트 프레임으로 구분
- Character Frame
- Charater Stuffing: 전송 데이터가 DLE 문자를 포함하면 뒤에 DLE 문자 하나를 강제 추가.
- Bit Frame: 시작과 끝에 플래그라는 특수하게 정의된 비트 패턴(01111110)을 사용해 프레임 단위를 구분.
- Bit Stuffing: 전송 데이터에 1이 연속해서 5번 발생하면 강제로 0을 추가.
스터핑 과정에서 추가된 데이터는 수신 호스트가 제거하고 원래의 데이터를 상위 계층으로 전달하여야 한다.
오류의 복구
- 순방향 오류 복구(FEC, Forwawrd Error Correction): 수신 호스트가 복구
- 역방향 오류 복구(BEC, Backward Error Correction): ARQ(Automatic Repeat reQuest) 방식으로 송신 호스트가 재전송 방식을 이용해 오류 복구(네트워크에서 일반적으로 사용)
Parity bit
- 1바이트 = 7bit ASCII code + 1 Parity bit
- 짝수 패리티: 패리티 비트 포함 전체 1의 개수를 짝수로
- 홀수 패리티: 패리티 비트 포함 전체 1의 개수를 홀수로
블록 검사
수직, 수평 방향 모두에 짝수 패리티 비트를 적용
Polynomial Code
- CRC(Cyclic Redundancy Code)
- 미리 약속된 다항식 G(x)으로 전송 데이터 M(x)를 나누어 체크섬 정보를 얻는다.
ex)
100101b=1x5+0x4+0x3+1x2+0x+1=x5+x2+1
데이터 전달 방식
- Single: 한쪽 방향으로만 전달 가능.
- Half-Duflex: 양쪽 방향으로 전달 가능하지만 동시에 전달 불가능.
- Full-Duflex: 양쪽 방향으로 동시에 전달 가능.
서비스 프리미티브
하위 계층이 상위 계층에 제공하는 서비스의 종류는 연결형과 비연결형으로 나뉘며 프리미티브 형태로 구현됨
서비스 프리미티브란 인터페이스를 통해 이루어지는 계층 간 상호 작용을 추상화하여 단순한 모습으로 제공하기 위한 서비스 단위
- 연결형 서비스
- 비연결형 서비스
- Request
- Indication
- Response
- Confirm
OSI 7 Layer
Data Unit
- SDU (Service Data Unit): 실제 정보
- PDU (Protocol Data Unit) = Header + SDU
| 계층 | PDU |
|---|
| 7. 응용 계층 | Message |
| 6. 표현 계층 | Message |
| 5. 세션 계층 | Message |
| 4. 전송 계층 | Segment |
| 3. 네트워크 계층 | Packet/Datagram |
| 2. 데이터링크 계층 | Frame |
| 1. 물리 계층 | Bit |