본문 바로가기
network

5. 네크워크의 구조: 네트워크 계층

by 이쟝 2022. 9. 15.

본 포스팅은 모두의 네트워크 책을 읽고 요약한 것입니다.

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

 

서로 다른 네트워크에 있는 목적지로 데이터를 전송하기 위해 네트워크 계층은 필요하다.

 

이 계층을 통해 다른 네트워크로 데이터를 전송하려면 라우터라는 장비가 필요하다.

라우터: 해당 목적지까지 어떤 경로로 가는 것이 좋은지를 알려주는 기능을 함

 

랜에는 MAC 주소만으로도 통신이 가능하지만 다른 네트워크에는 데이터를 보낼 수 없어서 네트워크를 식별할 수 있는 주소인 IP 주소가 필요하다. 

IP주소: 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소, IP주소가 있다면 다른 네트워크에 있는 목적지를 지정할 수 있다.

  • IP 주소는 인터넷 서비스 제공자(ISP)에게 받을 수 있다.
  • IP 버전에는 IPv4와 IPv6이 있다. (IPv4 주소의 수가 고갈되고 있어서 IPv6이 생겨남) 
  • IPv4의 IP 주소는 32비트, IPv6의 IP 주소는 128비트로 구성되어 있다. 
  • IP 주소의 종류에는 공인 IP주소(ISP가 제공)사설 IP주소가 있다. 
  • IP주소는 네트워크ID 호스트ID로 나눠져 있다. 

 

네트워크 ID 호스트 ID
어떤 네트워크인지를 나타냄 해당 네트워크의 어느 컴퓨터인지를 나타냄
네트워크 ID와 호스트 ID가 합쳐져서 IP 주소가 된다. 

 

공인 IP주소 사설 IP주소
인터넷에 직접 연결되는 컴퓨터나 라우터가 할당,
외부에 공개되어 있기 때문에 인터넷에 연결된 다른 장비로부터 접근이 가능하다
회사나 가정의 랜에 있는 컴퓨터가 할당,
네트워크 안에서 라우터를 통해 할당받는 가상의 주소이며 외부에서 접속할 수 없다.

 

랜 안에 컴퓨터가 여러 대 있으면 공인 IP주소는 사용할 수 있는 숫자가 제한되기 때문에 컴퓨터 한 대당 공인 IP 주소를 하나씩 할당하기 어렵다.

=> 공인 IP 주소는 라우터에만 할당하고 랜 안에 있는 컴퓨터에는 랜의 네트워크 관리자가 자유롭게 사설 IP 주소를 할당하거나 라우터의 DHCP 기능을 사용해 주소를 자동으로 할당한다. 

 

=> 공인 IP주소 한 개로 랜 안에 있는 컴퓨터 세대에 인터넷을 모두 연결할 수 있는 환경을 만들 수 있다. 

공인 IP주소와 사설 IP주소의 구조

 

MAC 주소 IP 주소
48비트, 16진수 32비트, 10진수

 

  1. 읽기 쉬워야 하므로 먼저 8비트 단위로 나눠서 표시한다. (8비트를 옥텟이라고 부른다.) => 32비트를 8비트씩 끊어서 네 개의 옥텟으로 구분
  2. 8비트 10진수로 표현한다.

이렇게 10진수로 표시하지만 실제로 IP주소는 2진수로 되어있다.

2진수 1 1 0 0 0 0 0 0
10진수 128 64 32 16 8 4 2 1
계산식 128x1  + 64x1  +  32x0  + 16x0  +  8x0  +  4x0  +  2x0 + 1x0 =192

 


IP주소로 목적지를 지정하는 것 뿐만 아니라 데이터를 어떤 경로로 보낼지 결정해야 하는데 이때 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것을 라우팅이라고 한다. 

