패킷이란 네트워크에서 데이터를 주고받을 때 사용되는 데이터 조각을 말합니다.
패킷은 헤더, 페이로드, 트레일러로 구성되어 있습니다. 수신자가 요청한 데이터뿐만 아니라 데이터가 잘 도착하기 위해 필요한 IP 주소, 패킷의 개수, 인터넷 프로토콜 등 다양한 정보도 같이 있습니다. 이런 정보가 있어야 패킷으로 나뉜 데이터를 수신자가 다시 합칠 수 있습니다.

패킷이란?

패킷이란 네트워크에서 데이터를 주고받을 때 사용되는 데이터 조각을 말한다.

구성

헤더, 페이로드, 트레일러로 구성되어 있다.

  • 헤더: 패킷에 대한 메타정보 (패킷 길이와 번호, 네트워크 프로토콜, 수신자 및 발신자의 IP 주소)
  • 페이로드: 수신자가 요청한 데이터
  • 트레일러: 패킷의 경계를 표현하는 역할

사용 목적

데이터를 통째로 송수신하지 않고 번거롭게 나누었다가 다시 합치는 이유는 다음과 같다.

  • 오류 발생시 재전송 과정에서 자원을 최소화할 수 있다.
  • 데이터를 여러 서버로 분산시켜 네트워크 부담을 줄일 수 있다.
  • 서버에서 데이터를 전송시 병렬로 처리할 때 용이하다.

근데 왜 데이터를 통째로 보내지 않고 번거롭게 나누었다가 다시 합칠까요?

먼저 데이터를 하나로 보내면 여러 문제가 일어날 수 있어요. 만약에 전송 과정에서 오류가 일어나면 전체 데이터가 손실될 위험이 있어요. 그리고 손실의 경우 전체 데이터를 다시 전송해야 되기 때문에 시간이 오래 소요되고 네트워크 자원이 낭비됩니다. 또 대용량 데이터를 전송하려면 네트워크가 혼잡해지고 네트워크를 사용하는 모든 사용자의 속도가 저하될 수 있습니다.

반면 데이터를 작은 용량의 패킷으로 나누어 발송하면 패킷을 여러 서버로 분산시킬 수 있죠. 특정 네트워크에 부담이 되지 않고 트래픽을 균일하게 분배할 수 있어요. 여러 서버를 사용하기 때문에 데이터 전송을 병렬로 처리하기도 용이합니다. 데이터 전송 시간을 줄이고 사용자에게 좋은 경험을 제공할 수 있죠. 그리고 만약에 발송 중에 특정 패킷의 데이터가 손실되어도 해당 패킷의 데이터만 재전송하면 되기 때문에 효율적이에요.

https://docs.tosspayments.com/resources/glossary/packet

출처 및 참고자료

패킷(Packet) | 토스페이먼츠 개발자센터패킷(Packet)이란 네트워크에서 데이터를 주고받을 때 사용되는 데이터 조각을 뜻해요.docs.tosspayments.com