[Netwhat] IP, IP Address

Soeng_dev·2021년 2월 1일
0

42 Seoul / Netwhat

목록 보기
1/6
post-thumbnail

IP

인터넷 프로토콜(IP, Internet Protocol)은 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약(프로토콜, Protocol)이며,
OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다.

• 특징

» 비신뢰성

흐름에 관여하지 않기 때문에 보낸 정보가 제대로 갔는지 보장하지 않음

패킷이 손상될 수도 있고, 같은 호스트에서 전송한 패킷의 순서, 같은 패킷 재전송, 패킷 소실 등의 문제에 관여X

» 비연결성

사전 호출 / 연결 설정행위 없이도 두 호스트간에 트래픽을 교환할 수 있는 방식

즉, 전송 전에 미리 연결을 설정하지 않으며, 호출 설정이 없음

IP address

IP(Internet Protocol)주소 ( = 인터넷규약주소)는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다. 이 번호를 이용해 발신자와 수신자간의 데이터를 송수신한다.

만약 서버가 들어가지 않으면 IP가 안전하지 않다고 한다. 네트워크에 연결된 모든 장치는 IP를 가지고 있어야 한다.

IP는 인터넷 프로토콜 자체를 가리키므로 IP와 IP주소는 엄밀하게는 구별해야 한다.

IP 주소는 사람이 외우기 어렵기 때문에, 전화번호부와 같은 역할을 하는 서비스가 필요하다.
DNS(domain name system)가 이런 역할을 하며 이런 서비스를 "도메인 이름 분석" (domain name resolution) 혹은 "이름 분석" (name resolution)이라고 한다.

오늘날 주로 사용되고 있는 IP 주소는 IP 버전 4(IPv4) 주소이나 이 주소가 부족해짐에 따라 길이를 늘린 IP 버전 6(IPv6) 주소가 점점 널리 사용되는 추세이다.

• IPv4

IPv4는 인터넷 프로토콜의 4번째 버전이며, 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다. 과거에 인터넷에서 사용되는 유일한 프로토콜이였으나 오늘날에는 IPv6이 대중화되었다.

IPv4는 패킷 교환 네트워크 상에서 데이터를 교환하기 위한 프로토콜이다.
데이터가 정확하게 전달될 것을 보장하지 않고, 중복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도 있다. 데이터의 정확하고 순차적인 전달은 그보다 상위 프로토콜인 TCP에서(그리고 UDP에서도 일부) 보장한다.

주소의 범위는 32비트로 보통 0~255 사이의 십진수 넷을 쓰고 .으로 구분하여 나타낸다. 따라서 0.0.0.0부터 255.255.255.255까지가 된다. 이론적으로 42억9496만7296개의 IP가 존재한다.

중간의 일부 번호들은 특별한 용도를 위해 예약되어 있다. 이를테면 127.0.0.1은 localhost(로컬 호스트)로 자기 자신을 가리킨다. (사실 127로 시작하는 모든 IPv4 주소가 마찬가지다)

현재 인터넷 사용자의 증가로 인해 주소공간의 고갈에 대한 우려가 높아지고 있다. 이에 따라 대안으로 128비트 주소체계를 갖는 IPv6가 등장하였다.
중국은 주소공간 고갈을 우려해 일부에서 독자적으로 IPv9(십진제 인터넷 주소체계)과 숫자도메인(Digital Domain Name System, DDNS)이 결합된 개념인 IP 주소와 도메인 이름이 동일한 네트워크 체제인 All-Digital-Domain-Address (ADDA)를 사용하기도 한다.

»» 클래스

하나의 네트워크에서 가질수 있는 호스트 IP갯수에 따라서 클래스를 나눔

클래스의 개념을 알아야 주소의 어디까지가 네트워크 정보이고, 호스트IP 정보인지 알 수 있다.

출처 : https://ko.wikipedia.org/wiki/IPv4

A 클래스
A Class는 최고위의(호스트 수가 제일 많은) Class

1~126 (0, 127 예약됨)범위의 IP주소를 가진다(첫번째 옥텟)
두 번째, 세 번째 그리고 네 번째 단위의 세 숫자는 A Class가 자유롭게 네트워크 사용자에게 부여가 가능한 아이피이다.

