IP(2) - 데이터 그램 구조와 단편화 및 검사합

2024. 9. 29. 01:28·통신/네트워크 프로토콜

IP 데이터그램

헤더 형식

데이터그램 구조

IP 데이터그램은 헤더와 데이터로 구성된다.

  • 헤더: 패킷 전송에 필요한 제어 정보를 담고 있으며, 길이는 20바이트에서 60바이트이다.
  • 데이터: 실제 전송되는 데이터이다.

데이터그램 헤더 필드

  • 버전(Version): IP 프로토콜의 버전을 나타낸다. (IPv4의 경우 4)
  • 헤더 길이(HLEN): 헤더의 길이를 나타내며, 4바이트 단위로 계산된다.
  • 서비스 유형(TOS): 데이터그램의 우선순위와 서비스 성격을 나타낸다.
  • 전체 길이(Total Length): 데이터그램 전체의 길이를 나타낸다.
  • 식별자(Identification): 단편화된 패킷을 식별하는 필드로, 모든 단편이 동일한 식별자를 가진다.
  • 플래그(Flags): 데이터그램이 단편화 여부를 제어한다.
  • 단편화 옵셋(Fragment Offset): 단편화된 데이터그램의 원래 위치를 나타낸다.
  • TTL(Time to Live): 데이터그램이 네트워크 상에서 살아남을 수 있는 시간이다. 라우터를 통과할 때마다 1씩 감소하며, 0이 되면 패킷은 폐기된다.
  • 프로토콜(Protocol): 데이터그램에 포함된 상위 계층 프로토콜을 식별한다. ex) TCP는 6, UDP는 17
  • 헤더 체크섬(Header Checksum): 헤더 오류를 검출하기 위한 필드이다.
  • 발신지 주소(Source Address): 데이터그램을 발신한 장치의 IP 주소이다.
  • 목적지 주소(Destination Address): 데이터그램을 수신할 장치의 IP 주소이다.

데이터 그램 전체 길이


단편화와 재조립

단편화(Fragmentation)

단편화 예제

 

IP 데이터그램의 크기가 MTU(Maximum Transmission Unit)를 초과하면, 이를 더 작은 조각으로 나누어 전송한다. 각 단편은 고유의 식별자(Identification)와 단편화 옵셋(Fragment Offset)을 포함해 수신지에서 재조립될 수 있다.

재조립(Reassembly)

수신 측에서 단편화된 데이터그램을 원래 크기로 다시 조립하는 과정이다. 재조립은 데이터그램의 최종 목적지에서 이루어진다.


오류 검출 및 검사합

검사합(Checksum)은 송신 측에서 생성된 데이터가 전송 중 변경되었는지 확인하는 필드이다. 수신 측에서도 같은 방식으로 검사합을 계산하여 무결성을 검증한다. 오류 검출은 수신자가 패킷을 수신할 때 오류가 발생한 경우, 패킷을 폐기하고 재전송 요청을 보낼 수 있다.

 

-> checksum 으로 두고, 다 더해서 보수가 checksum과 같은지 확인.

'통신 > 네트워크 프로토콜' 카테고리의 다른 글

TransportLayer  (0) 2024.09.29
Routing Algorithms  (0) 2024.09.29
IP(1) - 주소지정과 클래스  (1) 2024.09.28
Network Layer(3) - 서브넷, CIDR  (0) 2024.09.27
Network Layer(2) - 주소할당  (1) 2024.09.27
'통신/네트워크 프로토콜' 카테고리의 다른 글
  • TransportLayer
  • Routing Algorithms
  • IP(1) - 주소지정과 클래스
  • Network Layer(3) - 서브넷, CIDR
moonwhistle
moonwhistle
  • moonwhistle
    OrangeBanana
    moonwhistle
  • 전체
    오늘
    어제
    • 분류 (97)
      • [Spring] - Study (5)
        • CS (5)
        • Project - 모각밥(모여서 각자 밥먹기) (0)
        • 📖 Real MySQL 8.0 (0)
      • 우아한테크코스[프리코스] (15)
      • [Spring] - 멘토링 (30)
        • 미션 (13)
        • 개념 (16)
      • 알고리즘 (2)
      • 💬 생각생각 (1)
        • F-lap (1)
      • 통신 (34)
        • 네트워크 프로토콜 (18)
        • 데이터통신 (16)
      • 용접 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 카테고리
    • 초록스터디
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    동시성
    f-lap
    f-lap 1개월 후기
    volatile
    Synchronized
    Java
    고립수준
    병행제어
    jit complination
    공유락
    격리수준
    에프랩
    에프랩 1개월 후기
    GC
    JIT
    베타락
    백엔드코스
    jmm
    회복기법
    멀티스레드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
moonwhistle
IP(2) - 데이터 그램 구조와 단편화 및 검사합
상단으로

티스토리툴바