본문 바로가기

Programming/STUDY

[모두의 네트워크 기초] 5장 네트워크 계층 : 목적지를 찾는 단계

네트워크 계층의 역할
  • 라우터

: 데이터가 어떤 경로로 전달돼야 하는지 알려주는 역할 (≒ 내비)

 

 

가장 빠른 길을 찾는 과정 => 라우팅

IP 주소로 통신함 (WAN 환경에서 공인 IP ↔ 라우터)

 

 

 

IP 주소란?

: 인터넷 상에 있는 컴퓨터의 고유한 주소 (Internet Protocol)

 

 

랜 환경에서 스위치를 이용해 MAC 주소로 통신함

=> 인터넷에 바로 접속할 수 없고, 다른 회사 컴퓨터와 통신이 불가능함

=> IP 주소 활용

 

 

IP 할당 과정

 

KT, SKT 등 ISP(Internet Service Provider, 인터넷 서비스 제공자)는 인터넷을 설치함

→ ISP와 내 컴퓨터가 연결되고, 공인 IP(인터넷을 할 수 있는 IP 주소)가 부여됨

 

 

IP 종류

 

  • 공인 IP

: ISP에 의해 전세계적으로 고유하게 할당되는 IP 주소

=> 전세계 컴퓨터와 통신 가능

 

대부분 ISP들은 유동적으로 공인 IP 주소 할당함

=> 한번 제공받은 공인 IP는 영구 사용되지 않고 주기적으로 변경됨

 

 

  • 사설 IP

: 기업 내부에서만 사용되는 IP 주소 (기업 밖 컴퓨터와 통신 X)

 

10.0.0.0. - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255

 

 

IP 형식

 

192.168.2.124 (10진수)
=
11000000 10101000 00000010 01111100 (2진수)

 

 

주소 길이 : 4byte = 32bit (10진수 표기, 1바이트별로 마침표로 분리함)

1byte 나타낼 수 있는 값의 범위 : 0~255

 

 

  • 네트워크 주소 : 하나의 네트워크 통칭하기 위한 주소

마지막 1byte가 0임

 

 

  • 브로드캐스트 주소 : 네트워크에 연결된 컴퓨터에 데이터를 일괄 전송할 때 사용하는 주소

마지막 1byte가 255임

 

 

IP 주소의 구조, 클래스
IP 주소의 구조

 

 

네트워크 ID : 네트워크의 범위를 지정해 컴퓨터들의 집합을 관리함

호스트 ID : 라우터에 연결된 개별 컴퓨터들을 관리함 => 개별 컴퓨터들이 사용

 

 

 

 

IP 주소의 클래스

 

 

공인 IP 주소 => A~E까지 5개의 클래스가 있음 (D, E는 일반인에게 유효 X)

 

 

  • A 클래스

맨 앞자리 0으로 고정됨

첫 옥텟만 네트워크 ID, 나머지 세 옥텟은 호스트 ID

=> 하나의 네트워크가 가질 수 있는 호스트 ID 개수가 가장 많음 (사용 가능한 IP 개수 : 2,147,483,648개)

 

 

  • B 클래스

맨 앞 두자리 10으로 고정됨

 

 

  • C 클래스

맨 앞 세자리 110으로 고정됨

마지막 옥텟만 호스트 ID => 사용 가능한 IP 개수 : 536,870,912개

 

 

※ 옥텟(Octet) : 8bit 집합

 

 

 

IP 주소 관리 기관

 

  • IANA(Internet Assigned Numbers Authority)

전세계 IP 주소를 관리하는 기관

 

 

  • KISA(Korea Internet & Security Agency, 한국인터넷진흥원)

국내에서는 KISA가 IANA로부터 IP 대역 할당받아옴

→ KISA는 IP 주소를 ISP(KT, SKT 등)에 다시 할당

→ ISP는 개인/학교/기업에 할당

 

 

 

 

OSI 7계층에서의 IP 주소

네트워크 계층에서 추가되는 헤더 => IP 정보

 

 

라우터 => 수신자 IP 정보 확인해줌

 

 

 

 

브로드캐스트, 유니캐스트, 멀티캐스트
브로드캐스트

 

: 같은 네트워크에 속한 모든 컴퓨터에 데이터 전달

 

수신자 입장에서는 원하지 않아도 일방적으로 보내는 정보 받음

=> 수신자는 정보가 필요한지 판단하고 필터링하는 번거로움이 있음

 

 

 

유니캐스트

 

: 1대1 통신

 