IP주소를 32자리 2진수로 표현했을때, 맨 앞자리 수가 항상 0 인 경우
즉, 0xxx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx 와 같은 IP 주소는 A 클래스이다.

그리고 호스트 주소가 가질 수 있는 갯수는 (2^24) - 2 개다. -2 이유는 모두가 1인경우 브로드캐스트 주소로 사용하고 모두 0인경우엔 네트워크 주소로 사용하기 때문입니다.
예를 들어 A클래스로 13.0.0.0 네트워크 주소를 할당 받았다고 합시다.
여기서 13.0.0.0 은 네트워크 주소를 표현하기 위해, 13.255.255.255는 브로드캐스트 주소로 사용하기 호스트IP로 사용하면 안됩니다.
이는 B클래스, C클래스도 같은 원리다.

B 클래스
B Class는 두 번째로 높은 단위의 Class

아이피 구성에서 첫 번째 단위의 세 숫자는 128 - 191 가운데 하나를 가지며 (위의 예에서 181), 두 번째 단위의 세 숫자는 B Class가 접속할 수 있는 네트워크를 지시한다.

B클래스는 반드시 10으로 시작합니다. 2진수로 표현하면
10xx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx 입니다.

C 클래스
C Class는 최하위의 Class

아이피 구성에서 첫 번째 단위의 세 숫자는 192 -223 가운데 하나를 가지며 (위의 예에서 221), 두 번째와 세 번째 단위의 세 숫자는 C Class가 접속할 수 있는 네트워크를 지시한다. C Class가 자유로이 부여할 수 있는 아이피는 마지막 네 번째 단위의 254 개이다.(2개는 예약)

C클래스는 반드시 110으로 시작합니다. 2진수로 표현하면
110x xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx 입니다.

»» 특수용도의 주소

출처 : https://ko.wikipedia.org/wiki/IPv4

• IPv6

IP version 6을 의미

» 특징

IP 주소의 길이

128비트로 늘어남

IPv6의 128비트 주소공간은 주소가 바닥나는 것을 막는 것 외에도
네트워크가 여러 개의 작은 단위로 조각나는 것을 막아 라우팅을 빠르게 만들기 위한 목적도 갖는다.

호스트 주소 자동 설정

IPv6 호스트는 접속하는 순간 자동적으로 네트워크 주소를 부여받는다.
(IPv4에선 네트워크 관리자로부터 IP 주소를 부여받아 수동으로 설정)

패킷 크기 확장가능

IPv6의 점보그램 옵션을 사용하면 특정 호스트간에 임의로 큰 크기의 패킷을 주고받을 수 있음.
따라서 대역폭이 넓은 네트워크를 더 효율적으로 사용가능

효율적인 라우팅

IP 패킷의 처리를 신속하게 할 수 있도록
확장헤더를 통해 네트워크 기능에 대한 확장 및 옵션기능의 확장이 용이한 구조로 정의하였다.
(기존의 고정크기의 단순한 헤더또한 사용)

플로 레이블링(Flow Labeling)

특정 트래픽에 별도의 특별한 처리(실시간 통신 등)를 통해 높은 품질의 서비스를 제공할 수 있도록 함

인증 및 보안 기능

패킷 출처 인증, 데이터 무결성 및 비밀 보장 기능을 IP 프로토콜 체계에 반영하였다. IPv6 확장헤더를 통해 적용가능

이동성

네트워크의 물리적 위치를 자유롭게 이동하면서 같은 주소를 유지가능

이와 같은 모바일 IPv6는 RFC 3775와 RFC 3776에 기술되어 있다. (IPv4에도 모바일 IP가 정의되어 있지만 아직 많이 사용되지 않는다.)

무상태 주소 자동 설정

어떠한 상태에서도 (Stateless) 자동으로 주소를 설정가능

일반적으로는 주소할당 위해 RA 메시지를 기다려서 주소를 구성하지만,
해당 링크의 고유성을 보장된 주소를 미리 예약된 알고리즘에 의해서 자동으로 구성할 수 있는 기능이다.

» 주소 표현

16비트(2옥텟 : 2 X 8비트)를 16진수로 표현하여 8자리로 나타낸다.

