IP(Internet Protocol)란?
IP란 송신자와 수신자가 패킷 교환 네트워크에서 데이터를 교환할 때 사용하는 통신 규칙입니다.
국제표준화기구(OSI) 기본 참조 모델을 기준으로 하며, Internet Protocol을 줄여서 IP라고도 하며 IP 정보 전송은 IP 계층의 패킷인 데이터 그램을 나누어 전송하여 이루어집니다.
IP 특징
1. 비연결형 서비스의 데이터그램 방식입니다.
2. 비신뢰성입니다.
- 에러 제어를 하지 않아 잘못된 패킷을 재전송하는 복구작업을 하지 않습니다.
- 흐름 제어를 하지 않아 송·수신 측간의 데이터 처리 속도 조절을 하지 않습니다.
3. 옵션에 따라 헤더의 길이가 가변적으로 변합니다. (옵션이 없는 경우 기본 20 Byte)
IP 주소(IP adress)란?
네트워크에서 서로 통신하기 위해 서로 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소입니다.
단편화
한 네트워크에서 통과시킬 수 있는 최대 Byte가 정해져 있기에 전달할 수 있는 최대 전송량인 MTU(Maximum Transfer Unit)에 따라 IP 데이터그램을 잘라야하는데 이런 네트워크 전송 가능량에 맞추어 데이터그램을 자르는 행위를 단편화라고 합니다.
● IPv4
IPv4 Header 필드 설명
버전(Version) - 4Bit
IP 버전을 나타냅니다.
헤더 길이(IHL : Internet Header Length) - 4Bit
헤더의 길이를 나타내는 필드로 옵션에 따라 길이가 가변적으로 변경될 수 있기에 헤더 위치를
구분하기 위해 필요합니다.
서비스 타입(TOS : Type Of Service) - 8Bit
서비스의 우선순위를 제공합니다.
패킷 길이(Total Length) - 16Bit
전체 IP 패킷의 길이를 바이트 단위로 표시합니다.
식별자(ID : identification) - 16Bit
데이터를 식별하는 필드로 단편화된 데이터를 재조립할 때 식별자를 이용하여 복구합니다.
플래그(Flags) - 3Bit
3비트로 구성되며 각 비트의 의미는 다음과 같습니다.
비트 | 의미 |
첫 번째 비트 (예약된 비트) | 사용되지 않습니다. |
두 번째 비트 (D 비트) | 단편화 금지를 나타냅니다. 0 - 단편화 가능 1 - 단편화 불가능 |
세 번째 비트 (M 비트) | 추가 단편화 비트입니다. 1 - 마지막 단편이 아닙니다. 0 - 마지막 단편이거나 유일한 단편입니다. |
프래그먼테이션 오프셋(FO : Fragment Offset) - 13Bit
저장된 원래 데이터의 바이트 범위를 나타낸다.
생존 시간(TTL : Time To Live) - 8Bit
패킷이 방문할 수 있는 최대 라우터의 수를 나타냅니다.
프로토콜(Protocol) - 8Bit
상위계층의 프로토콜을 표시합니다.
헤더 체크섬(Header Checksum) - 16Bit
헤더에 대한 오류 검출을 합니다.
송신지 IP 주소(source Adress) - 32Bit
출발지 IP 주소입니다.
수신지 IP 주소(Destination Adress) - 32Bit
목적지 IP 주소입니다.
옵션(Options)
가변적인 길이를 가지며 테스트나 디버그 등을 할 때 사용합니다.
패딩(Padding)
옵션 추가로 IP 헤더가 32Bit 단위로 끝나지 않을 경우 32Bit 단위로 끝날 수 있게 채워주는
부분입니다.
데이터(Data)
데이터입니다.
IPv4 특징
1. 8Bit씩 4부분, 총 32Bit로 구성되어 있습니다.
2. 세 가지 주소 유형이 있습니다.
- 유니캐스트(Unicast) : 단일 송신자와 단일 수신자 간의 통신(일대일(1:1) 통신에 사용)
- 멀티캐스트(Multicast) : 단일 송신자와 다중 수신자 간의 통신(일대다(1:N) 통신에 사용)
- 브로드캐스트(Broadcast) : 단일 송신자와 같은 네트워크에 있는 모든 수신자 간의 통신
(일대다(1:N 혹은 1:A) 통신에 사용)
3. 네트워크 부분의 길이에 따라 클래스를 구분합니다.
클래스 | 설명 |
A Class | 국가나 대형 통신망에 사용(0 ~ 127로 시작) - 0, 127번은 예약된 주소로 실질적으로 1~126 224 = 16,777,216개의 호스트 사용 가능 |
B Class | 중대형 통신망에 사용(128 ~ 191로 시작) 216 = 65,536개의 호스트 사용 가능 |
C Class | 소규모 통신망에 사용(192 ~ 223로 시작) 28 = 256개의 호스트 사용 가능 |
D Class | 멀티캐스트용으로 사용(224 ~ 239로 시작) |
E Class | 실험적 주소이며 공용되지 않음 |
[표-1] IPv4 주소 유형
● IPv6
IPv4의 주소 부족 문제를 해결하기 위해 개발되었습니다.
IPv6 Header 필드 설명
기본헤더
버전(Version) - 4Bit
IP의 버전을 나타냅니다.
트래픽 클래스(Traffic Class) - 8Bit
IPv6 패킷의 클래스나 우선순위를 나타냅니다.
플로 라벨(Flow Label) - 20Bit
데이터의 특정한 흐름을 위한 특별한 처리를 제공합니다.
페이로드의 길이(Payload Length) - 16bit
기본 헤더를 제외한 IP 데이터그램의 길이를 나타냅니다.
다음 헤더(Next Header) - 8Bit
기본 헤더 다음에 위치하는 확장 헤더의 종류를 표시합니다.
홉 리미트(Hop Limit) - 8Bit
IP 패킷이 전송되는 거리를 홉(hop) 단위로 제한할 때 사용하는 필드입니다.
송신지 IP 주소(Source Address) - 128Bit
출발지 IP 주소입니다.
수신지 IP 주소(Destination Address) - 128Bit
목적지 IP 주소입니다.
확장 헤더
기본 고정 헤더 뒤 선택적인 확장 헤더를 붙여 확장할 수 있습니다.
IPv6 특징
1. 16bit씩 8부분, 총 128Bit로 구성되어 있습니다.
2. IPv4와 호환성이 뛰어납니다.
3. 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제를 해결할 수 있습니다.
4. Traffic Class, Flow Label을 이용하여 등급별, 서비스별로 패킷을 구분할 수 있어
품질 보장이 용이합니다.
5. IPv6는 세 가지 주소 체계로 나누어집니다.
- 유니캐스트(Unicast) : 단일 송신자와 단일 수신자 간의 통신(일대일(1:1) 통신에 사용)
- 멀티캐스트(Multicast) : 단일 송신자와 다중 수신자 간의 통신(일대다(1:N) 통신에 사용)
- 애니캐스트(Anycast) : 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신
(일대일(1:1) 통신에 사용)
정리
구분 | IPv4 | IPv6 |
주소 길이 | 32Bit | 128Bit |
주소 개수 | 232개 | 2128개 |
표시 방법 | 8Bit씩 4부분 10진수 표시 (e.g., 255.255.255.0) |
16Bit씩 8부분 16진수 표시 (e.g., FFFF:FFFF:FFFF:1111) |
주소 할당 방식 | A, B, C, D, E 클래스 단위 비순차 할당 |
네트워크 규모, 단말기수에 따라 순차 할당 |
헤더 크기 | 가변 | 고정 |
보안 | IPSec 프로토콜 별도 설치 | IPSec 자체 지원 |
주소유형 | 유니캐스트, 멀티캐스트, 브로드캐스트 | 유니캐스트, 멀티캐스트, 애니캐스트 |
[표-2] IPv4, IPv6 비교표
참고 1. TCP/UDP 참고 2. OSI 7 계층(OSI 7 Layer) 참고 3. DNS(도메인 네임 시스템) |
'Network' 카테고리의 다른 글
[Network] TCP/UDP 헤더《TCP/UDP Header》 (0) | 2021.02.20 |
---|---|
[Network] TCP/UDP 대표 프로토콜《TCP/UDP Protocol》 (0) | 2021.02.20 |
[Network] OSI 7계층《OSI 7 Layer》 (0) | 2021.01.27 |
[Network] TCP와 UDP《TCP/UDP》 (0) | 2021.01.20 |
[Network] 프로토콜《Protocol》 (0) | 2021.01.05 |