본문 바로가기
컴퓨터

IPv4 Header 구조

by 해달바코 2024. 6. 23.

ip header의 구조 - 위키백과

1. version 

버젼 정보 기입. IPv4의 경우 4가 기입되어 있다.

 

2. IHL(IP Header Length)

IP헤더의 길이. 옵션 필드에 따라 가변적으로 길이가 바뀌기 때문에 헤더의 길이를 시스템에 알리기 위해서 헤더의 길이를 명시한다. 

4바이트를 하나의 블럭으로 계산한다.

예를 들어 실제 22바이트의 길이를 사용한다면, 4바이트 단위로 끊기 위해 24바이트의 길이를 사용하며 이는 6블럭이므로 6이 기입되게 된다.

 

3. TOS(Type of Service )

IP패킷의 서비스 유형을 알리는 부분이다. 8비트로 이루어져있고 마지막 1비트는 사용하지 않는다. 앞의 3비트는 IP Precedent(우선순위)를 설정하고 뒤의 4비트는 지연, 처리율, 신뢰성, 비율(DTRC)를 설정한다.

 

4. Total Length

L3 header를 포함한 길이를 나타낸다. 

 

5. Identification

패킷을 처음 생성해서 보낸 곳에서 부여한 ID값을 적은 곳이다. 만약 MTU사이즈(최대 전송 단위)가 500인 곳에 1500byte의 데이터를 보낸다고 하면 패킷은 IP헤더를 포함해 500byte마다 나눠져 전송되게 된다. 이런 fragmentation을 추후 다시 합칠 때 사용하기 위해 ID값이 필요하다. 

 

6. Flag 

3비트 값으로 사용하지 않는 1비트, fragementation의 사용 가능 여부를 적은 DF비트, 이후 쪼개진 패킷의 유무 여부를 적은 More Fragment MF비트로 존재한다. 가령 4개의 fragment가 되었다면 앞의 3개의 패킷읜 MF비트가 1로 설정되고 마지막 fragment에는 MF비트가 0이 된다. 

 

7. Fragment offset

fragment시 재조합을 위해 참고할 이전 byte의 위치값이 들어가게 된다. 

 

8. TTL(Time To Live)

경로 오류 등으로 loop 발생 등의 문제를 해결하기 위해 경로를 지날 때마다 1씩 줄어드는 값이다. TTL값이 0이 되면 Drop이 되어, 데이터가 영구적으로 사라지지 않는 무한 loop문제를 해결한다. 

 

9. Protocol

현재 헤더의 헤더의 프로토콜 정보를 담은 필드. 프로토콜 

 

10. Header Checksom

데이터의 이상 여부를 체크하는 값. 

 

11. Souce IP Address, Destination IP Address

보내는 IP주소, 목적지 IP주소의 값을 적는 부분 

 

12. Option

다양한 추가 기술들. 자주 사용하지는 않는다. 

 

13. Padding

4byte단위로 끊어지지 않는 부분을 4byte 단위로 맞추기 위한 필드 

728x90

'컴퓨터' 카테고리의 다른 글

Subnet & Supernet  (0) 2024.06.30
IPv4 Address Format  (0) 2024.06.23
mybatis의 clob merge 오류 트러블 슈팅  (0) 2024.03.26
재미있는 QR 코드 만들기  (0) 2024.03.14
직장을 다니며 공부하기 - JPA 사용, React 연결  (4) 2024.02.07