지니의 따듯한 공간
데이터 그램 2 본문
식별 (identification) 2byte
- IP 단편화에 사용되며 각 데이터그램 마다 고유하게 설정
- 단편화된 IP 패킷들을 재조립 할 때 사용
플래그(flags) 3bit
- 단편화를 위해 사용
단편화 옵셋 ( fragmentation offset) (13 bit)
- 단편화를 위해 사용
수명(time to live) (1 byte) : 데이터그램의 수명
- IP 데이터그램이 활동할 수 있는 최대 시간
-> 최소 : 1, 최대 2의8승-1 : 255 값 지정
- 라우터를 통해 갈 때마다 1씩 감소, 0이 되면 폐기 ( hopping 될 때 마다 ) 스위치는 홉핑 안된다. TTL 안 줄어든다.
13~14번 정도의 홉핑이면 한국->미국 정도 ㅎ.ㅎ
백두산 화산 폭발 !?
Linux에서 발생하는 패킷과 윈도우에서 발생하는 패킷이 어떻게 다른지 볼까? -> wireshark로 실습 해보자 !
자바는 Uni code (2byte) 어떤 언어를 넣어도 공간이 남는다. 2byte 코드 체계이기 때문에.
아스키코드는 1 byte 코드 ( 7bit는 , 1bit는 패리티비트 )
한글은 아스키코드 값이더라도 2byte로 표현.
Parity
- odd : 홀수 체계 / 1byte를 읽었을때 홀수여야만 한다.
- even : 짝수 체계 /
검사 합 (cheeksum) 2byte
- 오류 확인을 위한 검사 합
발신지 주소 (source address)
- 32bit 필드로 발신지의 IP주소를 정의
- IP 데이터그램이 발신지에서 목적지까지 전달되는 동안 이 값은 변해서는 안된다.
목적지 주소 (destination address)
- 32bit 필드로 목적지의 IP 주소를 정의
- IP 데이터그램이 발신지에서 목적지까지 전달되는 동안 이 값은 변해서는 안된다.
옵션 (options)
- 경로설정, 타이밍, 관리, 정렬 등 표준 IP 헤더에 없는 정보 송신
- IP 헤더 길이가 20byte를 넘을 경우에 이 값이 존재
PAD (Padding : 0~24bit)
- Option 필드 길이가 4byte의 배수가 되지 않을 때 사용하며,
Padding을 붙여 4byte의 배수가 되게 한다.
※Header Length 필드가 4byte 단위의 크기를 가지므로 4의 배수가 아닐시 0을 덧 붙인다.
IPv6 데이터그램
각 패킷은 필수적인 기본 헤더 및 페이로드로 구성
페이로드는 두 필드인 선택적인 확장 헤더와 상위계층에서 온 데이터로 구성
기본 헤더는 40byte / 페이로드 최대 65,535byte까지 차지
버전(version)
- 4bit로 구성
- IP버전 정의
트래픽 클래스 (traffic class)
- 8bit로 구성
- 서로 다른 전달 요구사항을 갖는 페이로드를 구분하는데 쓰임
- IPv4의 서비스 클래스 필드를 대신한다
흐름 레이블 (flow label)
- 20bit로 구성되며 특정 데이터의 흐름을 특별하게 제어하기 위해 설계
페이로드 길이 (payload length)
- 2byte로 구성된 페이로드 길이 필드는 기본 헤더를 제외한 IP 데이터그램의 전체 길이를 정의
다음 헤더 (next header)
- 데이터 그램에서 기본헤더 다음의 헤더를 정의하는 8bit 필드
- 다음 헤더는 IP에 의해 이용되는 선택적인 확장 헤더이거나,
UDP 또는 TCP와 같은 상위 계층 프로토콜을 위한 헤더
홉 제한 (hop limit)
- 8 bit로 구성
- IPv4의 TTL필드와 같은 목적으로 사용
발신지 주소
목적지 주소
흐름 레이블
- IPv6에서는 흐름 레이블(flow label)이 IPv6 데이터그램의 형식에 추가되어
IPv6을 연결 지향 프로토콜로 사용 할 수 있게 해준다.
※IPv4는 비연결형 프로토콜이다. 라우터의 역할은 보내기만 한다.
흐름 레이블의 효과적인 사용을 위한 방법
- 흐름 레이블은 발신지 호스트에 의해 패킷에 할당
- 호스트가 흐름 레이블을 제공하지 않으면 이 필드를 0으로 설정하고, 만약 라우터가 흐름 레이블을
제공하지 않으면 흐름 레이블을 단순히 무시
- 동일 흐름에 속하는 모든 패킷은 동일 자원과 동일 목적지, 동일 우선권, 동일 옵션을 가짐
※ IPv4와 IPv6 헤더 비교
- IPv6에서 헤더의 길이는 고정되어 있기 때문에 헤더 길이 필드가 없음
- IPv6에서 서비스 유형 필드는 없고 트래픽 클래스와 흐름 레이블 필드는 서비스 유형 필드의 기능을 대신 함
- 총 길이 필드는 IPv6에는 없고 페이로드 길이 필드로 대치 됨
- 식별(identification), 플래그(flag)및 옵셋(offset)필드는 IPv6 기본 헤더에는 없고, 이 필드는 단편화 확장 헤더에 포함
- TTL 필드는 IPv6에서 홉 제한(hop limit)으로 불림
- 프로토콜 필드는 다음 헤더 필드로 대치 됨
- 헤더 검사합(checksum)은 상위 계층 프로토콜에 의해 제공되므로 네트워크 계층에서는 필요 없음
- IPv4에서 옵션 필드(option field)는 IPv6에서는 확장 헤더로 구현 됨
IPv4 에서 페이로드 구하는 공식 : TotalLength - ( 헤더 ) x4 = payload
TTL 최대 길이는 보통 64 / ? / 256 으로 나뉜다.
ping명령어의 TTL로 이 서버가 윈도우 서버인지, 리눅스 서버인지, (OS 및 서버 버전) 및 홉의 개수 확인 가능
'Network > Network Analysis' 카테고리의 다른 글
ICMP (2) Query (0) | 2019.04.30 |
---|---|
단편화 및 검사합 (0) | 2019.04.15 |
IPv6 주소 체계 (0) | 2019.04.15 |
데이터그램 (Datagram) 이란? (0) | 2019.04.09 |
Ethernet II 프레임 형식 (0) | 2019.04.02 |