CS/NETWORK

프레임 오류제어

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

 

 

 

데이터 전송 과정 중 데이터는 분실이나 변형될 수 있다. 이런 오류가 발생했을 때, 네트워크는 어떤 반응을 할까?

 

데이터는 프레임 단위로 전송된다. 데이터를 수신한 호스트는 데이터에 오류가 없는지 검사한 후, 이상 여부를 송신호스트에 응답한다. 송신호스트는 수신호스트가 보낸 응답내용을 토대로 재전송 여부를 판단한다.

 

 

 

 

데이터는 전송되는 과정에서 스위치와 라우터 같은 여러 중개 호스트를 만난다. 오류가 많이 나던 옛날에는 중개 호스트를 거칠 때마다 프레임을 잘 받았는지 응답을 주고 받았다. 실제로 송신호스트에는 타임아웃기능이 있어, 일정시간동안 응답이 오지 않으면 오류가 발생했다고 판단하고 데이터 프레임을 재전송한다.

 

프레임 릴레이(Frame Relay)

 

하지만 이렇게 중개호스트마다 오류제어를 하고 송신호스트가 타임아웃기능을 동작시키는 것은 데이터 전송속도를 느리게 만든다. 그래서 등장한 기술이 프레임 릴레이(Frame Relay) 방식이다. 프레임 릴레이 방식은 중개호스트에서 오류제어를 하지 않는다. 일단 목적지인 수신호스트까지 모든 데이터 프레임을 보낸다. 그리고 수신 호스트에서 오류제어를 한다.

 

 

OSI 7계층 관점에서 보면, 스위치와 라우터는 2계층, 3계층 장비이다. 그러므로 2계층, 3계층은 오류제어를 하지 않는다. 물론 과거에는 2계층, 3계층도 오류제어를 했기에 2계층, 3계층 프로토콜에는 오류제어 기능이 있다. 그러나 사용하지 않는다. 그러므로 오류제어 기능은 4계층의 영역으로 넘어간다. 4계층은 송신호스트와 수신호스트 단 두 곳에만 있다. 이로써, 여러 호스트가 오류제어에 참여하는 것을 방지하여 데이터 전송속도를 증가 시킬 수 있다.

 

프레임 순서 번호 기능

 

프레임 릴레이 방식으로 모든 데이터 프레임을 수신호스트로 보내다보니, 수신호스트는 데이터 프레임을 관리할 필요가 있다. 수신호스트는 송신호스트로 긍정응답(ACK)이든 부정응답(NAK)을 보내야 한다. 하지만 응답프레임도 중간에 분실될 수 있다. 송신호스트는 타임아웃기능을 통해 응답을 기다린다. 시간 내에 응답이 오지 않으면 데이터를 재전송한다. 하지만 어떤 데이터 프레임을 보내야할까?

(*ACK : 프레임을 올바르게 수신했음을 회신, NAK : 프레임 재전송 요구)

 

프레임에 순서번호가 없으면 이런 문제가 발생한다. 현재 들어오지 않은 응답프레임이 어떤 프레임의 응답인지 알 수가 없다. 그러므로 프레임마다 순서번호를 부여하여 구분해야한다.

 

 

 

 

반응형