IP Address
IP 주소
개념
네트워크 환경에서 컴퓨터(노드)간 통신하기 위해 각 컴퓨터에 부여된 네트워크상의 주소
TCP/IP 프로토콜을 사용하는 네트워크와 연결된 모든 장치에 할당된 고유 식별자
표현
기본적으로 IP는 IPv4 형태
IP는 32비트 2진수로 표현 가능하며, 0 ~ 2^32개가 IP가 가질 수 있는 최대 갯수
IP의 8비트의 각각의 영역을 옥텟으로 지칭하여 구분하며 4개의 옥텟을 dot(
.
)로 구분함IP 주소 = 네트워크 주소 + 호스트 주소
IP는 네트워크 주소와 호스트 주소로 구분되며, 하나의 네트워크 상에 여러 호스트 주소가 있을 수 있음
네트워크 주소: 호스트들을 모은 네트워크를 칭함. 네트워크 주소가 동일한 네트워크를 로컬 네트워크라고 함
호스트 주소: 하나의 네트워크에 존재하는 호스트를 구분하기 위한 주소
ex)
192.168.0.103
에서192.168.0
은 네트워크 주소,103
은 호스트 주소
유형
공인 IP(Public IP) 주소
인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소로, 공용 IP라고도 불림
공인 IP는 전세계에서 유일한 IP 주소를 가짐
외부에 공개되어 있어 인터넷에 연결된 다른 PC로부터 접근이 가능함
공인 IP 주소를 사용하는 경우, 방화벽 등 보안 프로그램을 설치할 필요가 있음
사설(Private IP) IP 주소
일반 가정이나 회사 내 등에 할당된 네트워크의 IP 주소로, 로컬 IP 또는 가상 IP라고도 불림
공인되지 않은 주소로, 외부에 공개되지 않아 원칙적으로 외부에서 검색과 접근이 불가능함
사설 IP 주소만으로는 인터넷 연결 불가능
라우터를 통해 1개의 공인 IP만 할당하고, 라우터에 연결된 개인 PC는 사설 IP를 각각 할당받아 인터넷에 접속 가능
ex) 공인 IP가 건물 주소라면, 사설 IP는 각 호실로 생각할 수 있음
IP 주소 설정 방식
고정 IP 주소
사용자가 직접 IP 주소를 입력해 주소를 설정하는 방식(수동)
컴퓨터에 고정적으로 부여된 IP로, IP를 반납하기 전까지 다른 장비에 부여할 수 없음
유동 IP 주소
IP 주소를 할당하는 서버나 공유기가 보여주는 정보 그대로 컴퓨터에 자동 설정되는 방식(자동)으로, DHCP 서비스라고도 함
고정적으로 IP를 부여하지 않고, 컴퓨터를 사용할 때 남아있는 IP 중에서 돌아가면서 부여하는 IP
ex) 인터넷 공유기는 사설 IP 주소를 생성하고 각 컴퓨터 등에 주소를 자동 할당(DHCP 서비스)하는 역할을 함
MAC 주소
IP 주소는 네트워크 상에서 단말을 구분하기 위해 부여된 논리적 주소(네트워크 주소)
MAC 주소는 48비트 식별자로, 제조업체를 식별하는 OUI와 각 장치를 고유하게 식별하는 NIC 부분으로 구성됨
MAC 주소는 NIC에 부여된 고유한 물리적 주소(하드웨어 주소)로, 48bit로 이루어져 있음
컴퓨터간 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소
IP 주소간의 통신은 각 라우터 hop에서 일어나는 MAC 주소와 MAC 주소 통신의 연속적인 과정임
IP 주소는 변동가능성이 있지만, 하드웨어의 식별번호(기계의 고유 주소번호)인 MAC 주소는 변하지 않음
IP 주소 클래스(A, B, C class)
개념
IP 주소를 네트워크 주소와 호스트 주소로 구분하는 방법(
IP 주소 = 네트워크 주소 + 호스트 주소
)하나의 네트워크에서 몇 개의 호스트 주소를 가질 수 있느야에 따라 클래스를 나눌 수 있음
클래스 도입 이전
예전에 IPv4 주소는 단순한 8비트의 네트워크 영역과 해등 네트워크 내의 호스트 주소를 가리키는 영역으로 단순하게 구분되어 있었음
이 당시에는 대규모 네트워크가 적었기 때문에 나눌 필요가 없었음
클래스 도입
시대가 바뀌면서 대규모 네트워크가 늘어나는 상황에서 IP 주소 클래스가 등장함
한정된 자원인 IP 주소를 체계적으로 나눠 쓸 필요가 있음
대표적으로 A, B, C 클래스들이 가장 많이 사용됨
클래스 | 최상위 비트 | 주소 범위 | 호스트 수(개) | 주소 영역 구분 (네트워크 + 호스트) | 네트워크 / 호스트 ID |
---|---|---|---|---|---|
A | 0 | 0.0.0.0 ~ 127.255.255.255 | 16,777,216 |
| 8/24 bit |
B | 10 | 128.0.0.0 ~ 191.255.255.255 | 65,536 |
| 16/16 bit |
C | 110 | 192.0.0.0 ~ 223.255.255.255 | 256 |
| 24/8 bit |
D | 1110 | 224.0.0.0 ~ 239.255.255.255 | N/A | 멀티 캐스트 용 | - |
E | 1111 | 240.0.0.0 ~ 255.255.255.255 | N/A | 특수용도 예약주소 | - |
Classful vs Classless
Classful addressing
클래스 기반의 IP 주소 체계로, 기존 Class 별로 분류되어 있는 네트워크 범위를 사용하여 네트워크를 분류하고 주소를 지정하는 방식
클래스 기반으로 네트워크를 분할하는 기법은 현재 사용하지 않음
인터넷의 상용화로 네트워크 사용량이 폭발적으로 증가하여 IP 주소 부족 문제 발생
해결 방법: Classless, IPv6, NAT 등
Classless addressing
클래스 개념 자체를 버리는 클래스리스 기반의 주소 체계로, 관리자가 임의ㅇ로 네트워크를 분류하고 주소를 지정하는 방식
클래스 기반보다 네트워크 주소를 세밀하게 분할하고 할당하기 위해 네트워크 크기에 맞춰 1bit 단위로 네트워크를 상세히 분할하는 방법을 사용함
Classless 기반 주소 체계를 사용하기 위해 도입된 것이 서브넷 마스크(
Subnet Mask
)임관리자가 임의로 네트워크를 분류하기 때문에 컴퓨터입장에서는 어디까지가 네트워크 범위인지 구분할 수 없음
서브넷 마스크(
Subnet Mask
): 네트워크 ID와 호스트 ID를 식별(구분)하기 위해 사용하는 Mask(네트워크 ID - 1bit, 호스트 ID - 0 bit)서브넷팅(
Subnetting
): 네트워크-호스트 기준을 사용자가 정해 원래 클래스풀 단위의 네트워크보다 더 조개 사용하는 것으로, 클래스리스 네트워크의 가장 큰 특징
Network ID : Host들을 모은 네트워크를 지칭하는 주소 Host ID : 하나의 네트워크 내에 존재하는 Host를 구분하기 위한 주소
IPv4 vs IPv6
구분 | IPv4 | IPv6 |
---|---|---|
주소 길이 | 32bit | 128bit |
표시 방법 | 8bit씩 4부분 10진수 표시 | 16bit 8부분 16진수로 표시 |
주소 개수 | 약 43억개 | 거의 무한대(2^128) |
주소 할당 방식 | 클래스 기반 비순차 할당 | 네트워크 규모, 단말기 수에 따라 순차할당 |
헤더 크기 | 가변 | 고정 |
Qos 제공 | 미흡 | 제공 |
보안 | IPSec 프로토콜 별도 설치 | IPSec 자체 지원 |
서비스 품질 | 제한적 품질 보장 | 확장된 품질 보장 |
IPv4(Internet Protocol version 4)
기본적으로 IP는 IPv4 형태
주소 체계
8bit 씩 4개의 필드로 구성되어 32bit의 숫자로 표현함
IP address = Network ID + Host ID
Class 기반 주소 체계(A ~ E)
Checksum
IPv4에서 수행하는 체크섬
전달된 IP 패킷의 헤더에서 체크섬 값을 제외한 모든 값을 더해 전달된 체크섬 값과 비교해 같으면 정상, 다르면 비정상으로 판단이 진행됨
TCP에서 수행하는 체크섬
IPv4와 같이 헤더만 필요한 것이 아님
IP 헤더에서 뽑아낸 출발지의 주소와 도착지의 주소 등을 포함하고 있는 의사 헤더(Pseudo Header)를 만들어낸 다음, 의사 헤더와 TCP 세그먼트의 값을 16비트 단위로 끊은 뒤 모두 더해 하나의 값을 만들어냄
만들어진 값이 전달된 체크섬과 더해 모두 1이라면 정상, 아니라면 비정상으로 판단
정상일 경우 1의 보수를 취한 뒤 체크섬 값으로 보내게 됨
한계
IPv4의 클래스 기반 주소 체계는 네트워크와 호스트 ID 길이가 고정적이므로 비효율적이며 주소 부족 문제 발생
주소 고갈 문제해결
논리적 확장 방안
서브넷팅(
Subnetting
)Subnet Mask
를 이용하여 IP 주소 중 host 주소 일부분을 필요한 만큼의 서브 network로 분할하여 사용하는 방법한 네트워크의 브로드캐스팅이 다른 네트워크로 전송되지 않으므로 네트워크 상의 불필요한 트래픽을 줄일 수 있음
NAT(Network Address Translation)
공인 IP와 사설 IP를 서로 변환시켜줌
사설 IP는 공인 IP와는 달리 동일 네트워크 내부에서만 인식이 되고 타 네트워크에서는 접속할 수 없기 때문에 방화벽의 일부로 사용함
소수의 공인 IP를 통해 수 많은 사설 IP가 인터넷에 연결될 수 있게 하는 기술을 말함
통신사업자들이 개인에게 대부분 한 개의 유동 IP만 제공하고 있어, 한 개의 IP로 여러 단말들이 공유하여 사용할 수 있음
사설 IP 주소를 사용하면서 공인 IP 주소는 한정되어 있기 때문에 이를 공유하는 것
IP 주소를 관리하고 할당하며 컴퓨터가 네트워크의 다른 장소에 접속되었을 때 자동으로 새로운 IP 주소를 할당함
사용 가능한 IP 주소의 개수보다 더 많은 컴퓨터가 있는 경우에도 IP 주소의 임대시간을 짧게 함으로써 네트워크를 동적으로 재구성할 수 있음
물리적 확장 방안
IPv6 적용
32bit 주소공간체계를 쓰던 IPv4에 비하여 128bit로 이를 확장하여 이론적으로 무한대의 주소공간을 확보하게 됨
IPv4와 달리 비클래스 주소체계를 적용하여 효율성을 높임
브로드캐스팅(broadcasting): 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식
IPv6(Internet Protocol version 6)
IPv4의 주소 부족과 보안성 취약, 성능 부족 등의 문제점을 해결하기 위한 Internet Protocol
특징
확장된 주소 공간
128 bit 주소 체계를 사용하여 IPv4의 주소 부족 문제 해결
IP 주소를 절약하기 위해 사용되는 NAT와 같은 주소 변환 기술도 불필요
새로운 헤더 포맷
헤더를 고정 길이로 변경
패킷 단편화(fragmentation) 관련 필드 삭제
체크섬(checkSum) 필드 삭제
향상된 서비스의 지원
트래픽을 효과적으로 분류할 수 있는 기능 제공
이를 위해 IPv6 헤더 내에 플로우 레이블(Flow Label) 필드 이용
보안 기능
IPv4에서의 보안은 IPSec라는 보안 관련 프로토콜을 별도로 설치해주어야 함
IPv6에서는 프로토콜 내에 보안관려 기능을 탑재할 수 있도록 설계
확장 헤더를 통하여 네트워크 계층에서의 종단감 암호화 제공
주소 자동 설정
로컬 IPv6 주소를 LAN 상의 MAC 주소와 라우터가 제공하는 네트워크 프리픽스(prefix)에 결합하여 IP 주소를 자동 생성함
이동형 컴퓨터의 경우, 어느 곳에서든 네트워크 연결을 설정하면 자동으로 포워딩 주소를 설정할 수 있게 함
주소 체계
128bit = Network ID(64bits)+ Host ID(64bits)
128bit를 16bit로 나누어 16진수로 표시하여
:
으로 구분함
IPv4과 IPv6의 통신
듀얼 스택
하나의 시스템에서 IPv4와 IPv6 두 프로토콜을 처리하는 기술
시스템은 물리적으로 하나지만 논리적으로는 둘 다 지원
터널링(tunneling)
패킷을 캡슐화하여 가상의 터널을 이용하여 통신
IPv4 지역에 들어서면 IPV6 패킷은 IPv4 패킷으로 캡슐화되고, 이 지역을 벗어날 때 역캡슐화됨
헤더 변환
인터넷의 대부분이 IPv6로 변경되고, 일부만이 IPv4를 사용할 때 필요한 방법
헤더를 제외하면 동일하기 때문에 헤더 변환을 통해 헤더의 형태를 완전히 변경하여 데이터를 전송
➕ IP(Internet Protocol)
개념
네트워크 통신을 할 때 쓰는 프로토콜로, IP 기기의 주소를 나타내는 것이 IP 주소
특징
IP는 비신뢰성, 비연결성 특징을 갖고 있어 IP 자체만으로는 정확하게 전송되는 것을 보장할 수 없음
따라서 TCP와 같은 상위 계층의 프로토콜을 함께 사용해야 함
TTL(Hop Limit)
IP 패킷이 무한정으로 네트워크를 떠돌지 않도록 하기 위해서 설정한 거칠 수 있는 라우터의 최대 개수
하나의 라우터를 거칠 때 마다 1씩 감소하며 TTL이 0인 패킷을 받은 라우터는 해당 패킷을 버리게 됨
Last updated