수신자의 MAC 주소를 알고 있어야 함

 

 

 

멀티캐스트

 

: 특정 그룹을 지정해 그 그룹에 해당하는 컴퓨터에만 데이터 전달

=> 브로드캐스트 + 유니캐스트

 

 

 

서브넷, 서브넷 마스크
서브넷의 개념

 

A, B, C 클래스 전체를 하나의 네트워크로 사용하는 것은 비효율적 

=> 브로드캐스트 주소로 오는 데이터를 한 네트워크의 모든 컴퓨터가 수신하게 되기 때문

=> 하나의 네트워크를 더 효율적으로 사용하기 위해 서브넷 등장

 

 

  • 서브넷

하나의 네트워크가 분할된 작은 네트워크

 

 

※ 서브넷팅 : 작은 네트워크로 나누는 작업

 

 

 

서브넷팅의 원리

 

 

IP 주소 중 네트워크 ID는 그대로 두고 호스트 ID를 쪼개는 방식

=> 쪼개는 개수가 적을수록 사용 가능한 호스트 수 많아짐

=> ex. 2개 서브넷, 126개 호스트 / 4개 서브넷, 62개 호스트 / ~ / 64개 서브넷, 2개 호스트

 

호스트 ID를 서브넷 ID와 호스트 ID로 나누는 작업

 

 

 

서브넷 마스크

 

: IP 주소에서 네트워크 ID와 호스트 ID를 구분하기 위한 구분자

 

192.168.1.1/24 
255.255.255.0

 

/24 or 255.255.255.0 

 

1이 연속적으로 나오고 0이 뒤이어 연속적으로 나오는 형태

=> 서브넷 마스크를 구하기 위해 네트워크 ID는 모두 1, 호스트 ID는 모두 0으로 채움

 

 

=> 24비트가 모두 1이기 때문에 /24

 

 

 

 

 

서브넷팅 해보기

 

  • 예시

 

 

  • 예시2
네트워크 주소 : 172.160.0.0
서브넷 마스크 : 255.255.0.0

 

4개의 서브넷으로 나누기

 

=>

 

호스트 ID의 2개 값만 이용 (00 01 10 11 조합 가능)

 

서브넷 마스크 11111111 11111111 11000000 00000000
서브넷 1 10101100 00010000 00000000 00000000
서브넷 2 10101100 00010000 01000000 00000000
서브넷 3 10101100 00010000 10000000 00000000
서브넷 4 10101100 00010000 11000000 00000000

 

구분 서브넷 네트워크 주소 브로드캐스트 주소 호스트 주소 범위
서브넷 1 172.16.0.0/18 172.16.0.0 172.16.63.255 172.16.0.1 ~ 172.16.63.254
서브넷 2 172.16.64.0/18 172.16.64.0 172.16.127.255 172.16.64.1 ~ 172.16.127.254
서브넷 3 172.16.128.0/18 172.16.128.0 172.16.191.255 172.16.128.1 ~ 172.16.191.254
서브넷 4 172.16.192.0/18 172.16.192.0 172.16.255.255 172.16.192.1 ~ 172.16.255.254

 

 

 

라우터의 동작 방식
  • 라우터

: 데이터의 전송을 위해 가장 빠른 길을 찾아 네트워크 간 경로(route) 설정하는 장비

=> 서로 다른 네트워크 간 통신 가능함

 

cf) 스위치 : 같은 네트워크의 컴퓨터끼리만 통신이 가능한 장비  

 

 

  • 라우팅

서로 다른 네트워크 간 1개 이상의 라우터가 있을 수 있음

=> 가장 빠른 통신 가능한 라우터 찾아 네트워크와 네트워크 간의 경로를 설정함

 

 

  • 라우팅 테이블

: 데이터를 목적지까지 보내기 위한 거리, 방법 등을 명시한 테이블

=> 라우터는 라우팅 테이블을 이용해 경로 설정함

cf) 스위치 => MAC 테이블

 

라우팅 프로토콜 (RIP, IGRP, OSPF, BGP)에 따라 라우팅 테이블이 달라짐

 

# 라우팅 테이블 확인
route print
netstat -nr

네트워크 대상 외에도 게이트웨이, 인터페이스(방향) 등 확인 가능

 

라우팅 테이블은 주기적으로 업데이트 해야 함 (네트워크 상황 계속 변경되기 때문)

수동/자동 업데이트 모두 가능 (라우팅 프로토콜으로 자동 업데이트하는 것이 효율적)

 

 

 

 

참고 :