K 개발자

프레임 본문

OS/네트워크

프레임

ddingz 2021. 7. 21. 17:07

문자 프레임

문자 프레임Character Frame은 프레임 내용이 문자로 구성되므로 문자 데이터를 전송할 때 사용한다.
문자 프레임 방식은 8비트 단위(또는 ASCII 문자 코드)의 고정 크기로 동작한다.

프레임의 구조

문자 프레임의 구조

하나의 프레임 단위를 구분하기 위해 프레임의 앞뒤에 ASCII 코드의 특수 문자를 이용한다.
즉, 각 프레임의 시작 위치에 DLE·STX 문자를 추가하고, 끝나는 위치에는 DLE·ETX를 추가해 프레임의 다른 정보와 구분할 수 있도록 한다.
이 방식에서 발생 가능한 문제점은 (b)처럼 데이터의 내용 중에 DLE·STX나 DLE·ETX 문자가 포함될 수 있다는 것이다.
결과적으로 프레임을 수신하는 호스트가 프레임의 시작과 끝 위치를 결정하는 데 혼선을 준다.

문자 스터핑

문자 스터핑

문자 스터핑Character Stuffing은 문자 프레임 내부의 전송 데이터에 DLE 문자가 포함되면서 발생하는 혼란을 예방하는 방법이다.
(a)처럼 송신 호스트가 전송하는 데이터를 미리 조작함으로써 혼선의 여지를 없앨 수 있다.
즉, 전송 데이터가 DLE 문자를 포함하면 DLE 문자 다음에 DLE 문자 하나를 강제로 추가한다.
수신 호스트는 프레임 내용에 DLE 문자가 연속해서 두 번 나타나면 두 번째 DLE는 송신 호스트가 임의로 추가한 문자라고 판단할 수 있다.
따라서 상위 계층인 네트워크 계층에 데이터를 전달하기 전에 (b)처럼 둘 중 하나를 제거해야 한다.


비트 프레임

비트 프레임Bit Frame 방식은 문자 단위의 가정을 없애고, 임의의 비트 패턴 데이터를 전송할 수 있다.

프레임의 구조

비트 프레임의 구조

프레임의 시작과 끝 위치에 플래그Flag라는 특수하게 정의된 비트 패턴(01111110)을 사용해 프레임 단위를 구분한다.
데이터를 전송하기 전에 프레임의 좌우에 플래그를 추가하고, 수신 호스트는 이 플래그를 제거해 전송 데이터와 필요한 제어 정보를 상위 계층에 전달할 수 있다.

비트 스터핑

비트 스터핑

비트 프레임 방식에서는 송신 호스트가 전송하고자 하는 데이터의 내용 중에 값이 1인 패턴이 연속해서 5번 발생하면 강제로 0을 추가해 전송한다.
플래그는 1이 연속해서 6개 나오는 패턴이므로 원천적으로 데이터 내용에 플래그 패턴이 발생하는 것을 차단하기 위함이다.
이와 같은 기능을 비트 스터핑Bit Stuffing이라 하며, 수신 호스트는 송신 과정에서 추가된 0을 제거하여 원래의 데이터를 상위 계층에 전달한다.

'OS > 네트워크' 카테고리의 다른 글

MAC 계층과 IEEE 802 시리즈  (0) 2021.07.23
다항 코드  (0) 2021.07.21
오류 제어  (0) 2021.07.21
데이터 전송 방식  (0) 2021.07.17
서비스 품질(QoS)  (0) 2021.07.15
Comments