인터넷 공간 상에서 해당 단말기의 고유 주소
Socket을 통해 통신한다는 것은 알았다. 근데 우리가 전화를 걸더라도, 어디에 전화를 걸것인지 알아야 한다. 그걸 대표하는 것이 전화번호이다. 마찬가지로 통신을 하려면, 어디에 통신할 것인지 알려주는 과정이 필요하다. 그 어디에 해당하는 것이 IP 주소 이다.
IPv4 체계
- 32비트로 구성된 주소 체계
- 0~255 사이 십진수 넷을 구분하여 사용
- 2^32 = 약 42억 → IPv6
공인 IP
- 저 주소는 ICANN(
아이캔앤) 이라는 기관이 국가별로 사용할 IP대역을 관리함 - KISA(인터넷 진흥원)에서 우리나라에서 사용할 주소 관리
- IP 주소가 4개의 클래스로 나눠지는데, 앞에서부터 순차적으로 더 강한 권한을 가지고 있다.
- A 클래스 하나당 256256256개의 주소를 갖는 방식
- 그럼, 결국 높은 클래스를 부여받은 기관의 경우, 하위 IP주소를 마음대로 가지고 놀 수 있다.
- 문제는, 인터넷 발전 초기에 이걸 마구 뿌려, 현시점에는 공인 IP를 배분하기 상당히 어렵다.
- 그래서 내 장비에 주소를 할당받고 싶은 경우, 미리 많이 할당된 기관, 서버 운영업체 같은 곳에다가 돈을 지불하고 사는 방식으로 진행하게 된다.
사설 IP
- 전체 IP 주소가 있는데, 이게 전부 공인 IP로 사용되는 것은 아니다.
- 이렇게 특수한 목적으로 제외한 IP중, 사설 IP로 사용되는 대역이 따로 존재한다.
- 이 사설 IP 대역은, 인터넷 상에 연결되어있지 않기 때문에, 임의의 사용자가 마음대로 부여하고 사용이 가능하다.
- A 클래스 : 10.0.0.0 ~ 10.255.255.255
- B 클래스 : 172.16.0.0 ~ 172.31.255.255
- C 클래스 : 192.168.0.0 ~ 192.168.255.255
- 이게 잘 이해가 안되다가, C클래스를 보고 바로 이해해버렸는데, 대부분의 집에 있는 장비의 IP주소를 찍어보면 이렇게 구성되어 있다는 것을 알 수 있다.
- 대부분의 집에서 같은 IP 주소를 장비들이 사용해도 문제가 생기지 않는 것은, 이 대역이 사설 IP 대역이기 때문에 마음대로 사용이 가능해서 이다.
- 자 이러한 점은, 공인 IP에서 발생하는 문제를 해결하는 방향으로 발전되었다.
- 즉, 공인 IP 주소가 모자랄 경우에 사설 IP로 회사, 가정내에 IP 주소를 부여하고, 공유기 등에 고정 IP를 부여한 다음에 인터넷에 접속해버리는 것.
- 그럼 이렇게 되면, 우리집에 들어오는 패킷을 우리집에 있는 디바이스들에 배정된 사설 IP주소를 찾아 배정해 주어야 하지 않을까?
- 그게 바로 공유기(라우터)이다.
- 단, 당연하게도 이렇게 사설 IP를 배정 받은 컴퓨터를 공인 IP를 가진 컴퓨터가 알 수 없다. 사설 IP이기 때문이다.
- 자 이러한 상황에서 우리가 보통 하는 짓은, 집에 있는 컴퓨터로 서버에 접근하는 것이다.
- 즉, 164.124.101.2의 IP로 접근하는 것인데, 이건 가능하다. 하지만 역은 불가능하다.
- 사설 IP이기 때문에 인터넷 연결이 불가하기 때문이다.

