Back
Featured image of post [CS 네트워크 스터디] 4주차 학습 내용

[CS 네트워크 스터디] 4주차 학습 내용

IP 프로토콜과 라우팅 프로토콜

시리즈

👉 CS 네트워크 스터디 1주차
👉 CS 네트워크 스터디 2주차
👉 CS 네트워크 스터디 3주차

IP 프로토콜

IP 주소란?

일상 생활에서 사용하는 사물 중에 고유의 번호가 있는 것처럼, TCP/IP 프로토콜 내에서 통신하는 장비들을 구분하기 위해 만들어진 것이 IP 주소입니다. 처음 만들어졌을 때 인터넷이 많이 보편화되지 않을 것이라는 생각에 초창기 등장한 IP 주소의 개수는 총 2의 32제곱입니다. 이를 IPv4라고 합니다. (약 42억 개)

# IPv4 주소 형식
192.168.1.172

# 실제로는 아래와 같이 2진수로 이루어져 있습니다.
11000000.10101000.00000001.10101100

점차 사용량이 늘어남에 따라 기존 IP 주소 체계의 확장이 필요해졌고, 이후 등장한 프로토콜이 IPv6 입니다. IPv6는 128비트 주소 형식을 사용하고 숫자와 문자를 모두 표시합니다. (기존 IPv4 주소 체계보다 1,028배 할당 가능)

# IPv6 주소 형식
3002:0bd6:0000:0000:0000:ee00:0033:6778

주소 할당 방식

IP 주소는 사용자가 직접 입력하는 스태틱 방식과 DHCP 서버를 통해 자동으로 분배 받는 DHCP 방식이 있습니다. 스태틱 방식은 직접 IP와 DNS, 서브넷 마스크 등을 입력해야하기 때문에 자신이 속한 네트워크 구조를 잘 알아야한다는 특징과 체계적으로 조직 IP 구성을 할 수 있다는 장점이 있습니다.

반면, DHCP 방식은 별도의 DHCP 서버를 통해 현재 사용되지 않는 IP 주소를 자동으로 탐색하여 단말기에게 할당하는 방식입니다. 이는 스태틱 방식보다 편리성이 뛰어나지만, 동일한 IP를 유지하지 않고 임대 시간을 설정하여 할당하는 것이기 때문에 추후에 IP 주소가 변경될 수도 있는 단점이 있습니다.

IPv4와 IPv6

IPv4
IPv4는 32자리 2진수로 이루어져 있고, 네트워크 부분과 호스트 부분으로 구성되어있습니다. 네트워크 영역은 하나의 브로드캐스트 영역을 의미하며 이는 쉽게 말해 라우터를 거치지 않고 통신이 가능한 영역을 말합니다. (같은 네트워크 공간)

호스트 영역은 해당 네트워크 영역 내에서 구분 가능한 고유한 영역입니다. 만약 네트워크 영역과 호스트 영역이 동일하다면, 두 단말기는 서로 충돌이 발생합니다.

IPv6
IPv4와 기술적인 차이는 별도의 NAT 프로세스를 제거하고, 네트워크 보안 계층(IPSec)이 내장되어 있다는 것입니다. 또한 멀티캐스팅이 기본으로 채택되어 있어 한 번에 여러 단말에게 패킷을 전송할 수 있습니다.

IP 클래스

IP 주소 클래스는 네트워크 영역과 호스트 영역을 구분짓기 위한 일종의 약속 체계입니다. A, B, C, D, E 총 5개의 클래스로 구성되어 있으며 주로 사용하는 것은 A~C 클래스입니다. 실생활에서 주로 사용되는 클래스는 A~C 클래스이며 D 클래스는 멀티캐스트용으로, E 클래스는 연구용으로 분류됩니다.

클래스에는 각 네트워크가 들어갈 수 있는 주소 영역과 호스트가 들어갈 수 있는 주소 영역이 엄격하게 정해져 있습니다. 여기서 호스트 주소가 모두 1인 경우에는 해당 클래스 네트워크 영역에 존재하는 모든 호스트에게 전송하기 위한 브로드캐스트 주소입니다. 따라서 호스트 주소가 모두 1인 경우는 없습니다.

구분 A Class B Class C Class
네트워크 IP 0 ~ 126 128.1 ~ 191.255 192.0.0 ~ 223.255.255
IP 주소 범위 0.0.0.0 ~ 127.255.255.255 128.0.0.0 ~ 191.255.255.255 192.0.0.0 ~ 223.255.255.255
호스트 수 16,777,214 65,534 254

각 클래스당 호스트는 실제 IP 범위보다 2개가 적습니다. 만약 호스트 부분이 모두 0이면 해당 네트워크를 나타내고, 모두 1이면 브로드캐스트 전용이므로 실제로 사용 가능한 숫자를 적어두었습니다.

서브넷과 서브넷마스크

