CS지식

네트워크 용어-1

dongok218 2024. 9. 20. 12:03

[페이로드]

페이로드는 전송되는 데이터 지체를 지칭하고 있다. 보통 데이터를 전송할때는 헤더, 바디, 메타 데이터와 같은 정보로 이루어져 있는데 전송 목적이 되는 데이터만 포함하고 그 데이터와 함께 전송되는 헤더나 메타 데이터는 제외하고 이야기 된다.

 

페이로드라는 용어는 큰 데이터 덩어리 중에 '흥미 있는' 데이터를 구별하는 데 사용된다. 이 용어는 운송업에서 비롯하였는데, 지급(pay)해야 하는 적화물(load)을 의마한다. 예를 들어, 유조선 트럭이 20톤의 기름을 운반한다면 트럭의 총 무게는 차체, 운전자 드으이 무게 때문에 그것보다 더 될것이다. 이 모든 무게를 운송하는데 비용이 들지만, 고객은 오직 기름의 무게만을 지급(pay)하게 된다. 그래서 'pay-load'란 말이 나왔다.


[IPV4 헤더]

IPV4

  • Version 필드(4bit)
    • TCP/IP 제품은 IPv4를 사용한다.
    • IP가 어떤 버전을 사용하는지 나타낸다. 현재 대부분 IPv4를 사용하고 있지만 버전 4의 주소 고갈 문제와 보안 이슈로 인해 IPv6가 등장하게 되었다. v6는 패킷 처리에 대한 오버헤드를 줄이기 위해 v4의 헤더를 대폭 간소화하였으며 128비트의 주소 공간을 가지고 있어 무한대에 가까운 주소를 할당할 수 있고, 기존의 v4와 달리 주소의 클래스를 나누지 않고 단순히 유니캐스트(unicast)의 주소 형태로 나누었다. v4에는 보안 항목이 없어 보완하기 위해 IPSec와 같은 프로토콜을 사용하였는데 v6는 프로토콜 내에 보안 관련 기능을 가지고 있다.
  • Header Length 필드(4bit)
    • IP 헤드의 길이를 32비트 단위로 나타낸다. 대부분의 IP헤더의 길이는 20바이트이다. 필드값은 거의 항상 5이다.
  • TOS(Type-of-Service Flags)
    • 서비스의 우선 순위를 제공한다.
    • 우선순위를 나타내는 3비트의 Precedence 및 4비트의 서비스 유형 지정 비트, 그리고 사용되지 않은 1비트이다. ToS필드를 사용하여 라우터나 호스트 등의 장치에서 패킷 처리에 대한 우선순위(QoS)를 설정할 수 있는데 현재는 DSCP(Differentiated Serviecs Code Point)필드로 정의되어 있다.
  • Total Length, 전체 길(16bit)
    • 헤더와 데이터를 포함한 패킷의 전체 길이를 나타낸다.
    • 전체 IP 패킷의 길이를 바이트 단위로 나타낸다.
  • Identification, 식별자(16bit)
    • 생성되는 각각의 패킷마다 부여되는 고유의 번호이다. 패킷은 제 2계층 프로토콜의 최대 전송 단위(MTU)값에 따라 여러 개의 프로그먼트(Fragment)로 분할되어 처리되는데, 분할되어 온 fragment들을 원래의 패킷으로 재조립할 때 식별자 값을 기준으로 한다.
    • 분열이 발생한 경우, 조각을 다시 결합할때 위해 원래의 데이터를 식별하기 위해 사용한다.
  • Flag, 플래그(3bit)
    • IP 패킷(데이터그램)의 분할(fragmentation) 가능 여부와 마지막 fragment인지 아닌지를 알리기 위해 사용되는 필드
    • 처음 1bit는 항상 0으로 설정, 나머지 2비트의 용도는 다음과 같다.
    • May Fragment: IP라우터에 의해 분열되는 여부를 나타낸다. 플래그 0 - 분열가능 1 - 분열방지
    • More Fragments: 원래 데이터의 분열된 조각이 더 있는지 여부 판단. 플래그 0 - 마지막 조각, 기본값 1 - 조각이 더 있음
  • Fragment Offset, 분할 위치(13bit)
    • 하나의 패킷이 여러 개의 프래그먼트로 분할될 때, 각각의 프래그먼트 내의 페이로드가 원래의 패킷 내의 페이로드를 기준으로 어떤 위치에 있는지를 명시하느 필드이다. 따라서 분할된 프래그먼트들은 이 분할 위치 값을 이용하여 원래의 패킷으로 재조립되게 된다.
    • 8바이트 오프셋으로 조각에 저장된 원래 데이터의 바이트 범위를 나타낸다.
  • TTL, Time-to-Live(8bit)
    • 데이터를 전달할 수 없는것으로 판단되어 소멸하기 이전에 데이터가 이동할 수 있는 단계의 수를 나타낸다. Time-to-Live필드는 1에서 255사이의 값을 지정하며 라우터들은 패킷을 전달할 때마다 이 값을 하나씩 감소시킨다.
    • 패킷의 루핑 현상으로 인한 문제를 해결하기 위해 사용되는 필드로 패킷의 수명을 나타낸. 예를 들어 TTL값은 라우터 1개를 지날 때마다 2씩 감소되어 이 값이 0이 되면 해당 패킷은 네트워크에서 폐기된다.
  • Protocol Identifier(8bit)
    • 상위 계층의 프로토콜. 1 - ICMP, 2 - IGMP, 6 - TCP, 17 - UDP
    • 패킷의 캡슐화되어 있는 상위 계층 PDU가 어떠한 프로토콜을 사용하는지 명시하는 필드이다. 예를 들어 캡슐화된 PDU가 TCP세그먼트일 경우 이 필드는 6의 값을, UDP 세그먼트일경우 17의 값을 갖는다.
  • Header Checksum(16bit)
    • IP 헤더의 체크섬을 저장, 라우터를 지나갈 때마다 재계산을 하기 때문에 속도가 떨어진다.
    • IP 헤더의 오류 검사를 위한 필드이다. TCP와 UDP를 포함하여 IP 데이터그램으로 캡슐화되는 프로토콜은 대부분 헤더 및 데이터를 포함하는 체크섬 필드를 가지고 있기 떄문에 IP 데이터그램의 체크섬 필드는 단순히 IP헤더에 대한 오류 검사만을 수행한다.
  • Source IP Address, 출발지 IP주소(32bit)
    • 32비트 길이의 출발지 장치의 ip주소이다. ip주소는 네트워크 필드 및 호스트 필드의 길이에 따라 클래스a, b, c주소로 나뉜다. 이 외에도 클래스 D및 E주소가 있지만,. 이는 각각 멀티캐스트 주소와 예약된 주소로서 네트워킹 장치나 호스트에 할당하는 주소는 아니다. 한편 클래스 a, b, c주소는 공인 ip주소와 사설 ip주소로 나뉜다. 사설 ip 주소를 사용하는 로컬 네트워크가 외부 공용 네트워크와 통신하려면 반드시 공인 ip주소를 사용하여야 한다.
  • Destination IP Address, 목적지 IP주소(32bit)
    • 32비트 길이의 목적지 장치의 IP주소이다.
  • Options, 옵션
    • 패킷의 전송 경로를 포함한 IP프로토콜의 동작 옵션을 정의하는 필드이다.
    • Type-of-Service플래그처럼 특별한 처리 옵션을 추가로 정의할 수 있다.