고정 IP
- 고정 IP는 컴퓨터에 고정적으로 부여된 IP를 말한다.
- IP를 반납하기 전까지는 다른 장비에 부여할 수 없는 IP주소.
유동 IP
- 유동 IP는 장비에 고정적으로 IP를 부여하지 않고 컴퓨터를 사용할 때 남아있는 IP중에서 돌아가면서 부여하는 IP를 뜻한다.
- 10개의 IP주소가 있을 때 컴퓨터가 20대라면 고정 IP면 10대만 가용, 나머지는 논다.
- 유동 IP를 부여하는 경우 돌아가면서 사이좋게 사용이 가능하다.
결론
- 결론적으로, 서버를 운영하고자 하는 경우에는 공인 IP를 받아야 하고(인터넷 연결이 안되면 아예 접근이 불가)
- 고정 IP로 부여(만약 IP주소가 없을 경우, 서비스 제공 불가, 또는 다른 사람의 서버로 접속)해야 한다.
IP
- 논리적 주소 체계
- 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 해주는 주소
- 그래서 IP 주소만 있다면 다른 네트워크의 목적지를 지정할 수 있다.
- 그런데, 어떤 경로로 보낼지도 결정해야 한다.
- 이런 경로를 결정하는 것을 라우팅이라고 한다.
- 라우터에는 이를 위한 라우팅 테이블 이 있다.
- IP 프로토콜
- 데이터 링크 계층에서 이더넷 헤더를 붙이는 것과 같이
- 네트워크 계층에서는 IP 헤더를 붙인다.
- 이 붙인 패킷을 IP 패킷이라 한다. 이 부분에서 중요한 것은, 출발지, 목적지 IP 주소를 넣는 다는 점이다.

IP 주소의 버전
- 그럼 이 IP 주소는 누가 만들까?
- MAC 주소같은 경우 제작사, 제작사 일련번호로 구성되어 있었다.
- 인터넷 서비스 제공자(ISP)가 제공한다.
- 통신사가 대표적인 예이다.
- IP는 IPv4, IPv6 두가지 버전이 존재
- v4는 32비트, v6는 128비트이다.
- IPv4는 수가 한정적이기 때문에, 인터넷에 직접 연결되는 컴퓨터(서버) 또는 라우터에는 공인 IP 주소를 할당하고, 가정이나 회사에는 사설 IP 주소를 사용한다.
- 내부적으로 사용하는 경우 DHCP(Dynamic Host Configuration Protocol) 기능을 사용하여 IP 주소를 자동으로 할당 (동적 IP)

IP 주소의 구조
- MAC Address
- 48비트
- 16진수(4비트) 12개의 숫자로 구성
- IP 주소
- 32비트
- 8비트씩 쪼개고, 10진수로 변환하여 사용
- 8비트를 옥텟 이라 부른다.
- IP Address = 네트워크 ID + Host ID
- network ID
- 인터넷 상에서 모든 Host(말단 장치)를 관리하기 어렵기 때문에, 범위를 지정한 것
- Host ID
- 호스트를 개별적으로 관리하기 위해 사용하게 된 것
- 택배 배달 아파트 주소 : Network ID
- 특정 호수 주소 : Host ID
- 192.168.0.3 -> 192.168.0 은 네트워크 아이디, 3은 호스트 아이디
- 이거는 크기에 따라 달라짐
- network ID

IP 주소 클래스

- 위에서 크기에 따라 달라진다는 것이 의미
- 네트워크 주소를 크게 만들거나 작게 만들어 네트워크 크기를 조정할 수 있다.
- 일반 네트워크 : A~C
- A : 처음 8비트가 네트워크 주소, 나머지 24비트는 호스트 ID
- 원리는 상동
- 주의 사항
- 공인 IP 주소와 사설 IP 주소가 정해져있음
- 내부적으로 큰 망을 쓰도록 하여 부족한 IP주소를 메꾸기위한 방편
- 공인 IP
- 전 세계에서 유일한 IP로 ISP가 제공하며 외부에 공개되어 있기 때문에 인터넷에 연결된 다른 장비로부터 접근이 가능하다.
- 사설 IP
- 한 네트워크 안에서 사용되는 IP 주소 IPv4의 부족으로 인해 모든 네트워크가 공인 IP를 사용하는 것은 불가능하기 때문에 네트워크 안에서 라우터를 통해 할당받는 가상의 주소이다. 외부에서 접속할 수 없다.