728x90
반응형

 

IPv4 의 패킷 구조

 

 

IPv4 의 구조입니다.

 

  • Version
    IP 의 버전을 나타내는 값입니다. IPv4 이므로 4 가 들어있습니다.

  • Header Length
    IPv4 는 Options 로 인해 헤더의 길이가 가변적입니다. 그래서 헤더길이를 적어줍니다.

  • Type of Service
    이 패킷의 우선순위를 나타내는 값입니다. 이 값에 따라 패킷이 먼저 전송되거나 나중에 전송됩니다.
    이 값을 통해 QoS(Quality of Service) 를 구현하기 위해 사용됩니다.
    예를들어 실시간 인터넷 전화같은 경우 QoS가 만족되어야하므로 우선순위가 더 높을 것입니다.

  • Total Length
    이 패킷의 총 길이입니다. Total Length - Header Length = Payload(데이터) Length 입니다. 

  • Identification
    통신중에 한번에 보낼 수 있는 데이터의 양을 넘으면 패킷이 단편화됩니다. 만약 단편화되었다면 이 값을 통해 패킷을 합칩니다. 단편화된 각 패킷이 같은 패킷에서 분할되었다면 같은 값을 가지고 있습니다.

  • Flags
    단편화가 일어났는지 확인하기위한 flag 값 입니다.

  • Fragment Offset
    단편화가 일어났을 경우 이 패킷이 몇번째인지를 나타내는 값입니다.

  • Time to Live (TTL)
    네트워크 특성상 여러 AP 들을 거쳐서 패킷이 전달됩니다. 이렇게 AP를 하나 거칠때 마다 이 값이 1씩 떨어지고 0에 도달하게되면 패킷이 버려지게됩니다. 이 기능이 필요한 이유는 패킷이 전달되지 못하고 빙글빙글 돌거나 통신이 끊겼다면 네트워크내에 패킷이 계속 남게되는데 이런 현상을 막기위해 존재합니다.

  • Protocol
    IP 계층보다 더 상위 계층의 type 를 알려주는 값입니다.
    예로 ICMP(1), IGMP(2), TCP(6), UDP(17) 입니다.

  • Header Checksum
    헤더의 오류검출을 위해 있는 값 입니다. 이 값을 통해 이 헤더가 통신중에 변조가 되었는지 확인할 수 있습니다.

  • Source IP Address
    출발지의 IP 주소값 입니다.

  • Destination IP Address
    도착지의 IP 주소값 입니다.

 

 

특징



IPv4 는 초기 네트워크를 위해 구현된 것 입니다. 그래서 현재 적용시키기에는 여러가지 문제가 있습니다.

  1. 헤더의 길이가 가변입니다.
    헤더의 길이가 가변이면 중간중간 라우터가 계산을 해줘야함을 의미합니다.

  2. 현대에는 필요없는 Checksum
    옛날 네트워크는 상당히 불안정한 상태였기때문에 패킷의 유실이나 변조가 잦았습니다. 그래서 다른 레이어 (TCP, UDP 등)에서 하는 오류검출을 IP 에서도 적용해서 오류검출을 해야 헀습니다. 그러나 통신이 발달하면서 현대의 네트워크는 유실이나 변조가 거의 없습니다. 그래서 불필요한 checksum 계산을 하게됩니다.
  3. 헤더가 전송중에 단편화가 될 수 있습니다.
    IPv4 는 전송중에 라우터의 MTU(최대 패킷 크기) 에 따라 단편화가 될 수 있습니다. 이 작업을 하게되면 그만큼 계산을 해야하며 여러 패킷으로 나눠져서 오버헤드가 됩니다.

  4. 점점 고갈되어가는 IP address
    현대로 오면서 인터넷에 연결되어있는 시스템은 매우 많아졌습니다. 그래서 32-bit 로 표현하기에는 점점 부족해지고 있습니다.

 

이런 많은 문제를 해결하기위해 나온것이 IPv6 입니다.

 

IPv6 에 관한 내용 >> 클릭 <<

728x90
반응형

+ Recent posts