Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워킹

IP 패킷이란 무엇일까? 개념부터 헤더 구조까지 한눈에 이해하기

IP 패킷은 인터넷 프로토콜(IP)의 가장 핵심적이고 기본적인 구성 요소입니다. 패킷은 데이터 전송 과정에서 데이터를 실어 나르는 역할을 하며, 목적지까지의 경로를 찾고 전송이 끝난 후 데이터를 다시 조립하는 데 필요한 정보가 담긴 헤더(header)를 함께 포함하고 있습니다.

IP 패킷의 핵심 기능: 라우팅과 어드레싱

IP 프로토콜의 두 가지 주요 기능은 라우팅(routing)어드레싱(addressing)입니다. 네트워크에 연결된 장비들 사이에서 패킷을 주고받기 위해 IP(인터넷 프로토콜)는 패킷 안에 함께 실려 전달되는 IP 주소를 활용합니다. 즉, 각 패킷에는 출발지와 목적지를 식별할 수 있는 주소 정보가 들어 있어, 수많은 라우터를 거치면서 올바른 경로로 이동할 수 있는 것입니다.

IP 패킷 헤더의 주요 요소

헤더를 구성하는 각 요소의 기능을 그림의 간단한 설명만으로도 어느 정도 짐작할 수 있지만, 일부 항목은 다소 생소할 수 있습니다. 아래에서 하나씩 자세히 살펴보겠습니다.

  • 식별 태그(Identification Tag): 여러 조각으로 나뉜 패킷을 다시 하나로 조립하는 데 사용됩니다. 네트워크를 통해 전송되는 데이터는 작은 단위로 분할된 후 패킷에 담겨 전송되는데, 인터넷과 같은 IP 네트워크는 기본적으로 신뢰성을 보장하지 않습니다. 따라서 패킷이 손실되거나 지연되거나 순서가 뒤바뀌어 도착할 수도 있습니다. 목적지에 도착한 패킷은 식별 태그를 통해 서로를 인식하고, 데이터를 원래 형태로 재조립하게 됩니다.
  • 분할 플래그(Fragmented Flag): 해당 패킷이 조각화(fragmentation)될 수 있는지 여부를 나타냅니다.
  • 프래그먼트 오프셋(Fragment Offset): 분할된 여러 조각 중 이 패킷이 어느 부분에 해당하는지 식별하는 필드입니다.
  • TTL(Time to Live): 패킷이 소멸하기 전까지 통과할 수 있는 홉(hop, 라우터 통과 횟수)의 수를 나타내는 숫자입니다. 일반적으로 패킷은 각 라우터에서 분석되며, 해당 라우터가 보유한 인접 라우터 정보를 바탕으로 가장 적합한 경로가 선택된 후 다음 라우터로 전달됩니다. 이런 방식에서는 패킷이 네트워크를 무한히 순환할 가능성도 있습니다. 또 다른 전달 방식인 플러딩(flooding)은 패킷의 복사본을 인접한 모든 라우터에 전송하는데, 이 경우 최종 목적지 장비만 패킷을 소비하고 나머지 복사본들은 계속 네트워크를 떠돌게 됩니다. TTL은 보통 255로 설정되며, 패킷이 라우터를 통과할 때마다 1씩 감소합니다. 덕분에 불필요하게 순환하는 중복 패킷도 TTL이 0이 되면 자동으로 소멸됩니다.
  • 헤더 체크섬(Header Checksum): 패킷 전송 중 발생할 수 있는 오류를 검출하는 데 사용되는 값입니다. 패킷의 데이터를 수학적 알고리즘에 입력하면 특정 합계 값이 계산되는데, 이 값이 데이터와 함께 전송됩니다. 수신 측에서는 동일한 알고리즘으로 값을 다시 계산하여 원래 값과 비교합니다. 두 값이 일치하면 데이터가 정상인 것이고, 일치하지 않으면 데이터가 손상된 것으로 판단하여 해당 패킷은 폐기됩니다.
  • 페이로드(Payload): 실제로 전송되는 데이터 그 자체입니다. 흥미로운 점은 데이터 페이로드가 최대 64KB까지 담길 수 있다는 것인데, 이는 헤더 전체 비트 크기에 비하면 상당히 큰 용량입니다.

이처럼 IP 패킷은 단순히 데이터를 운반하는 것을 넘어, 헤더에 담긴 다양한 정보를 통해 네트워크 환경에서 안정적으로 데이터가 전달될 수 있도록 돕는 중요한 역할을 합니다.