3계층: 네트워크 계층
특징
자신이 속한 네트워크와 원격지 네트워크를 구분할 수 있고 원격지 네트워크를 가려면 어디로 가야 하는지 최적의 경로를 지정한다.
호스트 간의 통신을 담당하여 IP 주소를 기반으로 패킷을 전달하는 계층이다.
IP
사용자가 환경에 맞게 변경해 사용 가능하며, 네트워크 주소 부분과 호스트 주소 부분으로 나뉜다.
LAN 구간(라우터와 PC 의 연결구간)과 WAN 구간(라우터와 라우터 연결 구간)을 연결해준다.
네트워크 계층의 프로토콜
IP: v4, v6 보유
ARP: IP 주소를 기반으로 MAC 주소 찾을 때 사용
RARP: MAC 주소 기반으로 IP 주소 찾을 때 사용
IP는 v4, v6 두 체계가 존재한다.
IPv4
32비트의 10진수 4자리로 표현된다.
IPv4 주소 표기 시 4개의 옥텟(8비트) 단위로 나누고, 각 옥텟은
.
으로 구분한다.아래 그림과 같이 네트워크 주소와 호스트 주소 부분으로 나뉜다. 하지만 나누는 경계 부분이 항상 고정되어 있지 않다. 즉, 아래는 16비트씩 나뉘었지만, 27비트와 5비트로 나뉠 수도 있다는 것이다.
네트워크 주소: 호스트들을 모은 네트워크를 지칭한다. 네트워크 주소가 동일한 네트워크를 로컬으로 간주한다.
호스트 주소: 한 네트워크에 존재하는 호스트를 구분하기 위한 주소이다.
클래스
필요한 호스트 IP 개수에 따라 네트워크의 크기를 다르게 할당하기 위해 도입한 개념
과거에 사용했던 개념이므로 현재는 클래스 기반으로 네트워크를 분할하지 않는다.
A 클래스
가장 큰 주소 범위를 가지며, 첫 옥텟의 첫번째 비트가 0이어야 한다. (00000000 ~ 01111111 = 0 ~ 127 ⇒ 1 ~ 126)
127은 루프백 주소로 사용하고, 0 역시 특별하게 미리 할당되어 있으므로 제외한다.
첫 번째 옥텟에 네트워크 주소와 호스트 주소를 나누는 구분자가 있다.
네트워크는 2^8 만큼 가질 수 있고, 각 네트워크마다 호스트는 2^24 만큼 가질 수 있다.
B 클래스
첫 옥텟의 시작이 10이어야 한다. (10000000 ~ 10111111 = 128 ~ 191)
두 번째 옥텟에 네트워크 주소와 호스트 주소를 나누는 구분자가 있다.
네트워크는 2^16 만큼 가질 수 있고, 각 네트워크마다 호스트는 2^16 만큼 가질 수 있다.
C 클래스
첫 옥텟의 시작이 110이어야 한다. (11000000 ~ 11011111 = 192 ~ 223)
세 번째 옥텟에 네트워크 주소와 호스트 주소를 나누는 구분자가 있다.
네트워크는 2^24 만큼 가질 수 있고, 각 네트워크마다 호스트는 2^8 만큼 가질 수 있다.
D 클래스
멀티 캐스트
E 클래스
예약된 클래스
클래스 풀
클래스 기반의 IP 주소 체계
네트워크 주소와 호스트 주소를 구분짓는 구분자인 서브넷 마스크 개념이 따로 필요 없다.
맨 앞자리 주소만을 보고 어떤 클래스에 속하는지 확인 가능하다.
클래스리스
인터넷에 연결되는 호스트 숫자가 늘어나면서 기존 클래스 체계로는 IP 주소가 부족해졌다.
한 클래스 네트워크가 특정 회사에 할당되면, 사용하지 않는 IP가 있더라도 다른 네트워크에서 사용할 수 없다.
IP 주소 부족과 낭비 문제를 해결하기 위해 3가지 보존, 전환전략을 만들어냈다.
클래스리스, CIDR(Classless Inter-Domain Routing) 기반의 주소 체계
NAT와 사설 IP 주소
IPv6
클래스 개념을 없애고 네트워크와 호스트 주소를 나누는 구분자인 서브넷 마스크를 사용한다.
서브넷 마스크
네트워크 주소 부분을 1로, 호스트 주소 부분을 0으로 표현한다.
예를 들어 IP가
103.9.32.146
이고255.255.255.0
이 서브넷 마스크라면, 네트워크 주소는 103.9.32.0 이고, 호스트 주소는0.0.0.146
이 된다.비트 단위로 표현하는 방법이 있는데, 1 부분이 연속된 자릿수를 표현하면 된다. A 클래스를 서브넷 마스크로 나타내면 첫 번째 옥텟이 1, 나머지 옥텟이 0이므로
/8
이고, B 클래스는/16
, C 클래스는/24
이다.서브넷 마스크는 특정 IP가 자신이 속한 네트워크 내에 있는지 확인할 때에 사용된다.
서브넷팅
원래 부여된 클래스의 기준을 무시하고 새로운 네트워크-호스트 구분 기준을 사용자가 정해 원래 클래스풀 단위의 네트워크보다 더 쪼개 사용하는 방식이다.
네트워크 설계자가 네트워크를 효율적으로 어떻게 분할할 것인지 계획하는 경우, 이미 분할된 네트워크에서 사용자가 자신의 네트워크와 원격지 네트워크를 구분해야 하는 경우 서브넷팅에 대한 고려가 필요하다.
네트워크 사용자 입장
해당 네트워크에서 사용할 수 있는 IP 주소 범위를 파악하여 자신이 속한 네트워크와 원격 네트워크를 구분하는 용도로 서브넷팅을 사용할 수 있다.
자신이 속한 네트워크의 유효 범위를 파악하려면 내 IP와 서브넷 마스크를 이진수로 만들고 AND 연산을 통해 서브네팅된 네트워크 주소를 알아낸다. 호스트 주소 부분의 이진수를 모두 1로 변경하여 브로드캐스트 주소를 알 수 있다.
혹은 현재 서브넷이 가질 수 있는 최대 IP 개수를 파악하고, 해당 IP 개수를 배수로 나열해 기준이 되는 네트워크 주소를 파악할 수 있다.
예를 들어
103.9.32.146/26
이면, 2^6만큼 IP를 가질 수 있다. 64씩 범위를 나누면 0~63 / 64~127 / 128~191 / 192~255 중 146은 128~191 범위에 속하므로, 해당 네트워크는 103.9.32.128~ 103.9.32.191 범위를 가진다.
네트워크 설계자 입장
서브넷된 하나의 네트워크에 IP를 몇 개나 할당해야 하는지, 서브넷된 네트워크가 몇 개 필요한지에 따라 서브넷 마스크를 결정해야 한다.
네트워크 크기가 달라지는 공인 IP 대신 사설 IP를 사용하여 일정 크기로 대역을 잡고, 10진수로 표현해도 쉽게 이해할 수 있는 C 클래스 단위인 24비트로 쪼개 할당하는 것이 좋다.
네트워크를 잘 설계하면 관리도 쉽고 성능도 향상된다. 라우터가 관리하는 경로가 적고 관리하기 쉽게 설계해야 한다.
공인 IP / 사설 IP
공인 IP
통신사업자로부터 IP 주소를 할당받거나
인터넷에서 유일하게 사용되므로 사용할 수 있는 IP 수가 제한되어 있다.
할당받은 IP를 사용하지 않는 경우 IP 할당기관이 회수한다.
사설 IP
인터넷 연결 없이 개인적으로 네트워크를 구성할 때 사용된다.
내부적으로만 사용하므로 제한 없이 큰 네트워크를 사용할 수 있다.
인터넷에 연결하려면 NAT 장비를 통해 공인 IP로 변경해 통신해야 한다.
사설 IP 대역으로는
10.0.0.0/8
,172.16.0.0/12
,192.168.0.0/16
을 사용할 수 있다. 즉, A 클래스는 1개 네트워크, B 클래스는 16개 네트워크, C 클래스는 256개 네트워크를 사용 가능하다.모바일 디바이스는 B 클래스를 이용해 테더링 기능을 제공한다.
Bogon IP
IP 주소를 할당하는 최상위 기구인 IANA가 여러 가지 목적으로 예약해놓아 공인 IP로 할당하지 않는 주소
Bogon IP 대역의 주소를 사용한 통신 시도가 있었다면 해킹을 목적으로 IP를 스푸핑하거나 실수로 할당된 것이므로 적절히 필터링해야 한다.
장비
라우터
IP 주소를 사용해 최적의 경로를 찾아 패킷을 전송하는 역할을 하는 장비이다.
최적의 경로는 라우터 프로토콜에 따라 정해진다.
라우터는 LAN 구간의 통신을 위해 MAC 주소를 보유한다.
논리적 링크와 물리적 링크를 함께 사용한다.
원격지로 쓸데없는 패킷이 전송되지 않도록 브로드캐스트와 멀티캐스트를 컨트롤하고 불분명한 주소로 통신을 시도할 경우, 이를 버린다. 정확한 방향으로 패킷이 전송되도록 경로를 지정하고 최적의 경로로 패킷을 포워딩한다.
게이트웨이
로컬 네트워크 사이의 통신을 넘어 원격 네트워크와 통신을 가능하게 해주기 위한 장비이다.
여러 네트워크와 연결되면서 적절한 경로를 지정해주는 역할을 한다.
원격지 통신을 수행할 경우 도착지 MAC 주소와 도착지 IP 주소가 동일하지 않다. 도착지 IP 주소는 통신의 실제 도착지이고 도착지 MAC 주소는 디폴트 게이트웨이의 MAC 주소가 사용된다.
Last updated