문서의 각 단락이 어느 리비전에서 마지막으로 수정되었는지 확인할 수 있습니다. 왼쪽의 정보 칩을 통해 작성자와 수정 시점을 파악하세요.

패킷 (컴퓨팅) | |
정의 | 네트워크를 통해 전송되는 데이터의 기본 단위 |
주요 구성 요소 | 헤더 페이로드 푸터 |
주요 용도 | 네트워크 통신 데이터 전송 |
관련 분야 | 컴퓨터 네트워킹 데이터 통신 |
관련 프로토콜 | TCP/IP |
상세 정보 | |
헤더 | 발신지 및 목적지 주소 오류 감지 코드 프로토콜 정보와 같은 제어 정보를 포함 |
페이로드 | 실제 전송되는 사용자 데이터 |
푸터 | 데이터의 끝을 표시하고 오류 감지 정보를 포함할 수 있음 |

패킷은 네트워크를 통해 전송되는 데이터의 기본 단위이다. 컴퓨터 네트워킹과 데이터 통신에서 정보를 효율적으로 주고받기 위해 사용되는 핵심 개념이다. 대용량의 데이터는 그대로 전송하기보다 작은 크기의 패킷으로 분할되어 각각 독립적으로 전송된다.
패킷은 일반적으로 헤더, 페이로드, 푸터라는 세 가지 주요 구성 요소로 이루어진다. 헤더에는 패킷의 출발지와 목적지 주소, 순서 번호, 오류 검출 코드 등 전송에 필요한 제어 정보가 담겨 있다. 페이로드는 실제 사용자가 전송하려는 데이터의 본문 부분이다. 푸터는 패킷의 끝을 표시하거나 추가적인 오류 검증 정보를 포함하는 경우가 많다.
이러한 패킷 기반의 통신 방식은 TCP/IP와 같은 주요 네트워크 프로토콜의 근간을 이룬다. 패킷화를 통해 네트워크 자원을 여러 사용자가 공유하며 안정적으로 데이터를 전송할 수 있다. 각 패킷은 최적의 경로를 통해 독립적으로 전달될 수 있으며, 목적지에서는 원본 데이터의 순서대로 재조립된다.
패킷 스위칭 네트워크에서의 데이터 전송은 이 방식에 의존하며, 현대의 인터넷, 이더넷, 무선 통신 등 거의 모든 형태의 디지털 통신이 패킷을 기본 단위로 사용한다.