라우팅은 라우터가 하는데 라우터에는 라우팅 테이블이 있어서 경로 정보를 등록하고 관리한다. 


  • 네트워크 계층에는 IP(Internet Protocol)라는 프로토콜이 있다. 
  • 네트워크 계층에서는 캡슐화할 때 IP헤더를 붙인다. 
  • IP헤더에는 데이터를 정확하게 전달하기 위해 필요한 정보가 포함되어 있다. 

IP헤더

버전 헤더 길이 서비스 유형 전체 패킷 길이
ID(일련번호) 조각 상태 조각의 위치
TTL 프로토콜 헤더 체크섬 
출발지 IP 주소(32비트)
목적지 IP 주소(32비트)

 

IP 포르토콜을 사용해서 캡슐화할 때는 데이터에 IP헤더가 추가되는데, 이렇게 만들어진 것을 IP 패킷이라고 한다. (데이터 링크 계층에서는 프레임)

IP 헤더  데이터

 


IP 주소의 클래스 구조

IP 주소는 네트워크 주소를 크게 만들거나 호스트 주소를 작게 만들어 네트워크 크기를 조정할 수 있다. 이 네트워크 크기는 클래스(Class)라는 개념으로 구분한다!

클래스의 종류

클래스 이름 내용 클래스 이름 내용
A 클래스 대규모 네트워크 주소 D 클래스 멀티캐스트 주소
B 클래스 중형 네트워크 주소 E 클래스 연구 및 특수용도 주소
C 클래스 소규모 네트워크 주소

 

A 클래스 처음 8비트가 네트워크 ID이고 다음 24비트가 호스트 ID이다. 
B 클래스 처음 16비트가 네트워크 ID이고 다음 16비트가 호스트 ID이다. 
C 클래스 처음 24비트가 네트워크 ID이고 다음 8비트가 호스트 ID이다.

 

공인 IP 주소와 사설 IP 주소가 정해져 있다!

(가정 LAN에서는 주로 C 클래스의 사설 IP 주소인 192.168.X.X가 주로 사용됨)

 

종류 공인 IP 주소의 범위 사설 IP 주소의 범위
A 클래스
(최대 호스트 수: 1677만 7214대)
1.0.0.0 ~ 9.255.255.255 10.0.0.0 ~ 10.255.255.255
11.0.0.0 ~ 126.255.255.255
B 클래스
(최대 호스트 수: 6만 5534대)
128.0.0.0 ~ 172.15.255.255 172.16.0.0 ~ 172.31.255.255
172.32.0.0 ~ 191.255.255.255
C 클래스
(최대 호스트 수: 254개)
192.0.0.0 ~ 192.167.255.255 192.168.0.0 ~ 192.168.255.255
192.169.0.0 ~ 223.255.255.255

 


네트워크 주소와 브로드캐스트 주소

IP 주소에는 네트워크 주소와 브로드캐스트 주소가 있다. 이 두 주소는 컴퓨터나 라우터가 자신의 IP로 사용하면 안되는 주소이다.

 

네트워크 주소  브로드캐스트 주소
전체 네트워크에서 작은 네트워크를 식별하는 데 사용되는 즉 전체 네트워크의 대표 주소 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는 데 사용되는 전용 IP 주소
호스트 ID가 0 (2진수로 00000000)인 주소 호스트 ID가 255(11111111)인 주소 
해당 네트워크에 데이터를 전송하려면 호스트 ID에 255를 설정하면 됨

 

ex) 192.168.1.1 ~ 192.168.1.6은 192.168.1.0의 네트워크에 있다.

 


서브넷의 구조

서브넷팅: 네트워크를 분할하는 것

서브넷: 분할된 네트워크

 

서브넷팅을 하게 되면 기존에 네트워크 ID와 호스트 ID로 구성되어 있던 것이 네트워크 ID, 서브넷 ID, 호스트ID로 나누어지게 된다. 

원래 호스트 ID로 사용되던 비트를 서브넷 ID로 바꾸는 것!

 

