Study/Network

[네트워크] 데이터 전송 - 오류 제어, 프레임

ChoiSenn 2022. 5. 3. 18:05

 

 

 

 

오류 제어

 

오류 복구 기능

 - 수신 호스트의 응답 프레임 : 송신 호스트에 응답 프레임을 전송해 원래의 데이터 프레임을 재전송하도록 요구.(부정 응답 프레임 : 송신 호스트의 재전송 기능을 작동시킴)

 - 송신 호스트의 타이머 기능 : 타임아웃(데이터 프레임을 전송한 후에 일정 시간 이내에 수신 호스트로부터 긍정 응답 프레임 회신이 없으면 데이터 프레임 재전송함.

 - 순서 번호 기능 : 수신 호스트가 중복 프레임을 구분할 수 있도록 지원. 데이터 프레임 내에 프레임 구분을 위한 일련번호 부여.

 

정상적인 전송

 - 송신 호스트가 전송한 데이터 프레임이 수신 호스트에 오류 없이 도착.

 - 수신 호스트는 송신 호스트에게 긍정 응답 프레임을 회신.

 

 

 

프레임

 

프레임 변형

 - 프레임 변형 오류를 인지한 수신 호스트는 송신 호스트에 부정 응답 프레임을 전송, 원래 데이터 프레임을 재전송.

 - 부정 응답 프레임을 사용하지 않는 프로토콜에서는 송신 호스트의 타임아웃 기능에 따라 복구 과정을 시작.

 

프레임 분실

 - 송신 호스트는 데이터 프레임을 전송한 후에 특정 시간까지 수신 호스트의 긍정 프레임이 도착하지 않으면 타임아웃 기능에 따라 원래의 프레임을 스스로 재전송.

 

순서 번호

 - 중복 수신 문제를 해결하기 위해 데이터 프레임에게 부여되는 고유번호.

 - 순서 번호의 필요성 : 긍정 응답 프레임이 사라지는 오류 발생 시 송신 호스트의 타임아웃 기능에 따라 재전송 과정이 진행됨 -> 동일한 프레임 중복 수신

 - 수신 호스트가 긍정 응답 분실/도착을 구분할 수 있도록 데이터 프레임 별로 고유의 순서 번호를 부여하는 방식 필요.

 - 순서 번호에 의한 프레임 구분 : 순서 번호에 의거하여 동일한 데이터 프레임이 중복 도착했는지 여부를 확인 가능.

 

흐름 제어

 - 수신 호스트가 감당할 수 있을 정도의 전송 속도를 유지하면서 데이터 프레임을 전송.

 - 너무 빨리 전송하는 경우 : 수신 호스트가 내부 버퍼에 보관하지 못할 수 있음. 즉, 프레임 분실과 동일한 효과 야기.

 - 기본 원리 : 수신 호스트가 송신 호스트의 전송 시점을 제어. ex) 슬라이딩 윈도우 프로토콜

 - 데이터 링크 계층 : 전송 데이터를 프레임이라는 단위로 나누어 처리.

 - 전송 프레임 : 체크섬, 송수신 호스트의 주소, 제어 코드 중 정보 포함.

 - 내부 정보를 표현하는 방식에 따라 문자 프레임과 비트 프레임으로 구분.

 

문자 프레임

 - 내용이 문자로 구성됨. 8비트 단위(혹은 아스키 문자 코드)의 고정 크기로 동작.

 - 구조 : 프레임의 시작과 끝에 특수 문자를 사용. (시작: DLE/STX, 끝 : DLE/ETX)

 - 전송 데이터에 특수 문자가 포함되면 혼선이 발생.

 - 문자 스터핑 : 문자 프레임의 전송 과정에서 제어 문자를 추가하는 기능. 전송 데이터가 DLE 문자를 포함하면 뒤에 DLE 문자 하나를 강제로 추가. 데이터에 DLE 문자가 두 번 연속으로 있으면 하나의 DLE 문자 삭제.

 

비트 프레임

 - 프레임의 시작과 끝에 위치한 플래그라는 특수하게 정의된 비트 패턴을 사용해 프레임 단위를 구분한다.

 - 프레임의 구조 : 데이터 전송 전에 프레임의 좌우에 플래그를 추가, 수신 호스트는 이 플래그를 제거해 전송 데이터와 필요한 제어 정보만을 상위 계층에 전달.

 - 비트 스터핑 : 전송 데이터에 플래그 패턴이 포함되면 혼선이 발생.

        = 송신 호스트 : 전송 데이터가 1이 연속하여 5번 발생하면 강제로 0을 추가.

        = 수신 호스트 : 송신 과정에 추가된 0을 제거하여 원래의 데이터를 상위 계층에 전달.