2001:0db8:85a3:08d3:1319:8a2e:0370:7334
0000을 하나의 0으로 축약 또는 연속되는 0의 그룹을 없애고 ':' 만을 남길 수 있다. 따라서 아래의 IPv6 주소들은 모두 같은 주소를 나타낸다.
또한 맨 앞자리의 0도 축약가능

2001:0DB8:0000:0000:0000:0000:1428:57ab
2001:0DB8:0000:0000:0000::1428:57ab
2001:0DB8:0:0:0:0:1428:57ab
2001:0DB8:0::0:1428:57ab
2001:0DB8::1428:57ab

그러나 0을 축약하고 ':'로 없애는 규칙은 두 번 이상으로 적용불가
2001::25de::cade와 같은 표현이 가능하다면, 다음의 네 가지 중 어떤걸 뜻하는지 불분명해짐

2001:0000:0000:0000:0000:25de:0000:cade
2001:0000:0000:0000:25de:0000:0000:cade
2001:0000:0000:25de:0000:0000:0000:cade
2001:0000:25de:0000:0000:0000:0000:cade

» 네트워크 표현

네트워크 주소는 네트워크 프리픽스 뒤에 프리픽스의 '/' 기호와 함께 비트 수를 붙여서 나타낸다.

2001:1234:5678:9ABC::/64는 

2001:1234:5678:9ABC:: ~
2001:1234:5678:9ABC:FFFF:FFFF:FFFF:FFFF 까지의 주소를 갖는 네트워크

» 특수용도의 주소

::/128

이 주소는 모든 값을 0으로 설정한 특수한 주소, 가상적으로만 사용된다. IP 미설정 상태의 발신 주소이다.

::1/128

자기 자신의 주소를 가리키는 루프백 주소이다. 프로그램에서 이 주소로 패킷을 전송하면 네트워크는 전송자에게로 패킷을 반송한다. IPv4의 127.0.0.1 주소와 동일하다.

::ffff:0:0/96

IPv4 매핑 주소를 위해 사용되는 주소공간이다.

Public IP (공인 IP)

ISP(인터넷 서비스 공급자)가 제공하며, 전세계에서 유일한 주소를 갖는IP 주소이다. 공용 IP 주소라고도 불린다.

외부에 공개되어 있는 IP 주소이며,
외부에 공개되어 있기에 인터넷에 연결된 다른 PC로부터의 접근이 가능하다. 따라서 사용시 방화벽 등의 보안 프로그램을 설치할 필요가 있다.

Private IP (사설 IP)

일반 가정이나 회사 내 등에 할당된 네트워크의 IP 주소이며, 로컬 IP, 가상 IP라고도 한다.
라우터에 의해 로컬 네트워크상의 PC 나 장치에 할당된다.

• 사용이유

» IPv4의 주소부족

고유한 주소로 인식할 수 있는 주소의 한계가 있기 때문에 사설 IP를 서브넷팅해 사용

» 사용료 절감

공인 IP사용시 사용료를 지불해야하므로
공인 아이피를 하나만 사용하고 내부망에서 사설IP로 서브넷팅해서 사용료 절감

• 주소대역

사설IP 주소는 다음 3가지 주소대역으로 고정된다.

Class A : 10.0.0.0 ~ 10.255.255.255
Class B : 172.16.0.0 ~ 172.31.255.255
Class C : 192.168.0.0 ~ 192.168.255.255

공인IP vs 사설IP

: : 참고

https://ko.wikipedia.org/wiki/IP_%EC%A3%BC%EC%86%8C
https://ko.wikipedia.org/wiki/IPv4
https://limkydev.tistory.com/168
https://ko.wikipedia.org/wiki/%ED%8C%A8%ED%82%B7_%EA%B5%90%ED%99%98
https://ko.wikipedia.org/wiki/IPv6
https://ko.wikipedia.org/wiki/OSI_%EB%AA%A8%ED%98%95
https://inor.tistory.com/35
https://velog.io/@hidaehyunlee/%EA%B3%B5%EC%9D%B8Public-%EC%82%AC%EC%84%A4Private-IP%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

profile
Software Engineer

0개의 댓글