Subject
네트워크 이해하기
참조
What is an IP address
- IP주소?
- 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해 사용하는 특수한 번호.
- 네트워크에 연결된 장치가 라우터이든, 일반 서버든 모든 기계는 특수한 번호를 가지고 있어야 한다.
- IP주소는 인터넷에서 사용하는 전화번호라고 할 수 있다.
- IP주소는 IPv4 를 주로 사용하다 길이를 늘린 IPv6가 널리 사용되는 추세이다.
IPv4 구조
- IPv4는 4byte공간에 표현하는
논리적인 주소체계
이다.
- 1byte에 표현할 수 있는 10진수는
0~255
이다. 따라서 0.0.0.0 ~ 255.255.255.255
의 IP주소가 존재할 수 있다.
- 이 때 각 byte에 저장된 수를
.
으로 구분하며 Octet(8bit / 1byte)
이라 표현한다.
- 이론적으로 IP는
256^4 = 4,294,967,296
개의 수를 가질 수 있다.
물리적 주소 체계
- IP가
논리적인 주소체계
라면 물리적 주소체계
는 무엇일까?
- 물리적 주소는 흔히 MAC(Media Access Control)주소라 한다.
- 물리적인 주소는 LAN(Local Area Network) 또는 Ethernet 이라 불리는 망에서 통신을 위해 사용된다.
- MAC은 자신이 속한 네트워크 안에서만 통신이 된다.
- 이후 네트워크를 빠져나가는 장치인 Router를 지나면 IP를 이용하여 통신한다.
NetworkID 와 HostID
- IP주소에는 Network ID와 Host ID가 존재한다.
- Network ID는 인터넷의 모든 Host를 전부관리하기 힘들기 때문에 보다 큰 범위(그룹)을 식별하기위한 ID이다.(Network의 범위)
- Host ID는 호스트 개개인을 관리하기위해 사용하는 것이다.
- 우리가 인터넷을 쓸 때 Routing으로 목적지를 알아내고 찾아가기 위해서는 NetworkID와 HostID모두를 알아야 한다. IP주소에서 이를 구분하려면
서브넷 마스크
가 필요하다.(서브넷 마스크의 역할은 구분말고도 더 많다 - 후술)
IP Class란
- IP주소를 A,B,C,D,E Class로 나누어서 Network ID와 Host ID를 구분할 수 있다.
- A Class
- 비트가
0
으로 시작한다.
- Network ID는 1Byte로 표현. ( 시작비트가 0이니깐, 0~127 )
- 나머지 3Byte에 Host ID표현 가능. ( 많다. )
- B Class
- 비트가
10
으로 시작
- Network ID는 2Byte로 표현. ( 시작비트가 10이니깐, 최소값은 128(2^7) )
- Host ID는 2Byte범위에 표현 가능
- C Class
- 비트가
110
으로 시작
- Network ID 3Byte로 표현. ( 시작 비트가 110이니깐, 최소값은 192(2^7 + 2^6) )
- Host ID는 1Byte범위에 표현가능
- D, E는 잘안씀임..
IP Class 구분하는 방법
- 첫번째 옥텟(Octet)으로 구분가능.
- 클래스마다, 시작 bit가 정해져있으니깐 표현가능한 범위로 구분할 수 있다.
- A Class: 0 ~ 127 (0.0.0.0 ~ 127.255.255.255)
- B Class: 128 ~ 191 (128.0.0.0 ~ 191.255.255.255)
- C Class: 192 ~ 223 (192.0.0.0 ~ 191.255.255.255)
What is a Netmask
서브넷이란 ?
- IPv4는 이론적으로 약 42억개의 네트워크 장치에 IP Address를 부여할 수 있다.
- 근데 만약
A 클래스 네트워크
에서 사용할 수 있는 Host ID를 다안쓰면, 약 1600만개 이상의 ip주소는 쓰레기되는거 아닌가 ?
- 이런 문제를 해결하기 위해 IP를 사용하는 네트워크 장치의 수에 따라 효율적으로 사용하도록 하는 서브넷(Subnet) 등장하였다.
서브넷 마스크란?
- 서브넷 마스크는 IP 주소 체계의 Network ID와 Host ID를 넷 마스크를 통해서
네트워크 영역을 분리
시키는 개념이다.
- 서브넷 마스크 형태는 ip주소와 똑같이 32bit의 2진수로 되어있으며, 1byte마다
.
으로 구분한다.
- 형태가 같은 이유는 and연산을 하기 위해서이다.
- IP 주소에
/24
와 같은 것은 서브넷 마스크의 bit수를 의미한다. (1이 24개이다.)
- 단순히 IP주소의 클래스를 구분할 때 서브넷 마스크로 구분하는건 잘못된 방식.
서브넷팅 이해하기
- 넷 마스크를 이용해서 네트워크를 나누는 것.
- A클래스 IP주소
1.1.1.1
을 할당.
- 이 IP의 Network ID는
1.0.0.0
- 이 IP의 Host ID는
0.1.1.1
- 이때 Host ID가 될수있는 범위는
0.0.0.0 ~ 0.255.255.255
로 16,777,216개이다.
- 이 때 A클래스의 기본 서브넷 마스크는
255.0.0.0
이다.
- 그렇다면 서브넷 마스크를
255.255.0.0
으로 바꾼다면 ??
- 앞의 2byte(16bit)가 Network ID의 범위에 속하기 때문에, 그만큼 Host ID의 범위가 줄어들게 된다. (0.0.0.0 ~ 0.0.255.255로 65,534개)
- 즉, 서브넷 마스크로 Host ID의 범위를 좁혀서 기존 약 1600만개의 트래픽을 약 6500개로 줄일 수 있다.
서브넷팅의 특징
- 2진수로 표현했을 때 Network ID부분은 1이 연속적으로 존재해야 한다.
- Host ID부분은 0이 연속적으로 있어야한다.
101
01
0010
이런식으로는 서브넷마스크가 될 수 없다.
- 서브넷 마스크가 1bit씩 늘어날때마다 Network ID가 2배씩 확장된다. 반대로 Host ID는 2배씩 줄어든다.
- 서브넷팅을 통해 Network ID가 확장되므로 인해 할당할 수 있는 네트워크의 수가 늘어난다. 하지만
네트워크가 분리되므로 인해 서로 통신을 위해서는 라우터를 통해서만 가능
하다.
- 긍까, 확장된 부분은 원래내께아니니깐 라우터를 통해서 통신할 수 있다.
- 물론 각 네트워크에 속해 있는 호스트들은 라우터를 거치지 않아도 됨.
- 서브넷팅은
특정 몇 군데의 호스트에서 많은 트래픽을 발생시켜 속도를 저하시키는 문제를 해결
할 때 용이하다. ( 이건 아직 이해를 못함.. )
서브넷팅 계산 방법
What is the broadcast address of a subnet
What are the differences between public and private IPs
What is TCP
What is UDP
What are the network layers
What is the OSI model
What is a DHCP server and the DHCP protocol
What is a DNS server and the DNS protocol
What are the rules to make 2 devices communicate using IP addresses
How does routing work with IP
What is a default gateway for routing
What is a port from an IP point of view and what is it used for when connecting to another device