최근 수정 시각 : 2026-08-03 23:28:27

패킷


파일:다른 뜻 아이콘.svg  
#!if 넘어옴1 != null
''''''{{{#!if 넘어옴2 == null
{{{#!if 넘어옴1[넘어옴1.length - 1] >= 0xAC00 && 넘어옴1[넘어옴1.length - 1] <= 0xD7A3
{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴1[넘어옴1.length - 1] < 0xAC00 || 넘어옴1[넘어옴1.length - 1] > 0xD7A3
은(는)}}}}}}{{{#!if 넘어옴2 != null
, ''''''{{{#!if 넘어옴3 == null
{{{#!if 넘어옴2[넘어옴2.length - 1] >= 0xAC00 && 넘어옴2[넘어옴2.length - 1] <= 0xD7A3
{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴2[넘어옴2.length - 1] < 0xAC00 || 넘어옴2[넘어옴2.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴3 != null
, ''''''{{{#!if 넘어옴4 == null
{{{#!if 넘어옴3[넘어옴3.length - 1] >= 0xAC00 && 넘어옴3[넘어옴3.length - 1] <= 0xD7A3
{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴3[넘어옴3.length - 1] < 0xAC00 || 넘어옴3[넘어옴3.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴4 != null
, ''''''{{{#!if 넘어옴5 == null
{{{#!if 넘어옴4[넘어옴4.length - 1] >= 0xAC00 && 넘어옴4[넘어옴4.length - 1] <= 0xD7A3
{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴4[넘어옴4.length - 1] < 0xAC00 || 넘어옴4[넘어옴4.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴5 != null
, ''''''{{{#!if 넘어옴6 == null
{{{#!if 넘어옴5[넘어옴5.length - 1] >= 0xAC00 && 넘어옴5[넘어옴5.length - 1] <= 0xD7A3
{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴5[넘어옴5.length - 1] < 0xAC00 || 넘어옴5[넘어옴5.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴6 != null
, ''''''{{{#!if 넘어옴7 == null
{{{#!if 넘어옴6[넘어옴6.length - 1] >= 0xAC00 && 넘어옴6[넘어옴6.length - 1] <= 0xD7A3
{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴6[넘어옴6.length - 1] < 0xAC00 || 넘어옴6[넘어옴6.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴7 != null
, ''''''{{{#!if 넘어옴8 == null
{{{#!if 넘어옴7[넘어옴7.length - 1] >= 0xAC00 && 넘어옴7[넘어옴7.length - 1] <= 0xD7A3
{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴7[넘어옴7.length - 1] < 0xAC00 || 넘어옴7[넘어옴7.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴8 != null
, ''''''{{{#!if 넘어옴9 == null
{{{#!if 넘어옴8[넘어옴8.length - 1] >= 0xAC00 && 넘어옴8[넘어옴8.length - 1] <= 0xD7A3
{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴8[넘어옴8.length - 1] < 0xAC00 || 넘어옴8[넘어옴8.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴9 != null
, ''''''{{{#!if 넘어옴10 == null
{{{#!if 넘어옴9[넘어옴9.length - 1] >= 0xAC00 && 넘어옴9[넘어옴9.length - 1] <= 0xD7A3
{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴9[넘어옴9.length - 1] < 0xAC00 || 넘어옴9[넘어옴9.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴10 != null
, ''''''{{{#!if 넘어옴10[넘어옴10.length - 1] >= 0xAC00 && 넘어옴10[넘어옴10.length - 1] <= 0xD7A3
{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴10[넘어옴10.length - 1] < 0xAC00 || 넘어옴10[넘어옴10.length - 1] > 0xD7A3
은(는)}}}}}} 여기로 연결됩니다. 
#!if 설명 == null && 리스트 == null
{{{#!if 설명1 == null
다른 뜻에 대한 내용은 아래 문서를}}}{{{#!if 설명1 != null
{{{#!html '코즈믹 브레이크 유니버설'의 등장 로봇}}}에 대한 내용은 [[패킷(코즈믹 시리즈)]] 문서{{{#!if (문단1 == null) == (앵커1 == null)
를}}}{{{#!if 문단1 != null & 앵커1 == null
의 [[패킷(코즈믹 시리즈)#s-|]]번 문단을}}}{{{#!if 문단1 == null & 앵커1 != null
의 [[패킷(코즈믹 시리즈)#|]] 부분을}}}}}}{{{#!if 설명2 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단2 == null) == (앵커2 == null)
를}}}{{{#!if 문단2 != null & 앵커2 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단2 == null & 앵커2 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명3 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단3 == null) == (앵커3 == null)
를}}}{{{#!if 문단3 != null & 앵커3 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단3 == null & 앵커3 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명4 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단4 == null) == (앵커4 == null)
를}}}{{{#!if 문단4 != null & 앵커4 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단4 == null & 앵커4 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명5 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단5 == null) == (앵커5 == null)
를}}}{{{#!if 문단5 != null & 앵커5 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단5 == null & 앵커5 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명6 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단6 == null) == (앵커6 == null)
를}}}{{{#!if 문단6 != null & 앵커6 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단6 == null & 앵커6 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명7 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단7 == null) == (앵커7 == null)
를}}}{{{#!if 문단7 != null & 앵커7 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단7 == null & 앵커7 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명8 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단8 == null) == (앵커8 == null)
를}}}{{{#!if 문단8 != null & 앵커8 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단8 == null & 앵커8 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명9 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단9 == null) == (앵커9 == null)
를}}}{{{#!if 문단9 != null & 앵커9 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단9 == null & 앵커9 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명10 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단10 == null) == (앵커10 == null)
를}}}{{{#!if 문단10 != null & 앵커10 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단10 == null & 앵커10 != null
의 [[#|]] 부분을}}}}}}
#!if 설명 == null
{{{#!if 리스트 != null
다른 뜻에 대한 내용은 아래 문서를}}} 참고하십시오.

#!if 리스트 != null
{{{#!if 문서명1 != null
 * {{{#!if 설명1 != null
'코즈믹 브레이크 유니버설'의 등장 로봇: }}}[[패킷(코즈믹 시리즈)]] {{{#!if 문단1 != null & 앵커1 == null
문서의 [[패킷(코즈믹 시리즈)#s-|]]번 문단}}}{{{#!if 문단1 == null & 앵커1 != null
문서의 [[패킷(코즈믹 시리즈)#|]] 부분}}}}}}{{{#!if 문서명2 != null
 * {{{#!if 설명2 != null
: }}}[[]] {{{#!if 문단2 != null & 앵커2 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단2 == null & 앵커2 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명3 != null
 * {{{#!if 설명3 != null
: }}}[[]] {{{#!if 문단3 != null & 앵커3 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단3 == null & 앵커3 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명4 != null
 * {{{#!if 설명4 != null
: }}}[[]] {{{#!if 문단4 != null & 앵커4 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단4 == null & 앵커4 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명5 != null
 * {{{#!if 설명5 != null
: }}}[[]] {{{#!if 문단5 != null & 앵커5 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단5 == null & 앵커5 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명6 != null
 * {{{#!if 설명6 != null
: }}}[[]] {{{#!if 문단6 != null & 앵커6 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단6 == null & 앵커6 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명7 != null
 * {{{#!if 설명7 != null
: }}}[[]] {{{#!if 문단7 != null & 앵커7 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단7 == null & 앵커7 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명8 != null
 * {{{#!if 설명8 != null
: }}}[[]] {{{#!if 문단8 != null & 앵커8 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단8 == null & 앵커8 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명9 != null
 * {{{#!if 설명9 != null
: }}}[[]] {{{#!if 문단9 != null & 앵커9 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단9 == null & 앵커9 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명10 != null
 * {{{#!if 설명10 != null
: }}}[[]] {{{#!if 문단10 != null & 앵커10 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단10 == null & 앵커10 != null
문서의 [[#|]] 부분}}}}}}

1. 개요2. 개념3. 특성
3.1. 장점3.2. 단점3.3. 구성

1. 개요

Packet

네트워크에서 데이터를 주고받을 때 사용되는 데이터 조각, 또는 그 용량 단위를 말한다. 패킷의 원래 의미인 묶음, 꾸러미에서 유래했다.

최소 사이즈는 64바이트, 최대 사이즈는 1,518바이트이다. 단, VLAN Tagging시 최소 사이즈는 68바이트, 최대 사이즈는 1,522바이트이므로 주의.

2. 개념

인터넷을 통해서 우리가 주고받는 데이터는 모두 패킷으로 전달되고 수신된다. 즉, 네트워크 데이터 전송에서 실제 교환되는 내용물은 패킷이다. 이메일을 보낼 때, 웹페이지에 접속할 때, 영상을 스트리밍할 때 등 데이터는 모두 패킷 단위로 데이터가 오고 간다.

이렇게 전체 데이터를 작은 블록의 패킷 단위로 분할하여 전송하며, 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 방법을 패킷 교환(Packet switching) 방식이라고 한다. 패킷 교환 방식에서 각 패킷은 독립적으로 경로를 선택[1][2]하고, 최종 목적지에서 다시 조립되어 원래의 데이터로 복원된다.
파일:Packet_Switching.gif
▲패킷 스위칭 방식의 데이터 전송

3. 특성

3.1. 장점

  • 효율성
    • (분할 전송) 대용량 데이터를 한 덩어리로 보낼 경우, 전송 경로에서 오류가 나면 전체를 다시 전송해야 한다. 하지만 패킷으로 분할하여 보낼 경우 문제가 생긴 일부 패킷만 재전송하면 되므로 훨씬 효율적이다. 중간에 분실한 패킷에 대해서는 그 부분만 다시 보내면 땡이기 때문에, 인터넷은 물론 허브 역시 패킷 방식을 사용한다.
    • (경로 분산) 인터넷에서는 여러 라우터와 회선을 거쳐서 데이터가 이동한다. 이때, 전체 데이터를 패킷 단위로 쪼개어 전송하면 각 패킷이 다른 경로를 통해 목적지에 도달할 수도 있어 네트워크 자원을 더 효율적으로 사용할 수 있다. 특정 네트워크에 부담이 되지 않도록 트래픽을 균일하게 분배할 수 있는 것이다. 만약 패킷 단위로 데이터를 쪼개지 않는다면 한 사람이 대량의 데이터를 전송하는 동안 다른 사람들은 그 네트워크를 사용할 수 없는 상황이 벌어진다.
      선이 끊기면 다 개박살 나는 서킷 방식과는 다르게 양측 단말의 길만 정해지면 언제든지 우회가 가능하다는 장점도 있다.
  • 안정성 또는 신뢰성
    • (에러 검출) 각 패킷의 트레일러에 오류 검출용 정보(체크섬 등)를 덧붙임으로써 손상된 패킷만 감지해서 버리고, 재전송을 요청할 수 있다.
    • (흐름 제어) 네트워크 장비나 수신 측의 처리 속도에 맞춰 패킷 단위로 전송의 속도를 조절할 수 있다. 따라서 과부하를 방지하면서도 안정적으로 데이터를 전송할 수 있다.
    • (보안) 분할의 특성 때문에 송수신자에 관한 정보가 아닌 내용 자체를 변조하는 것은 암호화까지 안 가고 압축만 이루어져도 불가능해지다시피 한다.
  • 확장성
    • (다중 사용자 환경) 패킷 스위칭 방식을 쓰면 여러 이용자의 데이터가 같은 네트워크 자원(회선)을 공유할 수 있다. 한 번에 여러 사람의 데이터가 섞여 전송되더라도 패킷의 출발지/목적지 정보(IP 주소 등)로 구분이 가능하기 때문이다.
    • (유연한 전송) 음성, 영상, 텍스트, 파일 등 다양한 형태의 데이터를 모두 패킷화해서 같은 네트워크 인프라로 다룰 수 있다.
    • (인터넷 규모 확장) 전 세계적으로 수십억 단말이 연결되는 환경에서도 패킷 기반 라우팅 덕분에 확장이 가능하다.

3.2. 단점

패킷이 전송한 순서대로 도착지에 도달한다는 보장이 없기에 패킷에 고유의 번호를 매겨야 하고, 이 순서를 양측이 동일하게 사용해야 한다는 단점이 있다. 이 때문에 이런 것들을 포함한 통신 규칙, 즉 프로토콜이 등장한 것. TCP/IP 등 신뢰성 기반의 프로토콜은 대부분 이러한 기능을 지니고 있다.

TLS 암호화 통신의 경우 패킷 단위로 암호화를 하기 때문에 용량이 원래 내용보다 더욱 커진다. 또한 고급 인터넷 공유기는 패킷을 큼직하게 할당하는 '점보 프레임' 기능을 쓸 수 있다. (점포 프레임을 사용 시 9,216 bytes까지 늘릴 수 있지만 목표 노드까지 네트워크 장비가 점포 프레임을 사용해야 하기 때문에 근거리 통신망구간이 아니라면 무의미하다.)

3.3. 구성

  • 헤더(Header): 패킷에 대한 메타정보가 담긴다. 패킷의 길이, 번호, 네트워크 프로토콜, 수신자 및 발신자의 IP 주소 등 데이터가 잘 전달되기 위해 필요한 정보가 있다. 사용하는 IP 버전에 따라 헤더 내용은 조금씩 바뀔 수 있다.
  • 페이로드(Payload): 수신자가 요청한 데이터이다. 이메일을 받는 수신자라면 이메일 본문 내용, 이미지를 클릭한 사용자라면 이미지 데이터가 이에 해당한다. Body라고도 한다.
  • 트레일러(Trailer): 패킷의 끝을 나타내기 때문에 여러 패킷의 경계를 뚜렷하게 알리는 역할을 한다. 오류 검출 역할을 하기도 하는데, 체크섬(Checksum) 또는 CRC(Cyclic Redundancy Check)와 같은 오류 검출 코드가 트레일러에 포함되어 있으면 전송 중에 데이터 손실과 같은 오류가 발생했는지 판단할 수 있다.

[1] 반대로, 통신을 시작하기 전에 고정된 경로를 설정하고, 통신이 끝날 때까지 경로를 독점적으로 사용하는 데이터 전송 방식을 회선 교환 방식(Circuit Switching)이라고 한다. 전화 통신이 대표적이다. 이러한 서킷 스위칭 방식은 자원이 낭비될 수 있다는 단점이 있다. 왜냐하면 전송데이터가 없더라도 전송채널이 유지되어야 하기 때문.[2] 패킷들은 각자 별개의 경로를 탈 수 있지만, 그럼에도 라우터는 동일 연결에 대해 가능한한 계속해서 동일 경로를 태우려고 시도한다. 만약 패킷 도착 순서가 매번 뒤죽박죽이면 받는 쪽에서 그걸 재조립하는 과정에서 필연적으로 속도 저하가 발생하기 때문이다. 이를 위해 출발지 IP, 목적지 IP, 출발지 포트, 도착지 포트번호를 모두 묶어서 해싱하고 이 해시값을 이용해 경로를 결정하는 방법이 쓰이는데, 이를 ECMP라고 한다. 물론 그렇다고 아무곳에나 패킷을 흩뿌리는 건 아니고, 목적지까지 도달하는 데 있어 동일 비용을 가진 여러 경로(Equal-Cost Multi-Path)가 있을 때 이 중 하나를 선택해야 하는 상황에 이런 방법을 사용한다. 그런데 이 ECMP 후보 목록 자체가 네트워크 상황에 따라 유동적으로 변할 수 있기 때문에 동일 연결에 대해 동일 경로가 항상 보장된 동작은 아니다.

분류