[컴퓨터망] - IP datagram format

2023. 4. 15. 22:10· Computer Science/Network
목차
  1. Network Layer
  2. 인터넷프로토콜(IP, Internet Protocol)
  3. IP Datagram format
  4.  ver
  5. 헤더 길이
  6. 서비스 유형
  7. 데이터그램 길이
  8. Identifier
  9. Flag, fragment offset
  10. Time to live
  11. upper layer
  12. header checksum
  13. source/destination IP address
  14. IPv4 vs IPv6

 

Network Layer

이번글에서는 IP protocol에 대해서 써볼까 합니다.


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

송신호스트와 수신 호스트가 패킷을 교환할 때 사용되며, 데이터 패킷을 목적지로 전달하는 역할을 수행합니다.

 

IP protocol은 비연결성 프로토콜로, 데이터의 신뢰성을 보장하지 않습니다.

하지만 이러한 IP 프로토콜은 Transport 계층에 TCP, UDP와 함께 사용될 수 있어, 부족한 점을 보완할 수 있습니다.


IP Datagram format

기본적으로 IP header는 패킷을 어디로 어떻게 보낼지에 대한 정보를  담고 있습니다.

 

 ver

  • IP 프로토콜의 버전 정보
    • ex) IPv4, IPv6

헤더 길이

  • IP datagram 헤더의 길이를 나타낸다.
  • 일반적으로 20 byte가 고정, (+옵션)

서비스 유형

  • 어떤 네트워크 서비스를 담고 있는지를 구분한다.
  • TOS 중 2비트는 명시적 혼잡 알림(ECN)에 사용된다.

데이터그램 길이

  • 바이트로 계산한 IP 데이터그램의 헤더를 포함한 전체 길이
  • 16비트이다.

Identifier

  • 데이터그램은 상황에 따라 목적지에 도착하기 전에 여러 개로 쪼개질 수 있는데, 다시 하나로 합칠 때 필요한 정보
  • 16bit이다.

Flag, fragment offset

  • Flag= 3bit, offset = 16bit
  • 데이터그램의 분리와 관련 있는 정보를 담고 있음.

Time to live

  • 데이터그램의 수명을 나타내는 값.
    • 데이터그램이 목적지에 도착하지 못하고, 계속 순환하고 있을 때를 대비해서 네트워크를 통과할 수 있는 횟수.
      • 최초에 값을 할당받은 뒤, 라우터를 통과할 때마다 1씩 감소한다.
      • 만약 TTL 값이 0이 되면 해당 데이터그램을 폐기함.

upper layer

  • 네트워크 계층의 상위 계층이 사용하는 프로토콜에 대한 정보를 담고 있다.
    • ex) TCP, UDP

header checksum

  • 수신한 IP 데이터그램의 오류를 탐지하지만, 100% 신뢰할 수는 없음

source/destination IP address

  • 출발지와 도착지의 IP 주소
  • 32bit임.

 

밑에 내용은 간단하게, 제가 머릿속을 정리하고 싶어서 적는 내용이라 가볍게 ㅌㅌ 하시면 될 거 같습니다.

IPv4 vs IPv6

IPv4는 fragmentation을 지원하고, IPv6는 지원하지 않는다.

여기서 Fragmentation이란?

큰 크기의 IP 패킷을 작은 크기의 패킷으로 나누어 전송하는 과정을 말한다.

 

패킷을 쪼갤 때는 각 패킷을 쪼갠 뒤 헤더를 붙여줘야 합니다.

왜냐면 헤더에 identifier랑 flag, offset들이 쪼개진 데이터를 하나로 합칠 때 이 데이터그램이 원래 어느 소속이냐를 담고 있기에,

꼭 쪼갤 때 헤더 부분을 포함해야 합니다.

 

라우터에서 나누는 과정을 demulx라고 하고 합치는 과정을 mux라고 하는데,

경유하는 라우터마다 합치는 과정을 해야 하나? 

정답은 NO. 어차피 또 나누는 작업을 하기에, 맨 마지막 도착지에서만 합쳐주는 작업을 한다!

저작자표시 (새창열림)

'Computer Science > Network' 카테고리의 다른 글

[컴퓨터망]-NAT & IPv6  (3) 2023.06.12
[컴퓨터망]-IP addressing,IPv4,CIDR,DHCP,Subnet  (0) 2023.06.12
[컴퓨터망] - Network Layer(Routing & Forwarding & Switching Fabric && Buffer Management)  (1) 2023.04.15
[컴퓨터망] - TCP congestion control  (1) 2023.04.15
[컴퓨터망] - principles of congestion control  (0) 2023.04.14
  1. Network Layer
  2. 인터넷프로토콜(IP, Internet Protocol)
  3. IP Datagram format
  4.  ver
  5. 헤더 길이
  6. 서비스 유형
  7. 데이터그램 길이
  8. Identifier
  9. Flag, fragment offset
  10. Time to live
  11. upper layer
  12. header checksum
  13. source/destination IP address
  14. IPv4 vs IPv6
'Computer Science/Network' 카테고리의 다른 글
  • [컴퓨터망]-NAT & IPv6
  • [컴퓨터망]-IP addressing,IPv4,CIDR,DHCP,Subnet
  • [컴퓨터망] - Network Layer(Routing & Forwarding & Switching Fabric && Buffer Management)
  • [컴퓨터망] - TCP congestion control
재한
재한
안녕하세요 💻
짜이한안녕하세요 💻
재한
짜이한
전체
오늘
어제
  • 분류 전체보기 (504)
    • Skils (118)
      • Android (52)
      • C++ (5)
      • Kotlin (36)
      • Algorithm (24)
      • Server (1)
    • CodingTest (228)
      • Programmers (45)
      • Baekjoon (183)
    • Experience (8)
      • 후기(코딩테스트,프로그램,프로젝트) (8)
    • Computer Science (70)
      • Design Pattern (2)
      • OOP (2)
      • Computer Architecture (14)
      • OS (2)
      • Software Engineering (3)
      • DataBase (8)
      • Network (39)
    • 학교 (75)
      • R프로그래밍 (26)
      • 회계와 사회생활 (17)
      • 컴퓨터학개론 (20)
      • it기술경영개론 (12)

블로그 메뉴

  • 홈
  • 태그
  • 카테고리
  • 글쓰기
  • 설정

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
재한
[컴퓨터망] - IP datagram format
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.