헤더는 패킷의 가장 앞부분에 위치하는 제어 정보 영역이다. 이 영역에는 패킷이 올바른 목적지에 도달하고 정확하게 처리되도록 하는 데 필요한 다양한 메타데이터가 포함된다. 헤더의 구체적인 내용과 구조는 사용되는 네트워크 프로토콜에 따라 달라지며, TCP/IP 모델의 각 계층마다 고유한 헤더가 추가된다.
일반적으로 헤더에는 출발지 주소와 목적지 주소, 패킷의 순서를 식별하는 시퀀스 번호, 데이터 무결성을 확인하는 체크섬, 그리고 사용된 프로토콜의 종류와 같은 정보가 담긴다. 예를 들어, 이더넷 프레임의 헤더에는 MAC 주소가, IP 패킷의 헤더에는 IP 주소가 명시된다. 이러한 정보는 네트워크의 라우터와 스위치가 패킷을 전달할 때 경로를 결정하는 데 사용된다.
헤더의 크기는 고정적이거나 가변적일 수 있으며, 프로토콜에 따라 정의된다. 헤더는 순수한 사용자 데이터인 페이로드와 구분되며, 통신의 부가적인 오버헤드를 구성한다. 효율적인 네트워크 통신을 위해서는 필요한 정보를 담으면서도 헤더의 크기를 최소화하는 것이 중요하다.
페이로드는 패킷의 핵심 부분으로, 실제로 전송하려는 사용자 데이터나 메시지가 담기는 영역이다. 헤더와 트레일러(푸터)가 전송을 위한 제어 정보와 오류 검출 코드 등을 담는 반면, 페이로드는 통신의 궁극적인 목적인 데이터 자체를 포함한다. 예를 들어, 웹 브라우저가 웹 서버에서 HTML 문서를 요청할 때, 서버가 보내는 패킷의 페이로드에는 해당 HTML 코드가 담기게 된다. 페이로드는 프로토콜에 따라 가변적인 길이를 가질 수 있으며, 경우에 따라 아무 데이터도 포함하지 않는 빈 페이로드도 존재할 수 있다.
페이로드의 내용과 구조는 상위 계층의 애플리케이션이나 프로토콜에 의해 결정된다. TCP나 UDP와 같은 전송 계층 프로토콜의 세그먼트나 데이터그램 자체가 IP 패킷의 페이로드가 되고, 이 IP 패킷은 다시 이더넷 프레임의 페이로드로 캡슐화된다. 이처럼 네트워크 계층 구조에서 하위 계층은 상위 계층의 패킷을 자신의 페이로드로 삼아 전송하는 캡슐화 과정을 거친다. 페이로드는 최종 수신지에서 헤더 정보를 기반으로 패킷들이 올바른 순서로 재조립된 후, 상위 계층으로 전달되어 해석되고 처리된다.
페이로드의 크기는 네트워크 효율성과 관련이 있다. 너무 작은 페이로드는 헤더 오버헤드를 상대적으로 증가시켜 대역폭을 낭비할 수 있으며, 너무 큰 페이로드는 패킷 손실이 발생했을 때 재전송 비용이 커지고 지연을 유발할 수 있다. 따라서 MTU와 같은 네트워크의 최대 전송 단위를 고려하여 적절한 크기로 데이터를 분할하는 패킷화 과정이 필요하다. 페이로드는 사용자 데이터 그 자체이기 때문에, 암호화 기술은 주로 페이로드를 보호하여 기밀성을 유지하는 데 적용된다.
트레일러는 패킷의 마지막 부분을 구성하며, 푸터라고도 불린다. 이 부분은 헤더와 페이로드 뒤에 위치하여 패킷의 전송을 마무리하는 역할을 한다. 트레일러의 주요 기능은 데이터의 무결성을 검증하는 것이다. 즉, 패킷이 전송 과정에서 오류 없이 도착했는지를 확인하기 위한 정보를 담고 있다.
가장 일반적인 트레일러는 순환 중복 검사 값을 포함한다. 이는 패킷의 헤더와 페이로드를 기반으로 계산된 체크섬으로, 수신 측에서 동일한 계산을 수행하여 값을 비교함으로써 데이터 손상 여부를 판단한다. 또한, 일부 프로토콜에서는 트레일러에 프레임 종료를 알리는 플래그나 흐름 제어 정보를 포함하기도 한다.
트레일러는 모든 패킷에 존재하는 것은 아니다. 예를 들어, 이더넷 프레임에는 트레일러가 포함되지만, IP 패킷 자체에는 트레일러가 없고, 상위 계층인 TCP 세그먼트나 UDP 데이터그램에서 오류 검출을 처리한다. 이처럼 트레일러의 사용 여부와 그 구조는 사용되는 특정 네트워크 프로토콜이나 데이터 링크 계층 기술에 따라 달라진다.

