정보처리기사/정보 시스템 구축 관리
데이터 전송 제어 1
RangA
2023. 6. 1. 01:42
01. 데이터 전송 제어
01. 데이터 전송 제어
1) 데이터 전송 제어 절차
- 회선 접속 : 물리적으로 회선을 연결하는 단계로 전화에서 전화기의 코드를 꼽는 단계
- 링크 설정 : 논리적으로 경로를 설정하는 단계로 전화에서 전화를 걸어 상대방의 전화를 받는 단계
- 데이터 전송 : 메시지 전송 단계로 전화에서 서로 대화하는 단계
- 링크 해제 : 논리적인 경로를 종료하는 단계로 전화에서 그만 통화하고 끊는 단계
- 회선 절단 : 물리적으로 회선을 종료하는 단계로 전화에서 코드를 뽑는 단계
2) 데이터 전송 프레임
- 전송 프레임의 정의
- 송수신 비트열이 일정한 형식을 갖춘 구조를 프레임이라고 함
- 송신 측에서 발생된 정보를 정확한 전송을 위해 사용자 정보에 헤더(Header)와 트레일러(Trailer)를 부가하는 과정을 캡슐화하고 하며 이러한 형식화된 데이터 블록을 프레임이라고 함
- 프레임 전송은 동기식으로 전송됨
- 동기식 전송 프레임의 종류
- 문자(Character) 지향형 : 제어 블록이 대부분 7비트로 구성되어 있음
- 바이트(Byte) 지향형 : 제어 블록이 대부분 8비트로 구성되어 있음
- 비트(Bit) 지향형 : 제어 블록이 대부분 비트 단위로 구성되어 있음
3) BSC 프레임
- BSC(Binary Synchronous Control) 프레임 구조
- Heading은 머리말로 전송하려는 실제 정보(Text)를 담고 있음
- BCC는 오류 제어 블록으로 프레임의 오류를 검사하는 블록
SYN | SYN | SOH | Heading | STX | Text | ETX | BCC |
---|---|---|---|---|---|---|---|
7bit | 7bit | 7bit | 임의 길이 | 7bit | 임의 길이 | 7bit | 7bit |
- BSC 특징
- 문자 지향(위주) 프레임
- 전송 방향은 반이중(Half Duplex) 방식으로만 사용함
- 회선 연결은 점대점(Point-to-Point), 멀티포인트(Multi-Point) 방식에서만 사용함
- 같은 종류의 통신 회선만 가능함
- 오류 제어 방식은 Stop-and-wait ARQ를 사용함
- 오류 검출이 어렵고, 전송 효율이 낮음
- 비동기식에서도 사용됨
4) HDLC 프레임
- HDLC(High-level Data Link Control) 프레임 구조
FLAG | ADDRESS | CONTROL | INFORMATION | FCS | FLAG |
---|---|---|---|---|---|
8bit | 8bit~8byte | 8bit~16bit | 임의 길이 | 16bit~32biy | 8bit |
- FLAG의 역할
- 통신 회선을 공유하기 때문에 프레임의 앞과 뒤를 구분함
- 동기를 유지함
- 비트 투과성으로 기본적인 오류를 검출함
- FLAG의 비트는 01111110(7E)
- FLAG는 프레임 동기가 목적이고, 각 통화로의 혼선을 방지하는데 있음
- FLAG를 제외한 비트를 대상으로 '1'의 비트가 6개 이상이 되지 않도록 '0'을 강제적으로 삽입함
- 연속적으로 '1'의 비트가 5개가 되면 '0'을 삽입함
- 연속된 '1'의 비트가 6개이면 FLAG, 7개 이상이면 오류 프레임으로 판단함
- 오류가 없다면 반대로 연속적으로 '1'의 비트가 5번째 이후에 있는 '0'을 제거하고 수신함
- 주소부(ADDRESS)
- 교환기에서 수신 측까지 프레임을 전송하기 위해서 수신 측 컴퓨터의 위치 값을 넣는 부분
- 컴퓨터의 위칫값, 즉 주소는 1번부터 9번까지
- 주소는 교환기를 사용하는 네트워크에서는 필수적이며, 인터넷 주소인 IP 주소, 도메인 주소, 전화번호, 우편번호 등이 모두 같은 개념
- 제어부(CONTROL)
- I(Informaion) 프레임 : 정보 전송 프레임
- S(Supervisor) 프레임 : 감시, 감독 프레임, 흐름 제어, 오류 제어 프레임
- U(Unnumbered) 프레임 : 비밀번호제 프레임, 링크 확립과 해제
- U 프레임의 설정 모드
- NRM(표준 응답 모드) : 1차국, 2차국의 관계이면서 반이중 통신 상태로 링크를 설정함
- ARM(비동기 응답 모드) : 1차국, 2차국의 관계이면서 전이중 통신 상태로 링크를 설정함
- ABM(비동기 균형 모드) : 복합국(동등 레벨)의 관계이면서 전이중 통신 상태로 링크를 설정함
- HDLC 특징
- 비트 지향(위주) 프레임
- 전송 방향은 단방향(Simplex), 반이중(Half Duplex), 전이중(Full Duplex) 방식 모두 사용 가능함
- 회선 연결은 점대점(Point-to-Point), 멀티포인트(Multi-Point), 루프(Loop) 방식 모두 사용 가능함
- 다른 종류의 통신 회선도 가능함
- 오류 제어 방식은 연속적 ARQ(Go-Back-N, Selective-Repeat)를 사용함
- 전송 효율과 신뢰성이 높음
- 동기식 전송
02. 오류 제어
1) 오류의 종류
- 손실 : 전송 채널상에서 발생하는 왜곡 중 채널상에서 언제든지 발생할 수 있는 시스템적인 왜곡 현상
- 감쇠현상 : 감쇠는 에너지의 손실을 의미함
- 지연왜곡 : 전송 매체를 통한 신호 전달이 주파수에 따라 그 속도를 달리함으로써 유발되는 신호 손상 현상
- 열 잡음, 백색 잡음 : 전송 매체 내에서 온도 변화에 따른 전자 운동량이 변함으로 발생하는 오류
- 상호 변조 잡음 : 서로 다른 주파수들이 똑같은 전송 매체를 공유할 때 발생하며, 주파수의 구분은 합과 차로 구분됨
- 누화 잡음 : 인접한 전송 매체의 전기적인 신호의 결함으로 생기는 잡음
- 충격성 잡음 : 외부적인 영향을 받아 발생하는 잡음으로 번개나 천둥소리에 의한 충격으로 발생하는 잡음
- 동일 채널 잡음 : 두 개 이상의 채널이 동일한 주파수를 사용하게 될 때 발생하는 잡음
- 방사 잡음 : 높은 주파수 대역을 사용하는 위성 통신에서 주로 발생하는 잡음
2) 오류 제어 방식
- 순방향 오류 제어 방식(FEC, 전진 오류 수정)
- 수신 측에서 오류를 검사하고 수정까지 할 수 있도록 하여 송신 측에서는 같은 프레임을 재전송 하는 일이 없도록 하는 방식
- 역 채널을 이용하지 않음
- 대표적인 알고리즘에는 해밍 코드와 상승 코드가 있음
- 역방향 오류 제어 방식(BEC, 후진 오류 수정)
- 수신 측에서는 오류가 있는 프레임을 판단하여 오류가 발생하면 송신 측에 오류가 있음을 통보하여 재전송 받는 방식
- 역 채널을 이용함
- 역방향 오류 제어 방식에 가장 대표적인 기술이 ARQ
3) ARQ(자동 반복 재요청)
- Stop-and-Wait(정지-대기) ARQ
- 한 번에 한 개의 프레임을 전송함
- 한 개의 플레임을 전송한 후 수신 측의 ACK이나 NAK를 기다림
- ACK가 수신 되면 다음 프레임을 전송하고, NAK이면 이전에 보냈던 프레임을 다시 보냄
- ACK를 사용하는 ARQ는 Stop-and-Wait ARQ뿐임
- 나머지 ARQ 방식에서는 NAK만 사용함
- 재전송이 있을 수 있으므로 송신 측에 버퍼가 한 개 필요함
- 수신 확인 후 프레임을 전송하므로 효율이 떨어짐
- Go-Back-N ARQ
- 여러 개의 프레임을 전송함
- 오류가 발생한 프레임 이후의 모든 프레임을 다시 재전송 하는 방식
- 수신 측의 NAK 신호가 도착하지 않으면 계속적으로 전송함
- 수신 측에서 응답이 없으면 긍정적인 응답으로 간주함
- 중복 전송에 문제가 생ㄷ김
- HDLC의 S 프레임에서 사용함
- Selective-Repeat ARQ
- 여러 개의 프레임을 전송함
- 오류가 발생한 프레임만 다시 재전송 하는 방식
- 수신 측의 NAK 신호가 도착하지 않으면 계속적으로 전송함
- 수신 측에서 응답이 없으면 긍정적인 응답으로 간주함
- Go-Back-N ARQ 방식의 중복 전송 문제를 보완한 방식
- 일부분을 재전송하면 수신 측에서는 재결합을 해야 하므로 많은 버퍼가 필요하고 기술적으로 복잡하여 Go-Back-N ARQ에 비해 사용되는 경우가 적음
- HDLC의 S 프레임에서 사용함
- Adaptive(Dynamically) ARQ
- 동적으로 프레임의 개수를 전송함
- 수신 측에서는 오류 발생 확률을 송신 측에 전송함
- 송신 측은 적절한 프레임의 개수를 수신 측에 동적으로 전송함
- NAK 신호가 많으면 프레임의 수를 줄이고, 적으면 프레임의 수를 늘림
- 전송 효율을 높일 수 있지만 기술이 복잡하고 비용이 많이 들어 거의 사용하니 않음
4) 오류 검출 방식
- 패리티(Parity) 검사
- 1비트의 패리티 비트를 추가하여 오류를 검출할 수 있으나 교정을 불가능함
- 패리티 비트는 정보 비트의 오류를 판단하기 위해 부가된 잉여 비트
- '1'의 개수를 세어 전송 비트 내의 '1'의 개수가 짝수, 홀수 개가 되도록 결정함
- 짝수(Even, 우수)와 홀수(Odd, 기수) 등의 패리티 비트를 사용할 수 있음
- 전송 효율이 매우 좋음
- 짝수 개(특히 2개)의 비트는 오류가 발생할 경우 검출이 안 되는 단점이 있음
- 블록 합(Block Sum Check) 검사
- 패리티 검사 방식의 단점을 보완한 방식으로 프레임 내에 있는 모든 문자의 같은 위치 비트들에 대한 패리티를 추가하여 블록의 맨 마지막에 추가 문자를 부가하는 방식
- 체크섬(Checksum) 검사
- 송신 측에서는 정보 비트를 일정한 블록(8비트)으로 구분함
- 블록들을 모두 1의 보수 연산 방식으로 덧셈함
- 연산한 결과인 체크섬을 정보 비트에 추가하여 전송함
- 수신 측에서는 정보 비트와 추가된 체크섬 비트를 모두 1의 보수 연산으로 덧셈함
- 연산 결과를 1의 보수로 변경하였을 경우 모든 비트가 1이면 정상으로 수신된 것이고, 그렇지 않으면 잘못 수신되었으므로 송신 측에 재전송을 요구함
- 순환 중복 체크(CRC : Cyclical Redundancy Check) 검사
- 프레임 단위 데이터의 오류를 검출할 수 있으나 교정은 불가능함
- CRC는 다항식을 이용하여 오류를 검출하는 방법으로 성능이 뛰어나서 가장 많이 사용됨
- 1, 2개, 홀수개의 오류는 100% 검출됨
- 오류 검출이 매우 뛰어나서 동기식 전송에서 주로 사용함
- 가장 많이 사용되는 오류 검출 방식
- 집단, 군집 오류 제어 방식이라고도 함
- HDLC 전송 프레임의 FCS 블록에서 CRC를 사용함
- 송신 측에서 정보 비트에 계산된 나머지 비트를 추가하여 전송함
- 수신 측에서 나머지 비트가 모두 0이면 정상 수신, 아니면 오류로 판단함
- 해밍(Hamming) 코드 검사
- 오류 검출과 교정이 가능한 코드로 2비트의 오류 검출 및 1비트의 오류 교정이 가능한 방식
- 고정된 잉여 비트를 사용함
- 수신 측에서 오류를 정정하여 수신함
- 송신 측에서는 재전송을 하지 ㅇ낳음
- 1비트 오류를 수정하는 부호 방식
- 한계값, 순차적 디코딩을 이용하여 여러 개의 오류를 정정하는 방식은 상승 코드 방식