네트워크에서 패킷은 데이터를 전달하는 기본적인 단위입니다. 데이터를 패킷으로 나누어 전송하는 이유는 효율적인 네트워크 관리와 오류 복구를 위해서입니다.
패킷은 여러 가지 프로토콜로 캡슐화되어 여러 단계를 거쳐 목적지까지 도달하게 되며, 그 과정에서 인캡슐레이션과 디캡슐레이션이 이루어집니다.
1. 패킷이란?
패킷은 네트워크 상에서 전달되는 데이터의 형식화된 블록으로, 제어정보와 사용자 데이터로 구성됩니다.
- 사용자 데이터는 페이로드라고 불리며, 실제로 전송하려는 데이터입니다.
- 헤더는 패킷의 상위 계층에서 데이터를 전송하기 위한 제어 정보(주소, 오류 검사 정보 등)를 포함합니다.
- 풋터(또는 테일)는 추가적인 제어 정보가 담겨 있으며, 오류 검사와 같은 기능을 수행할 수 있습니다.
패킷의 형태
- 헤더 : 페이로드 상위 계층
- 페이로드 : 프로토콜 상위계층에서 내려온 데이터
- 풋터 : 테일이라고도 부르며, 추가적인 정보를 가진 데이터
패킷은 여러 번 포장된 데이터처럼 생각할 수 있습니다. 이처럼, 데이터는 여러 계층을 거쳐 최종적으로 전달됩니다.
2. 캡슐화 (Encapsulation)
캡슐화는 네트워크 통신을 할 때 데이터가 높은 계층에서 낮은 계층으로 내려가면서 프로토콜을 추가하는 과정입니다. 이 과정에서는 데이터가 여러 프로토콜로 포장되며, 각 계층마다 그에 맞는 헤더와 제어 정보를 추가합니다.
- 높은 계층에서부터 시작해서 데이터를 하나씩 캡슐화합니다.
- 각 계층에서는 이전 계층에서 받은 데이터를 헤더와 함께 감싸는 방식으로 진행됩니다.
- 이 과정에서 겉은 헤더, 안쪽은 페이로드입니다.
- 여러 프로토콜을 이용하여 최종적으로 보낼 때 패킷을 만드는 과정(인캡슐레이션)
- 네트워크 통신(보낼 때)을 할 때 높은 계층에서부터 낮은 계층으로 프로토콜들을 생성하는 과정
- 겉으로 갈수록 낮은 계층(겉 - 헤더, 안 - 페이로드)
애플리케이션 계층에서 보내고자 하는 데이터가 있으면, 이를 전송하려면 전송 계층, 인터넷 계층, 네트워크 인터페이스 계층을 거쳐 최종적으로 물리적 네트워크로 보내집니다. 각 계층에서는 데이터를 추가적인 헤더와 제어 정보를 더하며 "포장"합니다.
3. 디캡슐화 (Decapsulation)
디캡슐화는 패킷을 받았을 때 하위 계층에서부터 상위 계층으로 데이터를 차례대로 분해해 가는 과정입니다. 디캡슐화 과정에서는 패킷을 순차적으로 해석하고, 각 계층에 해당하는 헤더를 제거하면서 페이로드를 추출해 가게 됩니다.
- 패킷을 받았을 때 프로토콜들을 하나씩 확인하면서 데이터를 확인하는 과정(디캡슐레이션)
- 디캡슐화(Decapsulation) : 네트워크 통신(받을 때)을 할 때 낮은 계층에서부터 높은 계층으로 프로토콜들을 분석하는 과정
- 안쪽으로 갈수록 높은 계층(겉 - 헤더, 안 - 페이로드)
- 하위 계층에서 상위 계층으로 차례대로 데이터를 분리하면서, 겉의 헤더는 계속 제거됩니다.
- 각 계층은 해당 계층의 헤더만 처리하고, 그 안에 있는 데이터는 상위 계층으로 전달됩니다.
예시: 네트워크 인터페이스 계층에서 패킷이 도착하면, 물리적 주소를 확인하고, 그 후 인터넷 계층, 전송 계층을 거쳐 마지막으로 애플리케이션 계층에서 사용자가 원하는 데이터가 추출됩니다.
네트워크에서는 각 계층에 따라 패킷의 이름이 달라집니다. 각 계층이 패킷을 어떻게 다루는지에 따라 패킷의 형태와 이름이 변합니다.
- 애플리케이션 계층: "데이터"라고 불리며, 사용자가 주고받는 실제 콘텐츠입니다.
- 전송 계층: "세그먼트"라는 이름으로 불립니다. 데이터가 전송 계층으로 내려가면서 세그먼트로 나누어지고, 이를 통해 오류 제어나 흐름 제어가 가능합니다.
- 인터넷 계층: "패킷"이 됩니다. IP 프로토콜이 데이터를 패킷 형태로 다루며, 네트워크 상에서 전송되는 기본 단위입니다.
- 네트워크 인터페이스 계층: "프레임"이라고 불리며, 물리적으로 데이터를 전송하는 형식을 제공합니다. 프레임은 네트워크 장비 간에 실제로 전송되는 데이터입니다.
결론
패킷은 데이터를 네트워크를 통해 효율적으로 전달하기 위해 여러 프로토콜로 캡슐화되며, 이를 통해 데이터가 계층별로 전달됩니다. 캡슐화와 디캡슐화 과정은 네트워크 통신에서 데이터가 어떻게 전송되는지와 분해되는지를 나타내는 중요한 개념입니다. 이 과정에서 데이터를 세분화하고 제어하는 각 계층의 역할을 이해하면, 네트워크 통신의 흐름과 그 과정이 더욱 명확하게 보일 것입니다.
'Network' 카테고리의 다른 글
[네트워크 기초] 3계층: 네트워크 계층 (IP계층) (0) | 2022.06.23 |
---|---|
[네트워크 기초] 2계층: 데이터 링크 계층 (0) | 2022.06.23 |
[네트워크 기초] TCP/IP 모델과 OSI 모델: 네트워크 통신의 두 가지 주요 모델 (0) | 2022.06.23 |
[네트워크 기초] 네트워크 프로토콜이란? (0) | 2022.06.23 |
[네트워크 기초] 네트워크 통신 방식 (0) | 2022.06.23 |