[네트워크] 인터넷 프로토콜(IP), 데이터그램 구조와 단편화 오프셋 계산법
- 자격증,이론/정보보안기사
- 2020. 5. 27. 00:52
인터넷 프로토콜(IP) 개요
IPv4는 비신뢰적이고 비연결형의 데이터그램 프로토콜이다. 비신뢰적이기 때문에 신뢰성있는 전송을 위해선 TCP와 같이 신뢰성 있는 전송 계층 프로토콜과 함께 사용되어야 한다.
- 비신뢰성
- 비접속형
- 주소지정
- 경로설정
IPv4 데이터그램 구조
IP가 사용하는 패킷을 데이터그램이라고 한다. 가변길이의 패킷으로 헤더와 페이로드로 이루어져 있다.
위 그림에 나와있는 각 필드에 대해 간단히 알아보자.
버전숫자
- IP 프로토콜의 버전을 정의
헤더길이
- 데이터그램은 가변의 헤더를 가지게되기 떄문에 수신자가 데이터그램을 수신하면 헤더가 어디서 끝나고 패킷에 캡슐화된 데이터가 어디서 시작하는지 알아야 한다. 따라서 수신자는 전체 길이를 확인하기 위해 필드값에 4를 곱하게 된다.
서비스유형
- 데이터그램을 어떻게 처리할지를 정의
전체길이
- IP 데이터그램의 전체 바이트 수를 정의함
식별자 (단편화 관련)
- 데이터그램이 전송된 근원지 호스트를 구분
플래그 (단편화 관련)
- 세개의 비트로 단편화 관련 정보를 표시함
- 첫번째 비트 : 사용되지 않음
- 두번째 비트 : 단편화 금지 필드
- 세번째 비트 : 1이면 다른 단편이 더 있음을 의미, 0이면 마지막 단편이거나 오직 하나의 단편임을 의미
단편화 오프셋
- 전체 데이터그램에서 해당 단편의 상대적인 위치를 나타냄
생존시간
- TTL 필드는 데이터그램이 방문할 수 있는 최대 라우터 수를 정의함
프로토콜
- 근원지 IP에서 페이로드가 캡슐화될 때, 이 필드에 상응하는 프로토콜의 번호가 추가됨
헤더 검사합(체크섬)
- IP는 헤더를 검사하기 위한 검사합 필드를 추가함
근원지와 목적지주소
- 각각 소스IP와 목적지IP주소를 나타냄
옵션
- 데이터그램 헤더는 40바이트까지 옵션을 가질 수 있음
IP프로토콜의 단편화 오프셋 계산
위에서 단편화와 관련된 필드 3개를 살펴봤다. 예를들어, 최대 MTU가 1500이고 크기가 4000바이트인 데이터그램이 3개로 단편화될 때, 단편화 오프셋 값은 어떻게 될까?
4000바이트의 데이터그램, 3개의 단편화이다. 이 때, 단순히 2000바이트씩 쪼개기만 하는게 아니라 패킷도 IP 데이터그램 포맷에 맞춰야 한다. 헤더크기 20바이트를 고려하면 20바이트의 헤더와 3980의 페이로드로 이루어지게 된다. 여기서 3980이 왜 1480,1480,1020으로 나뉘는지 이해가 잘 안가는데 일단 MTU 값에서 헤더인 20을 뺀 것으로 이해하겠다... (틀렸다면 누군가 댓글좀 남겨주세요)
그리고 단편화 오프셋은 1480/8 = 185가 되고 오프셋은 185씩 증가하게 된다.
- 입력 패킷 : 20 + 3980 (3980 : 1480 + 1480 + 1020)
- 첫번째 단편 : 20 (헤더) + 1480 -> ID : x | flag : 1 | offet : 0
- 두번째 단편 : 20 (헤더) + 1480 -> ID : x | flag : 1 | offset : 185
- 세번째 단편 : 20 (헤더) + 1020 -> ID : x | flag : 1 | offset : 370
참고자료
[1] wogh8732.tistory.com/29
'자격증,이론 > 정보보안기사' 카테고리의 다른 글
[네트워크] IPv4의 개념과 IPv6의 등장 배경, 특징 및 비교 (0) | 2020.05.26 |
---|---|
[네트워크] OSI 7계층 정리 (기능, 특징 등) (0) | 2020.05.05 |
정보보안기사 7회 합격 수기 (5) | 2020.02.08 |