CS/NETWORK

프레임 구조

IT록흐 2021. 6. 24. 13:14
반응형

 

 

 

프레임 구조

 

 

 

프레임의 구조를 살펴보자.

 

Preamble (프리앰블) (7byte)

 

프레임의 가장 첫 번째 부분이다. Preamble은 '서두, 전문'이라는 의미를 갖는다. 7byte 크기로 송신호스트와 수신호스트 간의 클록 동기를 맞출 시간을 확보하는 역할을 한다. 송신호스트는 프레임을 전송한 후 일정시간 동안 긍정응답이 돌아오지 않으면 해당 프레임을 재전송하는 타임 아웃기능을 갖고 있다. 개인적인 생각에는 타임아웃 기능을 위한 클록동기 시간을 확보하기 위해 Preamble이 있는게 아닐까 싶다.

 

Start Dlimiter (시간 구분자) (1byte)

 

프레임 시작을 의미한다. 프리앰블은 각 바이트는 10101010 비트 패턴을 갖는다. Start Dlimiter는 10101011 비트열이므로 프리앰블과 구분된다.

 

Source Address / Destianation Address (6byte)

 

Sourece Address는 송신호스트 주소이고 Destination Address는 수신 호스트 주소이다. 수신 호스트 주소는 최상위 비트가 1이면 그룹을 의미하고, 0 이면 일반 주소를 의미한다. 그룹을 대상으로 데이터를 전송하는 방식에는 멀티캐스팅과 브로드캐스팅이 있다. 일반주소로 1대1 데이터 전송 방식에는 유니캐스팅이 있다.

 

Length 또는 Type

 

2계층과 3계층의 차이는 2계층은 프레임을 다루고 3계층은 패킷을 다룬다는 것이다. 패킷은 프레임을 여러개로 분할한 것이다. 데이터 프레임은 최대 1526byte의 크기를 갖는다. 1526byte 보다 크기가 작으면 하나의 프레임으로 인식하여 프레임 길이를 측정하는 단위를 Length로 한다.

 

그러나 만약 1526byte보다 크다면 어떻게 할까? 프레임을 분할하는 과정을 거쳐야 한다. 그러면 프레임은 패킷이 되고 이는 3계층 프로토콜에서 관리한다. 그리고 단위는 Length가 아닌 Type으로 바뀌어 패킷의 종류를 구분하는 역할을 한다.

 

데이터 + padding (46byte ~ 1500byte)

 

프레임의 데이터 + padding의 최소 크기는 46byte이다. LAN은 이더넷 환경이다. 이더넷 환경은 충돌을 감지한다. 송신호스트는 프레임을 전송매체로 전송하는 과정에서 적당한 시간을 확보해야한다. 그래야 그 시간동안 충돌이 발생했을시 프레임 전송을 중단하고 재전송을 준비할 수 있기 때문이다. 만약 프레임 전송이 완료된 후 충돌이 감지되면, 송신호스트는 충돌이 일어난 프레임이 본인의 것이라고 인식하지 못한다. 그러므로 최소 46byte는 확보되어야 한다. 그래야 프레임 전송과정에서 발생한 충돌을 감지할 수 있다.그러므로 만약 데이터의 크기가 46byte가 되지못한다면 0으로 나머지 빈자리를 채워 46byte를 만들어 주어야 한다. 이를 padding이라고 한다.

 

CheckSum(체크섬) (4byte)

 

프레임에 오류가 발생 여부를 수신호스트가 체크할 수 있도록 보내는 데이터이다. CRC 코드를 일반적으로 사용한다. 이는 Preamble, Start Delimiter, Checksum을 제외한 나머지 필드에 대한 CRC 코드이다.

 


참고자료

 

쉽게 배우는 데이터 통신과 컴퓨터 네트워크

저자 : 박기현

출판 : 한빛아카데미발매2016.12.26.

 

 

반응형