데이터 패킷(Packet)이란?
Packet은 package와 bucket의 합성어로 통신망을 통해 전송하기 쉽도록 자른 데이터의 전송 단위입니다.
데이터를 전송할 때 하나의 단위가 되어 전송되는 집합체를 뜻하는데 쉽게 말해서 우리가 인터넷을 이용해 주고받는 이메일, 채팅 메시지, 금융 거래 내용 등 다양한 데이터의 내용을 작은 단위로 쪼갠 데이터로 이해할 수 있습니다.
E-mail Data Packet은 다음과 같습니다.
Packet은 Header, Payload, Trailer로 이루어져 있는데
Header에는 수신처의 인터넷 주소와 순서 등 instruction이 포함되어 있고
Trailer(footer)에는 에러 정보가 기록되어 있습니다.
왜 이렇게 데이터를 잘게 쪼갤까요?
예를 들어 100MByte의 크기의 데이터를 전송하고자 할 때
이를 한꺼번에 1초에 1MByte 전송할 수 있는 회선에 보낸다면
받는 쪽에서는 대략 100초의 시간이 걸릴 겁니다.
이렇게 한꺼번에 보내는 경우
만약, 중간에 회선이 끊기거나
에러체크에 의해 잘못된 데이터가 중간에 1개만 끼었다는 것을 검출하게 되면 다시 처음부터 데이터를 받아야 할 겁니다.
그러면 다시 100초라는 시간이 소요됩니다.
반면에 데이터를 패킷단위로 잘게 쪼개어 보내는 경우
1MByte씩 (실제로는 훨씬 적습니다) 쪼갤 경우
100번의 과정을 나타내면
1번패킷전송-수신체크
2번패킷전송-수신체크
.......
100번패킷전송-수신체크-완료통보 라는 과정을 거쳐 통신이 이루어지는데
중간에 에러가 나더라도 해당하는 그 번호의 패킷만 재전송하면 되므로 훨씬 효율적입니다.
이러한 이유로 대부분의 데이터 통신에서는 데이터를 패킷단위로 쪼개어 서로 주고 받고 있습니다.
일반적으로 2계층으로 내려가기 전까지
3, 4계층의 데이터 단위를 패킷이라고 정의하고
1, 2 계층의 데이터 단위는 프레임이라고 지칭합니다.