서브넷 마스크: 네트워크 ID와 호스트 ID를 식별하기 위한 값으로 프리픽스(Prefix)표기법을 사용하고, 슬래시(/비트 수)로 나타낸다.

IP 주소를 서브넷팅하면 어디까지 네트워크 ID이고 어디가 호스트 ID인지 판단하기 어렵기 때문에 서브넷 마스크 값을 사용

A클래스 255.0.0.0 B클래스 255.255.0.0 C클래스  255.255.255.0

 

ex) C클래스 IP 주소를 서브넷팅 하기

C클래스를 서브넷팅 하기전

네트워크 ID 호스트 ID
192 (11000000) 168 (10101000) 1 (00000001) 0
255 255 255 0

다음과 같이 네트워크 ID를 28비트로 변경하면 4비트를 호스트 ID에서 빌리게 되는 것이다. => 네트워크 ID가 24비트, 서브넷 ID가 4비트, 호스트 ID가 4비트

C클래스를 서브넷팅한 후

네트워크 ID 서브넷 ID  호스트 ID
192 (11000000) 168(10101000) 1(00000001) 0 (1111) 0 (0000)
255 255 255 128+64+32+16 = 240

서브넷팅한 후 네트워크의 서브넷 마스크는 255.255.255.240인데 이것을 프리픽스 표기법으로 바꾸면 /28이 된다.

ex) 255.255.255.0을 프리픽스 표기법으로 나타내면 /24이다. 


라우터의 구조

라우터: 서로 다른 네트워크와 통신하기 위한 장치

스위치나 허브는 네트워크를 분리할 수 없지만, 라우터는 네트워크를 분할할 수 있다. 

 

네트워크를 분할한 다음 컴퓨터가 다른 네트워크로 접속하려면?

  1. 컴퓨터가 다른 네트워크에 데이터를 전송하려면 라우터의 IP주소를 설정해야 한다. 
  2. 기본 게이터웨이(default gateway): 네트워크의 출입구를 설정하는 것(라우터의 IP 주소 설정하는 것)

왜 라우터의 IP 주소를 설정해야 할까?

  • 컴퓨터는 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 하는 지 모르기 때문
  • 그래서 네트워크의 출입구를 지정하고 라우터로 데이터를 전송한다.

또한 컴퓨터에서 네트워크를 설정할 수 있다. 기본적으로 자동으로 IP 주소 받기에 체크되어 있다면 네트워크 외부에 접속할 때 사용되는 기본 게이트웨이가 자동으로 설정된다.

 

컴퓨터의 기본 게잍트웨이가 설정되었더라도 다른 네트워크에 데이터를 보낼 수 없다. 추가로 라우터의 라우팅 기능이 필요하다!!!!


라우팅

라우팅은 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송한다. 이 경로 정보가 등록되어 있는 테이블이 라우팅 테이블이다. 

각 라우터의 라우팅 테이블에 경로 정보가 등록되어 있어서 라우팅이 가능하다 => A 컴퓨터에서 B 컴퓨터로 데이터를 보낼 수 있다. 

 

라우팅 테이블 등록 방법

네트워크 관리자가 수동으로 등록하는 방법 자동으로 등록하는 방법
소규모 네트워크에 적합 대규모 네트워크에 적합(대규모 네트워크에서는 정보를 하나하나 라우터에 등록하기 힘들기 때문)
네트워크 관리자가 라우터 간에 경로 정보를 수동으로 수정 라우터 간에 경로 정보를 서로 교환해 라우팅 테이블 정보를 자동으로 수정

 

라우팅 프로토콜: 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜

  • 라우팅 프로토콜을 설정해 라우터 간에 경로 정보를 서로 교환하고 그것을 라우팅 테이블에 등록한다!
  • 대표적인 라우팅 프로토콜: RIP, OSPF, BGP

 

 

https://almotjalal.tistory.com/98?category=961085