01-subnetmask avinetworks.com - Subnet Mask 서브넷 마스크
서브넷 마스크(Subnet Mask)란 어원 그대로 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해 가상으로 씌우는 일종의 마스크 역할을 수행하는 기능입니다. 예를 들어 클래스 B의 IP주소를 할당 받았는데, 별도의 가공 없이 그대로 사용한다면 고작 60000여개의 사용자들 밖에 할당을 하지 못합니다. 이런 문제를 해결하기 위해 서브넷 마스크를 사용하여 할당된 IP 주소를 네트워크 환경에 맞게 분배할 수 있습니다.

서브넷 마스크로 만들어진 네트워크를 서브넷이라고 하며, 서브넷은 하나의 네트워크이기 때문에 서로 나뉜 서브넷끼리는 라우터를 통해 통신이 가능합니다. 이를 통해 브로드캐스트 대역을 줄여 제한된 네트워크 주소를 효율적으로 분배할 수 있습니다.

서브넷
서브넷은 하나의 물리적 네트워크를 여러 개의 네트워크로 분리하는 것을 의미합니다. 서브넷을 만드는 목적은 IP 주소를 보다 효율적으로 (낭비 없이) 사용하기 위해 호스트에 적절한 주소를 할당하는 것입니다. 모든 IP 주소에는 서브넷 마스크가 존재하는데 서브넷을 하지 않은 상태의 클래스 기본 성질을 사용하는 것은 디폴트 서브넷 마스크를 사용합니다.

공인 IP와 사설 IP

02-public-private-ip pragimtech.com - Public IP Address / Private IP Address 공인 IP
공인 IP(Public IP)란 인터넷을 통해 직접 접근할 수 있는 IP 주소로, 인터넷 서비스 제공업체(ISP)가 네트워크 라우터에 할당한 주소 입니다.

사설 IP
사설 IP (Private IP)는 하나의 네트워크 라우터 내에서 각 통신 단말기(PC, 인터넷 전화 등)에 할당하는 주소를 의미합니다. 같은 네트워크 라우터 내에서 외부 인터넷에 연결하지 않고도 서로 통신이 가능하며 외부 사용자에게 노출되지 않는 특징을 갖고 있습니다.

라우팅 프로토콜

라우터의 역할

IP 프로토콜에서 서브넷 마스크를 알게되었고, 서브넷 마스크를 통해 한정된 IP 주소를 쪼개어 라우터 간 통신이 가능해진다는 것도 알게되었습니다. 그러면 라우터라는 것은 어떤 역할을 수행할까요? 라우터는 데이터를 목적지까지 가장 빠르고 효율적인 경로를 찾아 안내하는 역할을 수행합니다.

여기서 경로(route)를 찾는 것을 자동으로 수행하는 것은아니고 네트워크 엔지니어가 특별한 세팅을 해주어야 제대로 기능을 수행할 수 있습니다. 라우터가 수행하는 기능 핵심은 아래 두 가지라고 볼 수 있습니다.

  • 경로 결정 (Path Determination): 데이터 패킷이 목적지까지 갈 수 있는 경로를 검사하고 적절한 경로를 결정
  • 스위칭 (Switching): 정해진 경로에 따라 데이터 패킷을 배분

라우팅 프로토콜

라우팅 프로토콜을 다른 의미로 ‘라우팅 알고리즘’이라고도 합니다. 라우팅 알고리즘은 라우터가 보유한 라우팅 테이블에 데이터 패킷의 목적지 경로에 대한 정보를 기록해두는 역할을 합니다. (목적지, 목적지까지의 거리, 경로 방식) 라우팅 프로토콜에는 스태틱 라우팅 프로토콜다이나믹 라우팅 프로토콜으로 구성됩니다.

스태틱 라우팅 프로토콜
말 그대로 정적인 방식으로, 직접 엔지니어가 라우터에 경로를 일일이 입력해주는 방식입니다. 수동으로 입력하기 때문에 이상적인 경로만 입력한다면 성능에 제약이 없어, 라우팅 속도도 빠르고 외부에서 입력 받기 때문에 라우터 끼리 라우팅 테이블을 교환하는 절차도 필요 없다는 장점이 있습니다. (메모리, 대역폭 비용 낮음)

반대로 단점은 일일이 목적지 별 경로를 입력해주어야 한다는 특징 때문에 목적지가 늘어날 때마다 입력해주어야 한다는 점과 잘못된 경로가 입력되면 엔지니어가 직접 수동으로 대응해야 한다는 단점이 있습니다.

다이나믹 라우팅 프로토콜
스태틱 라우팅 프로토콜과는 달리, 자동으로 목적지 경로를 결정하고 최적의 경로를 찾아가는 다이내믹 라우팅 프로토콜입니다. 일반적으로 RIP, IGRP, OSPF, EIGRP 등의 프로토콜이 다이내믹 라우팅 프로토콜에 속합니다. 여러 가지 상황에 자동적으로 대응해줄 수 있어 안정성이 높아 많이 사용하지만 해야 할 처리 과정이 많아 스태틱 라우팅에 비해 라우터에 부담을 준다는 단점이 있습니다. (안정성, 편의성)

참조 자료