🖥️CS/🛜네트워크

[Network] - 패킷(Packet)의 정의와 구조

KangManJoo 2024. 2. 23. 14:53

패킷이란?

Package + Bucket

패킷은 pack과 bucket을 합친 말로, 우체국에서는 화물을 적당한 크기로 나눠 행선지를 표시하는 꼬리표를 붙이는데, 이러한 방식을 데이터 통신에 접목한 것이다.

쉽게 말해 컴퓨터 간 데이터를 주고받을 때 패킷은 네트워크를 통해 전송되는 일종의 데이터 조각이라고 생각할 수 있다. 그리고 컴퓨터 네트워크에서 이는 정해진 규칙으로서 작동한다.

데이터를 패킷으로 쪼개서 보내는 이유:

큰 데이터를 한번에 보내면, 많은 대역폭을 차지해 흐름을 원활하게 하지 못한다. 따라서 트래픽이 많아지게 된다.

큰 데이터를 보내는 방식

큰 데이터를 보낼때, 이는 작은 패킷들로 분할된다. 그리고 작은 패킷들로 분할된 데이터는 전달 시에 번호를 붙여서 전달이 된다.

수신자는 이 번호를 순서대로 나열해 기존 데이터를 온전히 확인할 수 있다.

패킷의 구조

패킷은 크게 헤더, 페이로드, 트레일러의 세 부분으로 구성된다.

헤더

각 패킷에는 두개의 식별 번호가 있는데,

첫 번째는 정보 조각이 분할된 패킷 수를 나타내고,

두 번째는 완전한 정보의 일부로서 개별 패킷의 위치를 나타낸다.

  • 소스 주소 : 패킷을 네트워크로 보내는 장치의 IP 주소
  • 대상 주소 : 패킷이 목표로하는 IP 주소
  • 버전 : 사용중인 IP 버전을 식별
  • TTL : 패킷이 네트워크에 남아있을 수 있는 생존시간, 패킷을 처리하는 각 라우터가 카운트를 하나 이상 감소 시킨다.
  • 프로토콜 : TCP or UDP , IP 패킷의 데이터 부분이 전달되는 전송 계층 프로토콜.
  • 헤더 체크섬 : 헤더가 전송중 변조되거나 파손되는 경우를 확인하는데 사용

페이로드 (데이터)

패킷에 의해 전송되는 실제 데이터.

헤더 정보는 목적지에 도달할 때 패킷에서 제거되므로, 소스 및 목적지에서 수신하는 유일한 데이터다.

트레일러

패킷 트레일러에는 일반적으로 수신 장치에 패킷 끝까지 도달했음을 알리는 몇 비트와 컴퓨터가 모든 패킷이 수신되었는지 확인할 수 있는 CRC가 포함되어있다.