컴퓨터과학/0 +컴퓨터 네트워킹

[컴퓨터 네트워킹] 3-4) UDP 그리고 checksum

힘들면힘을내는쿼카 2021. 9. 8. 21:40
728x90
반응형

UDP란?

User Datagram Protocol의 약자 이다.

UDP의 특징은 다음과 같다.

  • No Frill, Bare bones
  • 최소한의 필요 기능만 수행 -> Simple (ip, port 지정)
  • 비연결형(Connectionless service)
    • 오류 검출 기능(재전송, 복구 없음)
    • 비신뢰성
  • Faster than TCP
  • DNS, SNMP(간이 망 관리 프로토콜: 네트워크 모니터링 목적으로 네트워크 관리에서 주로 사용)

 

UDP Segments 는 다음과 같다.

Length: header를 포함한 bytes

UDP Segment format

 

UDP의 오류검출 기능인 Checksum에 대해 알아보자

Checksum

  • Sender
    • 16bit 정수형
    • 전송 전 checksum에 0이 저장되어 있음
    • Source port, dest port, length, application data를 모두 더한 뒤 1의 보수를 취한 값을 checksum에 저장하여 Receiver에게 전송한다.
    • 1의 보수를 취하는 이유?
      • Receiver가 sender에게 보내주는 checksum값을 계산했을 때 모두 1이 나오도록 하기 위함.
  • Receiver
    • Source port, dest port, length, application data의 값을 더한 뒤 checksum값과 더한다.
    • 그 값을 checksum에 넣어서 전송함
    • Checksum이 1이 아니라면 전송과정에서 에러가 발생한 것.

e.g)

Checksum을 제외한 데이터를 더한 것이 1110인 경우

SenderReceiver에 보내는 checksum0001이다.(1의 보수 취함)

  1. 데이터 손실이 없을 경우
    • Receiver가 받은 데이터 값을 모두 더하면 1110이고 checksum(0001)과 더하면 1111이다.
  2. 데이터 손실 있는 경우
    • Receiver가 받은 데이터 값을 모두 더하면 1010이고 checksum(0001)과 더하면 1011이다.
728x90
반응형