인터넷 프로토콜 IP(Internet Protocol)

황인용·2020년 7월 11일
0

Network

목록 보기
12/14
post-thumbnail

인터넷 프로토콜 IP(Internet Protocol)

  • 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는데 사용하는 정보 위주의 규약
  • 데이터 그램을 전달
  • OSI 7 Layer의 네트워크 계층(3계층)에 해당
  • 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당

IP 특성

  • 비신뢰성(신뢰성을 확보하기위해 전송계층(4계층)에 의존)
  • 비연결성 데이터그램 방식
  • 패킷의 완전한 전달을 보장하지 않음
  • IP헤더에 송신, 수신 주소 포함
  • 최대 65,535 Byte의 Packet크기를 갖는다

IP 데이터그램 구조

Version

  • IP프로토콜 버전 (IPv4 / IPv6)

Header Length

  • 헤더의 길이를 나타내는 필드로 옵션에 따라 길이가 가변적으로 변경될 수 있는 특성 때문에 어띠까지가 헤더인지를 나타내기 위해 필요
  • 기본 4Byte 단위로 표시(옵션 없을 시 5Byte로 되어 있음)

TOS

  • 라우터에게 QOS정보를 제공하기 위해 사용
  • 3bit : 우선권 필드
  • 4bit : TOS 필드
  • 1bit : 사용안함

Total Length

  • 단편화된 IP 데이터그램의 전체길이로 Byte 단위로 표시

Identification

  • 호스트가 전송한 데이터그램을 유일하게 식별

Flag

  • 단편화(Fragmentation)에 대한 정보
  • 3bit를 사용
  • 1번째(맨앞의 bit)는 사용하지 않음
  • 2번째 bit는 do not fragment bit로 이 bit가 세트로 되어 있다면 단편화가 이루어지지 않는다
  • 3번째 bit는 more fragment bit로 뒤에 더 단편이 있다는 정보를 알려주는 bit

Fragment offset

  • 수신자에게 쪼개진 데이터그램을 하나의 데이터그램으로 합칠 때
    전체의 데이터그램에서 각각의 데이터그램의 상대적 위치를 표시

TTL(Time To Live)

  • 데이터그램이 지날 수 있는 라우터의 수에 대한 생존시간
  • TTL이 없다면 경로상의 문제로 목적지에 전달되지 못하고 네트워크상에 떠돌아 다니는 패킷들이 생겨나는 경우 이 패킷들이 사라지지 않고 네트워크 상에 끊임없이 돌아다니며 트래픽을 야기할 것
  • 패킷 유실 여부를 확인 할 때 사용

Protocol

  • IP 데이터그램의 Data 구간에 입력된 상위계층의 프로토콜 표시

Header Checksum

  • 헤더의 손상여부 파악
  • 송신자에서 전체 헤더를 4bit로 나누어 모두 더하고, 1의 보수를 취해 checksum에 담아 송신하며,
    수신자에서 이 checksum을 포함한 전체 bit를 더하여 결과가 0일 경우 오류가 없다고 판단

Destination IP Address

  • 목적지 IP 주소

Source IP Address

  • 발신지 IP 주

IP Routing

  • Routing Table을 검색하여 호스트와 목적지가 직접 연결되어 있거나 같은 서브넷 또는 같은 네트워크 그룹일 경우 목적지로 직접 전송하거나 next-hop(라우터)로 데이터그램을 전송하도록 경로를 지정한다
  • 그렇지 않으면 모든 데이터그램은 Default 라우터로 보낸다
    (Default Routing)
  • 만일 위와 같이 전혀 일치하는 항목이 없다면, 데이터그램을 폐기하고 Host Unreachable 또는
    Network Unreachable 메세지가 반송된다

단편화(Fragmentation)

  • 어떠한 유형의 네트워크를 통해서라도 패킷을 전송하기 위해서 IP는 각각의 데이터그램의 크기를 조절할 수 있는 기능제공.
  • 단편화는 각 네트워크 내 노드의 IP가 수신한 패킷을 다음 노드나 호스트로 전송하기 위해
    이 패킷을 분할 하는 것
  • 모든 목적지 호스트는 단편화된 메세지를 재합성할 수 있어야한다
profile
dev_pang의 pang.log

0개의 댓글