ip 프로토콜의 이해

yo·2021년 1월 24일
0
  1. 네트워크 계층의 기능: https://www.notion.so/7-IP-1-abcea665708c4c1f8cb5df1ce7d1ee5a
  2. 라우팅: https://naon.me/posts/til85
  3. IP

학습목표

1) IP프로토콜의 기능과 헤더의 역할을 이해
-각 필드의 의믜
-IPv4 주소의 클래스
-패킷 분할의 필요성과 방법

IP프로토콜의 주요 특징

-비연결형 서비스 : 연결설정 과정이 없고, 매번 패킷마다 어디로 갈지 정함
-패킷 분할/병합 기능
-데이터 체크썸은 없고, 헤더 체크썸만 제공
-Best-effort방식으로 동작. '최선으로 노력은 하지만 보장은 못한다 라는 뜻'

IP헤더


-0~3, 즉 4비트 까진 version Number가 온다.
-4비트 짜리 Header length가 뒤에 옴.
-service Type이 1바이트 차지
-packet length가 2 바이트.
-service type에서 111이 가장 높은 우선순위를 나타냄.
-반대로 000은 가장 낮은 우선순위.

패킷 분할 관련 필드

-상위 계층에서 내려온 데이터가 하나의 패킷으로 전달하기에 너무 큰 경우 분할하여 전송
-Identification(식별자 혹은 구분자)

  • 분할되지 않은 패킷: 값을 순차적으로 증가
  • 분할된 패킷: 동일한 번호 부여(한덩어리임을 나타냄)

-DF(Don't Fragment): 패킷 분할 금지
-MF(more Fragment)

  • 분할된 패킷의 처음과 중간:1 (뒤에 뭔가 올게 더 있습니다!)
  • 분할된 패킷의 마지막: 0 (더 이상 없습니다)

-Fragment Offset (13bits)

  • 분할되기 전 데이터에서의 상대적인 위치 정보
  • 8바이트의 배수로 지정

주소 관련 필드

-Source Address: 송신 호스트의 IP 주소
-Destination Address: 수신 호스트의 IP 주소
-IP주소 체계

  • Network: NIC에서 할당
  • Host: 개별 망에서 관리
  • 클래스 A: 0.0.0.0 ~ 127.255.255.255 (초창기 ip에 관여한 연구 기관들)
  • 클래스 B: 128.0.0.0 ~ 191.255.255.255 (대부분의 주요 대학들)
  • 클래스 C: 192.0.0.0 ~ 223.255.255.255
  • 클래스 D: 224.0.0.0 ~ 239.255.255.255
  • 클래스 E: 240.0.0.0 ~ 255.255.255.255

기타 필드

  • version Number
  • 일반적으로 4(IPv4)
  • Header Length
  • 헤더 길이를 32비트 단위로 표시
  • IPv4의 경우 일반적으로 5
  • Packet Length: 헤더를 포함한 패킷의 전체 길이
  • Time To Live(TTL)
  • 패킷의 생존 시간
  • 라우터를 거칠 때마다 1씩 감소되며 0이 되면 네트워크에서 강제로 제거
    -Transport Protocol
  • 상위 계층 프로토콜(ICMP:1, TCP:6, UDP: 17)
    -Header Checksum
  • 우선 이 필드 값을 0으로 하고 값을 계산하여 채움
  • 헤더 오류 검출
    -Options
  • 망 관리나 보안 목적으로 부여 가능
    -Padding

패킷의 분할

분할의 필요성

  • 각 네트워크에서 다루는 프레임의 크기가 다르다.
  • x.25(128바이트), Ethernet(1200바이트)
  • 여러 종류의 네트워크를 걸쳐 패킷 전달

-네트워크마다 프레임 크기가 다르기 때문에 분할이 필요하고, 이를 다시 병합하는 것도 필요하다.

profile
Never stop asking why

0개의 댓글