네트워크 패킷

패킷(packet, )은 패킷 교환 네트워크에 의해 운반되는 데이터의 형식화된 단위이다. 패킷은 제어 정보와 사용자 데이터로 구성되며, 후자는 페이로드라고도 한다. 제어 정보는 페이로드를 전달하기 위한 데이터(예: 송신지 및 수신지 네트워크 주소, 오류 검출 코드, 순서 지정 정보 등)를 제공한다. 일반적으로 제어 정보는 패킷 헤더와 트레일러에서 찾아볼 수 있다.

패킷 교환에서는 하나의 세션 동안 회선이 미리 할당되고 데이터가 일반적으로 연속적인 비트 스트림으로 전송되는 회선 교환과 대조적으로, 전송 매체의 대역폭이 여러 통신 세션 간에 공유된다.

 용어 
컴퓨터 망의 7계층 OSI 모형에서 패킷은 엄격하게 3계층인 네트워크 계층의 프로토콜 데이터 단위를 의미한다. 2계층인 데이터 링크 계층의 데이터 단위는 프레임이다. 4계층인 전송 계층에서 데이터 단위는 세그먼트와 데이터그램이다. 따라서 이더넷을 통한 TCP/IP 통신의 예를 들면, TCP 세그먼트는 하나 이상의 IP 패킷에 담겨 운반되며, 각 IP 패킷은 다시 하나 이상의 이더넷 프레임에 담겨 운반된다.

 구조 
패킷 개념의 기초는 우편 편지이다. 헤더는 봉투와 같고, 페이로드는 봉투 안의 전체 내용물이며, 푸터는 하단의 서명과 같다.

네트워크 디자인은 패킷을 사용하여 오류 검출과 다중 호스트 주소 지정이라는 두 가지 주요 결과를 얻을 수 있다.

 프레이밍 
통신 프로토콜은 패킷의 요소를 구분하고 사용자 데이터를 형식화하기 위해 다양한 관례를 사용한다. 예를 들어, 점대점 프로토콜에서 패킷은 8비트 바이트로 형식화되며 특수 문자를 사용하여 요소를 구분한다. 이더넷과 같은 다른 프로토콜은 패킷의 시작 부분을 기준으로 헤더와 데이터 요소의 위치를 정하여 시작점을 설정한다. 일부 프로토콜은 바이트 단위가 아닌 비트 수준에서 정보를 형식화한다.

 구성 요소 
패킷에는 다음과 같은 구성 요소들이 포함될 수 있다.

주소
네트워크 패킷의 라우팅에는 송신 호스트의 소스 주소와 수신 호스트의 목적지 주소라는 두 가지 네트워크 주소가 필요하다.

오류 검출 및 정정
오류 검출 정정은 프로토콜 스택의 다양한 계층에서 수행된다. 네트워크 패킷에는 전송 중에 발생하는 오류를 감지하기 위해 체크섬, 패리티 비트 또는 순환 중복 검사가 포함될 수 있다.

송신 측에서는 패킷을 보내기 전에 계산을 수행한다. 목적지에서 수신되면 체크섬을 재계산하여 패킷에 포함된 것과 비교한다. 불일치가 발견되면 패킷을 수정하거나 폐기할 수 있다. 이러한 폐기로 인한 모든 패킷 손실은 네트워크 프로토콜에 의해 처리된다.

경우에 따라 라우팅 중에 네트워크 패킷의 수정이 필요할 수 있으며, 이 경우 체크섬이 재계산된다.

홉 제한
결함 상태에서 패킷은 폐쇄 회로를 횡단하게 될 수 있다. 아무런 조치도 취하지 않으면 결국 순환하는 패킷의 수가 쌓여 네트워크가 고장 지점까지 혼잡해질 것이다. 타임 투 리브는 패킷이 네트워크 홉을 통과할 때마다 1씩 감소하는 필드이다. 필드가 0에 도달하면 라우팅이 실패한 것으로 간주되어 패킷이 폐기된다.

이더넷 패킷에는 타임 투 리브 필드가 없으므로 스위칭 루프가 발생할 경우 브로드캐스트 스톰의 영향을 받기 쉽다.

길이
전체 패킷 길이를 식별하는 필드가 있을 수 있다. 그러나 일부 유형의 네트워크에서는 전송 지속 시간에 의해 길이가 함축된다.

프로토콜 식별자
네트워크에서 여러 통신 프로토콜을 운반하는 것이 바람직한 경우가 많다. 프로토콜 식별자 필드는 패킷의 프로토콜을 지정하며 프로토콜 스택이 다양한 유형의 패킷을 처리할 수 있도록 한다.

우선순위
일부 네트워크는 특정 유형의 패킷을 다른 패킷보다 우선시할 수 있는 QoS를 구현한다. 이 필드는 어떤 패킷 대기열을 사용해야 하는지 나타낸다. 네트워크 혼잡이 발생하는 지점에서 높은 우선순위 대기열은 낮은 우선순위 대기열보다 더 빨리 비워진다.

페이로드
일반적으로 페이로드는 애플리케이션을 대신하여 운반되는 데이터이다. 대개 가변적인 길이를 가지며, 네트워크 프로토콜 및 때로는 경로상의 장비에 의해 설정된 최대치까지 가능하다. 필요한 경우 일부 네트워크는 큰 패킷을 더 작은 패킷으로 나눌 수 있다.

 예시 

 인터넷 프로토콜 
