지식 정리
패킷 (Packet) 이란?
Hyeongjun_Ham
2024. 1. 5. 16:03
패킷 (Packet) 이란?
패킷이란 네트워크에서 출발지와 목적지간에 라우팅 되는 데이터의 단위이다.
즉, 정보를 보낼 때 특정 형태로 맞추어 보내 전송되는 데이터 조각이다.
- 패킷을 사용하는 이유는?
이론상, 데이터를 작은 정보 패킷으로 자르지 않고 한 번에 보낼 수 있다.
그러나 한번에 보내게 되면 네트워크의 대역폭을 많이 점유하게 된다.
그로 인해 다른 패킷의 흐름을 막을 위험이 있다.
패킷이 전송될 때 네트워크가 지연되어 늦게 도착하거나 패킷이 누락되기도 하는데, 목적지에 패킷이 도달할 때 이런 이유로 순서 없이 제각각 도착하게 된다.
그래서 패킷을 보내는 측에서는 패킷에 순서대로 번호를 붙여서 보내게 된다.
패킷을 받는 측에서는 패킷을 받은 후 번호에 맞춰 정렬하면 데이터를 원래대로 복구할 수 있다.
- 패킷의 구조
패킷은 헤더, 페이로드, 트레일러 세 가지로 구성되어 있다.
그럼 헤더, 페이로드, 트레일러를 살펴보자.
* 헤더는 패킷의 주소 등 주요 제어 정보들이 포함되는 것이 일반적이다.
- 소스 주소 : 패킷을 네트워크로 보내는 장치의 IP주소
- 대상 주소 : 패킷이 전송되는 IP주소
- 버전 : 사용되는 IP버전을 식별하는데 사용 (ex. IPv4)
- TTL(Time to Live) : 패킷이 네트워크에 남아있을 수 있는 생존시간으로 이 패킷을 처리하는 각 라우터가 카운트를 하나 이상 감소시킨다.
- 프로토콜 : IP 패킷의 데이터 부분이 전달되는 전송 계층 프로토콜. ex. TCP, UDP
- 헤더 체크섬 : 헤더가 전송되는 도중 변조되거나 깨지는 경우를 확인하기 위해 사용
* 페이로드에는 내용/데이터가 담겨있다.
* 트레일러에는 패킷 에러 검출 등에 사용된다.(트레일러가 없는 경우도 있다.)
출처 : https://devmoony.tistory.com/183
[네트워크] 패킷(packet)이란 무엇인가?
패킷(packet) 이란 무엇인가? 개발자를 하면서 한번쯤 들어본 패킷(packet), 이것을 떠올렸을 때 어렴풋이 추상화된 이미지로밖에 그려지지 않아 이번기회에 머릿속에 정확히 정의하고자 패킷(packet)
devmoony.tistory.com
위키백과