3계층:네트워크 계층 - adanbae-dev/study_network GitHub Wiki

데이터 링크 계층에서는 이더넷 규칙을 기반으로 데이터의 전송을 담당한다. 이 규칙에 따라 같은 네트워크에 있는 컴퓨터로는 데이터를 전송할 수 있지만, 인터넷이나 다른 네트워크로는 데이터 전송이 불가능하다. 네트워크 계층에서는 인터넷이나 네트워크 간의 통신을 가능하게 한다.

라우터

이 네트워크 계층을 통해서 다른 네트워크로 데이터를 전송하려면 라우터가 필요하다. 라우터는 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지를 알려준다. 하지만 목적지 주소를 알아야 목적지까지의 경로를 알려줄 수 있는데, 이 때 네트워크를 식별하기 위해 필요한 주소를 IP주소라고 한다.

IP주소는 어느 네트워크의 어느 컴퓨터인지 구별할 수 있도록 하는 주소이다. 목적지 IP 주소를 지정하고, 목적지까지 데이터를 보낼 경로를 결정하는 것도 라우터의 몫이다. 이 때, 데이터를 보낼 경로를 결정하는 것을 "라우팅"이라고 한다.

IP(Internet Protocol)

캡슐화를 할 때 네트워크 계층에서는 IP헤더를 붙인다. 데이터 링크 계층으로 보낼 데이터(전송 계층에서 받은 세그먼트)에 IP 헤더가 추가되어 만들어진 것을 IP 패킷이라고 한다.

IP 주소

TCP/IP라는 프로토콜을 사용하는 모든 장비들을 구분하기 위한 주소를 IP 주소라고 한다. 장비 간의 통신을 위해서 이들을 구분해주어야 하기 때문에 IP주소가 필요한 것이다.

IP 주소는 이진수 32개의 자릿수만큼 있다.(IP 주소는 실제로 이진수로 되어있지만 사람이 읽기 쉽도록 8비트(옥텟)단위로 나누어 십진수로 표기한다.) 이러한 기존의 IP 주소를 IPv4라고 한다. 그런데 현재는 할당 가능한 IP 주소가 얼마 남지 않았다. 기존의 이진수 32 자릿수(32비트)로 이루어진 IP 주소를 IPv4라고 하는데 새로운 버젼인 IPv6은 128 자릿수로 이루어져 있어서 IPv4보다 훨씬 많은 주소를 만들 수 있다.

IP 주소는 공인 IP 주소와 사설 IP 주소로 분류할 수 있는데 공인 IP 주소는 ISP(Internet Service Provider)가 제공한다. IPv4 주소는 사용할 수 있는 주소의 수가 적기 때문에 인터넷에 직접 연결되는 컴퓨터나 라우터에는 공인 IP 주소를 할당하고 회사나 가정에는 사설 IP 주소를 할당한다.

여기서 IP 주소를 할당하는 것은 네트워크 관리자가 담당하는데, IP 주소를 할당하기 위해서는 네트워크별로 동일한 네트워크와 동일한 서브넷 마스크를 가져가야 한다. 하지만 이런 요소를 모두 숙지하는 것은 매우 까다로운 일이기 때문에 DHCP를 이용하여 IP 주소를 자동으로 배정한다.

DHCP(Dynamic Host Configuration Protocol)

여기서는 DHCP의 개념을 간단하게만 살펴보겠다. DHCP는 PC마다 하나하나 IP 주소를 미리 지정해 놓지 않고 DHCP 서버가 그 네트워크에 필요한 IP 주소를 전부 가지고 있다가 IP 주소를 요구하는 PC에는 매번 자동으로 분배해주는 방식이다. 다 쓰고 난 IP 주소는 회수한다.

IP 주소 클래스

클래스명 규모 범위
A 클래스 1.0.0.0 ~ 126.0.0.0
B 클래스 128.0.0.0 ~ 191.255.0.0
C 클래스 192.0.0.0 ~ 223.255.255.0

네트워크를 나타낼 때에는 호스트 부분은 모두 0으로 쓴다. 또한 127로 시작하는 주소는 제외된다. 브로드캐스트 주소는 호스트 부분을 255(이진수 1)로 나타낸다. 네트워크 주소와 브로드캐스트 주소는 특수한 목적으로 쓰이는 IP 주소이기 때문에 자신의 IP 주소로 설정하면 안된다.

서브넷 마스크

메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해서 씌우는 마스크이다. 서브넷 마스크는 큰 범위의 네트워크에서 브로드캐스트 도메인을 나누어 네트워크의 부하를 줄이고, IP 주소를 절약하기 위해 사용한다.

서브넷 마스크로 만들어진 네트워크(서브넷)은 하나의 네트워크를 이루기 때문에 서브넷 끼리는 라우터를 통해야만 통신이 가능해진다.

서브넷 마스크가 적용되는 범위는 호스트 부분이다. 따라서 서브넷 마스크를 적용하기 전의 IP 주소가 네트워크 ID + 호스트 ID로 나누어져 있었다면, 서브넷 마스크를 적용한 후에는 네트워크 ID + 호스트 ID + 서브넷 ID로 구성된다는 것을 알 수 있다.