패킷화는 네트워크를 통해 전송할 대용량의 데이터를 작은 조각으로 나누는 과정이다. 이 과정은 컴퓨터 네트워크에서 데이터를 효율적으로 전송하기 위한 핵심적인 절차이다. 원본 데이터는 전송 계층이나 네트워크 계층에서 프로토콜에 정의된 최대 전송 단위 크기에 맞게 여러 개의 패킷으로 분할된다. 각 패킷은 독립적인 전송 단위가 되어 라우터와 스위치를 거쳐 목적지로 전달된다.
패킷화의 주요 목적은 네트워크 자원의 공정한 공유와 전송 효율성 향상이다. 하나의 큰 데이터 덩어리가 네트워크를 장시간 점유하는 것을 방지하여, 인터넷과 같은 공유 매체에서 여러 사용자의 통신이 동시에 원활하게 이루어질 수 있도록 한다. 또한, 전송 중 오류가 발생했을 때 전체 데이터를 다시 보내지 않고 문제가 된 특정 패킷만 재전송할 수 있어 신뢰성과 효율성을 높인다.
분할된 각 패킷에는 원본 데이터의 일부인 페이로드와 함께, 출발지와 목적지 주소, 순서 번호, 오류 검출 코드 등의 제어 정보를 담은 헤더가 추가된다. 이 헤더 정보는 패킷이 올바른 경로를 통해 전송되고, 목적지에서 원래의 데이터 순서대로 재조립될 수 있도록 돕는다. TCP와 같은 프로토콜은 신뢰성 있는 전송을 위해 이 과정을 관리한다.
패킷화는 패킷 교환 네트워크의 기본 원리이며, 현대의 대부분의 데이터 통신이 이 방식을 기반으로 한다. 이 방식을 통해 네트워크 대역폭을 유연하게 활용하고, 장애 발생 시 대체 경로를 통해 데이터를 전송하는 라우팅이 가능해진다.
패킷의 전송은 네트워크를 통해 데이터를 이동시키는 핵심 과정이다. 전송은 단순히 패킷을 보내는 것을 넘어, 라우팅과 스위칭을 통해 목적지까지의 최적 경로를 결정하고 패킷을 중계하는 복잡한 절차를 포함한다. 라우터와 스위치 같은 네트워크 장비들은 패킷의 헤더에 포함된 주소 정보를 읽고, 미리 정의된 라우팅 테이블이나 스위칭 테이블을 참조하여 패킷을 다음 홉으로 전달한다. 이 과정에서 패킷은 여러 중간 노드를 거치며 최종 수신자에게 도달한다.
패킷 전송 방식은 사용되는 프로토콜에 따라 크게 두 가지로 구분된다. TCP와 같은 연결 지향적 프로토콜에서는 전송 전에 3방향 핸드셰이크를 통해 논리적 연결을 수립하고, 패킷의 순서와 손실을 확인하며 흐름 제어와 혼잡 제어를 수행한다. 반면, UDP와 같은 비연결형 프로토콜은 이러한 사전 연결 설정이나 확인 절차 없이 패킷을 전송한다. 이는 더 빠른 전송 속도를 제공하지만, 패킷 손실이나 순서 뒤바뀜에 대한 책임은 상위 계층의 응용 프로그램에 맡긴다.
패킷이 네트워크를 이동하는 동안 다양한 문제가 발생할 수 있다. 네트워크 혼잡으로 인해 패킷이 지연되거나 폐기될 수 있으며, 오류 검출 코드(CRC)를 통해 데이터 무결성이 훼손되었는지 확인한다. TCP는 이러한 문제를 해결하기 위해 재전송 메커니즘을 사용한다. 수신 측에서 누락된 패킷을 확인하면 송신 측에 ACK 패킷을 보내지 않고, 이를 감지한 송신 측이 해당 패킷을 다시 보내 신뢰성을 보장한다.
전송 과정은 LAN과 같은 소규모 네트워크부터 인터넷 전체를 아우르는 광범위한 WAN에 이르기까지 다양한 규모에서 동일한 기본 원리로 작동한다. 패킷 기반 전송은 네트워크 대역폭을 효율적으로 공유하고, 장애 발생 시 대체 경로를 통해 통신을 지속할 수 있는 내결함성을 제공하는 현대 데이터 통신의 근간이 된다.
재조립은 분할되어 전송된 패킷들을 원래의 데이터 형태로 복원하는 과정이다. 패킷 기반 네트워크에서는 대용량 데이터를 여러 개의 작은 패킷으로 나누어 전송하는데, 이러한 패킷들은 각각 독립적으로 경로를 선택하여 목적지에 도착할 수 있다. 이 과정에서 패킷마다 다른 지연 시간이 발생하거나, 심지어 전송 순서가 뒤바뀌어 도착하는 경우가 흔하다. 수신 측에서는 패킷의 헤더에 포함된 시퀀스 번호나 오프셋 정보와 같은 제어 데이터를 활용하여 패킷들의 올바른 순서를 파악하고, 이를 바탕으로 원본 데이터 스트림을 재구성한다.
재조립 과정은 사용되는 프로토콜에 따라 그 방식이 달라진다. TCP와 같은 연결 지향적 프로토콜은 신뢰성 있는 전송을 보장하기 위해 엄격한 재조립 메커니즘을 사용한다. 각 패킷에는 고유한 시퀀스 번호가 부여되어 있어, 수신 측은 이 번호를 기준으로 패킷을 정렬하고 누락된 패킷이 있는지 확인한다. 누락이 발견되면 재전송을 요청하여 데이터의 완전한 수신을 보장한다. 반면, UDP와 같은 비연결형 프로토콜은 기본적으로 재조립 기능을 제공하지 않거나 매우 단순한 형태로만 제공한다. 따라서 애플리케이션 레벨에서 필요 시 패킷의 순서를 확인하고 재조립하는 로직을 직접 구현해야 한다.
재조립의 성능과 효율성은 네트워크의 품질과 직접적인 연관이 있다. 패킷 손실, 지연, 지터가 심한 네트워크 환경에서는 재조립을 위한 대기 시간이 길어지고, 재전송 요청이 빈번하게 발생하여 전체 처리량이 저하될 수 있다. 또한, 악의적인 공격자는 조작된 패킷 시퀀스 번호를 보내거나, 재조립 버퍼를 과도하게 소비하는 공격을 통해 서비스 거부 상태를 유발할 수도 있다. 따라서 네트워크 장비와 운영체제는 효율적인 재조립 알고리즘과 버퍼 관리 정책을 구현하여 이러한 문제를 최소화한다.

