반응형

UDP 체크섬

UDP 체크섬(UDP Checksum)은 user Datagram Protocol(UDP) 데이터 그램의 오류 검출을 위해 사용되는 메커니즘이다.

UDP는 TCP와는 다르게 데이터 전송시 신뢰성과 오류 복구 기능을 제공하지 않기 때문에, 데이터의 정확성을 보장하기 위해선 추가적인 매커니즘이 필요하다. 이러한 오류 검출을 위해  UDP 체크섬을 사용한다.

 

UDP 체크섬은 UDP 헤더와 데이터를 포함한 UDP 패킷의 오류를 검출 하는데 사용된다. UDP 패킷은 송신측에서 체크섬을 계산해 송신 데이터에 추가하고, 수신측에선 수신한 데이터를 이용해 체크섬을 다시 계산한다. 만약에 수신측에서 계산한 체크섬과 송신측에서 추가한 체크섬이 불일치 할 시 오류가 발생한 것으로 간주해 패킷을 폐기하거나 재전송을 요청한다.

반응형

UDP 체크섬은 오류 검출을 위해 간단한 계산으로 이루어지는데, 송신 데이터의 각 바이트를 16비트 단위로 묶어서 더하고 이를 1의 보수를 취해 체크섬을 생성한다. 수신 측에서도 같은 방식으로 계산해 체크섬을 비교한다.

 

UDP 체크섬은 데이터의 정확성을 검증하는데 물론 도움을 주지만, 검출만을 위한 메커니즘으로 오류를 복구하는 기능은 제공하지 않는다. 

 

GBN이란? 

GBN(Go-back-N)은 네트워크 통신에서 사용되는 오류 복구 기법 중 하나이다. 일방향 데이터 흐름(흐름 제어 방식)을 사용하여 손상된 프레임을 재전송 하는 방법이다. 

 일반적으로 비연결형 프로토콜인 UDP와 함께 사용된다. GBN은 간단하고 효율적인 방법으로 오류복구를 수행한다. 하지만 데이터 전송 순서를 보장하거나 중복된 프레임을 제거하진 않는다. 데이터 전송 순서와 중복성에 대한 보장이 필요한 애플리케이션에는 GBN 대신 SR(Selective Repeat-선택적 재전송)을 사용하는 것이 더 적절하다.

 

GBN의 동작 원리는 다음과 같다.

 1) 송신 측 : 데이터를 프레임 단위로 분할하여 전송하고 각 프레임에 일련번호를 부여한다. 이 일련번호는 송신 측에서 보낸 프레임들의 순서를 나타낸다. 송신 측은 일정 개수의 프레임을 빠르게 전송하고, 이후에 확인 응답(ACK)을 받을 때가지 대기한다.

 2) 수신 측 : 수신 측에선 정상적으로 도착한 프레임은 확인 응답(ACK)를 보내고, 손상된 프레임은 폐기한다. 수신 측은 마지막으로 올바르게 순신한 프레임의 일련번호를 기억하고 이후에 올바른 순서로 수신되지 않은 프레임들을 버퍼링한다.

 3) 손상된 프레임 처리 : 수신 측이 손상된 프레임을 수신했을 경우에 송신 측은 손상된 프레임 다음부터 데이터를 전송하고, 수신 측은 다시 올바른 순서로 프레임들을 수신하기 시작한다.

 

반응형

+ Recent posts