- IPv4
- IPv4는 3자리 숫자 * 4마디(총 12개의 숫자)로 구성되고, 각 마디를 옥텟(octet) 이라고 부르며, 옥텟은 0부터 255까지의 숫자를 가진다.
- 시대가 흘러갈수록 ip 주소 고갈 현상이 발생 → 전 세계 컴퓨터를 비롯한 다양한 기기도 고유한 ip 주소를 가져야 하기 때문
- 수가 유한하기 때문에 이후 IPv6가 탄생
- IP 주소의 분류
- 클래스
- A 클래스 : 대규모 네트워크 환경에 사용 (1~126)
- B 클래스 : 중규모 네트워크 환경에 사용(129~191)
- C 클래스 : 소규모 네트워크 환경에 사용(192~223)
- D,E 클래스 : 연구/개발용 ip 주소 (224~)
- 사용 범위
- 공인 IP 주소(Public IP 주소) :
- 공유기를 사용하지 않는 한 컴퓨터 등에서 사용하는 대부분의 ip 주소는 Public 이다.
- 이 주소는 외부로 공개되어 있어서 다른 컴퓨터 등에서 검색, 접근이 가능하다.
- 공인 ip 주를 사용하려면 방화벽 같은 보안 장비가 반드시 필요하다.
- 보통 가정집에서 사용하는 인터넷 서비스 회사에서는 보안 서비스를 기본적으로 제공한다.
- 가상 IP 주소(Private IP 주소)
- 사설 ip 주소 라고도 한다.
- 외부에 공개되지 않아 외부에서 검색, 접근이 불가능하다.
- 이 가상 ip 주소는 주소 대역이 아래 3개로 고정되어있다.
- 공인 IP 주소(Public IP 주소) :
- ip 주소 부족
- IPv4의 한계상 ip 주소가 부족해지는 현상이 나타난다. 1인당 가지고 있는 네트워크 기기는 컴퓨터, 노트북, 핸드폰, 태블릿 등 너무 많다.
- 이러한 전자 기기들에 할당할 공인 ip주소가 부족하다.
- 그래서 가상 ip 주소를 사용하면, 컴퓨터가 10대, 100대가 있어도 하나의 공인 ip 주소만 공유기에 할당하고, 모든 컴퓨터들은 가상 ip 주소를 각각 할당받아 인터넷에 접속 할 수 있게 된다.
- 보안
- 가상 ip주소가 할당된 컴퓨터 등은 외부에서 검색, 접근이 기본적으로 불가능하다.
- 일반적으로 인터넷 공유기가 그러한 보안장비 역할(네트워크 방화벽) 역할을 수행한다.
- 할당 방식누군가는 그 ip 주소를 해당 전자기기에 배급/ 할당 해 주어야 한다.공인 ip 주소 라면 해당 인터넷 서비스 업체의 주소 할당 서비스가,이 때,자동으로 설정할지, 수동으로 설정할지 선택 가능하다.
- 고정 ip 주소
- 사용자가 직접 IP 주소를 입력해 주소를 설정하는 방식
- 주소가 변경면 안되는 컴퓨터 등에 적합한 방식. 일반적으로는 사용하지 않는다.
- 파일 공유 서버 등에 사용( 서버에 접속하려고 할때마다 새로운 ip 주소를 찾고 입력해야 한다면 고역일 것이다)
- 유동 ip 주소
- IP 주소를 할당하는 특정 서버가 보내주는 정보 그대로 컴퓨터에 자동 설정되는 방식 → 이를 DHCP 서비스 라고 한다.
- DHCP 서비스가 동작하는 과정
- 컴퓨터가 부팅되며 DHCP 서버가 존재함을 탐지한다.
- DHCP 서버는 컴퓨터에 IP 주소 등이 할당되어 있는지 확인한다.
- 컴퓨터가 DHCP 서버에 IP 주소 할당을 요청한다.
- DHCP 서버는 IP 주소 할당 현황에 따라 IP 주소 등의 정보를 컴퓨터에 할당한다.
- 실생활에서는 인터넷 공유기가 가상 IP 주소를 생성(NAT 서비스) 하여 각 컴퓨터 등에 자동 할당 (DHCP 서비스)하는 역할을 한다
- DHCP 서비스가 동작하는 과정
- IP 주소를 할당하는 특정 서버가 보내주는 정보 그대로 컴퓨터에 자동 설정되는 방식 → 이를 DHCP 서비스 라고 한다.
- 고정 ip 주소
- 이 과정에서 ‘고정IP 주소’ , ‘유동 IP 주소’라는 개념이 나오게 된다.
- ip 주소를 할당 받는 전자 기기는 그러한 배급/ 할당 과정을
- 가상 ip 주소라면 인터넷 공유기가 ip 주소의 배급/ 할당 역할을 수행한다.
- (’누군가’는 주로 서버 시스템이다.)
- 앞에서 본 공인 ip 주소든 가상 ip 주소든 컴퓨터 등의 전자 기기에 ip 주소를 할당하려면,
- 클래스
- 192.168.0.19와 같은 가상 ip 주소(private IP 주소)가 할당된다.
- 100.100.123.123 이라는 공인 ip 주소는 공유기 ip 주소가 되고,
- 100.100.123.123 이라는 공인 ip 주소를 가진 컴퓨터가 있을 때,
- IP 주소의 분류
- IPv6
- IPv4의 주소 부족 문제를 해결하기 위해 탄생
- IPv4에서는 32개의 이진수로 처리
- IPv6 128개의 이진수로 처리 → 수가 거의 무한대
- 모든 기기들에게 공용 ip를 부여할수 있게 됨 → 모든 기기들이 각자 통신가능
- IP 데이터 그램 헤더의 형식
- IP가 사용하는 패킷을 데이터그램(datagram)이라고 한다.
- 가변 길이 패킷(내용에 따라 크기가 변함)이며, 헤더와 페이로드(내용물, 데이터)로 구성된다.
- 헤더는 20~60바이트 길이이며, 라우팅 전송에 필요한 정보를 가지고 있다.
- IPv4 데이터그램의 구성요소32bits = 4byte
- 1층 : VER(4bits), HLEN(4bits), Service Type(8bits), Total Length(16bits)
- 2층 : Identification(16bits), Flags(3bits), Fragmentation Offset(13bits)
- 3층 : Time-to-Live(8bits), Protocol(8bits), Header Checksum(16bits)
- 4층 : Source Ip Address(32bits)
- 5층 : Destination IP Address (32bits)
- 헤더 : 20~60바이트
- IPv4 데이터그램의 구성요소32bits = 4byte
용어 정리
<aside> 💡 1층
</aside>
- VER(버전 숫자) : 4비트의 버전 숫자 필드는 IP 프로토콜의 버전을 정의한다. IPv4는 4의 값을 가지고 있다. 2진수로 0100
- HLEN(헤더 길이) : 4비트 길이의 헤더 길이 필드는 데이터그램 헤더의 전체 길이를 4비트로 표현한다. 4비트로 표현할 수 있는 범위는 0~15까지 이고, 헤더의 크기는 최대 60이니, HLEN의 1은 4바이트를 나타낸다. HLEN이 5(0101)이면 헤더는 20바이트, 15(1111)이면 헤더는 60바이트이다.
- Service Type(서비스 유형) : 데이터그램을 어떻게 처리할지를 정의하는 서비스의 유형(TOS)을 나타낸다. 예를 들자면 우체국에서 편지를 보낸다고 해도, 일반우편, 등기우편 등 여러 종류의 서비스가 있다. 그걸 정의하는 필드가 여기다.
- Total Length(전체 길이) : IP 데이터그램의 전체 바이트 수를 정의하는 16비트 길이의 필드다. 16비트의 숫자는 65,535까지 길이를 나타낼 수 있다.
<aside> 💡 2층
</aside>
단편화(Fragmentation)가 필요할 때 쓰는 필드
단편화란 데이터그램을 보낼 때, 라우터에서 받아들일 수 있는 최대용량 (MTU, Maximum Transmission Unit)보다 데이터그램이 클 경우, 데이터를 분할(단편화) 시켜서 보내야 한다. 그 때, 어디서부터 어디까지가 같은 데이터그램인지를 나타내는 것이 2층의 역할이다.
- 식별자(Identification), 플래그(Flags), 분할 오프셋(Fragmnetation Offset) : 데이터그램을 분할(Fragmentation), 재조립(Reassembly) 할때 사용되는 필드
<aside> 💡 3층
</aside>
- TTL(Time-TO-Live) : 데이터그램이 얼마동안 살아있을 수 있는지 나타내는 곳이다. 데이터그램이 방문할 수 있는 최대 라우터 수를 정의. 보통 이 값은 일반 호스트 사이에 라우터 수의 약 2배로 정한다(왔다 갔다 할 수 있는 시간)
- Protocol(프로토콜) : 어떤 프로토콜로 처리할 건지 정의
- Header Checksum(헤더 체크섬) : 간단한 오류검사용 체크섬
<aside> 💡 4, 5층
</aside>
- IPv4 네트워크 길이는 32비트이다. 그래서 송신지 주소(Source Ip Address), 수신지 주소(Destination IP Address)의 길이가 각각 32비트다.
참고 자료
'네트워크' 카테고리의 다른 글
ICMPv4 & IGMPv2 (0) | 2023.07.22 |
---|---|
ARP & RARP (0) | 2023.07.22 |
패킷의 전달과 라우팅 (0) | 2023.07.22 |
네트워크 계층과 논리 주소 (0) | 2023.07.22 |
네트워크 구성장비 (0) | 2023.07.22 |