TCP/IP는 인터넷과 대부분의 사설 컴퓨터 네트워크에서 데이터 통신의 기반이 되는 프로토콜 스위트이다. 이는 패킷 교환 네트워크 상에서의 통신을 가능하게 하는 핵심적인 규칙의 집합체이다. TCP/IP는 전송 제어 프로토콜과 인터넷 프로토콜이라는 두 가지 주요 프로토콜의 이름을 따서 명명되었으며, 이 둘은 각각 데이터 전송의 신뢰성과 네트워크 간의 주소 지정 및 경로 지정을 담당한다.
TCP/IP 모델은 일반적으로 애플리케이션 계층, 전송 계층, 인터넷 계층, 네트워크 접속 계층의 네 계층으로 구성된다. 패킷은 이 계층 구조를 따라 전송되며, 각 계층에서 필요한 정보가 헤더 형태로 추가되어 캡슐화된다. 예를 들어, 인터넷 프로토콜 계층에서는 IP 주소를 포함한 IP 헤더가, 전송 제어 프로토콜 계층에서는 포트 번호와 같은 정보를 담은 TCP 헤더가 패킷에 추가된다.
이 프로토콜 스위트의 핵심 작동 방식은 데이터를 패킷으로 분할하여 전송하는 것이다. TCP는 신뢰성 있는 연결 지향 통신을 제공하여 패킷의 순서와 무결성을 보장하며, 손실된 패킷의 재전송을 관리한다. 반면, IP는 각 패킷에 출발지와 목적지 주소를 부여하고, 이를 기반으로 라우터를 통해 최적의 경로로 패킷을 전달하는 비연결형 서비스를 제공한다.
TCP/IP는 이더넷, Wi-Fi와 같은 다양한 물리적 네트워크 기술 위에서 동작할 수 있도록 설계되어 있으며, HTTP, FTP, SMTP와 같은 수많은 고수준 애플리케이션 프로토콜이 이 기반 위에서 구축된다. 이로 인해 TCP/IP는 현대 데이터 통신의 사실상의 표준으로 자리 잡았으며, 인터넷 프로토콜의 현재 버전인 IPv4와 IPv6가 그 중심에 있다.
UDP(User Datagram Protocol)는 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로, 전송 계층에서 동작한다. TCP(Transmission Control Protocol)와 달리 연결 설정 과정 없이 데이터를 전송하는 비연결형 프로토콜이다. 또한 데이터 전송의 신뢰성을 보장하지 않으며, 흐름 제어나 혼잡 제어 같은 메커니즘을 제공하지 않는다. 이로 인해 패킷의 순서가 뒤바뀌거나, 손실되거나, 중복되어 도착할 수 있다.
UDP의 이러한 단순한 구조는 낮은 지연 시간과 오버헤드를 가지는 장점으로 이어진다. 헤더는 출발지 포트, 목적지 포트, 길이, 체크섬으로만 구성되어 매우 가볍다. 따라서 속도와 실시간성이 중요한 응용 프로그램에서 널리 사용된다. 대표적인 예로 DNS(도메인 이름 시스템) 쿼리, VoIP(음성 over IP), 실시간 스트리밍, 온라인 게임 등이 있다.
UDP는 신뢰성보다는 빠른 전송이 우선시되는 환경에 적합하다. 예를 들어, 실시간 통신에서는 약간의 데이터 손실이 전체적인 통화나 영상 품질에 미치는 영향이 작으며, 재전송을 기다리는 지연이 더 큰 문제가 될 수 있다. 또한 브로드캐스트나 멀티캐스트와 같은 일대다 통신에서도 효율적으로 사용된다.
애플리케이션 수준에서 신뢰성이 필요한 경우, 개발자가 직접 타임아웃, 재전송, 순서 확인 등의 메커니즘을 구현하여 UDP 위에 구축할 수 있다. 이는 프로토콜 자체의 복잡성을 줄이면서도 특정 응용 프로그램의 요구사항에 맞춘 유연한 통신 방식을 가능하게 한다.
이더넷은 로컬 영역 네트워크에서 가장 널리 사용되는 유선 네트워크 기술 표준이다. 패킷 기반 통신을 위한 물리적 계층과 데이터 링크 계층의 사양을 정의하며, 네트워크 스위치나 허브를 통해 컴퓨터와 서버를 연결한다. 이더넷은 TCP/IP와 같은 상위 계층 프로토콜이 동작하는 기반 인프라를 제공하는 핵심 기술이다.
이더넷은 프레임이라는 특정 형식의 패킷을 사용하여 데이터를 전송한다. 이더넷 프레임은 수신자와 발신자의 MAC 주소를 포함하는 헤더, 전송되는 실제 데이터인 페이로드, 그리고 데이터 무결성을 검사하기 위한 FCS로 구성된 트레일러로 이루어져 있다. 이더넷 네트워크 상의 각 장치는 고유한 MAC 주소를 가지며, 이를 통해 정확한 목적지로 프레임이 전달된다.
초기에는 동축 케이블을 사용했으나, 현재는 트위스티드 페어 케이블과 광섬유가 주로 사용된다. 속도 역시 초기 10 Mbps에서 기가비트 이더넷 및 10기가비트 이더넷으로 진화하며 대역폭이 크게 향상되었다. 이더넷의 표준화와 높은 호환성은 기업, 가정, 데이터 센터를 막론하고 전 세계 유선 LAN 환경의 사실상 표준으로 자리 잡게 했다.

