티스토리 뷰
IPv4 프로토콜은 가장 대표적인 네트워크 계층의 프로토콜이며, 하위 계층의 서비스를 이용하여 두 노드 간 데이터 전송 경로를 확립하기 위해 사용한다.
▶IPv4 Header
▷ version: 인터넷 프로토콜 버전으로 IPv4는 4, IPv6은 6
▷ Header length:
IP 프로토콜 헤더의 길이 (word 단위)
4bit로 실제 데이터가 시작하는 곳을 결정한다.
32bit (4byte) 단위로 헤더 길이를 표시한다.
이진수 = 십진수 * 4byte= header 전체 길이
0101 = 5 * 4byte = 20byte (옵션 미지정된 일반적인 IPv4 해더 길이)
1111 = 15 * 4byte = 60byte 해더 최대 길이
즉 IPv4에서 대부분 옵션을 사용하지 않으므로 보통 IPv4 데이터그램 헤더는 20byte 이다.
최대 60byte가 될 수 있다.
IPv6는 고정 크기 헤더로 기본 40byte로 고정되있다.
▷ Type of service:
전부 0으로 설정된 경우 표준 서비스를 의미한다.
현재 대부분의 NOS를 포함한 OS에서 지원되지 않지만 일부 BSD 계열과 OSPF등의 라우팅 프로토콜은 이를 기반으로 경로 선택이 가능하다.
교환하는 데이터의 종류에 따라 지연 통신효율, 신뢰성의 우선순위를 지정할 수 있음,
데이터그램에 기대되는 QoS(Quality of Service)를 지시하는 8bit 코드
• 구조
• Precedence(선행)필드 : 3bit
현재는 무시됨
- Bit 0-2(0번째 bit부터 2번째 bit) : Precedence (우선순위 8단계)
. 000 : Routine (Normal)
. 001 : Priority
. 010 : Immediate
. 011 : Flash
. 100 : Flash Override
. 101 : Critical
. 110 : Internetwork Control (OSPF에서 셋팅됨)
. 111 : Network Control
• TOS(Type -Of -Service) 필드 : 4bit
- Bit 3 : Delay (최소 지연)
. 0 : 보통의 지연, 1 : 높은 지연
- Bit 4 : Throughput (최대 처리율)
. 0 : 보통 처리율, 1 : 높은 처리율
- Bit 5 : Reliability (최대 신뢰성)
. 0 : 보통 신뢰성, 1 : 높은 신뢰성
- Bit 6 : Minimum Cost (최소비용)
• 사용안함
- Bit 7: 항상 0으로 세팅됨
여러 응용 프로그램에 대한 TOS의 권고 값.
▷ Total length: IP의 프로토콜 헤더에 계속되는 데이터도 포함한 IP 패킷의전체길이
▷ Identification: 호스트가 연속적으로 전송하는 각 데이터그램을 식별하기 위한 번호
▷ Flags:
IP데이터그램이분할(Fragment)에 관한 정보를 나타냄
• 첫번째비트 : 사용안함
• 두 번째 비트 : Do not fragment
• 세 번째 비트 : More fragment
▷ Fragment Offset: 각 프래그먼트의 원 데이터에 있어서의 위치를 바이트 단위로 나타냄
▷ TTL: Time To Live의 약자로 통과가능한 라우터의남은 수, 라우터를 경유할 때마다 이 값이 하나씩 줄어든다.
▷ protocol type:
데이터에 포함되는 상위 프로토콜의 종류
데이터부분이 전달될 수신지의 트렌스포트 계층 프로토콜을 명시한다.
역할 : 네트워크와 트렌스포트 계층을 하나로 결합한다.
IP 데이터그램이 최종 수신지에 도착했을 때만 사용된다.
1 = ICMP
6 = TCP
17 = UDP
▷ header checksum:
IP 프로토콜 헤더 자체의 내용이 바르게 교환되고 있는가를 점검한다
체크섬의 장점은 체크섬을 하나 안하나 속도 차이가 없다.
수신된 패킷안에서 IP헤더 자체의 데이터를 검사하는데 사용한다
라우터는 수신하는 IP데이터그램마다 인터넷 체크섬을 계산하고 이 값과 데이터그램의 체크섬이 다르면 오류 상태임을 검출하고
보통 오류가 검출된 데이터그램을 폐기한다.
'Network' 카테고리의 다른 글
[TCP/IP 아키텍쳐] TCP header의 구조 (0) | 2022.03.23 |
---|---|
[TCP/IP 아키텍쳐] UDP header의 구조 (0) | 2022.03.23 |
[TCP/IP 아키텍쳐] ARP protocol 의 구조 (0) | 2022.03.23 |
[TCP/IP 아키텍쳐] Ethernet header의 구조 (0) | 2022.03.23 |
[Network] 네트워크 구조와 헤더의 이해 (0) | 2022.03.21 |
- javascript
- 인천 구월동 이탈리안 맛집
- Promise
- 이탈리안 레스토랑
- react-native
- 파니노구스토
- 인천 구월동 맛집
- 정보보안기사 #실기 #정리
- redux-thunk
- AsyncStorage
- redux
- react
- Async
- 맛집
- await
- Total
- Today
- Yesterday