- 전송 제어(Transmission Control)의 개념
: 데이터의 원활한 흐름을 위해 입출력 제어, 회선 제어, 동기 제어, 오류 제어, 흐름 제어 등을 수행하는 것을 말한다
: OSI 7 참고 모델의 데이터 링크 계층(2계층)에서 수행하는 기능이다
: 전송 제어에 사용되는 프로토콜을 전송 제어 프로토콜 또는 데이터 링크 제어 프로토콜이라고 한다
- 전송 제어 절차
1. 데이터 통신 회선의 접속
: 교환 회선에서 통신회선과 단말기를 물리적으로 접속하는 단계
: 교환 회선을 이용한 포인트 투 포인트(Point-to-Point) 방식이나 멀티 포인트(Multi-Point) 방식으로 연결된 경우에 필요한 단계
: 전용 회선을 이용한 포인트 투 포인트 방식으로 연결된 경우 불필요한 단계
2. 데이터 링크의 설정(확립)
: 접속된 통신 회선상에서 송수신 측 간의 확실한 데이터 전송을 수행하기 위해서 논리적 경로를 구성하는 단계이다
: 수신 측 호출 -> 정확한 수신 측인가 확인 -> 수신 측의 데이터 전송 준비 상태 확인 -> 송수신 측 입장의 확인 -> 수신 측 입출력 기기 지정
: 데이터 링크의 설정 방법에는 폴링/셀렉션 방식, 경쟁 방식
3. 정보 메시지 전송
: 설정된 데이터 링크를 통해 데이터를 수신 측에 전송하고, 오류 제어와 순서 제어를 수행
4. 데이터 링크 종결
: 송수신 측 간의 논리적 경로를 해제하는 단계
5. 데이터 통신 회선의 절단
: 통신 회선과 단말기 간의 물리적 접속을 절단하는 단계
2. 데이터 링크 제어 프로토콜
1. BSC(Binary Synchronous Control)
: 문자 위주의 프로토콜로, 각 프레임에 전송 제어 문자를 삽입하여 전송을 제어한다
: 문자 코드 상에 정의된 전송 제어 문자를 이용하여 링크를 제어하기 때문에 사용하는 문자 코드에 의존적이며, 사용할 수 있는 코드가 제한적이다
: 통신하는 컴퓨터들이 사용하는 문자 코드 체계가 통일되어 있어야 한다
: 반이중(Half Duplex) 전송만 지원
: 주로 동기식 전송 방식을 사용하나 비동기식 전송 방식을 사용하기도 한다
: 포인트 투 포인트, 멀티포인트 방식에서 주로 사용
: 오류 제어 및 흐름 제어를 위해 정지-대기(stop and wait)ARQ를 사용한다
: 전파 지연 시간이 긴 선로에서는 비효율적이다
: 오류 검출이 어렵고, 전송 효율이 나쁘다
- 프레임 구조
: BSC의 데이터 프레임은 헤더, 텍스트, 트레일러 세 부분으로 구성된다
2. HDLC(High-level Data Link Control)
: 비트(Bit) 위주의 프로토콜로, 각 프레임에 데이터 흐름을 제어하고 오류를 검출할 수 있는 비트 열을 삽입하여 전송
: 포인트 투 포인트 및 멀티 포인트, 루프 등 다양한 데이터 링크 형태에 동일하게 적용가능
: 단방향, 반이중, 전이중 통신을 모두 지원하며, 동기식 전송 방식을 사용
: 오류 제어를 위해 Go-Back-N과 선택적 재전송(Selective Repeat)ARQ를 사용
: 흐름 제어를 위해 슬라이딩 윈도우 방식을 사용한다
: 전송 제어상의 제한을 받지 않고 자유로이 비트 정보를 전송할 수 있다
: 전송 효율과 신뢰성이 높다
- 동작모드
1. 정규 응답 모드(Normal Response Mode)
2. 비동기 응답 모드(Asynchronous Response Mode)
3. 비동기 평행 모드(Asynchronous Balanced Mode)
- 프레임 구조
1. 플래그(Flag)
: 프레임의 시작과 끝을 나타내는 고유한 비트 패턴(01111110)
: 프레임의 동기를 제공하기 위해 사용
2. 주소부(Address Field)
: 송, 수신국을 식별하기 위해 사용
3. 제어부(Control Field)
: 프레임의 종류를 식별하기 위해 사용
: I 프레임 - 정보프레임(Information Frame) 1, S 프레임 - 감독프레임(Supervisor Frame) 10
: U 프레임 - 비번호 프레임(Unnumbered Frame) 11
4. 정보부(Information Field)
: 실제 정보 메시지가 들어 있는 부분으로, 송수신 측간의 협의에 따라 길이와 구성이 정해진다
5. FCS(Frame Check Sequence Field, 프레임 검사 순서 필드)
: 프레임 내용에 대한 오류 검출을 위해 사용되는 부분(전송 오류 검출 기능)
: 일반적으로 CRC(순환잉여검사; 집단 오류) 코드가 사용된다
* 프레임(framing) 동기의 목적 = 각 통화로의 혼선 방지
3. SDLC(Synchronous Data Link Control)
: IBM사에서 개발한 비트 방식의 프로토콜이다
: BSC의 많은 제한점을 보완했으며, HDLC의 기초가 되었다
: HDLC와 동일한 프레임 구조를 가진다
: 단방향, 반이중, 전이중 전송을 모두 지원
: 포인트 투 포인트, 멀티 포인트, 루프 방식에서 모두 사용 가능
: 오류 제어를 위해 Go-Back-N-ARQ를 사용
3. 회선 제어 방식
: 하나의 통신 회선을 공유하는 여러 대의 단말장치들이 통신 회선을 사용하는 방식에 따라 통신망의 효율에 큰 영향을 주게 된다.
: 회선 제어란 이러한 문제들을 해결하기 위해 각 장치들의 송수신시 필요한 규칙을 의미
1. 경쟁 방식(Contention)
: 회선 접속을 위해서 서로 경쟁하는 방식으로, 송신 요구를 먼저 한 쪽이 송신권을 가진다
: 데이터 전송을 하고자 하는 모든 장치가 서로 대등한 관계에 있는 포인트 투 포인트 방식에서 주로 사용
: 송신 요구가 발생한 국이 주국이 되어 상대국(종국)에 셀렉팅 순서를 송신하여 상대국의 수신가능상태를 확인한 후 정보 메시지를 송신한다
: 데이터 링크가 설정되면 정보 전송이 종료되기 전까지는 데이터 링크의 종결이 이루어지지 않고 독점적으로 정보 전송을 하게 된다
: 송신 측이 전송할 메시지가 있을 경우 사용 가능한 회선의 있을 때까지 기다려야 한다
: 대표적인 시스템으로는 ALOHA가 있다
2. 폴링 / 셀렉션(Polling / Selection)
: 주 컴퓨터에서 송수신 제어권을 가지고 있는 방식이다
: 트래픽이 많은 멀티 포인트 방식으로 연결된 회선에서 사용
- 폴링(단 -> 주), polling
: 주 컴퓨터에서 단말기에게 전송할 데이터가 있는지 물어 전송할 데이터가 있다면 전송을 허가하는 방식으로, 단말기에서 주 컴퓨터를 보낼 데이터가 있는 경우 사용
- 셀렉션(주 - > 단), selection
: 주 컴퓨터가 단말기로 전송할 데이터가 있는 경우 그 단말기가 받을 준비가 되었는가를 묻고, 준비가 되어 있다면 주 컴퓨터에서 단말기로 데이터를 전송하는 방식
4. 오류 제어 방식
- 오류의 발생 원인
1. 감쇠(Attenuation)
: 전송 신호 세력이 전송 매체를 통과하는 과정에서 거리에 따라 약해지는 현상
: 주파수가 높을 수록 감쇠현상이 심해지고, 해결하기 위해 중계기가 필요
2. 지연 왜곡(Delay Distortion)
: 유선 매체에서 발생하는 문제로, 하나의 전송 매체를 통해 여러 신호를 전달했을 때 주파수에 따라 그 속도가 달라짐으로써 생기는 오류
3. 잡음(Noise)
: 백색 잡음, 가우스 잡음, 열잡음 이라고 함
- 상호 변조(간섭) 잡음(Inter modulation Noise)
: 서로 다른 주파수들이 하나의 전송 매체를 공유할 때 주파수 간의 합이나 차로 인해 새로운 주파수가 생성되는 잡음
- 누화 잡음 = 혼선(Cross Talk Noise)
: 인접한 전송 매체의 전자기적 상호 유도에 의해 생김
- 충격성 잡음(Impulse Noise)
: 번개와 같은 외부적인 충격, 기계적인 충격에 의해 생김
- 돌발성 잡음
: 자연 현상, 통신 장비의 결함 등 예측할 수 없는 외부 요인에 의한 잡음
- 위상 지터(Phase Jitter Noise)
: 전송 네트워크에서 전송 신호의 위상이 연속적 일그러짐
- 위상 히트(Phase Hit Noise)
: 전송 네트워크에서 전송 신호의 위상에 불연속적 순간 변화
* 손실: 전송 채널 상에서 발생하는 왜곡(distortion) 중 채널상에서 언제든지 발생할 수 있는 시스템적인 왜곡(systematic distortion)
---------------------------------------------------------------------------------------------------
- 전송 오류 제어 방식
1. 전진(순방향) 오류 수정(FEC; Forward Error Correction) - 해밍 코드 검사 방식
: 데이터 전송 과정에서 발생한 오류를 검출하여, 검출된 오류를 재전송 요구 없이 스스로 수정하는 방식
: 송신 측에서 문자나 프레임에 오류 검출을 위한 부가 정보를 추가시켜 전송하고, 수신측에서는 이러한 부가 정보를 이용하여 자신이 수신한 데이터에 존재하는 오류를 발견, 수정
: 재전송 요구가 없기 때문에 역 채널이 필요없고, 연속적인 데이터 흐름이 가능
: 데이터 비트 이외에 오류 검출 및 수정을 위한 비트(잉여 비트)들이 추가로 전송되어야 하기 때문에 전송 효율이 떨어진다
2. 후진(역방향) 오류 수정(BEC; Backward Error Correction)
: 데이터 전송 과정에서 오류가 발생하면 송신 측에 재전송을 요구하는 방식
: 패리티 검사, CRC, 블록 합 방식 등을 사용하여 오류를 검출하고, 오류 제어는 자동 반복요청(ARQ; Automatic Repeat reQuest)에 의해 이루어진다
---------------------------------------------------------------------------------------------------
- 자동 반복 요청(ARQ; Automatic Repeat reQuest)
: 오류 발생 시 수신 측은 오류 발생을 송신 측에 통보하고,
: 송신 측은 오류 발생 블록을 재전송하는 모든 절차를 의미하는 것이다
1. 정지-대기(Stop-and-Wait)ARQ
: 송신 측에서 한 개의 블록을 전송한 후 수신 측으로부터 응답을 기다리는 방식
: 수신 측의 응답이 긍정 응답(ACK)이면 다음 블록을 전송하고, 부정응답(NAK)이면 앞서 송신했던 블록을 재전송한다
: 전송 효율이 가장 낮고, 오류 발생한 블록만 재전송하므로 구현방법이 가장 단순하다
2. 연속(Continuous)ARQ
: 정지 대기가 갖는 오버헤드를 줄이기 위해 연속적으로 데이터 블록을 보내는 방식으로, 수신측에서는 부정 응답만 송신하고, 프레임의 송신 순서와 수신 순서가 동일해야 수신이 가능하다
1) Go-Back-N-ARQ
: 여러 블록을 연속적으로 전송하고, 수신 측에서 부정 응답(NAK)을 보내오면 송신 측이 오류가 발생한 블록부터 다시 재전송한다
2) 선택적 재전송(Selective Repeat)ARQ
: 여러 블록을 연속적으로 전송하고, 수신 측에서 부정응답을 보내오면 송신 측이 오류가 방생한 불록만 재전송한다
3. 적응적(Adaptive)ARQ
: 전송 효율을 최대로 하기 위해서 데이터 블록의 길이를 채널의 상태에 따라 그때그때 동적으로 변경하는 방식이다
: 전송효율이 제일 좋으나, 제어회로가 복잡하고 비용이 많이 들어 현재는 거의 사용안함
* 긍정응답: ACK(Acknowledge)
* 부정응답: NAK(Negative Acknowledge)
5. 오류 검출 방식
1. 패리티 검사
: 전송 비트에 1비트의 검사 비트인 패리티 비트(Parity Bit)를 추가하여 오류를 검출
1) 수직 패리티 체크 = 수직 중복 검사(VRC; Vertical Redundancy Check)
: 수직 방향으로 패리티 비트를 부여하는 방식으로, 보통 '패리티 검사'라 할때 VRC라 함
: 전송 비트들 중 값이 1인 비트의 개수가 짝수 또는 홀수가 되도록 패리티 비트를 부여
: 오류만 검출할 수 있고, 수정은 하지 못한다
1-1) 짝수(우수) 패리티: 각 전송 비트 내에 1의 개수가 짝수가 되게함 , 비동기식 전송
1-2) 홀수(기수) 패리티: 각 전송 비트 내의 1의 개수가 홀수가 되게함, 동기식 전송
2) 수평 패리티 체크 = 세로 중복 검사(LRC; Longitudinal Redundancy Check)
: 수평 방향으로 패리티 비트를 부여하는 방식으로, 전송 비트를 일정량의 블록으로 묶어서 블록의 맨 마지막에 패리티 비트를 부여한다
---------------------------------------------------------------------------------------------------
2. 순환 중복 검사(CRC; Cyclic Redundancy Check)
: 다항식 코드를 사용하여 오류를 검출하는 방식
: 동기식 전송에서 주로 사용되고, 집단 오류를 검출할 수 있고, 검출률이 높아서 가장 많이 사용
: HDLC 프레임의 FCS(프레임 검사 순서 필드)에 사용되는 방식
---------------------------------------------------------------------------------------------------
3. 궤환 번송 방식(Echo Check)
: 수신 측에서 받은 데이터를 송신 측으로 되돌려 보내어 원본 데이터와 비교하여 오류가 있는 경우 재전송하는 방식
---------------------------------------------------------------------------------------------------
4. 자동 연속 방식(연속 전송 방식)
: 송신 측에서 동일 데이터를 두 번 이상 전송하면 수신 측에서 두 데이터를 비교해 이상 유무를 판별한 후 오류 발생 시 이를 수정하는 방식
---------------------------------------------------------------------------------------------------
5. 해밍 코드 방식(Hamming Code) - 자기 정정 부호
: 수신 측에서 오류가 발생한 비트를 검출한 후 직접 수정하는 방식
: 오류의 검출은 물론 스스로 수정까지하므로 자기 정정 부호라고도 함
: 1 비트의 오류만 수정이 가능하며, 정보 비트 외의 잉여 비트가 많이 필요
: 송신한 데이터와 수신한 데이터가 각 대응하는 비트가 서로 다른 비트의 수를 해밍(Hamming Distance)라고 한다
: 전송 비트 중 1, 2, 4, 8, 16, 32, 64, ..., 2n승 번째를 오류 검출을 위한 패리티 비트로 사용하며, 이 비트의 위치는 변하지 않는다
---------------------------------------------------------------------------------------------------
6. 상승 코드(부호) 방식
: 순차적 디코딩과 한계값 디코딩을 사용하여 오류를 수정
댓글 없음:
댓글 쓰기