패킷 교환 방식의 가장 큰 장점은 네트워크 자원의 효율적 공유이다. 모든 데이터를 한 번에 보내는 회선 교환 방식과 달리, 패킷은 작은 조각으로 나뉘어 독립적으로 전송된다. 이를 통해 여러 사용자의 패킷이 동일한 통신 경로를 시간을 나누어 사용할 수 있어, 네트워크 대역폭의 활용도를 극대화한다. 이는 특히 인터넷과 같은 대규모 컴퓨터 네트워크에서 핵심적인 이점으로 작용한다.
또한 패킷화는 신뢰성 높은 데이터 전송을 가능하게 한다. 각 패킷은 헤더에 출발지와 목적지 주소, 순서 번호, 오류 검출 코드 등의 제어 정보를 포함한다. 이 정보 덕분에 네트워크 장비는 패킷의 경로를 독립적으로 결정(라우팅)할 수 있고, 전송 중 발생한 오류를 감지하여 재전송을 요청할 수 있다. TCP와 같은 프로토콜은 이 방식을 기반으로 데이터의 정확한 전달을 보장한다.
패킷 네트워크는 장애에 대한 견고함도 갖춘다. 특정 경로에 문제가 발생하더라도 라우터는 패킷의 헤더 정보를 참조하여 대체 경로를 통해 목적지로 전송할 수 있다. 이는 네트워크의 일부가 손상되더라도 전체 통신이 중단되지 않는 탄력적인 구조를 만들어낸다. 이러한 특성은 군사 통신망 연구에서 시작된 ARPANET의 근본 설계 목표 중 하나였다.
마지막으로, 패킷 방식은 다양한 종류의 데이터(음성, 영상, 텍스트 등)를 동일한 디지털 형태로 변환하여 하나의 네트워크 인프라를 통해 전송할 수 있는 기반을 제공한다. 이는 서비스의 통합과 초고속 인터넷 및 클라우드 컴퓨팅과 같은 현대 디지털 서비스의 발전을 이끌었다.
패킷 기반 통신은 오버헤드가 발생한다. 각 패킷은 데이터 자체인 페이로드 외에 목적지 주소, 출발지 주소, 순서 번호, 오류 검출 코드 등의 제어 정보를 담은 헤더와 트레일러를 포함해야 한다. 이로 인해 실제 전송해야 할 데이터보다 더 많은 양의 정보가 네트워크를 통해 전송되어 대역폭을 소모한다. 특히 작은 크기의 데이터를 전송할 때는 오버헤드의 비중이 상대적으로 커져 효율이 떨어진다.
패킷은 네트워크 상에서 독립적으로 경로를 선택하여 전송되기 때문에 지연 시간이나 지터가 발생할 수 있다. 각 패킷이 서로 다른 경로를 통해 목적지에 도달하면, 도착 순서가 송신 순서와 달라질 수 있다. TCP와 같은 프로토콜은 이를 해결하기 위해 패킷의 재정렬과 재전송 메커니즘을 갖추고 있지만, 이는 추가적인 처리 시간과 복잡성을 유발한다. 실시간 통신이 필요한 음성 통화나 화상 회의 같은 서비스에서는 이러한 지연과 순서 불일치가 품질 저하의 주요 원인이 된다.
또한, 패킷 손실의 가능성이 항상 존재한다. 네트워크 혼잡, 물리적 오류, 라우터의 버퍼 오버플로우 등 다양한 이유로 패킷이 유실되거나 손상될 수 있다. 신뢰성을 보장하는 TCP/IP 스위트의 프로토콜은 손실된 패킷을 재전송하여 복구하지만, 이는 다시 전송 지연을 초래한다. 반면, UDP와 같이 재전송 기능이 없는 프로토콜을 사용하면 데이터의 빠른 전송은 가능하지만, 신뢰성은 애플리케이션 레벨에서 추가로 관리해야 하는 부담이 생긴다.
