1. IP
IP 혹은 인터넷 프로토콜(Internet Protocol)은 네트워크 경계(network boundary)를 넘어 데이터그램을 전달 및 중계하기 위한 인터넷 프로토콜 스위트의 네트워크 계층 통신 프로토콜이다. 이 IP의 라우팅(rounting, 경로 배정) 기능은 인터네트워킹(상호네트워킹)을 가능하게 하며, 기본적으로 인터넷(Internet)을 구축한다. IP는 TCP(전송 제어 프로토콜)의 기반이 된 연결 지향 서비스에 의해 보안되었는데, 그렇게 탄생한 전송 프로토콜 집합인 IP 스위트를 흔히 TCP/IP라고 부르게 된다.
1969년, 미국 국방부는 '메시지 중계기를 통한 통신 규칙에 대한 구상'을 RFC 1(Request for Comments 1, 의견요청 1)라는 내용의 문서로 발표한다. 이 때부터 RFC라는 말이 생겨났는데, 이는 국제 인터넷 표준화 기구(IETF)에서 발행하는 일련의 간행물이라는 뜻이 되었다. 이름이 RFC인 것에서 알 수 있는데, RFC는 '이러한 인터넷 시스템은 어때요?'라고 의견을 묻는 문서에서부터 시작했다.
1974년, IEEE(전기 전자 기술자 협회)에서 <패킷망 상호통신 프로토콜(A Protocol for Packet Network Intercommunication)>이라는 '컴퓨터 프로토콜 간 상호 통신을 할 수 있는 새로운 프로토콜을 만들자'라는 내용을 발표하며, IP라는 것의 개념이 문서화되었다.
1977년, <IEN2(Internet Engineering Note number 2, 인터넷 공학 메모 2)>에서 결합되어 있던 TCP와 IP의 기능을 분리해야 할 필요성에 대해 설명하며, TCP와 IP의 기능이 나눠지게 된다.
1981년, RFC 791에서 처음으로 IPv4에 대한 이야기가 나오며 IPv4가 도입되었고, IPv4의 주소 고갈을 앞둔 1995년에는 RFC 1883을 통해 IPv6가 도입되었다. 한편 1995년, ST2+라고도 알려진 인터넷 스트림 프로토콜이 IPv5으로 구분되며 도입되었지만, 상용화되지는 않았다.
2. IP 주소
IP 통신용 인터넷 프로토콜을 사용하는 컴퓨터 네트워크에 연결된 각 컴퓨터의 자원을 구분하기 위한 인터넷 주소를 IP 주소(IP adress)라고 한다. 이 IP 주소는 네트워크 인터페이스 식별과 위치 주소 지정의 2가지 주요 기능을 제공한다.
IPv4는 IP 주소를 32비트 숫자로 정의한다. 그러나 인터넷의 성장과 사용가능한 IPv4 주소 고갈로 인해 새로운 버전의 IPv6이 1998년 표준화되었다. 이후 2000년대 중반부터 128비트를 사용하는 IPv6 주소의 배포가 진행되고 있다.
IP 네트워크는 IPv4와 IPv6 모두에서 하위 네트워크를 나눌 수 있는데, 이러한 작업을 위해 IP 주소는 상위 비트의 네트워크 접두사(network prefix)와 네트워크 내에서 호스트 번호를 지정하기 위해 사용되는 호스트 식별자(host identifier)로 구성된다. 여기서 서브넷 마스크라는 용어가 등장하는데 이는 IPv4 주소에서만 사용가능하니 IPv4 주소 설명을 할 때 다시 정리하겠다.
IP 주소의 구성 | |
상위 비트 (네트워크 부분) |
하위 비트 (호스트 부분) |
네트워크 접두사(network prefix) | 호스트 식별자(host identifier) (=여분 필드(rest field)) (=인터페이스 식별자(interface identifier)) |
2-1. IPv4 주소
2-1-1. IPv4 주소
IPv4 주소는 32비트(4바이트) 크기로, 32비트이기 때문에 주소 공간을 4,294,967,296(2의 32승)개로 제한한다.
점-십진법 표기법으로 표시되는 IPv4 주소 예시 |
192.0.2.1 |
일반적으로 점-십진법 표기법(dot-decimal notation)으로 표시되며, 각각 0에서 255 사이의 숫자와 점 4개로 구성되어 있다. 소수점 사이 사이 숫자들은 각각 8비트(1옥텟, 1바이트)로 표시된다. 네트워크 주소와 호스트 주소로 구성되며, 각 자리는 0~255 사이의 숫자를 사용한다.
IPv4 또한 처음에는 네트워크 번호가 항상 최상위 옥텟이었다. 이 방법으로는 256(2의 8승)개의 네트워크만 허용할 수 있었기 때문에, 점차 컴퓨터가 다양해지고, 네트워크가 추가되고 개발됨에 따라 너무 작다고 판단되었다. 그 결과 1981년, 주소 지정 규격이 클래스 기반 주소 지정 형식으로 개정되었다.
2-1-2. IPv4 주소의 클래스 구분
이렇게 탄생한 클래스 네트워크 디자인은 IPv4 주소의 네트워크 부분의 길이에 따라 총 5단계의 클래스(class)로 구분한다.
종류 | 사용 | 호스트 수 (변경 가능) |
네트워크 수 (고정됨) |
IP 주소 |
A 클래스 | 국가나 대형 통신망 | 16,777,214(2의 24승)개 | 128(2의 7승)개 | 1.0.0.0~127.255.255.255 |
B 클래스 | 중대형 통신망 | 65,536개(2의 16승)개 | 16,384(2의 14승)개 | 128.0.0.0~191.255.255.255 |
C 클래스 | 소규모 통신망 | 256(2의 8승)개 | 2,097,152(2의 21승)개 | 192.0.0.0~223.255.255 |
D 클래스 | 멀티캐스트용 | - | 224.0.0.0~239.255.255.255 | |
E 클래스 | 실험용 | - | 240.0.0.0~247.255.255.255 |
2-1-3. IPv4의 서브넷화와 서브넷 마스크
이렇게 네트워크의 길이에 따라 IPv4 주소를 나눌 수 있었다. 여기서 큰 특징이 하나가 있는데, 각 클래스 중 A~C 클래스는 네트워크 ID와 호스트 ID의 범위로 나누었다는 점이다. 이렇게 한 네트워크를 둘 이상의 네트워크로 나누는(sub) 것을 서브넷화(subnetting)이라고 하며, 이러한 IP 네트워크의 논리적 하위 부분(subdivision)을 하위 네트워크(subnetwork) 혹은 서브넷(subnet)이라고 부른다.
동일한 서브넷에 속하는 컴퓨터는 IP 주소에서 가장 중요한 비트 그룹으로 주소가 지정된다. 이는 IP 주소를 네트워크 번호와 호스트 식별자 등으로 논리적으로 나누는 결과를 낸다. IPv4에서는 서브넷 마스크라는 방식으로 서브넷화를 진행하는데, 이 서브넷 마스크(subnet mask)는 IPv4 주소와 같은 점-십진법으로 표현하는 서브넷화 비트마스크를 말한다.
그 중 시험에서는 '255'가 들어가는 부분이 네트워크 ID이며 수정 불가능하다고만 알고 있으면 된다.
따라서 A 클래스는 255.0.0.0을, B 클래스는 255.255.0.0을, C 클래스는 255.255.255.0을 서브넷 마스크로 사용한다.
아래 예시를 보자.
사진 속 IPv4는 255.255.255.0이라는 서브넷 마스크를 가지므로 소규모 통신망용인 C 클래스를 가진다는 것을 알 수 있다.
2-2. IPv6 주소
IPv6 주소는 IPv4 주소의 고갈 문제에 대한 대책으로 나온 IPv6를 사용하여 컴퓨터 네트워크에 참여하는 컴퓨터나 네트워크 노드의 네트워크 인터페이스를 식별하고 찾는 데 사용되는 숫자 레이블이다. 이러한 특징 때문에 IPv4에 비해 자료 전송 속도가 빨라졌고, IPv4와의 호환성도 뛰어나다.
IPv6의 예시 |
01DA : FF01 : 0000 : 0000 : 0000 : 00FF : FA21 : 3C5A |
IPv6는 16비트(2바이트)씩 8부분, 총 128비트(16바이트)로 구성되며, 각 구분은 ':(콜론)'으로 구분하며, 16진수로 표현한다. 주소의 확장성, 융통성, 연동성이 뛰어나며, 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제를 해결한다. 실시간 흐름 제어로 향상된 멀티미디어 서비스를 제공할 수 있으며, 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장이 용이하다.
IPv6는 주소를 주소 체계별로 할당하기 때문에 주소 낭비를 줄여 간단하게 결정할 수 있다. 이러한 IPv6 주소는 작동 특성 클래스에 따라 크게 유니캐스트(unicast), 멀티캐스트(multicast), 애니캐스트(anycast)로 분류된다.
유니캐스트 주소 지정(unicast addrressing) | 단일 송신자와 단일 수신자 간의 통신 | 1:1 통신 |
멀티캐스트 주소 지정(multicast addrressing) | 단일 송신자와 다중 수신자 간의 통신 | 1:n 통신 |
애니캐스트 주소 지정(anycast addrressing) |
단일 송신자와 가장 가까이에 있는 단일 수신자 간의 통신 | 1:1 통신 |
이렇게 정하는 IPv6 주소는 숫자 형식에 따라 0을 생략할 수도 있다. 다음에 나올 IPv6 주소는 모두 같은 주소다.
01DA : FF01 : 0000 : 0000 : 0000 : 00FF : FA21 : 3C5A | |
1DA : FF01 : 0 : 0 : 0 : FF : FA21 : 3C5A | 앞에 오는 0은 생략 가능 중간에 오는 0은 생략 불가능 |
1DA : FF01 : : FF : FA21 : 3C5A | 0이 연속되는 경우, 연속된 0은 ': :' 형식으로 생략 가능 |
그러나 0이 연속되는 부분이 2곳일 경우에는 한 곳만 생략할 수 있다.
1DA : FF01 : 0 : 0 : FA21 : 0 : 0 : 3C5A | |
1DA : FF01 : : FA21 : 0 : 0 : 3C5A | O |
1DA : FF01 : 0 : 0 : FA21 : : 3C5A | O |
1DA : FF01 : : FA21 : : 3C5A | X |
사실 이 글을 정리하기 전까지만 해도 IPv4 다음 버전이 왜 IPv5가 아닌지를 몰랐고, 군에서 명령 프롬프트로 ipcofig를 확인하는 작업을 할 때도, 막연하게 이게 IPv4 주소고 저게 IPv6 주소다 정도만 알고 있었지 각각이 어떻게 구분되고 나뉘는지와 같은 내용도 알 수 있었다.
'용어 정리, 이슈 > 과학&기술' 카테고리의 다른 글
엑셀 함수 정리 2 - 통계 함수(statistical function) (0) | 2022.06.06 |
---|---|
엑셀 함수 정리 1 - 수학/삼각 함수(math and trigonometry function) (0) | 2022.06.06 |
엑셀 - 이름 정의 (0) | 2022.06.03 |
엑셀 데이터 분석 중 부분합에 대한 정리 (0) | 2022.06.03 |
엑셀의 숫자 서식 코드에 대하여 (0) | 2022.06.03 |