wa_ter_ve
인터넷 프로토콜(IP) - ① 데이터그램 본문
참조 교재: Wireshark로 배우는 컴퓨터 네트워크
🌐 인터넷 프로토콜
- TCP/IP 프로토콜이 사용하는 전송 메커니즘
- 신뢰성이 없고 최선의 노력 전달 서비스 제공
- 데이터그램 방식을 사용하는 패킷 교환망을 위해 설계된 비연결형 프로토콜
➡️ 비신뢰성(Unreliable)
IP 데이터그램이 목적지에 성공적으로 도달한다는 것을 보장X
➡️ 비접속형(Connectionless)
전달되는 데이터그램에 대해 상태 정보 유지X
➡️ 주소 지정
네트워크 상에 접속해 있는 각각의 노드에 주소를 지정해서 데이터를 전송할 목적지를 지정
➡️ 경로 설정
IP의 주요 기능으로서, 목적지 주소를 가지고 패킷을 전송하기 위하여 최적의 경로를 설정해 주는 역할
IP데이터그램
: IP 계층의 패킷
- 가변 길이 패킷으로 '헤더 + 데이터' 부분으로 구성
- 헤더: 20 바이트 ~ 60 바이트
- 라우팅(경로지정)과 전달에 필요한 정보 포함
- TCP/IP에서는 헤더를 4 바이트 단위로 표시
#️⃣ 헤더 내의 필드
ⓐ 헤더 길이 (HLEN)
- 4 비트로 구성
- 데이터그램 헤더의 전체 길이를 4 바이트 단위로 표시
- 선택사항(Option)을 포함한 헤더의 길이
- 옵션이 추가되지 않은 헤더는 20 바이트(0101)로 표시
- 옵션이 추가되는 경우는 최대 60 바이트
ⓑ 서비스 유형 (TOS, Type-Of-Service)
: 데이터그램이 어떻게 처리되어야 하는가를 정의
- 8비트로 구성
- 현재는 차별화 서비스(Differentiated Services) 집합으로 부름
- 6비트는 코드포인트 부필드이고, 2비트는 사용하지 않음
✓ 코드포인트 부필드 (오른쪽 3 비트 = 0)
- 왼쪽 3 비트는 서비스 유형에서의 우선순위와 같은 의미
- 우선순위는 혼잡과 같은 문제가 발생하였을 경우 데이터그램의(0 부터 7 사이의) 우선순위를 정의
- 만약 라우터에 혼잡이 발생하여 데이터그램 일부를 폐기해야 한다 면 가장 낮은 우선순위 값을 가진 데이터그램이 가장 먼저 폐기
✓ 코드포인트 부필드 (오른쪽 3 비트 ≠ 0)
- 6비트는 인터넷이나 지역 당국에 의해 부여된 우선순위에 따라 56가지의 서비스를 정의
- 처음 범주는 24개의 서비스를 포함하고 인터넷 당국(IETF)에 의하여 지정
- 두 번째 범주는 16개의 서비스를 포함하고 지역 당국(기관)에 의해 지정
- 세 번째 범주는 16개의 서비스를 포함하고 임시로서 실험적 목적으로 사용
될 수 있음
ⓒ 전체 길이 (Total Length)
: 헤더+데이터
- 16비트로 구성
- IP 데이터그램의 전체 길이를 바이트로 표현
- 최대 65,535바이트
데이터 길이 = 전체 길이 - 헤더길이
ⓓ 식별 (Identification)
: 단편화를 위하여 사용하는 필드
- 16비트로 구성
- 호스트가 보낸 각 데이터그램을 유일하게 식별
- 단편화가 생기면 플래그 필드와 단편화 옵셋을 사용
- 분할된 패킷은 동일한 식별자를 가짐
ⓔ 플래그 (Flags)
: 단편화를 위해 사용
- 3비트로 구성
ⓕ 단편화 옵셋 (Fragmentation Offset)
: 단편화된 조각들을 하나의 데이터그램으로 합칠 때,
전체 데이터 그램에서의 상대적인 위치를 표시
- 13비트로 구성
ⓖ 수명 (Time-To-Live)
: 데이터그램이 지날 수 있는 '라우터의 수(Hop count)'에 대한 상환을 설정하여 생존 시간을 제한
- 8비트로 구성
- 인터넷을 통해 전달되는 동안 제한된 수명을 가짐
- 두 호스트 사이에 있는 라우터 수의 대략 두 배로 설정
- 방문되는 라우터에 의해 감소, 필드의 값이 0이 되면 데이터그램 폐기
ⓗ 프로토콜 (Protocol)
: IP계층의 서비스를 사용하는 상위 계층 프로토콜을 정의
( TCP, UDP, ICMP, IGMP와 같은 여러 종류의 상위 계층 프로토콜을 캡슐화)
- 8비트로 구성
ⓘ 검사합 (Checksum)
: 오류 확인을 위한 검사합
- 16비트로 검사
ⓙ 발신지 주소 (Source Address)
: 발신지의 IP주소를 정의
- 32비트로 구성
- IP 데이터그램이 발신지에서 목적지까지 전달되는 동안 변해서는 안 되는 값
ⓚ 목적지 주소 (Destination Address)
: 최종 목적지의 IP주소
- 32비트로 구성
- IP 데이터그램이 발신지에서 목적지까지 전달되는 동안 변해서는 안 되는 값
데이터그램
#️⃣ IPv6 데이터그램
: 각 패킷은 필수적인 기본 헤더 + 페이로드로 구성
► 기본 헤더
- 40바이트로 구성
► 페이로드
- 선택적인 확장 헤더와 상위 계층에서 온 데이터로 구성
- 최대 65,535바이트로 구성
#️⃣IPv6 데이터그램의 기본 헤더
💠버전(version)
- 4비트로 구성
- IP의 버전을 정의 (IPv6의 경우에는 6)
💠 트래픽 클래스(traffic class)
- 8비트로 구성
- 서로 다른 전달 요구사항을 갖는 페이로드를 구분하는 데 쓰임
- IPv4의 서비스 클래스 필드를 대신함
💠 흐름 레이블(flow label)
- 20비트로 구성
- 특정 데이터의 흐름을 특별하게 제어하기 위해 설계
► 흐름 레이블
: IPv6에서는 흐름 레이블이 IPv6 데이터그램의 형식에 추가되어, IPv6를 연결 지향 프로토콜로 사용할 수 있게 해줌
🔸{ 흐름 레이블의 효과적인 사용을 위한 방법 }
- 흐름 레이블은 발신지 호스트에 의해 패킷에 할당
- 호스트가 흐름 레이블을 제공하지 않으면 이 필드를 0으로 설정
- 만약 라우터가 흐름 레이블을 제공하지 않으면 흐름 레이블을 단순히 무시
- 동일 흐름에 속하는 모든 패킷은 동일 자원, 동일 목적지, 동일 우선권, 동일 옵션을 가져야 함
💠 페이로드 길이(payload length)
- 16비트로 구성
- 기본 헤더를 제외한 IP 데이터그램의 전체 길이를 정의
💠 다음 헤더(next header)
- 8비트로 구성
- 데이터그램에서 기본 헤더 다음의 헤더를 정의
- 선택적인 확장 헤더이거나 UDP 또는 TCP와 같은 상위 계층 프로토콜을 위한 헤더 (IPv4에서의 protocol)
💠 홉 제한(hop limit)
- 8비트로 구성
- IPv4의 TTL 필드와 같은 목적으로 사용
💠 발신지 주소(source address)
- 128비트로 구성
- 데이터그램의 원래 발신지 주소를 식별하는 인터넷 주소
💠 목적지 주소(destination address)
- 128비트로 구성
- 데이터그램의 최종 목적지를 식별하는 인터넷 주소
#️⃣ IPv4와 IPv6 헤더 비교
- v6은 헤더의 길이가 고정되어 있기 때문에 헤더 길이 필드가 없음
- 서비스 유형 필드는 없고 트래픽 클래스와 흐름 레이블 필드가 서비스 유형 필드의 기능을 대신
- 총 길이 필드는 IPv6에는 없고 페이로드 길이 필드로 대치
- '식별, 플래그, 옵셋 필드'는 IPv6 기본 헤더에는 없고, 이 필드는 단편화 확장 헤더에 포함
- TTL 필드는 IPv6에서 홉 제한(hop limit)으로 불림
- 프로토콜 필드는 다음 헤더 필드로 대치
- 헤더 검사합은 상위 계층 프로토콜에 의해 제공되므로 네트워크 계층에서는 필요 없음
- IPv4에서 옵션 필드는 IPv6에서는 확장 헤더로 구현
'공부 > 컴퓨터네트워크' 카테고리의 다른 글
인터넷 프로토콜(IP) - ④ 검사합 & IP패키지 (0) | 2024.06.08 |
---|---|
인터넷 프로토콜(IP) - ③ 옵션 (0) | 2024.06.04 |
인터넷 프로토콜(IP) - ② 단편화 (0) | 2024.06.03 |
주소 변환 프로토콜(ARP) (0) | 2024.05.30 |
근거리 통신망: 유선 이더넷 (0) | 2024.05.29 |