[Network] IP Header, TTL, ICMP

공부한 내용 정리하는 공간입니다.

틀린 내용이 있을 수 있습니다.

모든 지적, 첨언 환영합니다.

IP Header

기본 20byte + 옵션 0~40byte = 최대 60 byte

Data가 필수로 존재, payload되지 않아도 가짜값으로 전송

 

기본 헤더
20 Byte
Version IP 버전
Header length IP Header 길이
Service field(type) 서비스 품질(Qos) 지정 (우선순위, 지연 최소화 등)
Total length 전체 크기 (패킷 크기)
Identification 식별자 like TCP Sequence number
Flags 단편화 관련 정보
(마지막 비트가 1이면 다음에 단편화 데이터가 더 있음을 의미)
Fragmentation offset 단편화된 데이터 시작 위치 (8byte 단위로 계산해서 사용)
Time to live (TTL) 패킷 생존 시간
Protocol Data 종류 (상위 계층 프로토콜 식별)
Header checksum 오류점검코드
(헤더만 점검, 데이터의 오류는 점검 불가능)
Source IP address 송신지 IP 주소
Destination IP address 수신지 IP 주소
옵션
0~40 Byte
Option 선택사항

 

단편화 관련 IP Header Field : Identification, Flags, Fragmentation offset

 


TTL (Time To Live)

패킷 생존 시간

통과하는 최대 홉(hop) 수

hop을 지날 때마다 1씩 감소

0이 되면 폐기

    >수신지가 아닌 폐기된 라우터에서 응답 전송

OS 종류와 버전에 따라 TTL 값이 다름

너무 작으면 수신지 도착 전에 폐기됨

너무 크면 루핑이 발생해도 멈추지 않고 계속 전송 진행

 


ICMP (Internet Control Message Protocol)

IP Protocol의 단점을 보완하기 위한 프로토콜

네트워크 상태 진단, 패킷이 목적지에 정상적으로 도착했는지 확인하는 역할

IP Protocol과 연결되어 있기 때문에 wireshark에서 IP까지 3개의 상세 정보를 확인할 수 있음

독립 사용 X (IP의 Data에 포함되어 있음)

ICMP를 사용하는 기능 : ping, tracert

Header
8 byte
Type ICMP 메세지의 목적과 용도
Code
Checksum 오류점검코드
Rest of the header 메세지 타입에 따라 다르게 사용
Data Data section  

 

    >Type=0, Code=0 : Echo Reply (ping reply), 질의 메세지

    >Type=3 : Destination Unreachable (목적지 도착 불가), 오류 보고 메세지

    >Type=4 : 데이터 양이 많아 패킷이 폐기되었음을 알려줌 (발신지 억제), 오류 보고 메세지

    >Type=5 : 더 나은 경로가 있음을 알려줌 (재지정), 오류 보고 메세지

    >Type=8, Code=0 : Echo Request (ping 요청), 질의 메세지

    >Type=11 : Time exceeded (시간초과, TTL 만료), 오류 보고 메세지