IP 패킷은 헤더와 페이로드로 구성된다. 헤더는 고정 필드와 선택적 필드로 구성된다. 페이로드는 헤더 바로 뒤에 나타난다. IP 패킷에는 트레일러가 없다. 그러나 IP 패킷은 종종 자체 헤더와 트레일러를 가진 이더넷 프레임 내부의 페이로드로 운반된다.

엔드 투 엔드 원칙에 따라, IP 네트워크는 패킷의 전달, 중복 방지 또는 순서대로의 전달을 보장하지 않는다. 그러나 이러한 보호를 제공하기 위해 패킷 서비스 위에 전송 제어 프로토콜과 같은 신뢰할 수 있는 전송 프로토콜을 계층화하는 것이 일반적이다.

 NASA 심우주 통신망 
우주 데이터 시스템 자문 위원회(CCSDS) 패킷 텔레메트리 표준은 심우주 채널을 통한 우주선 기기 데이터 전송에 사용되는 프로토콜을 정의한다. 이 표준에 따라 우주선 기기에서 보낸 이미지나 기타 데이터는 하나 이상의 패킷을 사용하여 전송된다.

 MPEG 패킷화 스트림 
패킷화된 기본 스트림(PES)은 MPEG-2 표준과 관련된 사양으로, 기본 스트림을 패킷으로 나눌 수 있게 해준다. 기본 스트림은 PES 패킷 헤더 사이에 기본 스트림의 순차적 데이터 바이트를 캡슐화하여 패킷화된다.

비디오 또는 오디오 인코더에서 기본 스트림 데이터를 전송하는 전형적인 방법은 먼저 기본 스트림 데이터로 PES 패킷을 만든 다음, 이 PES 패킷을 MPEG 트랜스포트 스트림(TS) 패킷 또는 MPEG 프로그램 스트림(PS) 내부에 캡슐화하는 것이다. 그런 다음 TS 패킷은 ATSC 및 DVB에서 사용되는 것과 같은 방송 기술을 사용하여 전송될 수 있다.

 NICAM 
모노 호환성을 제공하기 위해, NICAM 신호는 사운드 반송파와 함께 부반송파로 전송된다. 이는 FM 또는 AM 일반 모노 사운드 반송파가 모노 수신기에 의해 수신되도록 그대로 유지됨을 의미한다. NICAM 패킷(헤더 제외)은 전송 전에 9비트 의사 난수 비트 생성기로 스크램블된다. NICAM 비트스트림을 백색 잡음처럼 보이게 만드는 것은 인접한 TV 채널의 신호 패턴화를 줄여주기 때문에 중요하다.

 예: IP 패킷 
IP 패킷은 헤더와 페이로드로 이루어진다. IPv4 패킷 헤더는 다음으로 구성된다:RFC 791

{| class="wikitable"
|+
|-
| style="background-color:#EEE" |00
| style="background-color:#EEE" |01
| style="background-color:#EEE" |02
| style="background-color:#EEE" |03
| style="background-color:#EEE" |04
| style="background-color:#EEE" |05
| style="background-color:#EEE" |06
| style="background-color:#EEE" |07
| style="background-color:#EEE" |08
| style="background-color:#EEE" |09
| style="background-color:#EEE" |10
| style="background-color:#EEE" |11
| style="background-color:#EEE" |12
| style="background-color:#EEE" |13
| style="background-color:#EEE" |14
| style="background-color:#EEE" |15
| style="background-color:#EEE" |16
| style="background-color:#EEE" |17
| style="background-color:#EEE" |18
| style="background-color:#EEE" |19
| style="background-color:#EEE" |20
| style="background-color:#EEE" |21
| style="background-color:#EEE" |22
| style="background-color:#EEE" |23
| style="background-color:#EEE" |24
| style="background-color:#EEE" |25
| style="background-color:#EEE" |26
| style="background-color:#EEE" |27
| style="background-color:#EEE" |28
| style="background-color:#EEE" |29
| style="background-color:#EEE" |30
| style="background-color:#EEE" |31
|(비트 위치)
|- style="text-align:center"
| colspan="4" style="text-align:center;background-color:#FCF" |버전
| colspan="4" style="text-align:center;background-color:#CCF" |IHL
| colspan="8" style="text-align:center;background-color:#FDA" |QoS
| colspan="16" style="text-align:center;background-color:#ACF" |길이
| 
|- style="text-align:center"
| colspan="16" style="text-align:center;background-color:#EEC" | 식별
| colspan="1" style="text-align:center;background-color:#BDF" |  0 
| colspan="1" style="text-align:center;background-color:#BDF" |DF
| colspan="1" style="text-align:center;background-color:#BDF" |MF
| colspan="13" style="text-align:center;background-color:#CFD" |프레그먼트 오프셋(Fragment Offset)
| 
|- style="text-align:center"
| colspan="8" style="text-align:center;background-color:#FCC" |TTL
| colspan="8" style="text-align:center;background-color:#DDF" |프로토콜
| colspan="16" style="text-align:center;background-color:#FCE" |체크섬
| 
|- style="text-align:center"
| colspan="32" style="text-align:center;background-color:#CFC" |원본 IP
| 
|- style="text-align:center"
| colspan="32" style="text-align:center;background-color:#FEC" |도착 IP
| 
|}

 같이 보기 
 패킷 교환
 패킷 스니퍼
 패킷 생성기
 통신 공학
 APDU
 TCP 세그먼트

 각주 


분류:정보의 단위
분류:통신